Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005...

87
2/22/2005 copyright Brian Williams, 2002 1 courtesy of JPL Optimal CSPs and Conflict-directed A* Brian C. Williams 16.412J/6.834J February 22 nd , 2005 Brian C. Williams, copyright 2000

Transcript of Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005...

Page 1: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 1courtesy of JPL

Optimal CSPs andConflict-directed A*

Brian C. Williams16.412J/6.834JFebruary 22nd, 2005

Brian C. Williams, copyright 2000

Page 2: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 2

System Model

Control Program

RMPL Model-based Program

Control Sequencer

Deductive Controller

CommandsObservations

Plant

Titan Model-based Executive

State goalsState estimates

ModeEstimation

ModeReconfiguration

Trackslikely

plant states

Tracks least cost goal states

Executes concurrentlyPreemptsQueries (hidden) statesAsserts (hidden) state

ClosedClosed

ValveValveOpenOpen StuckStuck

openopen

StuckStuckclosedclosed

OpenOpen CloseClose

0. 010. 01

0. 010. 01

0.010.01

0.010.01

inflow = outflow = 0

Generates target goal statesconditioned on state estimates

Mode Reconfiguration:

Select a least cost set of commandable component modes that entail the current goal, and are consistent

Mode Estimation:

Select a most likely set of component modes that are consistent with the model and observations

arg min Pt(Y| Obs)

s.t. Ψ(X,Y) ∧ O(m’) is consistentarg max Rt(Y)

s.t. Ψ(X,Y) entails G(X,Y)

s.t. Ψ(X,Y) is consistent

Page 3: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 3

Outline

• Optimal CSPs• Application to Model-based Execution

Review of A* Conflict-directed A*Generating the Best KernelIntelligent Tree ExpansionExtending to Multiple SolutionsPerformance Comparison

Page 4: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 4

Constraint Satisfaction Problem

CSP = <X, DX,C>variables X with domain DX

Constraint C(X): DX → {True,False}

Find X in DX s.t. C(X) is True

R,G,B

GR, G

Different-color constraintV1

V2 V3

Page 5: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 5

Optimal CSPOCSP= <Y, g, CSP>

Decision variables Y with domain DY

Utility function g(Y): DY → ℜCSP is over variables <X,Y>

Find Leading arg max g(Y)Y ∈ Dy

s.t. ∃ X ∈ DX s.t. C(X,Y) is True

Frequently we encode C in propositional state logicg() is a multi-attribute utility function that is

preferentially independent.

Page 6: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 6

CSP Frequently in Propositional Logic

(mode(E1) = ok implies(thrust(E1) = on if and only if flow(V1) = on and flow(V2) = on)) and(mode(E1) = ok or mode(E1) = unknown) andnot (mode(E1) = ok and mode(E1) = unknown)

V1 V2

E1

Page 7: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 7

Multi Attribute Utility Functionsg(Y) = G(g1(y1), g2(y2), . . .)

whereG(u1, u2 … un) = G(u1,G(u2 … un))G(u1) = G(u1, IG)

Example: Diagnosisgi(yi=modeij) = P(yi = modeij)G(u1,u2) = u1 x u2IG = 1

Page 8: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 8

Mutual Preferential Independence

Assignment δ1 is preferred over δ2if g(δ1) < g(δ2)

For any set of decision variables W ⊆ Y, our preference between two assignments to W is independent of the assignment to the remaining variables W – Y.

Page 9: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 9

Mutual Preferential IndependenceExample: Diagnosis

If M1 = G is more likely than M1 = U,

Then, {M1 = G, M2 = G, M3 = U, A1 = G, A2 = G}

Is preferred to{M1 = U, M2 = G, M3 = U, A1 = G, A2 = G}

Page 10: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 10

Reconfiguration via Conflict Learning

arg max Rt(Y)s.t. Ψ(X,Y) entails G(X,Y)s.t. Ψ(X,Y) is consistent

Goal: Achieve Thrust

A conflict is an assignment to a subset of the control variables that entails the negation of the goal.

Page 11: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 11

