技能一覧 › 大学数学 オートマトン・形式言語

チューリング機械の動作の追跡

遷移表で与えられた 1 テープ決定性チューリング機械について、状態・テープの内容・ヘッドの位置(様相)を 1 ステップずつ追跡し、停止するまでのステップ数・停止時のテープの内容・受理か拒否かを求められる

前提

説明

チューリング機械は、DFA に「テープへの書き込み」と「ヘッドの左右への移動」を加えた計算のモデルです。この技能では、遷移表に従って機械の様子(状態・テープの内容・ヘッドの位置)を 1 ステップずつ書き出します。これにより、停止するまでのステップ数、停止時のテープの内容、受理か拒否かを求められるようになります。機械が何を計算しているのかを確かめるときや、計算量(ステップ数)を数えるときの基本になります。

なぜそうしてよいのか

DFA では、入力を左から 1 文字ずつ読み、そのたびに で状態を更新しました。1 テープ決定性チューリング機械も、「今の状態 と、ヘッドが読んでいる記号 だけで次の動作が 1 通りに決まる」という点は同じです。違うのは、遷移が の形をしていることです。これは「状態を に変え、今いるマスの を に書き換え、ヘッドを の向きに 1 マス動かす」という意味で、 なら左へ、 なら右へ動きます。テープは右に無限に続き、入力のあとのマスには空白記号 が並んでいます。ヘッドは最初、入力の最も左の文字の上にあります。以下ではこの流儀を使います。

ある時点の機械の様子は、状態、テープの内容、ヘッドの位置の 3 つで完全に表せます。この 3 つの組を様相と呼びます。ここでは様相を と書きます。これは「テープの内容が (右に続く空白は省略)で、状態が 、ヘッドは の先頭の文字の上にある」という意味です。決定性なので、1 つの様相から次の様相はただ 1 つに決まります。そのため、初期様相 から遷移表を繰り返し当てはめていけば、計算の全体を機械的に再現できます。

DFA は入力を読み終えた時点で止まりました。これに対してチューリング機械は、入力の端に来ても止まりません。空白 を読む遷移があれば、そのまま動き続けます。止まるのは、受理状態 か拒否状態 に入った瞬間だけです(流儀によっては、遷移が定義されていない組に出会ったときも拒否として止まります)。どちらにも入らず、永遠に止まらないこともあります。ステップ数とは、遷移を適用した回数のことです。

手順

  1. 初期様相 を書き、これを第 0 ステップとする。ヘッドは の最初の文字の上にある。

  2. 今の状態 と、ヘッドの下の記号 を読み取る(入力の外なら )。遷移表で を探す。

  3. まず今いるマスの を に書き換え、次にヘッドを の向きに 1 マス動かし、状態を にする。こうして次の様相を書き、ステップ数を 1 増やす。左端で のときは、ヘッドはその場に留まる。

  4. 新しい状態が または なら停止する。そうでなければ手順 2 に戻る。

  5. 停止したら、次の 3 つをまとめる:ステップ数、そのときのテープの内容(空白を除いた部分)、受理か拒否か(停止した状態が か か)。

例題

次の 1 テープ決定性チューリング機械 を考える。
- 状態の集合:(初期状態 、受理状態 、拒否状態 )
- 入力アルファベット:
- テープ記号:( は空白)

テープは右に無限に続き、初めヘッドは入力の最も左の文字の上にある。 または に入った時点で停止する。左端で左へ動こうとしたときは、その場に留まる。遷移 は次の表のとおりである( は か )。

状態

入力 を与えたとき、 が停止するまでのステップ数を求めよ。

例題の解答

手順 1:初期様相は で、これを第 0 ステップとする。

手順 2〜4 を繰り返す。
- 第 1 ステップ: で を読む。 なので、 はそのままで右へ動く。様相は 。
- 第 2 ステップ: で を読む。 より、様相は 。
- 第 3 ステップ: で を読み、右へ動く。様相は 。
- 第 4 ステップ: で を読み、右へ動く。様相は 。ヘッドは入力の外に出たが、状態が でも でもないので停止しない。
- 第 5 ステップ: で を読む。 より、様相は 。
- 第 6 ステップ: で を読む。 なので、今のマスを に書き換えてから左へ動く。様相は 。
- 第 7 ステップ: で を読む。 に書き換えて左へ動く。様相は 。
- 第 8 ステップ: で を読む。 なので、 に書き換えて右へ動く。様相は 。

手順 4:状態が になったので停止する。

手順 5:遷移を適用した回数は 8 回である。停止時のテープは で、結果は受理である。この入力に限っていえば、 が に変わっている。ただし、どの入力でも 1 を足すわけではない。たとえば入力 では、停止時のテープは になる。

よって答えは 8 ステップである。

答え:

よくある誤り

この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。

入口の問題

この技能を使う問題

この技能の次に学べること