Constraints

, Volume 14, Issue 4, pp 478–505 | Cite as

SymChaff: exploiting symmetry in a structure-aware satisfiability solver

Article

Abstract

This article presents a new low-overhead framework for representing and utilizing problem symmetry in propositional satisfiability algorithms. While many previous approaches have focused on symmetry extraction as a key component, the novelty in the proposed strategy lies in using high level problem description to pass on symmetry information to the SAT solver in a simple and concise form, in addition to the usual conjunctive normal form formula. This information, comprising of the so-called symmetry sets and variable classes, captures variable semantics relevant to “complete multi-class symmetry” and is utilized dynamically to prune the search space. This allows us to address many limitations of alternative approaches like symmetry breaking predicates, implicit pseudo-Boolean representations, general group-theoretic methods, and zero-suppressed binary decision diagrams. We demonstrate the efficacy of our technique through a solver called SymChaff, which achieves exponential speedup over one of the best systematic SAT solvers on problems from both theory and practice, often by simply using natural tags or annotation in the problem specification.

Keywords

Boolean satisfiability SAT SymChaff Complete multi-class symmetry Global symmetry High-level representation Planning 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aloul, F. A., Markov, I. L., & Sakallah, K. A. (2003a). Shatter: Efficient symmetry-breaking for Boolean satisfiability. In Proceedings of DAC-03: 40th design automation conference (pp. 836–839). Anahein, CA, June 2003.Google Scholar
  2. 2.
    Aloul, F. A., Ramani, A., Markov, I. L., & Sakallah, K. A. (2002). PBS: A backtrack-search pseudo-Boolean solver and optimizer. In Proceedings of SAT-02: 5th international conference on theory and applications of satisfiability testing (pp. 346–353). Cincinnati, OH, May 2002.Google Scholar
  3. 3.
    Aloul, F. A., Ramani, A., Markov, I. L., & Sakallah, K. A. (2003b). Solving difficult instances of Boolean satisfiability in the presence of symmetry. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 22(9), 1117–1137.CrossRefGoogle Scholar
  4. 4.
    Aloul, F. A., Sakallah, K. A., & Markov, I. L. (2006). Efficient symmetry breaking for Boolean satisfiability. IEEE Transactions on Computers, 55(5), 549–558.CrossRefGoogle Scholar
  5. 5.
    Bayardo Jr., R. J. & Schrag, R. C. (1997). Using CSP look-back techniques to solve real-world SAT instances. In Proceedings of AAAI-97: 14th conference on artificial intelligence (pp. 203–208). Providence, RI, July 1997.Google Scholar
  6. 6.
    Beame, P., Kautz, H., & Sabharwal, A. (2004). Understanding and harnessing the potential of clause learning. Journal of Artificial Intelligence Research, 22, 319–351, Dec.MATHMathSciNetGoogle Scholar
  7. 7.
    Biere, A., Cimatti, A., Clarke, E. M., Fujita, M., & Zhu, Y. (1999). Symbolic model checking using SAT procedures instead of BDDs. In Proceedings of DAC-99: 36th design automation conference (pp. 317–320). New Orleans, LA, June 1999.Google Scholar
  8. 8.
    Chai, D., & Kuehlmann, A. (2005). A fast pseudo-Boolean constraint solver. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 24(3), 305–317.CrossRefGoogle Scholar
  9. 9.
    Cook, W., Coullard, C. R., & Turan, G. (1987). On the complexity of cutting plane proofs. Discrete Applied Mathematics, 18, 25–38.MATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Crawford, J. M., Ginsberg, M. L., Luks, E. M., & Roy, A. (1996). Symmetry-breaking predicates for search problems. In Proceedings of KR-96: 5th international conference on principles of knowledge representation and reasoning (pp. 148–159). Cambridge, MA, Nov 1996.Google Scholar
  11. 11.
    Darga, P. T., Liffiton, M. H., Sakallah, K. A., & Markov, I. L. (2004). Exploiting structure in symmetry detection for CNF. In Proceedings of DAC-04: 41st design automation conference (pp. 518–522). San Diego, CA, June 2004.Google Scholar
  12. 12.
    Davis, M., & Putnam, H. (1960). A computing procedure for quantification theory. Communications of the ACM, 7, 201–215.MATHMathSciNetGoogle Scholar
  13. 13.
    Davis, M., Logemann, G., & Loveland, D. (1962). A machine program for theorem proving. Communications of the ACM, 5, 394–397.MATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Dixon, H. E., Ginsberg, M. L., Luks, E. M., & Parkes, A. J. (2004a). Generalizing Boolean satisfiability II: Theory. Journal of Artificial Intelligence Research, 22, 481–534.MATHMathSciNetGoogle Scholar
  15. 15.
    Dixon, H. E., Ginsberg, M. L., & Parkes, A. J. (2004b) Generalizing Boolean satisfiability I: Background and survey of existing work. Journal of Artificial Intelligence Research, 21, 193–243.MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Eén, N., & Sörensson, N. (2005) MiniSat: A SAT solver with conflict-clause minimization. In Proceedings of SAT-05: 8th international conference on theory and applications of satisfiability testing. UK: St. Andrews, June 2005.Google Scholar
  17. 17.
    Fahle, T., Schamberger, S., & Sellmann, M. (2001). Symmetry breaking. In CP-01: 7th international conference on principles and practice of constraint programming. Lecture notes in computer science (Vol. 2239, pp. 93–107). Cyprus: Paphos, Nov 2001.Google Scholar
  18. 18.
    Fikes, R. E., & Nilsson, N. J. (1971). STRIPS: A new approach to the application of theorem proving to problem solving. Artificial Intelligence, 2(3/4), 198–208.Google Scholar
  19. 19.
    Focacci, F., & Milano, M. (2001). Global cut framework for removing symmetries. In CP-01: 7th international conference on principles and practice of constraint programming. Lecture notes in computer science (Vol. 2239, pp. 77–92). Cyprus: Paphos, Nov 2001.Google Scholar
  20. 20.
    Fox, M., & Long, D. (1999). The detection and exploitation of symmetry in planning problems. In Proceedings of IJCAI-99: 16th international joint conference on artificial intelligence (pp. 956–961), July 1999.Google Scholar
  21. 21.
    Fox, M., & Long, D. (2002). Extending the exploitation of symmetries in planning. In Proceedings of AIPS-02: 6th international conference on artificial intelligence planning systems (pp. 83–91), Apr 2002.Google Scholar
  22. 22.
    Gallier, J. H. (1986). Logic for computer science. New York: Harper & Row.MATHGoogle Scholar
  23. 23.
    Gent, I. P., Harvey, W., Kelsey, T., & Linton, S. (2003). Generic SBDD using computational group theory. In CP-03: 9th international conference on principles and practice of constraint programming. Lecture notes in computer science (Vol. 2833, pp. 333–347). Ireland: Kinsale, Sept 2003.Google Scholar
  24. 24.
    Gent, I. P., & Smith, B. M. (2000). Symmetry breaking in constraint programming. In Proceedings of ECAI-00: 14th European conference on artificial intelligence (pp. 599–603). Berlin, Germany, Aug 2000.Google Scholar
  25. 25.
    Goldberg, E., & Novikov, Y. (2002). BerkMin: A fast and robust sat-solver. In Design, automation and test in europe conference and exposition (DATE) (pp. 142–149). Paris, France 2002.Google Scholar
  26. 26.
    Gomes, C. P., Selman, B., McAloon, K., & Tretkoff, C. (1998). Randomization in backtrack search: Exploiting heavy-tailed profiles for solving hard scheduling problems. In Proceedings of AIPS-98: 4th international conference on artificial intelligence planning systems (pp. 208–213). Pittsburgh, PA, June 1998.Google Scholar
  27. 27.
    Haken, A. (1985) The intractability of resolution. Theoretical Computer Science, 39, 297–305.MATHCrossRefMathSciNetGoogle Scholar
  28. 28.
    Heule, M., van Zwieten, J., Dufour, M., & van Maaren, H. (2004). March_eq: Implementing additional reasoning into an efficient lookahead SAT solver. In Proceedings of SAT-04: 7th international conference on theory and applications of satisfiability testing. Lecture notes in computer science (Vol. 3542, pp. 345–359) Vancouver, BC, May 2004.Google Scholar
  29. 29.
    Johnson, D. S., & Trick, M. A. (eds.) (1996). Cliques, coloring and satisfiability: The second DIMACS implementation challenge. DIMACS series in discrete mathematics and theoretical computer science (Vol. 26). Providence: American Mathematical Society.Google Scholar
  30. 30.
    Kautz, H. A., & Selman, B. (1992). Planning as satisfiability. In Proceedings of ECAI-92: 10th European conference on artificial intelligence (pp. 359–363), Vienna, Austria, Aug 1992.Google Scholar
  31. 31.
    Kautz, H. A., & Selman, B. (1998) BLACKBOX: A new approach to the application of theorem proving to problem solving. In Working notes of the workshop on planning as combinatorial search, held in conjunction with AIPS-98, Pittsburgh, PA, 1998.Google Scholar
  32. 32.
    Köbler, J., Schöning, U., & Torán, J. (1993). The graph isomorphism problem: Its structural complexity. Boston: Birkhauser.MATHGoogle Scholar
  33. 33.
    Konuk, H., & Larrabee, T. (1993). Explorations of sequential ATPG using Boolean satisfiability. In 11th VLSI test symposium, (pp. 85–90).Google Scholar
  34. 34.
    Krishnamurthy, B. (1985). Short proofs for tricky formulas. Acta Informatica, 22 253–274.MATHCrossRefMathSciNetGoogle Scholar
  35. 35.
    Le Berre, D., & Simon, L. (2004). (Organizers). SAT 2004 competition, May. http://www.satcompetition.org/2004.
  36. 36.
    Le Berre, D., & Simon, L. (2005). (Organizers). SAT 2005 competition, June. http://www.satcompetition.org/2005.
  37. 37.
    Li, C. M., Jurkowiak, B., & Purdom, P. W. (2002). Integrating symmetry breaking into a DLL procedure. In International conference on theory and applications of satisfiability testing (pp. 149–155), Cincinnati, OH, May 2002.Google Scholar
  38. 38.
    Marques-Silva, J. P., & Sakallah, K. A. (1996). GRASP—a new search algorithm for satisfiability. In Proceedings of ICCAD-96: International conference on computer aided design (pp. 220–227), San Jose, CA, Nov 1996.Google Scholar
  39. 39.
    Marques-Silva, J. P., & Sakallah, K. A. (1997). Robust search algorithms for test pattern generation. In Proceedings of the 27th international symposium on fault-tolerant computing (pp. 152–161). Seattle, WA, June 1997.Google Scholar
  40. 40.
    Moskewicz, M. W., Madigan, C. F., Zhao, Y., Zhang, L., & Malik, S. (2001). Chaff: Engineering an efficient SAT solver. In Proceedings of DAC-01: 38th design automation conference (pp. 530–535). Las Vegas, NV, June 2001.Google Scholar
  41. 41.
    Motter, D. B., & Markov, I. (2002). A compressed breadth-first search for satisfiability. In ALENEX. Lecture notes in computer science (Vol. 2409, pp. 29–42). San Francisco: Springer.Google Scholar
  42. 42.
    Motter, D. B., Roy, J. A., & Markov, I. (2005). Resolution cannot polynomially simulate compressed-BFS. Annals of Mathematics and Artificial Intelligence, 44,(1–2), 121–156.MATHCrossRefMathSciNetGoogle Scholar
  43. 43.
    Nadel, A. (2002). The Jerusat SAT solver. Master’s thesis, Hebrew University of Jerusalem.Google Scholar
  44. 44.
    Petrie, K. E., & Smith, B. M. (2003). Symmetry breaking in graceful graphs. In CP-03: 9th international conference on principles and practice of constraint programming. Lecture notes in computer science (Vol. 2833, pp. 930–934). Kinsale, Ireland, Sept 2003.Google Scholar
  45. 45.
    Pudlák, P. (1997). Lower bounds for resolution and cutting plane proofs and monotone computations. Journal of Symbolic Logic, 62(3) 981–998, Sept.MATHCrossRefMathSciNetGoogle Scholar
  46. 46.
    Puget, J.-F. (1993). On the satisfiability of symmetrical constrained satisfaction problems. In International symposium on methodologies for intelligent systems. Lecture notes in computer science (Vol. 689, pp. 350–361), Trondheim, Norway, June 1993.Google Scholar
  47. 47.
    Puget, J.-F. (2006a). Dynamic lex constraints. In CP-06: 12th international conference on principles and practice of constraint programming. Lecture Notes in Computer Science (Vol. 4204, pp. 453–467). Nantes, France, Sept 2006.Google Scholar
  48. 48.
    Puget, J.-F. (2006b) An efficient way of breaking value symmetries. In Proceedings of AAAI-06: 21st conference on artificial intelligence. Boston, MA, July 2006.Google Scholar
  49. 49.
    Raz, R. (2004). Resolution lower bounds for the weak pigeonhole principle. Journal of the ACM, 51(2), 115–138.CrossRefMathSciNetGoogle Scholar
  50. 50.
    Sabharwal, A. (2005a) Algorithmic applications of propositional proof complexity. PhD thesis, Seattle: University of Washington.Google Scholar
  51. 51.
    Sabharwal, A. (2005b). SymChaff: A structure-aware satisfiability solver. In Proceedings of AAAI-05: 20th national conference on artificial intelligence (pp. 467–474), Pittsburgh, PA, July 2005.Google Scholar
  52. 52.
    Selman, B., Kautz, H., & Cohen, B. (1996) Local search strategies for satisfiability testing. In D. S. Johnson & M. A. Trick (Eds.), Cliques, coloring and satisfiability: The second DIMACS implementation challenge. DIMACS series in discrete mathematics and theoretical computer science (Vol. 26, pp. 521–532). Providence: American Mathematical Society.Google Scholar
  53. 53.
    Shtrichman, O. (2004) Accelerating bounded model checking of safety properties. Formal Methods in System Design, 1, 5–24.CrossRefGoogle Scholar
  54. 54.
    Stephan, P. R., Brayton, R. K., & Sangiovanni-Vincentelli, A. L. (1996). Combinatorial test generation using satisfiability. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 15(9), 1167–1176.CrossRefGoogle Scholar
  55. 55.
    Urquhart, A. (1999). The symmetry rule in propositional logic. Discrete Applied Mathematics, 96–97, 177–193.CrossRefMathSciNetGoogle Scholar
  56. 56.
    Velev, M. N., & Bryant, R. E. (2003). Effective use of Boolean satisfiability procedures in the formal verification of superscalar and vliw microprocessors. Journal of Symbolic Computation, 35(2), 73–106.MATHCrossRefMathSciNetGoogle Scholar
  57. 57.
    Walsh, T. (2006). General symmetry breaking constraints. In CP-06: 12th international conference on principles and practice of constraint programming. Lecture notes in computer science (Vol. 4204, pp. 650–664), Sept 2006.Google Scholar
  58. 58.
    Zhang, H. (1997). SATO: An efficient propositional prover. In Proceedings of CADE-97: 14th international conference on automated deduction. Lecture notes in computer science (Vol. 1249, pp. 272–275). Townsville, Australia, July 1997.Google Scholar
  59. 59.
    Zhang, L., Madigan, C. F., Moskewicz, M. H., & Malik, S. (2001) Efficient conflict driven learning in a Boolean satisfiability solver. In Proceedings of ICCAD-01: International conference on computer aided design (pp. 279–285). San Jose, CA, Nov 2001.Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2008

Authors and Affiliations

  1. 1.Department of Computer ScienceCornell UniversityIthacaUSA

Personalised recommendations