私たちは、DPLLベースのSAT-ソルバーが充足不能のインスタンスに正しく答えるために失敗することを知っている「から単射マッピングがある上(鳩の巣原理)、例えばN + 1のnが」:
私は、彼らが満足できるのインスタンス上で実行する方法についての結果を探しています「から単射マッピングがある上、例えばの」。
そのようなインスタンスで満足のいく割り当てがすぐに見つかりますか?
私たちは、DPLLベースのSAT-ソルバーが充足不能のインスタンスに正しく答えるために失敗することを知っている「から単射マッピングがある上(鳩の巣原理)、例えばN + 1のnが」:
私は、彼らが満足できるのインスタンス上で実行する方法についての結果を探しています「から単射マッピングがある上、例えばの」。
そのようなインスタンスで満足のいく割り当てがすぐに見つかりますか?
回答:
充足可能なインスタンスでは、DPLLベースのSATソルバーは線形時間で満足のいく割り当てを提供します。
理由は、の充足不可能なインスタンスの符号化CNFを観察とNの孔とN + 1羽のハトのインスタンスへsintactically同一であり、K = N個の入力グラフのクリークであるグラフ彩色、N + 1つの頂点。
同様に、n個の穴とn個のハトを持つ充足可能なインスタンスのCNFエンコーディングは、入力グラフがn頂点のクリークであるk = n Graph Coloringのインスタンスと構文的に同一です。
今、のクリーク着色で頂点をn個の頂点をスキャンし、それらの残りの各色のいずれかへの割り当ては、(既に割り当てられた色が自動的によって除外される:色は簡単であるクリークネスユニットの伝播を使用して、グラフの) 。あなたが選択した残りの色が何であれ、それは良いものであり、あなたを満足のいく課題に導きます。
DPLLソルバーの観点から:変数ブール値を推測しようとするたびに、そのような値は(それが何であれ)正しいでしょう。なぜなら、変数v iが推測値。ユニット伝搬は、ソルバーを満足のいくパスに沿って誘導することにより(言い換えると、間違った値を推測することを防ぐことにより)、残りの仕事を行います。
検索は、正しい推測を行うたびに、線形的に変数を次々に進めます。