Implementing Efficient All Solutions SAT Solvers

All solutions SAT (AllSAT for short) is a variant of the propositional satisfiability problem. AllSAT has been relatively unexplored compared to other variants despite its significance. We thus survey and discuss major techniques of AllSAT solvers. We accurately implemented them and conducted comprehensive experiments using a large number of instances and various types of solvers including a few publicly available software. The experiments revealed the solvers’ characteristics. We made our implemented solvers publicly available so that other researchers can easily develop their solvers by modifying our code and comparing it with existing methods.

[1]  Frank van Harmelen,et al.  Handbook of Knowledge Representation , 2008, Handbook of Knowledge Representation.

[2]  Toniann Pitassi,et al.  Algorithms and complexity results for #SAT and Bayesian inference , 2003, 44th Annual IEEE Symposium on Foundations of Computer Science, 2003. Proceedings..

[3]  Armin Biere,et al.  Proceedings of the 9th international conference on Theory and Applications of Satisfiability Testing , 2006 .

[4]  Nikolaj Bjørner,et al.  Automated Analysis and Debugging of Network Connectivity Policies , 2014 .

[5]  Adnan Darwiche,et al.  A Lightweight Component Caching Scheme for Satisfiability Solvers , 2007, SAT.

[6]  Jean-Marie Lagniez,et al.  On Preprocessing Techniques and Their Impact on Propositional Model Counting , 2017, Journal of Automated Reasoning.

[7]  Thomas Stützle,et al.  SATLIB: An Online Resource for Research on SAT , 2000 .

[8]  Shuvendu K. Lahiri,et al.  A Symbolic Approach to Predicate Abstraction , 2003, CAV.

[9]  John N. Hooker,et al.  A Constraint Store Based on Multivalued Decision Diagrams , 2007, CP.

[10]  M. Trick,et al.  Cliques, Coloring, and Satisfiability: Second DIMACS Implementation Challenge, Workshop, October 11-13, 1993 , 1996 .

[11]  Ganesh Gopalakrishnan,et al.  Proceedings of the 23rd international conference on Computer aided verification , 2011 .

[12]  Lakhdar Sais,et al.  Extending modern SAT solvers for models enumeration , 2014, Proceedings of the 2014 IEEE 15th International Conference on Information Reuse and Integration (IEEE IRI 2014).

[13]  Zijiang Yang,et al.  SAT-Based Image Computation with Application in Reachability Analysis , 2000, FMCAD.

[14]  Assaf Schuster,et al.  Memory Efficient All-Solutions SAT Solver and Its Application for Reachability Analysis , 2004, FMCAD.

[15]  Osman Hasan,et al.  Applying Formal Methods to Networking: Theory, Techniques, and Applications , 2013, IEEE Communications Surveys & Tutorials.

[16]  Roberto J. Bayardo,et al.  Counting Models Using Connected Components , 2000, AAAI/IAAI.

[17]  Steven D. Johnson,et al.  Formal methods in computer-aided design : third international conference, FMCAD 2000, Austin, TX, USA, November 1-3, 2000 : proceedings , 2000 .

[18]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[19]  Roberto J. Bayardo,et al.  Using CSP Look-Back Techniques to Solve Real-World SAT Instances , 1997, AAAI/IAAI.

[20]  J. P. Marques,et al.  GRASP : A Search Algorithm for Propositional Satisfiability , 1999 .

[21]  George Varghese,et al.  Network Verification in the Light of Program Verification , 2013 .

[22]  Igor L. Markov,et al.  MINCE: A Static Global Variable-Ordering Heuristic for SAT Search and BDD Manipulation , 2004, J. Univers. Comput. Sci..

[23]  Fabio Somenzi,et al.  Efficient Conflict Analysis for Finding All Satisfying Assignments of a Boolean Circuit , 2005, TACAS.

[24]  David Bergman,et al.  Discrete Optimization with Decision Diagrams , 2016, INFORMS J. Comput..

[25]  Takeru Inoue,et al.  Distribution Network Verification for Secure Restoration by Enumerating All Critical Failures , 2015, IEEE Transactions on Smart Grid.

