SATの最高の上限


43

、別のスレッド、ジョー・フィッツシモンズは、について尋ねた「3SATで最高の現在の下限。」

私は他の方法に行きたいです:3SATの現在の最高の上限は何ですか?言い換えれば、最も効率的なSATソルバーの時間の複雑さは何ですか?

特に、SATの部分指数(まだ超多項式)アルゴリズムを見つけることは考えられますか?


2
私は、分析結果については知らないが、あなたはここで、実験結果を見つけることができますbaldur.iti.uka.de/sat-race-2010/results.htmlを(「HTML」のリンクを参照してください)
ラドゥグリゴール

1
cstheory.stackexchange.com/questions/1295/sat-solver-downloadという質問があるため、この質問のタイトルは少し誤解を招きます。「SATの上限」と言い換えることができると思いますか?
スレシュヴェンカト

@Suresh:あなたが言及している質問は「#SAT」に関連していますが、これはSATに対応しています。さらに、この質問はこの1週間後に尋ねられました。とにかく、このタイトルを変更することをまだ提案していますか?
MS Dousti

はい、「SAT Solver」は特定のよく知られたオブジェクトであるため、SATを解決するための実際のコードベースです。Googleは混乱し、ここでコードを探している人をリダイレクトします:)。
Suresh Venkat

4
この質問の動機に関して、私は何人かの人々が17x17インスタンスでSATソルバーを試したと思った。SATソルバーで処理できるもののフロンティアのようです。代わりに並列ソルバーを試すこともできますが、Bill Gasarchの投稿に基づいて、大規模な努力が必要だという印象を受けました。適切な理論でSMTソルバーを適用することも、効率的な伝搬関数を持つグローバル制約を実装する制約ソルバーを使用することもできます。これらの各ケースでは、新しいアイデアは、句を使用して行うのが難しい重要なプロパティを表現することです。
アンドラスサラモン

回答:


38

「最高の」SATソルバーには、理論用と実践用の2種類があります。

理論

3SATのランダム化O(1.32113n)

3SATのランダム化O(1.321n)

3SATの決定論的O(1.439n

練習

毎年の競技結果については、SAT会議を確認してください。


岩間らへのリンクを見つけました。それでは、本当にこれまでのSATを解くための最新かつ最良の結果ですか?O1.32113n
MS Dousti

@ Sadeq:そうは思いますが、SATではなく3-SAT専用です。

2
最適なアルゴリズムは、Timon Hertli、Robin A. Moser、およびDominik Schederによる時間です。O1.321n

10
さらに別のアップデートは:FOCS 2011年に、ティモンHertli(arxiv.org/abs/1103.2165は)PPSZアルゴリズムは内のすべての3SATのインスタンスを解決することを証明した時間。1.308n
ライアンウィリアムズ

21

私は 、SATのゼロエラーランダム化アルゴリズム(または、そのためのcoNE / Eadviceアルゴリズム
)が、既知の決定論的アルゴリズムよりも優れた境界を持っている
ことを、最大で1つの満足できる割り当てが約束されるかどうかにかかわらず、知り ません。


「問題3-SATは、時間に決定的に解けるですO(1.3303n)。"


nで一意に満たされる3-CNF(または4-CNF)n変数で満たすこと
ができる場合、満足のいく割り当て は決定的な実行時間で最大で見つけることができます。O(1.3071n)(それぞれ)。」O(1.4699n)


  1. 「3-SAT用のランダム化アルゴリズムが存在します。
    時間内に実行される片側エラーをます。O(1.30704n)。 "
  2. 「4-SAT用のランダム化アルゴリズムが存在します。
    時間内に実行される片側エラーをます。 "O(1.46899n)


「unique-3-SATには、次のようなランダム化アルゴリズムがあります。 ϵ=1/(1024)および
は、以前の論文の実行時間を3-SATにバインドできるようにする実数です。 S
としてO(2(S+o(1))n) 現在の論文のアルゴリズムは時間内に実行されます 「。O(2(Sϵ+o(1))n)



16

シェーニングのアルゴリズムは、実行時間 k-SATの確率的アルゴリズムです。ここで、a = 2 k 1 / kです。これにより、3SATの O 1.33334 nアルゴリズム、4SATのO 1.5 nアルゴリズムなどが生成されます。Oana=2k1/kO1.33334nO1.5n

アルゴリズムはまた、(ほぼ完全に)モーザーとScheder、KSAT実行時間解く決定性アルゴリズムを与えることにより、デランダム化された前と同じ定数であり、およびε > 0Oa+ϵnaϵ>0作ることができます任意に小さい。

注:この回答では、大きなOh表記はpoly(n)因子を隠しています。表記を使用したかったのですが、正しくレンダリングされていません。O


1
なぜ「ほぼ完全に」と言うのですか?論文のなかで見落としがありましたか?
アンドラスサラモン

1
決定論的な 8人によるk-SATのアルゴリズムですので、それらすべてに言及していないことをご容赦ください。リンクは、linkinghub.elsevier.com/retrieve/pii/S0304397501001748にあります。したがって、 k = 3の場合、 O 1.5 n)があり、ここに示す3-SATの他の範囲ほど良くありませんが、k-SATの場合は、私が知る限りでは最適です。O22k+1nk=3O1.5n
グリゴリーヤロスラフ

