Modern Techniques for Solving Boolean Satisfiability

The problem of Boolean satisfiability (SAT) belongs to the class of NPcomplete problems, which are currently believed to have exponential worst case complexity. However, in the recent past there have been many successful attempts to build algorithms, that are able to solve the majority of everyday SAT-problems within a reasonable amount of time. In this paper we will discuss some of the various techniques and heuristics used in modern SAT-solvers to reduce the amount of required computation time to a minimum. Furthermore the implementation of some of those techniques in real world SAT-solvers will be discussed on the example of MiniSAT.

[1]  Matthew W. Moskewicz,et al.  Cha : Engineering an e cient SAT solver , 2001, DAC 2001.

[2]  Niklas Sörensson,et al.  Temporal induction by incremental SAT solving , 2003, BMC@CAV.

[3]  Sharad Malik,et al.  Efficient conflict driven learning in a Boolean satisfiability solver , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[4]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[5]  Joao Marques-Silva,et al.  GRASP-A new search algorithm for satisfiability , 1996, Proceedings of International Conference on Computer Aided Design.

[6]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).