Journal of Automated Reasoning

, Volume 40, Issue 1, pp 1–33

Algorithms for Computing Minimal Unsatisfiable Subsets of Constraints

Article

Abstract

Much research in the area of constraint processing has recently been focused on extracting small unsatisfiable “cores” from unsatisfiable constraint systems with the goal of finding minimal unsatisfiable subsets (MUSes). While most techniques have provided ways to find an approximation of an MUS (not necessarily minimal), we have developed a sound and complete algorithm for producing all MUSes of an unsatisfiable constraint system. In this paper, we describe a relationship between satisfiable and unsatisfiable subsets of constraints that we subsequently use as the foundation for MUS extraction algorithms, implemented for Boolean satisfiability constraints. The algorithms provide a framework with which many related subproblems can be solved, including relaxations of completeness to handle intractable instances, and we develop several variations of the basic algorithms to illustrate this. Experimental results demonstrate the performance of our algorithms, showing how the base algorithms run quickly on many instances, while the variations are valuable for producing results on instances whose complete results are intractably large. Furthermore, our algorithms are shown to perform better than the existing algorithms for solving either of the two distinct phases of our approach.

Keywords

Constraint satisfaction Minimal unsatifiable subset CAMUS 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Andraus, Z.S., Liffiton, M.H., Sakallah, K.A.: CEGAR-Based formal hardware verification: a case study. Technical report from the University of Michigan, CSE-TR-531-07, May 2007Google Scholar
  2. 2.
    Andraus, Z.S., Liffiton, M.H., Sakallah, K.A.: Refinement strategies for verification methods based on datapath abstraction. In: Proceedings of the 2006 Conference on Asia South Pacific Design Automation (ASP-DAC’06), pp. 19–24 (2006)Google Scholar
  3. 3.
    Bailey, J., Manoukian, T., Ramamohanarao, K.: A fast algorithm for computing hypergraph transversals and its application in mining emerging patterns. In: Proceedings of the Third IEEE International Conference on Data Mining (ICDM’03), pp. 485 (2003)Google Scholar
  4. 4.
    Bailey, J., Stuckey, P.J.: Discovery of minimal unsatisfiable subsets of constraints using hitting set dualization. In: Proceedings of the 7th International Symposium on Practical Aspects of Declarative Languages (PADL’05), LNCS, vol. 3350 (2005)Google Scholar
  5. 5.
    Bautista, J., Pereira, J.: A GRASP algorithm to solve the unicost set covering problem. Comput. Operat. Res. 34(10), 3162–3173 (2007)MATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Birnbaum, E., Lozinskii, E.L.: Consistent subsets of inconsistent systems: structure and behaviour. J. Exp. Theor. Artif. Intell. 15, 25–46 (2003)MATHCrossRefGoogle Scholar
  7. 7.
    Boros, E., Elbassioni, K.M., Gurvich, V., Khachiyan, L.: An efficient implementation of a quasi-polynomial algorithm for generating hypergraph transversals. In: Proceedings of the 11th European Symposioum on Algorithms (ESA 2003), LNCS, vol. 2832, pp. 556–567 (2003)Google Scholar
  8. 8.
    Bruni, R., Sassano, A.: Restoring satisfiability or maintaining unsatisfiability by finding small unsatisfiable subformulae’. In: LICS 2001 Workshop on Theory and Applications of Satisfiability Testing (SAT-2001) (2001)Google Scholar
  9. 9.
    Bryant, R.E., Lahiri, S.K., Seshia, S.A.: Modeling and verifying systems using a logic of counter arithmetic with lambda expressions and uninterpreted functions. In: Proceedings of the 14th International Conference on Computer Aided Verification (CAV’02), pp. 78–92 (2002)Google Scholar
  10. 10.
    Chinneck, J.W., Dravnieks, E.W.: Locating minimal infeasible constraint sets in linear programs. ORSA J. Comput. 3(2), 157–168 (1991)MATHGoogle Scholar
  11. 11.
    Cimatti, A., Griggio, A., Sebastiani, R.: A simple and flexible way of computing small unsatisfiable cores in sat modulo theories. In: Proceedings of the 10th International Conference on Theory and Applications of Satisfiability Testing (SAT-2007), pp. 334–339 (2007)Google Scholar
  12. 12.
    Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. Commun. ACM 5(7), 394–397 (1962)MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Davis, M., Putnam, H.: A computing procedure for quantification theory. J. ACM 7(3), 201–215 (1960)MATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Dutertre, B., de Moura, L.M.: A fast linear-arithmetic solver for DPLL(T). In: Proceedings of the 18th International Conference on Computer Aided Verification (CAV’06), pp. 81–94 (2006)Google Scholar
  15. 15.
    Eén, N., Sörensson, N.: An extensible SAT-Solver. In: Proceedings of the 6th International Conference on Theory and Applications of Satisfiability Testing (SAT-2003), LNCS, vol. 2919, pp. 502–518 (2003)Google Scholar
  16. 16.
    Eiter, T., Gottlob, G.: Hypergraph transversal computation and related problems in logic and AI. In: Proceedings of the 8th European Conference on Logics in Artificial Intelligence (JELIA 2002), pp. 549–564 (2002)Google Scholar
  17. 17.
    Gershman, R., Koifman, M., Strichman, O.: Deriving small unsatisfiable cores with dominators. In: Proceedings of the 18th International Conference on Computer Aided Verification (CAV’06), pp. 109–122 (2006)Google Scholar
  18. 18.
    Goldberg, E., Novikov, Y.: Verification of proofs of unsatisfiability for CNF formulas. In: Proceedings of the Conference on Design, Automation, and Test in Europe (DATE’03), pp. 10886–10891 (2003)Google Scholar
  19. 19.
    Gregoire, E., Mazure, B., Piette, C.: Boosting a complete technique to find MSSes and MUSes thanks to a local search oracle. In: Proceedings of the 20th International Joint Conference on Artificial Intelligence (IJCAI’07), Hyderabad (India), vol. 2, pp. 2300–2305 (2007)Google Scholar
  20. 20.
    Holzbaur, C., Menezes, F., Barahona, P.: Defeasibility in CLP(Q) through generalized slack variables. In: Proceedings of the of the Second International Conference on Principles and Practice of Constraint Programming (CP’96), pp. 209–223 (1996)Google Scholar
  21. 21.
    Huang, J.: MUP: A minimal unsatisfiability prover. In: Proceedings of the Tenth Asia and South Pacific Design Automation Conference (ASP-DAC’05), pp. 432–437 (2005)Google Scholar
  22. 22.
    Jackson, D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11(2), 256–290 (2002)CrossRefGoogle Scholar
  23. 23.
    Karp, R.M.: Reducibility among combinatorial problems. In: Complexity of Computer Computations, pp. 85–103. Plenum Press, New York (1972)Google Scholar
  24. 24.
    Kavvadias, D.J., Stavropoulos, E.C.: Evaluation of an algorithm for the transversal hypergraph problem. In: Proceedings of the 3rd Workshop on Algorithm Engineering (WAE’99), pp. 72–84 (1999)Google Scholar
  25. 25.
    Kavvadias, D.J., Stavropoulos, E.C.: An efficient algorithm for the transversal hypergraph generation. J. Graph Algorithms Appl. 9(2), 239–264 (2005)MATHMathSciNetGoogle Scholar
  26. 26.
    Liffiton, M.H., Moffitt, M.D., Pollack, M.E., Sakallah, K.A.: Identifying conflicts in overconstrained temporal problems. In: Proceedings of the 19th International Joint Conference on Artificial Intelligence (IJCAI’05), pp. 205–211 (2005)Google Scholar
  27. 27.
    Liffiton, M.H., Sakallah, K.A.: On finding all minimally unsatisfiable subformulas. In: Proceedings of the 8th International Conference on Theory and Applications of Satisfiability Testing (SAT-2005), LNCS, vol. 3569, pp. 173–186 (2005)Google Scholar
  28. 28.
    Lynce, I., Marques-Silva, J.: On computing minimum unsatisfiable cores. In: Proceedings of the 7th International Conference on Theory and Applications of Satisfiability Testing (SAT-2004), LNCS, vol. 3542, pp. 305–310 (2004)Google Scholar
  29. 29.
    Mneimneh, M.N., Lynce, I., Andraus, Z.S., Silva, J.P.M., Sakallah, K.A.: A branch-and-bound algorithm for extracting smallest minimal unsatisfiable formulas. In: Proceedings of the 8th International Conference on Theory and Applications of Satisfiability Testing (SAT-2005), pp. 467–474 (2005)Google Scholar
  30. 30.
    Oh, Y., Mneimneh, M.N., Andraus, Z.S., Sakallah, K.A., Markov, I.L.: AMUSE: A Minimally-Unsatisfiable Subformula Extractor. In: Proceedings of the 41st Annual Conference on Design Automation (DAC’04), pp. 518–523 (2004)Google Scholar
  31. 31.
    Safarpour, S., Liffiton, M., Mangassarian, H., Veneris, A., Sakallah, K.: Improved design debugging using maximum satisfiability. In: Proceedings of the International Conference on Formal Methods in Computer-Aided Design (FMCAD’07) (2007) (in press)Google Scholar
  32. 32.
    Sinz, C.: SAT Benchmarks from automotive product configuration. Website. http://www-sr.informatik.uni-tuebingen.de/~sinz/DC/
  33. 33.
    Sinz, C.: Towards an optimal CNF encoding of Boolean cardinality constraints. In: Proceedings of the 11th International Conference on Principles and Practice of Constraint Programming (CP’05), pp. 827–831 (2005)Google Scholar
  34. 34.
    Sinz, C., Kaiser, A., Küchlin, W.: Formal methods for the validation of automotive product configuration data. Artif. Intell. Eng. Des. Anal. Manuf. 17(1), 75–97 (2003)Google Scholar
  35. 35.
    Zhang, L., Malik, S.: Extracting small unsatisfiable cores from unsatisfiable boolean formula. Presented at the Sixth International Conference on Theory and Applications of Satisfiability Testing (SAT-2003) (2003)Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2007

Authors and Affiliations

  1. 1.Department of Electrical Engineering and Computer ScienceUniversity of MichiganAnn ArborUSA

Personalised recommendations