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 (CDCL)—which is one of the key components of modern SAT solvers. 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
Audemard G, Bordeaux L, Hamadi Y, Jabbour S, Sais L (2008) A generalized framework for conflict analysis. In: SAT, 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, Feb 2008
Audemard G, Lagniez J-M, 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 RJ, Miranker DP (1996) A complexity analysis of space-bounded learning algorithms for the constraint satisfaction problem. In: In Proceedings of the 13th national conference on artificial intelligence, pp 298–304
Bayardo RJ Jr, Schrag RC (1997) Using CSP look-back techniques to solve real-world SAT instances. In: AAAI, 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. IOS Press, Amsterdam, The Netherlands
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: International syposium on methodologies for intelligent systems, pp 301–309
Bruynooghe M (1981) Solving combinatorial search problems by intelligent backtracking. Inf Process Lett 12(1): 36–39
Chandru V, Hooker J (1999) Optimization methods for logical inference. Wiley, London
Crawford JM, Baker AB (1994) Experimental results on the application of satisfiability algorithms to scheduling problems. In: Proceedings of the 12th national conference on artificial intelligence (AAAI’94), pp 1092–1097
Davis M, Logemann G, Loveland DW (1962) A machine program for theorem-proving. Commun ACM 5(7): 394–397
Dechter R (1986) Learning while searching in constraint-satisfaction-problems. In: AAAI, pp 178–185
Dechter R (1990) Enhancement schemes for constraint processing: backjumping, learning, and cutset decomposition. Artif Intell 41(3): 273–312
Doyle J (1979) A truth maintenance system. Artif Intell 12(3): 231–272
Dubois O, André P, 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 vs. UNSAT, vol 26. American Mathematical Society, pp 415–436
Een N, Sörensson N (2005) Minisat—a sat solver with conflict-clause minimization. In: Proceedings of the 8th 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: SAT, pp 61–75
Eén N, Sörensson N (2003) An extensible sat-solver. In: Proceedings of the 6th international conference on theory and applications of satisfiability testing (SAT’03), pp 502–518
Frost D, Dechter R (1994) Dead-end driven learning. In: AAAI, pp 294–300
Gasching J (1979) Performance measurement and analysis of certain search algorithms. PhD thesis, Department of Computer science, Carnegie Mellon University
Ginsberg ML (1993) Dynamic backtracking. J Artif Intell Res (JAIR) 1: 25–46
Gomes CP, Selman B, Crato N, Kautz HA (2000) Heavy-tailed phenomena in satisfiability and constraint satisfaction problems. J Autom Reasoning 24(1/2): 67–100
Gomes CP, Selman B, Kautz HA (1998) Boosting combinatorial search through randomization. In: AAAI/IAAI, pp 431–437
Hamadi Y, Jabbour S, Sais L (2009) Learning for dynamic subsumption. In: 21st IEEE international conference on tools with artificial intelligence—ICTAI’09, pp 328–335
Hamadi Y, Jabbour S, Sais L (2009) ManySAT: a parallel SAT solver. JSAT 6:245–262
Heule M, Järvisalo M, Biere A (2010) Clause elimination procedures for cnf formulas. In: 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. Wiley, London
Hooker JN (1989) Input proofs and rank one cutting planes. INFORMS J Comput 1(3): 137–145
Hooker JN, Fedjiki C (1990) Branch-and-cut solution of inference problems in propositional logic. Ann Math Artif Intell 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
Jeroslow RG, Wang J (1990) Solving propositional satisfiability problems. Ann Math Artif Intell 1: 167–187
Kautz HA, Horvitz E, Ruan Y, Gomes CP, Selman B (2002) Dynamic restart policies. In: AAAI/IAAI, pp 674–681
Li CM, Anbulagan (1997) Heuristics based on unit propagation for satisfiability problems. In: IJCAI’97, pp 366–371
Luby M, Sinclair A, Zuckerman D (1993) Optimal speedup of las vegas algorithms. Inf Process Lett 47: 173–180
Marques Silva JP, Sakallah KA (1996) Grasp—a new search algorithm for satisfiability. In: ICCAD, pp 220–227
Marques-Silva JP, Sakallah KA (1999) Grasp: a search algorithm for propositional satisfiability. IEEE Trans Comput 48(5): 506–521
Marques-silva JP (1999) The impact of branching heuristics in propositional satisfiability algorithms. In: In 9th Portuguese conference on artificial intelligence EPIA, pp 62–74
McAllester DA (1980) An outlook on truth maintenance. AI Memo 551, MIT AI Laboratory, August 1980
Morris P (1993) The breakout method for escaping from local minima. In: Proceedings of the 11th national conference on artificial intelligence (AAAI’93), pp 40–45
Moskewicz MW, Madigan CF, Zhao Y, Zhang L, Malik S (2001) Chaff: engineering an efficient sat solver. In: DAC, 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 SAT’07, pp 294–299
Pipatsrisawat K, Darwiche A (2008) A new clause learning scheme for efficient unsatisfiability proofs. In: AAAI, pp 1481–1484
Pipatsrisawat K, Darwiche A (2009) On the power of clause-learning sat solvers with restarts. In: CP, 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
Prosser P (1993) Hybrid algorithms for the constraint satisfaction problem. Comput Intell 9: 268–299
Quine WV (1955) A way to simplify truth functions. Am Math Mon 62(9): 627–631
Robinson JA (1965) A machine-oriented logic based on the resolution principle. J ACM 12: 23–41
Sais L (2008) Probleme SAT: Progrès et Défis. Hermes Publishing Ltd, London
Sörensson N, Biere A (2009) Minimizing learned clauses. In: 12th International conference on theory and applications of satisfiability testing—SAT’2009, pp 237–243
Stallman RM, Sussman GJ (1977) Forward reasoning and dependency-directed backtracking in a system for computer-aided circuit analysis. Artif Intell 9(2): 135–196
Subbarayan S, Pradhan DK (2004) Niver: non increasing variable elimination resolution for preprocessing sat instances. In: SAT (2004)
Tseitin GS (1968) On the complexity of derivations in the propositional calculus. In: Slesenko HAO (ed) Structures in constructives mathematics and mathematical logic, Part II, pp 115–125
Warners JP (1998) A linear-time transformation of linear inequalities into conjunctive normal form. Inf Process Lett 68(2): 63–69
Zhang H (1997) SATO: an efficient propositional prover. In: McCune W (ed) Proceedings of the 14th international conference on automated deduction, LNAI, vol 1249. Springer, Berlin, pp 272–275
Zhang Lintao (2005) On subsumption removal and on-the-fly cnf simplification. In: SAT, pp 482–489
Zhang L, Madigan CF, Moskewicz MH (2001) Efficient conflict driven learning in a boolean satisfiability solver. In: In ICCAD, pp 279–285
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Hamadi, Y., Jabbour, S. & Saïs, L. Learning from conflicts in propositional satisfiability. 4OR-Q J Oper Res 10, 15–32 (2012). https://doi.org/10.1007/s10288-011-0191-7
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10288-011-0191-7