Optimizing the Initialization of Dynamic Decision Heuristics in DPLL SAT Solvers Using Genetic Programming

  • Raihan H. Kibria
  • You Li
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3905)


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.


Genetic Programming Boolean Function Conjunctive Normal Form Benchmark Suite Training Problem 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Koza, J.R.: Genetic Programming II: Automatic Discovery of Reusable Programs. MIT Press, Cambridge Massachusetts (1994)MATHGoogle Scholar
  2. 2.
    Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Communications of the ACM,  5 (1962)Google Scholar
  3. 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. 4.
    Een, N., Sörensson, N.: An Extensible SAT-solver. SAT (2003)Google Scholar
  5. 5.
    Hollick, M., Kuhlmann, H.: Genetic Programming in C/C++. CSE99/CIS899 Final Report (May 1995),
  6. 6.
    Marques-Silva, J.P., Sakallah, K.A.: GRASP - A New Search Algorithm for Satisfiability. ICCAD. IEEE Computer Society Press, Los Alamitos (1996)CrossRefGoogle Scholar
  7. 7.
    Velev, M.N.: ENGINE-UNSAT.1.0, FVP-UNSAT.2.0, PIPE-UNSAT.1.1, Available from:
  8. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Raihan H. Kibria
    • 1
  • You Li
    • 1
  1. 1.Computer Systems Lab, Dept. of Electrical Engineering and Information TechnologyDarmstadt University of TechnologyDarmstadtGermany

Personalised recommendations