計算理論・ラムダ計算の問題
とし、言語とは の部分集合のこととする。言語 に対し、 は が に多項式時間多対一帰着(カープ帰着)可能であること、すなわち多項式時間で計算できる全域関数 で、すべての について となるものが存在することを表す。 完全性はこの に関するものとする。, , , , は標準的な計算量クラスとする。
次の主張のうち、(未解決問題の答えによらず)正しいと証明されているものをすべて選べ。
- ア すべての言語 について、 かつ ならば である。
- イ すべての言語 について、 かつ ならば である。
- ウ すべての言語 について、 が 完全で、 かつ ならば、 は 完全である。
- エ である。
- オ である。
- カ すべての言語 について、 ならば である。
この問題で使うもの
- 多項式時間多対一帰着の性質(説明と入口の問題)
- 計算量クラスの包含関係と完全問題(説明と入口の問題)
- 停止問題と決定可能性(説明と入口の問題)
この問題を解けるようになるまで(24 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
帰着 は「 は より難しくない」ことを表す。どちら向きに計算量の情報が伝わるかを考えよう。決定不能な言語を使うと、誤りの主張の反例がつくれる。
ヒント 2
多項式時間関数の合成は多項式時間( は推移的)。空間計算量については、空間階層定理とサヴィッチの定理 が使える。
ヒント 3
ア・ウは帰着の合成で示せる。イ・カは と停止問題で反例がつくれる。残りのエ・オは階層定理とサヴィッチの定理のどちらが当てはまるかを考えよう。
答えと解説
答えを見る
ア, ウ, オ
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
- ア(正しい): を を与える帰着とし、時間 で計算できるとする。入力 (長さ )に対し を計算し、その長さは高々 である。 を時間 で判定する機械を に走らせれば、全体の時間は で多項式である。 なので 。
- イ(誤り):反例として 、 を停止問題(決定不能な言語)とする。 の元 と非元 を 1 つずつ固定し、( のとき)、(それ以外)と定めると、 は定数時間で計算でき となる。しかし は決定不能なので 。
- ウ(正しい):任意の について、 が 困難なので 。 は推移的である(多項式時間関数の合成は多項式時間:長さ 以下の出力に時間 の関数を適用しても で多項式)ので 。よって は 困難で、 と合わせて 完全である。
- エ(誤り): である。空間階層定理より なので、 が証明されている。
- オ(正しい):サヴィッチの定理より、 に対し である。多項式の 2 乗は多項式なので 。逆の包含は自明なので等しい。
- カ(誤り):イと同じ 、=停止問題をとると である。もし なら、アの議論と同様に となり、 が決定可能になって矛盾する。よって 。
よって正しいものはア、ウ、オである。
別解
各選択肢を確かめる。
- ア: 正しい。 を帰着関数とすると、。 の判定アルゴリズムと の計算を合成すると、 は の多項式なので全体も多項式時間。よって 。
- イ: 誤り(証明できる反例がある)。、 を決定不能な言語(たとえば停止問題)とし、 固定した に属さない文字列 とすると、(両辺とも偽)なので だが 。
- ウ: 正しい。任意の について ( は NP 完全)、 で、 は推移的(帰着の合成は多項式時間)なので 。さらに だから は NP 完全。
- エ: 誤り。空間階層定理により ()が証明されているので は偽。
- オ: 正しい。サヴィッチの定理 より 。
- カ: 誤り。、 とすると で だが、 だと より となって矛盾するので不成立。
正しいと証明されているのは ア、ウ、オ。