规划系统技术研究与应用探讨
1. 实验结论
在实验中发现,如果以轮询方式调用六个 Fast Downward 配置来实现“Any”元规划器,能在 30 分钟超时时间内解决除 54 个之外的所有 IPC4 基准测试问题。这几乎与 IPC4 的顶级表现者 Fast Diagonally Downward 相当,后者在相同超时时间内解决了除 52 个之外的 IPC4 基准测试问题。这表明探索不同的规划器配置是有回报的。
实验结果还得出以下结论:
-
Fast Downward 竞争力强
:Fast Downward 与当前最先进的技术明显具有竞争力。尤其是使用带有首选操作符的多启发式最佳优先搜索(MP)配置,在 IPC1 - 3 的 STRIPS 领域集和 IPC4 的领域中都优于所有竞争规划系统。若不是 Schedule 领域存在问题,在 IPC1 - 3 的 ADL 领域基准测试中也会如此。
-
MP 配置表现出色
:在评估不同规划器配置的相对优势方面,MP 配置脱颖而出。在 29 个领域中的 23 个领域里,没有其他配置能解决更多任务,并且与其他配置不同的是,它仅在一个领域(Promela - OpticalTelegraph)中表现很差。由此可以得出,多启发式最佳优先搜索和首选操作符的使用是启发式规划器很有前景的扩展。
-
首选操作符优势明显
:首选操作符的作用尤为突出。在 MP 配置之后,带有首选操作符的两种贪婪最佳优先搜索变体在表现最佳的领域数量和解决的总任务数量方面,整体表现次之。对比 G 和 GP,有 10 个领域中使用首选操作符的变体解决的任务更多,5 个领域则相反。对比 M 和 MP,差异更显著,首选操作符变体在 15 个领域中表现更优,仅在 2 个领域中稍差(且在这两个领域中仅少解决一个任务)。这些都有力地证明了使用首选操作符的合理性。
以下是不同配置在部分领域的表现对比表格:
| 配置对比 | 首选操作符解决任务更多的领域数量 | 非首选操作符解决任务更多的领域数量 |
| — | — | — |
| G 与 GP | 10 | 5 |
| M 与 MP | 15 | 2 |
2. Fast Downward 规划系统概述
规划任务若用多值状态变量表示,通常会比传统命题表示呈现出更简单的结构。Fast Downward 是基于将任务转换为多值形式并利用这种编码背后的因果信息的规划系统。
它处理 PDDL 规划任务分三个阶段:
1.
翻译阶段
:使用不变式合成技术对相关命题进行分组,并利用高效的接地算法实例化操作符和公理,自动将 PDDL 任务转换为具有更好因果结构的等效多值规划任务。
2.
知识编译阶段
:深入探讨规划器从任务表示中提取的知识类型,包括因果图、领域转换图、后继生成器和公理评估器。
3.
搜索阶段
:采用启发式搜索算法,运用延迟启发式评估技术减少需要计算启发式目标距离估计的状态数量。除了贪婪最佳优先搜索,还采用多启发式最佳优先搜索算法,有效整合因果图启发式和 FF 启发式这两种启发式估计器的信息。两种启发式搜索算法都能利用操作符的偏好信息。此外,还引入了基于聚焦迭代扩展的实验性搜索算法,其思路是修剪操作符集合,只考虑那些可能通向特定目标的后继状态。
下面是 Fast Downward 处理 PDDL 规划任务的流程图:
graph LR
A[PDDL 规划任务] --> B[翻译阶段]
B --> C[知识编译阶段]
C --> D[搜索阶段]
D --> E[输出结果]
3. 主要贡献
3.1 多值表示
多值状态变量用于 PDDL 式规划是一项重要贡献。多值表示结构更清晰,更适合自动推理,可用于启发式评估、任务分解、目标排序或提取地标等规划方面。
多值表示对许多规划算法具有潜在的巨大益处:
-
符号状态空间探索
:对于使用二元决策图(BDDs)的符号状态空间探索,如原始的 MIPS 规划算法,使用多值状态变量编码通常更高效。例如,用四个二进制变量编码一个从 {0, …, 15} 集合中的整数来表示 15 个互斥命题,比使用 15 个单独的 BDD 变量更高效。
-
基于布尔可满足性的规划
:对于基于布尔可满足性(SAT)的规划,虽然为规划任务的每个命题引入单独变量并显式编码互斥约束可能更有前景,但获取这些互斥约束需要类似的不变式合成技术。而多值表示能使同一变量不同值分配的互斥性一目了然,且这些互斥关系可能占典型规划任务中所有互斥约束的很大比例。
-
整数规划
:多值表示对将规划任务编译为整数规划(IPs)的方法非常有益。与基于二进制任务编码的 IP 表示相比,将一组互斥命题表示为单个数字可显著减少整数变量的数量。
-
约束满足规划
:多值表示也适用于基于约束满足的规划方法,不过相关研究较少。
然而,多值表示的实用性经验大多是轶事性的,需要更正式的研究。例如在 Blocksworld 领域,除了标准二进制编码外,还有至少三种“明显”的多值表示:
- 为每个块编码其下方的对象(另一个块、桌子或被持有时空无一物),并编码每个块是否为空。
- 为每个块编码其上方的对象(另一个块、机器人手臂或为空且未被持有时的空无一物),并编码每个块是否在桌子上。
- 为每个块编码其下方和上方的对象。
翻译算法通常生成前两种编码之一,选择是任意的,因为贪婪互斥组选择算法认为这两种编码同样简洁。并且,由于直觉上冗余表示通常会损害性能,翻译算法不会生成第三种冗余表示,但在约束满足等情况下,冗余表示有时是有益的。
3.2 任务分解启发式
Fast Downward 的另一个关键贡献是在启发式规划框架中使用分层任务分解。将这种任务分解应用于领域无关规划具有很大潜力,但自 Knoblock 和 Bacchus 与 Yang 的研究以来,这方面的研究成果较少。
当前采用的纯分层分解并非唯一的任务分解方式。分层方法虽有利于高效的启发式计算,但在因果图连接非常紧密的任务中,如 Depots 领域,会暴露出弱点。原则上,考虑由因果图的小子图定义的局部子任务而不预先消除因果循环很有吸引力,但初步实验表明,在不损失 Fast Downward 启发式估计器性能的情况下实现这一目标很困难。不过在很多情况下,更好的启发式准确性可能会弥补较差的每状态性能,这是一个值得进一步研究的有趣领域。
此外,考虑除因果图星型子图所诱导的子任务之外的其他子任务是否能显著提高性能也是一个有趣的问题。例如,可以考虑更大的子任务,可能跨越因果图的三层而非两层;或者将作为许多操作符效果共同出现的状态变量分组的子任务。还可以在搜索前通过构建领域转换图的交叉积将紧密相关的状态变量对合并为单个状态变量,这种方法在 Schedule 领域可能很有益,因为合并与同一物理对象相关的所有状态变量可以轻松避免之前讨论的目标排序问题。
4. 次要贡献
4.1 不变式合成算法
开发的不变式合成算法有其独特之处。虽然有其他研究人员提出了许多相关算法,但设计新算法是为了支持 PDDL2.2 并有效处理大量的示意图操作符。鉴于该领域有大量并行发展,有必要对不变式合成算法进行比较研究,详细了解它们的相对效率和能力(例如通过给定算法生成的不变式修剪的不可达搜索状态的比例来衡量)。
4.2 高效接地算法
高效接地算法中的 Horn 探索算法是为了解决更简单方法(如系统地以所有可能方式实例化示意图操作符和公理的所有参数)的性能缺陷而提出的。虽然对接地算法进行详细的性能研究可能用处不大,因为只有少数领域中接地阶段是规划器的瓶颈,但一些证据表明需要高效的接地算法。例如,在 Pipesworld 领域的 PDDL 表述中,领域设计者将概念上的原子操作(将一批物料推入管道段)拆分为两个单独的示意图动作 push - start 和 push - end 以方便接地。
4.3 搜索增强技术
- 首选操作符 :最佳优先搜索中首选操作符的潜在实用性已在实验结果中得到明确体现,其在众多规划领域都有益处。
- 多启发式最佳优先搜索 :多启发式最佳优先搜索是一种可行的方法,但还需要更多实验来分析其在其他应用领域、其他启发式评估函数中的适用性,特别是与其他组合启发式估计的方法(如取不同估计的总和或最大值,或简单地并行运行不同估计器的搜索)进行比较。多启发式最佳优先搜索的一个理论优势是其选择在单个启发式估计器的严格单调变换下是不变的。例如,当有两个启发式估计器,其中一个存在系统误差,导致所有启发式距离高估 5 倍时,在基于两个启发式估计的最大值或总和进行决策的搜索方案中,该估计器会产生主导影响,而多启发式最佳优先搜索对这种系统误差具有鲁棒性,因为不同启发式估计器的估计值从不相互比较。
- 延迟启发式评估 :延迟启发式评估技术也值得进一步详细研究,例如在具有不同分支因子和不同启发式准确性的人工构造搜索空间中进行研究。预计该技术在分支因子宽且启发式估计器质量好的任务中会带来显著的加速,并且在使用首选操作符时(前提是启发式生成的首选操作符平均而言确实比非首选操作符更优),这种效果会更明显。
以下是搜索增强技术的相关特点总结表格:
| 搜索增强技术 | 特点 | 进一步研究方向 |
| — | — | — |
| 首选操作符 | 在众多规划领域有益 | 无 |
| 多启发式最佳优先搜索 | 可行,对系统误差有鲁棒性 | 分析在其他应用领域和启发式评估函数中的适用性,与其他组合方法比较 |
| 延迟启发式评估 | 可能在特定任务中加速 | 在不同搜索空间研究其效果 |
5. 未来展望
类似用于多值规划任务的技术(基于因果图结构识别局部子任务,并通过遍历领域转换图来解决这些子任务)可能对解决用 PDDL 语言“级别 2”表示的数值规划任务也有一定用处。然而,从有限域扩展到状态变量可以取自然数(或整数、有理数)无限集合中的任何值,会带来重大挑战,因为此类任务的规划问题是不可判定的。但即使命题 PDDL 规划算法实际上并不完备,过去十年在该领域仍取得了显著进展,未来值得在这些方向继续探索。
6. 多值表示的深入分析
多值表示在不同类型的规划算法中展现出了巨大的优势,但也存在一些需要深入探讨的问题。
6.1 不同规划算法中的应用对比
| 规划算法类型 | 多值表示优势 | 潜在问题 |
|---|---|---|
| 符号状态空间探索(BDDs) | 编码更高效,可减少变量数量 | 对编码方式要求高,需合适的不变式合成技术 |
| 基于布尔可满足性的规划(SAT) | 互斥关系更明显,减少不变式合成工作量 | 可能需要额外处理以适应 SAT 求解器 |
| 整数规划(IPs) | 显著减少整数变量数量,提高求解速度 | 依赖于合适的互斥命题分组 |
| 约束满足规划 | 自然适配,但相关研究少 | 缺乏成熟的应用案例和方法 |
6.2 多值表示的选择策略
在实际应用中,选择合适的多值表示至关重要。以 Blocksworld 领域为例,不同的多值表示方式对性能有不同影响。以下是一个简单的决策流程图,帮助理解如何选择多值表示:
graph TD
A[开始] --> B{是否考虑冗余表示}
B -- 是 --> C{是否用于约束满足场景}
C -- 是 --> D[选择可能的冗余表示]
C -- 否 --> E[避免冗余表示]
B -- 否 --> E
E --> F{选择简洁的非冗余表示}
F --> G[根据贪婪互斥组选择算法确定]
G --> H[结束]
7. 任务分解启发式的优化方向
任务分解启发式虽然具有很大的潜力,但在实际应用中还存在一些不足之处,需要进一步优化。
7.1 不同任务分解方式的对比
| 任务分解方式 | 优点 | 缺点 |
|---|---|---|
| 纯分层分解 | 启发式计算高效 | 在高连接因果图任务中表现不佳 |
| 局部子任务分解 | 可能适应复杂因果关系 | 难以在不损失性能的情况下实现 |
7.2 优化策略探讨
为了提高任务分解启发式的性能,可以考虑以下优化策略:
1.
调整子任务规模
:尝试更大的子任务,如跨越因果图三层的子任务,以更好地捕捉任务之间的关系。
2.
状态变量分组
:将共同作为操作符效果出现的状态变量分组,形成更有意义的子任务。
3.
状态变量合并
:在搜索前将紧密相关的状态变量对合并为单个状态变量,减少搜索空间。
以下是一个优化任务分解启发式的流程图:
graph LR
A[初始任务] --> B{选择任务分解方式}
B -- 分层分解 --> C[进行分层分解]
B -- 局部子任务分解 --> D[尝试局部子任务分解]
C --> E{评估性能}
D --> E
E -- 性能不佳 --> F[调整子任务规模或分组]
F --> B
E -- 性能良好 --> G[输出结果]
8. 次要贡献的实际应用与拓展
8.1 不变式合成算法的应用
不变式合成算法在处理 PDDL2.2 任务和大量示意图操作符时具有独特优势。在实际应用中,可以按照以下步骤使用:
1. 输入 PDDL 任务和相关操作符信息。
2. 运行不变式合成算法,生成不变式。
3. 使用生成的不变式修剪不可达搜索状态,提高搜索效率。
8.2 高效接地算法的优化
高效接地算法的 Horn 探索算法可以通过以下方式进一步优化:
1. 分析不同领域中接地阶段的瓶颈,针对性地调整算法参数。
2. 结合其他优化技术,如并行计算,提高接地效率。
8.3 搜索增强技术的拓展
搜索增强技术中的首选操作符、多启发式最佳优先搜索和延迟启发式评估可以在更多场景中拓展应用:
1.
首选操作符
:在新的规划领域中验证其有效性,并探索与其他搜索策略的结合方式。
2.
多启发式最佳优先搜索
:在不同的启发式评估函数和应用领域中进行更多实验,优化其性能。
3.
延迟启发式评估
:在更复杂的搜索空间中研究其效果,结合机器学习技术提高启发式估计的准确性。
9. 总结与展望
通过对规划系统中各种技术的研究和分析,我们可以看到多值表示、任务分解启发式以及相关的次要贡献在提高规划效率和性能方面具有重要作用。然而,这些技术仍然存在一些问题和挑战,需要进一步的研究和优化。
未来的研究方向可以集中在以下几个方面:
1. 深入研究多值表示在不同规划算法中的应用,建立更完善的选择策略和评估方法。
2. 探索更有效的任务分解方式,提高启发式计算的准确性和效率,以适应更复杂的规划任务。
3. 对不变式合成算法、高效接地算法和搜索增强技术进行持续优化,拓展其应用范围。
4. 尝试将这些技术应用于数值规划任务,解决从有限域到无限域的挑战。
总之,规划系统的研究是一个不断发展和创新的领域,未来有望取得更多的突破和进展,为自动化规划提供更强大的支持。
超级会员免费看

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



