optimal csps and conflict-directed a*web.mit.edu/16.412j/www/html/lectures/l6_ocsps... · 2/22/2005...
TRANSCRIPT
![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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/43.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/44.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/45.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/46.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/47.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/48.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/49.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/50.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/51.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/52.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/53.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/54.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/55.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/56.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/57.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/58.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/59.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/60.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/61.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/62.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/63.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/64.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/65.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/66.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/67.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/68.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/69.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/70.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/71.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/72.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/73.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/74.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/75.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/76.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/77.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/78.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/79.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/80.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/81.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/82.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/83.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/84.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/85.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/86.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051914/6005f30130cd8731114ab420/html5/thumbnails/87.jpg)
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