![Page 1: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/1.jpg)
Identifying Conflicts in Overconstrained
Temporal Problems
Mark H. Liffiton, Michael D. Moffitt, Martha E. Pollack, and Karem A. SakallahUniversity of MichiganAugust 5, 2005 (IJCAI-05)
![Page 2: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/2.jpg)
2
An Overconstrained Temporal Problem
CC11: (x-y ≤ 1): (x-y ≤ 1)CC22: (y-x ≤ -2): (y-x ≤ -2)CC33: (y-x ≤ -3) : (y-x ≤ -3) (z-y ≤ 1) (z-y ≤ 1)CC44: (y-z ≤ -2): (y-z ≤ -2)
![Page 3: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/3.jpg)
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 = {CC11,,CC22,,CC33,,CC44,,CC55} } UNSAT UNSAT{{CC11,,CC33,,CC44} } UNSAT UNSAT{ { CC33,,CC44} } SATSAT{{CC11, , CC44} } SATSAT{{CC11,,CC33 } } SAT SAT
(MUS)(MUS)
![Page 4: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/4.jpg)
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(x11-y-y11 ≤ b ≤ b11) ) (x (x22-y-y22 ≤ b ≤ b22) ) (x(xnn-y-ynn ≤ b ≤ bnn))...timepoints real value
![Page 5: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/5.jpg)
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
CC11: (x-y ≤ 1): (x-y ≤ 1)CC22: (y-x ≤ -2): (y-x ≤ -2)CC33: (y-x ≤ -3) : (y-x ≤ -3) (z-y ≤ 1) (z-y ≤ 1)CC44: (y-z ≤ -2): (y-z ≤ -2)
![Page 6: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/6.jpg)
6
Outline Problem Description / Motivation
Algorithm Foundations Musilitis (Algorithm Details)
Experimental Results
Conclusion
![Page 7: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/7.jpg)
7
◊◊
◊◊
◊◊
◊◊◊◊◊◊◊◊
Max-CSP Maximum cardinality feasible set of constraints
Maximal Satisfiable Subset (MSS) Inaugmentable feasible set of constraints
Algorithm Foundations
C1: (x-y ≤ 1)C2: (y-x ≤ -2)C3: (y-x ≤ -3) (z-y ≤ 1)C4: (y-z ≤ -2)
Max-CSPMSS
![Page 8: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/8.jpg)
8
A Hint of Duality
MSS Satisfiable Cannot be made larger
MUS Unsatisfiable Cannot be made smaller
![Page 9: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/9.jpg)
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: {C1,C2,C3,C4,C5,C6,C7}C1
C2
C3
C4
C5C6C7
MSS CoMSS
Remaining Solutions
![Page 10: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/10.jpg)
10
The Link: CoMSSes and MUSes Known:
1. A system is SAT iff it contains no MUSes2. 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.
![Page 11: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/11.jpg)
11
CC11: (x-y ≤ 1): (x-y ≤ 1)CC22: (y-x ≤ -2): (y-x ≤ -2)CC33: (y-x ≤ -3) : (y-x ≤ -3) (z-y ≤ 1) (z-y ≤ 1)CC44: (y-z ≤ -2): (y-z ≤ -2)
◊◊ ◊◊ ◊◊◊◊ ◊◊◊◊ ◊◊
◊◊◊◊ ◊◊
◊◊ ◊◊
MUS1 = {C1 , C2}MUS2 = {C1 , C3 , C4}
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}
Every CoMSS is an irreducible hitting set of the collection of all MUSes.
![Page 12: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/12.jpg)
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
MUSesCoMSSeshitting sets
hitting sets
![Page 13: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/13.jpg)
13
Musilitis General operation of Musilitis:
1. Find all CoMSSes of a DTP2. Compute minimal hitting sets of the CoMSSes
DTP
Find CoMSSes CoMSSes Compute MinimalHitting Sets
All MUSes
Musilitis
![Page 14: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/14.jpg)
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
![Page 15: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/15.jpg)
15
Musilitis: Finding CoMSSes
CC11: (x-y ≤ 1): (x-y ≤ 1)CC22: (y-x ≤ -2): (y-x ≤ -2)CC33: (y-x ≤ -3) : (y-x ≤ -3) (z-y ≤ 1) (z-y ≤ 1)CC44: (y-z ≤ -2): (y-z ≤ -2)
C1 ¬C1
C2 ¬C2
XC31 ¬C3C32
XC4 ¬C4
X{C2,C4}
Candidate CoMSS
C4
{C2,C3}
C2
C3
C4
{C1}
![Page 16: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/16.jpg)
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
![Page 17: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/17.jpg)
17
Musilitis: Computing One MUS
1. Select a constraint to add to the MUS (C3)
CoMSSCoMSS11 = {C = {C11}}CoMSSCoMSS22 = {C = {C22 , C , C33}}CoMSSCoMSS33 = {C = {C22 , C , C44}}
![Page 18: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/18.jpg)
18
Musilitis: Computing One MUS
1. Select a constraint to add to the MUS (C3)2. Select a CoMSS in which it appears
(CoMSS2)
CoMSSCoMSS11 = {C = {C11}}CoMSSCoMSS22 = {C = {C22 , C , C33}}CoMSSCoMSS33 = {C = {C22 , C , C44}}
![Page 19: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/19.jpg)
19
Musilitis: Computing One MUS
1. Select a constraint to add to the MUS (C3)2. Select a CoMSS in which it appears
(CoMSS2)3. Remove any other constraints in that CoMSS from the
problem – makes the chosen constraint essential
CoMSSCoMSS11 = {C = {C11}}CoMSSCoMSS22 = {C = {C22 , C , C33}}CoMSSCoMSS33 = {C = {C22 , C , C44}}
![Page 20: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/20.jpg)
20
Musilitis: Computing One MUS
1. Select a constraint to add to the MUS (C3)2. Select a CoMSS in which it appears
(CoMSS2)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
CoMSSCoMSS11 = {C = {C11}}CoMSSCoMSS22 = {C = {C33}}CoMSSCoMSS33 = {C = {C44}}
![Page 21: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/21.jpg)
21
Musilitis: Computing One MUS
1. Select a constraint to add to the MUS (C3)2. Select a CoMSS in which it appears (CoMSS2)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
CoMSSCoMSS11 = {C = {C11}}
CoMSSCoMSS33 = {C = {C44}}
![Page 22: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/22.jpg)
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
![Page 23: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/23.jpg)
23
Experimental Results Paramaterized Random Test Case Generator
k = # disjuncts per constraintL = max magnitude of inequality bound (x-y≤b)m = # constraintsN = # timepoints (variables)R = constraints / timepoints (m/N)
Experiments Runk = 2L = 100N = 5, 6, and 7R = 6 through 11
![Page 24: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/24.jpg)
24
Experimental Results
0.01
0.1
1
10
100
1000
10000
100000
6 7 8 9 10 11R
Seco
nds
N=7, IncrementalN=7, BacktrackingN=6, IncrementalN=6, BacktrackingN=5, IncrementalN=5, Backtracking
Median Runtimes for Finding CoMSSes(C)
![Page 25: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/25.jpg)
25
0.001
0.01
0.1
1
10
100
1000
10000
10 100 1000 10000 100000 1000000Number of MUSes
Seco
nds
Experimental ResultsRuntimes of Extracting MUSes(C) vs |MUSes(C)|
![Page 26: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/26.jpg)
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)
![Page 27: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/27.jpg)
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
![Page 28: Identifying Conflicts in Overconstrained Temporal Problems](https://reader036.vdocuments.net/reader036/viewer/2022062323/56815a95550346895dc8154a/html5/thumbnails/28.jpg)