NPの欠陥= CoNP証明?


12

NP = CoNPのこの非常に単純な「証明」があり、どこかで間違ったことをしたと思いますが、何が間違っているのかわかりません。誰か助けてくれますか?

AをNPの問題とし、MをAの決定者とします。Bを補数にします。つまり、BはCoNPにあります。Mは決定者であるため、これを使用してBも決定できます(答えを反転させるだけです)。これは、NPとCoNPの両方の問題を同じMで解決するという意味ではありませんか?

もっと具体的に言うと。

AをNP完全問題とし、MをAの決定者とします。CoNPの問題Bを検討します。NPにある補数not-Bを考慮し、Aへの多項式簡約を取得します。次に、ディサイダーMを実行し、答えを反転します。したがって、Bの決定子を取得します。これは、BもNPにあることを意味します。

私の推論の何が悪いのか知っていますか?


2
以下の回答で詳しく説明しているように、「決定」という概念を正しく使用していません。coNPの問題は、「反転NP決定子」の問題ではありません。NP問題には、入力の受け入れ(「受け入れにつながる非決定的な選択があります」)と拒否(「すべての非決定的な選択が拒否につながる」)の間に重要な非対称性があります。あなたの議論は、NPが文字列を拒否することは「拒否につながる非決定的な選択がある」ことを意味し、それが欠陥であると仮定しています。つまり、量指定子が混同されました。
アンドレイバウアー

1
この質問に対する答えが啓発されるかもしれません。
ラファエル

@Raphael驚いたことに、その質問はco-NPについてはまったく言及していません!(この種のことを確信していない人にとっては有益な読み物であることに同意します。)
デビッドリチャービー

@DavidRicherby答えは基本的に「欠陥のある直観の代わりにNP の定義を使用する」ことので、そうすることを望みます。
ラファエル

1
経験則:「最終状態の反転」構造は、確定的モデルに対してのみ機能します。NFAがその理由を理解するのにどのように失敗するかを研究してください。こちらこちらご覧ください
ラファエル

回答:


16

この証明には2つのバグが考えられます。

  1. 「決定」と言うときは、決定論的なTMを意味します。この場合、決定論マシンにNPマシンから(我々の知識に)最高の翻訳は機械をもたらすかもしれない指数時間で実行し、そのことを証明し、あなたが指数時間に補完のための決定器を持つことになります補完後の(または、いくつかの最適化の後、C O - N P P S P A C E)。coNPEXPcoNPPSPACE

  2. 「決定」と言うときは、非決定的TMを意味します。この場合、答えを反転しても必ずしも言語を補完するとは限りません。実際、反転されたマシンの言語は、上の拒否実行が存在するすべての単語になります。wMw


なぜそれが重要なのか分かりません。決定者の私の定義は、入力がLにある場合は受け入れ、入力がLにない場合は拒否することです。この決定者は決定論的または非決定論的です。ただし、LはNPにあると言うので、非決定的なTMを使用している場合は多項式時間を使用します。また、ビットの反転が必ずしも言語を補完しない理由を知っているかもしれません。私の知る限り、CoNP = {L | L \ in NPではありません}。したがって、ビットを反転すると、答えを取得する必要がありますか?

してみましょう。次のように機能する非決定的なTMを考えてみましょう-1回の実行で、常に「拒否」を出力します。他の実験では、認識L(以降可能多項式時間内にL N P)。あなたが少しを反転するとどうなるか考えてみましょう-補数マシンが認識するように拒否の実行は、すべての入力を受け入れることになりΣを* - しない限り、補完されていないL = 。これを完全に理解するために、非決定性の定義を注意深く確認することをお勧めします。LNPLLNPΣL=
ショール

すべての計算パスのビットを反転させるわけではありません。つまり、TMが受け入れた場合、これは受け入れ状態に達する計算パスが存在することを意味します。これは、LがNPにあること、つまり補数がcoNPにあることを意味します。TMが拒否する場合、これはすべての計算パスが拒否することを意味します。これは、補数がNPにあることを意味します。つまり、LはCoNPにあります。

4
@simpleton:NTMは一度にすべてのパスにアクセスするのではなく、1つのパスにしかアクセスできないことを知っていますか?あなたは、外部からNTMの動作を決定論的に分析する誰かと考えています。
frafl

7
私は、NPの定義をより注意深く調べることで、OPが恩恵を受けると思います。
MCH

15

ここに、「決定者」に関してShaullが指摘したポイントを見る別の方法があります。

