Advertisement

Efficient Conflict Analysis for Finding All Satisfying Assignments of a Boolean Circuit

  • HoonSang Jin
  • HyoJung Han
  • Fabio Somenzi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3440)

Abstract

Finding all satisfying assignments of a propositional formula has many applications to the synthesis and verification of hardware and software. An approach to this problem that has recently emerged augments a clause-recording propositional satisfiability solver with the ability to add “blocking clauses.” One generates a blocking clause from a satisfying assignment by taking its complement. The resulting clause prevents the solver from visiting the same solution again. Every time a blocking clause is added the search is resumed until the instance becomes unsatisfiable. Various optimization techniques are applied to get smaller blocking clauses, since enumerating each satisfying assignment would be very inefficient.

In this paper, we present an improved algorithm for finding all satisfying assignments for a generic Boolean circuit. Our work is based on a hybrid SAT solver that can apply conflict analysis and implications to both CNF formulae and general circuits. Thanks to this capability, reduction of the blocking clauses can be efficiently performed without altering the solver’s state (e.g., its decision stack). This reduces the overhead incurred in resuming the search. Our algorithm performs conflict analysis on the blocking clause to derive a proper conflict clause for the modified formula. Besides yielding a valid, nontrivial backtracking level, the derived conflict clause is usually more effective at pruning the search space, since it may encompass both satisfiable and unsatisfiable points. Another advantage is that the derived conflict clause provides more flexibility in guiding the score-based heuristics that select the decision variables. The efficiency of our new algorithm is demonstrated by our preliminary results on SAT-based unbounded model checking of VIS benchmark models.

Keywords

Model Check Conjunctive Normal Form Disjunctive Normal Form Propositional Formula Satisfying Assignment 
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.

References

  1. 1.
    Audemard, G., Bertoli, P., Cimatti, A., Kornilowicz, A., Sebastiani, R.: A SAT based approach for solving formulas over boolean and linear mathematical propositions. In: International Conference on Automated Deduction (July 2002)Google Scholar
  2. 2.
    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)CrossRefGoogle Scholar
  3. 3.
    Brayton, R.K., et al.: VIS: A system for verification and synthesis. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 428–432. Springer, Heidelberg (1996)Google Scholar
  4. 4.
    Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Transactions on Computers C-35(8), 677–691 (1986)CrossRefGoogle Scholar
  5. 5.
    Chai, D., Kuehlmann, A.: A fast pseudo-Boolean constraint solver. In: Proceedings of the Design Automation Conference, Anaheim, CA, pp. 830–835 (June 2003)Google Scholar
  6. 6.
    Chauhan, P., Clarke, E.M., Kroening, D.: Using SAT based image computation for reachability analysis. Technical Report CMU-CS-03-151 (2003)Google Scholar
  7. 7.
    Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Communications of the ACM 5, 394–397 (1962)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Davis, M., Putnam, H.: A computing procedure for quantification theory. Journal of the Association for Computing Machinery 7(3), 201–215 (1960)zbMATHMathSciNetGoogle Scholar
  9. 9.
    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, pp. 142–149 (March 2002)Google Scholar
  10. 10.
    Goldberg, E., Novikov, Y.: Verification of proofs of unsatisfiability for CNF formulas. In: Design, Automation and Test in Europe (DATE 2003), Munich, Germany, pp. 886–891 (March 2003)Google Scholar
  11. 11.
    Goldberg, E., Prasad, M., Brayton, R.: Using SAT for combinational equivalence checking. In: Proceedings of the Conference on Design, Automation and Test in Europe, pp. 114–121 (June 2001)Google Scholar
  12. 12.
    Grumberg, O., Schuster, A., Yadgar, A.: Memory efficient all-solutions SAT solver and its application for reachability analysis. In: Hu, A.J., Martin, A.K. (eds.) FMCAD 2004. LNCS, vol. 3312, pp. 275–289. Springer, Heidelberg (2004)Google Scholar
  13. 13.
    Iyer, M.K., Parthasarathy, G., Cheng, K.-T.: SATORI – a fast sequential SAT engine for circuits. In: Proceedings of the International Conference on Computer-Aided Design, San Jose, CA, pp. 320–325 (November 2003)Google Scholar
  14. 14.
    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, Berlin (2004) (to appear)Google Scholar
  15. 15.
    Jin, H., Somenzi, F.: CirCUs: A hybrid satisfiability solver. In: H. Hoos, H., Mitchell, D.G. (eds.) SAT 2004. LNCS, vol. 3542, pp. 211–223. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  16. 16.
    Kang, H.-J., Park, I.-C.: SAT-based unbounded symbolic model checking. In: Proceedings of the Design Automation Conference, Anaheim, CA, pp. 840–843 (June 2003)Google Scholar
  17. 17.
    Kroening, D., Ouaknine, J., Seshia, S.A., Strichman, O.: Abstraction-based satisfiability solving of Presburger arithmetic. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 308–320. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  18. 18.
    Kuehlmann, A., Ganai, M.K., Paruthi, V.: Circuit-based Boolean reasoning. In: Proceedings of the Design Automation Conference, Las Vegas, NV, pp. 232–237 (June 2001)Google Scholar
  19. 19.
    Li, B., Hsiao, M.S., Sheng, S.: A novel SAT all-solutions for efficient preimage computation. In: Proceedings of the Conference on Design, Automation and Test in Europe, pp. 380–384 (March 2004)Google Scholar
  20. 20.
    McMillan, K.L.: Applying SAT methods in unbounded symbolic model checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 250–264. Springer, Berlin (2002)CrossRefGoogle Scholar
  21. 21.
    McMillan, K.L.: Interpolation and SAT-based model checking. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 1–13. Springer, Berlin (2003)CrossRefGoogle Scholar
  22. 22.
    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, pp. 530–535 (June 2001)Google Scholar
  23. 23.
    Nam, G., Aloul, F., Sakallah, K., Rutenbar, R.: A comparative study of two boolean formulations of FPGA detailed routing constaraints. IEEE Transactions on Computer-Aided Design of Integrated Circuits, 688–696 (June 2004)Google Scholar
  24. 24.
    Ravi, K., Somenzi, F.: Minimal assignments for bounded model checking. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 31–45. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  25. 25.
    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, pp. 220–227 (November 1996)Google Scholar
  26. 26.
  27. 27.
    Zhang, H.: SATO: An efficient propositional prover. In: McCune, W. (ed.) CADE 1997. LNCS (LNAI), vol. 1249, pp. 272–275. Springer, Heidelberg (1997)Google Scholar
  28. 28.
    Zhang, L., Madigan, C., Moskewicz, M., Malik, S.: Efficient conflict driven learning in Boolean satisfiability solver. In: Proceedings of the International Conference on Computer-Aided Design, San Jose, CA, pp. 279–285 (November 2001)Google Scholar
  29. 29.
    Zhang, L., Malik, S.: Validating SAT solvers using an independent resolution-based checker: Practical implementations and other applications. In: Design, Automation and Test in Europe (DATE 2003), Munich, Germany, pp. 880–885 (March 2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • HoonSang Jin
    • 1
  • HyoJung Han
    • 1
  • Fabio Somenzi
    • 1
  1. 1.University of Colorado at Boulder 

Personalised recommendations