Approximate PCCA Belief State UpdateApproximate PCCA Belief State Update

StandbyStandby

Engine ModelEngine ModelOffOff

FailedFailedoffoff--cmdcmd

standbystandby--cmdcmd0.010.01

(thrust = full) AND

(power_in = nominal)

FiringFiring0.010.01

standbystandby--cmdcmd

firefire--cmdcmd

(thrust = zero) AND(power_in

= zero)(thrust =

zero) AND(power_in =

nominal)

OnOn

Camera ModelCamera ModelOffOff

turnoffturnoff--cmdcmd

turnonturnon--cmdcmd

(power_in = zero) AND

(shutter = closed)

(power_in = nominal) AND

(shutter = open)

0 v

2 kv

2 kv

0 v

0 v

20 v

0.010.01

0.010.01

0 v

S T

X0 X1 XN-1 XN

•Assigns a value to each variable (e.g.,3,000 vars).•Consistent with all state constraints (e.g., 12,000).

•A set of concurrent transitions, one per automata (e.g., 80).•Previous & Next states consistent with source & target of transitions

Page 12: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 12

Belief State Propagation

Propagation Equation propagates the system dynamics

Update Equation updates prior distribution with observations

Page 13: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 13

Best-First Belief State Enumeration• Enumerate next state priors in best first order• Evaluate likelihood of partial states using

optimistic estimate of unassigned variables.HMM propagate equation

Assuming independent transitions

cost so far, g optimistic estimate of the cost to go, h

Page 14: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 14

Outline

• Optimal CSPsApplication to Model-based ExecutionReview of A* Conflict-directed A*Generating the Best KernelIntelligent Tree ExpansionExtending to Multiple SolutionsPerformance Comparison

Page 15: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 15

A*

IncreasingCost

Infeasible

Feasible

Page 16: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 16

A* Search: Search TreeProblem: State Space Search Problem

Θ Initial StateExpand(node) Children of Search Node = next statesGoal-Test(node) True if search node at a goal-state

h Admissible Heuristic -Optimistic cost to go

Search Node: Node in the search treeState State the search is atParent Parent in search tree

ds search node to those to be expanded

Page 17: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 17

A* Search: State of SearchProblem: State Space Search Problem

Θ Initial StateExpand(node) Children of Search Node = adjacent statesGoal-Test(node) True if search node at a goal-stateNodes Search Nodes to be expandedExpanded Search Nodes already expandedInitialize Search starts at Θ, with no expanded nodes

g(state) Cost to stateh(state) Admissible Heuristic-Optimistic cost to go

Search Node: Node in the search treeState State the search is atParent Parent in search tree

Nodes[Problem]:Enqueue(node, f ) Adds node to those to be expandedRemove-Best(f) Removes best cost queued node according to f

Page 18: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 18

A* SearchFunction A*(problem, h)returns the best solution or failure. Problem pre-initialized.f(x) ← g[problem](x) + h(x)loop do

node ← Remove-Best(Nodes[problem], f)

new-nodes ← Expand(node, problem)for each new-node in new-nodes

then Nodes[problem] ← Enqueue(Nodes[problem], new-node, f )

end

Expandbest first

Page 19: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 19

A* SearchFunction A*(problem, h)returns the best solution or failure. Problem pre-initialized.f(x) ← g[problem](x) + h(x)loop doif Nodes[problem] is empty then return failurenode ← Remove-Best(Nodes[problem], f)

new-nodes ← Expand(node, problem)for each new-node in new-nodes

then Nodes[problem] ← Enqueue(Nodes[problem], new-node, f )if Goal-Test[problem] applied to State(node) succeeds then return node

end

Terminateswhen . . .

Page 20: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 20

A* SearchFunction A*(problem, h)returns the best solution or failure. Problem pre-initialized.f(x) ← g[problem](x) + h(x)loop doif Nodes[problem] is empty then return failurenode ← Remove-Best(Nodes[problem], f)state ← State(node)remove any n from Nodes[problem] such that State(n) = stateExpanded[problem] ← Expanded[problem] ∪ {state}new-nodes ← Expand(node, problem)for each new-node in new-nodes unless State(new-node) is in Expanded[problem]then Nodes[problem] ← Enqueue(Nodes[problem], new-node, f )

