人智导(二十二):规划(下)
部分有序的规划:实例
部分有序(Partial Order)的规划举例
- 问题:购买milk, banana, drill, 然后回家
SM: 超市(supermarket)
HWS: 五金商店(Hardware shop) - 初始状态定义了start步骤
Op(ACTION: Start, EFFECT: At(Home)
∧
\wedge
∧ Sells(HWS, Drill)
∧
\wedge
∧Sells(SM, Milk)
∧
\wedge
∧ Sells(SM, Banana)) - 目标状态定义了finish步骤
Op(ACTION: Finish, PRECOND: Have(Drill)
∧
\wedge
∧ Have(Milk)
∧
\wedge
∧ Have(Banana)
∧
\wedge
∧ At(Home)) - 动作:
Op(ACTION: Go(there),
PRECOND: At(there), EFFECT: At(there)
∧
¬
\wedge\neg
∧¬At(here))
Op(ACTION: Buy(x),
PRECOND: At(store)
∧
\wedge
∧Sells(store, x), EFFECT: Have(x))
部分有序规划算法
Function POP(initial, goal, operators) returns plan
plan <--- MAKE-MINIMAL-PLAN(initial, goal)
loop do
if SOLUTION?(plan) then return plan
全系列 完