we need fast, flexible, and reliable planning
TRANSCRIPT
1
Massachusetts Institute of Technology
“Enabling Fast Flexible Planning through Incremental Temporal Reasoning with
Conflict Extraction”
I’shiang Shu, Robert Effinger, Prof. Brian Williams
Model-Based Embedded and Robotic Systems GroupMassachusetts Institute of Technology
ICAPS 2005
We Need Fast, Flexible, and Reliable Planning
ATRV Rover Testbed Robonaut Simulator
Kirk Planner
TemporallyFlexible Planning
• Redundant Methods
• Conflict-directed Plan Repair
• Flexible Execution Times
• Incremental Reasoning
• Conflict Extraction
TPN (Kim, Williams, Abrahmson 01)
STN ( Dechter, Meiri, Pearl, 91 )
( Shu, Effinger, Williams 05 )
( Cesta, Oddi 96 ) and many others
combines:
ContingencyPlanning
Dynamic Backtracking (Ginsberg 96)
Kirk Plannercombines:
ContingencyPlanning
TemporallyFlexible Planning
• Flexible Execution Times
• Incremental Reasoning
• Conflict Extraction
• Redundant Methods
• Conflict-directed Plan RepairTPN (Kim, Williams, Abrahmson 01)
STN ( Dechter, Meiri, Pearl, 91 )
( Shu, Effinger, Williams 05 )
( Cesta, Oddi 96 ) and many others
Kirk Planner
Dynamic Backtracking (Ginsberg 96)
Kirk Plannercombines:
ContingencyPlanning
TemporallyFlexible Planning
{ITC Algorithm
Kirk Planner
• Flexible Execution Times
• Incremental Reasoning
• Conflict Extraction
• Redundant Methods
• Conflict-directed Plan Repair
Flexible Execution Times
Simple Temporal Network (STN):
Equivalent Distance Graph Representation:
(Dechter, Meiri, Pearl 91)
[ ] lTTuTTulTT jiijij −≤−∩≤−⇒∈− ,
[ ] 5 , 1 ∈− ij TTBegin-engine-start
[1,5] End-engine-start
A B[l,u]
A B
u
-lSTN Distance Graph
2
Flexible Execution Times (Dechter, Meiri, Pearl 91)
A B[1,5]
A B
5
-1
A Simple STN:
d = 0 d = 5
Consistent !
Determine STN consistency:
- Calculate the Single Source Shortest Path (polynomial-time algorithm)
Flexible Execution Times
Determine STN consistency:
- Calculate the Single Source Shortest Path (polynomial-time algorithm)
- A continually looping negative cycle indicates an inconsistency in STN
(Dechter, Meiri, Pearl 91)
d = 0 d = 1d = - 4 d = - 3d = - 8
Inconsistent STN !
Two methods to detect a continually looping negative cycle1.) Check for any d-value to drop below –nC.2.) Keep an acyclic spanning tree of support, and terminate
when a self-loop is formed. (Cesta, Oddi 96)
(most space efficient)
(most time efficient)
A Simple STN:
A B[5,1]
A B
1
-5
Kirk Planner: Overviewcombines:
ContingencyPlanning
TemporallyFlexible Planning
Kirk Planner
• Flexible Execution Times
• Incremental Reasoning
• Conflict Extraction
• Redundant Methods
• Conflict-directed Plan Repair
{ITC Algorithm
ITC Algorithm
• Basic Idea:
1.) Keep dependency information for each shortest-path value in the distance graph (Cesta, Oddi 96)
2.) Use incremental update rules to localize necessary changes to the distance graph.
a.) 3 Update Rules to change a consistent distance graph.b.) 3 Update Rules to repair an inconsistent distance graph.
• ITC’s Novel Claims:
1.) A conflict extraction mechanism to guide plan repair2.) Allow multiple arc-changes3.) Can repair inconsistent distance graphs incrementally
• Given a consistent STN, changing Arc(i,j)’s cost can have three possible effects on the shortest path.
1. Arc(i,j) change does not affect the shortest path to node j.2. Arc(i,j) change improves the shortest path to node j.3. Arc(i,j) change invalidates the shortest path to node j.
3 Update Rules to Change a Consistent Distance Graph
ji
g
h
EDistance graph d = 7d=6
d=5
d=5
2
2
3
10 d = 17
d = shortest path valuep = supporting node
p = g p = j
• Keep track of the support for each shortest path value(Cesta & Oddi 96)
p = s
p = s
p = s
CASE 1
3 jid=6
g
h
2
2
3d=5
d=5
Distance graph
1.) Arc(i,j) change does not affect shortest path
• The cost from node i to node j increases from 2 to 3.
E10d = 7 d = 17p = g p = j
d = shortest path valuep = supporting node
• No changes are needed.
p = s
p = s
p = s
3
3
CASE 2
0 ji
g
h
Distance graph
• The cost from node i to node j decreases from 3 to 0.
• Propagate the improved shortest path.
6i
E
2.) Arc(i,j) change improves shortest path to j
d=6
2
3d=5
d=5
10d = 7 d = 17p = g p = j
16
p = s
p = s
p = s
∞?
40
CASE 3
ji
g
h
2
3
Distance graph
• Increasing Arc(i,j) now invalidates node j’s shortest path.
E
• Reset node j• Recursively reset nodes dependent upon node j. • Insert node j’s parents into the queue so that a new path to node j can be
found for node j and all other invalidated nodes.
3.) Arc(i,j) change invalidates shortest path to j
d=6
d=5
d=5
d = 6p = i
d = 16p = j
∞?
7g
17
j10
p = s
p = s
p = s
3 Update Rules to repair an Inconsistent distance graph
• ITC discovers an inconsistency (a negative cycle) by detecting cyclically dependent backpointers.
D
B
2 3-1
3 8
-2
-2
-8
d=-3p=B
d=-1p=A
d=-10p=D
S2d=0
p=none-1
d=2p=CA
CThis must be a negative cycle
cycle:(A,B,D,C,A)
3 Update Rules to repair an Inconsistent distance graph
• Now ITC must incrementally repair the inconsistency.
D
B
2 3-1
3 8
-2
-2
-8
d=-3p=B
d=-1p=A
d=-10p=D
S2d=0
p=none-1
d=2p=CA
C
• Three repair steps:1.) Reset all nodes in negative cycle.2.) Recursively reset all nodes that depend on the negative cycle nodes.3.) Put any parent of a reset node that was not also reset on the Q.
Negative cycle:(A,B,D,C,A)
∞
∞
∞
∞
?
?
?
?
3 Update Rules to repair an Inconsistent distance graph
• Now ITC must incrementally repair the inconsistency.
D
B
2 3-1
3 8
-2
-2
-8
d= ∞p = ?
d= ∞p= ?
d=-10p=D
S2d=0
p=none-1
d= ∞p= ?
A
C
• Change arc cost CD to 10.
• Propagate the new shortest path values
Consistent !
5
13
4
2
A
B
A
S 10
Kirk Planner: Overviewcombines:
ContingencyPlanning
TemporallyFlexible Planning
Kirk Planner
• Flexible Execution Times
• Incremental Reasoning
• Conflict Extraction
• Redundant Methods
• Conflict-directed Plan Repair
{ITC Algorithm
4
Temporal Plan Network ( Kim, Williams, Abrahmson 01 )
p1
p2 p3
pL
pR
1
Temporal Plan Network ( Kim, Williams, Abrahmson 01 )
p1
p2 p3
pL
pR
Redundant Methods
Start EndbeHomeBeforeDark()
imageTargets( ) driveTo(p3)
[0,30]
[5,10] [5,10]
driveTo(pL) driveTo(p2)
driveTo(pR) driveTo(p2)
[3,6] [2,5]
[20,30] [20,30]
[0,0][0,0]
1
Conflict-Directed Plan Repair
p1
p2 p3
pL
pR
Start EndbeHomeBeforeDark()
imageTargets( ) driveTo(p3)
[0,30]
[5,10] [5,10]
driveTo(pL) driveTo(p2)
driveTo(pR) driveTo(p2)
[3,6] [2,5]
[20,30] [20,30]
[0,0][0,0]
1
Generate NewCandidate Plan
Test Candidate PlanFor Temporal Consistency
Inconsistency
Incremental Updates
Conflict-Directed Plan Repair
p1
p2 p3
pL
pR
Start EndbeHomeBeforeDark()
imageTargets( ) driveTo(p3)
[0,30]
[5,10] [5,10]
driveTo(pL) driveTo(p2)
driveTo(pR) driveTo(p2)
[3,6] [2,5]
[20,30] [20,30]
[0,0][0,0]
1
Consistent !
Generate NewCandidate Plan
Test Candidate PlanFor Temporal Consistency
Inconsistency
Incremental Updates
Performance ImprovementsUAV Scenarios
Randomly Generated Plans
Water UAVNFZ1
NFZ2
WaterA
WaterB
Fire1
Fire2
Seeker UAV
No-Fly Zone
Legend:
FireWaterUAV Base
UAV Base
Plan Goal: Extinguish All FiresVehicles: Two Seeker UAVs
One Water UAV Resources: Fuel & Water
Comparison of Algorithm Runtime
0
2
4
6
8
10
12
1 10 19 28 37 46 55 64 73 82 91
Number of Activities
Alg
orith
m R
untim
e (s
ec)
Non-incrementalAlgorithm
IncrementalAlgorithm
Comparison of Algorithm Runtime
0
2
4
6
8
10
12
1 10 19 28 37 46 55 64 73 82 91
Number of Activities
Algo
rithm
Run
time
(sec
)
Non - incrementalAlgorithmIncrementalAlgorithm
Conclusions
• ITC is an incremental shortest path algorithm that can repair distance graphs incrementally as the plan changes
• ITC’s Novel Claims:1.) A conflict extraction mechanism2.) Allow multiple arc-changes at once3.) Can incrementally repair inconsistent distance graphs
• Shows an order of magnitude improvement over non -incremental planning
• Applicable to any plan representation that uses disjunctions of simple temporal constraints.
5
Any Questions?
References
Ahuja, R.; Magnanti T.; Orlin J, 1958. Network Flows: Theory, Algorithms, and Applications. Prentice Hall.
Cesta, A. and Oddi, A., 1996. Gaining Efficiency and Flexibility in the Simple Temporal Problem, 3rd Workshop on Temporal Representation and Reasoning.
Dechter, R.; Meiri, I.; Pearl, J., 1991. Temporal Constraint Networks. Artificial Intelligence, 49:61-95.
Estlin, T.; et al., 2000. Using Continuous Planning Techniques to Coordinate Multiple Rovers. Electronic Transactions on Artificial Inttligence, 4:45-57.
Gelle, E. and Sabin M., 2003. Solving Methods for Conditional Constraint Satisfaction. In IJCAI-2003.
Gerevini, A., et al., 1996. Incremental Algorithms for Managing Temporal Constraints. 8th International Conference of Tools with Artificial Intelligence.
Ginsberg, M.L., 1993. Dynamic backtracking. Journal of AI Research, 1:25-46.
Kim, P.; Williams, B.; and Abrahmson, M, 2001. Executing Reactive, Model-based Programs through Graph-based Temporal Planning. IJCAI-2001.
Koenig, S. and Likhachev. M., 2001. Incremental A*. In Adv. in Neural Information Processing Systems 14.
McAllester, D., 1991. Truth Maintenance. In Proceedings of AAAI-90, 1109-1116.
Muscettola N., et al., 1998. Issues in temporal reasoning for autonomous control systems. In Autonomous Agents
Prosser, P., 1993. Hybrid algorithms for the constraint satisfaction problem, Comp. Intelligence. 3 268-299.
References (continued)
Rabideau, G., et.al., 1999. Iterative Repair Planning for Spacecraft Operations in the ASPEN System. ISAIRAS.
Stergiou, K, and Koubarakis, M., 1998. Backtracking Algorithms for Disjunctions of Temporal Constraints.15th Nat. Conference of Artificial Intelligence, 81-117.
Tsamardinos, I., Vidal T., Pollack, M., 2003. CTP: A new constraint-based formalism for conditional, temporalplanning. Constraints., vol. 8, no. 4, pp. 365-388.
Williams, B. and Ragno, J., 2002. Conflict-directed A* and its role in model-based embedded systems. Journalof Discrete Applied Math.