if Goal-Test[problem] applied to State(node) succeeds then return node

end

DynamicProgrammingPrinciple . . .

Page 21: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 21

Outline

• Optimal CSPsApplication to Model-based ExecutionReview of A* Conflict-directed A*Generating the Best KernelIntelligent Tree ExpansionExtending to Multiple SolutionsPerformance Comparison

Page 22: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 22

Conflict-directed A*

IncreasingCost

Infeasible

Feasible

Page 23: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 23

Conflict-directed A*

IncreasingCost

InfeasibleConflict 1

Feasible

Page 24: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 24

Conflict-directed A*

IncreasingCost

InfeasibleConflict 1

Feasible

Page 25: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 25

Conflict-directed A*

IncreasingCost

Feasible

InfeasibleConflict 2

Conflict 1

Page 26: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 26

Conflict-directed A*

IncreasingCost

Feasible

InfeasibleConflict 2

Conflict 1

Page 27: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 27

Conflict-directed A*

IncreasingCost

Feasible

Infeasible

Conflict 3

Conflict 2

Conflict 1

Page 28: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 28

Conflict-directed A*

IncreasingCost

Infeasible

Conflict 3

Conflict 2

Conflict 1

Feasible

Page 29: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 29

Solving Optimal CSPsThrough Generate and Test

GenerateCandidate

TestCandidate

Consistent?Keep

(Optional) UpdateCost

BelowThreshold?

ExtractConflict

Done Yes No

Yes No

Leading CandidatesBased on Cost Conflict-directed A*

Incremental Sat

Page 30: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 30

Conflict-directed A*Function Conflict-directed-A*(OCSP)returns the leading minimal cost solutions.Conflicts[OCSP] ← {}OCSP ← Initialize-Best-Kernels(OCSP)Solutions[OCSP] ← {}loop do

decision-state ← Next-Best-State-Resolving-Conflicts(OCSP)

new-conflicts ← Extract-Conflicts(CSP[OCSP], decision-state)Conflicts[OCSP] ← Eliminate-Redundant-Conflicts(Conflicts[OCSP] ∪ new-conflicts)

end

Conflict-guidedExpansion

Page 31: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 31

Conflict-directed A*Function Conflict-directed-A*(OCSP)returns the leading minimal cost solutions.Conflicts[OCSP] ← {}OCSP ← Initialize-Best-Kernels(OCSP)Solutions[OCSP] ← {}loop dodecision-state ← Next-Best-State-Resolving-Conflicts(OCSP)if no decision-state returned orTerminate?(OCSP)then return Solutions[OCSP]

if Consistent?(CSP[OCSP ], decision-state)then add decision-state to Solutions[OCSP]

new-conflicts ← Extract-Conflicts(CSP[OCSP], decision-state)Conflicts[OCSP] ← Eliminate-Redundant-Conflicts(Conflicts[OCSP] ∪ new-conflicts)

end

Page 32: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 32

IncreasingCost

Infeasible

Conflict 3

Conflict 2

Conflict 1

Conflict-directed A* • Feasible subregions described by kernel assignments.

Approach: Use conflicts to search for kernel assignment containing the best cost candidate.

Kernel 1

Kernel 2

Kernel 3Feasible

Page 33: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 33

Mapping Conflicts to KernelsM1

M2A1

A

BCD

E

3

223

F

G

X

Y

Z

10

6

6

12

M3A2

??3

223

3

M1

M3

A1

A

BCD

E

F

G

X

Y

Z

10

12?

Conflict Ci: A set of decision variable assignments that are inconsistent with the constraints.

Constituent Kernel: An assignment A that resolves a conflict Ci.A entails ¬ Ci

Kernel: A minimal set of decision variable assignments that resolves all known conflicts C.

A entails ¬ Ci for all Ci in C

Page 34: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 34

Mapping conflict to constituent kernels

