Between SAT and UNSAT: The Fundamental Difference in CDCL SAT

The way CDCL SAT solvers find a satisfying assignment is very different from the way they prove unsatisfiability. We propose an explanation to the difference by identifying direct connections to the workings of some of the most important elements in CDCL solvers: the effects of restarts and VSIDS, and the roles of learned clauses. We give a wide range of concrete evidence that highlights the varying effects and roles of these elements. As a result, this paper also sheds a new light on the internal workings of CDCL. Based on our reasoning on the difference in solver behaviors, we present several ideas for optimizing SAT solvers for either SAT or UNSAT instances. We then show that we can achieve improvements on both SAT and UNSAT at the same time by judiciously exploiting the difference. We have implemented a hybrid idea mixing two different restart strategies on top of our new solver COMiniSatPS and observed substantial performance improvement.

[1]  Gilles Audemard,et al.  Glucose 2.1: Aggressive - but Reactive - Clause Database Management, Dynamic Restarts , 2012 .

[2]  Gilles Audemard,et al.  Predicting Learnt Clauses Quality in Modern SAT Solvers , 2009, IJCAI.

[3]  Laurent Simon,et al.  Post Mortem Analysis of SAT Solver Proofs , 2014, POS@SAT.

[4]  Ofer Strichman,et al.  Local Restarts , 2008, SAT.

[5]  Armin Biere Yet another Local Search Solver and Lingeling and Friends Entering the SAT Competition 2014 , 2014 .

[6]  Gilles Audemard,et al.  Refining Restarts Strategies for SAT and UNSAT , 2012, CP.

[7]  Allen Van Gelder Contrasat - A Contrarian SAT Solver , 2012, J. Satisf. Boolean Model. Comput..

[8]  Vegard Nossum,et al.  SAT-based preimage attacks on SHA-1 , 2012 .

[9]  Tomohiro Sonobe,et al.  Counter Implication Restart for Parallel SAT Solvers , 2012, LION.

[10]  Armin Biere Lingeling, Plingeling and Treengeling Entering the SAT Competition 2013 , 2013 .

[11]  Marijn J. H. Heule,et al.  Towards Ultra Rapid Restarts , 2014, ArXiv.

[12]  Armin Haken,et al.  The Intractability of Resolution , 1985, Theor. Comput. Sci..

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

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

[15]  David Zuckerman,et al.  Optimal speedup of Las Vegas algorithms , 1993, [1993] The 2nd Israel Symposium on Theory and Computing Systems.

[16]  Christoph M. Kirsch,et al.  Analysis of Portfolio-Style Parallel SAT Solving on Current Multi-Core Architectures , 2013, POS@SAT.

[17]  Bart Selman,et al.  Heavy-Tailed Phenomena in Satisfiability and Constraint Satisfaction Problems , 2000, Journal of Automated Reasoning.

[18]  Lakhdar Sais,et al.  On Freezing and Reactivating Learnt Clauses , 2011, SAT.

[19]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[20]  Armin Biere Adaptive Restart Strategies for Conflict Driven SAT Solvers , 2008, SAT.

[21]  Joao Marques-Silva,et al.  GRASP: A Search Algorithm for Propositional Satisfiability , 1999, IEEE Trans. Computers.

[22]  Adnan Darwiche,et al.  On the power of clause-learning SAT solvers as resolution engines , 2011, Artif. Intell..