APP下载

智能规划分解的发展与应用研究*

2020-12-15王大勇

计算机与生活 2020年12期
关键词:规划智能目标

李 丽,王大勇

辽宁大学创新创业学院,沈阳110036

1 引言

智能规划是人工智能的一个重要分支。将复杂问题分解为可管理的子问题是许多智能规划问题解决的首选方式。早在20世纪70年代末,Corkhill就在分布式环境下开始了规划问题分解工作的研究[1]。1987年,Korf提出利用前向链全序规划器分解一个具有复合目标的规划问题,并讨论了计算的复杂度[2]。2006年Sebastia等人从宏观角度对规划分解问题进行了深入的研究和探讨,并借助基于标记的分解技术,提出利用不同子目标之间的内在交互作用来分解问题[3]。2010年Bibaï等人提出一种基于进化元启发式的算法,优化了规划任务分解的中间过程[4]。2019年Hu等人通过将认知公式推理委托给外部求解器来分解认知规划,避免了认知公式的指数爆炸[5]。

研究者们经过长期的探索,已研究出多种有效的分解方法,并在很多领域都有所应用。

2 规划分解问题

2.1 问题描述

对于经典规划和类经典规划,规划分解的一般方法是将目标集合G分解为多个子目标Gi,使得G=∪Gi。针对每个子目标Gi求解出其对应的子规划Pi=<A,I,Gi>,然后将所有的子规划Pi组合成一个可以处理目标G的整体规划[3],如图1所示。该方法是将规划问题分解为多个子问题,然后分别对每个子问题求得规划解,最后将子问题的规划解合并作为规划问题的规划解。分解后的规划问题会面临最优性缺失、前期工作效率降低等问题。但对于复杂规划问题而言,经过规划分解后的子问题更易于处理,规划方法也具有一定的可重用性。

Fig.1 General method of AI planning decomposition图1 智能规划分解的一般方法

规划分解有三个要素,即分解问题的原则、求解子问题的过程以及合并子规划的技术。分解问题的原则决定了求解每个子问题的效率,以及合并子规划技术的复杂度。

2.2 问题分类

规划分解问题根据情况不同可以分成多个种类。

根据分解过程是否自动化可以将规划分解分成自动分解和手动分解两类。自动分解通过分析域和问题结构来完成问题的分解。手动分解是在自动分解难以实现时由领域工程师完成分解操作。例如Hybrid STAN规划器方法[6]属于自动分解,REALPLAN规划器方法[7]属于手动分解。

根据规划解的类型可以将规划分解分成相关分解和无关分解两类。相关分解是指如果一个子问题的解依赖于其他子问题的解,则需等待其所依赖的子规划均求解完成后才会被求解。无关分解是指分解后的子问题间是足够独立的,可以同时求解。例如SGPlan规划器方法[8]属于相关分解,分布式NOAH(nets of action hierarchies)规划器方法[1]属于无关分解。

根据规划分解的目的可以将规划分解分成效率型分解和问题求解型分解。效率型分解旨在快速高效地完成规划问题的求解。而问题求解型分解,主要是解决普通规划器无法解决大型复杂问题或求解效率极其低下时,为了使规划问题能够顺利完成,对规划问题进行的分解工作,以降低搜索空间的快速扩张,使其能够在多项式时间内完成规划任务。例如Iwen等人提出的分解方法主要针对求解效率[9],而Yang提出的WATPLAN规划则注重问题求解[10]。

根据规划问题的工作需要,可以将规划分解分为多智能体需求分解和单智能体需求分解。多智能体需求分解是将规划任务分解后,由多个规划器分别求解,即将由一个规划器完成的任务分配到多个规划器共同完成,以此来提高求解效率。单智能体需求分解是将规划问题分解后,仍由原有的规划器来解决分解后的子问题。例如Xie等人提出的任务规划方法基于多智能体系统[11],而Hu等人分解认知规划的过程基于单智能体系统[5]。