Conflict: {M1=G, M2=G, A1=G}

¬(M1=G ∧ M2=G ∧ A1=G)

M1=U ∨ M2=U ∨ M3=U

Constituent Kernels: {M1=U, M2=U, A1=U}

Page 35: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 35

Composing Constituents Kernels of Every Conflict

M1

M2A1

A

BCD

E

3

223

F

G

X

Y

Z

10

6

6

12

M3A2

??3

223

3

M1

M3

A1

A

BCD

E

F

G

X

Y

Z

10

12?

Constituent Kernel: An assignment A that resolves a conflict Ci.A entails ¬ Ci

Kernel: A minimal set of decision variable assignments that resolves all known conflicts C.

A entails ¬ Ci for all Ci in C

Constituent kernels map to kernels by minimal set covering

Page 36: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 36

Extracting a kernel’s best state Select best utility value for unassigned variables (Why?)

{M2=U}

M1=? ∧ M2=U ∧ M3=? ∧ A1=? ∧ A2=?

M1=G ∧ M2=U ∧ M3=G ∧ A1=G ∧ A2=G

Page 37: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 37

Next Best State Resolving Conflictsfunction Next-Best-State-Resolving-Conflicts(OCSP)best-kernel ← Next-Best-Kernel(OCSP)if best-kernel = failurethen return failureelse return kernel-Best-State[problem](best-kernel)

end

function Kernel-Best-State(kernel)unassigned ← all variables not assigned in kernelreturn kernel ∪ {Best-Assignment(v) | v ∈ unassigned}

End

function Terminate?(OCSP)return True iff Solutions[OCSP] is non-empty

Algorithm for only finding the first solution, multiple later.

Page 38: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 38

Example: Diagnosis

3

223

3

10M1

M2

M3

A1

A2

A

BCD

E

F

G

X

Y

Z

12

Assume Independent Failures:PG(mi) >> PU(mi)

Psingle >> Pdouble

PU(M2) > PU(M1) > PU(M3) > PU(A1) > PU(A2)

Page 39: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 39

First Iteration

3

223

3

10M1

M2

M3

A1

A2

A

BCD

E

F

G

X

Y

Z

12

Conflicts / Constituent Kernelsnone

Best Kernel: {}

Best Candidate: ?

Page 40: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 40

Extracting the kernel’s best state Select best value for unassigned variables

{ }

M1=? ∧ M2=? ∧ M3=? ∧ A1=? ∧ A2=?

M1=G ∧ M2=G ∧ M3=G ∧ A1=G ∧ A2=G

Page 41: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 41

Test: M1=G ∧ M2=G ∧ M3=G ∧ A1=G ∧ A2=G

M1

M2

M3

A1

A2

A

BCD

E

X

Y

Z

310F

22

12G3

3

Page 42: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 42

Test: M1=G ∧ M2=G ∧ M3=G ∧ A1=G ∧ A2=G

M1

M2

M3

A1

A2

A

BCD

E

X

Y

Z

6310F

22

12G3

3

Page 43: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 43

Test: M1=G ∧ M2=G ∧ M3=G ∧ A1=G ∧ A2=G

M1

M2

M3

A1

A2

A

BCD

E

X

Y

Z

6

6

310F

22

12G3

3

Page 44: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 44

Test: M1=G ∧ M2=G ∧ M3=G ∧ A1=G ∧ A2=G

M1

M2

M3

A1

A2

A

BCD

E

X

Y

Z

6

6

3

6

10F22

12G3

3

Page 45: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 45

Test: M1=G ∧ M2=G ∧ M3=G ∧ A1=G ∧ A2=G

10M1

M2

M3

A1

A2

A

BCD

E

X

Y

Z

6

6

3F

22

12G6

12

3

3

Page 46: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 46

Test: M1=G ∧ M2=G ∧ M3=G ∧ A1=G ∧ A2=G

10M1

M2

M3

A1

A2

A

BCD

E

X

Y

Z

6

6

3F

22

12G6

12

3

3

Extract Conflict and Constituent Kernels:

Page 47: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 47

