チューリングマシンを主要な計算モデルとして採用する歴史的な理由。


44

チューリングのモデルは、計算を記述する際の「標準」になったと私は理解しています。なぜそうなのか、つまり、TMモデルが他の理論的に同等の(私の知る限り)モデル、たとえばKleeneのμ-RecursionやLambda Calculus(私は理解している)よりも広く使用されるようになった理由を知りたい前者は後ほど登場せず、後者はもともと計算のモデルとして特別に設計されていなかったが、代替案が最初から存在していたことを示している)。

私が考えることができるのは、TMモデルがその代替よりも実際に持っているコンピューターをより厳密に表しているということです。これが唯一の理由ですか?


1
それらは直接同じトピックではありませんが、質問cstheory.stackexchange.com/questions/625/…およびcstheory.stackexchange.com/questions/1117/…は、TMと -calculusの関係を調査し、歴史的要素。λ
スレシュヴェンカト

はい、見ました。私はさまざまな理論の文字通りの歴史をかなりよく理解していますが、もしあなたがそうするなら、フィールドの現在の「選好」につながった時間の経過にもっと興味があります。
エヴァン

2
実際、実際のコンピューターに(ほぼ間違いなく)近いモデルがあります。この質問を参照してください。一般的に、最適なモデルはニーズによって異なり、エリアごとに異なります。
Kaveh

回答:


46

これは、コンピューターサイエンス(の一部の領域)のコンテキストでは正しいようですが、一般的にはそうではありません。

一つの理由は、教会の論文に関係しています。主な理由は、ゴデルのような一部の専門家は、計算の以前/他のモデルが正確に直感的な計算の概念を捕らえるという議論が説得力があるとは思わなかったためです。教会にはさまざまな議論がありますが、教会にはいくつかありましたが、ゲーデルを納得させませんでした。一方、チューリングの分析はゲーデルにとって納得のいくものであったため、効果的な計算のモデルとして受け入れられまし。異なるモデル間の等価性は後で証明されます(Kleeneによると思います)。

2番目の理由は、複雑性理論の研究に関連する技術的および後の開発です。時間、空間、非決定性などの複雑さの尺度を定義することは、 -calculusや -recursive関数などの他のモデルよりもTuringマシンを使用する方が簡単だと思われます。λμ

一方、再帰関数は、論理および計算可能性理論の本で計算可能性を定義する主な方法として使用されていました。複雑さではなく、有効性のみを重視する場合に、作業しやすくなります。Kleeneの本「Metamathematics」は、この開発に非常に影響力がありました。また、 -calculusは、プログラミング言語や型理論などのCMU /ヨーロッパスタイルのコンピューターサイエンスでより一般的であるようです。一部の著者は、RAMおよびRegister Machineモデルを好みます。(アメリカ人がチューリングのセマンティックモデルを採用し、ヨーロッパ人は教会の構文的なモデルを採用したいくつかの理由で、Chruchはアメリカとチューリングは英国だったこと。この個人的な意見/観察と他の人が持っている私には思える異なる見解をμλ。Viggo Stoltenberg-HansenとJohn V. Tucker IIIによるこれらの論文も参照してください。)

さらに読むためのいくつかのリソース:

Robert I. Soareには、これらの開発の歴史に関する記事が数多くあります個人的には、Computability Theoryのハンドブックの記事が好きです。あなたはその論文の参考文献をチェックすることでより多くを見つけることができます。

もう1つの優れたリソースは、SEPに関するNeil Immermanの計算可能性に関する記事です。B。Jack CopelandによるChurch-Turing Thesisの記事も参照してください。

ゲーデルの収集作品には、彼の見解に関する多くの情報が含まれています。特に彼の記事の紹介は非常によく書かれています。

Kleeneの「メタ数学」はとても素晴らしい本です。

最後に、まだ満足できない場合は、FOMメーリングリストのアーカイブを確認し、アーカイブで回答が見つからない場合は、メーリングリストにメールを投稿してください。


何かおかしくなったら教えてください。
カヴェ

1
うわー、これは素晴らしい情報です。リソースのおかげで、私はそれらをチェックアウトします(メタ数学を読むことを計画していました-私はそれをキューに上げます)。
エヴァン

どういたしまして、うまくいけば私が間違っていないことを願っています。:)
カヴェ

