Skip to main content
Log in

What we can learn from conflicts in propositional satisfiability

  • SI: 4OR Surveys
  • Published:
Annals of Operations Research Aims and scope Submit manuscript

Abstract

Learning is a general concept, playing an important role in many Artificial intelligence domains. In this paper, we address the learning paradigm used to explain failures or conflicts encountered during search. This explanation, derived by conflict analysis, and generally expressed as a new constraint, is usually used to dynamically avoid future occurrences of similar situations. Before focusing on clause learning in Boolean satisfiability (SAT), we first overview some important works on this powerful reasoning tool in other domains such as constraint satisfaction and truth maintenance systems. Then, we present a comprehensive survey of the most important works having led to what is called today—conflict driven clause learning—which is one of the key components of modern SAT solvers. We also overview some of the original extensions or variants of clauses learning. In theory, current SAT solvers with clause learning are as powerful as general resolution proof systems. In practice, real-world SAT instances with millions of variables and clauses are now in the scope of this solving paradigm.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

References

  • Andrews, P. B. (1968). Resolution with merging. Journal of the ACM, 15(3), 367–381.

    Article  Google Scholar 

  • Audemard, G., Bordeaux, L., Hamadi, Y., Jabbour, S., & Sais, L. (2008). A generalized framework for conflict analysis. In Proceedings of the eleventh international conference on theory and applications of satisfiability testing (SAT’2008), (pp. 21–27).

  • Audemard, G., Bordeaux, L., Hamadi, Y., Jabbour, S., & Sais, L. (2008). A generalized framework for conflict analysis. Technical report MSR-TR-2008-34, Microsoft research.

  • Audemard, G., Lagniez, J., Mazure, B., & Sais, L. (2011). On freezing and reactivating learnt clauses. In Proceedings of the 14th international conference on theory and applications of satisfiability testing (SAT’2011), (pp. 188–200).

  • Bayardo, R. J., & Miranker, D. P. (1996). A complexity analysis of space-bounded learning algorithms for the constraint satisfaction problem. In Proceedings of the thirteenth national conference on artificial intelligence (AAAI’96), (pp. 298–304).

  • Bayardo, R. J., Jr., & Schrag, R. C. (1997) Using CSP look-back techniques to solve real-world SAT instances. In Proceedings of the fourteenth national conference on artificial intelligence (AAAI-97), (pp. 203–208).

  • Biere, A., Biere, A., Heule, M., van Maaren, H., & Walsh, T. (2009). Handbook of satisfiability: Volume 185 Frontiers in artificial intelligence and applications. Amsterdam: IOS Press.

    Google Scholar 

  • Biere, A. (2008). Adaptive restart strategies for conflict driven sat solvers. In Proceedings of the 11th international conference on theory and applications of satisfiability testing (SAT’08), (pp. 28–33).

  • Brisoux, L., Gregoire, E., & Sais, L. (1999). Improving backtrack search for SAT by means of redundancy. In Proceedings of the international syposium on methodologies for intelligent systems (ISMIS’99), (pp. 301–309).

  • Bruynooghe, M. (1981). Solving combinatorial search problems by intelligent backtracking. Information Processing Letters, 12(1), 36–39.

    Article  Google Scholar 

  • Chandru, V., & Hooker, J. (1999). Optimization methods for logical inference. Hoboken: Wiley.

    Book  Google Scholar 

  • Crawford, J. M., & Baker, A. B. (1994). Experimental results on the application of satisfiability algorithms to scheduling problems. In Proceedings of the twelth national conference on artificial intelligence (AAAI’94), (pp. 1092–1097).

  • Davis, M., Logemann, G., & Loveland, D. W. (1962). A machine program for theorem-proving. Communications of the ACM, 5(7), 394–397.

    Article  Google Scholar 

  • Dechter, R. (1986). Learning while searching in constraint-satisfaction-problems. In Proceedings of the fifth national conference on artificial intelligence (AAAI-86), (pp. 178–185).

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

    Article  Google Scholar 

  • Doyle, J. (1979). A truth maintenance system. Artificial Intelligence, 12(3), 231–272.

    Article  Google Scholar 

  • Dubois, O., André, P., Yassine Boufkhad, Y., & Carlier, Y. (1996). Second DIMACS implementation challenge: Cliques, coloring and satisfiability, In DIMACS series in discrete mathematics and theoretical computer science, chapter SAT versus UNSAT (Vol. 26, pp. 415–436). American Mathematical Society.

  • Een, N., & Sörensson, N. (2005). Minisat—a sat solver with conflict-clause minimization. In Proceedings of the eighth international conference on theory and applications of satisfiability testing (SAT’05).

  • Eén, N., & Biere, A. (2005). Effective preprocessing in sat through variable and clause elimination. In Proceedings of the eighth international conference on theory and applications of satisfiability testing (SAT’05), (pp. 61–75).

  • Eén, N., & Sörensson, N. (2003). An extensible sat-solver. In Proceedings of the sixth international conference on theory and applications of satisfiability testing (SAT’03), (pp. 502–518).

  • Frost, D., & Dechter, R. (1994). Dead-end driven learning. In Proceedings of the twelth national conference on artificial intelligence (AAAI-94), (pp. 294–300).

  • Gasching, J. (1979).Performance measurement and analysis of certain search Algorithms. PhD thesis, Department of Computer science, Carnegie Mellon University.

  • Ginsberg, M. L. (1993). Dynamic backtracking. Journal of Artificial Intelligence Research (JAIR), 1, 25–46.

    Google Scholar 

  • Gomes, Carla P., Selman, Bart, Crato, Nuno, & Kautz, Henry A. (2000). Heavy-tailed phenomena in satisfiability and constraint satisfaction problems. Journal of Automated Reasoning, 24(1/2), 67–100.

    Article  Google Scholar 

  • Gomes, C. P., Selman, B., & Kautz, H. A. (1998). Boosting combinatorial search through randomization. In Proceedings of the fifteenth national conference on artificial intelligence (AAAI-98), (pp. 431–437).

  • Guo, L., Jabbour, S., Lonlac, J., & Sais, L. (2014). Diversification by clauses deletion strategies in portfolio parallel SAT solving. In Proceedings of the 26th IEEE international conference on tools with artificial intelligence (ICTAI’2014), Limassol, Cyprus, November 10–12, 2014, (pp. 701–708).

  • Hamadi, Y., Jabbour, S., Piette, C., & Sais, L. (2011). Deterministic parallel DPLL. Journal on Satisfiability, Boolean Modeling and Computation—JSAT, 7(4), 127–132.

    Google Scholar 

  • Hamadi, Y., Jabbour, S., & Sais, L. (2008). ManySAT: Solver description. Technical report MSR-TR-2008-83, Microsoft research.

  • Hamadi, Y., Jabbour, S., & Sais, L. (2009a). Learning for dynamic subsumption. In Proceedings of the 21st IEEE international conference on tools with artificial intelligence (ICTAI’09), (pp. 328–335).

  • Hamadi, Y., Jabbour, S., & Sais, L. (2009b). ManySAT: A parallel SAT solver. Journal on Satisfiability, Boolean Modeling and Computation—JSAT, 6, 245–262.

  • Hamadi, Y., Jabbour, S., & Sais, L. (2012). Learning from conflicts in propositional satisfiability. A Quarterly Journal of Operations Research—4OR, 10(1), 15–32.

    Article  Google Scholar 

  • Hamadi, Y., & Wintersteiger, C. M. (2013). Seven challenges in parallel SAT solving. AI Magazine, 34(2), 99–106.

    Google Scholar 

  • Heule, M., Järvisalo, M., & Biere, A. (2010). Clause elimination procedures for cnf formulas. In Proceedings of the 17th international conference on logic for programming, artificial intelligence, and reasoning (LPAR’10), (pp. 357–371).

  • Heule, M., Järvisalo, M., & Biere, A. (2011). Efficient cnf simplification based on binary implication graphs. In Proceedings of the 14th international conference on theory and applications of satisfiability testing (SAT’11), (pp. 201–215).

  • Hooker, J. (2000). Logic-based methods for optimization: Combining optimization and constraint satisfaction. Hoboken: Wiley.

    Book  Google Scholar 

  • Hooker, J. N. (1989). Input proofs and rank one cutting planes. INFORMS Journal on Computing, 1(3), 137–145.

    Article  Google Scholar 

  • Hooker, J. N., & Fedjiki, C. (1990). Branch-and-cut solution of inference problems in propositional logic. Annals of Mathematics and Artificial Intelligence, 1, 123–139.

    Article  Google Scholar 

  • Huang, J. (2007). The effect of restarts on the efficiency of clause learning. In Proceedings of the 20th international joint conference on artificial intelligence (IJCAI’07), (pp. 2318–2323).

  • Jabbour, S. (2009). Learning for dynamic assignments reordering. In 21st IEEE international conference on tools with artificial intelligence (ICTAI’2009), Newark, New Jersey, USA, 2–4 November 2009, (pp. 336–343).

  • Jabbour, S., Lonlac, J., & Sais, L. (2013). Adding new bi-asserting clauses for faster search in modern sat solvers. In A. M. Frisch and P. Gregory (Eds.), Proceedings of the tenth symposium of abstraction, reformulation, and approximation (SARA’2013). AAAI.

  • Jabbour, S., Lonlac, J., Sais, L., & Salhi, Y. (2014). Revisiting the learned clauses database reduction strategies. CoRR, arXiv:1402.1956

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

    Article  Google Scholar 

  • Kautz, H. A, Horvitz, E., Ruan, Y., Gomes, C. P., & Selman, B. (2002). Dynamic restart policies. In Proceedings of the eighteenth national conference on artificial intelligence (AAAI-02), (pp. 674–681).

  • Li, C. M., & Anbulagan, A. (1997). Heuristics based on unit propagation for satisfiability problems. In Proceedings of the fifteenth international joint conference on artificial intelligence (IJCAI’97), (pp. 366–371).

  • Luby, M., Sinclair, A., & Zuckerman, D. (1993). Optimal speedup of las vegas algorithms. Information Processing Letters, 47, 173–180.

    Article  Google Scholar 

  • Marques-Silva, J. (1999). The impact of branching heuristics in propositional satisfiability algorithms. In Proceedings of the 9th Portuguese conference on artificial intelligence (EPIA’99), (pp. 62–74).

  • Marques-Silva, J. P., & Sakallah, K. A. (1999). Grasp: A search algorithm for propositional satisfiability. IEEE Transactions on Computers, 48(5), 506–521.

    Article  Google Scholar 

  • McAllester, D. A. (1980). An outlook on truth maintenance. AI Memo 551, MIT AI Laboratory.

  • Morris, P. (1993). The breakout method for escaping from local minima. In Proceedings of the eleventh national conference on artificial intelligence (AAAI’93), (pp. 40–45).

  • Moskewicz, M. W., Madigan, C. F., Zhao, Y., Zhang, L., & Malik, S. (2001). Chaff: Engineering an efficient sat solver. In Proceedings of the 38th design automation conference (DAC’01), (pp. 530–535).

  • Piette, C., Hamadi, Y., & Sais, L. (2008). Vivifying propositional clausal formulae. In Proceedings of the 18th European conference on artificial intelligence (ECAI’08), (pp. 525–529).

  • Pipatsrisawat, K., & Darwiche, A. (2007). A lightweight component caching scheme for satisfiability solvers. In Proceedings of the 10th international conference on theory and applications of satisfiability testing (SAT’07), (pp. 294–299).

  • Pipatsrisawat, K., & Darwiche, A. (2008). A new clause learning scheme for efficient unsatisfiability proofs. In Proceedings of the twenty-third AAAI conference on artificial intelligence (AAAI’08), (pp. 1481–1484).

  • Pipatsrisawat, K, & Darwiche, A. (2009). On the power of clause-learning sat solvers with restarts. In Proceedings of the fifteenth international conference on principles and practice of constraint programming (CP’09), (pp. 654–668).

  • Pipatsrisawat, K., & Darwiche, A. (2009). Width-based restart policies for clause-learning satisfiability solvers. In Proceedings of the 12th international conference on theory and applications of satisfiability testing (SAT’09), (pp. 341–355).

  • Pipatsrisawat, K., & Darwiche, A. (2010). On modern clause-learning satisfiability solvers. Journal of Automated Reasoning, 44(3), 277–301.

    Article  Google Scholar 

  • Prosser, P. (1993). Hybrid algorithms for the constraint satisfaction problem. Computational Intelligence, 9, 268–299.

    Article  Google Scholar 

  • Quine, W. V. (1955). A way to simplify truth functions. The American Mathematical Monthly, 62(9), 627–631.

    Article  Google Scholar 

  • Robinson, J. A. (1965). A machine-oriented logic based on the resolution principle. Journal of The ACM, 12, 23–41.

    Article  Google Scholar 

  • Sabharwal, A., Samulowitz, H., & Sellmann, M. (2012). Learning back-clauses in sat. In Alessandro, C., & Roberto S. (Eds.), Proceedings of the 15th international confernce on theory and applications of satisfiability testing (SAT’12), volume 7317 of lecture notes in computer science, (pp. 498–499). Berlin Heidelberg: Springer.

  • Sais, L. (2008). Probleme SAT: Progrès et Défis. Probleme SAT: Progrès et Défis, London.

  • Silva, J. M., & Sakallah, K. A. (1996). Grasp—a new search algorithm for satisfiability. In Proceedings of international conference on computer aided design (ICCAD’96), (pp. 220–227).

  • Sörensson, N., & Biere, A. (2009). Minimizing learned clauses. In Proceedings of the 12th international conference on theory and applications of satisfiability testing (SAT’09), (pp. 237–243).

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

    Article  Google Scholar 

  • Subbarayan, S., & Pradhan, D. K. (2004). Niver: Non increasing variable elimination resolution for preprocessing sat instances. In Proceedings of the seventh international conference on theory and applications of satisfiability testing (SAT’04).

  • The international sat competition and sat race web site. http://www.satcompetition.org/.

  • Tseitin, G. S. (1968). On the complexity of derivations in the propositional calculus. In H.A.O. Slesenko (Ed.), Structures in constructives mathematics and mathematical logic, Part II, (pp. 115–125).

  • Warners, J. P. (1998). A linear-time transformation of linear inequalities into conjunctive normal form. Information Processing Letters, 68(2), 63–69.

    Article  Google Scholar 

  • Zhang, H. (1997). SATO: An efficient propositional prover. In W. McCune (Ed.), Proceedings of the 14th international conference on automated deduction (CADE’97), LNAI, (Vol. 1249, pp. 272–275). Berlin: Springer.

  • Zhang, L. (2005). On subsumption removal and on-the-fly CNF simplification. In Proceedings of the eighth international conference on theory and applications of satisfiability testing (SAT’05), (pp. 482–489).

  • Zhang, L., Madigan, C. F., & Moskewicz, M. H. (2001). Efficient conflict driven learning in a boolean satisfiability solver. In Proceedings of the IEEE/ACM international conference on computer aided design (ICCAD’01), (pp. 279–285).

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lakhdar Saïs.

Additional information

This is an updated version of the paper “Learning from Conflicts in Propositional Satisfiability” that appeared in 4OR, 10(1), 15–32 (2012).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hamadi, Y., Jabbour, S. & Saïs, L. What we can learn from conflicts in propositional satisfiability. Ann Oper Res 240, 13–37 (2016). https://doi.org/10.1007/s10479-015-2028-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10479-015-2028-9

Keywords

Navigation