文章目录
- 1 Classical Planing
- 2 PDDL
- 3 PDDL+ (这一章节会进一步讲解上一章节的语法)
- 4 eXplainable Planning
- 5 planning with number
- 6 planning with preferences
- 7 planning with motion
- 8 考试卷子中的知识点(重要)
- 9 heuristic search planning
- Relaxed planning Graph(RPG)
- state space
- STN and snap action
- local search
- goal preference
- RPG solution extraction
- abstract state space
- LP/COLIN
1 Classical Planing
Planning Domain Definition Language(PDDL)
classical planning
- Domain-Independence Automated Planning=GPS general problem solving: create one planning algorithm that preforms sufficiently well on many application domain.
- plan validation: use VAL plan to independently verify if the plan is correct.
- path finding in very large deterministic transition systems
<
S
,
s
0
,
S
∗
,
A
,
c
o
s
t
,
T
>
<S,s_0,S_*,A,cost,T>
<S,s0,S∗,A,cost,T>
STRIPS:
<
V
a
r
i
a
b
l
e
,
I
n
i
t
i
a
l
,
G
o
a
l
,
A
c
t
i
o
n
>
<Variable,Initial,Goal,Action>
<Variable,Initial,Goal,Action>
- optimal planning: only optimal plans are solutions
- satisficing planning: any plan is a solution, but cheaper plans are preferred
big three planning approaches
- Graph/SAT Planing
- Symbolic Search Planning
- Heuristic State-Space Search
2 PDDL
first-order logic:一阶逻辑里面使用了大量所谓“限量词变量”(Quantified variables),比如:∃x(意思是存在一个变量x),限量词符号“∃”是把字母“E”从左向右反转过来产生的,其原本的意思的“Exist”(存在);而限量词∀x(对所有的变量x),符号”∀“是将字母”A“从下向上反转而产生的,其原本意思是”All“(所有、全部)。在这里,逻辑符号”∃“和”∀“就是一阶逻辑的”限量词“(Quantifer)。
相关博文:什么是一阶逻辑
下面会介绍PDDL语言中可以使用的一些常见语法
- PDDL2.1: Comparisons between numeric expressions are allowed as logical atoms:
(>=(fuel)(*(dist ?x ?y)(consumption)))
- PDDL2.1: extended with action durations
(= ?duration(/ (dist ?x ?y) (speed)))
举个例子:
- compiled using unary type predicates
(:objects a - block)
等价于
(:objects a)
(:init (BLOCK a))
-
Quantor
量词forall 和 exists,可以用and 和or 来代替了。
-
Conditional effects “when”
forall (?x - block) (when (not (painted ?x) (color ?x)))
- negated preconditions
(not(p))变成了(not-p)
- increase&decrease
- plan metric
(: metric minimize (+ (* 2 total-time) (* 4 total-fuel-consumed)))
接下来是PDDL2.2的内容
- derived predicates
if…then…
(:derived (fed ?x) (exists ?y (and (connected ?x ?y) (fed ?y))))
- timed initial literals(TIL)
独立于actions taken
(at 9 (shop-open))
(at 18 (not (shop-open)))
- PDDL+ with temporal numeric change
- NUPDDL:uncertainty with oneof and unknown
(oneof (open_door d1) (open_door d2) (open_door d3))
(forall (?e - element_no) (unknown (element_value ?e)))
-
obsevation
-
PPDDL probabilistic
至此,PDDL的代码应该是能看懂了。
3 PDDL+ (这一章节会进一步讲解上一章节的语法)
what make it hybird? 为什么PDDL+是混合的呢
- when actions or event are performed they cause instantaneous changes in the world;当执行动作的时候,世界立刻改变了。
- process are continuous changes. generate continuous updates in the world.
interact with a process while it runs #t
我们知道 这个球落地的时候,**(height ?b)**应该是全程大于零0的
我们来重新写一下这个球的过程,让球落下,弹起,接住。
- First drop it action
- watch it fall process
- bounce event
- catch it
这里有一个简单的例子
4 eXplainable Planning
这一章就讲了几个explainable questions,感觉不太重要。
这一章不考试
5 planning with number
TIL(timed initial literals)
- 这个概念在PDDL2.2的时候介绍过,就是上文
- Allow us to model facts that become true, or false, at a specific time.‘Can use them to model deadlines or time windows.
- 这个TIL允许我们设定一些在某些时刻会变成true或者false的事实
- 通过TIL,实现dealine:
就是初始状态这是a,然后action的condition中at end设置一个a,然后初始状态设置一个某个时刻not-a.
- 通过TIL,实现time windows
跟上面一样
6 planning with preferences
- 满足hard goals 然后尽可能地满足preference
- sometime-before
- sometime-after
- preference
(preference p1 (always(not(at B))))
cost(p1) 这个是放弃这个preference所需要支付的cost
LTL(linear time logic)
- 有点像是temporal logic
RELAXING NUMERIC EFFECTS
- Maintain bounds: upper and lower bound on each numeric variable
- 感觉好像是为了preference,为了主要的目的,有的时候可以放宽别的限制
distance to go & cost to go
- distance to go:minimum number of actions to call something a goal state
- cost to go:which forgo actions must be applied
- 这里提到的distance-cost pairsis not all. All combinations of preferences would take ages. So use a greedy algorithm.
7 planning with motion
- TSP:travelling salesman problem
- 这部分没看懂讲了啥
8 考试卷子中的知识点(重要)
9 heuristic search planning
- Delete relaxaion:Estimate cost to goal by considering simpler planning task without negative side effects of actions.
- Abstraction:Estimate cost by projecting the state space to a smaller space.
- critical paths: Estimate cost by critical path length of a concurrent solution for a simplified problem.
- landmarks: an action set A is a landmark if all plans include an action from A. Compute a set of landmarks and use It to derive a cost estimate.
这里提出了LP linear program:
LP with same objective value but role of constraints and variables interchanged.
one variable per operator
one constraint per landmark
minimum hitting set
- network flows
Relaxed planning Graph(RPG)
state space
STN and snap action
local search
Local search is extremely prone to wandering down dead ends and having to backtrack a lot.
goal preference
RPG solution extraction
abstract state space
LP/COLIN