Test: M1=G ∧ M2=G ∧ M3=G ∧ A1=G ∧ A2=G

10M1

M2

M3

A1

A2

A

BCD

E

X

Y

Z

6

6

3F

22

12G6

12

3

3

Extract Conflict and Constituent Kernels:

Page 48: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 48

Test: M1=G ∧ M2=G ∧ M3=G ∧ A1=G ∧ A2=G

3

223

3

10M1

M2

M3

A1

A2

A

BCD

E

F

G

X

Y

Z

12

6

6

6

12

Extract Conflict and Constituent Kernels:¬ [M1=G ∧ M2=G ∧ A1=G]

M1=U ∨ M2=U ∨ A1=U

Page 49: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 49

Second Iteration3

223

3

10M1

M2

M3

A1

A2

A

BCD

E

F

G

X

Y

Z

12

6

6

6

12PG(mi) >> PU(mi)

Psingle >> Pdouble

PU(M2) > PU(M1) > PU(M3) > PU(A1) > PU(A2)

Conflicts Constituent KernelsM1=U ∨ M2=U ∨ A1=U

Best Kernel: M2=U (why?)

Best Candidate: M1=G ∧ M2=U ∧ M3=G ∧ A1=G ∧ A2=G

Page 50: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 50

Test: M1=G ∧ M2=U ∧ M3=G ∧ A1=G ∧ A2=G

M1

M3A2

A

BCD

E

X

Y

Z

3

A1 10F22

12G3

3

Page 51: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 51

Test: M1=G ∧ M2=U ∧ M3=G ∧ A1=G ∧ A2=G

M1

M3A2

A

BCD

E

X

Y

Z

63

A1 10F22

12G3

3

Page 52: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 52

Test: M1=G ∧ M2=U ∧ M3=G ∧ A1=G ∧ A2=G

M1

M3A2

A

BCD

E

X

Y

Z

63

A1

6

10F22

12G3

3

Page 53: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 53

Test: M1=G ∧ M2=U ∧ M3=G ∧ A1=G ∧ A2=G

M1

M3A2

A

BCD

E

X

Y

Z

6

4

3

6

A1 10F22

12G3

3

Page 54: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 54

Test: M1=G ∧ M2=U ∧ M3=G ∧ A1=G ∧ A2=G

310

M1

M3A2

A

BCD

E

G

X

Y

Z

12

6

4F

6 10

A1223

3

Page 55: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 55

Test: M1=G ∧ M2=U ∧ M3=G ∧ A1=G ∧ A2=G

310

M1

M3A2

A

BCD

E

G

X

Y

Z

12

6

4F

6 10

A1223

3

Extract Conflict:¬ [M1=G ∧ M3=G ∧ A1=G ∧ A2=G]

Page 56: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 56

Test: M1=G ∧ M2=U ∧ M3=G ∧ A1=G ∧ A2=G

310

M1

M3A2

A

BCD

E

G

X

Y

Z

12

6

4F

6 10

A1223

3

Extract Conflict:¬ [M1=G ∧ M3=G ∧ A1=G ∧ A2=G]

M1=U ∨ M3=U ∨ A1=U ∨ A2=U

Page 57: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 57

Second Iteration3

223

3

10M1

M3A2

A

BCD

E

F

G

X

Y

Z

12

6

4

6 10

A1PG(mi) >> PU(mi)

Psingle >> Pdouble

PU(M2) > PU(M1) > PU(M3) > PU(A1) > PU(A2)

Conflicts Constituent KernelsM1=U ∨ M2=U ∨ A1=U

M1=U ∨ M3=U ∨ A1=U ∨ A2=U

Best Kernel: M1=U

Best Candidate: M1=U ∧ M2=G ∧ M3=G ∧ A1=G ∧ A2=G

Page 58: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 58

Test: M1=U ∧ M2=G ∧ M3=G ∧ A1=G ∧ A2=G

M2

M3

A1

A2

A

BCD

E

X

Y

Z

310F

22

12G3

3

Page 59: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 59

