Categories: 应用信息技术

反应性规划

在人工智能中,反应性规划(Reactive planning)表示由自主代理选择行动的一组技术。 这些技术在两个方面不同于经典规划。 首先,它们及时运作,因此可以应对高度动态和不可预测的环境。 其次,它们根据当前上下文在每个瞬间计算下一个动作。 反应性计划者经常(但不总是)利用反应计划,这是存储描述代理优先级和行为的结构。

虽然“反应性计划”这个术语至少可以追溯到1988年,但“反应性”这个术语现在已成为一种贬义的作为主动的反义词。 由于几乎所有使用反应性计划的代理都是主动的,一些研究人员已经开始将反应性计划称为动态计划。

反应计划表示
有几种方法可以表示被动计划。 所有这些都需要一个基本的代表单元和一种将这些单元组成计划的方法。

条件行动规则(制作)
条件操作规则或if-then规则是以下形式的规则:if condition then action。 这些规则称为制作。 规则的含义如下:如果条件成立,则执行操作。 动作可以是外部的(例如,拾取并移动它),也可以是内部的(例如,将事实写入内部存储器,或评估一组新的规则)。 条件通常是布尔值,并且可以执行或不执行操作。

生产规则可以以相对扁平的结构组织,但更常见的是组织成某种层次结构。 例如,包含体系结构由互连行为的层组成,每个实际上是一个有限状态机,它响应适当的输入而动作。 然后将这些层组织成一个简单的堆栈,其中较高层包含较低层的目标。 其他系统可以使用树,或者可以包括用于改变当前最重要的目标/规则子集的特殊机制。 扁平结构相对容易构建,但仅允许描述简单的行为,或者需要非常复杂的条件来补偿缺乏的结构。

任何分布式动作选择算法的一个重要部分是冲突解决机制。 这是一种机制,用于解决在给定时刻多个规则条件成立时提议的操作之间的冲突。 冲突可以通过例如解决

事先为规则分配固定的优先顺序,
分配首选项(例如在Soar架构中),
学习规则之间的相对效用(例如在ACT-R中),
利用一种规划形式。
专家系统通常使用其他更简单的启发式方法,例如新近度来选择规则,但很难用简单的方法保证大型系统中的良好行为。

冲突解决只对想要采取互斥行动的规则是必要的(参见Blumberg 1996)。

这种反应性计划的一些局限性可以在Brom(2005)中找到。

有限状态机
有限状态机(FSM)是系统行为的模型。 FSM广泛用于计算机科学。 代理的建模行为只是其可能的应用之一。 典型的FSM在用于描述代理的行为时,由一组状态和这些状态之间的转换组成。 转换实际上是条件操作规则。 在每个瞬间,只有一个FSM状态处于活动状态,并且会对其转换进行评估。 如果进行转换,则激活另一个状态。 这意味着,一般情况下,转换是以下形式的规则:if condition然后激活 – 新状态。 但是转换也可以连接到某些系统中的“自身”状态,以允许执行转换操作而不实际更改状态。

Related Post

如何通过FSM产生行为有两种方法。 它们取决于设计师与状态相关的内容 – 它们可以是“行为”或脚本。 “行为”是一种原子行为,如果其FSM是给定状态,则应由代理执行。 然后在每个时间步骤中执行此操作。 然而,更常见的是后一种情况。 这里,每个状态都与一个脚本相关联,该脚本描述了代理在其FSM处于给定状态时必须执行的一系列动作。 如果转换激活新状态,则前一个脚本将被中断,并且新脚本将启动。

如果脚本更复杂,可以将其分解为多个脚本,并且可以利用分层FSM。 在这样的自动机中,每个状态都可以包含子状态。 只有原子级别的状态与脚本(不复杂)或原子动作相关联。

在计算上,分层FSM等同于FSM。 这意味着每个分层FSM都可以转换为经典FSM。 然而,分层方法更好地促进了设计。 请参阅Damian Isla(2005)的论文,了解使用分层FSM的计算机游戏机器人ASM的示例。

模糊方法
if-then规则和FSM都可以与模糊逻辑组合。 条件,状态和动作分别不再是布尔值或“是/否”,而是近似和平滑的。 因此,结果行为将更顺利地过渡,尤其是在两个任务之间转换的情况下。 然而,模糊条件的评估比评估其清晰的对应物要慢得多。

查看Alex Champandard的建筑。

连接主义者接近
反应计划也可以通过人工神经网络或自由流动层次结构等连接网络来表达。 基本代表单元是一个具有多个输入链接的单元,为单元提供“抽象活动”,并输出将活动传播到后续单元的链接。 每个单元本身都作为活动传感器。 通常,这些单元以分层结构连接。

连接主义网络的积极因素首先表明,所产生的行为比清晰的if-then规则和FSM产生的行为更平滑,其次,网络通常是自适应的,第三,可以使用抑制机制,因此,行为可以是也有描述性地描述(通过规则,人们可以仅仅通过规定来描述行为)。 但是,这些方法也存在一些缺陷。 首先,对于设计人员来说,与if-then规则相比,网络描述行为要复杂得多。 其次,只能描述相对简单的行为,尤其是在要利用自适应特征的情况下。

反应性计划算法
典型的反应式计划算法仅评估if-then规则或计算连接主义网络的状态。 但是,某些算法具有特殊功能。

Rete评估:使用适当的逻辑表示(仅适用于清晰的规则),不需要在每个时间步骤重新评估规则。 相反,可以使用存储来自前一步骤的评估的高速缓存的形式。
脚本语言:有时,规则或FSM直接是架构的原语(例如在Soar中)。 但更常见的是,反应计划是用脚本语言编写的,其中规则只是原语之一(如JAM或ABL)。
操舵
转向是一种用于代理导航的特殊反应技术。 Braitenberg车辆采用最简单的反应式转向方式,将传感器输入直接映射到效应器输出,并可遵循或避免。 更复杂的系统基于对试剂产生影响的吸引力或排斥力的叠加。 这种转向是基于Craig Reynolds的原始工作。 通过转向,人们可以实现以下简单形式:

朝向目标导航
障碍避免行为
墙壁跟随行为
敌人接近
捕食者避免
人群行为
转向的优点是它在计算上非常有效。 在电脑游戏中,数百名士兵可以通过这种技术驾驶。 然而,在更复杂的地形(例如建筑物)的情况下,转向必须与路径寻找相结合(例如在Milani中),这是一种规划形式。

Share