Professional Documents
Culture Documents
Basic idea
Construct a graph that encodes constraints on possible plans Use this planning graph to constrain search for a valid plan:
If valid plan exists, its a subgraph of the planning graph
Finds shortest parallel plan Sound, complete and will terminate with failure if there is no plan.
*Version in [Blum& Furst IJCAI 95, AIJ 97], later extended to handle all these restrictions [Koehler et al 97]
3
Planning graph
Directed, leveled graph
2 types of nodes:
Proposition: P Action: A
Proposition and action levels alternate Action level includes actions whose preconditions are satisfied in previous level plus no-op actions (to solve frame problem).
4
Rocket domain
Planning graph
Competing Needs
Inconsistent Support
11
12
Observation 1
p q r A p q q B r r r A p q q B A p q q r r
Observation 2
p q r A p q q B r r r A p q q B A p q q r r
14
Observation 3
p q A r r r p q p q
Observation 4
A p q B C p q r s B C A p q r s A p q
B
C
r s
Observation 5
Planning Graph levels off. After some time k all levels are identical Because its a finite space, the set of literals never decreases and mutexes dont reappear.
17
Valid plan
A valid plan is a planning graph where: Actions at the same level dont interfere Each actions preconditions are made true by the plan Goals are satisfied
18
GraphPlan algorithm
Grow the planning graph (PG) until all goals are reachable and not mutex. (If PG levels off first, fail) Search the PG for a valid plan If non found, add a level to the PG and try again
19
21
More efficient: early backtracking Also provides necessary and sufficient conditions for termination:
Assume plan graph levels off at level n, stage t > n If U(n, t-1) = U(n, t) then we know were in a loop and can terminate safely.
22
24
25
26
27
28
Max nodes proposition level: O(p+mlnk) Max nodes action level: O(mnk)
k = largest number of action parameters, constant!
29