Identifying Conflicts in Overconstrained Temporal Problems Mark H. Liffiton, Michael D. Moffitt, Martha E. Pollack, and Karem A. Sakallah University of Michigan August 5, 2005 (IJCAI-05)
2 An Overconstrained Temporal Problem C 1 : (x-y ≤ 1) C 2 : (y-x ≤ -2) C 3 : (y-x ≤ -3) (z-y ≤ 1) C 4 : (y-z ≤ -2)
3 MUSes Given: Infeasible set of constraints C Goal: All Minimal Unsatisfiable Subsets of C Minimal Unsat.: All proper subsets satisfiable Compact explanations of infeasibility C = {C 1,C 2,C 3,C 4,C 5 } UNSAT {C 1,C 3,C 4 } UNSAT { C 3,C 4 } SAT {C 1, C 4 } SAT {C 1,C 3 } SAT (MUS)
4 Disjunctive Temporal Problems A constraint system whose constraints are disjunctions of inequalities between timepoints: Generalization of a Simple Temporal Problem (STP), which has one inequality per constraint Used for temporal reasoning DTPs (x 1 -y 1 ≤ b 1 ) (x 2 -y 2 ≤ b 2 ) (x n -y n ≤ b n ) (x 1 -y 1 ≤ b 1 ) (x 2 -y 2 ≤ b 2 ) (x n -y n ≤ b n )... timepointsreal value
5 Why All MUSes? Why DTPs? Knowing all MUSes can be necessary for determining an optimum relaxation DTPs allow fine-grained relaxations beyond simply removing entire constraints C 1 : (x-y ≤ 1) C 2 : (y-x ≤ -2) C 3 : (y-x ≤ -3) (z-y ≤ 1) C 4 : (y-z ≤ -2)
6 Outline Problem Description / Motivation Algorithm Foundations Musilitis (Algorithm Details) Experimental Results Conclusion
7 ◊ ◊◊ ◊ ◊◊◊ Max-CSP Maximum cardinality feasible set of constraints Maximal Satisfiable Subset (MSS) Inaugmentable feasible set of constraints Algorithm Foundations C 1 : (x-y ≤ 1) C 2 : (y-x ≤ -2) C 3 : (y-x ≤ -3) (z-y ≤ 1) C 4 : (y-z ≤ -2) Max-CSP MSS
8 A Hint of Duality MSS Satisfiable Cannot be made larger MUS Unsatisfiable Cannot be made smaller
9 A CoMSS is the complement of an MSS A CoMSS provides an irreducible “fix” for the system: removing those constraints makes the system satisfiable (turns it into an MSS). CoMSSes Solution Space C: {C 1,C 2,C 3,C 4,C 5,C 6,C 7 } C1C1 C2C2 C3C3 C4C4 C5C5 C6C6 C7C7 MSSCoMSS Remaining Solutions
10 The Link: CoMSSes and MUSes Known: 1. A system is SAT iff it contains no MUSes 2. Removing the constraints in a CoMSS from a system makes it SAT Removing the constraints in a CoMSS removes at least one constraint from every MUS in a system. Every CoMSS is an irreducible hitting set of the collection of all MUSes.
11 C 1 : (x-y ≤ 1) C 2 : (y-x ≤ -2) C 3 : (y-x ≤ -3) (z-y ≤ 1) C 4 : (y-z ≤ -2) ◊◊◊ ◊◊◊◊◊◊ ◊◊◊◊ ◊◊◊◊ ◊◊◊◊◊◊ ◊◊◊◊ ◊◊◊ ◊◊◊◊◊◊◊ ◊◊ ◊◊◊◊◊◊◊◊ ◊◊ ◊ MUS 1 = {C 1, C 2 } MUS 2 = {C 1, C 3, C 4 } Hitting Sets Example Given a collection of sets M, a hitting set of M is a set that contains at least one element from each set in M. CoMSS 1 = {C 1 } CoMSS 2 = {C 2, C 3 } CoMSS 3 = {C 2, C 4 } Every CoMSS is an irreducible hitting set of the collection of all MUSes.
12 The Duality: CoMSSes and MUSES Additionally, every MUS is an irreducible hitting set of the collection of all CoMSSes Hitting sets provide a transformation from one collection to the other MUSesCoMSSes hitting sets
13 Musilitis General operation of Musilitis: 1. Find all CoMSSes of a DTP 2. Compute minimal hitting sets of the CoMSSes DTP Find CoMSSesCoMSSes Compute Minimal Hitting Sets All MUSes Musilitis
14 Musilitis: Finding CoMSSes Built on Maxilitis (Moffitt & Pollack, 2005) Max-CSP solver for DTPs Utilizes several constraint processing techniques with a branch-and-bound process General Strategy: Find a maximal satisfiable subset of constraints Prevent that set from appearing in a future solution Iterate until no further satisfiable subsets remain
15 Musilitis: Finding CoMSSes C 1 : (x-y ≤ 1) C 2 : (y-x ≤ -2) C 3 : (y-x ≤ -3) (z-y ≤ 1) C 4 : (y-z ≤ -2) C1C1 ¬C 1 C2C2 ¬C 2 X C 31 ¬C 3 C 32 X C4C4 ¬C 4 X {C 2,C 4 } Candidate CoMSS C4C4 {C 2,C 3 } C2C2 C3C3 C4C4 {C 1 }
16 Musilitis: Computing One MUS Goal: Irreducible Hitting Set Straightforward construction, no search Iteratively choose constraints to add to the set Choice can be arbitrary For each chosen constraint, alter the remaining problem to make that constraint essential Hitting set is irreducible iff every element is essential
17 Musilitis: Computing One MUS 1.Select a constraint to add to the MUS(C 3 ) CoMSS 1 = {C 1 } CoMSS 2 = {C 2, C 3 } CoMSS 3 = {C 2, C 4 }
18 Musilitis: Computing One MUS 1.Select a constraint to add to the MUS(C 3 ) 2.Select a CoMSS in which it appears(CoMSS 2 ) CoMSS 1 = {C 1 } CoMSS 2 = {C 2, C 3 } CoMSS 3 = {C 2, C 4 }
19 Musilitis: Computing One MUS 1.Select a constraint to add to the MUS(C 3 ) 2.Select a CoMSS in which it appears(CoMSS 2 ) 3.Remove any other constraints in that CoMSS from the problem – makes the chosen constraint essential CoMSS 1 = {C 1 } CoMSS 2 = {C 2, C 3 } CoMSS 3 = {C 2, C 4 }
20 Musilitis: Computing One MUS 1.Select a constraint to add to the MUS(C 3 ) 2.Select a CoMSS in which it appears(CoMSS 2 ) 3.Remove any other constraints in that CoMSS from the problem – makes the chosen constraint essential 4.Remove any CoMSSes in which the constraint appears, because they are now hit by the MUS CoMSS 1 = {C 1 } CoMSS 2 = {C 3 } CoMSS 3 = {C 4 }
21 Musilitis: Computing One MUS 1.Select a constraint to add to the MUS(C 3 ) 2.Select a CoMSS in which it appears(CoMSS 2 ) 3.Remove any other constraints in that CoMSS from the problem – makes the chosen constraint essential 4.Remove any CoMSSes in which the constraint appears, because they are now hit by the MUS 5.Iterate until no CoMSSes remain CoMSS 1 = {C 1 } CoMSS 3 = {C 4 }
22 Musilitis: Computing All MUSes Use general form of single MUS method Branch on choice of constraint and CoMSS to make all possible MUSes Tree is not irredundant, so ordering heuristics and memoization are used to reduce and prune the tree Very fast in practice: Millions of MUSes in minutes
23 Experimental Results Paramaterized Random Test Case Generator k= # disjuncts per constraint L= max magnitude of inequality bound (x-y≤b) m= # constraints N= # timepoints (variables) R= constraints / timepoints (m/N) Experiments Run k = 2 L = 100 N = 5, 6, and 7 R = 6 through 11
24 Experimental Results Median Runtimes for Finding CoMSSes(C)
25 Experimental Results Runtimes of Extracting MUSes(C) vs |MUSes(C)|
26 Related Work on MUSes Many algorithms for single MUSes Mostly for Boolean Satisfiability, some for Linear Programs Often approximate, i.e., they return a small US Other work on finding all MUSes Birnbaum & Lozinskii, 2003 ( Knowledge Systems ) Liffiton & Sakallah, 2005 ( Boolean Satisfiability ) Bailey & Stuckey, 2005 ( Herbrand Constraints ) Finding the Smallest MUS Mneimneh, et al., 2005 ( Boolean Satisfiability )
27 Future Work Relaxations / approximations Trade off completeness/correctness for speed Find fewer than all MUSes Find non-minimal USes Develop techniques for presenting MUSes to users and enabling informed decisions about weakening constraints to obtain feasibility