A Local Search SAT Solver Using an Effective Switching Strategy and an Efficient Unit Propagation

Advances in local-search SAT solvers have traditionally been presented in the context of local search solvers only. The most recent and rather comprehensive comparisons between UnitWalk and several versions of WalkSAT demonstrate that neither solver dominates on all benchmarks. QingTing2 (a ‘dragonfly’ in Mandarin) is a SAT solver script that relies on a novel switching strategy to invoke one of the two local search solvers: WalkSAT or QingTing1. The local search solver QingTing1 implements the UnitWalk algorithm with a new unit-propagation technique. The experimental methodology we use not only demonstrates the effectiveness of the switching strategy and the efficiency of the new unit-propagation implementation – it also supports, on the very same instances, statistically significant performance evaluation between local search and other state-of-the-art DPLL-based SAT solvers. The resulting comparisons show a surprising pattern of solver dominance, completely unanticipated when we began this work.

[1]  Thomas Stützle,et al.  Local Search Algorithms for SAT: An Empirical Evaluation , 2000, Journal of Automated Reasoning.

[2]  Xiao Yu,et al.  QingTing : A Fast SAT Solver Using Local Search and Efficient Unit Propagation , 2003 .

[3]  Matthias F. Stallmann,et al.  SATbed: A Configurable Environment for Reliable Performance Experiments with SAT Instance Classes and Algorithms , 2003 .

[4]  Inês Lynce,et al.  Efficient data structures for backtrack search SAT solvers , 2005, Annals of Mathematics and Artificial Intelligence.

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

[6]  Edward A. Hirsch,et al.  UnitWalk: A new SAT solver that uses local search guided by unit clause elimination , 2005, Annals of Mathematics and Artificial Intelligence.

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

[8]  Bart Selman,et al.  Evidence for Invariants in Local Search , 1997, AAAI/IAAI.

[9]  Matthias F. Stallmann,et al.  On SAT instance classes and a method for reliable performance experiments with SAT solvers , 2005, Annals of Mathematics and Artificial Intelligence.

[10]  David S. Johnson,et al.  A theoretician's guide to the experimental analysis of algorithms , 1999, Data Structures, Near Neighbor Searches, and Methodology.

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

[12]  Mark E. Stickel,et al.  Implementing the Davis–Putnam Method , 2000, Journal of Automated Reasoning.

[13]  Hantao Zhang,et al.  An Efficient Algorithm for Unit Propagation , 1996 .

[14]  Bart Selman,et al.  Noise Strategies for Improving Local Search , 1994, AAAI.

[15]  Matthias F. Stallmann,et al.  The Role of a Skeptic Agent in Testing and Benchmarking of SAT Algorithms , 2002 .