チューリングマシンの標準定義


7

私は「オートマトンと形式言語理論」に関する2つの有名な本に従ってきました。

  1. Micheal Sipserの本
  2. ジェフリー・ウルマンとジョン・ホップクロフトの本

どちらの書籍でも、チューリングマシンのタプルレベルの定義は互いに異なります。抽象レベルの動作は同じですが、詳細は異なります。なぜ標準的な定義がないのですか?他のいくつかの本でさえ、チューリング機械を異なる方法で説明しています。

これらのマシンで同じアルゴリズムの時間の複雑さを測定しようとすると、正確な時間も異なります。著者/科学者が1つの標準的な定義に同意していないのはなぜですか?


2
数学的な定義にはいくつかの種類があります。あなたはあなたのお気に入りを選ぶことができます、そしてそれは良いことです。すべてが明確に述べられている限り、誰も怪我をしません。
アンドレ・ソウザ・レモス

AndréSouza Lemosに同意します。さらに、定義が同じでない場合、別の名前を選択できると主張することもできます。確かに、エッセンス/アクシデント理論(en.wikipedia.org/wiki/Essence)との関連性があると思います。2つの定義の違いは無意味であり、各定義で意味のあるものは他の定義にもあると考えることができるので、同じ名前を保持するのは正常です。
フランソワ

defnsを書き出し、それらがどのように「異なる」かを詳しく説明した方がよいでしょう。基本的な答えは、それらはすべてチューリングと同等であり、速度の違いは「重要でない」P(多項式)時間の差の範囲内であるということです。
vzn 2015年

回答:


12

チューリングマシンの定義の詳細を使用することは一般的ではないため、標準的な定義はありません。数学の他の定義とは対照的に、チューリングマシンは複雑なオブジェクトであり、その定義を直接使用するのは面倒です。代わりに、Church–Turing仮説を呼び出して、タプルを一覧表示するのではなく、アルゴリズムを提供することでTuringマシンを説明します。この時点では、チューリングマシンの正確な定義は重要ではありません。

他のケースでも同様の状況が発生します。そのうちの2つについて説明ます。番号システム強制です。

数体系、特に実数は、いくつかの異なる構造を持っています。実数の構造を含む本を見ると、異なる構造、場合によっては非常に異なる構造(たとえば、Dedekindカットとコーシーシーケンス)が表示される可能性があります。ただし、ユーザーの観点からは、構築する実数が完全かつアルキメデスであるだけでなく、フィールド公理を満たすことも重要です(これらの用語の正確な意味は重要ではありません)。実際の基本的な定義を使用することはほとんどありません。

強制は集合論における重要な証明手法です。強制はいくつかの異なる方法で定義できますが、最も一般的なのは強制関係とブール値モデルです。(あまり一般的ではないものはモーダルロジックです。)これらのメソッドはすべて同等ですが、正式な開発は多少異なる場合があります。これらの方法はすべて集合論で同じ証明につながりますが、「公式」な証明はありません。集合理論の教科書やコースでどちらを提示するかは、個人の好みによって異なります。

正確なリソース消費に関心がある場合、たとえば、特定の問題を解決するために必要な手順の数は、チューリングマシンの正確な定義が重要になります。チューリングマシンのすべての合理的な定義は、定数係数まで同じ実行時間になります。通常、定数係数自体は気にしないため、正確な定義は重要ではなく、同じ結果が得られます。

Church-Turing仮説が使用できない他の定理を証明するときにも同じ状況が発生します。たとえば、SATがNP完全であるというクックの定理を証明する場合、チューリングマシンの定義を実際に参照する必要があります。しかし、この構造は、ほとんど同じように、さまざまな定義で機能します。他のバリアントを使用すると、わずかに異なるが有効な証明になることがわかっているため、任意に1つの定義を選択し、それに固執します。



5

これは頻繁に発生します。たとえば、有限オートマトンにはいくつかの定義があります。

通常、計算モデル(およびTCS)に関心のある2つの点があります。

  1. 計算能力と
  2. コスト対策。

1.が同じで、2。がわずかに異なる場合(複雑性理論家は、多項式/多対数/定数/ ...係数によって言う)、(ほぼ)同等の定義を切り替えることができます。

モデルが正式に定義されていれば、条件は正式に証明できます。これは、これを行うための実例となる演習かもしれません。

