Skip to main content
Log in

An Overview of Backtrack Search Satisfiability Algorithms

  • Published:
Annals of Mathematics and Artificial Intelligence Aims and scope Submit manuscript

Abstract

Propositional Satisfiability (SAT) is often used as the underlying model for a significant number of applications in Artificial Intelligence as well as in other fields of Computer Science and Engineering. Algorithmic solutions for SAT include, among others, local search, backtrack search and algebraic manipulation. In recent years, several different organizations of local search and backtrack search algorithms for SAT have been proposed, in many cases allowing larger problem instances to be solved in different application domains. While local search algorithms have been shown to be particularly useful for random instances of SAT, recent backtrack search algorithms have been used for solving large instances of SAT from real-world applications. In this paper we provide an overview of backtrack search SAT algorithms. We describe and illustrate a number of techniques that have been empirically shown to be highly effective in pruning the amount of search on significant and representative classes of problem instances. In particular, we review strategies for non-chronological backtracking, procedures for clause recording and for the identification of necessary variable assignments, and mechanisms for the structural simplification of instances of SAT.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. L. Baptista and J.P. Marques-Silva, Using randomization and learning to solve hard real-world instances of satisfiability, in: International Conference on Principles and Practice of Constraint Programming (September 2000) pp. 489–494.

  2. P. Barth, ADavis-Putnam enumeration procedure for linear pseudo-Boolean optimization, Technical Report MPI-I-2-003, MPI (January 1995).

  3. R. Bayardo Jr. and R. Schrag, Using CSP look-back techniques to solve real-world SAT instances, in: Proceedings of the National Conference on Artificial Intelligence (1997) pp. 203–208.

  4. C.E. Blair, R.G. Jeroslow and J.K. Lowe, Some results and experiments in programming techniques for propositional logic, Computers and Operations Research 13(5) (1986) 633–645.

    Google Scholar 

  5. M. Böhm and E. Speckenmeyer, A fast parallel SAT-solver - efficient workload balancing, in: Third International Symposium on Artificial Intelligence and Mathematics (1994).

  6. M. Buro and H. Kleine-Büning, Report on a SAT competition, Technical Report, University of Paderborn (November 1992).

  7. O. Coudert, On solving covering problems, in: Proceedings of the ACM/IEEE Design Automation Conference (June 1996) pp. 197–202.

  8. O. Coudert and J.C. Madre, New ideas for solving covering problems, in: Proceedings of the ACM/IEEE Design Automation Conference (June 1995).

  9. J. Crawford and L. Auton, Experimental results on the cross-over point in satisfiability problems, in: Proceedings of the National Conference on Artificial Intelligence (1993) pp. 22–28.

  10. M. Davis, G. Logemann and D. Loveland, A machine program for theorem-proving, Communications of the ACM 5 (July 1962) 394–397.

    Google Scholar 

  11. M. Davis and H. Putnam, A computing procedure for quantification theory, Journal of the ACM 7 (1960) 201–215.

    Google Scholar 

  12. J. de Kleer, An assumption-based TMS, Artificial Intelligence 28 (1986) 127–162.

    Google Scholar 

  13. R. Dechter, Enhancement schemes for constraint processing: Backjumping, learning, and cutset decomposition, Artificial Intelligence 41 (1989/1990) 273–312.

    Google Scholar 

  14. O. Dubois, P. Andre, Y. Boufkhad and J. Carlier, SAT versus UNSAT, in: Second DIMACS Implementation Challenge, eds. D.S. Johnson and M.A. Trick (American Mathematical Society, 1993).

  15. J.W. Freeman, Improvements to propositional satisfiability search algorithms, PhD thesis, University of Pennsylvania, Philadelphia, PA (May 1995).

    Google Scholar 

  16. G. Gallo and G. Urbani, Algorithms for testing the satisfiability of propositional formulae, Journal of Logic Programming 7 (1989) 45–61.

    Google Scholar 

  17. J. Gaschnig, Performance measurement and analysis of certain search algorithms, PhD thesis, Carnegie-Mellon University, Pittsburgh, PA (May 1979).

    Google Scholar 

  18. A.V. Gelder and Y.K. Tsuji, Satisfiability testing with more reasoning and less guessing, in: Second DIMACS Implementation Challenge, eds. D.S. Johnson and M.A. Trick (American Mathematical Society, 1993).

  19. C.P. Gomes and B. Selman, Algorithm portfolio design: theory vs. practice. in: Proceedings of the Thirteenth Conference on Uncertainty in Artificial Intelligence (1997).

  20. C.P. Gomes, B. Selman, N. Crato and H. Kautz, Heavy-tailed phenomena in satisfiability and constraint satisfaction problems, Journal of Automated Reasoning 24(1/2) (2000) 67–100.

    Google Scholar 

  21. C.P. Gomes, B. Selman and H. Kautz, Boosting combinatorial search through randomization, in: Proceedings of the National Conference on Artificial Intelligence (July 1998).

  22. J.F. Groote and J.P. Warners, The propositional formula checker Heerhugo, in: SAT 2000, eds. I. Gent, H. van Maaren and T. Walsh (IOS Press, 2000) pp. 261–281.

  23. J. Franco, J. Gu, P.W. Purdom and B.W. Wah, Algorithms for the satisfiability (SAT) problem: A survey, in: Satisfiability Problem: Theory and Applications, DIMACS Series in Discrete Mathematics and Theoretical Computer Science (American Mathematical Society, 1997) pp. 19–152.

  24. J.N. Hooker and V. Vinay, Branching rules for satisfiability, Journal of Automated Reasoning 15 (1995) 359–383.

    Google Scholar 

  25. R.G. Jeroslow and J. Wang, Solving propositional satisfiability problems, Annals of Mathematics and Artificial Intelligence 1 (1990) 167–187.

    Google Scholar 

  26. D.S. Johnson and M.A. Trick (eds.), Second DIMACS Implementation Challenge (American Mathematical Society, 1993). DIMACS SAT instances available from URL ftp://dimacs.rutgers.edu/pub/challenge/sat/benchmarks/cnf.

  27. S. Kim and H. Zhang, ModGen: Theorem proving by model generation, in: Proceedings of the National Conference on Artificial Intelligence (1994) pp. 162–167.

  28. W. Kunz and D. Stoffel, Reasoning in Boolean Networks (Kluwer Academic, 1997).

  29. T. Larrabee, Test pattern generation using Boolean satisfiability, IEEE Transactions on Computer-Aided Design 11(1) (1992) 4–15.

    Google Scholar 

  30. C.-M. Li, Integrating equivalency reasoning into Davis-Putnam procedure, in: Proceedings of the National Conference on Artificial Intelligence (July 2000) pp. 291–296.

  31. C.-M. Li and Anbulagan, Look-ahead versus look-back for satisfiability problems, in: International Conference on Principles and Practice of Constraint Programming (1997).

  32. J.P. Marques-Silva, Improving satisfiability algorithms by using recursive learning, in: Proceedings of the International Workshop on Boolean Problems (September 1998) pp. 47–58.

  33. J.P. Marques-Silva, Algebraic simplification techniques for propositional satisfiability, in: International Conference on Principles and Practice of Constraint Programming (September 2000) pp. 537–542.

  34. J.P. Marques-Silva and A.L. Oliveira, Improving satisfiability algorithms with dominance and partitioning, in: Proceedings of the ACM/IEEE International Workshop on Logic Synthesis (May 1997).

  35. J.P. Marques-Silva and K.A. Sakallah, GRASP: A new search algorithm for satisfiability, in: Proceedings of the ACM/IEEE International Conference on Computer-Aided Design (November 1996) pp. 220–227.

  36. M. Moskewicz, C. Madigan, Y. Zhao, L. Zhang and S. Malik, Engineering an efficient SAT solver, in: Proceedings of the Design Automation Conference (2001).

  37. D. Pretolani, Efficiency and stability of hypergraph SAT algorithms, in: Second DIMACS Implementation Challenge, eds. D.S. Johnson and M.A. Trick (American Mathematical Society, 1993).

  38. A. Saldanha and V. Singhal, Solving satisfiability in CAD problems, in: Proceedings of the Cadence Technical Conference (May 1997) pp. 191–195.

  39. T. Schiex and G. Verfaillie, Nogood recording for static and dynamic constraint satisfaction problems, in: Proceedings of the International Conference on Tools with Artificial Intelligence (1993) pp. 48–55.

  40. B. Selman and H. Kautz, Domain-independent extensions to GSAT: Solving large structured satisfiability problems, in: Proceedings of the International Joint Conference on Artificial Intelligence (1993) pp. 290–295.

  41. B. Selman, H. Levesque and D. Mitchell, A new method for solving hard satisfiability problems, in: Proceedings of the National Conference on Artificial Intelligence (1992) pp. 440–446.

  42. C. Sinz, W. Blochinger and W. Küchlin, PaSAT: Parallel SAT-checking with lemma exchange: implementation and applications, in: LICS Workshop on Theory and Applications of Satisfiability Testing, Electronic Notes in Discrete Mathematics (Elsevier Science, June 2001).

  43. R.M. Stallman and G.J. Sussman, Forward reasoning and dependency-directed backtracking in a system for computer-aided circuit analysis, Artificial Intelligence 9 (October 1977) 135–196.

    Google Scholar 

  44. G. Stålmarck, A system for determining propositional logic theorems by applying values and rules to triplets that are generated from a formula (1989). Swedish Patent 467 076 (approved 1992); US Patent 5 276 897 (approved 1994); European Patent 0 403 454 (approved 1995).

  45. P.R. Stephan, R.K. Brayton and A.L. Sangiovanni-Vincentelli, Combinational test generation using satisfiability, IEEE Transactions on Computer-Aided Design 15(9) (September 1996) 1167–1176.

    Google Scholar 

  46. R.E. Tarjan, Finding dominators in directed graphs, SIAM Journal on Computing 3(1) (1974) 62–89.

    Google Scholar 

  47. M. Yokoo, Asynchronous weak-commitment search for solving distributed constraint satisfaction problems, in: Proceedings of International Conference on Principles and Practice of Constraint Programming (1995).

  48. R. Zabih and D.A. McAllester, A rearrangement search strategy for determining propositional satisfiability, in: Proceedings of the National Conference on Artificial Intelligence (1988) pp. 155–160.

  49. H. Zhang, SATO: An efficient propositional prover, in: Proceedings of the International Conference on Automated Deduction (July 1997) pp. 272–275.

  50. H. Zhang, M.P. Bonacina and J. Hsiang, PSATO: a distributed propositional prover and its application to quasigroup problems, Journal of Symbolic Computation (1996) 1–18.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lynce, I., Marques-Silva, J.P. An Overview of Backtrack Search Satisfiability Algorithms. Annals of Mathematics and Artificial Intelligence 37, 307–326 (2003). https://doi.org/10.1023/A:1021264516079

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1021264516079

Navigation