4
イプシロンファクターがあることを示すために、「ほぼ完全に」と言いました。完全なランダム化が同じ実行時間(多項式ファクターまで)を達成すると予想されるでしょう。または、それは予想するのが無理かもしれません。
ロビンコタリ

1
@Grigory Yaroslavtsev:あなたが引用したものよりも早く述べたkSATのMoser-Scheder決定論的アルゴリズムではありませんか?何か不足していますか?
ロビンコタリ

1
私はちょうどこのことについて心配していたあなたの表記で、それはより速く確かです。数日前にarXivに論文が掲載されたようです:arxiv.org/PS_cache/arxiv/pdf/1008/1008.4067v1.pdf、それについて私が知らなかったのも不思議ではありません。ϵ
グリゴリーヤロ

12

すでに述べたように、理論上の実行時間の保証に興味がある場合、この質問は重複しています。

しかし、具体的な問題(あなたが言及した色付け問題など)を本当に解決したい場合、理論的な上限を研究することはまったく意味がないと思います。

「エンジニアリング」の側面を避けたいとしても、人気のあるSATソルバーをいくつか試してみて、何が起こるかを確認することをお勧めします(ほとんどが同じDIMACSファイル形式を読み取ることができるため、試してみるのは簡単です)異なるソルバー)。正と負の両方の驚きがあるかもしれません。最近、SATインスタンスのファミリがありました。数万の変数と100万を超える句を含む多数のインスタンスは簡単に解決できることが判明しましたが、数百の変数と数千の句を含む非常に単純なインスタンスは、私が試したどのソルバーにとっても非常に困難でした。


8
ユッカの要約に加えて、SATソルバーには主に2種類あります。ランダムなSATインスタンスに適した調査伝播に基づくものと、動作する傾向があるユニット解決と組み合わせた節学習を使用するものです。コンビナトリアル構造を発見するために。これらはまったく異なる動作をします。SATソルバーの最悪のケースは、満足できないインスタンスである傾向がありますが、nogoodsのスペースは、多くの枝刈りを許可しない複雑な構造になっています。残念なことに、組み合わせ論からのインスタンスはこの種の傾向があります。
アンドラスサラモン

11

O1.308n


誰かがより良い上限を考え出すと、彼らはこの論文を引用すると思います。この論文への引用は一度しかありません。それは、「フルバイナリベースでの式の充足可能性アルゴリズムと平均ケースの硬さ」であり、特定のタイプの式についてのみ言及しているようです。したがって、これはこれまでで最高の上限と思われます。
Tayfun支払14

@TayfunPay: 私の答えの一番下の紙はその紙を引用しています。

@RickyDemerうーん!これよりもいいですか?表記法は私にはそれほど明確ではありません。
Tayfun Pay

@TayfunPay: はい。以下で説明するように、2つのペーパーを検索できます。 S3Sk 11ページの上部で、その論文は彼らのアルゴリズムがPPSZと同じ限界を与えると言っています。つまり、前の文で述べた以上のことは示していません。 (続き...)

(...続き) S2SnSS3その前の文から、拘束ユニークな3-SAT紙のは、指数関数的に良く、一般的な3-SAT紙の束縛を超えています。

8

指数時間仮説が偽でない限り、3SATが準指数アルゴリズムを持つことは不可能です。

O1.324n

O1.32216n


15
それはトートロジーではありませんか?
伊藤剛

1
2on

岩間和夫らの研究 (2004)はシェーニング(1999)よりも新しい。もっと最近の結果が利用できるのだろうか。
MS Dousti

8
混乱の可能性を避けるために、私の最後のコメントは、答えの最初の文を参照しています。「指数時間仮説(ETH)が偽でない限り、3SATが準指数アルゴリズムを持つことは不可能です。」仮説は、3SATの実行時間が変数の数で準指数的(2 ^ {o(n)})であるアルゴリズムがないことを示すまさに仮説です。
伊藤剛

10
さらに混乱を避けるため、剛がコメントを投稿したとき、答えにはその1つの文しか含まれていなかったため、コメントが非常に適切になったと付け加えます。
ロビンコタリ

7

この投稿では、SATの上限を扱います。この1最良の下限を扱います。このリンクは、SATソルバーの実装を比較する年次競争の詳細を提供します。これらはすべてダウンロード可能です。簡単にするために、SAT解決のためのJavaベースのライブラリであるSAT4Jから始めることができます。


この質問すでに以前に尋ねられたこと判明しています。ウェブサイトを検索したとき、私はそれを見ませんでした。上限の質問に対するTian Liuの回答は、まさに私が探していたものです。リンクをありがとう、デイブ!
ダニエルアポン

1
これは私がここで過ごす時間が長すぎるという証拠です;
デイブクラーク

あなたがしてくれてうれしいです:)
Suresh Venkat

2
sat4Jを推奨するかどうかは定かではありません。sat4Jは、最新技術よりも大幅に遅いだけでなく、やや複雑です。ただし、オブジェクト指向の構造のためにうまくカスタマイズできることは事実です。MiniSatは非常にうまく書かれており、2.2は最先端です。
ミコラス

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