Title: PartialOrder Planning POP
1Partial-Order Planning (POP)
Alan Fern
Based in part on slides by Daniel Weld, José
Luis Ambite, and Malcolm Ryan.
2Total-Order vs. Partial-Order Planning (POP)
?
A
D
C
B
B
D
A
C
There are many possible plans
- move(A, B, TABLE) move(B, TABLE, A) move(C,
D, TABLE) move(D, TABLE, C) - move(A, B, TABLE) move(C, D, TABLE) move(D,
TABLE, C) move(B, TABLE, A) - move(C, D, TABLE) move(D, TABLE, C) move(A,
B, TABLE) move(B, TABLE, A) - ect . . .
- State-space planning techniques produce
totally-ordered plans, i.e. plans consisting of a
strict sequence of actions. - Often, however, there are many possible orderings
of actions than have equivalent effects. - However, often many orderings of the actions have
equivalent effects.
3Total-Order vs. Partial-Order Planning (POP)
?
A
D
C
B
B
D
A
C
There are many possible plans
- move(A, B, TABLE) move(B, TABLE, A) move(C,
D, TABLE) move(D, TABLE, C) - move(A, B, TABLE) move(C, D, TABLE) move(D,
TABLE, C) move(B, TABLE, A) - move(C, D, TABLE) move(D, TABLE, C) move(A,
B, TABLE) move(B, TABLE, A) - ect . . .
- These plans share some common structure. They are
all different interleavings of two separate
plans - 1) move(A, B, TABLE) move(B, TABLE,
A) - 2) move(C, D, TABLE) move(D, TABLE,
C) - A partial-order plan is one which specifies only
the necessary ordering information. One
partial-order plan may have many total-orderings
4Total-Order vs. Partial-Order Planning (POP)
5(Partial-Order) Plan-Space Search
- Search nodes are partial plans
- some plan steps may be missing
- some orderings of actions may not be finalized
- Search arcs are plan refinements
- Solution is a node (not a path) giving the a
partial order on actions. - Any linearization of the plan is a total-order
solution to the problem
It follows the least-commitment principle Do
not add constraints (e.g. action ordering) to a
plan until it becomes necessary to ensure the
correctness of the plan.
6Representing Partial-Order Plans
- Plan (A, O, L, P), where
- A set of actions in the plan
- O temporal orderings between actions (a lt b)
- L causal links linking actions via a literal
(used for book keeping) - P open preconditions that need to be satisfied
- Causal Link
- Action A2 has precondition Q that is
established in the plan by action A1.
clear(b)
Unstack(C,B)
Putdown(A,B)
7Threats to a Causal Link
- A causal link (A1, Q, A2) represents the
assertion that the role of A1 is to establish
proposition Q for A2 - This tells future search steps to protect Q in
the interval between A1 and A2
Action B threatens causal link (A1, Q, A2) if 1.
B has Q as a delete effect, and 2. B could come
between A1 and A2, i.e. O ? (A1 lt B lt A2)
is consistent
PutDown(C,B)
What is a threat to the following causal link?
clear(B)
Unstack(C,B) PutDown(A,B)
8Consistent Plans
A plan (A, O, L, P) is consistent iff1) O
contains no cycles2) No causal link in L is
threatened
- For simplicity we introduce two actions to
represent the intitial state and goal of a
problem - START
- no preconditions
- ADD effects are the initial state
- only consider plans where START is the first step
- FINISH
- no effects
- preconditions are the goal
- only consider plans where FINISH is the last step
Any consistent plan with no open preconditions is
a solution.
9POP example Blocks World
Initial plan includes only START and FINISH
actions.The open preconditions correspond to the
goal.
START
on(C, A)
ontable(A)
ontable(B)
clear(C)
clear(B)
C
B
A
on(A, B)
on(B, C)
A
FINISH
B
C
10Work on open precondition on(B, C)
and clear(B)
START
on(C, A)
ontable(A)
ontable(B)
clear(C)
clear(B)
C
B
A
preconditions
effects
on(A, B)
on(B, C)
A
FINISH
B
C
11Work on open precondition on(A, B)
START
on(C, A)
ontable(A)
ontable(B)
clear(C)
clear(B)
C
B
A
clear(A)
clear(B)
ontable(A)
A2 move(A, TABLE, B)
on(A, B)
ontable(A)
clear(B)
on(A, B)
on(B, C)
A
FINISH
B
C
12Protect causal links
START
on(C, A)
ontable(A)
ontable(B)
clear(C)
clear(B)
C
B
A
clear(A)
clear(B)
ontable(A)
A2 move(A, TABLE, B)
on(A, B)
ontable(A)
clear(B)
on(A, B)
on(B, C)
A
FINISH
B
C
13Work on open precondition clear(A)
START
on(C, A)
ontable(A)
ontable(B)
clear(C)
clear(B)
C
B
A
clear(A)
clear(B)
ontable(A)
A2 move(A, TABLE, B)
on(A, B)
ontable(A)
clear(B)
on(A, B)
on(B, C)
A
FINISH
B
C
14Final Plan
All preconditions are supported and plan is
consistent.So this partial-order plan is a
solution.
START
on(C, A)
ontable(A)
ontable(B)
clear(C)
clear(B)
C
B
A
clear(C)
on(C, A)
A3 move(C, A, Table)
on(C, A)
ontable(C)
clear(A)
clear(B)
clear(C)
ontable(B)
A1 move(B, TABLE, C)
clear(A)
clear(B)
ontable(A)
on(B, C)
ontable(B)
clear(C)
A2 move(A, TABLE, B)
on(A, B)
ontable(A)
clear(B)
on(A, B)
on(B, C)
A
FINISH
B
C
15POP In Practice
- The book discusses some basic heuristics for
controlling plan-space search. - Plan-space search was observed to be better than
state-space search. - This led to much POP research through the 80s
and early 90s - But POP dropped out of favor as it was
substantially outperformed by new ideas - However, recent work on planning heuristics is
effectively combining the new ideas with POP - Nevertheless POP is an appealing and flexible
framework. - Often it can be generalized more easily than
newer types of planners