+ All Categories
Home > Documents > Identifying Conflicts in Overconstrained Temporal Problems Mark H. Liffiton, Michael D. Moffitt,...

Identifying Conflicts in Overconstrained Temporal Problems Mark H. Liffiton, Michael D. Moffitt,...

Date post: 21-Dec-2015
Category:
View: 216 times
Download: 0 times
Share this document with a friend
Popular Tags:
28
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)
Transcript

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

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)

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)

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)

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))(x(x11-y-y11 ≤ b ≤ b11) ) (x (x22-y-y22 ≤ b ≤ b22) ) (x(xnn-y-ynn ≤ b ≤ bnn))...

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

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)

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)

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

C1: (x-y ≤ 1)

C2: (y-x ≤ -2)

C3: (y-x ≤ -3) (z-y ≤ 1)

C4: (y-z ≤ -2)

C1: (x-y ≤ 1)

C2: (y-x ≤ -2)

C3: (y-x ≤ -3) (z-y ≤ 1)

C4: (y-z ≤ -2)

Max-CSPMSS

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: {C1,C2,C3,C4,C5,C6,C7}C1

C2

C3

C4

C5C6C7

MSS CoMSS

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

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)

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.

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

13

Musilitis

General operation of Musilitis:1. Find all CoMSSes of a DTP

2. Compute minimal hitting sets of the CoMSSes

DTP

Find CoMSSes CoMSSesCompute 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

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)

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}

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 (C3)

CoMSSCoMSS11 = {C = {C11}}CoMSSCoMSS22 = {C = {C22 , C , C33}}CoMSSCoMSS33 = {C = {C22 , C , C44}}

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

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

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

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

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 Generatork = # 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

0.01

0.1

1

10

100

1000

10000

100000

6 7 8 9 10 11R

Seco

nds

N=7, Incremental

N=7, Backtracking

N=6, Incremental

N=6, Backtracking

N=5, Incremental

N=5, Backtracking

Median Runtimes for Finding CoMSSes(C)

25

0.001

0.01

0.1

1

10

100

1000

10000

10 100 1000 10000 100000 1000000Number of MUSes

Sec

on

ds

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


Recommended