1 / 28

Identifying Conflicts in Overconstrained Temporal Problems

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)

meli
Download Presentation

Identifying Conflicts in Overconstrained Temporal Problems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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)

  2. An Overconstrained Temporal Problem C1: (x-y ≤ 1) C2: (y-x ≤ -2) C3: (y-x ≤ -3)  (z-y ≤ 1) C4: (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 = {C1,C2,C3,C4,C5}  UNSAT {C1,C3,C4}  UNSAT (MUS) { C3,C4}  SAT {C1, C4}  SAT {C1,C3 }  SAT

  4. 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

  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 C1: (x-y ≤ 1) C2: (y-x ≤ -2) C3: (y-x ≤ -3)  (z-y ≤ 1) C4: (y-z ≤ -2)

  6. Outline • Problem Description / Motivation • Algorithm Foundations • Musilitis (Algorithm Details) • Experimental Results • Conclusion

  7. 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

  8. A Hint of Duality • MSS • Satisfiable • Cannot be made larger • MUS • Unsatisfiable • Cannot be made smaller

  9. 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}

  10. 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.

  11. 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.

  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 hitting sets CoMSSes MUSes hitting sets

  13. 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

  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 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

  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 • Select a constraint to add to the MUS (C3) CoMSS1 = {C1} CoMSS2 = {C2 , C3} CoMSS3 = {C2 , C4}

  18. 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}

  19. 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}

  20. 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}

  21. 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}

  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

More Related