[26]  Sofia Cassel,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 2012 .

[27]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[28]  Kavita Ravi,et al.  Minimal Assignments for Bounded Model Checking , 2004, TACAS.

[29]  Joao Marques-Silva,et al.  Good learning and implicit model enumeration , 2005, 17th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'05).

[30]  A. Darwiche,et al.  The Language of Search , 2007, J. Artif. Intell. Res..

[31]  Adnan Darwiche,et al.  New Advances in Compiling CNF into Decomposable Negation Normal Form , 2004, ECAI.

[32]  Alexei Lisitsa,et al.  Proceedings of the 10th European conference on Logics in Artificial Intelligence , 2006 .

[33]  Adnan Darwiche,et al.  Using DPLL for Efficient OBDD Construction , 2004, SAT.

[34]  Lakhdar Sais,et al.  Boolean satisfiability for sequence mining , 2013, CIKM.

[35]  Sharad Malik,et al.  All-SAT Using Minimal Blocking Clauses , 2014, 2014 27th International Conference on VLSI Design and 2014 13th International Conference on Embedded Systems.

[36]  Martin Gebser,et al.  clasp : A Conflict-Driven Answer Set Solver , 2007, LPNMR.

[37]  Joao Marques-Silva,et al.  TG-PRO: A new model for SAT-based ATPG , 2009, 2009 IEEE International High Level Design Validation and Test Workshop.

[38]  Peter van Beek,et al.  Conflict-Directed Backjumping Revisited , 2011, J. Artif. Intell. Res..

[39]  Anders P. Ravn,et al.  Proceedings of the 7th International Symposium on Automated Technology for Verification and Analysis , 2009 .

[40]  Luc De Raedt,et al.  Itemset mining: A constraint programming perspective , 2011, Artif. Intell..

[41]  Hiroki Arimura,et al.  LCM ver. 2: Efficient Mining Algorithms for Frequent/Closed/Maximal Itemsets , 2004, FIMI.

[42]  Jan Vahrenhold Proceedings of the 8th International Symposium on Experimental Algorithms , 2009 .

[43]  Takahisa Toda,et al.  Hypergraph Transversal Computation with Binary Decision Diagrams , 2013, SEA.

[44]  Adnan Darwiche,et al.  Decomposable negation normal form , 2001, JACM.

[45]  Toby Walsh,et al.  Handbook of Satisfiability: Volume 185 Frontiers in Artificial Intelligence and Applications , 2009 .

[46]  Joao Marques-Silva,et al.  TG-Pro: A SAT-based ATPG System , 2012, J. Satisf. Boolean Model. Comput..

[47]  Peter L. Hammer,et al.  Boolean Functions - Theory, Algorithms, and Applications , 2011, Encyclopedia of mathematics and its applications.

[48]  Kenneth L. McMillan,et al.  Applying SAT Methods in Unbounded Symbolic Model Checking , 2002, CAV.

[49]  Martin Gebser,et al.  Solution Enumeration for Projected Boolean Search Problems , 2009, CPAIOR.

[50]  Carsten Sinz,et al.  Towards an Optimal CNF Encoding of Boolean Cardinality Constraints , 2005, CP.

[51]  Patrick Prosser,et al.  HYBRID ALGORITHMS FOR THE CONSTRAINT SATISFACTION PROBLEM , 1993, Comput. Intell..

[52]  Mikolás Janota,et al.  On Computing Backbones of Propositional Theories , 2010, ECAI.

[53]  Igor L. Markov,et al.  A Compressed Breadth-First Search for Satisfiability , 2002, ALENEX.

[54]  Lakhdar Sais,et al.  Enumerating Prime Implicants of Propositional Formulae in Conjunctive Normal Form , 2014, JELIA.

[55]  C. Y. Lee Representation of switching circuits by binary-decision programs , 1959 .

[56]  Marc Thurley,et al.  sharpSAT - Counting Models with Advanced Component Caching and Implicit BCP , 2006, SAT.

[57]  Sharad Malik,et al.  Boolean satisfiability from theoretical hardness to practical success , 2009, Commun. ACM.

