280 likes | 421 Views
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). An Overconstrained Temporal Problem. C 1 : (x-y ≤ 1) C 2 : (y-x ≤ -2) C 3 : (y-x ≤ -3) (z-y ≤ 1)
E N D
Identifying Conflicts in OverconstrainedTemporal Problems Mark H. Liffiton, Michael D. Moffitt, Martha E. Pollack, and Karem A. Sakallah University of Michigan August 5, 2005 (IJCAI-05)
An Overconstrained Temporal Problem C1: (x-y ≤ 1) C2: (y-x ≤ -2) C3: (y-x ≤ -3) (z-y ≤ 1) C4: (y-z ≤ -2)
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 = {C1,C2,C3,C4,C5} UNSAT {C1,C3,C4} UNSAT (MUS) { C3,C4} SAT {C1, C4} SAT {C1,C3 } SAT
DTPs • 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 (x1-y1 ≤ b1) (x2-y2≤ b2) (xn-yn≤ bn) ... timepoints real value
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 C1: (x-y ≤ 1) C2: (y-x ≤ -2) C3: (y-x ≤ -3) (z-y ≤ 1) C4: (y-z ≤ -2)
Outline • Problem Description / Motivation • Algorithm Foundations • Musilitis (Algorithm Details) • Experimental Results • Conclusion
Algorithm Foundations • Max-CSP • Maximum cardinality feasible set of constraints • Maximal Satisfiable Subset (MSS) • Inaugmentable feasible set of constraints C1: (x-y ≤ 1) C2: (y-x ≤ -2) C3: (y-x ≤ -3) (z-y ≤ 1) C4: (y-z ≤ -2) ◊ ◊ ◊ ◊ ◊ ◊ ◊ Max-CSP MSS
A Hint of Duality • MSS • Satisfiable • Cannot be made larger • MUS • Unsatisfiable • Cannot be made smaller
C4 C1 C7 CoMSS MSS C3 C2 Remaining Solutions CoMSSes • 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). Solution Space C5 C6 C: {C1,C2,C3,C4,C5,C6,C7}
The Link: CoMSSes and MUSes • Known: • A system is SAT iff it contains no MUSes • 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.
C1: (x-y ≤ 1) C2: (y-x ≤ -2) C3: (y-x ≤ -3) (z-y ≤ 1) C4: (y-z ≤ -2) 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. ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ CoMSS1 = {C1} CoMSS2 = {C2 , C3} CoMSS3 = {C2 , C4} MUS1 = {C1 , C2} MUS2 = {C1 , C3 , C4} Every CoMSS is an irreducible hitting set of the collection of all MUSes.
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 hitting sets CoMSSes MUSes hitting sets
Musilitis • General operation of Musilitis: • Find all CoMSSes of a DTP • Compute minimal hitting sets of the CoMSSes DTP Musilitis Compute MinimalHitting Sets Find CoMSSes CoMSSes All MUSes
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
Musilitis: Finding CoMSSes C1: (x-y ≤ 1) C2: (y-x ≤ -2) C3: (y-x ≤ -3) (z-y ≤ 1) C4: (y-z ≤ -2) C1 ¬C1 C2 ¬C2 C2 X C3 C31 C32 ¬C3 X C4 ¬C4 C4 C4 X {C2,C3} {C1} {C2,C4} Candidate CoMSS
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
Musilitis: Computing One MUS • Select a constraint to add to the MUS (C3) CoMSS1 = {C1} CoMSS2 = {C2 , C3} CoMSS3 = {C2 , C4}
Musilitis: Computing One MUS • Select a constraint to add to the MUS (C3) • Select a CoMSS in which it appears (CoMSS2) CoMSS1 = {C1} CoMSS2 = {C2 , C3} CoMSS3 = {C2 , C4}
Musilitis: Computing One MUS • Select a constraint to add to the MUS (C3) • Select a CoMSS in which it appears (CoMSS2) • Remove any other constraints in that CoMSS from the problem – makes the chosen constraint essential CoMSS1 = {C1} CoMSS2 = {C2 , C3} CoMSS3 = {C2 , C4}
Musilitis: Computing One MUS • Select a constraint to add to the MUS (C3) • Select a CoMSS in which it appears (CoMSS2) • Remove any other constraints in that CoMSS from the problem – makes the chosen constraint essential • Remove any CoMSSes in which the constraint appears, because they are now hit by the MUS CoMSS1 = {C1} CoMSS2 = {C3} CoMSS3 = {C4}
Musilitis: Computing One MUS • Select a constraint to add to the MUS (C3) • Select a CoMSS in which it appears (CoMSS2) • Remove any other constraints in that CoMSS from the problem – makes the chosen constraint essential • Remove any CoMSSes in which the constraint appears, because they are now hit by the MUS • Iterate until no CoMSSes remain CoMSS1 = {C1} CoMSS3 = {C4}
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
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
Experimental Results Median Runtimes for Finding CoMSSes(C)
Experimental Results Runtimes of Extracting MUSes(C) vs |MUSes(C)|
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)
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