Skip to main content

CirCUs: A Hybrid Satisfiability Solver

  • Conference paper
Theory and Applications of Satisfiability Testing (SAT 2004)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3542))

Abstract

CirCUs is a satisfiability solver that works on a combination of an And-Inverter-Graph (AIG), Conjunctive Normal Form (CNF) clauses, and Binary Decision Diagrams (BDDs). We show how BDDs are used by CirCUs to help in the solution of SAT instances given in CNF. Specifically, the clauses are sorted by solving a hypergraph linear arrangement problem. Then they are clustered by an algorithm that strives to avoid explosion in the resulting BDD sizes. If clustering results in a single diagram, the SAT instance is solved directly. Otherwise, search for a satisfying assignment is conducted on the original clauses, enhanced with information extracted from the BDDs. We also describe a new decision variable selection heuristic that is based on recognizing that the variables involved in a conflict clause are often best treated as a related group. We present experimental results that demonstrate CirCUs’s efficiency especially for medium-size SAT instances that are hard to solve by traditional solvers based on DPLL.

This work was supported in part by SRC contract 2003-TJ-920.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aloul, F.A., Markov, I.L., Sakallah, K.A.: Mince: A static global variable-ordering for SAT and BDD. In: Presented at IWLS 2001 (June 2001)

    Google Scholar 

  2. Aloul, F.A., Markov, I.L., Sakallah, K.A.: FORCE: A fast and easy-to-implement variable-ordering heuristic. In: Proceedings of the Great Lakes Symposium on VLSI, Washington, DC, April 2003, pp. 116–119 (2003)

    Google Scholar 

  3. Barrett, C.W., Dill, D.L., Stump, A.: Checking satisfiability of first-order formulas by incremental translation to SAT. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 236–249. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  4. Biere, A., Cimatti, A., Clarke, E., Zhu, Y.: Symbolic model checking without BDDs. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 193–207. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  5. Brayton, R.K., et al.: VIS: A system for verification and synthesis. In: Henzinger, T., Alur, R. (eds.) CAV 1996. LNCS, vol. 1102, pp. 428–432. Springer, Heidelberg (1996)

    Google Scholar 

  6. Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Transactions on Computers C-35(8), 677–691 (1986)

    Article  Google Scholar 

  7. Burch, J.R., Clarke, E.M., Long, D.E.: Representing circuits more efficiently in symbolic model checking. In: Proceedings of the Design Automation Conference, San Francisco, CA, June 1991, pp. 403–407 (1991)

    Google Scholar 

  8. Burch, J.R., Singhal, V.: Tight integration of combinational verification methods. In: Proceedings of the International Conference on Computer-Aided Design, San Jose, CA, November 1998, pp. 570–576 (1998)

    Google Scholar 

  9. Damiano, R., Kukula, J.: Checking satisfiability of a conjunction of BDDs. In: Proceedings of the Design Automation Conference, June 2003, pp. 818–823 (2003)

    Google Scholar 

  10. Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Communications of the ACM 5, 394–397 (1962)

    Article  MATH  MathSciNet  Google Scholar 

  11. Davis, M., Putnam, H.: A computing procedure for quantification theory. Journal of the Association for Computing Machinery 7(3), 201–215 (1960)

    MATH  MathSciNet  Google Scholar 

  12. Franco, J., Kouril, M., Schlipf, J., Ward, J., Weaver, S., Dransfield, M., Vanfleet, W.M.: SBSAT: A state-based, BDD-based satisfiability solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 398–410. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  13. Ganai, M.K., Ashar, P., Gupta, A., Zhang, L., Malik, S.: Combining strengths of circuit-based and CNF-based algorithms for a high-performance SAT solver. In: Proceedings of the Design Automation Conference, New Orleans, LA, June 2002, pp. 747–750 (2002)

    Google Scholar 

  14. Goldberg, E., Novikov, Y.: BerkMin: A fast and robust SAT-solver. In: Proceedings of the Conference on Design, Automation and Test in Europe, Paris, France, March 2002, pp. 142–149 (2002)

    Google Scholar 

  15. Gupta, A., Ganai, M., Wang, C., Yang, Z., Ashar, P.: Learning from BDDs in SAT-based bounded model checking. In: Proceedings of the Design Automation Conference, June 2003, pp. 824–829 (2003)

    Google Scholar 

  16. Gupta, A., Gupta, A., Yang, Z., Ashar, P.: Dynamic detection and removal of inactive clauses in SAT with application in image computation. In: Proceedings of the Design Automation Conference, Las Vegas, NV, June 2001, pp. 536–541 (2001)

    Google Scholar 

  17. Gupta, A., Yang, Z., Ashar, P., Gupta, A.: SAT-based image computation with application in reachability analysis. In: Johnson, S.D., Hunt Jr., W.A. (eds.) FMCAD 2000. LNCS, vol. 1954, pp. 354–371. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  18. Herbstritt, M., Becker, B.: Conflict-based selection of branching rules. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 441–451. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  19. Hu, A.J., Dill, D.: Efficient verification with BDDs using implicitly conjoined invariants. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 3–14. Springer, Heidelberg (1993)

    Google Scholar 

  20. Jeong, S.-W., Somenzi, F.: A new algorithm for 0-1 programming based on binary decision diagrams. In: Sasao, T. (ed.) Logic Synthesis and Optimization, ch. 7, pp. 145–165. Kluwer Academic Publishers, Boston (1993)

    Google Scholar 

  21. Jin, H., Awedh, M., Somenzi, F.: CirCUs: A satisfiability solver geared towards bounded model checking. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 519–522. Springer, Heidelberg (2004) (to appear)

    Chapter  Google Scholar 

  22. Jin, H., Kuehlmann, A., Somenzi, F.: Fine-grain conjunction scheduling for symbolic reachability analysis. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 312–326. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  23. Jin, H., Somenzi, F.: CirCUs: Speeding up circuit SAT with BDD-based implications, April 2004. Submitted for publication (2004)

    Google Scholar 

  24. Kuehlmann, A., Ganai, M.K., Paruthi, V.: Circuit-based Boolean reasoning. In: Proceedings of the Design Automation Conference, Las Vegas, NV, June 2001, pp. 232–237 (2001)

    Google Scholar 

  25. Kuehlmann, A., Krohm, F.: Equivalence checking using cuts and heaps. In: Proceedings of the Design Automation Conference, Anaheim, CA, June 1997, pp. 263–268 (1997)

    Google Scholar 

  26. Liberatore, P.: On the complexity of choosing the branching literal in DPLL. Artificial Intelligence 116(1–2), 315–326 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  27. Minato, S.-I.: Fast generation of irredundant sums-of-products forms from binary decision diagrams. In: SASIMI 1992, Kyoto, Japan, April 1992, pp. 64–73 (1992)

    Google Scholar 

  28. Minato, S.-I.: Zero-suppressed BDDs for set manipulation in combinatorial problems. In: Proceedings of the Design Automation Conference, Dallas, TX, June 1993, pp. 272–277 (1993)

    Google Scholar 

  29. Moon, I.-H., Hachtel, G.D., Somenzi, F.: Border-block triangular form and conjunction schedule in image computation. In: Johnson, S.D., Hunt Jr., W.A. (eds.) FMCAD 2000. LNCS, vol. 1954, pp. 73–90. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  30. Moon, I.-H., Kukula, J.H., Ravi, K., Somenzi, F.: To split or to conjoin: The question in image computation. In: Proceedings of the Design Automation Conference, Los Angeles, CA, June 2000, pp. 23–28 (2000)

    Google Scholar 

  31. Morreale, E.: Recursive operators for prime implicant and irredundant normal form determination. IEEE Transactions on Computers C-19(6), 504–509 (1970)

    Article  Google Scholar 

  32. Moskewicz, M., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Proceedings of the Design Automation Conference, Las Vegas, NV, June 2001, pp. 530–535 (2001)

    Google Scholar 

  33. Quinn, N.R.: The placement problem as viewed from the physics of classical mechanics. In: Proceedings of the Design Automation Conference, Boston, MA, June 1975, pp. 173–178 (1975)

    Google Scholar 

  34. http://www.lri.fr/~simon/contest/results

  35. Silva, J.P.M.: The impact of branching heuristics in propositional satisfiability algorithms. In: Barahona, P., Alferes, J.J. (eds.) EPIA 1999. LNCS (LNAI), vol. 1695, pp. 62–74. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  36. Silva, J.P.M., Sakallah, K.A.: Grasp—a new search algorithm for satisfiability. In: Proceedings of the International Conference on Computer-Aided Design, San Jose, CA, November 1996, pp. 220–227 (1996)

    Google Scholar 

  37. Somenzi, F.: CUDD: CU Decision Diagram Package. University of Colorado at Boulder, ftp://vlsi.colorado.edu/pub/

  38. Somenzi, F., Ravi, K.: Extracting simple invariants from BDDs (May 2002), Unpublished manuscript

    Google Scholar 

  39. Touati, H., Savoj, H., Lin, B., Brayton, R.K., Sangiovanni-Vincentelli, A.: Implicit enumeration of finite state machines using BDD’s. In: Proceedings of the IEEE International Conference on Computer Aided Design, November 1990, pp. 130–133 (1990)

    Google Scholar 

  40. Velev, M.N.: Exploiting signal unobservability for efficient translation to CNF in formal verification of microprocessor. In: The Proceedings of the IEEE/ACM Design, Automation and Test in Europe Conference (DATE), February 2004, pp. 10266–10271 (2004)

    Google Scholar 

  41. http://vlsi.colorado.edu/~vis

  42. Zhang, H.: SATO: An efficient propositional prover. In: McCune, W. (ed.) CADE 1997. LNCS, vol. 1249, pp. 272–275. Springer, Heidelberg (1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jin, H., Somenzi, F. (2005). CirCUs: A Hybrid Satisfiability Solver. In: Hoos, H.H., Mitchell, D.G. (eds) Theory and Applications of Satisfiability Testing. SAT 2004. Lecture Notes in Computer Science, vol 3542. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11527695_17

Download citation

  • DOI: https://doi.org/10.1007/11527695_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-27829-0

  • Online ISBN: 978-3-540-31580-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics