NPをcoNPから分離するオラクル


12

あることを証明するには?このようなOracle TM Mと、これが成り立つ再帰言語L M = Lを探しています。NPAcoNPAML(M)=L

私は、Oracleがあることを示す証拠を知っている、このようなP AN P AとOracle A、このようなP A = N P Aを。私はP AN P Aの証明を拡張することでそのような神託Aを見つけなければならないというヒントを持っていますが、どこで検索して読んだとしても、それはどこでも「明白」または「まっすぐ」ですが、それを証明する方法がまったくわかりません。APANPAAPA=NPAAPANPA


6
ヒントをフォローアップしたかどうかは明確ではありません。が明らかであると聞いて驚きましたが、(たとえば)計算の複雑さ:アロラとバラクによる現代のアプローチでその証拠を見つけることができます。PANPA

回答:


9

マックスは変更が難しいことではありません言ったように、私はあなたがもう少しこの回答の残りの部分を読んで、問題について考えていないことを示唆し、修正を必要とする場合の定義を思い出し一部だけが存在し machine acceptsは、その部分を修正するのに役立ちます。coNP

以下に必要な変更について説明しますが、最初に元の証明について簡単に説明します。

元の証明でステップの手順で構築されているIていることを確認してくださいとに番目機械PM iは、言語を決定しない{ X | Y Aを| x | = | y | }正しく。セットはN P Aにあることに注意してください。A=nAniiPMi{xyA |x|=|y|}NPA

これは、mが十分に大きい0 mで構築したAの部分を使用してをシミュレートすることで実現します(文字列は前の手順で検討した文字列よりも長い)。Mは、私はそれは私たちが長さの文字列を追加し拒否した場合、私たちは、何も追加しない、受け入れメートルというM iのセットにクエリを(長さの指数関数的に多くの文字列があるので、このような文字列が存在することはありませんが、Mが、M 、私は多項式時間でそれらすべてについて質問することはできません)。将来のステップでAのこの部分を変更しません(つまり、長さmの文字列MiA0mmMimMimMiAm以下は変わりません)。これは、ことを確認します正しく言語を決定せず、証明を完了します。MiA

さて、マシンがあることを前提としていたC O N Pの代わりに、PM A iLを認識しないように、証明を修正する必要があります。受け入れている場合は、以前のようにAを保持し、すべてが元の証明のように正常に機能します。拒否された場合は、セットに文字列を追加して、正しく応答しないことを確認する必要があります。まだAの一部でM iをシミュレートできます。問題は、M iが長さnのすべての文字列を照会する可能性があることです。ここでは道のC OMicoNPPMiALAMiAMinマシンの動作が重要になります。すべての計算パスが受け入れられる場合にのみ受け入れます。この場合は拒否されているため、拒否されている計算パスがあります。このパスをそのまま維持する限り、すべてが機能するため、そのパスのクエリに対する回答を同じままにするだけで済みます。このパスのクエリの数は多項式です(マシンは多項式時間で実行されるため)。パスがクエリしない長さ mの文字列があり、そのうちの1つを Aに追加するだけで、残りの証明は次のように機能します。前。coNPmA

手順は、設定されたので、アルゴリズムである再帰的(構造の必須部分が言うに行うことができるマシンをシミュレートすることができるさD SがPをA 、C 、EN ω 1 )。ADSpace(nω(1))


3

また、Christos PapadimitriouによるテキストComputational Complexityを参照することもできます。具体的には、第14章、オラクルを掘り下げるセクション3。たとえば、一部のオラクルAおよびBのおよびP BN P Bの証明が詳細に提供されており、主な問題に役立つ場合があります。お役に立てば幸いです。PA=NPAPBNPBAB

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