Abstract
The classical NP-complete problem of Boolean Satisfiability (SAT) has seen much interest in not just the theoretical computer science community, but also in areas where practical solutions to this problem enable significant practical applications. Since the first development of the basic search based algorithm proposed by Davis, Putnam, Logemann and Loveland (DPLL) about forty years ago, this area has seen active research effort with many interesting contributions that have culminated in state-of-the-art SAT solvers today being able to handle problem instances with thousands, and in same cases even millions, of variables. In this paper we examine some of the main ideas along this passage that have led to our current capabilities. Given the depth of the literature in this field, it is impossible to do this in any comprehensive way; rather we focus on techniques with consistent demonstrated efficiency in available solvers. For the most part, we focus on techniques within the basic DPLL search framework, but also briefly describe other approaches and look at some possible future research directions.
Chapter PDF
Similar content being viewed by others
Keywords
- Constraint Satisfaction Problem
- Conjunctive Normal Form
- Unit Clause
- Conjunctive Normal Form Formula
- Satisfiability Test
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
S. A. Cook, “The complexity of theorem-proving procedures,” presented at Third Annual ACM Symposium on Theory of Computing, 1971.
H. Kautz and B. Selman, “Planning as Satisfiability,” presented at European Conference on Artificial Intelligence(ECAI-92), 1992.
P. Stephan, R. Brayton, and A. Sangiovanni-Vencentelli, “Combinational Test Generation Using Satisfiability,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 15, pp. 1167–1176, 1996.
D. Jackson and M. Vaziri, “Finding Bugs with a Constraint Solver,” presented at International Symposium on Software Testing and Analysis, Portland, OR, 2000.
M. Davis and H. Putnam, “A computing procedure for quantification theory,” Journal of ACM, vol. 7, pp. 201–215, 1960.
M. Davis, G. Logemann, and D. Loveland, “A machine program for theorem proving,” Communications of the ACM, vol. 5, pp. 394–397, 1962.
B. Selman, H. Kautz, and B. Cohen, “Local Search Strategies for Satisfiability Testing,” in Cliques, Coloring, and Satisfiability: Second DIMACS Implementation Challenge, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, vol. 26, D. S. Johnson and M. A. Trick, Eds.: American Methematical Society, 1996.
R. E. Bryant, “Graph-Based Algorithms for Boolean Function Manipulation,” IEEE Transactions on Computers, vol. C-35, pp. 677–691, 1986.
G. Stålmarck, “A system for determining prepositional logic theorems by applying values and rules to triplets that are generated from a formula.” US Patent N 5 27689, 1995.
J. Gu, P. W. Purdom, J. Franco, and B. W. Wah, “Algorithms for the Satisfiability (SAT) Problem: A Survey,” in DIMACS Series in Discrete Mathematics and Theoretical Computer Science: American Mathematical Society, 1997.
G.-J. Nam, K. A. Sakallah, and R. A. Rutenbar, “Satisfiability-Based Layout Revisited: Detailed Routing of Complex FPGAs Via Search-Based Boolean SAT,” presented at ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA’99), Monterey, California, 1999.
A. Biere, A. Cimatti, E. M. Clarke, and Y. Zhu, “Symbolic Model Checking without BDDs,” presented at Tools and Algorithms for the Analysis and Construction of Systems (TACAS’99), 1999.
J. Crawford and L. Auton, “Experimental results on the cross-over point in satisfiability problems,” presented at National Conference on Artificial Intelligence (AAAI), 1993.
J. W. Freeman, “Improvements to Propositional Satisfiability Search Algorithms,” in Ph.D. Thesis, Department of Computer and Information Science: University of Pennsylvania, 1995.
A. V. Gelder and Y. K. Tsuji, “Satisfiability Testing with more Reasoning and Less guessing,” in Cliques, Coloring and Satisfiability: Second DIMACS Implementation Challenge, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, M. Trick, Ed.: American Mathematical Society, 1995.
O. Dubois, P. Andre, Y. Boufkhad, and J. Carlier, “SAT v.s. UNSAT,” in Cliques, Coloring and Satisfiability: Second DIMACS Implementation Challenge, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, D. S. Johnson and M. Trick, Eds., 1993.
J. P. Marques-Silva and K. A. Sakallah, “Conflict Analysis in Search Algorithms for Propositional Satisfiability,” presented at IEEE International Conference on Tools with Artificial Intelligence, 1996.
R. Bayardo and R. Schrag, “Using CSP look-back techniques to solve real-world SAT instances,” presented at National Conference on Artificial Intelligence (AAAI), 1997.
H. Zhang, “SATO: An efficient propositional prover,” presented at International Conference on Automated Deduction (CADE), 1997.
M. Moskewicz, C. Madigan, Y. Zhao, L. Zhang, and S. Malik, “Chaff: Engineering an Efficient SAT Solver,” presented at 39th Design Automation Conference, 2001.
E. Goldberg and Y. Novikov, “BerkMin: a Fast and Robust SAT-Solver,” presented at Design Automation & Test in Europe (DATE 2002), 2002.
C. M. Li and Anbulagan, “Heuristics based on unit propagation for satisfiability problems, ” presented at the fifteenth International Joint Conference on Artificial Intelligence (IJCAI’97), Nagayo, Japan, 1997.
O. Dubois and G. Dequen, “A backbone-search heuristic for efficient solving of hard 3-SAT formulae,” presented at International Joint Conference on Artificial Intelligence (IJCAI), 2001.
D. A. Plaisted and S. Greenbaum, “A Stucture-preserving Clause Form Translation,” Journal of Symbolic Computation, vol. 2, pp. 293–304, 1986.
J. P. Marques-Silva and K. A. Sakallah, “GRASP— A New Search Algorithm for Satisfiability,” presented at IEEE International Conference on Tools with Artificial Intelligence, 1996.
J. P. Marques-Silva, “The Impact of Branching Heuristics in Propositional Satisfiability Algorithms,” presented at the 9th Portuguese Conference on Artificial Intelligence (EPIA), 1999.
J. N. Hooker and V. Vinay, “Branching rules for satisfiability,” Journal of Automated Reasoning, vol. 15, pp. 359–383, 1995.
M. Buro and H. Kleine-Buning, “Report on a SAT competition,” Technical Report, University of Paderborn 1992.
R. G. Jeroslow and J. Wang, “Solving propositional satisfiability problems,” Annals of Mathematics and Artificial Intelligence, vol. 1, pp. 167–187, 1990.
H. Zhang and M. Stickel, “An efficient algorithm for unit-propagation,” presented at International Symposium on Artificial Intelligence and Mathematics, Ft. Lauderdale, Florida, 1996.
I. Lynce and J. P. Marques-Silva, “Efficient data structures for backtrack search SAT solvers,” presented at Fifth International Symposium on the Theory and Applications of Satisfiability Testing, 2002.
C. M. Li, “Integrating equivalency reasoning into Davis-Putnam Procedure,” presented at National Conference on Artificial Intelligence (AAAI), 2000.
I. Lynce and J. P. Marques-Silva, “Integrating Simplification Techniques in SAT Algorithms,” presented at Logic in Computer Science Short Paper Session (LICS-SP), 2001.
A. V. Gelder and Y. K. Tsuji, “Satisfiability Testing with more Reasoning and Less guessing,” in Cliques, Coloring and Satisfiability: Second DIMACS Implementation Challenge, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, D. S. Johnson and M. Trick, Eds.: American Mathematical Society, 1993.
S. T. Chakradhar and V. D. Agrawal, “A Transitive Closure Based Algorithm for Test Generation,” presented at Design Automation Conference (DAC), 1991.
W. Kunz and D. K. Pradhan, “Recursive Learning: A New Implication Technique for Efficient Solutions to CAD-problems: Test, Verification and Optimization,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 13, pp. 1143–1158, 1994.
J. P. Marques-Silva, “Improving Satisfiability Algorithms by Using Recursive Learning, ” presented at International Workshop on Boolean Problems (IWBP), 1998.
P. Prosser, “Hybrid algorithms for the constraint satisfaction problem,” Computational Intelligence, vol. 9, pp. 268–299, 1993.
L. Zhang, C. Madigan, M. Moskewicz, and S. Malik, “Efficient Conflict Driven Learning in a Boolean Satisfiability Solver,” presented at International Conference on Computer Aided Design (ICCAD), San Jose, CA, 2001.
G. Hachtel and F. Somenzi, Logic Sysntheiss and Verification Algorithms: Kluwer Academic Publishers, 1996.
H. Zhang and M. Stickel, “Implementing Davis-Putnam’s method,” Technical Report, University of Iowa 1994.
P. Chatalic and L. Simon, “Multi-Resolution on Compressed Sets of Clauses,” presented at International Conference on Tools with Artificial Intelligence, 2000.
F. Aloul, M. Mneimneh, and K. Sakallah, “Backtrack Search Using ZBDDs,” presented at International Workshop on Logic Synthesis (IWLS), 2001.
S. I. Minato, “Zero-Suppressed BDDs for Set Manipulation in Combinatorial Problems,” presented at 30th Design Automation Conference (DAC), 1993.
I. Lynce and J. P. Marques-Silva, “The Puzzling Role of Simplification in Propositional Satisfiability,” presented at EPIA’01 Workshop on Constraint Satisfaction and Operational Research Techniques for Problem Solving (EPIA-CSOR), 2001.
C. P. Gomes, B. Selman, and H. Kautz, “Boosting Combinatorial Search Through Randomization,” presented at National Conference on Artificial Intelligence (AAAI), Madison, WI, 1998.
B. A. Huberman, R. M. Lukose, and T. Hogg, “An Economics approach to hard computational problems,” Science, vol. 275, pp. 51–54, 1997.
I. Lynce and J. P. Marques-Silva, “Complete unrestricted backtracking algorithms for Satisfiability,” presented at Fifth International Symposium on the Theory and Applications of Satisfiability Testing, 2002.
C. P. Gomes, B. Selman, N. Crator, and H. Kautz, “Heavy-tailed phenomena in satisfiability and constraint satisfaction problems,” Journal of Automated Reasoning, vol. 24(1/2), pp. 67–100, 1999.
“Prover Proof Engine,” Prover Technology.
J. F. Groote and J. P. Warners, “The propositional formula checker HeerHugo,” Journal of Automated Reasoning, vol. 24, 2000.
Y. Shang and B. W. Wah, “A Discrete Lagrangian-Based Global-Search Method for Solving Satisfiability Problems,” Journal of Global Optimization, vol. 12, pp. 61–99, 1998.
I. Gent and T. Walsh, “The SAT Phase Transition,” presented at European Conference on Artificial Intelligence (ECAI-94), 1994.
M. Prasad, P. Chong, and K. Keutzer, “Why is ATPG easy?,” presented at Design Automation Conference (DAC99), 1999.
F. Brglez, X. Li, and M. Stallmann, “The role of a skeptic agent in testing and benchmarking of SAT algorithms,” presented at Fifth International Symposium on theTheory and Applications of Satisfiability Testing, 2002.
O. Strichman, “Pruning techniques for the SAT-based Bounded Model Checking Problem,” presented at 11th Advanced Research Working Conference on Correct Hardware Design and Verification Methods (CHARM’01), 2001.
M. Ganai, L. Zhang, P. Ashar, A. Gupta, and S. Malik, “Combining Strengths of Circuit-based and CNF-based Algorithms for a High-Performance SAT Solver,” presented at Design Automation Conference (DAC’02), 2002.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zhang, L., Malik, S. (2002). The Quest for Efficient Boolean Satisfiability Solvers. In: Brinksma, E., Larsen, K.G. (eds) Computer Aided Verification. CAV 2002. Lecture Notes in Computer Science, vol 2404. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45657-0_2
Download citation
DOI: https://doi.org/10.1007/3-540-45657-0_2
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43997-4
Online ISBN: 978-3-540-45657-5
eBook Packages: Springer Book Archive