Zchaff2004: An Efficient SAT Solver

  • Yogesh S. Mahajan
  • Zhaohui Fu
  • Sharad Malik
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3542)


The Boolean Satisfiability Problem (SAT) is a well known NP-Complete problem. While its complexity remains a source of many interesting questions for theoretical computer scientists, the problem has found many practical applications in recent years. The emergence of efficient SAT solvers which can handle large structured SAT instances has enabled the use of SAT solvers in diverse domains such as electronic design automation and artificial intelligence. These applications continue to motivate the development of faster and more robust SAT solvers. In this paper, we describe the popular SAT solver zchaff with a focus on recent developments.


Decision Level Conjunctive Normal Form Unit Clause Conjunctive Normal Form Formula Decision Heuristic 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Cook, S.A.: The complexity of theorem-proving procedures. In: Third Annual ACM Symposium on Theory of Computing (1971)Google Scholar
  2. 2.
    Kautz, H., Selman, B.: Planning as Satisfiability. In: European Conference on Artificial Intelligence (1992)Google Scholar
  3. 3.
    Stephan, P., Brayton, R., Sangiovanni-Vencentelli, A.: Combinational test generation using satisfiability. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 15, 1167–1176 (1996)CrossRefGoogle Scholar
  4. 4.
    Jackson, D., Vaziri, M.: Finding bugs with a constraint solver. In: International Symposium on Software Testing and Analysis, Portland, OR (2000)Google Scholar
  5. 5.
    Velev, M.N., Bryant, R.E.: Effective use of boolean satisfiability procedures in the formal verification of superscalar and VLIW. In: 38th DAC, pp. 226–231. ACM Press, New York (2001)Google Scholar
  6. 6.
    Biere, A., Cimatti, A., Clarke, E.M., Zhu, Y.: Symbolic Model Checking without BDDs. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, p. 193. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  7. 7.
    Davis, M., Putnam, H.: A computing procedure for quantification theory. Journal of ACM 7, 201–215 (1960)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Communications of the ACM 5, 394–397 (1962)zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Selman, B., Kautz, H., Cohen, B.: Local search strategies for satisfiability testing. In: Proceedings of the Second DIMACS Challange on Cliques, Coloring, and Satisfiability (1993)Google Scholar
  10. 10.
    Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers C-35, 394–397 (1962)Google Scholar
  11. 11.
    Gunnar Stålmarck: System for Determining Propositional Logic Theorems by Applying Values and Rules to Triplets that are Generated from Boolean Formula, United States Patent. Patent Number 5,276,897 (1994)Google Scholar
  12. 12.
    Gu, J., Purdom, P.W., Franco, J., Wah, B.W.: Algorithms for the Satisfiability (SAT) Problem: A Survey. In: DIMACS Series in Discrete Mathematics and Theoretical Computer Science (1997)Google Scholar
  13. 13.
    Nam, G.J., Sakallah, K.A., Rutenbar, R.A.: Satisfiability-Based Layout Revisited: Detailed Routing of Complex FPGAs Via Search-Based Boolean SAT. In: ACM/SIGDA International Symposium on FPGAs (1999)Google Scholar
  14. 14.
    Marques-Silva, J.P., Sakallah, K.A.: Conflict Analysis in Search Algorithms for Propositional Satisfiability. In: IEEE International Conference on Tools with Artificial Intelligence (1996)Google Scholar
  15. 15.
    Bayardo, R., Schrag, R.: Using CSP look-back techniques to solve real-world SAT instances. In: National Conference on Artificial Intelligence, AAAI (1997)Google Scholar
  16. 16.
    Zhang, H.: SATO: An efficient propositional prover. In: International Conference on Automated Deduction (1997)Google Scholar
  17. 17.
    Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an Efficient SAT Solver. In: 38th DAC (2001)Google Scholar
  18. 18.
    Goldberg, E., Novikov, Y.: BerkMin: A Fast and Robust SAT Solver. In: DATE (2002)Google Scholar
  19. 19.
    Siege Satisfiability Solver (2004),
  20. 20.
    SAT Competition (2003), (2004)
  21. 21.
  22. 22.
  23. 23.
    NuSMW Home Page (2004),
  24. 24.
  25. 25.
    SAT Competition (2002), (2004)
  26. 26.
    Plaisted, D.A., Greenbaum, S.: A stucture-preserving clause form translation. Journal of Symbolic Computation 2, 293–304 (1986)zbMATHCrossRefMathSciNetGoogle Scholar
  27. 27.
    Marques-Silva, J.P., Sakallah, K.A.: GRASP - A New Search Algorithm for Satisfiability. In: IEEE International Conf. on Tools with Artificial Intelligence (1996)Google Scholar
  28. 28.
    Zhang, L., Madigan, C.F., Moskewicz, M.W., Malik, S.: Efficient conflict driven learning in boolean satisfiability solver. In: ICCAD, pp. 279–285 (2001)Google Scholar
  29. 29.
    Li, C.M.: Integrating Equivalency reasoning into Davis-Putnam procedure. In: AAAI 2000 (2000)Google Scholar
  30. 30.
    Freeman, J.W.: Improvements to propositional satisfiability search algorithms. PhD thesis, University of Pennsylvania (1995)Google Scholar
  31. 31.
    Marques-Silva, J.P.: The impact of branching heuristics in propositional satisfiability algorithms. In: 9th Portuguese Conf. on Artificial Intelligence (1999)Google Scholar
  32. 32.
    Zhang, L.: Searching for Truth: Techniques for Satisfiability of Boolean Formulas. PhD thesis. Princeton University, Princeton (2003)Google Scholar
  33. 33.
    Crawford, J., Auton, L.: Experimental results on the cross-over point in satisfiability problems. In: National Conf. on Artificial Intelligence, AAAI 1993 (1993)Google Scholar
  34. 34.
    Zhang, H., Stickel, M.: An efficient algorithm for unit-propagation. In: Fourth International Symposium on Artificial Intelligence and Mathematics, Florida (1996)Google Scholar
  35. 35.
    Nadel, A.: The Jerusat SAT Solver. Master’s thesis. Hebrew University of Jerusalem (2002)Google Scholar
  36. 36.
    Pilarski, S., Hu, G.: Speeding up SAT for EDA. In: DATE (2002)Google Scholar
  37. 37.
    Kautz, H., Horvitz, E., Ruan, Y., Gomes, C., Selman, B.: Dynamic restart policies. In: The 18th National Conf. on Artificial Intelligence (2002)Google Scholar
  38. 38.

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Yogesh S. Mahajan
    • 1
  • Zhaohui Fu
    • 1
  • Sharad Malik
    • 1
  1. 1.Princeton UniversityPrincetonUSA

Personalised recommendations