Pに2SATがあるのはなぜですか?


55

2SATを解く多項式アルゴリズムに出会いました。すべての(または他の多くの)SATインスタンスがNP-Completeである2SATがPにあることは気が遠くなりました。この問題の違いは何ですか?何がそんなに簡単なのですか(NL-Complete-Pよりも簡単)?


18
なぜ人々はこれがそんなに悪い質問だと思うのですか?
ピーターショー

12
1つの興味深い側面は、2SAT式(つまりMax2SAT)で同時に満たせる節の最大数を知りたい場合、再びNP完全に戻るということです。
ショーンハーカー

11
これは、役に立つ答えがないため恐ろしい質問か、「誰も知らない」だけが正しい答えであるため、素晴らしい質問です。
ジェフ

12
「充足可能性の問題の複雑さ:シェーファーの定理の洗練」という論文を読んでください。
ディエゴ

3
親愛なるガイ、2SATがPにあるという事実は、ほとんどすべての標準的な複雑な教科書でカバーされているので、あなたがこの事実に気付いたと言うと、質問は複雑な標準的な教科書さえ読んでいないように見えます。
カヴェー

回答:


88

MGwynneの答えの線に沿って、さらに直感的で控えめな説明があります。

で -SAT、あなただけのフォームの意味表現することができます、及びリテラルですが。より正確には、すべての節のは、との含意として理解できます。をtrueに設定た場合、もtrueでなければなりません。あなたが設定した場合 falseに、同様に偽でなければなりません。そのような意味が簡単である:選択の余地がない、あなただけの持っているB B 2 L 1L 2 ¬ L 1 ⇒のL 2 ¬ L 2 ⇒のL 1 B B 1 ¬ のL L Lの¬のLのL2abab2l1l2¬l1l2¬l2l1abba1可能性として、ケースマルチプリケーションの余地はありません。あなただけのすべての可能な含意チェーンをたどる、とあなたは両方の派生かどうかを確認することができますからおよびから:あなたには、いくつかのために行う場合にはは、2-SAT式は充足不能で、それ以外の場合は充足可能。可能性のある含意チェーンの数が、入力式のサイズで多項式的に制限されている場合です。¬lll¬ll

で -SAT、フォームの意味表現することができます、、とリテラルですが。これで問題が発生します。a をtrueに設定た場合、またはいずれかがtrueである必要がありますが、どちらが正しいですか 選択する必要があります。2つの可能性があります。ここで、ケースの乗算が可能になり、組み合わせの爆発が発生します。。⇒ BのC B C BとC3abcabcabc

言い換えると、 -SATは複数の可能性の存在を表現できますが、 -SATはそのような能力を持ちません。これは、正確に、複数の可能性(のような存在であるの場合には可能性 -SAT、の場合に可能 NP完全問題の典型的な組合せ爆発を引き起こす-SAT)。2 2 3 k 1 k3223k1k


6
これにもっと賛成できたらいいのに!より良い答え!
MGwynne

5
@MGwynne:とても親切なコメントをありがとう。どういたしまして、あなたの答えは本当にとても良いです!
ジョルジオカメラニ

8
これは良い質問(IMHO)に対する良い答えです。Mac Laneが書いたように:「効果的またはトリッキーな正式な操作は、間違いなく指導的なアイデアを持っている数学者によって導入されます。 of Mathematicsは、操作の表示を通じてアイデアを輝かせます。」この特定の質問と回答は、「アイデアが輝く」のに役立ちました(私にとって)。ありがとう!:)
ジョン・シドルズ

4
@ジョン:どういたしまして!;-)あなたの素晴らしい寛大なコメントに感謝します。本当に感謝しています。Mac Laneの言葉にはこれ以上同意できませんでした。
ジョルジオカメラニ

Giorgio Cameraniの答えによれば、これは、ダミーのブール変数を追加し、句を増やし利益利益持たない場合、NP問題を3SATに減らす価値はありませんが、CNF SATまたはブール充足可能性のいずれかに減らすことはより好ましいです代わりにCircuit SAT、これらの問題ではブール変数と句が少ないため、ブルートフォースナイーブアルゴリズム、カルナウマップ、Quine-McCluskyアルゴリズムの複雑さがより優れている:D。
さらばスタック交換

31