Test: M1=U ∧ M2=G ∧ M3=G ∧ A1=G ∧ A2=G

M2

M3

A1

A2

A

BCD

E

X

Y

Z

310F

22

12G3

3

Page 60: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 60

Test: M1=U ∧ M2=G ∧ M3=G ∧ A1=G ∧ A2=G

M2

M3

A1

A2

A

BCD

E

X

Y

Z

6

310F

22

12G3

3

Page 61: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 61

Test: M1=U ∧ M2=G ∧ M3=G ∧ A1=G ∧ A2=G

M2

M3

A1

A2

A

BCD

E

X

Y

Z

6

3

6

10F22

12G3

3

Page 62: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 62

Test: M1=U ∧ M2=G ∧ M3=G ∧ A1=G ∧ A2=G

M2

M3

A1

A2

A

BCD

E

X

Y

Z

6

6

43

10F22

12G3

3

Page 63: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 63

Test: M1=U ∧ M2=G ∧ M3=G ∧ A1=G ∧ A2=G

M2

M3

A1

A2

A

BCD

E

X

Y

Z

6

6

43

10F22

12G312

3

Consistent!

Page 64: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 64

Outline

• Optimal CSPsApplication to Model-based ExecutionReview of A* Conflict-directed A*Generating the Best KernelIntelligent Tree ExpansionExtending to Multiple SolutionsPerformance Comparison

Page 65: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 65

Generating The Best Kernel of The Known Conflicts

A1=U, A2=U, M1=U, M3=U

A1=U M1=U M2=U

A2=U M1=U

M3=UA1=U

M1=U ∧ A2=U M2=U ∧ M3=UA1=U M1=U

A1=U, M1=U , M2=U

Constituent Kernels

• Minimal set covering is an instance of breadth first search.

Insight:• Kernels found by minimal set covering

Page 66: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 66

Expanding a Node to Resolve a Conflict

M2=U A1=UM1=UM2=U ∨ M1=U ∨ A1=U

{ }

To Expand a Node:Select an unresolved Conflict.Each child adds a constituent kernel.

Constituent kernels

Prune child if state isInconsistent, orsubsumed by a known kernel (or another node’s state).

Page 67: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 67

Generating The Best Kernel of The Known Conflicts

A1=U, A2=U, M1=U, M3=U

A1=U M1=U M2=U

A2=U M1=U

M3=UA1=U

M1=U ∧ A2=U M2=U ∧ M3=UA1=U M1=U

A1=U, M1=U , M2=U

Constituent Kernels

• Minimal set covering is an instance of breadth first search.

Insight:• Kernels found by minimal set covering

Page 68: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 68

Generating The Best Kernel of The Known Conflicts

A1=U, M1=U , M2=U

Constituent Kernels

A1=U M1=U M2=U

M1=U

A1=U, A2=U, M1=U, M3=U

• Minimal set covering is an instance of breadth first search.

Insight:• Kernels found by minimal set covering

To find the best kernel, expand tree in best first order.

Page 69: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 69

Admissible h(α): Cost of best state extending partial assignment α

f = g + h

M2=U ∧ M1=? ∧ M3=? ∧ A1=? ∧ A2=?

x PM1=G x PM3=G x PA1=G x PA2=GPM2=u

Select best value of unassigned variables

Page 70: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 70

Admissible Heuristic hLet g = <G,gi,Y> describe a multi-attribute utility fn

Assume the preference for one attribute xi is independent of another xkCalled Mutual Preferential Independence:

For all u, v ∈YIf gi(u) ≥ gi(v) then for all w

G(gi(u),gk(w)) ≥ G(gi(v),gk(w))

An Admissible h:Given a partial assignment, to X ⊆ Yh selects the best value of each unassigned variable Z = X – Y

h(Y) = G({gzi_max| zi∈Z, max gzi(vij))}) vij∈Dzi

A candidate always exists satisfying h(Y).

Page 71: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 71

Terminate when all conflicts resolved

Function Goal-Test-Kernel (node, problem)returns True IFF node is a complete decision state.if forall K in Constituent-Kernels(Conflicts[problem]),

