Efficient algorithms for clause-learning SAT solvers
Lawrence M. Ryan · Summit (Simon Fraser University) · 2004
Boolean satisfiability (SAT) is NP-complete.No known algorithm for SAT is of polynomial time complexity.Yet, many of the SAT instances generated as a means of solving real-world electronic design automation problems are simple enough, structurally, that modern solvers can decide them efficiently.Consequently, SAT solvers are widely used in industry for logic verification.The most robust solver algorithms are poorly understood and only vaguely described in the literature of the field.We refine these algorithms, and present them clearly.We introduce several new techniques for Boolean constraint propagation that substantially improve solver efficiency.We explain why literal count decision strategies succeed, and on that basis, we introduce a new decision strategy that outperforms the state of the art.The culmination of this work is the most powerful SAT solver publically available.