1 三つの言語クラス
定義 1.1. アルファベットΣ上の言語L⊆Σ∗について、次のように定める。
- Lが決定可能 (decidable) であるとは、全入力で停止し、Lの要素を受理し、それ以外を拒否する
TM が存在することをいう。
- Lが認識可能 (recognizable) であるとは、w∈Lの場合に限ってwを受理する TM が存在することをいう。w∈/Lでは拒否しても停止しなくてもよい。
- Lが余認識可能 (corecognizable) であるとは、Σ∗∖Lが認識可能であることをいう。
例 1.2.Σ={0,1}とし、L={w∈Σ∗:w は文字 1 を含む}とする。
機械Dは、ヘッドを右へ動かしながらテープを走査し、1を読んだら受理し、空白を読んだら拒否する。入力010では、位置0の0を読んで右へ動き、位置1の1を読んで受理する。入力00では、二つの0に続いて位置2の空白を読み、拒否する。任意の入力wでDは高々∣w∣+1回の読取りで停止するため、DはLの決定器であり、Lは決定可能である。
機械Rは、1を読んだら受理し、0または空白を読んだ場合には書き換えずに右へ動き続けるとする。Rが受理することとw∈Lは同値なので、RはLの認識器である。しかしRは、00のようなLに属さない入力では右へ動き続けて停止しない。決定可能性の定義で要求されるのは、全入力で停止する機械が一つ存在することであり、Lの全ての認識器が停止することではない。
さらに、Dの受理状態と拒否状態を交換した機械は、全入力で停止し、Σ∗∖L={w∈Σ∗:w は 1 を含まない}の要素だけを受理する。したがってΣ∗∖Lは認識可能であり、Lは決定可能、認識可能、かつ余認識可能である。
決定可能性から二つの認識可能性を得る方向では、決定器の受理と拒否を交換する。逆方向では、LとΣ∗∖Lの認識器を同時に進め、先に受理した側から所属を決定する。
定理 1.3. 言語L⊆Σ∗が決定可能であるための必要十分条件は、Lが認識可能かつ余認識可能であることである。
証明. まずLが決定可能であり、Dがその決定器であるとする。同じ機械DはLの認識器である。さらに、Dの受理状態と拒否状態を交換した機械Dswapを考える。Dは全入力で停止するため、Dswapも全入力で停止する。w∈Σ∗∖Lの場合に限ってDswapは受理するので、DswapはΣ∗∖Lの認識器である。したがってLは認識可能かつ余認識可能である。
逆に、RをLの認識器、SをΣ∗∖Lの認識器とする。入力wに対して、R(w)とS(w)の配置を別々に保存し、Rを一段、Sを一段という順序で交互に模倣する機械Dを構成する。R(w)が受理した時点でDは受理し、S(w)が受理した時点でDは拒否する。片方が拒否状態で停止しても、もう片方の模倣を継続する。
各w∈Σ∗はLとΣ∗∖Lのちょうど一方に属する。w∈LならばR(w)が有限時間で受理し、w∈Σ∗∖LならばS(w)が有限時間で受理する。したがってDは全入力で停止する。また、二つの認識器の定義により、Dが受理する場合はw∈Lであり、拒否する場合はw∈/Lである。ゆえにDはLの決定器である。▨
2 機械の符号化と万能機械
各 TM の状態、テープ文字、および移動方向へ非負整数の番号を付ける。有限個の遷移(q,a,q′,b,D)を区切り付き二進文字列として並べれば、機械全体を有限文字列⟨M⟩に符号化することができる。区切りの整合性、状態番号の範囲、および停止状態からの遷移がないことを有限回の走査で検査することができる。さらに、全ての
(q,a)∈(Q∖{qacc,qrej})×Γ
について、左辺が(q,a)である遷移がちょうど一つ存在することを検査する。この検査により、遷移表が全域かつ一価であることが保証される。機械と入力の組も⟨M,w⟩として符号化する。
定理 2.1. 符号化された決定性 TM と入力の組を受け取る TMUで、任意の TMMと任意の入力wについて次を満たすものが存在する。
- U(⟨M,w⟩)は、M(w)が受理する場合に限って受理する。
- U(⟨M,w⟩)は、M(w)が拒否する場合に限って拒否する。
- U(⟨M,w⟩)は、M(w)が停止しない場合には停止しない。
不正な符号を入力された場合、Uは拒否する。
証明. 最初に多テープ機械Vを構成する。第1テープには⟨M⟩の遷移表を保存し、第2テープにはwから作ったMのテープ内容を保存する。第3テープにはMの現在状態とヘッド位置を二進表記で保存する。不正な符号は有限の構文検査で拒否する。
初期状態では、第2テープにwとそれに続く空白を置き、第3テープにq0とヘッド位置0を置く。現在状態がqaccならVは受理し、qrejなら拒否する。それ以外の場合には、第2テープ上の現在位置から走査記号aを読み、第1テープを左端から走査して左辺が(q,a)である唯一の遷移を探す。符号が決定性 TM の遷移表として正しいため、その遷移(q,a,q′,b,D)は一意に存在する。Vは第2テープへbを書き、Dに従って模倣ヘッドを動かし、第3テープの状態をq′へ更新する。以上の書込み、ヘッド移動、および状態更新によって、Mの一段の模倣が完了する。
tに関する帰納法により、Vが模倣をt回終えた時点の第2、第3テープは、M(w)のt段後の配置を表す。基底は初期化から従う。帰納段階は、保存した遷移表から同じ遷移を一意に選び、同じ書込み、移動、および状態変更を行う構成から従う。したがって、Mが受理または拒否に到達する場合にはVも同じ結論へ到達し、Mが停止状態へ到達しない場合にはVも模倣を続ける。
最後に§E18.4 定理 2.2によってVを単テープ決定性 TMUへ変換する。同定理により受理、拒否、および停止が全て保存されるので、Uは主張された三条件を満たす。▨
3 停止言語
定義 3.1. 停止言語 (halting language) を
HALTTM={⟨M,w⟩∈{0,1}∗:M が入力 w で有限時間に停止する}と定める。受理状態と拒否状態のどちらに到達した場合も停止に含め、不正な符号はHALTTMに含めない。
命題 3.2.HALTTMは認識可能である。
証明. 入力xを有限時間で構文解析し、不正な符号なら拒否する。x=⟨M,w⟩ならば、定理 2.1の万能機械によってM(w)を一段ずつ模倣する。M(w)が受理または拒否に到達した時点で受理する。M(w)が停止する場合には有限時間で受理し、停止しない場合には模倣も継続して受理しない。したがって、この機械はHALTTMを認識する。▨
4 対角線論法
停止問題を決定する機械があると仮定し、その判定と反対の停止動作をする機械を構成する。その機械へ自身の符号を入力すると、停止することと停止しないことが同値になるため、仮定を棄却することができる。
定理 4.1.HALTTMは決定可能ではない。
証明.HALTTMの決定器Hが存在すると仮定する。Hは全ての文字列で停止し、入力が⟨M,w⟩という正しい符号である場合、
H(⟨M,w⟩) が受理する⟺M(w) が停止するを満たす。
Hを部品として TMDを構成する。入力xが TM の符号⟨M⟩でなければDは直ちに停止する。正しい符号なら、DはH(⟨M,x⟩)を実行する。Hが受理した場合にはDは永久に同じ二配置を往復して停止せず、Hが拒否した場合にはDは受理して停止する。Hは決定器なので、Dのこの分岐は必ず有限時間で決まる。
Dも有限の遷移表をもつ TM なので、その符号d=⟨D⟩が存在する。Dへdを入力する。
- H(⟨D,d⟩)が受理するならば、Hの正しさによりD(d)は停止する。しかし、Dの構成により、Hが受理した場合のD(d)は停止しない。
- H(⟨D,d⟩)が拒否するならば、Hの正しさによりD(d)は停止しない。しかし、Dの構成により、Hが拒否した場合のD(d)は受理して停止する。
Hの二つの出力のどちらについても矛盾が生じる。したがって、そのような決定器Hは存在せず、HALTTMは決定可能ではない。▨
決定不能性は、特定の入力について停止の証明が常に不可能であるという主張ではない。全ての⟨M,w⟩に対して正しく答え、しかも必ず停止する一つの TM が存在しないという主張である。
系 4.2.{0,1}∗∖HALTTMは認識可能ではない。したがって、HALTTMは認識可能であるが余認識可能ではない。
証明.命題 3.2によりHALTTMは認識可能である。もし{0,1}∗∖HALTTMも認識可能なら、定理 1.3によりHALTTMは決定可能となる。停止言語が決定可能であるという結論は定理 4.1に反する。ゆえに{0,1}∗∖HALTTMは認識可能ではない。▨
5 演習
問題 5.1.
- 例 1.2の認識器Rの受理状態と拒否状態を交換した機械をRswapとする。Rswapが受理する言語を求め、それがΣ∗∖Lと異なることを示せ。
- 例 1.2のLについて、Lの認識器を同例のR、Σ∗∖Lの認識器を同例のDの受理状態と拒否状態を交換した機械Sとする。入力wに対してR(w)を停止するまで模倣し、停止したら次にS(w)を模倣して、R(w)が受理すれば受理し、S(w)が受理すれば拒否する機械D′を考える。D′がLの決定器でないことを、具体的な入力を挙げて示せ。
- ATM={⟨M,w⟩:M が入力 w を受理する}とする。ATMが認識可能であることを示せ。また、ATMの決定器からHALTTMの決定器を構成し、ATMが決定可能でないことを示せ。
- K′={⟨M⟩:M は入力 ⟨M⟩ を受理しない}が認識可能でないことを、対角線論法により示せ。
解答 (演習の要点).
-
Rは1を読むと受理し、0または空白を読むと右へ動くだけであり、拒否状態へ移る遷移をもたない。Rswapは同じ遷移をたどり、Rが受理する時点で拒否する。wが1を含むならばRswap(w)は拒否して停止し、wが1を含まないならば、Rと同じく右へ動き続けて停止しない。Rは拒否状態へ到達しないので、Rswapは受理状態へ到達しない。よってRswapの受理言語は∅である。一方Σ∗∖Lはεを含むので空でなく、二つの言語は異なる。
-
入力00を考える。00は1を含まないので00∈/Lであり、同例によりR(00)は右へ動き続けて停止しない。したがってD′(00)はR(00)の模倣を終えることがなく、S(00)の模倣へ進まないので停止しない。決定器は全入力で停止しなければならないので、D′はLの決定器でない。一方S(00)はD(00)と同じく高々三回の読取りで停止して受理するので、定理 1.3の証明のように二つの模倣を交互に進めれば、入力00でも有限時間で拒否する。
-
入力xを構文解析し、不正な符号なら拒否する。x=⟨M,w⟩ならば定理 2.1の万能機械Uをxで実行し、Uが受理すれば受理し、拒否すれば拒否する。U(⟨M,w⟩)はM(w)が受理する場合に限って受理するので、この機械はATMを認識する。
ATMの決定器HAが存在すると仮定する。TM の符号⟨M⟩から、遷移表で拒否状態qrejへ移る遷移の行き先をすべて受理状態qaccへ書き換えた機械M′の符号⟨M′⟩を、遷移表の有限回の走査で計算することができる。M′(w)はM(w)と同じ配置をたどり、M(w)が受理または拒否で停止するときに受理し、M(w)が停止しないときに停止しない。よってM(w)が停止することとM′(w)が受理することは同値である。入力xが不正な符号なら拒否し、x=⟨M,w⟩ならば⟨M′,w⟩を作ってHAを実行し、その結論を出力する機械は全入力で停止し、HALTTMを決定する。これは定理 4.1に反する。よってATMは決定可能でない。
-
K′を認識する TMRが存在すると仮定し、r=⟨R⟩とおく。r∈K′であることは、K′の定義によりRが入力rを受理しないことと同値である。一方、RはK′を認識するので、r∈K′であることはRが入力rを受理することと同値である。二つを合わせると、Rがrを受理することとそれを受理しないことが同値になり、矛盾する。よってK′は認識可能でない。この議論は停止の判定を仮定せず、受理の有無だけを対角線上で反転している。
▨