156
5
章 究極の機械
設計することができます。この機械は基本的に、チューリングマシンの規則のインタプリタとして動き
ます。このような機械のことを、万能チューリングマシン(UTM:Universal Turing Machine)と呼び
ます。
これはワクワクする話です。これによってチューリングマシンが持つ最大の計算能力を、単一のプロ
グラム可能なデバイスによって利用できるためです。ソフトウェア(チューリングマシンをエンコード
した記述)をテープに書き、そのテープをUTMに与えてソフトウェアを実行することで、求める振る
舞いが生成できるのです。有限オートマトンとプッシュダウン・オートマトンには、チューリングマシ
ンのように自らをシミュレートすることができません。したがって、チューリングマシンは制限された
計算機械から強力な計算機械への転換であるだけでなく、単一目的のデバイスから完全にプログラム
可能なデバイスへの転換でもあるのです。
万能チューリングマシンがどのように動くのか、簡単に見ていきましょう。実際にUT
Mを構築する
には、面倒で面白くもない技術的詳細が大量に必要になります。したがって、ここではごく表面的な説
明に留めておきますが、少なくともそれが実現可能であることは納得できるはずです。
5.4.1
エンコード
UTMの規則集を設計する前に、チューリングマシン全体をテープ上の文字シーケンスとしてどのよ
うに表現するか、決める必要があります。UTMは、任意のチューリングマシンの規則、受理状態、開
始構成