では、なぜ異なる定義があるのでしょうか?なぜなら、どちらか一方の証明の方が簡単かもしれないし、どちらか一方の概念がより適切に記述されているからです。したがって、コース/本の目標、トピックの選択、作者の教訓的なアプローチと好みによって、ある定義が別の定義よりもうまく機能する場合があります。


5

私は他の答えとは少し異なるアプローチをとることを試み、特に標準化の問題を調べます。

この状況について不思議に思うのは少し意外です。Hopcroft-Ullmanの本(私は1979年版を使用しています)は、プッシュダウンオートマトン(PDA)の2つの定義を示しています。最終状態または空のスタックによる受け入れです。

チューリングマシン(TM)の構築手法に関するセクション(1979年版のセクション7.4)を読むと、次のように明記されています。

状態の完全なセットと次の移動関数を書き出すことによるチューリングマシンの設計は、非常にやりがいのある作業です。複雑なチューリング機械の構造を説明するには、いくつかの「より高レベルの」概念ツールが必要です。

このセクションの残りの部分と次のセクションでは、TMの定義のさまざまなバリエーションを示し、定義を拡張または制限して、すべて同等のものを示します。

重要なのは、目前の問題ごとに、その問題を解決するのに最適な定義を1つ選択するということです。もちろん、これらの定義のそれぞれは、原則として行うことができます。ただし、問題によっては、一部の定義によって特定の問題がより明確になり、証明が容易になります。

文脈自由(CF)言語と文法の場合を考慮すると、チョムスキー正規形、グレイバッハ正規形、バイナリー形式など、定義されている多くの正規形があります。すべてが任意のCF言語を生成でき、それらはCF文法定義のバリエーションと見なすことができます。それぞれが何らかのコンテキストで果たす役割として、それらを共存させるのは良いことです。それらは相互翻訳可能ですが、コストがかかります。

CF解析のコスト/複雑さを分析しようとした場合、それらは同等ではなく、これは考慮に入れられます。この複雑さの問題は、TMの場合よりもCFの場合の方がはるかに重要です。これは、CFパーサーはエンジニアリングの状況でよく使用され、TMは純粋に理論上のツールであるためです。これは、CF解析を使用するエンジニアが、さまざまな問題を考慮に入れるために、調整された方法で同じ言語のさまざまな文法形式を使用することを妨げません。

CF言語の場合、それは重要なエンジニアリングの問題になる可能性があるため、レンチのサイズまたは電線の直径と同じくらいCFグラマーとそのさまざまな形式が正規化/ 標準化されることが予想されました。実際には、CF文法を書くための正確な構文であるバッカスナウルフォーム(BNF)を定義することまで行っています。

TMには、正規化を正当化するエンジニアリングアプリケーションがほとんどなく、潜在的な変動性がはるかに大きくなります(ただし、マルチテープ、マルチヘッドなどの主要な変動を考慮することで部分的に考慮されます)。これは、標準的な形式を採用する圧力がほとんどなかったことを説明します。それらを使用する数学者は、動きの数を正確に数えるなど、違いを生み出すことができるときに注意する技術的に十分成熟しているはずだからです。複雑さについても、漸近的な複雑さだけを考慮し、多くの場合多項式関数までの漸近的な複雑さを考慮するので、定義の小さな変動はしばしば問題ではありません。

数学では(他の科学の中でも)、作者が好み(アプリケーションの見方、問題の構造のビジョン)に応じて、同等(またはほとんどのコンテキストでは同等)であることがわかっている異なる定義を選択することがよくあります。問題についての知識が深まるにつれて、また見方が変化するにつれて、定義も時間とともに進化します。表記についても同様です。この変動性は、進歩と理解の重要な情報源です。ギリシャ人は優れた数学を行っていましたが、現代の概念(例:変数)、定義、および表記法を使用する方がはるかに簡単です。

標準は非常に便利であるとしばしば見なされます(レンチとワイヤーの直径を参照)。しかし、それらはまた、進歩を妨げる硬直性の要因にもなります。標準化は両刃の剣なので、安全のために少し鈍くする必要があります。通常、さまざまな定義はまったく同じではありませんが、理論が同じように多かれ少なかれ発展できるように十分に近いです。

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