规划分解后的子问题之间的关系主要有两种,分别为相关子问题和无关子问题。相关子问题又分为消极关联子问题和积极关联子问题。

消极关联是指两个动作互斥,即一个动作的效果否定了另一个动作的效果,或一个动作删除了另一个动作的前提。

积极关联是指两个动作同源,即两个动作需要相同的前提并且至少一个动作的执行不会删除该前提。

规划分解中较难处理的就是子问题间的关系。一方面,合并两个子规划时,消极关联的子问题可能引起冲突,这些冲突可以通过在干扰动作间添加新的排序约束或者通过添加新的动作来弥补被删除的事实;另一方面,合并两个子规划时,积极关联的动作可能会产生相同的效果,因此造成冗余动作的出现。

3 规划分解方法

通用且有效的规划分解方法能够提升规划器的性能,促进智能规划的发展。

3.1 基于传统方法的规划分解

基于传统方法的规划分解方法一般先对目标进行分解,然后再对子规划整合。许多分解方法都是在此基础上进行的改进。

Korf基于传统方法讨论了采用前向链全序规划器分解一个复合目标的计算复杂度问题[2]。他指出,在所有子目标都完全独立的情况下,分解会减少分支因子和搜索深度,从而防止规划时间指数级增长。但是该方法也同样存在缺点,在合并规划的过程中,由于共享相同资源,子规划可能会发生较为严重的冲突。

Iwen等人依据传统的方法,研究出了一种可以通过构建交互图来划分目标集合的方法[9]。该方法的区别在于规划问题总是被划分为两个子问题。其主要思想是:初始条件I与目标集合G如果指向相同的对象,则将其连接,从而绘制出一个二分图,并称其为交互图;然后G被划分为两个集合,其中每个集合与交互图中的一组连接组件对应。得到的两个子问题可以由FF(fast-forward)等规划器解决;最后将获得的子规划合并,并解决可能出现的冲突以获得原始问题的解决方案。Iwen等人在blockworld域和logistics域,分别对HSP(heuristic search planner)、FF、GraphPlan等经典规划器以及它们的分布式版本D-HSP、D-FF、D-GraphPlan进行了对比实验,结果表明该方法在执行时间方面具有明显的优势。

3.2 基于抽象层次结构的规划分解

基于抽象层次结构的规划分解是将一个域分解为层次结构的若干个层。该方法的关键部分在最顶层,规划问题的解在最底层或某一个具体层。ABSTRIPS(abstraction STRIPS)规划器[12]中第一次采用了抽象层次分解,之后Knoblock的ALPINE规划器[13]以及Bacchus和Yang的HIPOINT规划器[14]中也都采用了该方法。尽管抽象层次结构和传统问题域分解存在相似性,但二者之间仍然存在很大的差异。第一,在传统分解规划中,规划过程是同时发生的,而不是按照抽象层次结构的顺序发生;第二,ALPINE和HIPOINT要求不同层的操作之间没有冲突。而在传统分解规划中放宽了这一要求,允许各目标组之间有交互。

3.3 基于约束可满足问题的规划分解

由于规划解合并时可能存在冲突,基于约束的方法可以有效地解决冲突。针对这一问题,Yang在规划中实践了分而治之的思想[10]。该思想首先分析目标之间的内在交互作用,讨论如何自动分解规划域。其次将大规模的目标划分为不相交的子集,每个子集都具有自身的操作和初始条件,从而使得每个子集中的目标可以并行处理,并利用子规划解之间的重叠功能合并子规划解。该方法在执行分解时需要控制复杂性,限制解决每个子问题所需机制的数量和种类。算法中包含了五个组成部分:第一部分将域分解为多个子域;第二部分求解子域;第三部分选取每个子域的规划解;第四部分解决子规划冲突;第五部分合并规划并删除冗余。