INIでRobert Soareによる最近の講演がありまし。私が理解しているように、彼のために再帰関数と再帰理論からチューリングモデルと計算可能性に変更する主な理由は次のとおりです。いくつかの場合、計算可能性の変更により、この領域の理解と復活がはるかに容易になりました。
カベ

19

TMが計算の主要なモデルであるという主張を弱めたい、または少なくとも質問の別の次元を指し示したい。明らかに、TMはコンピューターサイエンスのより複雑でアルゴリズム指向の部分で支配的ですが、プログラミング言語の理論と実践では特に支配的ではありません。これにはさまざまな理由がありますが、おそらく最も重要なのは、TMまたはTM上で実行されるプログラム(たとえば、ラムダ計算またはプロセス計算とは異なります)が代数的に構築されないことです。これにより、プログラミング言語理論の主流であった型理論の開発が難しくなります。


2
また、トランジションテーブルとも呼ばれるTMプログラムは、実際には人間が読むことはできません。
ラファエル

13

多くの問題の入力と出力は文字列として自然に定式化できるため、チューリングマシンの良い点の1つは、自然数やラムダ項ではなく文字列で動作することです。しかし、これが「歴史的な」理由としてカウントされるかどうかはわかりません。


13

チューリングマシンは、ペンと紙の計算の説得力のあるモデル(「計算の直観的な概念」)であるという事実に加えて、特にそれらについての定理を証明する場合に役立つ一連の機能を持っていると思います。

  • それらは形式的に簡単に記述でき、簡単な操作上のセマンティクスを備えています。
  • 時間と空間の複雑さを具体的に定義するのは簡単です。
  • ランダムアクセスマシンなどの電子コンピューターのより現実的な(および複雑な)モデルは、TMによって多項式のオーバーヘッドでシミュレートでき、その逆も可能です。

説明の機能は、TMの有用性を妨げるように見える場合があります。注意しないと(少なくとも、注意しないと...確かに私は初心者です)、説明はすぐに平易な英語の説明に変わる可能性があるためです。
エヴァン

たとえば、登録マシンを除外するわけではありません。
ラファエル

まあ、それはあなたが考える「レジスタマシン」の正確な概念に依存します。たとえば、インクリメント、デクリメント、およびジャンプ操作のみを使用する場合、多項式時間でTMをシミュレートすることはできません。
アントニオE. Porreca

1
TMは、抽象的な数学演算としてではなく、マシンとして提示されるため、より直感的であると思われます。場合は -calculusがマシンを「書き換え用語」として発表された、それは(もっと)直感的になります。彼らは教えるためアリゲーター卵の子どものゲームを注意してください -calculus worrydream.com/AlligatorEggsλλ
ロブ・

私はPL側にいますが、純粋なラムダ計算は算術計算の明白なモデルではありません(前任者関数を考えてください)。ラムダ計算では、定義の数は少なくなりますが、定義の意味を理解するのにより多くの労力がかかります。
ブレイザーブレード

0

これは最初に影響を与えたため、特に複雑性理論で確立されました。これは弱い理由ですが、人々はそのように働きます。新しい問題を宣言する代わりに、古い未解決の問題に最初に取り組みます。


8
「新しい問題を宣言するのではなく、最初に古い問題に取り組みます。」<-特に古い質問が非常に難しい分野では、どちらかと言えば逆のことが当てはまると思います。たとえば、回路の複雑さで働く人は比較的少ないです(おそらく、もっと多くの人がいるでしょう!)。人々は公開するために解決できる問題に取り組む必要があります。これにより、新たに宣言された解決可能な問題の一定のフローが生成されます。
アーロンスターリング

私はそこの言葉遣いで少し急いでいた。圧倒的な理由がない限り、人々は新しいモデルを構築する(そしてその基本的な特性を証明する)よりも、確立されたモデルに固執することが多いと思います。その気持ちは明らかにオフになっているかもしれません。特に、そもそもモデルを狩る人がいます。
ラファエル

さて、ラムダ計算が最初に来ました。しかし、チューリングは、チューリングマシンが計算を行う人間の基本を正確にモデル化することを示しました。これは、等価性を証明するときにラムダ計算でのみ行われました。さらに、この等価性は一次計算にのみ当てはまります。cstheory.stackexchange.com / q / 1117 / 989-高次データは実際には紙上に存在しません。コンピューターの記憶にも存在しませんが、完全にシミュレートできます。
ブレイザーブレード
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.