オラクルチューリングマシンの使用はどのように矛盾を引き起こさないのですか?


9

Oracle Turing Machinesを使用する場合、複雑さのクラスについて健全で有効な発言を継続して行うにはどうすればよいですか?私の理解によると(主題に関する導入教科書で与えられた定義に基づいて)、Oracleチューリングマシンは、1つの計算ステップでOracle言語に関する文字列のメンバーシップステータスを決定できます。ただし、よく使用されるオラクル言語は、一定の時間で解決することはおそらく不可能です(たとえば、EXPTIMEで完全なオラクルを考えてみてください)。私にはこれは矛盾に「扉を開く」ようなもので、結局のところ、矛盾から何でも起こります。


2
オラクルが「本当に」時間費やした場合、それはマシン全体のランタイムの要因にすぎません。一定のコスト(つまり、オラクルを必要とする頻度を数える)を想定すると、オラクルを使用するアルゴリズムの比較が容易になります。(得られた結果に実際に関連性があるかどうかの問題は、TCSで常に直面するか、無視される問題です。)T
Raphael

@Raphael括弧内のコメントの「あなた」とは、一般に複雑性理論家、特に私を意味しますか?
Ari

前者。まあ、両方とも、ある意味で。
ラファエル

高度なトピック。時々「誤用」されることに同意し、その地域を調査するFortnowから始めてみてください。これらの結果を確認するための自己矛盾のない方法は、「条件付き」アサーションのようなものです。リーマン仮説などに基づいて、多くの結果が数学的に条件付きで証明される方法と同様に
vzn

回答:


8

これを見るにはいくつかの方法があります。

1つは、証明において、含意は関数のようなものであり、何かの証明を入力として受け取り、別の証明を出力することです。

持っていない値を操作する関数を書くことができます。

たとえば、計算できない停止数考えてみましょう。関数を書くことができますh

haltingPlusOne:{h}N

haltingPlusOne(x)=x+1

この関数は、停止番号を入力として受け取り、停止番号に1を加えた値を返します。明らかにこれは明確に定義された関数です。適切な入力を与えると、適切な出力が得られます。正しい入力を見つけることができないという事実は、変換の有効性を低下させることにはなりません。

私はオラクルの証明も同様です。これらは基本的には関数であり、問題を解決するTuringマシンを提供し、出力としていくつかの定理の証明を提供します。X

また、「停止の問題を決定できるチューリングマシンはありません」というようなことを言うと、停止の問題を決定するTMの標準定義に一致するTMがないことを理解することも重要です。

オラクルは基本的に「通常の定義と一致するTMがあると仮定しますが、問題を解決できると仮定します」と述べています。したがって、矛盾はありません。問題を受け入れる通常のTMがあるとは想定していないので、問題を受け入れる特別なTMがあると想定しています。

非常に非公式な類推では、次のように考えます。超能力のない人間が飛べないことをあなたに証明できれば、飛べるスーパーヒーローがいると言っても矛盾はありません。

これらのオラクルは純粋に論理的なオブジェクトです。それらをエミュレートする物理マシンを構築する方法、チューリングマシンで可能な方法はわかりませんが、私たちが知る限り、それらの定義と基本的な公理との間に本質的な矛盾はありません。論理オブジェクトとして、これらのオラクルは存在します。私たちは、それらが標準のチューリングマシンやラムダ計算の項や部分再帰関数ではないことを知っています。Church-Turingの論文によると、これ以上強力なモデルはありませんが、それは定理ではなく、単なる推測であり、非公式すぎて実際に証明することはできません。


私はあなたの答えに同意/理解しますが、特定のポイントまでのみです。たとえば、あなたのhaltingPlusOne関数は明確に定義されていますが、オラクルから意味のある結論を導き出す方法はわかりません。 「if」ステートメントは偽のステートメントであり、任意の結論に達します。つまり、「、すべての自然数場合、自然数は1つだけです。」、N 1n+1=nn1
Ari

1
問題は、ステートメントは偽ではなく、構築できないことです。重要なのは、オラクルはチューリングマシンではないということです。それは、それらが存在しないという意味ではありません。
jmite 2014

"正しい入力を見つける" "正しい出力を見つける"?

2

まあ、私は彼らが解決するのが難しいオラクルにアクセスできることがオラクルTMの本質的な特徴であると私は言うでしょう。あなたはオラクル決めることができた場合は一定の時間で、その後、すべてのクラスのために君が持っているでしょう。では、なぜこの場合にオラクルを使うのでしょうか?B B = B AABB=BA

では、Oracle TMを使用する意味は何ですか?問題の(程度)についての理論的な考察が主に可能になると思います。神託は決定不可能でさえあり得る。この場合、決定不能な問題(チューリング度)の階層全体を定義できます。もちろん、オラクルが停止問題である場合、オラクルTMを従来のTMに変換することはできません。

oracle TMの概念は、強力な形式の削減(Turing削減)を定義する場合にも重要です。

オラクルTMのより理論的な動機付けは、オラクルの世界以外にも影響を与える可能性があることに注意してください。有名なと相対化結果を知っているかもしれません。N PPNP

最後の注意点として、Oracleをクエリするには、まずOracleテープにクエリ文字列を書き込む必要があります。したがって、一定の時間内にメンバーシップを決定することはできませんが、時間内に。| w |w|w|

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