该方法将问题构建为约束可满足问题,并将每一个分解目标集gi表示为变量,将每个gi对应的可选规划πij表示为gi领域内的值。在两个值A=πij和B=πlk之间定义了一致性关系Cπ,使得Cπ(A,B)=TRUE当且仅当COMBINE({πij,πlk})≠Fail,其中COMBINE()表示解决规划冲突的方法过程。此功能需要一个通用的基于回溯的方法,在搜索的每个步骤中,根据全局一致性关系检查累积的所有子规划,以保证最终的全局规划没有冲突。与其他许多约束可满足问题一样,该方法将规划选择问题的解决方案分为两个阶段,即局部一致性方法阶段和基于智能回溯的方法阶段。Yang将这些方法应用在了WATPLAN规划系统中。

3.4 基于专用求解器的规划分解

对于大型复杂的规划问题,可以针对子问题类型采用专用的求解器。例如,REALPLAN规划分解的资源调度子问题是由专门的求解器完成的[7]。这种情况要求识别子问题的任务由域工程师完成,域工程师必须理解子问题的特征,并能够合并子规划。

与REALPLAN不同,Hybrid STAN(hybrid state analysis)根据子问题类型自动分解问题[6],包括子问题的自动识别以及专用求解器的集成。可以采用领域分析工具来分解问题并识别这些子问题的存在。每个已识别的子问题对应一个求解器,并在整个问题的求解过程中仅使用一个规划器。

该方法的主要优势在于能够更快速地求解每一个子问题。然而,针对一些特定的情况,子问题的识别是复杂的,因为域中的微小变化可能会阻碍子问题的检测。另外,规划器和特定集合求解器之间的集成也较为复杂。

3.5 基于子目标排序的规划分解

子目标排序是目标分解的一种常用方法。子目标排序是规划过程的一部分,它有助于确定哪个子目标更容易实现。此外,子目标间的排序允许将一组文字分组在一起,由此产生问题分区。

比较典型的基于子目标排序的分解方法是Porteous和Hoffmann等人开发的一种基于标记概念的分解技术[15]。首先找到标记并加以实现,其次根据必要排序、合理排序和服从排序三种排序规则分别对子目标进行排序。预处理结束后生成LGG(landmarks generation graph)图,每个子问题位于当前LGG图的叶子结点。当一个子任务解决时,从LGG图中删除掉已完成的叶子结点。通过连接从子问题中获取的子规划形成解规划。

GRT规划系统将原始问题分解为严格按顺序求解的子问题[16]。该分解基于定义了文字之间关系的XOR约束,这种类型的约束在分析域系统(如DISCOPlan(discovering state constraints plan))中称为不变量。例如,在包裹运输逻辑域中,可以定义以下XOR关系:xor(at(x*))(package x)。也就是说,包裹x同一时间只能在一个地方。一旦计算了XOR约束,就可以在满足问题顶层目标之前必须达到的子目标之间建立顺序。这些子目标被划分为有序的中间目标,这些中间目标构成了按顺序求解的子问题。

SGPlan方法将一个规划问题分解为若干个子问题,按照子目标的解决顺序对这些子问题进行排序,并为每个目标找到可行的规划[8]。SGPlan采用了一种改进的Metric-FF规划器作为基本的规划器,当且仅当规划失败时触发LPG(local planning graph)规划器。在Metric-FF规划器中添加了新的算法和改进的启发式函数,使得规划器能够支持衍生谓词、时序规划和时间初始条件。SGPlan利用子目标划分方法,使得问题的目标状态不再是一个目标事实,而是与其他子问题具有松散耦合约束的任何事实。该方法包括子目标排序的策略,每一个层次分解子问题的中间目标分析策略,消除子问题中不相关行为的搜索空间缩减算法,以及调用最佳规划器求解每个底层子问题的策略。该方法为分解技术在AI规划中起到越来越重要的角色奠定了基础。

3.6 基于子目标交互的规划分解