問題はであるNPアルゴリズムが存在する場合にのみあればとなるようV:{0,1}n×{0,1}poly(n){0,1}

  • すべてのYESインスタンスの、証明書があるP { 0 1 } 、P O のL YN ようにV X P = 1。そしてx{0,1}np{0,1}poly(n)V(x,p)=1

  • すべてのNOインスタンスの、我々は、V X P = 0のすべてのためのp { 0 1 } 、P O のL YN x{0,1}nV(x,p)=0p{0,1}poly(n)

これらは通常、NP検証アルゴリズムの完全健全性の条件として記述されます。「完全性」条件はすべての YESインスタンスに証明書があることを示し、「健全性」条件はアルゴリズムがNOインスタンスにだまされないことを示します。CONPそこに任意のNOインスタンスのための少なくとも1つの証明書を受け入れる検証アルゴリズムがあるが、これはYESインスタンスによってだまされることはありません:それは周りの他の方法です。

あなたがいることを示したい場合はNPCONPを、あなたはすべてのことを示さなければならないNPの問題がありCONP型検証、NOインスタンスの代わりに、YESインスタンスを証明することができました。非決定的チューリングマシンではこれを行うことはできません。たとえば、SATのインスタンスを相互に効率的にマッピングする方法はありません。たとえば、すべての不満足な式が充足可能な式にマップされ、その逆も同様です。。(たとえば、式の出力を否定するだけでは十分ではありません:満足できるがトートロジーではない式は、満足できないがトートロジーではない別の式にマップされるだけで、代わりに不満足な式が必要な場合)パスを拒否するすべてのパスのようなものを検出するために、非決定的なマシンを「だます」ことを知る方法はまったくありません。

「非決定論的なチューリングマシンは、どのような結果が得られるのかわかりませんか?」答えは「いいえ」で、そうではありません。非決定的マシンの動作は、複数の計算パスに関する情報に一度にアクセスすることはありません:多くのパスで並行して動作していると考えるかもしれませんが、各パス内ではその1つのパスについてのみ知っています。何らかの点でソリューションがあるかどうかを「実現」する機能を装備しようとすると、代わりに、単純な非決定的チューリングマシンよりも強力な(潜在的に!)NP oracle 使用してマシン記述します。

  • あなたが(決定)チューリングマシンを装備する場合例えば、NPの神託、そのマシン上の多項式時間で解くことができる問題が呼ばれる頻繁に書き込まれ、P N Pを。「oracle」を使用すると、マシンはNP完全問題に対する回答を1ステップで簡単に受け取ることができるため、P N Pには明らかにPが含まれます。また、答えを否定できるため、明らかにcoNPが含まれています。しかし、非確定的なチューリングマシンをだましてNO応答を検出する方法がわからないため、逆包含が保持されるかどうかはわかりません。Δ2PPNPPNP

  • あなたが与える場合は多くはである何、非決定性チューリングマシンに問題の結果に関する実現に来る能力NPを、問題そのマシンは多項式時間で解くことができますが呼び出されます、またはN P N P、およびこのは、クラスP N Pよりも厳密に大きいと広く信じられています。また、これは、両方が含まNPおよびCONPを -しかし、同じようNP、それを補完下で閉じされることが知られていない:非決定性Oracleマシンを知ることができるかもしれないときに問題がNPΣ2PNPNPPNPオラクルのためにNOの答えがありますが、それ自体の(非常に強力な)計算ブランチの1つで動作することに固執するため、独自の計算ブランチのすべてが拒否されているかどうかを知ることができません。

あなたが問題を解決するためのより強力な神託を持つマシンを供給し続ける場合はN P N Pなど、及び、あなたはのクラス定義終わる多項式階層から互いに全て異なることと考えられています、最初のレベル以降。NPNPNP

したがって、いや、オラクルを使用しない限り、問題がYESまたはNOインスタンスであると単純に「決定」できるマシン(決定論的またはその他)はありません。しかし、そのようなオラクルを使用しても、NPまたはcoNPよりも(おそらく)より強力なマシンになります。それらが同等であることを示すマシンではありません。


こんにちは、コメントしてくれたShauliに感謝します。NTMはポリタイムでNP言語を認識できますが、ポリタイムでNP言語を決定できないと言っていますか?私がNP問題の決定者を持っていると言うとき、それが私が仮定していることだと思います。
シンプトン

2
ああ、私はあなたが何を意味しているのかを理解していると思います。私はオラクルの減少を使用して、問題がであることをその実際を示していますと言っている(真であるので、N P P N PC O N P P N P)?オラクルの削減ショーUNSATはNP困難であるが、私はまだそれを示すために必要があるとU N S A T N P、と私はそれを表示することはできませんか?PNPNPPNPCoNPPNPUNSATNP
シンプトン

5
NPの硬さは、オラクルの削減ではなく、多対一の削減で定義されます。
ユヴァルフィルマス

