Speedup Techniques Utilized in Modern SAT Solvers

This paper describes and compares features and techniques modern SAT solvers utilize to maximize performance. Here we focus on: Implication Queue Sorting (IQS) combined with Early Conflict Detection Based BCP (ECDB); and a modified decision heuristic based on the combination of Variable State Independent Decaying Sum (VSIDS), Berkmin, and Siege's Variable Move to Front (VMTF). These features were implemented and compared within the framework of the MIRA SAT solver. The efficient implementation and analysis of these features are presented and the speedup and robustness each feature provides is demonstrated. Finally, with everything enabled (ECDB with IQS and advanced decision heuristics), MIRA was able to consistently outperform zChaff and even Forklift on the benchmarks provided, solving 37 out of 111 industrial benchmarks compared to zChaff's 21 and Forklift's 28.

[1]  Sharad Malik,et al.  Cache Performance of SAT Solvers: a Case Study for Efficient Implementation of Algorithms , 2003, SAT.

[2]  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).

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

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

[5]  Allen Van Gelder Generalizations of Watched Literals for Backtracking Search , 2002, ISAIM.

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

[7]  Inês Lynce,et al.  Efficient data structures for backtrack search SAT solvers , 2005 .

[8]  Eric Horvitz,et al.  Dynamic restart policies , 2002, AAAI/IAAI.

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

[10]  Bernd Becker,et al.  Early Conflict Detection Based BCP for SAT Solving , 2004, SAT.

[11]  Armin Biere The Evolution from LIMMAT to NANOSAT , 2004 .

[12]  Sharad Malik,et al.  Conflict driven learning in a quantified Boolean Satisfiability solver , 2002, ICCAD 2002.

[13]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

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

[15]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002 .