2-SAT式の解決を検討してください。リゾルベントのサイズは最大2です( if場合、長さおよび句の場合であることに注意してください)。サイズ2の節の数は、変数の数で2次です。したがって、解決アルゴリズムはPです。N Mの2 N Mn+m22n,m2nm

3-SATに到達すると、より大きなリゾルベントを取得できるため、すべてが梨型になります:)。

問題を2-SATに変換してみてください。サイズ3の句を使用できないため、3つの変数またはそれ以上を含む含意を(一般的に)エンコードすることはできません。たとえば、1つの変数は他の2つの変数に対するバイナリ演算の結果です。これは大きな制限です。


3
「あなたは暗示のようなものをエンコードすることはできません」 - IMP-SATはPでもある(と私はNLと思う)
マックス・

8
¬ P Qpqは、単にです。¬pq
カヴェー

1
Kaveh、良い点、今修正。
MGwynne

任意のNP問題をブール充足可能性またはCircuit SATまたはCNF SATに減らしたときに既に述べたように、問題を3SATに減らしてはいけません。新しい問題では、解決アルゴリズムでさえも効率が低下します!
送別スタック交換

20

Walterが言うように、2-SATの条項には特別な形式があります。これを利用して、ソリューションをすばやく見つけることができます。

実際には、多項式時間で決定できるSATインスタンスのクラスがいくつかあり、2-SATはこれらの扱いやすいクラスの 1つにすぎません。扱いやすさには、3つの広範な理由があります。

  1. (構造的な扱いやすさ)変数がツリーのように相互作用するSATインスタンスのクラスは、多項式時間で解くことができます。多項式の次数は、クラス内のインスタンスの最大幅に依存します。は、インスタンスがツリーからどれだけ離れているかを測定します。より正確には、マルクスは、インスタンスがサブモジュラー幅を制限している場合、分割統治アプローチを使用して多項式時間でクラスを決定できることを示しました。

  2. (言語の扱いやすさ)真偽変数のパターンが「nice」であるSATインスタンスのクラスは、多項式時間で解くことができます。より正確には、リテラルのパターンは関係の言語を定義し、シェーファーは、それぞれ独自のアルゴリズムを持つ、扱いやすさをもたらす6つの言語を分類しました。2-SATは、6つのシェーファークラスの1つを形成します。

  3. (ハイブリッドの扱いやすさ)他の2つのカテゴリに分類されないインスタンスのクラスもありますが、他の理由で多項式時間で解決できます。

    • DánielMarx、制約充足および連言クエリのTractableハイパーグラフプロパティSTOC2010。(doipreprint
    • トーマス・J・シェーファー、充足可能性問題の複雑性、STOC1978。(doi

2
また、違いを説明するために使用できるランダムk-SAT文献の解空間の構造に基づいた議論もあります。
カヴェー

3
@Kaveh:ハイブリッドの扱いやすさについての私の説明は、そのようなことを網羅するのに十分曖昧であると想定されていました。たとえば、非常に特殊な種類のインスタンスでは、LovászLocal Lemmaに基づいて充足可能性について議論することができます。PearsonとJeavonsによる1997年の調査を参照してください:cs.ox.ac.uk/publications/publication1610-abstract.html
アンドラスサラモン

3
また、SATは、すべての変数が2つの値を取ることができる制約充足問題の特殊なケースであることに注意してください。変数は3つの値を取ることができた場合、アンドレイ・ブラトブによって分類10の扱いやすい言語のクラスは、ありますcs.sfu.ca/~abulatov/papers/3-el-journal.ps ハイブリッドクラスも、より大きなドメインのためのより多くの興味深いものです。
アンドラスサラモン

10

2SATのアルゴリズムを理解していれば、なぜPに含まれているのかはすでにわかっています。これがまさにアルゴリズムが示すものです。この漫画は私のポイントを示していると思います。すでに2SATがPになっている理由を知っているので、おそらく知りたいのは、2SATがNP困難ではない理由です。

2SATがNP困難ではない理由を理解するには、NPの他の問題を2SATに簡単に軽減できることを考慮する必要があります。これを直感的に理解するには、SATを3SATに減らす方法を見て、SATを2SATに減らすために同じ手法を適用してみてください。2SATは、3SATや他のSATバリアントほど表現力がありません。

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