Adaptive Application of SAT Solving Techniques

New heuristics and strategies have enabled major advancements in SAT solving in recent years. However, experimentation has shown that there is no winning solution that works in all cases. A degradation of orders of magnitude can be observed if the wrong heuristic is chosen. The problem is that it is impossible to know, in advance, which heuristics are best for a given problem. Consequently, many ideas - those that turn out to be useful for a small subset of the cases, but significantly increase run times on most others - are discarded. We propose the notion of Adaptive Solving as a possible solution to this problem. In our framework, the SAT solver monitors the effectiveness of the search on-the-fly using a Performance Metric. The metric gives a score according to its assessment of the search progress. Based on this score, one or more heuristics are turned on or off. The goal is to use a specific heuristic or strategy when it is advantageous, and turn it off when it is not, before it does too much damage. We suggest several possible metrics, and compare their effectiveness. Our adaptive solver achieves significant speedups on a large set of examples. We also show that applying different heuristics on different parts of the search space can improve run times even beyond what can be achieved by the best heuristic on its own.

[1]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[2]  Bernd Becker,et al.  Conflict-Based Selection of Branching Rules , 2003, SAT.

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

[4]  Michail G. Lagoudakis,et al.  Learning to Select Branching Rules in the DPLL Procedure for Satisfiability , 2001, Electron. Notes Discret. Math..

[5]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[6]  Zijiang Yang,et al.  Efficient distributed SAT and SAT-based distributed Bounded Model Checking , 2005, International Journal on Software Tools for Technology Transfer.

[7]  Y. Shoham,et al.  SATzilla : An Algorithm Portfolio for SAT ∗ , 2004 .

[8]  Sharad Malik,et al.  Partition-based decision heuristics for image computation using SAT and BDDs , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[9]  Sharad Malik,et al.  Efficient conflict driven learning in a Boolean satisfiability solver , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[10]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

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

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

[13]  Karem A. Sakallah,et al.  Satometer: how much have we searched? , 2003, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

[15]  Kenneth L. McMillan,et al.  Interpolation and SAT-Based Model Checking , 2003, CAV.

[16]  Hantao Zhang,et al.  SATO: An Efficient Propositional Prover , 1997, CADE.

[17]  Lawrence Ryan Efficient algorithms for clause-learning SAT solvers , 2004 .

[18]  Yoav Shoham,et al.  Understanding Random SAT: Beyond the Clauses-to-Variables Ratio , 2004, CP.

[19]  Zijiang Yang,et al.  Dynamic detection and removal of inactive clauses in SAT with application in image computation , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[20]  Joao Marques-Silva,et al.  Using Rewarding Mechanisms for Improving Branching Heuristics , 2004, SAT.

[21]  Karem A. Sakallah,et al.  Satometer:: how much have we searched? , 2002, DAC '02.

[22]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002, Discret. Appl. Math..