The Quest for Efficient Boolean Satisfiability Solvers

  • Lintao Zhang
  • Sharad Malik
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2392)

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    S. A. Cook, “The complexity of theorem-proving procedures,” presented at Third Annual ACM Symposium on Theory of Computing, 1971.Google Scholar
  2. [2]
    H. Kautz and B. Selman, “Planning as Satisfiability,” presented at European Conference on Artificial Intelligence(ECAI-92), 1992.Google Scholar
  3. [3]
    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.CrossRefGoogle Scholar
  4. [4]
    D. Jackson and M. Vaziri, “Finding Bugs with a Constraint Solver,” presented at International Symposium on Software Testing and Analysis, Portland, OR, 2000.Google Scholar
  5. [5]
    M. Davis and H. Putnam, “A computing procedure for quantification theory,” Journal of ACM, vol. 7, pp. 201–215, 1960.MATHCrossRefMathSciNetGoogle Scholar
  6. [6]
    M. Davis, G. Logemann, and D. Loveland, “A machine program for theorem proving,” Communications of the ACM, vol. 5, pp. 394–397, 1962.MATHCrossRefMathSciNetGoogle Scholar
  7. [7]
    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.Google Scholar
  8. [8]
    R. E. Bryant, “Graph-Based Algorithms for Boolean Function Manipulation,” IEEE Transactions on Computers, vol. C-35, pp. 677–691, 1986.CrossRefGoogle Scholar
  9. [9]
    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.Google Scholar
  10. [10]
    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.Google Scholar
  11. [11]
    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.Google Scholar
  12. [12]
    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.Google Scholar
  13. [13]
    J. Crawford and L. Auton, “Experimental results on the cross-over point in satisfiability problems,” presented at National Conference on Artificial Intelligence (AAAI), 1993.Google Scholar
  14. [14]
    J. W. Freeman, “Improvements to Propositional Satisfiability Search Algorithms,” in Ph.D. Thesis, Department of Computer and Information Science: University of Pennsylvania, 1995.Google Scholar
  15. [15]
    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.Google Scholar
  16. [16]
    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.Google Scholar
  17. [17]
    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.Google Scholar
  18. [18]
    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.Google Scholar
  19. [19]
    H. Zhang, “SATO: An efficient propositional prover,” presented at International Conference on Automated Deduction (CADE), 1997.Google Scholar
  20. [20]
    M. Moskewicz, C. Madigan, Y. Zhao, L. Zhang, and S. Malik, “Chaff: Engineering an Efficient SAT Solver,” presented at 39th Design Automation Conference, 2001.Google Scholar
  21. [21]
    E. Goldberg and Y. Novikov, “BerkMin: a Fast and Robust SAT-Solver,” presented at Design Automation & Test in Europe (DATE 2002), 2002.Google Scholar
  22. [22]
    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.Google Scholar
  23. [23]
    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.Google Scholar
  24. [24]
    D. A. Plaisted and S. Greenbaum, “A Stucture-preserving Clause Form Translation,” Journal of Symbolic Computation, vol. 2, pp. 293–304, 1986.MATHCrossRefMathSciNetGoogle Scholar
  25. [25]
    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.Google Scholar
  26. [26]
    J. P. Marques-Silva, “The Impact of Branching Heuristics in Propositional Satisfiability Algorithms,” presented at the 9th Portuguese Conference on Artificial Intelligence (EPIA), 1999.Google Scholar
  27. [27]
    J. N. Hooker and V. Vinay, “Branching rules for satisfiability,” Journal of Automated Reasoning, vol. 15, pp. 359–383, 1995.MATHCrossRefMathSciNetGoogle Scholar
  28. [28]
    M. Buro and H. Kleine-Buning, “Report on a SAT competition,” Technical Report, University of Paderborn 1992.Google Scholar
  29. [29]
    R. G. Jeroslow and J. Wang, “Solving propositional satisfiability problems,” Annals of Mathematics and Artificial Intelligence, vol. 1, pp. 167–187, 1990.MATHCrossRefGoogle Scholar
  30. [30]
    H. Zhang and M. Stickel, “An efficient algorithm for unit-propagation,” presented at International Symposium on Artificial Intelligence and Mathematics, Ft. Lauderdale, Florida, 1996.Google Scholar
  31. [31]
    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.Google Scholar
  32. [32]
    C. M. Li, “Integrating equivalency reasoning into Davis-Putnam Procedure,” presented at National Conference on Artificial Intelligence (AAAI), 2000.Google Scholar
  33. [33]
    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.Google Scholar
  34. [34]
    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.Google Scholar
  35. [35]
    S. T. Chakradhar and V. D. Agrawal, “A Transitive Closure Based Algorithm for Test Generation,” presented at Design Automation Conference (DAC), 1991.Google Scholar
  36. [36]
    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.CrossRefGoogle Scholar
  37. [37]
    J. P. Marques-Silva, “Improving Satisfiability Algorithms by Using Recursive Learning,” presented at International Workshop on Boolean Problems (IWBP), 1998.Google Scholar
  38. [38]
    P. Prosser, “Hybrid algorithms for the constraint satisfaction problem,” Computational Intelligence, vol. 9, pp. 268–299, 1993.CrossRefGoogle Scholar
  39. [39]
    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.Google Scholar
  40. [40]
    G. Hachtel and F. Somenzi, Logic Sysntheiss and Verification Algorithms: Kluwer Academic Publishers, 1996.Google Scholar
  41. [41]
    H. Zhang and M. Stickel, “Implementing Davis-Putnam’s method,” Technical Report, University of Iowa 1994.Google Scholar
  42. [42]
    P. Chatalic and L. Simon, “Multi-Resolution on Compressed Sets of Clauses,” presented at International Conference on Tools with Artificial Intelligence, 2000.Google Scholar
  43. [43]
    F. Aloul, M. Mneimneh, and K. Sakallah, “Backtrack Search Using ZBDDs,” presented at International Workshop on Logic Synthesis (IWLS), 2001.Google Scholar
  44. [44]
    S. I. Minato, “Zero-Suppressed BDDs for Set Manipulation in Combinatorial Problems,” presented at 30th Design Automation Conference (DAC), 1993.Google Scholar
  45. [45]
    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.Google Scholar
  46. [46]
    C. P. Gomes, B. Selman, and H. Kautz, “Boosting Combinatorial Search Through Randomization,” presented at National Conference on Artificial Intelligence (AAAI), Madison, WI, 1998.Google Scholar
  47. [47]
    B. A. Huberman, R. M. Lukose, and T. Hogg, “An Economics approach to hard computational problems,” Science, vol. 275, pp. 51–54, 1997.CrossRefGoogle Scholar
  48. [48]
    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.Google Scholar
  49. [49]
    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.CrossRefGoogle Scholar
  50. [50]
    “Prover Proof Engine,” Prover Technology.Google Scholar
  51. [51]
    J. F. Groote and J. P. Warners, “The propositional formula checker HeerHugo,” Journal of Automated Reasoning, vol. 24, 2000.Google Scholar
  52. [52]
    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.MATHCrossRefMathSciNetGoogle Scholar
  53. [53]
    I. Gent and T. Walsh, “The SAT Phase Transition,” presented at European Conference on Artificial Intelligence (ECAI-94), 1994.Google Scholar
  54. [54]
    M. Prasad, P. Chong, and K. Keutzer, “Why is ATPG easy?,” presented at Design Automation Conference (DAC99), 1999.Google Scholar
  55. [55]
    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.Google Scholar
  56. [56]
    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.Google Scholar
  57. [57]
    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.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Lintao Zhang
    • 1
  • Sharad Malik
    • 1
  1. 1.Department of Electrical EngineeringPrinceton UniversityPrinceton

Personalised recommendations