Partial order planing builds on these ideas:
- adopts a plan space representation – states in the state space correspond to partial plans
- relaxes the requirement that solutions are constructed sequentially steps be added to the plan in any order
- adopts the principle of least commitment – decisions about step ordering and variable binding are delayed as long as possible
Partial order plan consists of:
- A set of steps(operator applications with pre- and postconditions), including special start and finish steps
- A set of ordering constraints on steps of forms si < sj (step i before step j)
- A set of variable binding constraints, v = x or v != x, where v is a variable in some step, and x is a constant or another variable
- A set of causal links, si -> csj, (step i achieves precondition c for step j), which record the purpose of the step in the plan
Here is an example for the Milk and banana problem:
The green line indicates that the order really matters. Also, if you do Buy(Milk), Buy(Ban) at first and then go to HWS and buy Drill that is also fine. The most important thing which needs to be take care is find the relation whether the two action is protected or not. The way to solve it is quite similar with the goal stack planning.