Using DPLL for Efficient OBDD Construction

  • Jinbo Huang
  • Adnan Darwiche
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3542)


The DPLL procedure has found great success in SAT, where search terminates on the first solution discovered. We show that this procedure is equally promising in a problem where exhaustive search is used, given that it is augmented with appropriate caching. Specifically, we propose two DPLL-based algorithms that construct OBDDs for CNF formulas. These algorithms have a worst-case complexity that is linear in the number of variables and size of the CNF, and exponential only in the cutwidth or pathwidth of the variable ordering. We show how modern SAT techniques can be harnessed by implementing the algorithms on top of an existing SAT solver. We discuss the advantage of this new construction method over the traditional approach, where OBDDs for subsets of the CNF formula are built and conjoined. Our experiments indicate that on many CNF benchmarks, the new method runs orders of magnitude faster than a comparable implementation of the traditional method.


Variable Order Conjunctive Normal Form Recursive Call Conjunctive Normal Form Formula Dead Node 
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.
    Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Journal of the ACM 7(5), 394–397 (1962)MathSciNetGoogle Scholar
  2. 2.
  3. 3.
    Birnbaum, E., Lozinskii, E.: The good old Davis-Putnam procedure helps counting models. Journal of Artificial Intelligence Research 10, 457–477 (1999)zbMATHMathSciNetGoogle Scholar
  4. 4.
    Bayardo, R., Pehoushek, J.: Counting models using connected components. In: AAAI 2000, pp. 157–162 (2000)Google Scholar
  5. 5.
    Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Transactions on Computers C-35, 677–691 (1986)CrossRefGoogle Scholar
  6. 6.
    Darwiche, A., Marquis, P.: A knowledge compilation map. Journal of Artificial Intelligence Research 17, 229–264 (2002)zbMATHMathSciNetGoogle Scholar
  7. 7.
    Hoos, H.H., Stützle, T.: SATLIB: An Online Resource for Research on SAT. In: Gent, I.P., Maaren, H.v., Walsh, T. (eds.) SAT 2000, pp. 283–292. IOS Press, Amsterdam (2000), SATLIB is available online at Google Scholar
  8. 8.
    Aloul, F., Markov, I., Sakallah, K.: Faster SAT and smaller BDDs via common function structure. In: International Conference on Computer Aided Design (ICCAD), University of Michigan (2001)Google Scholar
  9. 9.
    Huang, J., Darwiche, A.: Using DPLL for Efficient OBDD Construction. Technical Report D-140, Computer Science Department, UCLA, Los Angeles, CA 90095 (2004)Google Scholar
  10. 10.
    Gavril, F.: Some NP-complete problems on graphs. In: 11th conference on information sciences and systems, pp. 91–95 (1977)Google Scholar
  11. 11.
    Thilikos, D., Serna, M., Bodlaender, H.: A Polynomial Algorithm for the cutwidth of bounded degree graphs with small treewidth. In: Meyer auf der Heide, F. (ed.) ESA 2001. LNCS, vol. 2161, p. 380. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Kinnersley, N.G.: The vertex separation number of a graph equals its path-width. Information Processing Letters 42, 345–350 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Robertson, N., Seymour, P.D.: Graph minors I: Excluding a forest. Journal of Combinatorial Theory, Series B 35, 39–61 (1983)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Langberg, M., Pnueli, A., Rodeh, Y.: The ROBDD size of simple CNF formulas. In: 12th Advanced Research Working Conference on Correct Hardware Design and Verification Methods (2003)Google Scholar
  15. 15.
    Wang, D., Clarke, E.M., Zhu, Y., Kukula, J.: Using cutwidth to improve symbolic simulation and Boolean satisfiability. In: IEEE International High Level Design Validation and Test Workshop (2001)Google Scholar
  16. 16.
    Aloul, F., Markov, I., Sakallah, K.: FORCE: A Fast and Easy-To-Implement Variable-Ordering Heuristic. In: Great Lakes Symposium on VLSI (GLSVLSI), Washington D.C, pp. 116–119 (2003)Google Scholar
  17. 17.
    Zhang, L., Madigan, C., Moskewicz, M., Malik, S.: Efficient conflict driven learning in a Boolean satisfiability solver. In: Proceedings of ICCAD 2001, San Jose, CA (2001)Google Scholar
  18. 18.
  19. 19.
    ISCAS 1989 Benchmark Circuits,
  20. 20.
    Somenzi, F.: CUDD: CU Decision Diagram Package (Release 2.4.0)Google Scholar
  21. 21.
    Aloul, F., Markov, I., Sakallah, K.: Faster SAT and smaller BDDs via common function structure. Technical Report CSE-TR-445-01, University of Michigan (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Jinbo Huang
    • 1
  • Adnan Darwiche
    • 1
  1. 1.Computer Science DepartmentUniversity of CaliforniaLos Angeles

Personalised recommendations