Using Problem Structure for Efficient Clause Learning

DPLL based clause learning algorithms for satisfiability testing are known to work very well in practice. However, like most branch-and-bound techniques, their performance depends heavily on the variable order used in making branching decisions. We propose a novel way of exploiting the underlying problem structure to guide clause learning algorithms toward faster solutions. The key idea is to use a higher level problem description, such as a graph or a PDDL specification, to generate a good branching sequence as an aid to SAT solvers. The sequence captures hierarchical structure that is lost in the CNF translation. We show that this leads to exponential speedups on grid and randomized pebbling problems. The ideas we use originate from the analysis of problem structure recently used in [1] to study clause learning from a theoretical perspective.

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

[2]  Hantao Zhang Solving Open Quasigroup Problems by Propositional Reasoning , 1994 .

[3]  Randal E. Bryant,et al.  Effective use of Boolean satisfiability procedures in the formal verification of superscalar and VLIW microprocessors , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[4]  E. Clarke,et al.  Symbolic model checking using SAT procedures instead of BDDs , 1999, Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361).

[5]  Sheila A. McIlraith,et al.  Partition-Based Logical Reasoning , 2000, KR.

[6]  Bart Selman,et al.  Boosting Combinatorial Search Through Randomization , 1998, AAAI/IAAI.

[7]  David S. Johnson,et al.  Dimacs series in discrete mathematics and theoretical computer science , 1996 .

[8]  M. Mézard,et al.  Random K-satisfiability problem: from an analytic solution to an efficient algorithm. , 2002, Physical review. E, Statistical, nonlinear, and soft matter physics.

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

[10]  Karem A. Sakallah,et al.  GRASP—a new search algorithm for satisfiability , 1996, ICCAD 1996.

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

[12]  Ronen I. Brafman,et al.  A simplifier for propositional formulas with many binary clauses , 2001, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics).

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

[14]  Ofer Shtrichman Tuning SAT Checkers for Bounded Model Checking , 2000, CAV 2000.

[15]  Tracy Larrabee,et al.  Explorations of sequential ATPG using Boolean satisfiability , 1993, Digest of Papers Eleventh Annual 1993 IEEE VLSI Test Symposium.

[16]  Gerald J. Sussman,et al.  Forward Reasoning and Dependency-Directed Backtracking in a System for Computer-Aided Circuit Analysis , 1976, Artif. Intell..

[17]  Bart Selman,et al.  Randomization in Backtrack Search: Exploiting Heavy-Tailed Profiles for Solving Hard Scheduling Problems , 1998, AIPS.

[18]  Joao Marques-Silva,et al.  GRASP-A new search algorithm for satisfiability , 1996, Proceedings of International Conference on Computer Aided Design.

[19]  Maria Luisa Bonet,et al.  On the Relative Complexity of Resolution Refinements and Cutting Planes Proof Systems , 2000, SIAM J. Comput..

[20]  Brian C. Williams,et al.  Diagnosing Multiple Faults , 1987, Artif. Intell..

[21]  Armando Tacchella,et al.  Dependent and Independent Variables in Propositional Satisfiability , 2002, JELIA.

[22]  Bart Selman,et al.  Pushing the Envelope: Planning, Propositional Logic and Stochastic Search , 1996, AAAI/IAAI, Vol. 2.

[23]  Henry A. Kautz,et al.  Understanding the power of clause learning , 2003, IJCAI 2003.

[24]  F. Brglez,et al.  Design of experiments in BDD variable ordering: lessons learned , 1998, 1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287).

[25]  Chu Min Li,et al.  Heuristics Based on Unit Propagation for Satisfiability Problems , 1997, IJCAI.

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

[27]  Michael R. Genesereth,et al.  The Use of Design Descriptions in Automated Diagnosis , 1984, Artif. Intell..

[28]  Robert K. Brayton,et al.  BDD Variable Ordering for Interacting Finite State Machines , 1994, 31st Design Automation Conference.

[29]  Maria Luisa Bonet,et al.  A study of proof search algorithms for resolution and polynomial calculus , 1999, 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039).

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

[31]  Eli Ben-Sasson,et al.  Near Optimal Separation Of Tree-Like And General Resolution , 2004, Comb..

[32]  Randall Davis,et al.  Diagnostic Reasoning Based on Structure and Behavior , 1984, Artif. Intell..

[33]  Bart Selman,et al.  Planning as Satisfiability , 1992, ECAI.

[34]  Russell Impagliazzo,et al.  Memoization and DPLL: formula caching proof systems , 2003, 18th IEEE Annual Conference on Computational Complexity, 2003. Proceedings..

[35]  Igor L. Markov,et al.  Solving difficult SAT instances in the presence of symmetry , 2002, Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324).

[36]  Henrik Reif Andersen,et al.  Equivalence checking of combinational circuits using Boolean expression diagrams , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[37]  Rolf Drechsler,et al.  On the relation between SAT and BDDs for equivalence checking , 2002, Proceedings International Symposium on Quality Electronic Design.

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

[39]  Craig A. Knoblock,et al.  PDDL-the planning domain definition language , 1998 .

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

[41]  Lakhdar Sais,et al.  Recovering and Exploiting Structural Knowledge from CNF Formulas , 2002, CP.