STRIPS语言及其扩展
1. STRIPS语言简介
STRIPS(Stanford Research Institute Problem Solver)是一种用于描述规划问题的语言,最初由Fikes和尼尔森在1971年提出。STRIPS的核心理念是通过描述初始状态、目标状态和操作符来解决规划问题。STRIPS语言的主要优点在于其强大的表达能力,尤其是在处理复杂的规划问题时,它能够通过所谓的封闭世界假设(Closed World Assumption, CWA)来进行有效的推理。这意味着在STRIPS中,除非明确声明某事物为真,否则默认为假,这大大简化了推理过程。
1.1 初始状态和目标状态
在STRIPS中,初始状态和目标状态都是通过一组命题来描述的。例如,在一个简单的积木世界问题中,初始状态可能描述为:
-
ontable(A)
:积木A在桌子上。 -
clear(A)
:积木A上方没有其他积木。 -
on(B, C)
:积木B在积木C上。
目标状态则描述为希望达到的状态,例如:
-
on(A, B)
:积木A在积木B上。 -
on(B, C)
:积木B在积木C上。
1.2 操作符
操作符是STRIPS语言的核心,它描述了如何从一个状态转换到另一个状态。每个操作符都有预条件和效果。预条件是执行操作符前必须满足的条件,