計算理論・ラムダ計算の問題
とし、言語とは (空列を含む 上の有限列全体)の部分集合のこととする。言語 の補集合を と書く。言語 に対し、多項式時間で計算できる全域関数 であって、すべての について
をみたすものが存在するとき、(多項式時間多対一帰着可能)と書く。 は決定性チューリング機械で多項式時間で判定できる言語のクラス、 はある について時間 で判定できる言語のクラスとする。
次のア〜カのうち、正しい(証明できる)ものをすべて選べ。ただし、ア〜オでは は任意の言語とする。
ア. かつ ならば である。
イ. かつ ならば である。
ウ. かつ ならば である。
エ. ならば である。
オ. ならば、任意の言語 について である。
カ. である。
この問題で使うもの
- 多項式時間多対一帰着の性質(説明と入口の問題)
- 計算量クラスの包含関係と完全問題(説明と入口の問題)
この問題を解けるようになるまで(23 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
帰着 は「 が易しければ も易しい」ことを示す道具である。どちら向きの推論が成り立つかに注意して、成り立たないものには反例を探そう。
ヒント 2
反例には、決定不能な言語(停止問題)や、空集合のような極端な言語が使える。また、多項式どうしの合成は多項式であること、多項式時間の計算の出力の長さは多項式で抑えられることを使う。
ヒント 3
イは と停止問題、オは で考えてみよう。カは時間階層定理から従う。
答えと解説
答えを見る
ア, ウ, エ, カ
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
各選択肢を調べる。
ア(正しい). を与える関数 が時間 (多項式)で計算でき、 が時間 (多項式)で判定できるとする。入力 (長さ )に対し を計算し、 かどうかを判定すればよい。(時間 では 文字までしか書けない)なので、全体の時間は で多項式。よって 。
イ(誤り). 反例: とし、 を停止問題(決定不能な言語)とする。 に属する列 と属さない列 を つずつ固定し、、 とおくと、 は多項式時間で計算でき となる。 だが は決定可能でさえないので 。
ウ(正しい). を (時間 )、 を (時間 )が与えるとき、 は時間 で計算でき、。よって 。
エ(正しい). を与える同じ について、 の両辺を否定すると 。よって 。
オ(誤り). 反例: , とする。 なら より となり矛盾。(イの構成が使えるのは、 に属する列と属さない列の両方があるときだけである。)
カ(正しい). 時間階層定理により などが成り立つ。任意の多項式 について なので 。よって 。
したがって正しいものは ア, ウ, エ, カ。
別解
各選択肢を確かめる。
ア. 正しい。 を帰着とすると、。 の判定機械を に適用すればよい。 は多項式時間なので ( は多項式)で、 の判定も多項式時間だから合計も多項式時間。よって 。
イ. 誤り。()、 を判定不能な言語(例: 停止問題)とし、 ( に属さない固定の列)とすると は常に偽同士で成り立つので 。しかし 。
ウ. 正しい。, を多項式時間帰着とすると、。 は、 なので多項式時間で計算でき、全域。
エ. 正しい。同じ を使えば、 の両辺を否定して 。
オ. 誤り。 とし、 とすると、 は常に真だが は常に偽なので、そのような は存在しない。 と でも同様。
カ. 正しい。時間階層定理により に属するが、(どの についても)には属さない言語が存在する。したがって 。
よって正しいものは ア, ウ, エ, カ。