For example, a plan for baking a cake might start: This is a partial plan because the order for finding eggs, flour and milk is not specified, the agent can wander around the store reactively accumulating all the items on its shopping list until the list is complete.
The initial state would be the plan with the open preconditions equal to the goal conditions.
The goal is simply the final action that needs to be accomplished, for example setting the table.
The algorithm starts, producing the initial state and finishes when all parts of the goal have been achieved.
In the setting a table example, two types of actions exist that must be addressed: the put-out and lay operators.
This threat is that the precondition to the start of the algorithm will be unsatisfied as the table will no longer be clear.
Partial-order planning algorithms are known for being both sound and complete, with sound being defined as the total ordering of the algorithm, and complete being defined as the capability to find a solution, given that a solution does in fact exist.
Trivial serializability facilitates a planner’s ability to perform quickly when dealing with goals that contain subgoals.
The determining factor that makes a subgoal trivially or laboriously serializable is the search space of different plans.
Using this type of incremental planning system solves this problem quickly and efficiently.
One drawback of this type of planning system is that it requires a lot more computational power for each node.
This higher per-node cost occurs because the algorithm for partial-order planning is more complex than others.