在高度交互性的领域中,子问题分解是较难解决的。Sebastia等人提出了一种基于STRIPS(Stanford Research Institute Problem Solver)域的STeLLa分解技术[3]。STeLLa技术利用不同子目标之间的内在交互作用来分解问题。该技术基于标记的概念。标记是有序的,并被组合成不同的有序中间目标,用于对应新问题的目标集。STeLLa应用时间分解法,分解后的子问题可以顺序或并发地求解,所得到的子规划解能够轻松合并。为了达到这一效果,关键问题是将目标间的相互作用用于问题分解,而不是在问题分解后再加以解决。研究者认为这种方法对于其他分解方法和规划器都是非常有益的。

分解方案描述如下:第一个子问题的初始状态I是原始问题的初始状态,目标集IG1是中间目标IG的第一个集合,利用STRIPS规划器求解第一个子问题并返回规划P1。后续初始状态IS1是规划P1执行后的结果。第二个子问题的初始状态是IS1,目标状态是IG的下一个集合IG2。同样,利用规划器求得规划解P2,并产生规划结果IS2。如此循环往复,直到完成IG的最后一个集合IGn。

在这种顺序分解方案下,实验得出了两个重要结论:(1)复杂问题在应用了分解技术后变得容易求解了。(2)分解后的规划解质量没有降低,在许多问题实例中,规划解的质量甚至得到了改进。

3.7 基于启发式算法的规划分解

Bibaï等人提出基于进化元启发式算法DAEX,该算法旨在提高封装规划系统的规划质量和处理复杂规划问题的可扩展性[4]。DAEX优化了将规划任务分解为一系列中间状态的过程。DAEX的组件包括:(1)用于将复杂规划任务分解为简单子任务的分解原则;(2)用于解决每个子任务的封装式可满足规划器;(3)用于提高底层规划器解质量的优化算法。DAEX采用了基于状态的分解策略,分解原理依赖于经典的可达性规划启发式算法。规划任务被分割成一系列的中间状态,即子目标,这些中间状态在满足最终目标前完成。该方法只花费较少的成本来计算分解,并尝试使用专门的优化算法求解最佳组合。DAEX是在DAE1和DAE2基础上构建的。DAE1的分解原则是基于规划对象层面的,通过完全盲目的方式组合谓词和常量符号来构建中间状态。DAE2虽然引入了基于原子层面的中间状态计算方式,但仍然是盲目的。DAEX采用了基于时间的原子选择方法,该方法依赖于标准规划可达性启发式和原子之间的成对互斥关系。其次,由于认为最优规划解是由最优规划器得到的,因此DAE1和DAE2采用的规划器为CPT。这种方式的确可以得到好的规划解,但是成本很大。DAEX采用了YAHSP(yet another heuristic search planner)规划器,可以大大地降低成本。同时,DAEX还可以将搜索空间扩大到DAE1和DAE2搜索不到的大部分区域。分别在Costs域、Temporal域和STRIPS域进行实验,探讨了YAHSP、LAMA、DAEX、LPG、TFD规划器的相关性能。实验证明,DAEX在覆盖率和质量方面都可以同最先进的规划器相媲美。

4 规划分解的应用

规划分解的一个重要应用就在于为规划算法的改进提供了重要的理论支撑。规划分解方法在提高规划器的问题求解能力,提升规划问题的求解效率等方面都有着良好的表现。

除此之外,规划分解在很多领域也都有着广泛的应用。

4.1 多智能体系统的应用

为了有效地解决多智能体动态任务规划问题,Xie等人提出了加权与/或树与AOE(activity on edge)网络相结合的任务规划方法[11]。并在此基础上提出了一种基于任务分包和动态重分解的动态任务规划方法。通过加权与/或树和AOE网络对任务分解和一致性规划协调进行处理,形成任务规划,然后通过动态分解和任务分包进行冲突消除协调和动态调整协调,使总任务能够继续保持规划的一致性,满足任务规划的动态实时性要求。在任务分包开始之前,任务操作代理发现没有合适的代理接受此任务,因此可以进一步对任务进行分解,即动态任务分解过程。仿真结果表明,动态任务规划方法能够得到每个子任务的具体执行时间,使整个任务在最短的时间内完成,或者在指定的时间内完成多个子任务。

