タグ付けされた質問 「satisfiability」

充足可能性(SAT)は、特定のブール式を満たす変数割り当てがあるかどうかを判断する際の問題です。

3
SATインスタンスの難易度を測定する
SATのインスタンスが与えられた場合、そのインスタンスを解決するのがどれほど難しいかを推定したいと思います。 1つの方法は既存のソルバーを実行することですが、そのようなことは難易度を推定する目的に反します。2番目の方法は、ランダムSATのフェーズ遷移で行われるように、変数に対する句の比率を調べることですが、より良い方法が存在するはずです。 SATのインスタンスを考えると、難易度を測定するための高速なヒューリスティックがありますか?唯一の条件は、これらのヒューリスティックがインスタンスで既存のSATソルバーを実際に実行するよりも高速であることです。 関連する質問 どのSATの問題は簡単ですか?cstheory.SEで。この質問では、扱いやすいインスタンスのセットについて尋ねられます。これは似たような質問ですが、まったく同じではありません。単一のインスタンスが与えられ、そのインスタンスが解決するのが難しいものであるかどうかのある種の半インテリジェントな推測を行うヒューリスティックに本当に興味があります。

2
SATソルバーの1-out-of-n制約のエンコード
私はSATソルバーを使用して問題をエンコードしていますが、SATインスタンスの一部として、ブール変数があります。 。(私はこれを「ワンホット」エンコーディングとして記述されるのを見たことがあります。)x1,x2,…,xnx1,x2,…,xnx_1,x_2,\dots,x_n SATで「うち正確に1つでなければならない」という制約をエンコードしたい。SATソルバーを可能な限り効率的に実行するために、この制約をエンコードする最良の方法は何ですか?x1,…,xnx1,…,xnx_1,\dots,x_n この制約をエンコードする方法はたくさんあります。 ペアごとの制約。すべてのに対してペアワイズ制約を追加して、最大で1つのが真であることを確認してから、を追加して、少なくとも1ことを確認できます。 iは、jはxはI X 1 ∨ X 2 ∨ ⋯ ∨ X N¬xi∨¬xj¬xi∨¬xj\neg x_i \lor \neg x_ji,ji,ji,jxixix_ix1∨x2∨⋯∨xnx1∨x2∨⋯∨xnx_1 \lor x_2 \lor \cdots \lor x_n これにより、句が追加され、追加のブール変数は追加されません。Θ(n2)Θ(n2)\Theta(n^2) バイナリエンコーディング。新しいブール変数 導入できますi 1、i 2、… 、i lg nlgnlg⁡n\lg ni1,i2,…,ilgni1,i2,…,ilg⁡ni_1,i_2,\dots,i_{\lg n}(バイナリ)の整数で表すためにそのようなその(ことを確実にするために、いくつかのブール制約の追加望ましい範囲内にあります)。次に、がツリーであり、他のすべてのがfalseであることを強制する制約を追加できます。つまり、ごとに、強制する句を追加します。1 ≤ iが≤ N I X I 、X 、J、J 、I = J ⇔ X Jiii1≤i≤n1≤i≤n1 …

2
#SATを解決するために時々効率的なアルゴリズムはありますか?
してみましょう通常のAND、OR、およびNOT演算子と、いくつかの変数からなるブール式も。Bの満足できる割り当ての数をカウントしたいと思います。それは私がの変数に真理値の異なる割り当て数を見つけたい、であるBそのためBが真の値をとります。例えば、式A ∨ Bは 3つの満足割り当てを有します。(∨ B )∧ (C ∨ ¬ Bは) 4を有しています。これが#SAT問題です。BBBBBBBBBBBB∨ Ba∨ba\lor b(∨ B )∧(C ∨ ¬ B )(a∨b)∧(c∨¬b)(a\lor b)\land(c\lor\lnot b) 明らかに、この問題の効率的な解決策は、SATの効率的な解決策を意味しますが、これはありそうにありません。実際、この問題は#P完全であり、SATよりも厳密に難しい場合があります。したがって、保証された効率的なソリューションを期待していません。 しかし、SAT自体の本当に難しいインスタンスは比較的少ないことがよく知られています。(たとえば、Cheeseman 1991、「本当に難しい問題はどこにあるか」を参照してください。)通常の枝刈り検索は、最悪の場合は指数関数的ですが、多くのインスタンスを効率的に解決できます。解決方法は、最悪の場合指数関数的ですが、実際にはさらに効率的です。 私の質問は: 一般的なブール式の充足可能な割り当ての数をすばやくカウントできるアルゴリズムは、そのようなアルゴリズムが一般的なインスタンスで指数関数的な時間を必要とする場合でも既知ですか?可能なすべての割り当てを列挙するよりも著しく優れたものはありますか?

