2SATを解く多項式アルゴリズムに出会いました。すべての(または他の多くの)SATインスタンスがNP-Completeである2SATがPにあることは気が遠くなりました。この問題の違いは何ですか?何がそんなに簡単なのですか(NL-Complete-Pよりも簡単)?
2SATを解く多項式アルゴリズムに出会いました。すべての(または他の多くの)SATインスタンスがNP-Completeである2SATがPにあることは気が遠くなりました。この問題の違いは何ですか?何がそんなに簡単なのですか(NL-Complete-Pよりも簡単)?
回答:
MGwynneの答えの線に沿って、さらに直感的で控えめな説明があります。
で -SAT、あなただけのフォームの意味表現することができます、及びリテラルですが。より正確には、すべての節のは、との含意として理解できます。をtrueに設定た場合、もtrueでなければなりません。あなたが設定した場合 falseに、同様に偽でなければなりません。そのような意味が簡単である:選択の余地がない、あなただけの持っている⇒ B B 2 L 1 ∨ L 2 ¬ L 1 ⇒のL 2 ¬ L 2 ⇒のL 1 B B 1 ¬ のL L Lの¬のLのL可能性として、ケースマルチプリケーションの余地はありません。あなただけのすべての可能な含意チェーンをたどる、とあなたは両方の派生かどうかを確認することができますからおよびから:あなたには、いくつかのために行う場合にはは、2-SAT式は充足不能で、それ以外の場合は充足可能。可能性のある含意チェーンの数が、入力式のサイズで多項式的に制限されている場合です。
で -SAT、フォームの意味表現することができます、、とリテラルですが。これで問題が発生します。a をtrueに設定た場合、またはいずれかがtrueである必要がありますが、どちらが正しいですか 選択する必要があります。2つの可能性があります。ここで、ケースの乗算が可能になり、組み合わせの爆発が発生します。。⇒ Bの∨ C B C BとC
言い換えると、 -SATは複数の可能性の存在を表現できますが、 -SATはそのような能力を持ちません。これは、正確に、複数の可能性(のような存在であるの場合には可能性 -SAT、の場合に可能 NP完全問題の典型的な組合せ爆発を引き起こす-SAT)。2 2 3 k − 1 k
2-SAT式の解決を検討してください。リゾルベントのサイズは最大2です( if場合、長さおよび句の場合であることに注意してください)。サイズ2の節の数は、変数の数で2次です。したがって、解決アルゴリズムはPです。N 、Mの≤ 2 N M
3-SATに到達すると、より大きなリゾルベントを取得できるため、すべてが梨型になります:)。
問題を2-SATに変換してみてください。サイズ3の句を使用できないため、3つの変数またはそれ以上を含む含意を(一般的に)エンコードすることはできません。たとえば、1つの変数は他の2つの変数に対するバイナリ演算の結果です。これは大きな制限です。
Walterが言うように、2-SATの条項には特別な形式があります。これを利用して、ソリューションをすばやく見つけることができます。
実際には、多項式時間で決定できるSATインスタンスのクラスがいくつかあり、2-SATはこれらの扱いやすいクラスの 1つにすぎません。扱いやすさには、3つの広範な理由があります。
(構造的な扱いやすさ)変数がツリーのように相互作用するSATインスタンスのクラスは、多項式時間で解くことができます。多項式の次数は、クラス内のインスタンスの最大幅に依存します。幅は、インスタンスがツリーからどれだけ離れているかを測定します。より正確には、マルクスは、インスタンスがサブモジュラー幅を制限している場合、分割統治アプローチを使用して多項式時間でクラスを決定できることを示しました。
(言語の扱いやすさ)真偽変数のパターンが「nice」であるSATインスタンスのクラスは、多項式時間で解くことができます。より正確には、リテラルのパターンは関係の言語を定義し、シェーファーは、それぞれ独自のアルゴリズムを持つ、扱いやすさをもたらす6つの言語を分類しました。2-SATは、6つのシェーファークラスの1つを形成します。
(ハイブリッドの扱いやすさ)他の2つのカテゴリに分類されないインスタンスのクラスもありますが、他の理由で多項式時間で解決できます。
2SATのアルゴリズムを理解していれば、なぜPに含まれているのかはすでにわかっています。これがまさにアルゴリズムが示すものです。この漫画は私のポイントを示していると思います。すでに2SATがPになっている理由を知っているので、おそらく知りたいのは、2SATがNP困難ではない理由です。
2SATがNP困難ではない理由を理解するには、NPの他の問題を2SATに簡単に軽減できることを考慮する必要があります。これを直感的に理解するには、SATを3SATに減らす方法を見て、SATを2SATに減らすために同じ手法を適用してみてください。2SATは、3SATや他のSATバリアントほど表現力がありません。