とし、言語とは の部分集合のこととする。言語 の補集合を と書く。言語 について、 とは、多項式時間で計算できる全域関数 で、すべての について となるものが存在することとする。
いま、言語 について 、 であることだけがわかっている。次のア〜オの言語のうち、それぞれに書かれた条件だけから「 に属する」と必ず結論できるものをすべて選べ。
ア ある言語 について かつ をみたす言語
イ をみたす言語
ウ をみたす言語
エ をみたす言語
オ をみたす言語
の推移性、補集合への移行 、「 かつ ()なら ()」、 なら 以外の任意の に帰着できることなどを証明・判定し、成り立たない主張(逆向き)を見分けられる
読み込み中…
右端(太枠)がこの技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
言語 について、( は に多項式時間多対一帰着できる)とは、多項式時間で計算できる関数 で、すべての について となるものが存在することです。直観的には「 が解ければ もほぼ同じ速さで解ける」、つまり「 は 以下の難しさ」を表します。この技能では、 の推移性・補集合への移行・ や への所属の伝わり方を証明し、向きを逆にした成り立たない主張を見分けられるようになります。NP 完全性の議論など、問題の難しさを比べるあらゆる場面の土台です。
ここで は決定性チューリング機械が入力長 の多項式時間で判定できる言語全体、 は非決定性チューリング機械が多項式時間で受理できる言語全体です。関数 を計算する機械は、入力 をテープに置いて動かし、停止したときのテープの内容を とします。 が時間 ( は多項式)で計算できるとき、テープ上には最初に入力の 個の記号があるだけで、ヘッドは 1 ステップに 1 マスしか動かず、1 ステップで新たに書ける記号は高々 1 個です。したがって ステップの後に空白でないマスは高々 個で、 となります。つまり帰着で写した後の入力も多項式の長さに収まります。そして多項式に多項式を代入したもの や多項式どうしの和は、また多項式です。これが以下の証明すべての核心です。
(1) を時間 で判定する機械があれば、入力 に対し を計算してから を判定すれば がわかります。時間は で多項式なので です。 でも、 を決定的に計算してから を受理する非決定性機械を走らせれば同じ見積もりが通り、 です。(2) 推移性: を 、 を が与えるなら、 が を満たし、同じ見積もりで多項式時間です。(3) 補集合: の両辺を否定すると なので、同じ が を与えます(向きは変わりません)。
(4) で なら、 と を 1 つずつ固定し、「 を多項式時間で判定して、 なら 、そうでなければ を出力する」関数 を作れば です( は定数なので書き出しは定数時間)。つまり の言語は自明でないどんな言語にも帰着できてしまいます。ここから、逆向きの主張「 かつ なら 」が偽だとわかります。そのためには に属さない言語が 1 つあればよく、次の対角線論法で具体的に作れます。チューリング機械は遷移表という有限の情報で決まるので、 上の文字列で書き表せます(機械 を表す文字列を と書き、機械を表さない文字列は「何も受理しない機械」を表すと約束します)。そこで とおきます。もし を判定する(必ず停止して正しく受理・拒否する)機械 があったとすると、 について「 は を受理しない 」となり矛盾します。よって はどんな機械でも判定できず、とくに です。また なので であり、(4) より です。 は「易しい側 難しい側」なので、易しさ(所属)は右から左へ( から へ)、難しさ(非所属)は左から右へ( から へ)しか伝わりません。
主張に現れる帰着 の向きを確かめ、「左が易しい側、右が難しい側」と読む
所属(, )は右から左へ伝わる: 、。非所属はその対偶で左から右へ: 、
帰着の組み合わせを整理する: ( を使う)、(同じ を使う)
証明では、帰着関数の出力長が (最初の 個に 1 ステップ高々 1 個ずつ書き足すだけ)で抑えられることと、多項式の合成 が多項式であることを使って計算時間を見積もる
向きが逆の主張には反例を作る: は 以外の任意の に帰着できるので、 と、対角線論法で作った に属さない言語 を組み合わせる
アルファベットを とする。次のア〜オの主張のうち、どの言語 についても成り立つもの(反例が 1 つもないもの)をすべて選べ。
ア: かつ ならば
イ: かつ ならば
ウ: ならば
エ: かつ ならば
オ: ならば
(手順 1)どの主張も 、すなわち「 が易しい側、 が難しい側」を仮定している。
ア(手順 3・4): を時間 の 、 を時間 の が与えるとする。 であり、(入力 個に 1 ステップ高々 1 個書き足すだけ)より の計算時間は で多項式。よって常に成り立つ。
イ(手順 2・5): 所属は右から左にしか伝わらないので、左の が に入っても については何もいえない。実際に反例がある。 とすると 。 として、idea で対角線論法により作った言語 をとる。 を判定する機械 があると で「」となり矛盾するので、 はどの機械でも判定できず 。また だから で、, を固定できる。、 とすれば は多項式時間で計算でき、 なので 。しかし 。よってイは成り立たない場合がある。
ウ(手順 3): の両辺を否定すれば 。同じ で帰着できるので常に成り立つ。
エ(手順 2): 「 かつ ならば 」の対偶である。この主張は、 を決定的に時間 で計算してから を受理する非決定性機械を時間 走らせればよいので正しい。よって常に成り立つ。
オ(手順 5): イと同じ , をとると 。もし なら、手順 2 により から となり に矛盾する。よってオは成り立たない場合がある。
以上より、常に成り立つのはア、ウ、エ。
答え: ア, ウ, エ
帰着の向きを逆に使ってしまう誤り。「 かつ なら 」とするのは誤りで(, が反例)、正しくは「 かつ なら 」(所属は右から左へ伝わる)
補集合をとると帰着の向きが逆になると考え、 としてしまう誤り。正しくは同じ で となり、(向きはそのまま)
合成の時間を見積もるとき、 の入力長を元の としてしまい の時間を とする誤り。正しくは の入力は で、その長さは まで伸びうるので、時間は (それでも多項式)
「 の言語は任意の言語に帰着できる」と を含めてしまう誤り。 なら となる がないので、 のとき は成り立たない( と でも同様)。正しくは , がとれる に限る
この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。
とし、言語とは (空列を含む 上の有限列全体)の部分集合のこととする。言語 の補集合を と書く。言語 に対し、多項式時間で計算できる全域関数 であって、すべての について
をみたすものが存在するとき、(多項式時間多対一帰着可能)と書く。 は決定性チューリング機械で多項式時間で判定できる言語のクラス、 はある について時間 で判定できる言語のクラスとする。
次のア〜カのうち、正しい(証明できる)ものをすべて選べ。ただし、ア〜オでは は任意の言語とする。
ア. かつ ならば である。
イ. かつ ならば である。
ウ. かつ ならば である。
エ. ならば である。
オ. ならば、任意の言語 について である。
カ. である。
とし、言語とは の部分集合のこととする。言語 に対し、 は が に多項式時間多対一帰着(カープ帰着)可能であること、すなわち多項式時間で計算できる全域関数 で、すべての について となるものが存在することを表す。 完全性はこの に関するものとする。, , , , は標準的な計算量クラスとする。
次の主張のうち、(未解決問題の答えによらず)正しいと証明されているものをすべて選べ。
アルファベットを とし、言語とは の部分集合のこととする。言語 について、多項式時間で計算できる関数 で、すべての に対して をみたすものが存在するとき と書く(多項式時間多対一帰着)。NP 完全性はこの に関するものとする。また、 は CNF 論理式の充足可能性問題、 は停止問題( 上の適当な符号化によるもの)とする。
次のア〜カのうち、(未解決問題の仮定を一切用いずに)正しいと証明されている命題をすべて選べ。
ア. かつ ならば である。
イ. かつ ならば である。
ウ. である。
エ. である。
オ. ある NP 完全な言語 が に属するならば、 である。
カ. であり、 が かつ をみたす任意の言語(決定可能でなくてもよい)ならば、 である。
言語はすべてアルファベット 上の言語( の部分集合)とする。言語 に対し、 は多項式時間多対一帰着(カープ帰着)が存在すること、すなわち多項式時間で計算できる関数 で、すべての について となるものが存在することを表す。NP 完全性はこの に関して定める( に属し、 のすべての言語が で帰着されること)。また 、 は非決定性対数領域で判定できる言語のクラス、 は決定性多項式領域で判定できる言語のクラスとし、 はチューリング機械の停止問題(決定不能である)を表す言語とする。
次のア〜キのうち、正しい(現在知られている結果から真であることが証明されている)ものをすべて選べ。
ア. 任意の言語 について、 かつ ならば である。
イ. 任意の言語 について、 かつ ならば である。
ウ. 任意の言語 について、 が NP 完全で、 かつ ならば、 は NP 完全である。
エ. である。
オ. 任意の言語 について、 ならば である。
カ. である。
キ. に属するすべての言語は NP 完全である。
とし、言語とは (空列 を含む 上の有限列全体)の部分集合のこととする。言語 について、 とは、多項式時間で計算できる全域関数 であって、すべての に対して を満たすものが存在することとする。クラス に対して、言語 が 困難であるとは、すべての について が成り立つことをいう。 が 困難であり、かつ であるとき、 は 完全であるという。計算モデルは多テープの決定性・非決定性チューリング機械とし、 は通常の意味の計算量クラスとする。また、停止問題を とする。ここで は機械と入力の組の標準的な符号化(符号化と記述の相互変換が多項式時間でできるもの)であり、正しい符号化になっていない列は に属さないものとする。
次のア〜カのうち、(未解決問題の仮定なしに)正しいと証明されている主張をすべて選べ。
ア. でも でもない任意の言語 は 完全である。
イ. 空集合 は 困難である。
ウ. は 困難である。
エ. である。
オ. 完全な言語であって に属するものが存在する。
カ. である。
アルファベットを とし、言語は の部分集合とする。 は多項式時間多対一帰着が存在することを表す(多項式時間で計算できる全域関数 で、すべての について となるものがある)。 は通常の多テープチューリング機械による計算量クラスとする。 はチューリング機械 と入力 の符号 のうち が で停止するもの全体(符号になっていない列は含まない)、 は真である閉じた量化ブール式(冠頭形)の符号全体とする。
次のア〜キのうち、正しいと証明されている主張をすべて選べ。
ア. 任意の言語 について、 かつ ならば である。
イ. 任意の言語 について、 かつ ならば である。
ウ. である。
エ. である。
オ. は に関して 困難である(すなわち、すべての について )。
カ. である。
キ. である。
とし、言語とは の部分集合のこととする。言語 について、 は が に多項式時間多対一帰着可能であること(多項式時間で計算できる全域関数 で、すべての について となるものが存在すること)を表す。言語 が クラス に対して困難であるとは、すべての について となることをいい、困難かつ のとき 完全という。 を、チューリング機械 と入力 の組の(標準的な)符号 のうち、 が 上で停止するもの全体からなる言語とする。 は充足可能な命題論理式(の符号)全体である。
次の命題のうち、正しいことが証明されているものをすべて選べ(ほかの命題はいずれも偽であることが証明されている)。
ア.任意の言語 について、 かつ ならば である。
イ.任意の言語 について、 かつ ならば である。
ウ. が かつ を満たすならば、 は に関して 完全である。
エ.言語 は 困難である。
オ. である。
カ. は 困難である。
キ. に関して 完全である言語のうち、 に属するものが存在する。