チューリングマシン:テープを書き換える
テープ・ヘッド・状態表だけで「計算」が進む様子を1ステップずつ。ヘッドが 読む → 書く → 動く → 状態を変える を繰り返します。
—
8 步/秒
現在の状態
—
ヘッドが読む記号
—
ステップ数
0
結果
実行中
状態表(プログラム)— 編集して自作機械に
各行は 状態×読む記号 → 書く記号・移動(L/R)・次状態。HALT で停止。空欄や未定義は停止扱い。
テープとヘッド(▼が現在位置・読む→書く→動く)
チューリングマシンは、無限に伸びるテープと、その上で1マスを読み書きするヘッド、そして「今どういう途中状態か」を表す状態、たったこれだけの部品でできています。
動きは1種類のルールの繰り返しだけ:今の状態とヘッドが読んだ記号を見て、状態表から「書く記号・ヘッドの移動方向・次の状態」を引き、その通りに実行する。これを
これだけで2進数の +1 も、回文判定も、原理的にはあらゆる計算ができます。ステップ実行で「計算とは記号の書き換えの連鎖だ」という核心を体感してみましょう。
動きは1種類のルールの繰り返しだけ:今の状態とヘッドが読んだ記号を見て、状態表から「書く記号・ヘッドの移動方向・次の状態」を引き、その通りに実行する。これを
HALT になるまで続けます。これだけで2進数の +1 も、回文判定も、原理的にはあらゆる計算ができます。ステップ実行で「計算とは記号の書き換えの連鎖だ」という核心を体感してみましょう。
いま何が起きている?
ここがポイント
- 遷移は局所的 ── 「今の状態」と「ヘッド直下の1記号」だけで次の動作が決まる(先のマスを覗かない)。
- 記憶は状態とテープに分かれる ── わずかな状態(有限個)と無限のテープを組み合わせ、複雑な計算を表現する。
- 停止しないこともある ── ルール次第で永遠にループする。「止まるか?」自体が一般には判定不能(停止問題)。
- 表を書き換えれば別の機械 ── ハードは同じでも状態表(プログラム)次第で何にでもなる。これが汎用計算機の原型。