1、目录第第八八章自动章自动规划规划课程:人工智能课程:人工智能专业:物流工程专业:物流工程.8.1 自动规划概述8.1.1规划的概念及作用规划的概念及作用1.规划的概念规划的概念定义定义8.1从某个特定的问题状态出发,寻求一系列行为从某个特定的问题状态出发,寻求一系列行为动作,并建立一个操作序列,直到求得目标状态为止。这个求动作,并建立一个操作序列,直到求得目标状态为止。这个求解过程就称为解过程就称为规划规划。定义定义8.2规划是对某个待求解问题给出求解过程的步骤。规划是对某个待求解问题给出求解过程的步骤。规划涉及如何将问题分解为若干相应的子问题,以及如何记录规划涉及如何将问题分解为若干相应的子
2、问题,以及如何记录和处理问题求解过程中发现的各子问题间的关系。和处理问题求解过程中发现的各子问题间的关系。定义定义8.3规划系统是一个涉及有关问题求解过程步骤的规划系统是一个涉及有关问题求解过程步骤的系统。如计算机或飞机设计、火车或汽车运输路径、财政和军系统。如计算机或飞机设计、火车或汽车运输路径、财政和军事规划等问题。事规划等问题。.8.1 自动规划概述8.1.1规划的概念及作用规划的概念及作用例:例:救援仿真机器人系统救援仿真机器人系统(RoboCupRescueSimulationSystem,RCRSS)消防智能体消防智能体医疗智能体医疗智能体警察智能体警察智能体普通市民普通市民中心智
3、能体中心智能体路障路障避难所避难所着火建筑物着火建筑物普通建筑物)普通建筑物).8.1 自动规划概述8.1.1规划的概念及作用规划的概念及作用2.规划的作用规划的作用规划可用来监控问题求解过程,并能够在造成较大的危害规划可用来监控问题求解过程,并能够在造成较大的危害之前发现差错。规划的好处可归纳为简化搜索、解决目标矛盾之前发现差错。规划的好处可归纳为简化搜索、解决目标矛盾以及为差错补偿提供基础。以及为差错补偿提供基础。“十二五十二五”规划、城市规划、企业发展规划规划、城市规划、企业发展规划.8.1 自动规划概述8.1.2规划的分类和问题分解途径规划的分类和问题分解途径1.规划的分类规划的分类(
4、1)按规划内容分)按规划内容分国家、地方、重大项目、企业、交通、城市、环境国家、地方、重大项目、企业、交通、城市、环境(2)按规划方法分)按规划方法分非递阶(非分层)规划与递阶(分层)规划;线性规划与非递阶(非分层)规划与递阶(分层)规划;线性规划与非线性规划;同步规划与异步规划;基于脚本、框架和本体的非线性规划;同步规划与异步规划;基于脚本、框架和本体的规划;基于专家系统的规划;基于竞争机制的规划;规划;基于专家系统的规划;基于竞争机制的规划;(3)按规划实质分)按规划实质分任务规划、路径规划、轨迹规划任务规划、路径规划、轨迹规划.8.1 自动规划概述8.1.2规划的分类和问题分解途径规划的
5、分类和问题分解途径2.问题分解途径问题分解途径把某些较复杂的问题分解为一些较小的子问题。有两条实把某些较复杂的问题分解为一些较小的子问题。有两条实现这种分解的重要途径。现这种分解的重要途径。第一条重要途径是当从一个问题状态移动到下一个状态时,第一条重要途径是当从一个问题状态移动到下一个状态时,无需计算整个新的状态,而只要考虑状态中可能变化了的那些无需计算整个新的状态,而只要考虑状态中可能变化了的那些部分。部分。第二条重要途径是把单一的困难问题分割为几个有希望的第二条重要途径是把单一的困难问题分割为几个有希望的较为容易解决的子问题。较为容易解决的子问题。.8.1 自动规划概述8.1.2规划的分类
6、和问题分解途径规划的分类和问题分解途径3.域的预测和规划的修正域的预测和规划的修正(1)域的预测)域的预测问题论域的预测。对于不可预测的论域,考虑可能的结果问题论域的预测。对于不可预测的论域,考虑可能的结果集合,按照它们出现的可能性以某个次序排列。然后,产生一集合,按照它们出现的可能性以某个次序排列。然后,产生一个规划、并试图去执行这个规划。个规划、并试图去执行这个规划。(2)规划的修正)规划的修正规划执行失败导致对规划的修正。规划执行失败导致对规划的修正。在规划过程中不仅要记录规划的执行步骤,而且要记录每在规划过程中不仅要记录规划的执行步骤,而且要记录每一步必须要执行的理由。一步必须要执行的
7、理由。.8.1 自动规划概述8.1.3执行规划系统任务的一般方法执行规划系统任务的一般方法(1)选择和应用原则)选择和应用原则(2)检验解答与空端)检验解答与空端(3)修正殆正确解)修正殆正确解.8.2任务规划8.2.1积木世界的机器人规划积木世界的机器人规划BACCBA机械手机械手机械手机械手(a)(b).8.2任务规划8.2.1积木世界的机器人规划积木世界的机器人规划1.积木世界的机器人问题积木世界的机器人问题机器人能够执行的动作机器人能够执行的动作举例如下:举例如下:unstack(a,b):把堆放在积木:把堆放在积木b上的积木上的积木a拾起。在进行这拾起。在进行这个动作之前,要求机器人
8、的手为空手,且积木个动作之前,要求机器人的手为空手,且积木a的顶上是空的。的顶上是空的。stack(a,b):把积木把积木a堆放在积木堆放在积木b上。动作之前要求机上。动作之前要求机械手必须已抓住积木械手必须已抓住积木a,而且积木,而且积木b顶上必须是空的。顶上必须是空的。pickup(a):从桌面上拾起积木从桌面上拾起积木a,并抓住它不放。在动,并抓住它不放。在动作之前要求机械手为空手,而且积木作之前要求机械手为空手,而且积木a顶上没有任何东西。顶上没有任何东西。putdown(a):把积木把积木a放置到桌面上。要求动作之前机放置到桌面上。要求动作之前机械手已抓住积木械手已抓住积木a。.8.
9、2任务规划8.2.1积木世界的机器人规划积木世界的机器人规划1.积木世界的机器人问题积木世界的机器人问题状态描述谓词状态描述谓词:ON(a,b):积木积木a在积木在积木b之上。之上。ONTABLE(a):积木积木a在桌面上。在桌面上。CLEAR(a):积木积木a顶上没有任何东西。顶上没有任何东西。HOLDING(a):机械手正抓住积木机械手正抓住积木a。HANDEMPTY:机械手为空手。机械手为空手。.8.2任务规划8.2.1积木世界的机器人规划积木世界的机器人规划2.用用F规则求解规划序列规则求解规划序列采用采用F规则表示机器人的动作,这是一个叫做规则表示机器人的动作,这是一个叫做STRIP
10、S规划规划系统的规则,它由系统的规则,它由3部分组成:部分组成:第一部分是先决条件。为了使第一部分是先决条件。为了使F规则能够应用到状态描述规则能够应用到状态描述中去。中去。第二部分是一个叫做删除表的谓词。当一条规则被应用于第二部分是一个叫做删除表的谓词。当一条规则被应用于某个状态描述或数据库时,就从该数据库删去删除表的内容。某个状态描述或数据库时,就从该数据库删去删除表的内容。第三部分叫做添加表。当把某条规则应用于某数据库时,第三部分叫做添加表。当把某条规则应用于某数据库时,就把该添加表的内容添进该数据库。就把该添加表的内容添进该数据库。.8.2任务规划8.2.1积木世界的机器人规划积木世界
11、的机器人规划2.用用F规则求解规划序列规则求解规划序列例:例:move(x,y,z):把物体把物体x从物体从物体y上面移到物体上面移到物体z上面。上面。先决条件:先决条件:CLEAR(x),CLEAR(z),ON(x,y)删除表:删除表:ON(x,y),CLEAR(z)添加表:添加表:ON(x,z),CLEAR(y).8.2任务规划8.2.2STRIPS规划系统规划系统STanfordResearchInstituteProblemSolverSTRIPSSTRIPS系统的组成如下:系统的组成如下:(1)世界模型。为一阶谓词演算公式。世界模型。为一阶谓词演算公式。(2)操作符操作符(F规则规则
12、)。包括先决条件、删除表和添加表。包括先决条件、删除表和添加表。(3)操作方法。应用状态空间表示和中间操作方法。应用状态空间表示和中间-结局分析。结局分析。规划过程规划过程每个每个STRIPS问题的解答为某个实现目标的操作符序列,问题的解答为某个实现目标的操作符序列,即达到目标的规划。即达到目标的规划。.8.2任务规划8.2.3具有学习能力的规划系统具有学习能力的规划系统1.PULP-I的结构与操作方式的结构与操作方式PULP-I机器人规划系统是一种具有学习能力的系统,它采用机器人规划系统是一种具有学习能力的系统,它采用管理式学习,其作用原理是建立在类比的基础上的。管理式学习,其作用原理是建立
13、在类比的基础上的。2.PULP-I的世界模型和规划结果的世界模型和规划结果 PULP-I系统能够完成一系列规划任务。具有学习能力的机器系统能够完成一系列规划任务。具有学习能力的机器人问题求解与规划系统人问题求解与规划系统PULP-I已经成功地显示出规划性能的已经成功地显示出规划性能的改善。改善。.8.2任务规划8.2.4分层规划分层规划1.长度优先搜索长度优先搜索探索规划时首先只考虑一层的细节,然后再注意规划中比这一探索规划时首先只考虑一层的细节,然后再注意规划中比这一层低一层的细节,层低一层的细节,2.NOAH规划系统规划系统(1).应用最小约束策略应用最小约束策略一个寻找非线性规划而不必考
14、虑操作符序列的所有排列的一个寻找非线性规划而不必考虑操作符序列的所有排列的方法是把最少约束策略应用来选择操作符执行次序的问题。方法是把最少约束策略应用来选择操作符执行次序的问题。问题求解系统问题求解系统NOAH采用一种网络结构来记录它所选取的采用一种网络结构来记录它所选取的操作符之间所需要的排序。它也分层进行操作运算,即首先建操作符之间所需要的排序。它也分层进行操作运算,即首先建立起规划的抽象轮廓,然后在后续的各步中,填入越来越多的立起规划的抽象轮廓,然后在后续的各步中,填入越来越多的细节。细节。.8.2任务规划任务规划(2).检验准则检验准则准则法已被应用于各种规划生成系统。对于早期的系统,
15、准则法已被应用于各种规划生成系统。对于早期的系统,如如HACKER系统,准则只用于舍弃不满足的规划。在系统,准则只用于舍弃不满足的规划。在NOAH系系统中,准则被用来提出推定的方法以便修正所产生的规划。统中,准则被用来提出推定的方法以便修正所产生的规划。第一个涉及的准则是归结矛盾准则。第一个涉及的准则是归结矛盾准则。第二个准则叫做消除多余先决条件准则,包括除去对子目第二个准则叫做消除多余先决条件准则,包括除去对子目标的多余说明。标的多余说明。可以把分层规划和最少约定策略十分直接地结合起来,以可以把分层规划和最少约定策略十分直接地结合起来,以求得非线性规划而不产生一个庞大的搜索树。求得非线性规划
16、而不产生一个庞大的搜索树。.8.2任务规划8.2.5基于专家系统的机器人规划基于专家系统的机器人规划1.系统结构及规划机理系统结构及规划机理(1)知识库:用于存储某些特定领域的专家知识和经验,)知识库:用于存储某些特定领域的专家知识和经验,包括机器人工作环境的世界模型、状态、物体描述等事实和可包括机器人工作环境的世界模型、状态、物体描述等事实和可行操作或规则等。行操作或规则等。(2)控制策略:包含综合机理,确定系统应当应用什么控制策略:包含综合机理,确定系统应当应用什么规则以及采取什么方式去寻找该规则。规则以及采取什么方式去寻找该规则。(3)推理机:用于记忆所采用的规则和控制策略及推理推理机:
17、用于记忆所采用的规则和控制策略及推理策略。策略。(4)知识获取:首先获取某特定域的专家知识。然后用)知识获取:首先获取某特定域的专家知识。然后用程序设计语言把这些知识变换为计算机程序。最后把它们存入程序设计语言把这些知识变换为计算机程序。最后把它们存入知识库待用。知识库待用。.8.2任务规划(5)解释与说明:通过用户接口,在专家系统与用户之间解释与说明:通过用户接口,在专家系统与用户之间进行对话,从而使用户能够输入数据、提出问题、知道推理结进行对话,从而使用户能够输入数据、提出问题、知道推理结果以及了解推理过程等。果以及了解推理过程等。2.任务级机器人规划三要素任务级机器人规划三要素(1)建立模型:世界模型。)建立模型:世界模型。(2)任务说明:定义状态及状态变换次序。)任务说明:定义状态及状态变换次序。(3)程序综合。)程序综合。3.ROPES机器人规划系统机器人规划系统.8.2任务规划 例:例:NAO机器人检球动作。机器人检球动作。.