4.2 认知规划的应用

认知规划在许多多智能体与人交互的领域都是必不可少的。大多数先进的认知规划器通过将问题预编译为经典规划问题来解决,并由已有的经典规划器求解,或者将认知公式预编译为特定的范式,以便在搜索过程中获得更好的性能。这种方法规划速度快,但编译计算成本高,并且随着问题规模的增长,在计算上变得不可行。Hu等人通过将认知公式的推理过程委托给外部求解器来分解认知规划[5]。研究者提出了一种无需预编译步骤就可以表示,并且能够灵活地解决大多数认知规划问题的方法。该项工作第一次将认知推理委托给外部求解器。这一委托有效地分解了搜索中的认知推理,并允许在任何支持外部功能的STRIPS规划器中实现。结果表明,该模型不仅能有效地解决认知基准问题,而且能处理多种类型的认知关系。研究者将分解算法分别应用在了Corridor、Graevine、Big Brother Logic和Socialmedia Network等问题中。Corridor和Graevine是认知规划问题,用于和最先进的规划器进行性能比较。Big Brother Logic问题用于证明模型的表达能力。Social-media Network问题用于证明模型对群体知识的推理能力。嵌套的深度和代理的数量不影响规划性能,且由于采用了惰性的评价认知公式,避免了指数爆炸。

4.3 软件测试用例生成

智能规划方法在软件测试中也有着很好的应用,特别是应用在测试用例生成问题中。MF-IPP(multifact IPP)规划器在IPP(interference progression planner)规划器基础上添加了目标分解法和多事实文件处理算法,对事实文件进行划分,并扩展了规划器的功能,使其能够处理多个事实文档[17]。该方法将目标状态是否相关作为事实文件分解的主要依据,有效地减缓了状态数量的指数级增长,使状态的扩张控制在可处理的范围内,避免了组合爆炸问题的发生。MF-IPP规划器应用于主控软件图形用户界面测试用例自动生成。主要过程为:首先将分解后的事实文件输入到规划器中,并由规划器求解出初始规划。由于该规划没有附带参数,因此需要进一步利用解扩展的方法对规划进行进一步的完善,完善后的规划可作为测试用例用于测试软件功能。在blockworld域的实验结果显示,MF-IPP规划器可以有效地避免由状态个数指数级增长导致的组合爆炸问题;MF-IPP规划器生成的测试用例生成速度快,覆盖率高,能够有效地解决基于规格说明的测试用例自动生成问题。

4.4 大型马尔可夫决策过程的求解

由于维度的原因,精确求解一个大型马尔可夫决策过程通常会比较困难。这一问题可以借助在线算法或层次分解的方法来加以解决。Barry等人提出了一种基于DetH*的在线算法,该方法通过在大型马尔可夫决策过程(Markov decision process,MDP)中构造一个层次模型来寻找近似最优策略,然后对其应用近似求解算法,并利用分解表示来实现域的紧凑性和效率,发现域的关联性。实验结果表明,创建和解决层次结构的总运行时间明显少于最优分解MDP求解器的总运行时间[18]。

与Barry等人的工作类似,Bai等人将基于MAXQ值函数分解的通用层次结构的优点与启发式和近似技术的能力相结合,提出了一种用于开发在线规划框架的方法MAXQ-OP(MAXQ online planning)[19]。该框架为大型随机域中规划自主智能体提供了分层的解决方法。该方法应用在RoboCup足球模拟等二维领域中。研究表明,用该框架开发的智能体及其相关技术性能优异,对大型领域具有高可扩展性。与Barry等人的工作不同,Bai等人根据实际情况假设每个子任务的终端状态上存在一个先验分布,根据先验分布,MAXQ-OP可以在线评估根任务,而无需实际计算每个子任务的策略。MAXQ-OP能够解决决策理论规划文献中难以解决的RoboCup 2C等大型问题,因此对于密集任务层次结构的大型马尔可夫决策问题MAXQ-OP是可靠且稳定的。