[58]  Ryo Yoshinaka,et al.  Distribution Loss Minimization With Guaranteed Error Bound , 2014, IEEE Transactions on Smart Grid.

[59]  Yuliya Lierler,et al.  Head-Elementary-Set-Free Logic Programs , 2007, LPNMR.

[60]  Takeaki Uno,et al.  Efficient algorithms for dualizing large-scale hypergraphs , 2011, Discret. Appl. Math..

[61]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[62]  Georg Gottlob,et al.  Computational aspects of monotone dualization: A brief survey , 2008, Discret. Appl. Math..

[63]  George Varghese,et al.  Checking Beliefs in Dynamic Networks , 2015, NSDI.

[64]  Tomasz Imielinski,et al.  Mining association rules between sets of items in large databases , 1993, SIGMOD Conference.

[65]  Paola Vera-Licona,et al.  The minimal hitting set generation problem: algorithms and computation , 2016, SIAM J. Discret. Math..

[66]  Takahisa Toda,et al.  Dualization of boolean functions using ternary decision diagrams , 2016, Annals of Mathematics and Artificial Intelligence.

[67]  Aarti Gupta,et al.  Efficient SAT-based unbounded symbolic model checking using circuit cofactoring , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

[68]  関根京子 Algorithm for Computing the Tutte Polynomial and Its Applications(Tutte多項式の計算アルゴリズムとその応用) , 1997 .

[69]  Armin Biere,et al.  PicoSAT Essentials , 2008, J. Satisf. Boolean Model. Comput..

[70]  H. Imai,et al.  A Unified Approach via BDD to the Network Reliability and Path Numbers , 1995 .

[71]  Hiroshi Imai,et al.  Computing the Tutte Polynomial of a Graph of Moderate Size , 1995, ISAAC.

[72]  In-Cheol Park,et al.  SAT-based unbounded symbolic model checking , 2005, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[73]  Daniel Kroening,et al.  Predicate Abstraction of ANSI-C Programs Using SAT , 2004, Formal Methods Syst. Des..

[74]  Shin-ichi Minato,et al.  Techniques of BDD/ZDD: Brief History and Recent Activity , 2013, IEICE Trans. Inf. Syst..

[75]  Michael L. Littman,et al.  Using Caching to Solve Larger Probabilistic Planning Problems , 1998, AAAI/IAAI.

[76]  Rina Dechter,et al.  Backjump-based backtracking for constraint satisfaction problems , 2002, Artif. Intell..

[77]  Fabio Somenzi,et al.  Prime clauses for fast enumeration of satisfying assignments to Boolean circuits , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[78]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[79]  Saburo Muroga,et al.  Binary Decision Diagrams , 2000, The VLSI Handbook.

[80]  Bin Li,et al.  A novel SAT all-solutions solver for efficient preimage computation , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[81]  Russell Impagliazzo,et al.  Formula Caching in DPLL , 2010, TOCT.

[82]  Ed Brinksma,et al.  Proceedings of the 14th International Conference on Computer Aided Verification , 2002 .

[83]  Martin Gebser,et al.  Conflict-Driven Answer Set Enumeration , 2007, LPNMR.

[84]  Michael S. Hsiao,et al.  Efficient preimage computation using a novel success-driven ATPG , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[85]  Koji Tsuda,et al.  BDD construction for all solutions SAT and efficient caching mechanism , 2015, SAC.

[86]  Jörg Brauer,et al.  Existential Quantification as Incremental SAT , 2011, CAV.

[87]  Albert Oliveras,et al.  SMT Techniques for Fast Predicate Abstraction , 2006, CAV.

[88]  Jiawei Han,et al.  Frequent pattern mining: current status and future directions , 2007, Data Mining and Knowledge Discovery.

[89]  Donald E. Knuth,et al.  The Art of Computer Programming: Combinatorial Algorithms, Part 1 , 2011 .

[90]  Sharad Malik,et al.  Verification of Computer Switching Networks: An Overview , 2012, ATVA.

[91]  Ramakrishnan Srikant,et al.  Fast Algorithms for Mining Association Rules in Large Databases , 1994, VLDB.