Abstract
The problem of enumerating minimal unsatisfiable subsets (MUSes) of an infeasible constraint system is challenging due first to the complexity of computing even a single MUS and second to the potentially intractable number of MUSes an instance may contain. In the face of the latter issue, when complete enumeration is not feasible, a partial enumeration of MUSes can be valuable, ideally with a time cost for each MUS output no greater than that needed to extract a single MUS. Recently, two papers independently presented a new MUS enumeration algorithm well suited to partial MUS enumeration (Liffiton and Malik, 2013, Previti and Marques-Silva, 2013). The algorithm exhibits good anytime performance, steadily producing MUSes throughout its execution; it is constraint agnostic, applying equally well to any type of constraint system; and its flexible structure allows it to incorporate advances in single MUS extraction algorithms and eases the creation of further improvements and modifications. This paper unifies and expands upon the earlier work, presenting a detailed explanation of the algorithm’s operation in a framework that also enables clearer comparisons to previous approaches, and we present a new optimization of the algorithm as well. Expanded experimental results illustrate the algorithm’s improvement over past approaches and newly explore some of its variants.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Andraus, Z.S., Liffiton, M.H., & Sakallah, K.A. (2008). Reveal: A formal verification tool for Verilog designs. In Proceedings of 15th International Conference on Logic for Programming Artificial Intelligence and Reasoning (LPAR-2008). (pp. 343–352).
Bailey, J., & Stuckey, P.J. (2005). 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) of LNCS, Vol. 3350. (pp. 174–186).
Belov, A., & Marques-Silva, J. (2012). MUSer2: An efficient MUS extractor. Journal on Satisfiability, Boolean Modeling and Computation, 8, 123–128.
Berge, C. (1989). Hypergraphs of North-Holland Mathematical Library. Vol. 45. Amsterdam: North-Holland Publishing Co.
Cimatti, A., Griggio, A., Schaafsma, B.J., & Sebastiani, R. (2013). A modular approach to MaxSAT modulo theories. In Proceedings of the 16th International Conference on Theory and Applications of Satisfiability Testing (SAT-2013). (pp. 150–165).
Davies, J., & Bacchus, F. (2011). Solving MAXSAT by solving a sequence of simpler SAT instances. In Principles and Practice of Constraint Programming (CP 2011). (pp. 225–239): Springer.
de Kleer, J., & Williams, B.C. (1987). Diagnosing multiple faults. Artificial Intelligence, 32(1), 97–130.
García de la Banda, M.J., Stuckey, P.J., & Wazny, J. (2003). Finding all minimal unsatisfiable subsets. In Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming (PPDP’03). (pp. 32–43).
Di Rosa, E., & Giunchiglia, E. (2013). Combining approaches for solving satisfiability problems with qualitative preferences. AI Communications, 26(4), 395–408.
Eén, N., & Sörensson, N. (2003). An extensible SAT-solver. In Proceedings of the 6th International Conference on Theory and Applications of Satisfiability Testing (SAT-2003) of LNCS, Vol. 2919. (pp. 502–518).
Fredman, M. L., & Khachiyan, L. (1996). On the complexity of dualization of monotone disjunctive normal forms. Journal of Algorithms, 21(3), 618–628.
Gasca, R. M., Valle, C. D., López, M. T. G., & Ceballos, R. (2007). NMUS: Structural analysis for improving the derivation of all MUSes in overconstrained numeric CSPs. In Current Topics in Artificial Intelligence, 12th Conference of the Spanish Association for Artificial Intelligence (CAEPIA 2007) of LNCS, Vol. 4788. (pp. 160–169).
Gleeson, J., & Ryan, J. (1990). Identifying minimally infeasible subsytems. ORSA Journal on Computing, 2(1), 61–67.
Grégoire, É., Mazure, B., & Piette, C. (2007). 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), Vol. 2. (pp. 2300–2305).
Gunopulos, D., Khardon, R., Mannila, H., Saluja, S., Toivonen, H., & Sharma, R.S. (2003). Discovering all most specific sentences. ACM Transactions on Database Systems (TODS), 28(2), 140–174.
Han, B., & Lee, S.-J. (1999). Deriving minimal conflict sets by CS-trees with mark set in diagnosis from first principles. IEEE Transactions on Systems, Man, and Cybernetics, Part B, 29(2), 281–286.
Hou, A. (1994). A theory of measurement in diagnosis from first principles. Artificial Intelligence, 65(2), 281–328.
Junker, U. (2004). QuickXplain: Preferred explanations and relaxations for over-constrained problems. In Proceedings of the 19th AAAI Conference on Artificial Intelligence (AAAI 2004). (pp. 167–172).
Kavvadias, D.J., Sideri, M., & Stavropoulos, E.C. (2000). Generating all maximal models of a Boolean expression. Information Processing Letters, 74(3), 157–162.
Kullmann, O., Lynce, I., & Marques-Silva, J. (2006). Categorisation of clauses in conjunctive normal forms: Minimally unsatisfiable sub-clause-sets and the lean kernel. In Proceedings of the 9th International Conference on Theory and Applications of Satisfiability Testing (SAT-2006) of LNCS, Vol. 4121. (pp. 22–35).
Liffiton, M. H., & Malik, A. (2013). Enumerating infeasibility: Finding multiple MUSes quickly. In Proceedings of the 10th International Conference on Integration of AI and OR Techniques in Constraint Programming (CPAIOR 2013). (pp. 160–175).
Liffiton, M. H., & Sakallah, K. A. (2005). On finding all minimally unsatisfiable subformulas. In Proceedings of the 8th International Conference on Theory and Applications of Satisfiability Testing (SAT-2005) of LNCS, Vol. 3569. (pp. 173–186).
Liffiton, M. H., & Sakallah, K. A. (2008). Algorithms for computing minimal unsatisfiable subsets of constraints. Journal of Automated Reasoning, 40(1), 1–33.
Liffiton, M. H., & Sakallah, K. A. (2009). Generalizing core-guided Max-SAT. In Proceedings of the 12th International Conference on Theory and Applications of Satisfiability Testing (SAT-2009) of LNCS, Vol. 5584. (pp. 481–494).
Marques-Silva, J., Heras, F., Janota, M., Previti, A., & Belov, A. (2013). On computing minimal correction subsets. In Proceedings of the 23rd International Joint Conference on Artificial Intelligence (IJCAI-2013). (pp. 615–622): AAAI Press.
Marques-Silva, J., & Previti, A. (2014). On computing preferred MUSes and MCSes. In Proceedings of the 17th International Conference on Theory and Applications of Satisfiability Testing (SAT-2014). (pp. 58–74): Springer.
Morgado, A., Heras, F., Liffiton, M., Planes, J., & Marques-Silva, J. (2013). Iterative and core-guided MaxSAT solving: A survey and assessment. Constraints, 18(4), 478–534.
Previti, A., & Marques-Silva, J. (2013). Partial MUS enumeration. In Proceedings of the 27th AAAI Conference on Artificial Intelligence (AAAI-2013). (pp. 818–825).
Reiter, R. (1987). A theory of diagnosis from first principles. Artificial Intelligence, 32(1), 57–95.
Stern, R. T., Kalech, M., Feldman, A., & Provan, G. M. (2012). Exploring the duality in conflict-directed model-based diagnosis. In Proceedings of the 26th AAAI Conference on Artificial Intelligence (AAAI-2012).
van Loon, J. (1981). Irreducibly inconsistent systems of linear inequalities. European Journal of Operational Research, 8(3), 283–288.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Liffiton, M.H., Previti, A., Malik, A. et al. Fast, flexible MUS enumeration. Constraints 21, 223–250 (2016). https://doi.org/10.1007/s10601-015-9183-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10601-015-9183-0