goal regression planning, constraint automata and …...courtesy of jpl goal regression planning,...
TRANSCRIPT
![Page 1: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/1.jpg)
courtesy of JPL
Goal Regression Planning,Constraint Automata and Causal Graphs
2/29/2016 Goal Regression and Causal Graph Planning
Prof Brian Williams MIT CSAIL
16.412J/6.834J Cognitive Robotics
Leap Day - February 29th, 2016
Contributions:
Dan WeldSeung ChungErez Karpas
David Wang
New Text
This image is in the public domain. 1
![Page 2: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/2.jpg)
• Generate plans by working backwards from goals.
• Generate least commitment, partial order plans.
• Encode actions with indirect effects as concurrent automata with constraints (CCA).
• Analyze action dependence using causal graphs.
• Generate plans with out search, for CCA that have tree structured causal graphs.
• Use causal graph planning as a heuristic to HFS.
After lecture you will know how to…
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 2
![Page 3: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/3.jpg)
Today:
• D. Weld, “An introduction to least commitment planning,” AI Magazine 15(4):27-61, 1994.
• B. Williams and P. Nayak, "A reactive planner for a model-based executive,“ IJCAI, 1997.
Next:
• D. Wang and B. Williams, “tBurton: A Divide and Conquer Temporal Planner,” AAAI, 2015.
Homework:
– PSet #3 PDDL Modeling, out today, due Wed, March 9th.
– Advanced Lecture Pset #1, out today, due Fri, March 4th.
Assignments
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 3
![Page 4: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/4.jpg)
Outline
• Review: programs on state
• Planning as goal regression (SNLP)
• Goal regression planning with causal graphs (Burton)
• Appendix: HFS planning with the causal graph heuristic (Fast Downward)
2/29/2016 Goal Regression and Causal Graph Planning 4
![Page 5: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/5.jpg)
2/29/2016
A single “cognitive system” language and executive.
UserKirk
Pike
Sulu
Goals &
models
in RMPL
Control
Commands
Enterprise
Coordinates and monitors tasks
Plans paths
Sketches mission and assigns tasks
Burton
Plans actions
Bones
Diagnoses likely failures
Uhura
Collaboratively resolves goal failures
Goal Regression and Causal Graph Planning
Programs that:
• Make choices
• Adjust timing
• Monitor conditions
© source unknown. All rights reserved. This content isexcluded from our Creative Commons license. For moreinformation, see https://ocw.mit.edu/help/faq-fair-use/.
5
![Page 6: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/6.jpg)
2/29/2016 Goal Regression and Causal Graph Planning
In a State-Space Program,Activity Planning Maps Desired States to Actions
base1
lake2
fire2
lake1
fire1
uav1
base2no-fly zone no-fly
zoneno-fly zone
class UAV {
Roadmap location;
Boolean flying;
Boolean loaded;
primitive method takeoff()
flying == no => flying == yes;
primitive method land()
flying == yes => flying == no;
primitive method load_water(Lake lakespot)
((flying == yes) && (loaded == no)
&& (lakespot.location == location)) => loaded == yes;
primitive method drop_water_high_altiture(Fire firespot)
((flying == yes) && (loaded == yes)
&& (firespot.location == location) && (firespot == high))
=> ((loaded == no) && (firespot == medium));
primitive method drop_water_low_altiture(Fire firespot)
((flying == yes) && (loaded == yes)
&& (firespot.location == location) && (firespot == medium))
=> ((loaded == no) && (firespot == out));
#MOTION_PRIMITIVES(location, fly, flying==yes)
}
class Main{
UAV uav1;
Lake lake1;
Lake lake2;
Fire fire1;
Fire fire2;
...
method run() {
sequence{
(fire1 == out);
(fire2 == out);
(uav1.flying == no &&
uav1.location == base_1_location);
}}}
Main (){
uav1 = new UAV();
uav1.location= base_1_location;
uav1.flying = no;
uav1.loaded = no;
lake1 = new Lake();
lake1.location = lake_1_location;
lake2 = new Lake();
lake2.location = lake_2_location;
fire1 = new Fire();
fire1.location = fire_1_location;
fire1 = high;
fire2 = new Fire();
fire2.location = fire_2_location;
fire2 = high;
}
6
![Page 7: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/7.jpg)
2/29/2016 Goal Regression and Causal Graph Planning
Planning maps desired states to actions
base1
lake2
fire2
lake1
fire1
uav1
base2no-fly zone
no-fly zone no-fly zone
“Classical” Action PlanningRoadmap Path Planning
7
![Page 8: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/8.jpg)
2/29/2016
A single “cognitive system” language and executive.
UserKirk
Pike
Sulu
Goals &
models
in RMPL
Control
Commands
Enterprise
Coordinates and monitors tasks
Plans paths
Sketches mission and assigns tasks
Burton
Plans actions
Bones
Diagnoses likely failures
Uhura
Collaboratively resolves goal failures
Goal Regression and Causal Graph Planning
State Space Programs that:
• Plan to achieve discrete states.
• Plan to achieve continuous states.
• Monitor continuous states.
8
© source unknown. All rights reserved. This content isexcluded from our Creative Commons license. For moreinformation, see https://ocw.mit.edu/help/faq-fair-use/.
![Page 9: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/9.jpg)
(Clear )B
Last Week: “Classic” Activity Planning Representation (STRIPS/PDDL)
Action Model:
Stack
Objects (things):
Predicates (used to create true or false statements about the world, “facts”):
Actions (used to change truth of predicates):
(On , )A B
(Clear )A
(Clear )A
(On , )A B
¬(Clear )B
preconditions effects
(On , ) (On , )
(Clear ) (Clear ) (Clear )Initial:
Goal:
2/29/2016 Goal Regression and Causal Graph Planning 9
![Page 10: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/10.jpg)
Last Week: Forward Search
Initial State (so)
action1
action2
action3
s10
s10
s10
goal
action3
action2
action3
…action4
Time
s20
s21
s22
2/29/2016 Goal Regression and Causal Graph Planning 10
![Page 11: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/11.jpg)
This Week: Goal-Regression Search
Initial State (so)
action2
goal
action3
action3
… action4
Time
St1
action2
action1
St2
St0
action2
2/29/2016 Goal Regression and Causal Graph Planning 11
![Page 12: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/12.jpg)
2/29/2016 Goal Regression and Causal Graph Planning
This Week: Planning to Control Complex Devices
base1
lake2
fire2
lake1
fire1
uav1
base2no-fly zone
no-fly zone no-fly zone
Thrust
Goals
Attitude Turn(a,b)Point(a) Point(b) Turn(b,a)
Engine Thrust (b, 200) O
ff
Off
Delta_V(direction=b, magnitude=200)
Power
Warm Up
Device Reconfiguration & Repair Time-line Planning
“Classical” Action PlanningRoadmap Path Planning
12
This image is in thepublic domain.
![Page 13: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/13.jpg)
This Week: Automata Representation
Action Model:Concurrent Constraint Automata (CCA) (like a state-machine):
Initial:
Goal:
Note: This is a very simple example, there are usually many automata, and guards on the transitions.
2/29/2016 Goal Regression and Causal Graph Planning
We will use CCA to support indirect effects, concurrency and metric time .
Algorithms exist to map between the two representations.
13
![Page 14: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/14.jpg)
Outline
• Review: programs on state
• Planning as goal regression (SNLP/UCPOP)
– Partial Order Planning Overview
– Partial Order Planning Problem
– Partial Order Plan Generation
• Goal regression planning with causal graphs (Burton)
• Appendix: HFS planning with the causal graph heuristic (Fast Downward)
2/29/2016 Goal Regression and Causal Graph Planning 14
![Page 15: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/15.jpg)
Classical Planning Problem
Operators:
Goals: Goal1 Goal2 Goal3
Op
pre1
pre2
pre3
eff1
eff2
Initial Conditions: P1 P2 P3 P4
Propositions: Pi
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 15
![Page 16: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/16.jpg)
Simple Spacecraft Problem
Observation-1targetinstruments
Observation-2
Observation-3
Observation-4
…
calibrated
pointing
Propositions: Target Pointed To, Camera Calibrated?, Has Image?Operators: Calibrate, Turn to Y, and Take Image.
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning
This image is in the public domain.
16
![Page 17: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/17.jpg)
Example
IxIm
c
px
pC
Init Actions
C c
Ty
¬px
py
px
IA
Goal
pC
Propositions: Target Pointed To, Camera Calibrated?, Has Image?Operators: Calibrate, Turn to Y, and Take Image.
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 17
![Page 18: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/18.jpg)
Actions in the Planning Domain
Description Language (PDDL)(:action TakeImage :parameters (?target, ?instr)
:precondition (and (Status ?instr Calibrated)
(Pointing ?target))
:effect (Image ?target))
(:action Calibrate :parameters (?instrument)
:precondition (and (Status ?instr On)
(Calibration-Target ?target),
(Pointing ?target)
:effect (and (not (Status ?inst On))
(Status ?instr Calibrated)))
(:action Turn :parameters (?target)
:precondition (and (Pointing ?direction)
?direction ≠ ?target
:effect (and (not (Pointing ?direction)
(Pointing ?target)))
By convention,
parameters start with
“?”, as in ?var.
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 18
![Page 19: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/19.jpg)
Partial Order Plan
IAF
pC
S
TA
¬pC
C
Im
c
pA
pC
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 19
![Page 20: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/20.jpg)
Planning from Goals:
Partial Order Causal Link Planning (SNLP, UCPOP)
1. Select an open condition;
2. Choose an op that can achieve it:
Link to an existing instance or
Add a new instance;
3. Resolve threats.
IA F
Imc
pA
IAF
pC C
ImIA
F
c
pA
CpC
ImIA
F
c
pA
S
TA
¬pC
CpC
ImIA
F
c
pAS
pC
IAF
pC
S
TA
¬pC
C
Im
c
pA
pC
Alternatives: Forward Search, CSP
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 20
![Page 21: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/21.jpg)
Planning as Goal Regression– Partial Planning Overview
– Partial Order Planning Problem
• Problem Encoding
• Partial Order Plans
• Plan Correctness
– Partial Order Plan Generation
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 21
![Page 22: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/22.jpg)
Example Problem
Go(HWS)
Go(Home)
Buy(Drill)
Buy(Milk)
Buy(Ban.)Go(SM)
At(SM), Sells(SM,Milk)At(SM)
At(SM), Sells(SM,Ban.)
At(Home)
At(HWS)
At(HWS) Sells(HWS,Drill)
Have(Milk)
Have(Drill)
Have(Ban)
At(Home)
At(HWS)
At(SM)
Goal: Have(Milk) At(Home) Have(Ban.) Have(Drill)
Initial State: At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)
Operators:
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 22
![Page 23: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/23.jpg)
Initial and Goal States Encoded as Operators
Have(Milk) At(Home) Have(Ban.) Have(Drill)
At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)
Why encode as operators?
Don’t need to introduce (partial) states as separate objects.
Keeps theory minimal.
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning
Start
Finish
23
![Page 24: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/24.jpg)
Start
Finish
Have(Milk) At(Home) Have(Ban.) Have(Drill)
Buy(Milk)
At(SM), Sells(SM,Milk)
Buy(Ban.)
At(SM), Sells(SM,Ban.)
Buy(Drill)
At(HWS) Sells(HWS,Drill)
At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)
Partial Order Plan <Actions,Orderings,Links>
At(HWS)
Go(SM)
Go(Home)At(SM)
Go(HWS)At(Home)
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 24
![Page 25: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/25.jpg)
Buy(Drill)
Buy(Milk) Buy(Ban.)
Have(Milk) At(Home) Have(Ban.) Have(Drill)
At(SM), Sells(SM,Milk) At(SM), Sells(SM,Ban.)
At(HWS) Sells(HWS,Drill)
At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)
Partial Order Plan <Actions,Orderings,Links>
At(HWS)
Go(SM)
Go(Home)At(SM)
Go(HWS)At(Home)
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning
Start
Finish25
![Page 26: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/26.jpg)
Buy(Drill)
Buy(Milk) Buy(Ban.)
Have(Milk) At(Home) Have(Ban.) Have(Drill)
At(SM), Sells(SM,Milk) At(SM), Sells(SM,Ban.)
At(HWS) Sells(HWS,Drill)
Go(Home)
At(HWS)
Go(SM)
At(SM)
At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)
Partial Order Plan <Actions,Orderings,Links>
Go(HWS)At(Home)
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning
Start
Finish26
![Page 27: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/27.jpg)
Go(HWS)
Go(Home)
Buy(Drill)
Buy(Milk) Buy(Ban.)
Go(SM)
Have(Milk) At(Home) Have(Ban.) Have(Drill)
At(SM), Sells(SM,Milk)
At(SM)
At(SM), Sells(SM,Ban.)
At(Home)
At(HWS)
At(HWS) Sells(HWS,Drill)
At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)
Partial Order Plan <Actions,Orderings,Links>
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning
Start
Finish27
![Page 28: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/28.jpg)
Planning as Goal Regression– Partial Planning Overview
– Partial Order Planning Problem
• Problem Encoding
• Partial Order Plans
• Plan Correctness
– Partial Order Plan Generation
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 28
![Page 29: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/29.jpg)
What Constitutes a Correct Plan?
• Complete Plan– Achieves all Goals
• Achieves all preconditions …
• No actions intervene to undo a needed precondition
• Consistent Plan
– There exists an execution
sequence that is consistent
with the ordering
Start
Go(HWS)
Go(Home)
Finish
Buy(Drill)
Buy(Milk) Buy(Ban.)
Go(SM)
Have(Milk) At(Home) Have(Ban.) Have(Drill)
At(SM), Sells(SM,Milk)
At(SM)
At(SM), Sells(SM,Ban.)
At(Home)
At(HWS)
At(HWS) Sells(HWS,Drill)
At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 29
![Page 30: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/30.jpg)
Why is an ordering needed?
Go(Home)
Buy(Milk)
Go(SM)
At(Home), not At(SM)
At(SM)
At(SM)
At(HWS)
At(SM), not At(HWS)
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning
Have(Milk)
30
![Page 31: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/31.jpg)
Why is an ordering needed?
Go(Home)
At(Home), not At(SM)
At(SM)
Buy(Milk)
At(SM)
Suppose the other order is allowed,what happens?
“ThreatenedPrecondition”
Go(SM)At(HWS)
At(SM), not At(HWS)
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 31
![Page 32: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/32.jpg)
Why is an ordering needed?
Go(Home)At(SM)
Buy(Milk)
At(SM)
Suppose the other order is allowed,what happens?
Link indicatesprotected timeinterval for theprecondition.
Go(SM)At(HWS)
At(SM), not At(HWS)
At(Home), not At(SM)
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 32
![Page 33: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/33.jpg)
The ordering resolves the threat.
Go(Home)
Buy(Milk)
At(SM)
At(SM)
Go(SM)At(HWS)
At(SM), not At(HWS)
At(Home), not At(SM)
Why is an ordering needed?
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 33
![Page 34: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/34.jpg)
Solution: A Complete and Consistent Plan
• Complete Plan
• Consistent Plan
IFF every precondition of
every step is achieved.
A step’s precondition is achieved iff
• its the effect of some preceding step,
• no intervening step
can undo it.
IFF there is no contradiction
in the ordering constraint.
• i.e., never si < sj and sj < si, or
• the causal links + orderings are loop free.
Start
Go(HWS)
Go(Home)
Finish
Buy(Drill)
Buy(Milk) Buy(Ban.)
Go(SM)
Have(Milk) At(Home) Have(Ban.) Have(Drill)
At(SM), Sells(SM,Milk)
At(SM)
At(SM), Sells(SM,Ban.)
At(Home)
At(HWS)
At(HWS) Sells(HWS,Drill)
At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 34
![Page 35: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/35.jpg)
Planning as Goal Regression– Partial Planning Overview
– Partial Order Planning Problem
– Partial Order Plan Generation
• Derivation from Completeness and Consistency
• Backward Chaining
• Threat Resolution
• The POP algorithm
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 35
![Page 36: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/36.jpg)
Partial Order Planning AlgorithmThe algorithm falls out of Consistency and Completeness
Completeness:
• Must achieve all preconditions
→ Backward chain from goals to initial state, by inserting actions and causal links.
• Must avoid intervening actions that threaten
→ After each action is inserted, find any action that threatens its effects, and impose ordering to resolve.
Consistent:
• Ordering must be consistent
→ After each causal link and ordering is inserted, check for loops.
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 36
![Page 37: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/37.jpg)
Planning as Goal Regression– Partial Planning Overview
– Partial Order Planning Problem
– Partial Order Plan Generation
• Derivation from Completeness and Consistency
• Backward Chaining
• Threat Resolution
• The POP algorithm
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 37
![Page 38: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/38.jpg)
Start
Finish
Have(Drill) Have(Milk) Have(Ban.) at(Home)
At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 38
![Page 39: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/39.jpg)
Start
Finish
Have(Drill) Have(Milk) Have(Ban.) at(Home)
Buy(Drill)
At(HWS) Sells(HWS,Drill)
Buy(Ban.)
At(SM), Sells(SM,Ban.)
Buy(Milk)
At(SM), Sells(SM,Milk)
At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 39
![Page 40: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/40.jpg)
Start
Finish
Buy(Drill) Buy(Milk) Buy(Ban.)
Have(Drill) Have(Milk) Have(Ban.) at(Home)
At(SM), Sells(SM,Milk) At(SM), Sells(SM,Ban.)At(HWS) Sells(HWS,Drill)
At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 40
![Page 41: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/41.jpg)
Start
Finish
Buy(Drill) Buy(Milk) Buy(Ban.)
Have(Drill) Have(Milk) Have(Ban.) at(Home)
At(SM), Sells(SM,Milk) At(SM), Sells(SM,Ban.)At(HWS) Sells(HWS,Drill)
At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)
Go(HWS)
At(?x) Go(SM)
At(?x)
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 41
![Page 42: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/42.jpg)
Planning as Goal Regression– Partial Planning Overview
– Partial Order Planning Problem
– Partial Order Plan Generation
• Derivation from Completeness and Consistency
• Backward Chaining
• Threat Resolution
• The POP algorithm
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 42
![Page 43: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/43.jpg)
Buy(Milk)
At(SM)
Go(SM)At(HWS)
At(SM), not At(HWS)
Go(Home)At(SM)
At(Home), not At(SM)
After adding a causal link/action,find threat with any existing action/link
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 43
![Page 44: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/44.jpg)
Go(Home)At(SM)
Buy(Milk)
At(SM)
Go(SM)At(HWS)
At(SM), not At(HWS)
At(Home), not At(SM)
To remove threats…
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 44
![Page 45: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/45.jpg)
Go(Home)
Buy(Milk)
At(SM)
At(SM)
Go(SM)At(HWS)
At(SM), not At(HWS)
At(Home), not At(SM)
To remove threats…
promote the threat or…
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 45
![Page 46: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/46.jpg)
• But only allow demotion/promotion
if schedulable
• consistent = loop free
• no action precedes initial state
To remove threats…
promote the threat or demote the threat
Buy(Milk)
At(SM)
Buy(Milk)
Go(Home)
At(Home), not At(SM)
At(SM)
Go(SM)At(HWS)
At(SM), not At(HWS)
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 46
![Page 47: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/47.jpg)
Start
Go(HWS)
Finish
Buy(Drill) Buy(Milk) Buy(Ban.)
Go(SM)
Have(Drill) Have(Milk) Have(Ban.) at(Home)
At(SM), Sells(SM,Milk) At(SM), Sells(SM,Ban.)
At(Home)
At(HWS) Sells(HWS,Drill)
At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)
At(Home)
Go(SM) threatens At(HWS)
• Promote
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 47
![Page 48: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/48.jpg)
Start
Go(HWS)
Finish
Buy(Drill) Buy(Milk) Buy(Ban.)
Go(SM)
Have(Drill) Have(Milk) Have(Ban.) at(Home)
At(SM), Sells(SM,Milk) At(SM), Sells(SM,Ban.)
At(Home)
At(HWS) Sells(HWS,Drill)
At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)
At(Home)
Go(HWS) threatens At(Home)
• Try Promote
• Inconsistent!
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 48
![Page 49: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/49.jpg)
Start
Go(HWS)
Finish
Buy(Drill) Buy(Milk) Buy(Ban.)
Go(SM)
Have(Drill) Have(Milk) Have(Ban.) at(Home)
At(SM), Sells(SM,Milk) At(SM), Sells(SM,Ban.)
At(Home)
At(HWS) Sells(HWS,Drill)
At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)
At(?x)
Go(Home)At(SM)
HWS
Use Go(HWS) to produce At(?x)
Finish by Go(Home).
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 49
![Page 50: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/50.jpg)
POP(<A,O,L>, agenda, actions)1. Termination: If agenda is empty, return plan <A,O,L>.
2. Goal Selection: Select and remove open condition <p, aneed > from agenda.
3. Action Selection: Choose new or existing action aadd
that can precede aneed and whose effects include p. Link and order actions.
4. Update Agenda: If aadd is new, add its preconditions to agenda.
5. Threat Detection: For every action athreat that might threaten some causal link from aproduce to aconsume, choose a consistent ordering:
a) Demote: Add athreat < aproduce
b) Promote: Add aconsume < athreat
6. Recurse: on modified plan and agenda
Choose is nondeterministic Select is deterministic2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 50
![Page 51: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/51.jpg)
Lets Start with Goal-Regression Search
Initial State (so)
action2
goal
action3
action3
… action4
Time
St1
action2
action1
St2
St0
action2
2/29/2016 Goal Regression and Causal Graph Planning
Why can Goal Regression be slow?• Multiple actions can achieve goals.• Many possible (sub-)goal orderings.• Dead-ends can be discovered late.
We try a real-world example next!
51
![Page 52: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/52.jpg)
What assumptions are implied
by the STRIPS representation?
STRIPS Assumptions:
• Atomic time,
• Agent is omniscient
(no sensing necessary),
• Agent is sole cause of change,
• Actions have deterministic
effects, and
• No indirect effects.
• One action at a time.
• No metric time.
• No goals over time.
TakeImage (?target, ?instr):
Pre: Status(?instr, Calibrated),
Pointing(?target)
Eff: Image(?target)
Calibrate (?instrument):
Pre: Status(?instr, On),
Calibration-Target(?target),
Pointing(?target)
Eff: ¬Status(?inst, On),
Status(?instr, Calibrated)
Turn (?target):
Pre: Pointing(?direction),
?direction ≠ ?target
Eff: ¬Pointing(?direction),
Pointing(?target)
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning 52
![Page 53: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/53.jpg)
Outline
• Review: programs on state
• Planning as goal regression (SNLP/UCPOP)
• Goal regression planning with causal graphs (Burton)
• Appendix: HFS planning with the causal graph heuristic (Fast Downward)
2/29/2016 Goal Regression and Causal Graph Planning 53
![Page 54: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/54.jpg)
2/29/2016 Goal Regression and Causal Graph Planning
DS1 Revisited: Planning to Control Interacting Devices over Time
Thrust
Goals
Attitude Turn(a,b)Point(a) Point(b) Turn(b,a)
Engine Thrust (b, 200) O
ff
Off
Delta_V(direction=b, magnitude=200)
Power
Warm Up
Reactive Device Reconfiguration and Repair
(Burton)
Time-line Planning(tBurton)
54
This image is in the public domain.
![Page 55: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/55.jpg)
Domain Independent Planningin the Real-World
Speed
Exp
ress
ivit
y
real-time
Burton(real-time planning)
tBurton(planning with time and indirect effects)
Heuristic-based Searches &Symbolic Search (not presented)
off-line
classical
2/29/2016 Goal Regression and Causal Graph Planning
Both Burtons use Causal Graphs to analyze weak and tight couplings
and to Decompose.
55
![Page 56: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/56.jpg)
Bus
Controller
Flight
Computer
1553 bus
PDEPropulsion Drive
Electronics
SRUStellar Reference
Unit
PDUPower Distribution
Unit
GDEGimbal Drive
Electronics
PASMPower Activation &
Switching Module
DSEUDiagnostics Sensors
Electronics Unit
ACEAttitude Control
Electronics
Com
mands
Data
Dynamics
z facing thrusters
yatt
error
zatt
error
xatt
error
x facing thrusters
control mode
N2H4
He
Planning with Indirect Effects:DS 1 Attitude Control System Example
Bus
Controller
PDEPropulsion Drive
Electronics
Flight
Computer
2/29/2016 Goal Regression and Causal Graph Planning 56
![Page 57: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/57.jpg)
Why is Controlling an Engineered DeviceEasier than a Puzzle?
Bus
Controller
Flight
Computer
1553 bus
PDEPropulsion Drive
Electronics
SRUStellar Reference
Unit
PDUPower Distribution
Unit
GDEGimbal Drive
Electronics
PASMPower Activation &
Switching Module
DSEUDiagnostics Sensors
Electronics Unit
ACEAttitude Control
Electronics
Com
mands
Data
Dynamics
z facing thrusters
yatt
erro
r
zatt
erro
r
xatt
erro
r
x facing thrusters
control mode
N2H4
He
Bus
Controller
PDEPropulsion Drive
Electronics
Flight
Computer
6 2 8
3 5
4 7 1
1. Actions are reversible.2. Devices hold state.3. Causes and effects
form a tree.
1. Actions are reversible.2. Devices hold state.3. Causes and effects
form tight cycles.
2/29/2016 Goal Regression and Causal Graph Planning 57
![Page 58: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/58.jpg)
Outline
• Review: programs on state
• Planning as goal regression (SNLP/UCPOP)
• Goal regression planning with causal graphs (Burton)
– Constraint automata planning problem
– Causal graphs
– Using causal graphs to order goals
– Computing policies for selecting actions
– Appendix: Planning for cyclic causal graphs
• Appendix: HFS planning with the causal graph heuristic (Fast Downward)
2/29/2016 Goal Regression and Causal Graph Planning 58
![Page 59: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/59.jpg)
• Variables and Domains:
– State: driver in {on, off, resettable, failed},valve in {open, closed, stuck-open, stuck-closed}.
– Control: dcmdin in {idle, on, off, reset, open, close}
– Dependent: flowin, flowout in {pos, neg, zero}dcmdout, vcmdin in Domain{dcmdin}
• Initial assignment: {driver = on, valve = closed}
• Goal assignment: {driver = off, valve = open}
Concurrent Constraint Automata Planning Problem
2/29/2016 Goal Regression and Causal Graph Planning
dcmdin
flowin
flowout
dcmdout = vcmdin
59
![Page 60: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/60.jpg)
• Constraint automata (one per state variable):
– Assume: transitions independently controlled, each location can idle.
• State constraints: {dcmdout = vcmdin}
Concurrent Constraint Automata Planning Problem (cont.)
2/29/2016 Goal Regression and Causal Graph Planning
dcmdin
flowin
flowout
dcmdout = vcmdin
Off
On
Failed
Reset-
table
dcmdin
= off
dcmdin
= on
dcmdin = reset
dcmdin = off
dcmdin = dcmdoutdriver
Closed
Open
Stuck
Closed
Stuck
Open
vcmdin = closevcmdin=
open
flowinin = flowoutvalve
60
![Page 61: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/61.jpg)
Outline
• Review: programs on state
• Planning as goal regression (SNLP/UCPOP)
• Goal regression planning with causal graphs (Burton)
– Constraint automata planning problem
– Causal graphs
– Using causal graphs to order goals
– Computing policies for selecting actions
– Appendix: Planning for cyclic causal graphs
• Appendix: HFS planning with the causal graph heuristic (Fast Downward)
2/29/2016 Goal Regression and Causal Graph Planning 61
![Page 62: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/62.jpg)
Observation:
Engineered systems are largely loop free.
Remote
Terminal
Remote
Terminal
Bus
ControlComputer ValveDriver
ValveDriver
2/29/2016 Goal Regression and Causal Graph Planning 62
![Page 63: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/63.jpg)
Causal Graph G of concurrent automata S:
• Vertices are control and state variables of automata.
• Edge from vi to vj if vj’s transition is conditioned on vi.
dcmdin
Driver
Valve
2/29/2016 Goal Regression and Causal Graph Planning
Off
On
Failed
Reset-
table
dcmdin
= off
dcmdin
= on
dcmdin = reset
dcmdin = off
dcmdin = dcmdoutDriver
Closed
Open
Stuck
Closed
Stuck
Open
vcmdin = closevcmdin=
open
flowinin = flowoutValve
dcmdin
dcmdout = vcmdin
63
![Page 64: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/64.jpg)
Outline
• Review: programs on state
• Planning as goal regression (SNLP/UCPOP)
• Goal regression planning with causal graphs (Burton)
– Constraint automata planning problem
– Causal graphs
– Using causal graphs to order goals
– Computing policies for selecting actions
– Appendix: Planning for cyclic causal graphs
• Appendix: HFS planning with the causal graph heuristic (Fast Downward)
2/29/2016 Goal Regression and Causal Graph Planning 64
![Page 65: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/65.jpg)
Idea: use causal graph analysis to eliminate ALL forms of search (Burton)
POP(<A,O,L>, agenda, actions):1. Termination: If agenda is empty, return plan <A,O,L>.
2. Goal Selection: Select and remove open condition <p, aneed > from agenda.
3. Action Selection: Choose new or existing action aadd that can precede aneed and whose effects include p. Link and order actions.
4. Update Agenda: If aadd is new, add its preconditions to agenda.
5. Threat Detection: For every action athreat that might threaten some causal link from aproduce to aconsume, choose a consistent ordering:
a) Demote: Add athreat < aproduce
b) Promote: Add aconsume < athreat
6. Recurse: on modified plan and agenda
2/29/2016 16.412J / 6.834J – Goal Regression & Causal Graph Planning
Burton [Williams & Nayak, IJCAI 1997]
65
![Page 66: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/66.jpg)
Why do goal orderings matter?
1. An achieved goal can be clobbered by a subsequent goal.
• Example:Current State: driver = on, valve = closed.
Goal State: driver = off, valve = open.
– Achieving (driver = off), followed by (valve = open) clobbers (driver = off).
Achieve valve goal before driver goal.
command
2/29/2016 Goal Regression and Causal Graph Planning
Effect Cause
66
![Page 67: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/67.jpg)
Goal Ordering for Causal Graph Planning
Require: The CCA causal graph to be acyclic.
dcmdin
Driver
Valve
Causal Graph
Idea: Achieve conjunctive goals upstreamwithin the causal graph, from “effects” to “causes”
(i.e., children to parents).
2/29/2016 Goal Regression and Causal Graph Planning 67
![Page 68: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/68.jpg)
Property: Safe to achieve goals in an upstream order• The only variables used to set some variable v7 is its ancestors.
• Variable v7 can be changed without affecting its descendants.
– Exploits: Each transitions independently controlled, each location can idle.
• Simple check:
1. Number the causal graph depth-first from leaves.• Child has lower number than parents
2. Achieve goals in the order of increasing depth-first number.
13
12
9
11
8
10
7
4
6
3
5
2
1
UnaffectedAffected
2/29/2016 Goal Regression and Causal Graph Planning 68
![Page 69: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/69.jpg)
Why do goal orderings matter?
2. Two goals can compete for the same variable associated with their sub-goals.
• Example: Latch Data at Latches 1 and 2– If Latch1 and Latch2 goals achieved at same time,
Latch1 and Latch2 compete for Switch position.
Latch
1
Switc
h
data
Latch
2
1
2
Solve one goal completely before the other (serially).
2/29/2016 Goal Regression and Causal Graph Planning 69
![Page 70: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/70.jpg)
Property: Safe to achieve one goal before starting next sibling (serialization).
• Sibling goals v7 and v4 may both need shared ancestors.
• Competition gone once sibling goal v7 is satisfied.
13
12
9
11
8
10
7
4
6
3
5
2
1
UnaffectedNot Shared
Shared
13
12
9
11
8
10
7
4
6
3
5
2
1
Unaffected
Not Shared
2/29/2016 Goal Regression and Causal Graph Planning 70
![Page 71: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/71.jpg)
Goal regression, causal graph planning example
No Search!• Worst Case per action: Depth * Sub-goal branch factor.
• Average Cost per action: Sub-goal branch factor.
Valve1 = open Valve2 = open Driver1 = off Driver2 = off
CU = onCU = on
CU = on
Driver1 = on Driver2 = on
CU = on
CU = on CU = on
2/29/2016 Goal Regression and Causal Graph Planning
Burton’s goal ordering rules:
1. Achieve effect goals before their causes,with control actiions last.
2. Achieve goals serially (like Hacker[Sussman PhD]).
CUDriver 1
Driver 2
Valve 1
Valve 2
Open
CU = off
Turn-On
Open
Turn-On First action generated first!
Turn-Off Turn-Off
Turn-On
71
![Page 72: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/72.jpg)
To select actions reactively, convert constraint automata to lookup policies
dcmdout= vcmdin
off
on
failed
resettable
dcmdin = offdcmdin = on
dcmdin = reset
dcmdin = off
dcmdin = dcmdout
closed
open
stuck closed
stuck open
vcmdin = closevcmdin = open
inflow = outflow
ValveDriver 12
2/29/2016 Goal Regression and Causal Graph Planning 72
![Page 73: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/73.jpg)
dcmdout= vcmdin
off
on
failed
resettable
dcmdin = offdcmdin = on
dcmdin = reset
dcmdin = off
dcmdin = dcmdout
ValveDriver 12
2/29/2016 Goal Regression and Causal Graph Planning
Goal
cmd = on idle
idle cmd = off
Current
On
Off
Resettable
On Off
cmd = reset cmd = off
To select actions reactively, convert constraint automata to lookup policies
Algorithm: Instance of APSP
73
![Page 74: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/74.jpg)
To select actions reactively, convert constraint automata to lookup policies
dcmdout= vcmdin
closed
open
stuck closed
stuck open
vcmdin = closevcmdin = open
inflow = outflow
ValveDriver 12
2/29/2016 Goal Regression and Causal Graph Planning
fail
Goal
fail
driver = oncmd = open
idle
idledriver = oncmd = close
Current
Open
Closed
Stuck
Open Closed
74
![Page 75: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/75.jpg)
Plan by passing sub-goals up causal graph
ValveDriver
fail
Goal
fail
driver = oncmd = open
idle
idledriver = oncmd = close
Current
Open
Closed
Stuck
Open Closed
Goal
cmd = on idle
idle cmd = off
Current
On
Off
Resettable
On Off
Goal: Driver = off, Valve = closed
cmd = reset cmd = off
Current: Driver = off, Valve = open
12
2/29/2016 Goal Regression and Causal Graph Planning
Algorithm: see [williams and nayak, IJCAI97]
75
![Page 76: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/76.jpg)
Plan by passing sub-goals up causal graph
ValveDriver
fail
Goal
fail
driver = oncmd = open
idle
idledriver = oncmd = close
Current
Open
Closed
Stuck
Open Closed
Goal
cmd = on idle
idle cmd = off
Current
On
Off
Resettable
On Off
Goal: Driver = off, Valve = closed
cmd = reset cmd = off
Current: Driver = off, Valve = open
12
2/29/2016 Goal Regression and Causal Graph Planning
Algorithm: see [williams and nayak, IJCAI97]
76
![Page 77: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/77.jpg)
Plan by passing sub-goals up causal graph
ValveDriver
Send:cmd = on
fail
Goal
fail
driver = oncmd = open
idle
idledriver = oncmd = close
Current
Open
Closed
Stuck
Open Closed
Goal
cmd = on idle
idle cmd = off
Current
On
Off
Resettable
On Off
Goal: Driver = off, Valve = closed
cmd = reset cmd = off
Current: Driver = off, Valve = open
12
2/29/2016 Goal Regression and Causal Graph Planning
Algorithm: see [williams and nayak, IJCAI97]
77
![Page 78: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/78.jpg)
12
Current: Driver = resettable, Valve = open
Plan by passing sub-goals up causal graph
ValveDriver
fail
Goal
fail
driver = oncmd = open
idle
idle
Current
Open
Closed
Stuck
Open Closed
Goal
idle
idle cmd = off
Current
On
Off
Resettable
On Off
Goal: Driver = off, Valve = closed
cmd = reset cmd = off
driver = oncmd = close
FailedResettable
cmd = on
2/29/2016 Goal Regression and Causal Graph Planning
Algorithm: see [williams and nayak, IJCAI97]
78
![Page 79: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/79.jpg)
Plan by passing sub-goals up causal graph
ValveDriver
fail
Goal
fail
driver = oncmd = open
idle
idle
Current
Open
Closed
Stuck
Open Closed
Goal
cmd = on idle
idle cmd = off
Current
On
Off
Resettable
On Off
Goal: Driver = off, Valve = closed
cmd = reset cmd = off
driver = oncmd = close
Current: Driver = resettable, Valve = open
12
2/29/2016 Goal Regression and Causal Graph Planning
Algorithm: see [williams and nayak, IJCAI97]
79
![Page 80: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/80.jpg)
Plan by passing sub-goals up causal graph
ValveDriver
fail
Goal
fail
driver = oncmd = open
idle
idle
Current
Open
Closed
Stuck
Open Closed
Goal
cmd = on idle
idle cmd = off
Current
On
Off
Resettable
On Off
Goal: Driver = off, Valve = closed
Sendcmd = reset
cmd = reset cmd = off
driver = oncmd = close
Current: Driver = resettable, Valve = open
12
2/29/2016 Goal Regression and Causal Graph Planning
Algorithm: see [williams and nayak, IJCAI97]
80
![Page 81: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/81.jpg)
What if the causal graph G contains cycles?
– compose each cycle into a single component.
BusControl
Computer
Antenna
Antenna
AmplifierK-bandTransmitter
AmplifierK-bandTransmitter
Problem: Plan is no longer serializable.
Solution:– Isolate the cyclic components (compute Strongly Connected Components).
• New causal graph G’ is acyclic.
• Goals of G’ are serializable.2/29/2016 Goal Regression and Causal Graph Planning 81
![Page 82: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/82.jpg)
Action Policy for Composed Components
off
on
cmdT = off
Transmitter Amplifier
cmdT = onA = offA = off
off
on
cmdA = offcmdA = on
T = on
onT
onA
onT
offA
offT
offA
offT
onA
cmdT = offcmdT = on
cmdA = off
cmdA = on
cmdA = off
2/29/2016 Goal Regression and Causal Graph Planning 82
![Page 83: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/83.jpg)
Action Policy for Composed Components
onT
onA
onT
offA
offT
offA
offT
onA
cmdT = offcmdT = on
cmdA = off
cmdA = on
cmdA = off
cmdT = on
Goal
cmdT = on
cmdA = on idle
idle cmdA = off
Current
OnT, OnA
OnT, OffA
OffT, OffA
OnT, OnA OnT, OffA
idle
cmdT = off
cmdA = off
OffT, OffA
fail
fail
fail
OffT, OnA
fail fail cmdA = off idleOffT, OnA
• Problem: Composition grows exponential in space usage.
• Solution: Use BDD encoding.[Chung and Williams, Self-adaptive SW 03]
2/29/2016 Goal Regression and Causal Graph Planning 83
![Page 84: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/84.jpg)
Outline
• Review: programs on state
• Planning as goal regression (SNLP/UCPOP)
• Goal regression planning with causal graphs (Burton)
• Appendix: HFS planning with the causal graph heuristic (Fast Downward)
2/29/2016 Goal Regression and Causal Graph Planning 84
![Page 85: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/85.jpg)
Causal Graph Heuristic for PDDL
• Recall: The Fast Forward (FF) Heuristic is computed over a Relaxed Planning Graph.
• Likewise: The Causal Graph (CG) Heuristic is computed over a Causal Graph.
– Map PDDL to concurrent automata, and extract causal graph (called domain transition graph (DTG).
Goal Regression and Causal Graph Planning2/29/2016 85
![Page 86: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/86.jpg)
Problem Reformulation
Original Representation:STRIPS or PDDL
• Init– TruckIn(t, c2)
– BoxIn(b,c1)
• Goal– BoxIn(b, Paris)
• Operators, e.g.– Drive(t, c1, c2)
• Pre: TruckIn(c1)
• Add: TruckIn(c2)
• Del: TruckIn(c1)
New Representation:Multi-valued Planning Task
• Variables:– truck := {c1, c2, Paris}
– box := {onTruck, c1, c2, Paris}
• Init – truck = c2
– box = c1
• Goal– box = Paris
• Operators, e.g.– Drive(t, c1, c2)
– Pre: truck = c1
– Post: truck = c2
2/29/2016 Goal Regression and Causal Graph Planning 86
![Page 87: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/87.jpg)
Domain Transition Graphs (DTG)
• One DTG per variable.
• Edges represent possible transitions (actions) and are guarded by preconditions
• A causal edge between the DTG represents that the “box” DTG has preconditions that depend on the “truck” DTG.
truck
c1
c2
Paris
box
Paris t c2
c1
Drive
Drive Drive
Drive
Unloadtruck=c2
Loadtruck=c2
Unloadtruck=c1
Loadtruck=c1
Unloadtruck=Paris
Loadtruck=Paris
Causal Edge
Drive
Drive
2/29/2016 Goal Regression and Causal Graph Planning 87
![Page 88: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/88.jpg)
Calculating the Heuristictruck
c1
c2
Paris
box
Paris t c2
c1
Drive
Drive Drive
Drive
Unloadtruck=c2
Loadtruck=c2
Unloadtruck=c1
Loadtruck=c1
Unloadtruck=Paris
Loadtruck=Paris
BoxIn(b, c1)TruckIn(t, c2) BoxIn(b, Paris)
Initial: Goal:Drive
Drive
2/29/2016 Goal Regression and Causal Graph Planning 88
![Page 89: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/89.jpg)
Calculating the Heuristictruck
c1
c2
Paris
box
Paris t c2
c1
Drive
Drive Drive
Drive
Unloadtruck=c2
Loadtruck=c2
Unloadtruck=c1
Loadtruck=c1
Unloadtruck=Paris
Loadtruck=Paris
BoxIn(b, c1)TruckIn(t, c2) BoxIn(b, Paris)
Initial: Goal:
# of transitions to get the box to Paris: 2
Drive
Drive
2/29/2016 Goal Regression and Causal Graph Planning 89
![Page 90: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/90.jpg)
Calculating the Heuristictruck
c1
c2
Paris
box
Paris t c2
c1
Drive
Drive Drive
Drive
Unloadtruck=c2
Loadtruck=c2
Unloadtruck=c1
Loadtruck=c1
Unloadtruck=Paris
Loadtruck=Paris
BoxIn(b, c1)TruckIn(t, c2) BoxIn(b, Paris)
Initial: Goal:
# of transitions to get the box to Paris: 2
# of transitions to get the truck to c1: 1
Drive
Drive
2/29/2016 Goal Regression and Causal Graph Planning 90
![Page 91: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/91.jpg)
Calculating the Heuristictruck
c1
c2
Paris
box
Paris t c2
c1
Drive
Drive Drive
Drive
Unloadtruck=c2
Loadtruck=c2
Unloadtruck=c1
Loadtruck=c1
Unloadtruck=Paris
Loadtruck=Paris
BoxIn(b, c1)TruckIn(t, c2) BoxIn(b, Paris)
Initial: Goal:
# of transitions to get the box to Paris: 2
# of transitions to get the truck to c1: 1
# of transitions to get the truck to Paris: 1
Drive
Drive
2/29/2016 Goal Regression and Causal Graph Planning 91
![Page 92: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/92.jpg)
Calculating the Heuristictruck
c1
c2
Paris
box
Paris t c2
c1
Drive
Drive Drive
Drive
Unloadtruck=c2
Loadtruck=c2
Unloadtruck=c1
Loadtruck=c1
Unloadtruck=Paris
Loadtruck=Paris
BoxIn(b, c1)TruckIn(t, c2) BoxIn(b, Paris)
Initial: Goal:
# of transitions to get the box to Paris: 2
# of transitions to get the truck to c1: 1
# of transitions to get the truck to Paris: 1
hCG = 4
Sum the transitions to get the heuristic value for the initial state…
Drive
Drive
2/29/2016 Goal Regression and Causal Graph Planning 92
![Page 93: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/93.jpg)
Causal Graph Heuristic
Idea: Sum the domain transition costs to get to the goal.
1. Identify each variable involved in the goal.2. Recurse from child to parent in the causal graph.
– For each variable, sum the cost of along the shortest path to change the current value to the goal value.
– If changing that variable’s value has preconditions, also add the cost of changing its parent variable.
)(
*
*
))(),((cost)(sdomv
v vsvsshCG
The cost of getting from the current state, s, to the goal
state, s*
2/29/2016 Goal Regression and Causal Graph Planning 93
![Page 94: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/94.jpg)
Causal Graph Heuristic Notes
• Can not handle cyclic causal graphs
– Relax some links until the graph is acyclic
• Calculation performed differently in practice
– Modified Dijkstra algorithm
• Each cost calculation can over estimate.
– Not admissible
– Assumes no helpful interactions between sub-goals
2/29/2016 Goal Regression and Causal Graph Planning 94
![Page 95: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/95.jpg)
Breaking Cycles
• Break action with multiple effects into multiple unary effect actions
• If there are still cycles, ignore some preconditions of actions
Pickup(d1, cream, w1,5)
Pre: d1_location=w1, w1_cream=5
Eff: w1_cream=4, d1_payload=cream
Pickup1(d1, cream, w1,5)
Pre: d1_location=w1, w1_cream=5
Eff: d1_payload=cream
Pickup2(d1, cream, w1,5)
Pre: d1_location=w1, w1_cream=5
Eff: w1_cream=4
2/29/2016 Goal Regression and Causal Graph Planning 95
![Page 96: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/96.jpg)
Breaking Cycles
d1_location
c1_want
d1_payload
w1_inventory
d1_location
c1_want
d1_payload
w1_inventory
Actions split into unary effects
2/29/2016 Goal Regression and Causal Graph Planning 96
![Page 97: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/97.jpg)
Causal Graph Heuristic Summary
• Graph capture dependence between variables
• Requires re-achieving conditions
• Multi-valued formulation reveals structure
• hCEA heuristic extends to cyclic graphs
• Performs extremely well on classical problems
2/29/2016 Goal Regression and Causal Graph Planning 97
![Page 98: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/98.jpg)
Heuristic Families
Type Relaxation Heuristics Estimates
Relaxed planning graph
Ignore deletes hmax, hadd, hff, hcs,
hm, ADHGh+ (cost of relaxed
plan)
Causal Graph Limited interactions hCG, hcea h+ (cost of relaxed
plan)
ProjectionAbstractions
Projection hPDB, hSTAN, hFORK h (cost of optimal)
There are many other heuristics, we’ve only covered two…
2/29/2016 Goal Regression and Causal Graph Planning 98
![Page 99: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/99.jpg)
Key Ideas
• Heuristic forward search is one of the fastest current planning techniques
• Domain independent heuristic design still problematic
• Fast Forward Heuristic – Solve a relaxed problem in a Planning Graph
• Causal Graph Heuristic– Consider problem’s structure in a Causal Graph
2/29/2016 Goal Regression and Causal Graph Planning 99
![Page 100: Goal Regression Planning, Constraint Automata and …...courtesy of JPL Goal Regression Planning, Constraint Automata and Causal Graphs 2/29/2016 Goal Regression and Causal Graph Planning](https://reader034.vdocuments.mx/reader034/viewer/2022042119/5e97bba430eb9820ed352016/html5/thumbnails/100.jpg)
MIT OpenCourseWarehttps://ocw.mit.edu
16.412J / 6.834J Cognitive RoboticsSpring 2016
For information about citing these materials or our Terms of Use, visit: https://ocw.mit.edu/terms.