6

あなたの推論はRE = coREを意味しますが、これは間違いなく間違っています。その証拠を見つけて、削減が失敗する場所を確認してみてください。

REは再帰的に列挙可能な言語の複雑度クラスであり、という形式の言語であることを思い出してください。あなたはまた、非決定論的に考えることができ:REは、フォームの言語のクラスである{ X X W L "  いくつかのため  のw }Lは(計算)再帰的です。{x:P halts on input x}{x:(x,w)L for some w}L

以下は、両方の定義が一致する証拠です。最初の仮定。ましょL ' = { X W p個の 入力に停止  X  における  W  の手順を}。言語Lは、'再帰的でありL = { X X W L '  一部のため  のw }L={x:p halts on input x}L={(x,w):p halts on input x in w steps}LL={x:(x,w)L for some w}

他の方向について、聞かせてLは再帰的である、プログラムによって計算言うP X W 。私たちは、新しいプログラムの構築Q X 可能なすべてを列挙wをして走るP X W すべてにワットためには、。もしP X WL={x:(x,w)L for some w}LP(x,w)Q(x)wP(x,w)wwを受け入れると、 Qは停止します。そのチェックするのは難しいではない L = { X Qの 入力に停止  Xを}P(x,w)wQL={x:Q halts on input x}

便宜上、REがcoREと異なることの証明の概要を以下に示します。言語は明らかに再帰的に列挙可能です:そのためのプログラムは単にxでPを実行します。プログラムがあったと仮定HようにH P X 停止場合にのみP X LはG x =によって新しいプログラムGを定義しますL={(P,x):P halts on input x}PxHH(P,x)(P,x)LG。であるG G L?もしそうであれば、 Gの上の停止 Gので、 Hの上で停止G G ので、G G L。もしG G Lは、 Gは上で停止しない Gように、 Hは、上で停止しないG G G(x)=H(x,x)(G,G)LGGH(G,G)(G,G)L(G,G)LGGH(G,G)ので、。この矛盾は、Hが存在できないことを示しています。(G,G)LH

この場合、プルーフを実行して、何が問題なのかを確認してください。より詳細には、レシピを使用してプログラムを作成し、その証明に従ってください。ある時点で、何かが正しくない場合があります。H


2

これはTL; DRバージョンです。同様の質問に対するより長い回答も投稿しました

非決定性チューリングマシンMによって多項式時間で決定され  た言語があるとします。点は、X A IFFがMが  有するいくつかの入力に受け入れ経路  Xを。ただし、M  は非決定的であるため、xで実行されるときにパスを拒否する場合もあります。 AMxAMxMx。受け入れ状態と拒否状態を逆にすると、いくつかの受け入れパスといくつかの拒否パスを持つマシンから、いくつかの拒否パスといくつかの受け入れパスを持つマシンに移動します。つまり、受け入れパスがまだあるため、受け入れられます。一般に、非決定的マシンの受け入れ状態と拒否状態を反転しても、補語は受け入れられません。

これは、(あれば受け入れる定義のこの非対称性である任意のパスを受け入れる;場合にのみ拒否し、すべてのパスは拒否)を行うことNP VS 共同NP問題は難しいです。


-2

私は実際、あなたの非決定論的マシンMが与えられた入力文字列がBにあるかどうかを決定できることに同意します。しかし、与えられた入力がAにあるかどうかを決定する方法とは少し異なる「決定」を行います。非決定論的に)受け入れ状態を見つける。前者の場合、受け入れ状態を見つけることができないため、そうなります。なぜこの違いが重要なのですか?どれどれ:

Mに「言語はAの文字列ですか?」

Mは受け入れ状態になります。これは、証明することができます(たとえば、Sipserの本の定理7.20を参照)は、多項式時間で文字列がAにあることを検証する決定論的なマシンがあることを意味します

Mに「言語はBの文字列ですか?」

Mは、非決定的計算のすべてのブランチで拒否状態に達します。上記の検証者の証明がどのように機能するかを考えると、この状況では達成できないことがわかります。これは、検証者がMがその状態空間を「証明」としてたどるパスを使用するためです。この場合、そのようなパスはありません。

結論:

言語の多項式時間決定的検証子の存在をNP言語の定義であると考える場合(これが必要です)、Mの存在はBがNPにあることを証明しません。


1
の存在 M それを証明しません BNPにあるのは、この「奇妙な」受け入れ基準を使用して「受け入れる」必要があるからです。BNPは、従来の非決定的許容基準によって定義されます。(受け入れ基準は少し奇妙です。なぜなら、質問は、Mしかし、あなたはそれを行っていないようです。)
デビッドリチャービー14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.