4.5 规划质量优化

一般情况下,规划速度和规划质量很难兼得。没有时间限定的规划研究者更注重规划的质量,但目前的研究并没有在所增加的时间内获得等效的质量提升。Siddiqui等人提出了一种基于STRIPS域的持续改进规划的新方法,该方法分析初始规划的结构,通过边界值搜索来划分子规划[20]。利用规划乱序和块分解技术反复进行规划分解并局部优化每一个子规划,以保证规划的正确划分。该方法将一个规划分解成“块”,“块”是封装了一些交互动作的规划步骤的子集,块内的规划步骤与块外的规划步骤不能交叉,而块内步骤仍然是偏序关系的。块分解将规划步骤分解为多个不重叠的块,分解中允许一些块无序,这种无序性使得寻找子规划的策略更有效,应用更广泛。块分解规划优化将一个有效的规划优化为一个新的更有效的规划。这种方法可以在任何时间范围内提供持续的规划质量改进。

4.6 机器人规划

机器人必须在不确定的大规模的状态-动作空间进行规划,并随着需求和目标的变化不断改变功能。Gopalan等人提出了一种抽象马尔可夫决策过程(abstract Markov decision process,AMDP)层次结构的子目标网络推理方法[21]。AMDP提供了一种基于模型的层次化表示,它封装了层次结构中每一层抽象任务的知识,使得自顶向下的规划比以前的方法更快、更灵活。AMDP是一个马尔可夫决策过程(MDP),其状态是底层环境状态的抽象表示。AMDP将问题分解为一系列子任务,以此来简化决策问题。方法中智能体不是在动作之间选择,而是在递归求解的子目标之间进行选择,用以降低搜索深度。该方法还可以将世界状态表示压缩为仅包含与当前决策问题相关的信息。每个子问题的规划算法可以定制,允许尽可能高效地解决每个目标。该层次结构只需要对有助于完成主要任务的子目标进行规划,而不求解无关子目标的规划,因此该方法只需普通MDP规划复杂决策所需的少量时间就可以完成任务。所得到的分层规划方法在每个抽象层次上都是独立最优的,并且在局部奖励函数和转移函数正确的情况下是递归最优的。研究者利用“出租车”和“清理世界”域进行实验研究,结果证明,在保持解决方案质量的同时,规划速度显著提高。该方法为Turtlebot智能体上的移动操作问题提供了决策模型,这种统一的模型可以利用低层的控制动作有效地规划高层抽象目标。

基于线性时序逻辑(linear-time temporal logic,LTL)规范的高层规划为复杂场景中机器人的部署提供了正确和最优的执行策略,避免了手工设计机器人行为的需要。然而,当处理一组机器人时,这个问题就变得格外复杂。针对一个有限的LTL任务和一组机器人,Schillinger等人给出了有限LTL规范分解的形式化定义,讨论了有限LTL规范分解的属性;研究了如何在LTL规范的自动机表示中有效地识别这种分解;提出了一种基于团队规模构建处理复杂性团队模型的方法,该模型可用于高效的多智能体规划。Schillinger等人认为该方法直接导致团队模型的构建,其复杂度明显低于传统方法构建的其他模型。因此,它能够有效地搜索最优分解,并将任务分配给机器人代理。该方法可以用于评估团队模型的状态空间复杂度和规划时间[22]。

5 分析和展望

5.1 分析

