BDD-Guided Clause Generation
Nogood learning is a critical component of Boolean satisfiability (SAT) solvers, and increasingly popular in the context of integer programming and constraint programming. We present a generic method to learn valid clauses from exact or approximate binary decision diagrams (BDDs) and resolution in the context of SAT solving. We show that any clause learned from SAT conflict analysis can also be generated using our method, while, in addition, we can generate stronger clauses that cannot be derived from one application of conflict analysis. Importantly, since SAT instances are often too large for an exact BDD representation, we focus on BDD relaxations of polynomial size and show how they can still be used to generated useful clauses. Our experimental results show that when this method is used as a preprocessing step and the generated clauses are appended to the original instance, the size of the search tree for a SAT solver can be significantly reduced.
KeywordsUnit Propagation Constraint Programming Binary Decision Diagram Partial Assignment Original Instance
Unable to display preview. Download preview PDF.
- 15.Katsirelos, G.: Nogood Processing in CSPs. PhD thesis, University of Toronto (2008)Google Scholar
- 18.Knuth, D.E.: The Art of Computer Programming, vol. 4, fascicle 1: Bitwise Tricks & Techniques; Binary Decision Diagrams. Addison-Wesley (2009)Google Scholar
- 20.Marques-Silva, J.P., Lynce, I., Malik, S.: CDCL solvers. In: Biere, A., Heule, M., van Maaren, H., Walsh, T., (eds.), Handbook of Satisfiability, chapter 4, pp. 131–154. IOS Press (2009)Google Scholar
- 23.SAT Challenge 2012. SAT Challenge 2012: Downloads, November 23, 2014. http://baldur.iti.kit.edu/SAT-Challenge-2012/downloads.html