チューリング完全性ウィキペディア

before-content-x4

チューリングの完全性 彼の普遍的なプログラミングについて説明します。形容詞形式の場合 チューリング 多くの場合も同義です チューリングパワフル 使用済み。この名前は、ユニバーサルチューリングマシンのモデルを導入した英国の数学者アランチューリングに由来しています。 [初め] [2]

after-content-x4

正確に表現されたチューリングの完全性は、普遍的なチューリングマシンが計算できるすべての機能を計算できるように、計算理論のプログラミング言語または別の論理システムの特性を説明しています。言い換えれば、システムとユニバーサルチューリングマシンは互いにエミュレートできます。この用語が特徴付けられる前に、カート・ゲーデルの最初の数学的形式主義は、1931年の不完全性の刑に関する彼の研究で掲載されました。

このようなマシンは物理的に不可能ですが、無制限のストレージスペースが必要なため、一般的なプログラミング言語と普遍的なコンピューターは、無制限のメモリがあればチューリングフューチと呼ばれます。この意味で、1930年代にチャールズ・バベッジによって設計された分析エンジンは、この意味でチューリングの完全性を持っていたでしょう、それはこれまでに構築されていたでしょう。 [3]

Zuse Z3は1941年に建設されましたが、チューリングでは構築されておらず、使用されませんでした。 [4] 1998年にRaúlRojasが発見したように、彼女はまだ2つのトリック(右手が制限され、穴のストリップを接着する)について非常に遅いですが、非常に遅くなります。 [5]

1954年、ハンス・エルメスは、最初の1つとして、フォン・ノイマンの着色機のチューリング完全性の公開された証拠、つまり実際に実現したコンピューターからの公開されました。すべての最新のコンピューターは、より広いチューリングの感覚にもあります。

チューリングファクトレートのマシンは、あらゆる計算を行うことができます どれでも コンピューターを実行したり、実行したりできるため、 普遍的にプログラム可能 専用。ただし、これは、そのようなマシンに特定のプログラムを実装する努力についても、実行にも必要とされる時間にわたって声明を発表するものではありません。

予測可能性の理論は、特にチューリングマシンを使用して、マシンの助けを借りて問題を解決できるものを扱います。

一般的なプログラミング言語はチューリングです。一部の著者は、チューリングの完全性に基づいて「プログラミング言語」という用語を定義しています。 [6] これには、Cなどの従来の手続き言語やC ++やJavaなどのオブジェクト指向言語が含まれます。 LISPやHaskellなどの機能的なプログラミング言語や、Prologueなどのロジックプログラミングの言語を含む、あまり一般的ではないパラダイムの後に設計された言語もチューリングです。ミニマリストのプログラミング言語はGOTOであり、チューリングの理論を実行することもできます。

after-content-x4

非耕作言語の例を見つけることは困難です。なぜなら、それらは非常に限られているため、非常に限られており、機能性と構造言語、および純粋にプロセス指向の人々の言語を最初から考慮していないからです。頻繁に議論される例は、Webサイトのプレゼンテーションのための賞の言語であるHTMLなどのSGML方言とデリバティブです。この構造言語は、指定されたすべての属性を使用する際に、プロセスの普遍的な説明を確実に保つことができます。リレーショナルの助けを借りて、時間の短縮制御または時間シーケンスについても説明することができます。必要なインストゥルメンタルのものはすべて、音の宝物で利用できます。一連のチューリング優秀言語への入場に対する唯一の障害は、HTML自体がアクティブではないという事実を表しています。などのアクティブコンポーネントに加えてのみB. JavaScript、または実行するWebブラウザー、制御可能性と迫害の時間的および階層的依存関係。

このようなシステムで複雑な操作を実行することは可能ですが、ループのないスプレッドシート内の一連の式はチューリングではありません。対照的に、z。 B. Microsoft Excelのプログラミング言語VBA。

主にパターンマッチングに使用されているプログラミング言語、編集者、またはシステムツール(GREPなど)の正規表現は、参照の逆のようなコンストラクトに関する正規表現の多くの実装であっても、チューリングではありません。 後方 )有限マシンでは生成できなくなりました。

リレーショナル代数は、その中に移植シェルを形成することが不可能なため、チューリングファッケではありません。さらに、リレーショナル代数には粉砕がありません。

チューリング – フルフィルはμ回復的な機能です(したがって、指定も来ます 再帰 決定的な量の場合)。

未処理のラムダ計算はチューリングですが、システムFを含む多くのタイプの計算機はそうではありません。タイプコントロールシステムの利点は、ほとんどの典型的なコンピュータープログラムを提示するオプションですが、より多くのエラーを発見できることです。

予測可能性の理論からの重要な結論は、特定のチューリング固有のプログラミング言語で記述されたプログラムについて、有限の時間内に崩壊するか、永遠にループに残るかにかかわらず、アルゴリズムを発言できることはないということです(停止問題を参照)。この問題を回避する1つの方法は、一定期間後にプログラムフローをキャンセルするか、制御命令の厚さを減らすことです。しかし、そのようなシステムは信仰ではないと厳密に考えられています。この結果はzでした。 B. Landweberから派生。

別の定理は、予測可能性の理論から来ています。有限ループのみを提供するマシン(ループや同等の原始再転用関数など)を使用すると、各プログラムがある時点で継続することが保証されています。ただし、このマシンでは、チューリングマシンによって解決できるすべての問題を解決できるわけではありません。 B.アッカーマン関数。

  • ウォルター・S・ブレーナード、ローレンス・H・ランドウェーバー: 計算理論。 ワイリー、ニューヨークのu。 a。 1974、ISBN 0-471-09585-0。
  1. アランチューリング: 計算可能な数字について、entscheidungsproblemへのアプリケーションを使用して 。の: ロンドン数学協会の議事録 。バンドS2-42、 いいえ。 初め 、1937年、 S. 230–265 、doi: 10.1112/PLMS/S2-42.1.230 PDF )。
  2. アランチューリング: 計算可能な数字で、entscheidungsproblemへのアプリケーションを使用します。修正 。の: ロンドン数学協会の議事録 。バンドS2-43、 いいえ。 初め 、1938年、 S. 544–546 、doi: 10.1112/PLMS/S2-42.1.230 PDF )。
  3. J. Fuegi、J。Francis: Lovelace&Babbageと1843年の「メモ」の作成 。の: コンピューティングの歴史の年代記 バンド 25 いいえ。 4 。 IEEE、2003年10月、ISSN 1058-6180 S. 16–26 、doi: 10.1109/MAHC.2003.1253887
  4. ラウル・ロハス: Konrad Zuseの遺産:Z1とZ3のアーキテクチャ 。の: IEEEコンピューティングの歴史の年代記号 バンド 19 いいえ。 2 、1997年、ISSN 1058-6180 S. 5–16 PDF )。
  5. ラウル・ロハス: ZuseのZ3をユニバーサルコンピューターにする方法 。の: コンピューティングの歴史の年代記 バンド 20 いいえ。 3 。 IEEE、1998、ISSN 1058-6180 S. 51–54 、doi: 10.1109/85.707574 PDFスキャン PDF HTML )。
  6. たとえば、ブルース・マクレナン: プログラミング言語の原則 。オックスフォード大学出版局、ニューヨーク1999、ISBN 0-19-511306-3、 S. 初め
after-content-x4