Problem of determining if a Boolean formula could be made true
論理学とコンピュータサイエンスにおいて、ブール充足可能性問題(命題充足可能性問題とも呼ばれ、 SATISFIABILITY、SAT 、またはB-SATと略される)は、与えられたブール式を満たす解釈が存在するかどうかを問う問題です。言い換えれば、式の変数を一貫して TRUE または FALSE の値に置き換えて式を TRUE と評価できるかどうかを問う問題です。これが当てはまる場合、式は充足可能と呼ばれ、そうでない場合は充足不可能と呼ばれます。たとえば、式「a AND NOT b 」は、( a AND NOT b ) = TRUEとなる値a = TRUE およびb = FALSE を見つけることができるため、充足可能です。対照的に、「a AND NOT a」は充足不可能です。
例えば、x 1は肯定リテラル、¬ x 2は否定リテラル、x 1 ∨ ¬ x 2は節です。式( x 1 ∨ ¬ x 2 ) ∧ (¬ x 1 ∨ x 2 ∨ x 3 ) ∧ ¬ x 1は連言標準形です。つまり、第1節と第3節はホーン節ですが、第2節はホーン節ではありません。この式は、 x 1 = FALSE、x 2 = FALSE、x 3を任意に選択することで満足可能です。なぜなら、(FALSE ∨ ¬FALSE) ∧ (¬FALSE ∨ FALSE ∨ x 3 ) ∧ ¬FALSE は (FALSE ∨ TRUE) ∧ (TRUE ∨ FALSE ∨ x 3 ) ∧ TRUE と評価され、さらに TRUE ∧ TRUE ∧ TRUE (つまり TRUE) と評価されるからです。一方、1つのリテラルからなる2つの節で構成されるCNF式a ∧ ¬ aは満足できません。なぜなら、a =TRUE またはa =FALSE の場合、それぞれ TRUE ∧ ¬TRUE (つまり FALSE) または FALSE ∧ ¬FALSE (つまり FALSE) と評価されるからです。
SAT 問題のいくつかのバージョンでは、一般化連言正規形式の概念を定義すると便利です。つまり、任意の数の一般化節の連言であり、後者は、何らかのブール関数Rと(通常の)リテラルl iに対して形式R ( l 1 ,..., l n )となります。許可されるブール関数のセットが異なると、問題のバージョンも異なります。例として、R (¬ x , a , b ) は一般化節であり、R (¬ x , a , b ) ∧ R ( b , y , c ) ∧ R ( c , d ,¬ z ) は一般化連言正規形です。この式は以下で使用され、Rは、その引数の 1 つが TRUE である場合にのみ TRUE となる三項演算子です。
ブール代数の法則を用いると、あらゆる命題論理式は等価な連言正規形に変換できるが、その場合、指数関数的に長くなる可能性がある。例えば、式 ( x 1 ∧ y 1 ) ∨ ( x 2 ∧ y 2 ) ∨ ... ∨ ( x n ∧ y n ) を連言正規形に
変換すると、以下のようになる。
著者によっては、k-SAT をちょうど k 個のリテラルを持つ CNF 式に制限している。[要出典]これによっても、j < k個のリテラルを持つ各節l 1 ∨ ⋯ ∨ l jに、固定ダミー変数を追加してl 1 ∨ ⋯ ∨ l j ∨ d j +1 ∨ ⋯ ∨ d kとすることができるため、複雑さのクラスが変わることはない。すべての節を埋め込んだ後、d 1 = ⋯ = d k = FALSEのみが満足できる割り当てにつながることを保証するために、2 k –1 個の追加の節[d]を追加する必要がある。k は式の長さに依存しないため、追加の節によって長さが一定に増加する。同じ理由で、 ¬ x ∨ ¬ y ∨ ¬ yのように、節で重複するリテラルが許可されるかどうかは問題ではない。
ホーン節は、ある変数が他の変数の集合からどのような含意を持つかを表現できるため、興味深いものです。実際、そのような節の一つである ¬ x 1 ∨ ... ∨ ¬ x n ∨ yは、 x 1 ∧ ... ∧ x n → yと書き換えることができます。つまり、x 1 ,..., x nがすべて TRUE であれば、y も必ず TRUE であるということです。
ホーン論理式の一般化として、名前変更可能なホーン論理式があります。これは、いくつかの変数をそれぞれの否定に置き換えることでホーン形式にすることができる論理式の集合です。例えば、 ( x 1 ∨ ¬ x 2 ) ∧ (¬ x 1 ∨ x 2 ∨ x 3 ) ∧ ¬ x 1はホーン論理式ではありませんが、 x 3 の否定として y 3 を導入することで、ホーン論理式 ( x 1 ∨ ¬ x 2 ) ∧ ( ¬ x 1 ∨ x 2 ∨ ¬ y 3 ) ∧ ¬ x 1に名前変更することができます。対照的に、( x 1 ∨ ¬ x 2 ∨ ¬ x 3 ) ∧ (¬ x 1 ∨ x 2 ∨ x 3 ) ∧ ¬ x 1は名前を変更しないとホーン論理式となる。このような置換の存在確認は線形時間で実行できるため、このような論理式の充足可能性はPに含まれる。なぜなら、まずこの置換を行い、次に結果として得られるホーン論理式の充足可能性を確認することで解けるからである。
3SATの問題ではない
選言正規形
SATは、式が選言正規形に限定されている場合、つまり、リテラルの連言の選言である場合に限り、自明です。このような式が実際に満足可能であるのは、少なくとも1つの連言が満足可能である場合であり、連言が満足可能であるのは、ある変数xに対してxと NOT x の両方を含まない場合です。これは線形時間で検証できます。さらに、式が完全な選言正規形に限定されている場合、つまり、すべての変数がすべての連言に1回だけ出現する場合、定数時間で検証できます(各連言は1つの満足する割り当てを表します)。しかし、一般的なSAT問題を選言正規形に変換するには、指数関数的な時間と空間が必要になる場合があります。例として、上記の指数関数的な爆発の例の「∧」と「∨」を連言正規形に置き換えてください。
ブール変数を束縛するために「すべてに対して」(∀)と「存在する」(∃)の両方の量指定子が許される場合、充足可能性問題はより困難になります。そのような式の例としては、 ∀ x ∀ y ∃ z ( x ∨ y ∨ z ) ∧ (¬ x ∨ ¬ y ∨ ¬ z )が挙げられます。これは、 xとyのすべての値に対して、適切なzの値、すなわちxとy の両方が FALSE の場合はz =TRUE 、それ以外の場合はz =FALSE が成り立つため、有効です。SAT 自体は(暗黙的に) ∃ 量指定子のみを使用します。代わりに ڼ 量指定子のみを許すと、いわゆるトートロジー問題が生じますが、これは共NP完全です。両方の量指定子が任意の数だけ許容される場合、この問題は量指定ブール式問題(QBF )と呼ばれ、 PSPACE完全であることが示されます。PSPACE完全問題はNPのどの問題よりも厳密に困難であると広く信じられていますが、これはまだ証明されていません。
UNIQUE SAT [22]は、式にちょうど1つの割り当てがあるかどうかを判定する問題です。これは、非決定性多項式時間チューリングマシンによって解ける問題を記述する計算量クラスであるUS [23]に対して完全です。USは、非決定性受理経路がちょうど1つ存在する場合に受理し、そうでない場合は棄却します。
^すなわち、 d 1 ,⋯, d kで構築できるすべての最大項(ただし、 d 1 ∨⋯∨ d kを除く)
外部リンク
ウィキメディア コモンズには、ブール充足可能性問題に関連するメディアがあります。
SATゲーム:ブール充足可能性問題を自分で解いてみよう
国際SATコンテストウェブサイト
満足度テストの理論と応用に関する国際会議
充足可能性、ブールモデリング、計算に関するジャーナル
SAT Live、満足度問題に関する研究の総合ウェブサイト
MaxSATソルバーの年次評価
参考文献
^ Fortnow, L. (2009). 「P対NP問題の現状」(PDF) . Communications of the ACM . 52 (9): 78– 86. doi :10.1145/1562164.1562186. S2CID 5969255.
^ Fortnow, L. (2021). 「P対NPの50年と不可能の可能性」(PDF) . ACMカンファレンス議事録 (カンファレンス'17) .
^ ab Ohrimenko, Olga; Stuckey, Peter J.; Codish, Michael (2007)、「Propagation = Lazy Clause Generation」、Principles and Practice of Constraint Programming – CP 2007、Lecture Notes in Computer Science、vol. 4741、pp. 544– 558、CiteSeerX 10.1.1.70.5471、doi :10.1007/978-3-540-74970-7_39、ISBN978-3-540-74969-1現代のSATソルバーは、数百万の制約と数十万の変数を持つ問題を扱うことができる。。
^ホン・テッド、リー・ヤンジン、パーク・ソンボエム、ムイ・ダイアナ、リン・デイビッド、カレク・ジヤド・アブデル、ハキム・ナギブ、ナエイミ・ヘリア、ガードナー・ドナルド・S、ミトラ・スバシッシュ(2010年11月)。「QED:効果的なポストシリコン検証のためのクイックエラー検出テスト」2010 IEEE国際テスト会議、pp. 1– 10. doi :10.1109/TEST.2010.5699215. ISBN978-1-4244-7206-2. S2CID 7909084。
^ Aho, Alfred V.; Hopcroft, John E.; Ullman, Jeffrey D. (1974). 『コンピュータアルゴリズムの設計と分析』 Addison-Wesley. p. 403. ISBN0-201-00029-6。
^ Massacci, Fabio; Marraro, Laura (2000-02-01). 「SAT問題としての論理暗号解析」. Journal of Automated Reasoning . 24 (1): 165– 203. doi :10.1023/A:1006326723002. S2CID 3114247.
^ミロノフ, イリヤ; 張, リンタオ (2006). 「SATソルバーのハッシュ関数暗号解読への応用」. ビエール, アーミン; ゴメス, カーラ P. (編).充足可能性テストの理論と応用 - SAT 2006.コンピュータサイエンス講義ノート. 第4121巻. シュプリンガー. pp. 102– 115. doi :10.1007/11814948_13. ISBN978-3-540-37207-3。
^ Vizel, Y.; Weissenbacher, G.; Malik, S. (2015). 「ブール充足可能性ソルバーとモデル検査への応用」. Proceedings of the IEEE . 103 (11): 2021– 2035. doi :10.1109/JPROC.2015.2455034. S2CID 10190144.
^ Cook, Stephen A. (1971). 「定理証明手順の複雑さ」(PDF) . Proceedings of the third annual ACM symposium on Theory of computing - STOC '71 . pp. 151– 158. CiteSeerX 10.1.1.406.395 . doi :10.1145/800157.805047. S2CID 7573663. 2022年10月9日時点のオリジナルより アーカイブ(PDF) 。
^レビン、レオニード(1973)。 「ユニバーサル検索問題 (ロシア語: Универсальные задачи перебора, Universal'nye perebornye zadachi)」。情報伝達の問題 (ロシア語: Проблемы передачи информа́ции、問題のあるペレダチ情報ii)。9 (3): 115–116 .(pdf) (ロシア語)、英語に翻訳:トラクテンブロート, BA (1984). 「ロシアにおけるペレボル(総当たり探索)アルゴリズムへのアプローチの概観」 Annals of the History of Computing . 6 (4): 384– 400. doi :10.1109/MAHC.1984.10036. S2CID 950581.
^ Aho、Hopcroft、Ullman(1974)、定理10.4。
^ Aho、Hopcroft、Ullman(1974)、定理10.5。
^ Schöning, Uwe (1999年10月). 「k-SATと制約充足問題のための確率的アルゴリズム」(PDF) .第40回コンピュータサイエンス基礎シンポジウム (カタログ番号99CB37039) . pp. 410– 414. doi :10.1109/SFFCS.1999.814612. ISBN0-7695-0409-4. S2CID 123177576。2022年10月9日にオリジナルからアーカイブ(PDF)されました。
^ Arkin, Esther M.; Banik, Aritra; Carmi, Paz; Citovsky, Gui; Katz, Matthew J.; Mitchell, Joseph SB; Simakov, Marina (2018-12-11). 「色付き点の選択と被覆」. Discrete Applied Mathematics . 250 : 75– 86. doi : 10.1016/j.dam.2018.05.011 . ISSN 0166-218X.
^ Buning, HK; Karpinski, Marek; Flogel, A. (1995). 「定量化されたブール式の解像度」.情報と計算. 117 (1). エルゼビア: 12–18 . doi : 10.1006/inco.1995.1025 .
^ ab Schaefer, Thomas J. (1978). 「充足可能性問題の複雑性」(PDF) .第10回ACMコンピューティング理論シンポジウム議事録. サンディエゴ、カリフォルニア州. pp. 216– 226. CiteSeerX 10.1.1.393.8951 . doi :10.1145/800133.804350.
^ Kozen, Dexter C. (2006). 「補足講義F:一意な充足可能性」.計算理論. コンピュータサイエンステキスト. Springer. p. 180. ISBN9781846282973。
^ Valiant, L.; Vazirani, V. (1986). 「NPは一意解の検出と同じくらい簡単だ」(PDF) .理論計算機科学. 47 : 85–93 . doi : 10.1016/0304-3975(86)90135-0 .
^ Buldas, Ahto; Lenin, Aleksandr; Willemson, Jan; Charnamord, Anton (2017). 「攻撃木のためのシンプルな実行不可能証明書」. 尾花聡; 千田浩二 (編).情報とコンピュータセキュリティの進歩. コンピュータサイエンス講義ノート. 第10418巻. Springer International Publishing. pp. 39– 55. doi :10.1007/978-3-319-64200-0_3. ISBN9783319642000。
^ Gi-Joon Nam; Sakallah, KA; Rutenbar, RA (2002). 「探索ベースのブール充足可能性によるFPGA詳細配線手法の新規化」(PDF) . IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems . 21 (6): 674. Bibcode :2002ITCAD..21..674N. doi :10.1109/TCAD.2002.1004311. オリジナル(PDF)から2016年3月15日にアーカイブ。 2015年9月4日閲覧。
^ Selsam, Daniel; Lamm, Matthew; Bünz, Benedikt; Liang, Percy; de Moura, Leonardo; Dill, David L. (2019年3月11日). 「シングルビット監視によるSATソルバーの学習」. arXiv : 1802.03685 [cs.AI].
^ S. Liu (2018年7月). I. Chatzigiannakis、C. Kaklamanis、D. Marx、D. Sannella (編). Chain、被覆コードの一般化、およびk -SATの決定論的アルゴリズム. Proc. ICALP. LIPIcs. Vol. 107. Schloss Dagstuhl. pp. 88:1–13. doi : 10.4230/LIPIcs.ICALP.2018.88 .
出典
この記事には、Karem A. Sakallah教授による https://web.archive.org/web/20070708233347/http://www.sigda.org/newsletter/2006/eNews_061201.html の資料が含まれています。
Marques-Silva, J.; Glass, T. (1999). 「充足可能性と再帰学習を用いた組み合わせ同値性検証」. Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078) (PDF) . p. 145. doi :10.1109/DATE.1999.761110. ISBN0-7695-0078-12022年10月9日時点のオリジナルよりアーカイブ(PDF)されています。
Clarke, E.; Biere, A.; Raimi, R.; Zhu, Y. (2001). 「充足可能性解法を用いた有界モデル検査」.システム設計における形式手法. 19 : 7–34 . doi :10.1023/A:1011276507260. S2CID 2484208.
Babic, D.; Bingham, J.; Hu, AJ (2006). 「B-Cubing: 効率的なSAT解法の新たな可能性」(PDF) . IEEE Transactions on Computers . 55 (11): 1315. Bibcode :2006ITCmp..55.1315B. doi :10.1109/TC.2006.175. S2CID 14819050. 2016年10月23日時点のオリジナルよりアーカイブ。
Rodriguez, C.; Villagra, M.; Baran, B. (2007). 「ブール充足可能性のための非同期チームアルゴリズム」(PDF) . 2007 第2回バイオインスパイアード・モデルズ・オブ・ネットワーク、情報、コンピューティングシステム. pp. 66– 69. doi :10.1109/BIMNICS.2007.4610083. S2CID 15185219.
Gomes, Carla P. ; Kautz, Henry; Sabharwal, Ashish; Selman, Bart (2008). 「充足可能性ソルバー」 Harmelen, Frank Van; Lifschitz, Vladimir; Porter, Bruce (編).知識表現ハンドブック. 人工知能の基礎. 第3巻. Elsevier. pp. 89– 134. doi :10.1016/S1574-6526(07)03002-7. ISBN978-0-444-52211-5。
Vizel, Y.; Weissenbacher, G.; Malik, S. (2015). 「ブール充足可能性ソルバーとモデル検査への応用」. Proceedings of the IEEE . 103 (11): 2021– 2035. doi :10.1109/JPROC.2015.2455034. S2CID 10190144.