Turing Machine
概要
アラン・チューリングが計算可能性の議論のために考案した抽象機械 (1936). 現代のコンピューターが行っている”計算”は全てこのチューリングマシンで表すことができる.
構成

- 左右に無限に伸びる文字が書かれたテープ
- 文字を読み取った後左右に動く事のできるヘッダ
- ヘッダを制御する制御器
からなる
定義
形式的な定義は以下のようになる. Turing Machine は
- : 状態の集合
- : 入力アルファベット
- : テープアルファベット()
- : 開始状態()
- : 受理状態()
- : 遷移関数
遷移関数はある状態 から文字を1文字読み取って状態 へ遷移しヘッドを左右どちらかに動かすという動作を集めたもの.

状態遷移図
Turing Machineの動作の様子も状態遷移図に対応している. 例として のみからなる文字列 が回文()かどうかを判定するTMの状態遷移図は以下のようになる.

チューリング機械の万能性
TMはあらゆる「計算」をTMの動作に還元することが出来る