Difference between "plan-space" and "state-space"
State-space search produces inflexible plans.
State-space search wastes time examining many different orderings of the same set of actions.
Plan-space search:
- no notion of states, just partial plans
- adopts a least-commitment strategy: don’t commit to orderings, instantiations, etc, unless necessary
- produces a partially ordered plan: represents all sequences of actions compatible with the partial ordering
- benefits: speed-ups (in principle), flexible execution, easier replanning
(Part of the ordering in an action sequence is not related to causality)
Plan-space 里的基本要素
- multiset O of operators {o1, . . . , on}
- set < of ordering constraints oi < oj (with transitivity built in)
- set B of binding constraints x = y, x ̸= y, x ∈ D, x ̸∈ D, substitutions.
- set L of causal links oi →p oj stating that (effect p) of oi establishes precondition p of oj, with oi < oj and binding constraints in B for parameters of oi and of appearing in p
Action step
-
initial node is (O : {start,end},<: {start < end},B : {},L : {})
with eff(start) = s0 and pre(end) = g (Nodes are partial plans) -
Successors are determined by plan refinment operations.
each operation add elements to O, <, B, L to resolve a flaw in the plan - Search through the plan space until a partial plan is found which has no flaw.
categary of flaw:
1.no open precondition: all preconditions of all operators in O are established by causal links in L
2.no threat (each linearisation is safe): for every causal link oi →p oj, every ok with eff−(ok) unifable with p is such that ok < oi or oj < ok
(任何一个operation 都不能改变任一causal link( oi →oj) 产生的针对下一个operation的precondition,即 它发生顺序不能在oi和oj之间,只能在oi前或者oj后发生)
3.< and B are consistent(根据我们的添加方法,这些flaw一般都是满足的。)
Note:只要我们将flaws都解决了,那么order plan 也就出来了。
Solution of flaw
针对第一个flaw(no open precondition):
- find an operator o′ (either already in the plan or insert it) which can be used to establish p, i.e. o′ can be ordered before o and one of its effects can unify with p
- add to B binding constraints to unify the effect of o′ with p(修改binding constraints set)
- add to L the causal link o′ →p o (and the ordering constraint o′ < o).(修改causal links set)
针对第二个flaw(no threat (each linearisation is safe)):
3 possibilities:
- order c after b(修改ordering constraints set)
- order c before a(修改 ordering constraints set)
- add a binding constraint preventing c to delete p(修改binding constraints set)
Note:
- Plan-Space-Planning is sound and complete
- Grounded variant: no binding constraints needed