計算理論・ラムダ計算の問題
とし、言語とは の部分集合のこととする。チューリング機械 と入力 の組の符号化を と書き、停止問題を
と定める(正しい符号化になっていない列は に属さないものとする)。 とする。
言語 について、 とは、計算可能な全域関数 で、すべての について となるものが存在することとする。また、言語 が帰納的可算であるとは、 のちょうどすべての元に対して停止して受理するチューリング機械( に属さない入力に対しては受理しない)が存在することとする。
次のア〜カのうち、正しいものをすべて選べ。
ア は帰納的可算である。
イ は帰納的可算である。
ウ は決定可能である。
エ 任意の決定可能な言語 について が成り立つ。
オ ある決定可能な言語 について が成り立つ。
カ が成り立つ。
この問題で使うもの
- 停止問題と決定可能性(説明と入口の問題)
この問題を解けるようになるまで(23 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
技能「停止問題と決定可能性」を使う。 は帰納的可算だが決定不能である、という 2 つの事実を出発点にしよう。
ヒント 2
「 と がともに帰納的可算なら は決定可能」と、「 で が決定可能(帰納的可算)なら も決定可能(帰納的可算)」を使う。
ヒント 3
ア・ウはすぐ判定できる。イ・オ・カは、成り立つと仮定すると が決定可能になってしまうかを調べ、エは の元と非元を つずつ固定した帰着を考える。
答えと解説
答えを見る
ア, エ
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
使う事実は次の 2 つである。
- 対角線論法により は決定不能である。
- は帰納的可算である。
これに「 と がともに帰納的可算なら は決定可能」「 で が決定可能(帰納的可算)なら も決定可能(帰納的可算)」を組み合わせて判定する。
ア(正しい). 入力 が正しい符号化 かを調べ、そうなら を 上で模倣し、模倣が停止したら受理する機械を作る。 ならこの機械は受理し、そうでなければ受理しない(停止しないか拒否する)。よって は帰納的可算である。
ウ(誤り). 対角線論法による。 を決定する機械 があったとすると、入力 に対して「 が を受理すれば無限ループし、拒否すれば停止する」機械 が作れる。 に を与えると、 が停止する が を拒否する が 上で停止しない、となり矛盾する。よって は決定不能である。
イ(誤り). もし も帰納的可算なら、 と の受理機械を交互に ステップずつ動かせば、どちらかが必ず受理するので が決定可能になり、ウの結論に反する。
エ(正しい). には元 (たとえばすぐ停止する機械と任意の入力の組)と非元 (たとえば必ず無限ループする機械と任意の入力の組)がある。 は決定可能なので、
は計算可能な全域関数であり、 を満たす。よって 。
オ(誤り). で が決定可能なら、 に対して を計算し の判定機械にかければ が決定でき、ウに反する。
カ(誤り). なら、 が帰納的可算(ア)なので も帰納的可算になり、イで見たように矛盾する。
以上より、正しいものはア、エである。
別解
ア: 正しい。 を 上でシミュレートし、停止したら受理する機械が を認識する(符号化の誤りは検査して受理しない)。
イ: 誤り。 が帰納的可算なら、 とその補集合がともに帰納的可算となり が決定可能になって、停止問題の決定不能性に反する。
ウ: 誤り。停止問題は決定不能。
エ: 正しい。決定可能な に対し、停止する組 (直ちに停止する機械と入力)と停止しない組 (無限ループする機械と入力)を固定し、( のとき)、( のとき)とすれば、 は計算可能な全域関数で 。 でも成り立つ。
オ: 誤り。 で が決定可能なら、 を計算して を判定することで が決定可能になり矛盾。
カ: 誤り。 なら、 が帰納的可算であることから も帰納的可算となり、イに反する。
以上より、正しいのはア、エ。