3
(数学)問題をSATインスタンスに変換する
私がやりたいのは、数学の問題をブール充足可能性問題(SAT)に変え、SATソルバーを使用してそれを解くことです。誰かが私の問題をSATインスタンスに変換するのに役立つマニュアル、ガイド、または何かを知っているのだろうか。 また、指数関数的な時間よりも良い方法でこれを解決したいです。SAT Solverが役立つことを願っています。

1
難治性/収縮性の充足可能性問題のバリアントの分類
最近、論文[1]で、2/2 / 4-SATと呼ばれるSATの特別な対称バージョンを見つけました。しかし、多くの完全なバリアントがあります。たとえば、MONOTONE NAE-3SAT、MONOTONE 1-IN-3-SAT、...NPNP\text{NP} 他のいくつかのバリアントは扱いやすいです: - SAT、Planar-NAE- SAT、...222SATSAT\text{SAT}SATSAT\text{SAT} NP完全(またはP)であることが証明された(変な)バリアントをすべて分類する調査論文(またはWebページ)はありますか?SATSAT\text{SAT}NPNP\text{NP}PP\text{P} 15パズルの x N拡張の最短解を見つけることは、NNNNNN D。RatnerとM. Warmuth(1986)によって扱いにくい

1
SATローカル検索のデータ構造のサポート
WalkSATとGSATは、ブール充足可能性問題を解決するためのよく知られたシンプルなローカル検索アルゴリズムです。GSATアルゴリズムの擬似コードは、質問「GSATアルゴリズムの実装-反転するリテラルの選択方法」からコピーされています。以下に示します。 procedure GSAT(A,Max_Tries,Max_Flips) A: is a CNF formula for i:=1 to Max_Tries do S <- instantiation of variables for j:=1 to Max_Iter do if A satisfiable by S then return S endif V <- the variable whose flip yield the most important raise in the number of satisfied clauses; S …

1
GSATアルゴリズムの実装-反転するリテラルの選択方法
GSATアルゴリズムは、ほとんどの場合、単純です:連言標準形式で式を取得し、式を満たす解が見つかるか、max_tries / max_flips制限に到達して解が見つからなくなるまで、句のリテラルを反転します。 次のアルゴリズムを実装しています。 procedure GSAT(A,Max_Tries,Max_Flips) A: is a CNF formula for i:=1 to Max_Tries do S <- instantiation of variables for j:=1 to Max_Iter do if A satisfiable by S then return S endif V <- the variable whose flip yield the most important raise in the number of …

1
CNFからDNFへの変換がNPハードであることの証明
この質問は、Computer Science Stack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 CNFからDNFへの変換がNPハードであることをどのように証明できますか? 私は答えを求めているのではなく、それを証明する方法についていくつかの提案をしています。

1
最近のすべてのSATソルバーが、回線SATではなくCNFで動作するのはなぜですか?
2006年のいつかでインバータグラフを処理するAIGERライブラリのリリース後(私は思う)、いくつかのサーキットSATソルバーが2006-2008にリリースされ、いくつかのSAT Races / CompetitionsにAIGトラックがありました。しかし、それ以来、焦点は完全にSMTまたは節点SATソルバーの改善にあるようです。 直観的には、サーキットSATに集中することは非常に理にかなっているようです。回路はCNFからリバースエンジニアリングできない構造情報を提供しますが、回路は常にCNFに変換できます。そして、少なくとも論理合成の産業的に重要な分野は、AIGに特に適しているようです。 どうしたの?余分な構造情報はソルバーに役立たないことが判明しましたか?AIGベースのSATは失敗した実験を解決しましたか?

