Example: Putting on a pair of shoes
Init()
Goal(RightShoeOn∧LeftShoeOn)
Action(RightShoe,PRECOND: RightSockOn,EFFECT: RightShoeOn)
Action(RightSock,EFFECT: RightSockOn)
Action(LeftShoe,PRECOND: LeftSockOn,EFFECT: LeftShoeOn)
Action(LeftSock,EFFECT: LeftSockOn)
Partial-order planner would come up seperately with:
[RightSock,RightShoe]
for goal
RightShoeOn
[LeftSock,LeftShoe]
for goal
LeftShoeOn
Then these sequences would be combined to construct a final plan.
Every action sequence that maintains the partial order is a solution.
"Every linearisation of a partial-order solution is a total-order solution whose execution from the initial state will reach a goal
state."
Solution by POP
Actions
Orderings
Links
Open preconditions