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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
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)
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)
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)
Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Transactions on Computers C-35(8), 677–691 (1986)
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)
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)
Damiano, R., Kukula, J.: Checking satisfiability of a conjunction of BDDs. In: Proceedings of the Design Automation Conference, June 2003, pp. 818–823 (2003)
Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Communications of the ACM 5, 394–397 (1962)
Davis, M., Putnam, H.: A computing procedure for quantification theory. Journal of the Association for Computing Machinery 7(3), 201–215 (1960)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Jin, H., Somenzi, F.: CirCUs: Speeding up circuit SAT with BDD-based implications, April 2004. Submitted for publication (2004)
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)
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)
Liberatore, P.: On the complexity of choosing the branching literal in DPLL. Artificial Intelligence 116(1–2), 315–326 (2000)
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)
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)
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)
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)
Morreale, E.: Recursive operators for prime implicant and irredundant normal form determination. IEEE Transactions on Computers C-19(6), 504–509 (1970)
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)
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)
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)
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)
Somenzi, F.: CUDD: CU Decision Diagram Package. University of Colorado at Boulder, ftp://vlsi.colorado.edu/pub/
Somenzi, F., Ravi, K.: Extracting simple invariants from BDDs (May 2002), Unpublished manuscript
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)
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)
Zhang, H.: SATO: An efficient propositional prover. In: McCune, W. (ed.) CADE 1997. LNCS, vol. 1249, pp. 272–275. Springer, Heidelberg (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)