规划系统:从基础到高级应用
1 规划的概念
规划是生成一组预定顺序的动作或操作的过程,旨在实现预期目标。与设计问题不同,设计关注的是工件或服务的详细描述,而规划则注重未来行动的分析,尤其是行动的顺序或时机。规划的关键在于分析未来要执行的行动,并考虑这些行动如何随着时间的推移达到预期目标。规划可以被视为“关于行动的推理”,因为它涉及提出“如果……将会发生什么?”的问题。
1.1 规划的定义
规划的核心是产生一个计划,计划是一组预定顺序的动作或操作的描述,旨在达到预期的目标。规划涉及对未来行动的分析,特别是行动的顺序或时机。这与设计问题不同,设计问题主要关注对工件或服务的详细描述而不涉及时间因素。
1.2 规划的类型
根据规划决策的时间范围,规划可以分为以下几类(见表1):
| 时间范围 | 规划类型 |
|---|---|
| 年 | 长期规划 |
| 月 | 中期规划 |
| 日 | 短期规划 |
| 小时 | 实时控制 |
表1:根据时间范围分类的规划类型
2 经典规划系统
为了使自动化规划成为一个可处理的问题,必须做出某些假设。几乎所有讨论的系统(除了反应式规划器)都假设世界可以通过在特定时间点“拍摄快照”来创建一个世界状态来表示。基于这种假设的推理被称为状态基础推理。采用这种假设的规划系统被称为经典规划系统,因为这种假设构成了过去研究的大部分基础。
2.1 经典规划系统的输入和输出
经典规划系统的输入定义明确:
- 初始世界状态的描述
- 一组可能对世界状态执行的动作或操作符
- 目标状态的描述
经典规划系统的输出包括一系列操作符的描述,这些操作符应用于当前世界状态时,将导致期望的目标状态。
2.2 STRIPS系统
STRIPS是最古老的AI规划系统之一,但它仍然是一个值得考虑的系统。STRIPS基于创建一个世界模型,世界模型包括许多对象以及可以应用于这些对象以改变世界模型的操作符。
2.2.1 操作符的前提条件和效果
操作符不能在所有情况下应用,而是每个操作符都有一个前提条件集合,在这些条件满足之前不能应用。鉴于对每个操作符的前提条件和效果的了解,STRIPS能够应用一种称为手段-目的分析的技术来解决规划问题。
2.2.2 示例问题
考虑一个响应客户订单的问题。如果我们已经有了一些合适的盘片,那么我们可以简单地将这些盘片交付给客户。如果我们没有任何制造好的盘片,我们可以选择自己从合金块制造盘片(假设这是唯一的原材料),或者选择外包这项工作。
3 处理动作的副作用
在规划中,某些操作可能会根据上下文产生不同的效果,即取决于世界状态的其他方面。这被称为框架问题。例如,考虑从家走到商店的操作。世界状态的两个明显变化首先是我不再在家,其次是我已经到达商店。然而,还有许多其他变化,比如橡胶的量在我的鞋底上留下了痕迹。也有一些事情不会因为我的散步而改变,比如石油的价格。
3.1 STRIPS假设
处理框架问题的一种方法是所谓的STRIPS假设,它在STRIPS和其他许多经典规划器中使用。这个假设是,除了被模型操作明确改变的方面外,所有世界状态的方面都将保持不变。
4 分层规划
几乎所有计划本质上都是分层的,尽管并非所有规划系统都这样表示。分层规划器明确表示计划的层次结构。层次结构的顶部是对计划的简化或抽象,而较低的层次包含详细要求。
4.1 分层规划的好处
分层规划的好处在于它可以推迟对特定行动的承诺,直到有关行动的适当性有更多信息可用。这意味着规划者可以在做出更一般的决策之后再推迟详细决策,从而减少回溯的可能性。
4.1.1 使用ABSTRIPS的分层规划
ABSTRIPS是一个分层规划系统,它通过抽象层次来表示计划。图2展示了基于ABSTRIPS的分层规划过程。
graph TD;
A[初始设置] --> B[主程序];
B --> C{找到操作符Pi?};
C -- 是 --> D[将Pi添加到当前层级计划];
C -- 否 --> E{找到计划Qi?};
E -- 是 --> F[将Qi添加到当前层级计划];
E -- 否 --> G[回溯];
D --> H{满足O的前提条件?};
H -- 是 --> I[返回当前层级计划并退出];
H -- 否 --> J[继续];
图2:基于ABSTRIPS的分层规划过程
5 推迟承诺
推迟承诺的原则是尽可能推迟对特定行动的决策,直到有更多的信息可用。这可以通过部分排序计划和使用规划变量来实现。
5.1 计划的部分排序
如果计划中的步骤顺序对计划没有影响,规划者应该留下以任何顺序执行它们的选项。如果一个计划包含彼此之间没有顺序的动作,即规划者尚未确定顺序的动作,这些动作可能并行进行,那么这个计划被称为部分有序。
5.2 规划变量
变量的使用也允许推迟决策。可以使用尚未赋予值的变量来生成计划。例如,我们可能会计划去某个地方,但不具体说明去哪里。某个地方的实例化可能稍后会被确定,而我们在此期间节省了考虑所有可能性的努力。
6 车间作业调度
调度是规划的一个特例,在这种情况下,操作符是预先已知的,任务是分配资源给每个操作符并确定它们应该在何时应用。调度在制造过程的规划中尤其重要。
6.1 调度问题及其解决方法
调度问题通常涉及分配资源给每个操作符并确定它们应该在何时应用。图3展示了调度问题的解决方法。
graph TD;
A[任务] --> B{分配资源};
B -- 是 --> C[确定时间];
B -- 否 --> D[重新分配];
C --> E[执行任务];
D --> F{找到可用资源?};
F -- 是 --> C;
F -- 否 --> G[等待];
图3:调度问题的解决方法
以上部分介绍了规划的基本概念、经典规划系统、处理动作的副作用、分层规划、推迟承诺以及车间作业调度。接下来将进一步探讨基于约束的分析、重新规划和反应式规划等内容。
7 基于约束的分析
基于约束的分析是一种优化规划的方法,它通过应用约束和偏好来减少可能的计划数量,甚至找到满足约束的唯一计划。约束是指必须满足的条件,而偏好则是指在多个可行解中选择最优解的标准。
7.1 约束和偏好的应用
在基于约束的分析中,首先通过应用约束来限制变量可以取的值,从而减少可能的实例化。然后,可以根据某种比较方法,根据各种标准对剩余的解进行排序,其中根据属性的感知重要性进行加权评分。
7.1.1 约束的类型
约束可以分为硬约束和软约束:
-
硬约束
:必须严格满足的条件。
-
软约束
:尽量满足的条件,但不是必须的。
7.1.2 偏好的类型
偏好可以是基于成本、时间、资源利用率等标准的选择。例如,在材料选择中,可以通过排除所有未满足数值规范的材料来应用约束,然后根据某种比较方法对剩余材料的性能评分进行排序。
7.2 示例:材料选择
考虑一个材料选择的问题,可以通过排除所有未满足数值规范的材料来应用约束。然后可以根据某种比较方法,根据各种标准对剩余材料的性能评分进行排序,其中根据属性的感知重要性进行加权评分。
| 材料 | 密度 (g/cm³) | 强度 (MPa) | 成本 ($) | 评分 |
|---|---|---|---|---|
| A | 2.5 | 300 | 10 | 8.5 |
| B | 3.0 | 400 | 15 | 9.0 |
| C | 2.0 | 250 | 8 | 7.0 |
| D | 2.8 | 350 | 12 | 8.8 |
表2:材料选择的评分示例
8 重新规划和反应式规划
到目前为止的讨论集中在预测性规划上,即构建一个将来某个时间点要执行的计划。然而,在执行计划的过程中可能会发生意外事件,如机器故障或人员缺席。在这种情况下,能够重新规划的能力是非常重要的。
8.1 重新规划
重新规划是指修改当前计划以反映当前情况。例如,如果在执行计划的过程中发生了机器故障,重新规划可以包括:
- 取消、推迟或缩短一些操作,以便将其他一些操作重新纳入计划;
- 重新安排计划,利用原计划中的任何空闲时间;
- 在操作之间重新分配资源;
- 将一系列操作的工作重新安排到比原计划更晚完成;
- 延迟整个计划。
8.2 反应式规划
反应式规划是指在实时环境中进行规划或重新规划的能力。反应式规划器在执行计划期间监控世界的状态,并能够根据观察结果修订计划。例如,一个正在执行园艺工作的智能机器人可能已经预先计划好先修剪草坪,然后再修剪玫瑰。如果它发现有人借走了割草机,它可能会决定在修剪后进行割草,到那时割草机可能已经可用。
8.2.1 SONIA系统
SONIA是一个能够进行工厂活动的预测和反应式规划的系统。SONIA通过应用约束和偏好对操作进行排序,以形成一个预测计划。在执行计划的过程中,观察到的世界状态可能会偏离计划中的世界状态。SONIA可以修改其计划,或者在极端情况下,从头开始生成一个新计划。
8.3 重新规划和反应式规划的区别
预测性规划、重新规划和反应式规划之间的区别如图4所示。
graph TD;
A[预测性规划] --> B{意外事件发生};
B -- 是 --> C[重新规划];
B -- 否 --> D[继续执行];
C --> E{实时监控};
E -- 是 --> F[反应式规划];
E -- 否 --> G[继续执行];
图4:预测性规划、重新规划和反应式规划的区别
9 总结
规划系统是生成一组预定顺序的动作或操作的过程,旨在实现预期目标。规划涉及对未来行动的分析,特别是行动的顺序或时机。经典规划系统假设世界可以通过在特定时间点“拍摄快照”来创建一个世界状态来表示。STRIPS是最古老的AI规划系统之一,它通过创建一个世界模型来进行规划。分层规划通过推迟对特定行动的承诺,直到有更多的信息可用,从而减少回溯的可能性。基于约束的分析通过应用约束和偏好来减少可能的计划数量。重新规划和反应式规划使规划系统能够灵活应对意外事件,确保计划的顺利执行。
规划系统的灵活性和适应性对于处理复杂和动态环境至关重要。无论是经典的预测性规划还是现代的反应式规划,规划系统都在不断发展,以更好地满足各种应用场景的需求。通过结合多种技术和方法,规划系统能够更加智能化和高效地解决实际问题。
超级会员免费看

被折叠的 条评论
为什么被折叠?



