Optimizing the Initialization of Dynamic Decision Heuristics in DPLL SAT Solvers Using Genetic Programming
The Boolean satisfiability problem (SAT) has many applications in electronic design automation (EDA) as well as theoretical computer science. Most SAT solvers for EDA problems use the DPLL algorithm and conflict analysis dependent decision heuristics. When the search starts, the heuristics have little or no information about the structure of the CNF. In this work, an algorithm for initializing dynamic decision heuristics is evolved using genetic programming. The open-source SAT solver MiniSAT v1.12 is used. Using the best algorithm evolved, an advantage was found for solving unsatisfiable EDA SAT problems.
KeywordsGenetic Programming Boolean Function Conjunctive Normal Form Benchmark Suite Training Problem
Unable to display preview. Download preview PDF.
- 2.Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Communications of the ACM, 5 (1962)Google Scholar
- 3.Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an Efficient SAT Solver. In: Proc. of the 38th Design Automation Conference (2001)Google Scholar
- 4.Een, N., Sörensson, N.: An Extensible SAT-solver. SAT (2003)Google Scholar
- 5.Hollick, M., Kuhlmann, H.: Genetic Programming in C/C++. CSE99/CIS899 Final Report (May 1995), http://www.cis.upenn.edu/~hollick/genetic/paper2.html
- 7.Velev, M.N.: ENGINE-UNSAT.1.0, FVP-UNSAT.2.0, PIPE-UNSAT.1.1, Available from: http://www.ece.cmu.edu/~mvelev
- 8.Aloul, F.A., Markov, I.L., Sakallah, K.A.: MINCE: A Static Global Variable-Ordering Heuristic for SAT Search and BDD Manipulation. Journal of Universal Computer Science 10(12), 1562–1596 (2004)Google Scholar