#SATを解決するために時々効率的なアルゴリズムはありますか?


24

してみましょう通常のAND、OR、およびNOT演算子と、いくつかの変数からなるブール式も。Bの満足できる割り当ての数をカウントしたいと思います。それは私がの変数に真理値の異なる割り当て数を見つけたい、であるBそのためBが真の値をとります。例えば、式A Bは 3つの満足割り当てを有します。B C ¬ Bは 4を有しています。これが#SAT問題です。BBBBababc¬b

明らかに、この問題の効率的な解決策は、SATの効率的な解決策を意味しますが、これはありそうにありません。実際、この問題は#P完全であり、SATよりも厳密に難しい場合があります。したがって、保証された効率的なソリューションを期待していません。

しかし、SAT自体の本当に難しいインスタンスは比較的少ないことがよく知られています。(たとえば、Cheeseman 1991、「本当に難しい問題はどこにある」を参照してください。)通常の枝刈り検索は、最悪の場合は指数関数的ですが、多くのインスタンスを効率的に解決できます。解決方法は、最悪の場合指数関数的ですが、実際にはさらに効率的です。

私の質問は:

一般的なブール式の充足可能な割り当ての数をすばやくカウントできるアルゴリズムは、そのようなアルゴリズムが一般的なインスタンスで指数関数的な時間を必要とする場合でも既知ですか?可能なすべての割り当てを列挙するよりも著しく優れたものはありますか?


1
#p-completenessのタグを追加しようとしましたが、Stack Exchangeソフトウェアは#記号を好みません。
マークドミナス

「SAT自体の本当に難しいインスタンスは比較的少ない」と主張することに注意してください。リンクしている論文は、実際にはランダムな -SAT について述べていると思います。さらに、相転移現象はランダムなインスタンスにのみ適用されます。SATには、非常に厳しい手作りの、工業用などのインスタンスが多数あります。k
ジュホ

ありがとう。これは私の質問をより明確にしない傾向があると思いますか?私が何を求めているのか理解できますか?
マークドミナス

私には明らかです。どのインスタンスが相転移を示すかを覚えておくことのみが重要です:)
Juho

回答:


21

一般的な場合のカウント

興味のある問題は、#SATまたはモデルカウントと呼ばれます。ある意味では、これは古典的な#P完全問題です。 -SAT であっても、モデルのカウントは困難です!驚くことではないが、正確なメソッドは数百の変数を持つインスタンスしか処理できない。近似メソッドも存在し、約1000個の変数を持つインスタンスを処理できる場合があります。2

正確なカウント方法は、多くの場合、DPLLスタイルの網羅的検索または何らかの知識のコンパイルに基づいています。近似メソッドは通常、保証なしで高速推定を提供するメソッドと、正確性を保証する下限または上限を提供するメソッドとして分類されます。バックドアの発見など、カテゴリに当てはまらない他の方法や、式(またはその制約グラフ)を保持するために特定の構造プロパティを要求する方法もあります。

実用的な実装があります。一部の正確なモデルカウンターは、CDP、Relsat、Cachet、sharpSAT、およびc2dです。正確なソルバーが使用する主な手法は、部分カウント、(基礎となる制約グラフの)コンポーネント分析、式とコンポーネントのキャッシュ、および各ノードでのスマートな推論です。ナレッジコンパイルに基づく別の方法では、入力CNF式を別の論理形式に変換します。この形式から、モデルカウントを簡単に推定できます(新しく生成された式のサイズの多項式時間)。たとえば、式をバイナリ決定図(BDD)に変換できます。次に、BDDを「1」リーフからルートまでトラバースできます。または、別の例として、c2dは、CNF式を決定論的な分解可能な否定正規形(d-DNNF)に変換するコンパイラーを採用しています。

ϕϕ

Gogate and Dechter [3]は、SampleMinisatと呼ばれるモデルカウント手法を使用します。これは、ブール式のバックトラックフリー検索スペースからのサンプリングに基づいています。この手法は、DPLLベースのSATソルバーを使用してバックトラックのない検索スペースを構築する、重要度の再サンプリングのアイデアに基づいています。これは、完全に、または近似まで行われます。保証付きの見積もりの​​サンプリングも可能です。[2]に基づいて、Gomes et al。[4]は、修正されたランダム化戦略でサンプリングを使用すると、高い確率的正確性保証により、合計モデル数の証明可能な下限を取得できることを示しました。

信念伝播(BP)に基づいた作業もあります。Krocらを参照してください。[5]およびそれらが導入するBPCount。同じ論文で、著者は、モデルカウントの上限を提供するために、MiniCountと呼ばれる2番目のメソッドを提供します。特定の統計的仮定の下で上限を計算できる統計的フレームワークもあります。

#2-SATおよび#3-SATのアルゴリズム

O1.3247nO1.6894nO1.6423n

問題の性質上、実際にインスタンスを解決したい場合、多くはインスタンスのサイズと構造に依存します。知識があればあるほど、正しい方法を選択する能力が高まります。


[1] VilhelmDahllöf、Peter Jonsson、およびMagnusWahlström。2-SATおよび3-SATでの満足のいく割り当てのカウント。第8回国際コンピューティングおよびコンビナトリクス会議の議事録(COCOON-2002)、535-543、2002年。

[2] W.ウェイ、およびB.セルマン。モデルカウントへの新しいアプローチ。SAT05の議事録:充足可能性テストの理論と応用に関する第8回国際会議、コンピューターサイエンスの講義ノート3569巻、324-339、2005年。

[3] R. Gogate、およびR. Dechter。バックトラックのない検索スペースをサンプリングすることによる近似カウント。AAAI-07の議事録:第22回人工知能に関する全国会議、198–203、バンクーバー、2007年。

[4] CP Gomes、J。Hoffmann、A。Sabharwal、およびB. Selman。サンプリングからモデルのカウントまで。IJCAI-07の議事録:第20回人工知能に関する国際共同会議、2293–2299、2007年。

[5] L. Kroc、A。Sabharwal、およびB. Selman。モデルカウントのための信念の伝播、バックトラック検索、および統計の活用。CPAIOR-08:第5回AIとOR技術の制約プログラミングでの統合に関する国際会議、コンピューターサイエンスの講義ノートのボリューム5015、127–141、2008年。

[6] K.クーツコフ。#3-SAT問題の新しい上限。情報処理レター105(1)、1-5、2007。


8

Juhoがリストした論文に加えて、このトピックに関する作業、特に解決策の数の概算に関する作業を説明する他のいくつかの資料があります。

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