State[node] contains a kernel in Kthen return True

else return False

Page 72: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 72

Next Best Kernel of Known ConflictsFunction Next-Best-Kernel (OCSP)returns the next best cost kernel of Conflicts[OCSP].f(x) ← G[OCSP] (g[OCSP](x), h[OCSP](x))loop do

if Nodes[OCSP] is empty then return failurenode ← Remove-Best(Nodes[OCSP], f)add State[node] to Visited[OCSP]new-nodes ← Expand-Conflict(node, OCSP)for each new-node ∈ new-nodes

unless ∃ n ∈ Nodes[OCSP] such that State[new-node] = State[n]OR State[new-node] ∈ Visited[problem]

then Nodes[OCSP] ← Enqueue(Nodes[OCSP], new-node, f )if Goal-Test-Kernel[OCSP] applied to State[node] succeeds Best-Kernels[OCSP] ← Add-To-Minimal-Sets(Best-Kernels[OCSP], best-kernel)

if best-kernel ∈ Best-Kernels[OCSP]then return State[node]

end

An instanceof A*

Page 73: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 73

Outline

• Optimal CSPsApplication to Model-based ExecutionReview of A* Conflict-directed A*Generating the Best KernelIntelligent Tree ExpansionExtending to Multiple SolutionsPerformance Comparison

Page 74: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 74

Expand Only Best Child & Sibling

M2=U A1=UM1=U

{ }

> >

Constituent kernels

M2=U ∨ M1=U ∨ A1=U

Order constituents by decreasing utility

Traditionally all children expanded.But only need to expand the child with the best candidate, if it can be identified apriori (how?).This child is the one with the best estimated cost f = g+h.

Page 75: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 75

Expand Only Best Child & Sibling

{ }Constituent kernels

M2=UM2=U ∨ M1=U ∨ A1=U

Order constituents by decreasing utility

Traditionally all children expanded.But only need to expand the child with the best candidate, if it can be identified apriori (how?).This child is the one with the best estimated cost f = g+h.

Page 76: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 76

When Do We Expand The Childs Next Best Sibling?

M1=U ∨ M3=U ∨A1=U ∨ A2=U M1=U

M2=U M1=U

{ }

Constituent kernels

M2=U ∨ M1=U ∨ A1=U

When a best child has a subtree or leaf pruned, it may have lost its best candidate.One of the child’s siblings might now have the best candidate.Expand child’s next best sibling:

when child expanded in order to resolve another conflict.

Page 77: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 77

Expand Node to Resolve Conflictfunction Expand-Conflict(node, OCSP)return Expand-Conflict-Best-Child(node, OCSP) ∪

Expand-Next-Best-Sibling (node, OCSP)

function Expand-Conflict-Best-Child(node, OCSP)if for all Kγ in Constituent-Kernels(Γ[OCSP])

State[node] contains a kernel ∈ Kγthen return {}else return Expand-Constituent-Kernel(node,OCSP)

function Expand-Constituent-Kernel(node, OCSP)Kγ ← = smallest uncovered set ∈ Constituent-Kernels(Γ[OCSP])C ← {yi = vij | {yi = vij} in Kγ, yi = vij is consistent with State[node]}Sort C such that for all i from 1 to |C| - 1,

Better-Kernel?(C[i],C[i+1], OCSP) is TrueChild-Assignments[node] ← Cyi = vij ← C[1], which is the best kernel in Kγ consistent with State[node]return {Make-Node({yi = vij}, node)}

Page 78: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 78

Expand Node to Resolve Conflict

function Expand-Next-Best-Sibling(node, OCSP)if Root?[node]

then return {}else {yi = vij} ← Assignment[node]

{yk = vkl} ← next best assignment in consistentchild-assignments[Parent[node]] after {yi = vij}

if no next assignment {yk = vkl}or Parent[node] already has a child with {yk = vkl}then return {}else return {Make-Node({yk = vkl}, Parent[node])}

Page 79: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 79

Outline

