言語がチューリング競争であることの明確で完全な証明?


10

HTML5 + CSSが完全なチューリングであることを「証明」することを目的とするWebサイトを見たことがあります。

SQLが完全なチューリングであることを「証明」することを目的とするWebサイトを見たことがあります。

チューリングコンプリートとは何を意味するのかを「説明」するつもりのウェブサイトをたくさん見ました。

足りる!

「この言語XYZは同じ計算能力を持つ計算機を記述することができます。チューリングマシンとして?」


3
それは無意味であるため、専門家はそのような論文を書くつもりはありません。
Andrej Bauer

しかし、それを行う論文があります。準遅延の影響を受けない回路は、構成による証明があるチューリング完全であると考えてください。
Dan D.

2
HTML5 + CSS、SQL、またはPHPがチューリング完全であるという詳細な証拠がある査読済みの論文を見つけたら、私は私の帽子を食べます。
Andrej Bauer

@andrej試してみてください。十分近い?XSLTバージョン2.0はTuring-Complete:A Purely Transformation Based Proofです。多分ちょうどあなたの野菜を食べます:p
vzn '30 / 09/30

また、参照の完全なチューリング言語作るもの、programmers.seを
vzn

回答:


12

2つのカウンター(つまり、2つの任意の大きな整数を格納できる2つのレジスター)を実装できるすべての言語と、これら2つの基本命令のラベル付きシーケンスで作成されたプログラムは、チューリング完全です。C1,C2

  • 、GOTO命令をカウンターするためにを追加し1CiIj
  • SUBTRACTカウンタから場合とGOTO命令。それ以外の場合(場合)GOTO命令1CiCi>0IjCi=0Ik

結果は以下で証明されます:

マービンL.ミンスキー、「チューリングマシンの理論におけるタグのタグおよびその他のトピックの問題の再帰的解決不可能性」(1961)

計算モデル(あなたの場合、プログラミング言語+その言語で書かれたプログラムを実行するデバイス)は、無制限のメモリ(スペース)へのアクセスをサポートするか、または(何らかの形で)任意の大きな整数。実際のコンピューターでのプログラミング言語の実装は、線形制限付きオートマトンと同等です。

RAMモデルRASPモデルに関するウィキペディアのページにも多くの参考文献があります。

最後に、異なる計算モデルの同等性に焦点を当てた素晴らしい本は次のとおりです。

「計算のモデル:計算可能性理論の紹介」、Maribel Fernandez著


「プログラミング言語は、無限メモリへのアクセスをサポートする場合にのみ、チューリング完全であると見なすことができることを忘れないでください」したがって、チューリング完全言語の実装は存在できませんか?これはあなたの結論ですか?それとも、要件が簡単に達成できるため、私たちが使用するすべての言語が完全なチューリング言語であると言いたいですか?現在のところ、両方の結論はあなたの回答から有効です。
Bakuriu 2013


@Bakuriu:実際、この文は少しあいまいです。計算モデルは、何らかの形で無制限のストレージを使用できる場合にのみ、チューリング完了と見なすことができることを意味します。ほとんどのプログラミング言語は、その(構文)仕様では変数またはポインターのサイズに制限がないため、チューリング完全ですが、実装は制限されています。たとえば、Cの<limits.h>を参照してください。したがって、C実装を実行する無制限のメモリを備えたコンピュータを使用している場合でも、言語の一部ではない「追加のメカニズム」を提供しない限り、そのメモリを使用することはできません。
Vor

技術的には、実際のコンピューターでのプログラミング言語の実装は、任意のCSLを受け入れることができないという点で、線形境界オートマトンの真の具体化すらありません...同じ理由で、コンピューターはチューリングマシンと同等ではない、つまり不十分です。メモリ。マシンが状況依存言語を受け入れるために必要なメモリの量はどれくらいですか?あなたが質問を書き留める十分な余地があったならば、あなたがそれを解くことができるだろうとあなたは反対するかもしれませんが、それは私たちがLBAと同等の物理モデルを作ることができないという事実を変えません...{w.ww{0,1}}
Patrick87

3

計算可能性と複雑さの理論について最も広く使用されている2つのテキストは次のとおりです。

マイケルシプサー:計算理論入門、2 / e、Cengage、2005年。

ジョンEホップクロフト; Jeffrey D Ullman:Introduction to Automata Theory、Languages and、and Computation、Addison-Wesley、1979。

形式的な証明なしに計算可能性理論の技術的な詳細を介して動作する素人向けの美しい哲学モノグラフもあります。

ダグラス・ホフスタッター:ゲーデル、エッシャー、バッハ、ベーシックブック、1979。

最後に、計算可能性への最良の入門は、有名な論理学者によるパズル本かもしれません:

Raymond Smullyan:The Lady or the Tiger and Other Logic Puzzles、Penguin、1983。(今では安価なDoverエディション、2009。)

(彼は、ライアーのパラドックスに基づいた一連のパズルから始め、次に、神秘的なロックされたボックスについてのシャーロックホームズスタイルのパズルを装って自己参照ステートメントの構築を進めます。)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.