Turing 機械は、有限個の状態と遷移規則によって、有限文字列に対する一段ずつの計算を定める。無限テープは各入力で無限量の情報を同時に与える装置ではなく、計算の進行に応じて有限個のマスを使用するための記憶領域である。本記事では、配置、計算、受理、および停止を区別して定義し、テープ数や非決定性を変更しても、認識可能言語と決定可能言語のクラスが変わらないことを証明する。
1 単テープ決定性 Turing 機械
定義 1.1. 単テープ決定性 Turing 機械 (single-tape deterministic Turing machine) は
という組である。ここで、は有限状態集合、は入力アルファベット、は空白記号を含むテープアルファベットであり、は互いに異なる。遷移関数は
である。は、それぞれヘッドを左へ一マス動かす、右へ一マス動かす、および現在位置にとどめる命令を表す。受理状態と拒否状態からは遷移しない。
以下では、Turing 機械を TM と略記する。テープのマスをで添字付ける。有限入力から有限段だけ計算した時点では、空白でないマスは有限個に限られる。この有限性を配置の定義に組み込む。
定義 1.2.の配置 (configuration) は三つ組
である。は現在状態、はヘッド位置、は有限個の位置を除いてを値にとるテープ内容である。
かつとする。を
で定め、を、なら、なら、かつなら、かつならとする。このときからへ一段で遷移する (one-step transition) といい、と書く。
入力に対する初期配置はである。ただし、であり、ではである。の場合には全マスが空白である。
定義 1.3. 入力上のの計算 (computation) は、初期配置から始まる、次のいずれかの配置列である。
- 全てのについてを満たす無限列。
- 全てのについてを満たし、から一段で遷移する配置が存在しない有限列。
(2)の列を極大有限計算 (maximal finite computation) という。遷移関数は全ての非停止状態とテープ記号の組で定義されるため、極大有限計算の最終状態はまたはである。最終状態がであるときはを受理 (acceptance) し、であるときはを拒否 (rejection) する。いずれかの極大有限計算になるときはで停止 (halting) する。決定性により、各入力の計算は一意である。
定義 1.4. TMが言語の認識器 (recognizer) であるとは、任意のについて
ことをいう。の場合には、は拒否しても停止しなくてもよい。認識器をもつ言語を認識可能言語 (Turing-recognizable language) という。
がの決定器 (decider) であるとは、がを認識し、さらに全てので停止することをいう。決定器をもつ言語を決定可能言語 (decidable language) という。
命題 1.5. 決定可能な言語は認識可能である。
証明.の決定器をとする。ならばは停止して受理し、ならばは停止して拒否する。後者の動作は認識器の定義で許される。したがって、同じ機械がの認識器である。▨
例 1.6 (一進加算). 入力からを得る機械は、を一時記号に置き換え、右側に残るを一つずつ印付けし、そのたびに左側の列の右端へを移すことによって構成することができる。例えばでは、右側の三つのを処理した後にが残る。
「右側の未処理記号を探す」「その記号に印を付ける」「左側の右端を探してを書く」「区切りまで戻る」という各局面には有限個の状態しか要らない。反復回数は入力テープ上の記号数によって定まり、状態数によって定まるのではない。
TM が関数を計算することの一般の定義は、計算可能関数の記事の§E15.7 定義 1.1で与える。本例は、その定義に先立って、一段ずつの書換えとして計算の進行を追うものである。
2 多テープ機械の単テープ模倣
定義 2.1. 正の整数に対し、テープ決定性 Turing 機械 (k-tape deterministic Turing machine) は、定義 1.1と同じ有限集合と状態をもち、遷移関数を
とした組である。配置は、状態、ヘッド位置、および有限個の位置を除いてを値にとるテープ内容からなる組である。のとき、一段の遷移では、各について位置へを書き、定義 1.2と同じ規則(左端で左へ動く命令は左端にとどまる)でヘッド位置をに従って更新し、状態をへ移す。
入力の初期配置では、第テープの内容を単テープの場合と同じとし、他のテープを全マス空白とし、全てのヘッドを位置に置く。計算、受理、拒否、および停止は、定義 1.3と同じ文言で定める。
次の証明では、一つの模倣配置が元の機械の一つの配置を正確に符号化するという不変条件を定め、元の一段ごとにその不変条件が保存されることを示す。
定理 2.2. 任意のテープ決定性 TMに対して、単テープ決定性 TMを構成することができる。任意の入力について、次の三条件が成り立つ。
- がを受理することとがを受理することは同値である。
- がを拒否することとがを拒否することは同値である。
- がで停止することとがで停止することは同値である。
証明. テープ記号に対して、ヘッドがそのマスを走査していることを表す印付き記号を新たに用意する。のテープには
を置く。の第テープの内容を、ヘッド位置をとする。は位置からある位置までを表す有限文字列であり、かつ、全ての非空白位置についてを満たす。位置の文字はであり、位置の文字だけに印を付ける。はこの条件を満たす最小値でなくてもよく、末尾に任意個の余分な空白記号を含めてよい。この形式の文字列を整形式符号と呼ぶ。整形式符号から余分な末尾の空白を無視して得る配置をと書き、配置を表す任意の整形式符号をと書く。
は最初の有限回の走査で入力を整形式符号へ変換する。第1テープの符号にはを置き、その先頭記号に印を付ける。ならを置く。第2テープ以降の符号はとする。したがって、得られた符号はの初期配置を表す。
整形式符号がの配置を表していると仮定する。は左から右へ一回走査し、各の印付き記号を有限制御へ記憶する。とは固定された有限集合なので、個の記号との現在状態をの有限状態に記憶することができる。その情報からの遷移関数を一回適用し、新状態、各テープへの書込み記号、および移動方向を得る。
次には符号全体を走査し直す。各では、以前の印付き記号を指定された記号へ書き換え、移動方向に従って左隣または右隣の記号へ印を移す。左端で左へ動く場合には印を同じ位置に残す。右隣が区切りである場合には、その直前へ空白記号を挿入してから印を移す。挿入は、右側にある有限文字列を一マスずつ右へずらす有限の走査で実行することができる。全ての更新を終えた後、は左端へ戻る。得られた文字列は、の次の配置の整形式符号である。符号を一段分更新する操作をと書けば、不変条件は
である。この等式は、が余分な末尾の空白を何個含む場合にも成り立つ。
初期符号が初期配置を表し、模倣する一段が整形式性と配置の対応を保存するため、帰納法により、の段後の配置との回目の模倣後の符号は全てのについて対応する。の状態がまたはになったとき、は対応する受理状態または拒否状態へ移る。それ以外では次の一段を模倣する。したがって、受理、拒否、および停止について三つの同値が全て成り立つ。▨
3 非決定性機械の決定性模倣
定義 3.1. 非決定性 Turing 機械 (nondeterministic Turing machine)は、定義 1.1の遷移関数を、各組に対して空でない有限集合
を割り当てる写像へ置き換えた組である。配置は単テープ決定性 TM と同じ三つ組である。の一つを選んで定義 1.2と同じ規則で更新した配置の各々へ、から一段で遷移することができる。
入力上の計算木 (computation tree) は、初期配置を根とし、停止状態にない各配置の子を、そこから一段で遷移することができる全ての配置とする有限分枝木である。根から始まる極大な配置列を分枝 (branch) という。遷移先の集合が常に空でないため、分枝が有限であることと、その最終配置の状態がまたはであることは同値であり、このとき分枝は停止する (halt) という。状態の配置へ到達する分枝を受理分枝 (accepting branch) という。
がを受理する (accept) とは、上の計算木に受理分枝が存在することをいう。が言語の認識器 (recognizer) であるとは、任意のについて、とがを受理することが同値であることをいう。全ての入力で全ての分枝が停止する非決定性 Turing 機械を決定器 (decider) とし、決定器は、受理分枝がなく全分枝が停止した入力を拒否する (reject) と定める。の決定器とは、を認識する決定器のことである。
時間や空間の資源を測る後続の記事では、読取り専用入力テープと固定有限本の作業テープをもつ非決定性機械が§E15.11 定義 1.1として別に定式化される。その定式化と本記事の単テープ非決定性機械はテープの構成だけが異なり、§E15.11 命題 1.3により、多項式時間の範囲で同じ言語のクラスを受理する。本記事では資源を測らないため、単テープの定式化だけを用いる。
深さ優先探索は、停止しない一つの分枝だけを探索し続ける可能性がある。したがって、模倣には計算木を深さの小さい順に調べる幅優先探索を用いる。
定理 3.2. 任意の非決定性 TMに対して、単テープ決定性 TMを構成することができる。
- 任意の入力について、にを受理する分枝が存在することと、がを受理することは同値である。
- が全入力で全ての分枝を停止させるならば、は全入力で停止し、が受理分枝をもつ場合に限って受理する。
証明. 各配置から出る遷移にの番号を付ける。ここでは全ての配置に共通する有限の上界であり、存在しない番号は無効な選択とする。有限語は、初期配置から順に第の遷移を選ぶ長さの候補分枝を表す。
まず三テープ決定性機械を構成する。第1テープに入力、第2テープに候補語、第3テープにの作業テープの複製を置く。は
という長さ優先順で候補語を一つずつ生成する。各について第3テープを初期配置へ戻し、第1テープの入力を用いて、が指定する遷移を最大段だけ実行する。途中で無効な選択または停止配置に達した候補は、その時点で調査を終える。受理配置に達した候補を見つけた場合にはは受理する。
は、同じ長さの候補語を調べる間、その深さにある有効な非停止配置が一つでも見つかったかを有限制御に記録する。ある深さの全候補を調べ終え、受理配置も有効な非停止配置もなければ、計算木を調べ尽くしたので拒否する。
に長さの受理分枝があれば、その遷移番号列は有限個の先行候補の後に必ず調べられ、は受理する。逆に、が受理するのは、ある候補語が実際にの受理分枝をたどった場合だけである。したがって、受理について同値が成り立つ。
次に、入力上での全ての分枝が停止すると仮定する。この計算木の深さには有限の上界が存在する。実際、任意に深い節点が存在すると仮定する。根の子は有限個なので、そのうち一つは任意に深い子孫をもつ。その子に対して同じ選択を繰り返すと、有限分枝性により無限分枝を構成することができ、全分枝が停止するという仮定に反する。深さの上界をとすると、は深さまでの有限個の候補を調べた時点で、未停止の有効候補が残らないことを確認することができる。受理分枝を発見していなければ、その時点で拒否するようにを構成する。したがって、全分枝が停止する入力ではも停止する。
最後に、定理 2.2をへ適用して単テープ決定性機械を得る。同定理は受理、拒否、および停止を保存するため、は主張された二条件を満たす。▨
系 3.3. 単テープ決定性 TM、多テープ決定性 TM、および非決定性 TM のいずれを用いても、認識可能言語のクラスは同じであり、決定可能言語のクラスも同じである。
証明. 単テープ決定性 TM は、多テープ決定性 TM のテープ数を一つにした特別な場合であり、非決定性 TM の各配置からの遷移先を一つにした特別な場合でもある。したがって、単テープ決定性 TM で認識または決定することができる言語は、他の二モデルでも認識または決定することができる。
逆に、多テープ決定性 TM には定理 2.2を適用し、非決定性 TM には定理 3.2を適用する。前者は受理と停止を保存し、後者は受理を保存するとともに全分枝停止の場合には模倣機械も停止する。したがって、他の二モデルで認識または決定することができる言語は、単テープ決定性 TM でもそれぞれ認識または決定することができる。両向きの包含から二つの言語クラスはモデルに依存しない。▨
4 列挙器と認識器
機械モデル間の模倣とは別に、言語を入力ごとに判定する方法と、言語の要素を順次出力する方法を比較する。
定義 4.1. 列挙器 (enumerator) は、作業テープに加えて出力テープをもち、計算中に区切り記号で区切られた有限文字列を順次出力する決定性 TM である。列挙器が出力する文字列全体をと書く。出力順序は任意であり、同じ文字列を複数回出力してもよい。自身は停止してもしなくてもよい。
次の証明では、列挙器から認識器を作る方向には出力の監視を用い、認識器から列挙器を作る方向には全入力に対する計算の交差実行を用いる。一つの入力の非停止によって、後続入力の調査を妨げないことが後者の要点である。
定理 4.2. 言語が列挙器によって列挙されることと、が Turing 認識可能であることは同値である。
証明. まずとなる列挙器があるとする。認識器は入力を保存してを一段ずつ模倣し、文字列が一つ出力されるたびに、その文字列とを比較する。一致すれば受理する。ならばは有限時点でを出力するため、は受理する。ならば一致は起こらず、は停止しないか、の停止後に受理しない状態で停止するようにしてもよい。したがってはを認識する。
逆に、の認識器をとする。の全要素を長さ優先の辞書式順序でと並べる。列挙器は段階において、の各計算を初期状態から段ずつ模倣する。あるが段以内に受理することを確認したらを出力する。既に出力したかを記録して重複を避けてもよいが、重複は列挙言語を変えない。
ならば、ある有限段数では受理する。となる段階ではその受理を確認してを出力する。ならばは受理しないので、はを出力しない。したがってである。両方向の構成により同値が成り立つ。▨
注意 4.3 (Church–Turing の提唱). 「有限の手続きによって有効に計算することができる」という形式化以前の概念が、Turing 機械による計算可能性で尽くされるという主張は Church–Turing の提唱であり、数学的定理ではない。 Church–Turing の提唱に対して、本記事で証明した機械モデル間の同値や、別の形式的計算モデルとの同値は、各モデルの定義から証明される数学的定理である。
5 演習
問題 5.1.
- 単テープ TM の配置から一段遷移したとき、空白でないテープ位置が有限個のままであることを示せ。
- 多テープ模倣で印付き記号を使わず、各テープの内容だけを連結した場合に、元の配置を一意に復元することができない理由を説明せよ。
- 非決定性機械の計算木を深さ優先で探索すると、受理分枝が存在しても受理することができない場合がある。そのような計算木を一つ記述せよ。
- 認識器から列挙器を作る証明で、の計算が終わるまで待ってからを始める方法が正しくない理由を説明せよ。
解答 (演習の要点).
- 一段で書き換える位置はヘッド位置の一つだけなので、有限集合へ高々一要素を加えた集合も有限である。
- テープ内容だけでは各ヘッドが走査している位置を特定することができず、次に読む記号を決定することができない。
- 例えば根の第1子から無限分枝が続き、第2子が直ちに受理する木では、第1子を先に深さ優先で調べる探索は第2子へ到達しない。
- の場合にが停止しなければ、その方法は以降を一度も調べない。段階ごとの有限模倣が必要である。
▨