The SAT Solver C-SAT2

C-SAT2 is a SAT solver that accepts formulas in DIMACS CNF format. It is a complete solver based on the DPLL algorithm and optimized for industrial problems. The solver is an enhancement of our earlier circuit-based SAT solver CSAT [4]. In this enhancement, in addition to various techniques of original development in C-SAT, we also borrow ideas from CNF-based solvers such as zChaff [5] and Berkmin [3], and employ additional heuristics. In recent years, researchers have tried to develop better heuristics to enhance SAT solver efficiency, by speeding up the Boolean Constraint Propagation (BCP) procedure or finding a better decision ordering (or both). Also restart [2, 3], conflict-clause removal [3] and equivalence reasoning [1, 4] techniques have been proven very useful for hard cases. In the following, we will describe in detail the techniques used in C-SAT2.

[1]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002, Discret. Appl. Math..

[2]  Ronen I. Brafman,et al.  A simplifier for propositional formulas with many binary clauses , 2001, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics).

[3]  Kwang-Ting Cheng,et al.  A circuit SAT solver with signal correlation guided learning , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[4]  Yakov Novikov Local search for Boolean relations on the basis of unit propagation , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[5]  Joao Marques-Silva,et al.  Complete Search Restart Strategies for Satisfiability , 2001 .

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