Lesは簡潔で正しい答えを提供します。数学的な定義は可能な限り簡潔であり、無限のテープをチューリングマシンの定義に明示的に含めると、その定義がはるかに簡潔になるため、ここでは説明しません。
これは質問に答えません:なぜですか?無限テープが必要なときに、定義でどのように除外できるか
答え:私たちはしません。ある意味では、チューリングマシンは実際には無限のテープを必要とせず、その定義によってこれが明確になります。
当然のことながら、チューリングマシンの動きは、ある構成から別の構成にマシンを移動させます。構成には有限の文字列が含まれます。これは、書き込まれたテープの有限の断片と見なされます。移動するたびに、テープヘッドが1ポジション移動するか、テープヘッドの下のシンボルが上書きされます。ただし、これはその操作に不可欠です:
んん
これを言い換えると、マシンは無限のテープ上で動作し、テープヘッドがオンになっている有限の断片を除いて、完全にブランクで埋められます。これはほとんどの説明が言うことです。
これを言い換えると、マシンは有限のテープで動作し、ヘッドがどちらかの端でテープから離れるときは常にブランクで拡張されます。
これらはどちらも、マシンの動作を概念化する有効な方法です。どちらの場合も、実際にそのように動作するマシンがある場合、チューリングマシンを正しく実装します。
興味があるのがチューリングマシンのしくみを学生に教えることだけである場合、どの概念化を選択するかはおそらく問題ではありません。
ただし、次の2つの理由から、最初の概念化は誤りだと思います。
- それは非現実的。無限のテープでマシンを実際に構築することはできません。ご要望に応じて、有限のテープを延長したマシンを構築できます。
- それは直感に反しています。任意に頻繁にタスクを実行するマシンが、無限のリソースを含んでいるとは考えていません。たとえば、コピー機に無数のコピー用紙が含まれているとは考えていません。チューリングマシンは、コンピューティングのアクティビティをモデル化します。これらのモデルは、コンピューター(発明の時点では紙の上で計算を行う女性)を任意のプログラム可能な計算を実行できるマシンに置き換えた場合に何が起こるかをモデル化しています。私たちはその女性が無限の量の紙を含んでいるとは考えていません。むしろ、彼女には必要な量の紙が供給されると想定し、そのような女性が存在する可能性がないと言うのではなく、環境の障害と見なします。機械についても同じことをしてみませんか?
- それは誤解を招く結論を招きます。私はこれをよく見ました。例えば:
- チューリングマシンは実際には構築できないが、有限状態マシンは構築できると人々は言う。ええと、チューリングマシンに任意の量のテープを供給できる以上に、任意の大きな有限状態マシンを構築することはできません。
- チューリングマシンはコンピューターを正しくモデル化しないが、有限状態マシンはモデル化すると人々は言う。これは重要なポイントを提供するのに役立ちます。私たちが興味を持っているのがマシンを使用して入力言語を決定することである場合、その(固定)内部ストレージでのみ動作するコンピューターは、特定のサイズまでの有限状態マシンを完全に実装できます。ほとんどのチューリングマシンを完全に実装することはできません。多くのチューリングマシンの内部ストレージが不足するためです。ただし、これは一般的に次のように一般化されます。コンピュータは有限状態マシンであり、誤解を招く可能性があります。
- ほとんどのコンピュータプログラミングの現実的な絵は描かれていません。実際、データフロープログラミングは実際には有限状態マシンに基づいていますが、従来の命令型プログラミングはそうではありません。チューリングマシンのインスタンスにより近いプログラムを使用します。
- 実際には、コンピューターは、サイズが固定されていない入力、出力、およびストレージの外部ソースとも対話します。
- チューリングマシンは、そもそもコンピューターをモデル化するものではありません。それらは任意のコンピューティングをモデル化します。
まとめると、無限のテープを使用または含むチューリングマシンのアイデアは、重要な技術的ポイントを強調するのに役立ちますが、チューリングマシンについて最も直観的な考え方であるとは限らず、特定の誤った結論を招きます。注意して使用してください。