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.
Similar content being viewed by others
References
Andrews, P. B. (1968). Resolution with merging. Journal of the ACM, 15(3), 367–381.
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.
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.
Chandru, V., & Hooker, J. (1999). Optimization methods for logical inference. Hoboken: Wiley.
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.
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.
Doyle, J. (1979). A truth maintenance system. Artificial Intelligence, 12(3), 231–272.
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.
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.
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.
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.
Hamadi, Y., & Wintersteiger, C. M. (2013). Seven challenges in parallel SAT solving. AI Magazine, 34(2), 99–106.
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.
Hooker, J. N. (1989). Input proofs and rank one cutting planes. INFORMS Journal on Computing, 1(3), 137–145.
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.
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.
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.
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.
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.
Prosser, P. (1993). Hybrid algorithms for the constraint satisfaction problem. Computational Intelligence, 9, 268–299.
Quine, W. V. (1955). A way to simplify truth functions. The American Mathematical Monthly, 62(9), 627–631.
Robinson, J. A. (1965). A machine-oriented logic based on the resolution principle. Journal of The ACM, 12, 23–41.
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.
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.
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).
Author information
Authors and Affiliations
Corresponding author
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
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10479-015-2028-9