3
SATやその他の決定問題に対する近似アルゴリズムがないのはなぜですか?
NP完全決定問題があります。問題のインスタンスが与えられた場合、問題が実行可能な場合はYESを出力し、それ以外の場合はNOを出力するアルゴリズムを設計したいと思います。(もちろん、アルゴリズムが最適でない場合、エラーが発生します。) このような問題に対する近似アルゴリズムは見つかりません。私は特にSATを探していましたが、ウィキペディアの近似アルゴリズムに関するページで次のことがわかりました:アプローチの別の制限は、充足可能性などの「純粋な」決定問題ではなく、最適化問題にのみ適用されることです。 。 たとえば、なぜ近似比を、アルゴリズムが犯す間違いの数に比例するように定義しないのですか?貪欲で準最適な方法で決定問題を実際にどのように解決しますか?

2
密なNP完全言語はP = NPを意味します
ような多項式が存在する場合、言語は密であると言いますすべての換言すれば、任意の所与な長さのためにの長さの唯一の多項式多くの単語が存在ではないJ⊆Σ∗J⊆Σ∗J \subseteq \Sigma^{*}ppp|Jc∩Σn|≤p(n)|Jc∩Σn|≤p(n) |J^c \cap \Sigma^n| \leq p(n)n∈N.n∈N.n \in \mathbb{N}.nnnnnnJ.J.J. 私が現在勉強している問題は、次のことを示すように求めています 密な完全言語が存在する場合、NPNPNPP=NPP=NPP = NP テキストが示唆しているのは、 -への多項式簡約を検討し、要素も生成しながら、指定された式を満たそうとするアルゴリズムを構築すること333SATSATSATCNFCNFCNFJc.Jc.J^c. 私が思っているのは もっと直接的な証拠はありますか?この概念はより一般的な設定で知られていますか?

3
SATエンコーディングのレシピ本?
SATソルバーは、大きなインスタンスをより効率的に解決し、さまざまなコンテキストでバックエンドとして使用されています。特定のドメインの問題を解決するためにそれらを使用するたびに、適切なソリューションのセットを持っているだけでなく、フォームに制約(冗長であっても)を置くアドホックエンコーディングを考え出す必要があります。これにより、ソルバーのヒューリスティックが解決策を迅速に見つけることができます。 そのようなエンコードの多くは、私には非常に一般的だと思われます。たとえば、ノードの有限セットがツリー、DAG、またはリストとしてソートされていると断言する... 最適化されたソリューションの一般的な問題に関する一般的なエンコーディングのリポジトリ/レシピ本はありますか?

2
満足できない3-CNF式の例は何ですか?
私は、SAT / 3CNF-SATを中心とするNP完全性証明に頭を包もうとしています。 たぶんそれは遅い時間かもしれませんが、私は満足できない3CNF式を考えることができないのではないかと思います(おそらく明らかな何かを見逃しています)。 そのような式の例を教えてもらえますか?

1
シェイファーの定理とマハニーの定理がP = NPを意味しないのはなぜですか?
私は誰かがこれについて以前に考えたことがあるか、すぐに却下したと確信していますが、なぜシェーファーの二分法理論とスパース集合に関するマハニーの定理はP = NPを意味しないのですか? 私の推論は次のとおりです。無限の決定可能なスパースセットと交差するSATに等しい言語を作成します。その場合、もスパースでなければなりません。は自明ではなく、アフィン、2飽和、ホーン飽和ではないため、シェーファーの定理によりNP完全でなければなりません。しかし、マハニーの定理P = NPによって、NP完全集合がまばらになっています。LLLLLLLLL 私はここでどこに間違っていますか?シェイファーの定理を誤解/誤用しているのではないかと疑っていますが、その理由はわかりません。

6
間隔内の2つの数値の最大XORを見つける:二次式よりも良いことはできますか?
lllrrr L ≤ I 、最大(I ⊕ J )最大(私⊕j)\max{(i\oplus j)}L ≤ I 、J ≤ Rl≤私、j≤rl\le i,\,j\le r ナイーブアルゴリズムは、考えられるすべてのペアを単純にチェックします。たとえば、ルビーでは次のようになります。 def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if (i ^ j > max) max = i ^ j end end end max end 私感私たちはより良い次より行うことができます。この問題のためのより良いアルゴリズムはありますか?

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