【基礎理論】一台で何でもこなす!「万能チューリングマシン」|情報処理問題1000本ノック
特定の計算しかできない専用機ではなく、プログラムを「データ」として読み込むことで、あらゆる計算機のふりをすることができる究極のモデルを攻略しましょう。
1. 問題:汎用コンピュータの理論的モデル
【 問題 】 チューリングマシンの一種で、ある特定の計算を行うチューリングマシンの「記述(プログラムに相当)」と「入力データ」をテープから読み取り、そのマシンの動作を模倣(シミュレート)して実行できるモデルを何と呼ぶでしょうか?
ア、決定性チューリングマシン
イ、非決定性チューリングマシン
ウ、万能チューリングマシン
エ、スタックオートマトン
2. 正解:計算理論に関する正解
正解: ウ、万能チューリングマシン(Universal Turing Machine: UTM)
3. 解説:「プログラム」という概念の誕生
初期の計算概念は「足し算専用機」のようなものでしたが、万能チューリングマシンは「作り方次第で何にでもなる機械」を提唱しました。
■ 仕組み
・テープの中に「別のマシンのルール(状態遷移表)」をデータとして書き込んでおきます。
・万能マシンはそのルールを読み解きながら、あたかもそのマシンになったかのように振る舞います。
■ 現代とのつながり
・私たちがPCやスマホで、ある時は「表計算」、ある時は「ブラウザ」としてアプリ(プログラム)を入れ替えて使えるのは、現代のコンピュータがこの万能チューリングマシンを具体化したものだからです。
★ この「データとして命令を読み込む」という発想が、後にノイマン型コンピュータ(プログラム内蔵方式)へと繋がりました。アラン・チューリングのこの論文がなければ、現代のIT社会は存在しなかったと言っても過言ではありません。
1. 理解のコツ: 「ゲーム機本体」が万能チューリングマシンで、「ゲームソフト」がテープに書かれた個別のマシンの記述、とイメージしてください。本体が一つあれば、ソフトを差し替えるだけで格闘ゲームにもパズルゲームにもなれる、という汎用性の理論です。
2. 試験対策の視点: 「他のチューリングマシンの動作を模倣(シミュレート)する」「プログラムをデータとして扱う」という表現が最大のヒントです。ITエンジニアとして、自分が日々扱っている「汎用機」のルーツとして押さえておきたい用語です。
4. まとめ
「他のチューリングマシンの記述を読み取り、その動作を再現する」。これが万能チューリングマシンです。この理論により、物理的な配線を変えることなくソフトウェアだけで機能を切り替える、現代コンピュータの魔法が理論的に可能となりました。