チューリングが、現在チューリング マシンと呼ばれるものを最初に考案したとき、彼は純粋に理論的な理由 (決定不能な問題の存在を証明するために使用された) であり、現実の世界で実際に構築したことはありませんでした。時を経て現在に至ると、趣味でチューリング マシンを構築する趣味を除いて、TM は本質的にセオリーランドに限定されています。
チューリング マシンは、いくつかの理由で実際には使用されていません。まず、無限のテープを構築するには無限のリソースが必要になるため、真の TM を構築することは不可能です。(ただし、限られた量のテープで TM を構築し、必要に応じてテープを追加することを想像することもできます。) さらに、チューリング マシンは、データ アクセスのシーケンシャルな性質のために、他の計算モデルよりも本質的に低速です。たとえば、チューリング マシンは、スキップする配列のすべての要素を最初に通過しない限り、配列の途中にジャンプすることはできません。その上、チューリング マシンの設計は非常に困難です。たとえば、32 ビット整数のリストをソートするチューリング マシンを作成してみてください。(実際、やめてください。本当に難しいです!)
これは疑問を投げかけます...なぜチューリングマシンを研究するのですか? 幸いなことに、これを行う理由は数多くあります。
計算できる可能性のある限界について推論するため。チューリング マシンは、地球上の任意のコンピューター (または、チャーチ チューリングのテーゼによれば、物理的に実現可能な任意のコンピューティング デバイス) をシミュレートできるため、チューリング マシンが計算できる限界を示すことができれば、その限界を示すことができます。実際のコンピュータ上で達成されることを期待することはできません。
アルゴリズムの定義を形式化すること。「答えを推測する」というステートメントはアルゴリズムではないのに、なぜバイナリ検索はアルゴリズムなのですか? この質問に答えるには、コンピューターとは何か、アルゴリズムが何を意味するかについての正式なモデルが必要です。チューリング マシンを計算のモデルとして使用することで、アルゴリズムとは何かを厳密に定義することができます。実際にアルゴリズムをフォーマットに変換したいと思う人は誰もいませんが、変換できることで、アルゴリズムと計算可能性理論の分野に確固たる数学的根拠が与えられます。
決定論的および非決定論的アルゴリズムの定義を形式化すること。おそらく現在、コンピューター サイエンスにおける最大の未解決の問題は、P = NP かどうかです。この質問は、P と NP の正式な定義がある場合にのみ意味があり、決定論的および nndeterministic 計算の場合は定義が必要です (ただし、技術的には 2 次ロジックを使用して定義できます)。チューリング マシンを使用すると、NP 完全問題を見つける方法が得られるだけでなく、NP の重要な問題について話すことができます。たとえば、SAT が NP 完全であることの証明は、SAT を使用してチューリング マシンをエンコードできるという事実と、それが入力で実行されるという事実を使用します。
お役に立てれば!