• Optimal CSPsApplication to Model-based ExecutionReview of A* Conflict-directed A*Generating the Best KernelIntelligent Tree ExpansionExtending to Multiple SolutionsPerformance Comparison

Page 80: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 80

Multiple Solutions: Systematically Exploring Kernels

A1=U, M1=U , M2=U

Constituent Kernels

A2=U

M3=U

A1=U M1=U M2=U

A1=U, A2=U, M1=U, M3=U

A1=U M1=U M1=U ∧ A2=U M2=U ∧ M3=U

Page 81: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 81

Child Expansion For Finding Multiple Solutions

M2=U M1=U A1=U

A2=G A2=U

¬ (M2=G ∧ M1=G ∧ A1=G)

Conflict{ }

If Unresolved Conflicts: If All Conflicts Resolved:Select unassigned variable yi.Each child adds an assignment from Di.

Select unresolved conflict.Each child adds a constituent kernel.

Page 82: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 82

Intelligent Expansion Below a Kernel

{M1=U }

M2=G

M3=G

A1=G

A2=G

M2=U

M3=U

A1=U

A2=U

{}

Select Unassigned Variable

M2=G ∨ M2=U

Order assignments by decreasing utility

Expand best child

Continue expandingbest descendents

When leaf visited,expand all nextbest ancestors. (why?)

Page 83: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 83

M1=U ∨ M3=U ∨A1=U ∨ A2=U M1=U

M2=U M1=U

Putting It Together: Expansion Of Any Search NodeConstituent kernels

When a best child loses any candidate, expand child’s next best sibling:

If child has unresolved conflicts, expand sibling when child expands its next conflict. If child resolves all conflicts:

M2=U ∨ M1=U ∨ A1=U

expand sibling when child expands a leaf.

{ }

M2=G

M3=G

A1=G

A2=G

M2=U

M3=U

A1=U

A2=U

Page 84: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 84

Outline

• Optimal CSPsApplication to Model-based ExecutionReview of A* Conflict-directed A*Generating the Best KernelIntelligent Tree ExpansionExtending to Multiple SolutionsPerformance Comparison

Page 85: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 85

Performance:With and Without Conflicts

Problem Parameters

Constraint-based A* (no conflicts)

Conflict-directed A* Mean CD-CB Ratio

DomSize

DecVars

Clau-ses

Clau-se lngth

10 510 5

56665

101010102020 520

Nodes Expanded

Queue Size

Nodes Expand

Queue Size

Conflicts used

Queue Size

5

10 6.3 1.217.9 3.241.3 2.616.0 1.6

4.22.31.62.22.0

94.427.3

7.29.27.2

5.6%30 3,490 3.5%

1.1%1.0%5.8%3.9%

13.0%5.4%

50

11.0%

106,260

13,4005,1304,060

149434

3050103050 197

1,230

Nodes Expanded

5 683 3.3 4.5%5 2,360 8.1 2.4%5 4,270 12.0 0.83%

10 3,790 5.7 2.0%10 1,430 9.7 4.6%10 929 6.0 3.5%

5 109 4.2 13.0%5 333 6.4 6.0%5 149 5.4 12.0%

Page 86: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 86

Conflict-directed A*

When you have eliminated the impossible, whatever remains, however improbable, must be the truth.

- Sherlock Holmes. The Sign of the Four.

1. Test Hypothesis2. If inconsistent, learn reason for inconsistency

(a Conflict).3. Use conflicts to leap over similarly infeasible options

to next best hypothesis.

Page 87: Optimal CSPs and Conflict-directed A*web.mit.edu/16.412j/www/html/lectures/L6_OCSPs... · 2/22/2005 copyright Brian Williams, 2002 2 System Model Control Program RMPL Model-based

2/22/2005 copyright Brian Williams, 2002 87

Presentation NotesChange Example to Boolean PolycellIntroduce CDA* before Sherlock-style Mode Estimation.Describe Kernels and Conflicts in terms of set/subset lattice.More Intuitive and focused introduction to A*Add systematicity in each developmentAdd pseudo code for multiple solns and CBA*Show full search trees for eachHighlight Important features of performance