オートマトン・形式言語の問題
両側に無限に続く 1 本のテープをもつ決定性チューリング機械 を考える。テープの各セルを整数で番号付けする(セル の右隣はセル )。入力記号の集合は 、テープ記号の集合は ( は空白記号)、状態の集合は で、初期状態は 、停止状態は である。遷移関数 は次の表で与えられる( は、状態 でヘッドが記号 を読んだとき、そのセルに を書き、ヘッドを の向き( は左、 は右)に 1 セル動かし、状態 に移ることを表す)。
| 状態 | 記号 | 記号 | 記号 |
|---|---|---|---|
からの遷移はなく、 は状態 に入った時点で停止する。遷移関数を 1 回適用することを 1 ステップと数える。
を正の整数とし、入力 (各 )を、セル に を書き、それ以外のセルをすべて とし、ヘッドをセル に置いて状態 から動かす。 を左端を最上位の桁とする 2 進数として読んだ値を とし、 の末尾に連続して並ぶ の個数( なら )を とする。
このとき、 はちょうど ステップで停止し、停止時のテープ上の でない記号は連続したいくつかのセルに並んで 1 つの文字列 をなし、 を左端を最上位の桁とする 2 進数として読んだ値が であることを証明せよ。ここで の先頭に が並んでいてもよく(たとえば なら )、 が置かれるセルの範囲は入力が置かれたセル と一致するとは限らない。
この問題で使うもの
- チューリング機械の動作の追跡(説明と入口の問題)
この問題を解けるようになるまで(2 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
一覧で見る(前提が先)
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
の動作を「右端まで進む段階」と「右から繰り上がりを処理する段階」に分け、それぞれの段階で何ステップ後に状態・ヘッド位置・テープがどうなっているかを帰納法で示すとよい。
ヒント 2
不変条件の例: ステップ後()は状態 ・ヘッドはセル ・テープは不変。 ステップ後()は状態 ・ヘッドはセル ・セル だけが に変わっている。
ヒント 3
ステップ目で空白を読んで に移り、その後は末尾の 個の を に変えながら左へ進む。 ステップ後にヘッドが読む記号は、 なら 、 ならセル の である。
採点の観点と模範解答
自分で証明を書いてから、採点の観点で見比べてください。
採点の観点を見る
の定義から、 がすべて で、 なら であることを確認している(1 点)
について、 ステップ後の状態 ・ヘッド位置 ・テープ不変を帰納法で示し、 ステップ目に を読んで ・ヘッドがセル に移ることを述べている(3 点)
について、 ステップ後に状態 ・ヘッドがセル にあり末尾 個が に変わっていることを、読む記号が であることを根拠に帰納法で示している(3 点)
と の場合に分け、それぞれ またはセル の を読んで を書き、 ステップ目で初めて停止することを示している(1 点)
停止時のテープの文字列(セル 〜 の 、またはセル 〜 の )の値を計算して に等しいことを示し、空白でない記号が連続していることを述べている(2 点)
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
模範解答を読む
の定義から であり、 である。さらに のときは である( なら末尾に連続する が 個以上となり の定義に反する)。
補題 1(右へ走査する段階) を満たす整数 について、 ステップ後の時点で は停止しておらず、状態は 、ヘッドはセル にあり、テープの内容は初期状態から変わっていない。
についての帰納法で示す。 のときは初期設定そのものである。 で成り立つと仮定する。このときヘッドのあるセル は を満たすので、そこには が書かれている。表より 、 なので、次のステップでは同じ記号を書き戻し(テープは変わらない)、ヘッドはセル に動き、状態は のままである( に入らないので停止しない)。よって でも成り立つ。
ステップ目 補題 1 で とすると、 ステップ後は状態 、ヘッドはセル にあり、そこは である。 より、 ステップ後は状態 (停止していない)、ヘッドはセル 、テープは初期状態のままである。
補題 2(繰り上がりの段階) を満たす整数 について、 ステップ後の時点で は停止しておらず、状態は 、ヘッドはセル にあり、テープはセル が に書き換わっている以外は初期状態と同じである。
についての帰納法で示す。 は直前に示したとおりである(書き換わったセルはない)。 で成り立つと仮定する。ヘッドのあるセル は、 より を満たし、まだ書き換えられていないので が書かれている。 より、次のステップでセル は に書き換わり、ヘッドはセル に動き、状態は のままである(停止しない)。よって ステップ後に についての主張が成り立つ。
停止のステップ 補題 2 で とすると、 ステップ後は状態 、ヘッドはセル にあり、セル は 、ほかのセルは初期状態のままである。 か かで場合分けする( なのでこれで尽きる)。
(i) のとき:セル は の範囲にあり、書き換えられていないので が書かれている。 より、次のステップでそこに を書いて に入り停止する。停止時のテープは、セル に が書かれ、ほかはすべて である。 の 2 進数としての値を ( が空、すなわち なら )とすると、
であり( のとき括弧内は空の和で )、 の値は である。 の先頭に があれば の先頭にも が並ぶが、それらの桁は値に寄与しない。
(ii) のとき:ヘッドはセル にあり、そこは初期状態のまま である。 より、次のステップでセル に を書いて停止する。このとき なので であり、停止時のテープはセル に が書かれ、ほかはすべて である。 の値は である。
どちらの場合も、 は ステップ後の次の 1 ステップ、すなわちちょうど ステップ目で初めて に入って停止する(補題 1, 2 と ステップ目の考察より、それ以前には停止していない)。また停止時の でない記号は連続したセル((i) ではセル 〜、(ii) ではセル 〜)に並び、その文字列 を 2 進数として読んだ値は である。以上で証明が終わる。