智能规划可以基于多种方法,针对不同类型的规划问题也可以辅助不同的技术。但无论采用哪种技术,面对复杂的规划问题,规划分解都是解决问题的一个重要手段,是智能规划发展的一个必经之路。规划分解将伴随着智能规划技术的发展而不断发展。本文阐述了规划分解的发展历史、规划分解问题的一般描述、规划分解的分类,以及规划分解的一些重要方法和热门应用。

文中涉及的各种分解方法的基本情况如表1所示。

目前规划分解存在着一些问题,这些问题也影响着其未来的发展方向。

从整体上来说,规划分解方法种类较多,但很多方法只是针对某一问题的独立研究,方法间的交互较少。很多方法的延续性较弱,缺乏进一步的深入研究。因此,规划分解工作需要加强理论与应用的体系化、结构化、系统化的研究。

从具体问题来说,目前规划分解中存在的问题主要有以下几个方面:

(1)动作间仍然存在大量未知的关联关系,这会使得规划处理变得繁琐复杂,也会严重影响规划分解的有效性。

(2)规划的速度和规划的质量仍需进一步协调。

(3)针对规划分解的效果目前还没有统一的评估标准。

(4)形式化语言还需要进一步完善。

(5)对于解决复杂情况的规划问题,可以加强多种技术的深入融合。

5.2 展望

规划分解是求解一些复杂规划问题的一个有效方法,但目前也有一些交叉方法推动着智能规划的发展。主要体现在智能规划与其他人工智能方法的结合,特别是神经网络[23]、强化学习[24]、遗传算法[25]、深度学习[26]、自动推理技术[27]等。

其中一些方法与智能规划相结合突破了经典规划的求解方式,取得了显著的效果,值得进一步探索。例如Milani等人利用神经网络求解规划问题[23],求解过程改变了原有已知动作模型的求解方式,规划的推导过程不是基于传统的四元组<P,I,G,A>(其中P表示前提,I表示初始条件,G表示目标,A表示动作的集合),取而代之的是利用神经网络的方式进行求解,具体操作时用三元组<s1,s2,a>表示训练实例(其中s1表示动作a执行的前提,s2表示动作a执行的效果),每一个前提和效果对应一个二进制位的向量长度|P|,并假设其在0~1.0的实数区间内。通过这种方式将规划问题转换为一个神经网络的回归任务,训练阶段的损失函数采用均方误差来实施。

Leonetti等人利用规划与强化学习的互补特性研究了二者相结合的方法[25]。它们的互补性主要体现在规划依赖于先前的知识和计算,强调模型的准确性;而强化学习依赖于与世界的互动和经验,不需要先前的知识,更能适应环境,但要求具备一定的经验知识。根据两种方法的不同特点,利用规划来约束智能体的行为,同时利用强化学习来适应环境,使智能体可以快速学习,构建执行所有任务的动作模型,并随着时间推移而改进,不断适应环境的变化。赖志锋等人将智能规划与遗传算法相结合[24],研究基于遗传算法的智能规划动作模型的学习过程,所提出的算法能够在较短的时间内,学习到一个逼近专家描述的动作模型。这种方法解决了不完全观察问题中,事物前后状态不完整导致规划无法进行的问题。

各种方法交叉融合,不仅能够解决智能规划研究中出现的难题,推动智能规划的发展,同时也必将促进各领域的推陈出新、不断演化。

6 结束语

规划分解是智能规划研究的一个不可或缺的组成部分,是求解规划复杂问题的一个有效解决方法。本文从规划分解的发展、一般形式、分类等基础问题进行阐述,并着重介绍了规划分解的一些关键技术和热门应用。归纳总结了现有规划分解存在的突出问题,并分析了规划分解未来的发展方向,以及其他人工智能方法对规划求解的影响。

猜你喜欢

规划智能目标
“城中村”改造与规划的思考
我们的规划与设计,正从新出发!
智能前沿
智能前沿
智能前沿
智能前沿
规划·样本
规划引领把握未来
新目标七年级(下)Unit 3练习(一)
新目标七年级(下)Unit 4练习(一)