第八章自动规划

教学内容:介绍自动规划的基本概念和各种规划系统。

教学重点:机器人规划的作用与任务、积木世界的规划系统、具有学习能力的规划系统、基于专家系统的规划机理。

教学难点:具有学习能力的规划系统。

教学方法:课堂教学为主,注意结合例子来说明抽象概念。

教学要求:本章为选修内容,掌握机器人规划的作用与任务,并一般了解有哪几种规划方法。

8.1机器人规划的作用与任务

教学内容:引入规划的概念,说明问题分解途径,然后讨论自动规划系统的任务。

教学重点:机器人规划的作用。

教学方法:课堂教学。

教学要求:掌握机器人规划的作用与任务。

8.1.1规划的作用与问题分解途径

1、规划的概念及作用

  规划的概念:规划是一种重要的问题求解技术,它从某个特定的问题状态出发,寻求一系列行为动作,并建立一个操作序列,直到求得目标状态为止。

  规划的作用:规划可用来监控问题求解过程,并能够在造成较大的危害之前发现差错。规划的好处可归纳为简化搜索、解决目标矛盾以及为差错补偿提供基础。

2、问题分解途径及方法

  把某些较复杂的问题分解为一些较小的子问题。有两条实现这种分解的重要途径。

  第一条重要途径是当从一个问题状态移动到下一个状态时,无需计算整个新的状态,而只要考虑状态中可能变化了的那些部分。

  第二条重要途径是把单一的困难问题分割为几个有希望的较为容易解决的子问题。

3、域的预测和规划的修正

举例:以工作日计划来形象地说明规划的作用。

 

8.1.2机器人规划系统的任务与方法

  在规划系统中,必须具有执行下列各项任务的方法:

  (1) 根据最有效的启发信息,选择应用于下一步的最好规则。

  (2) 应用所选取的规则来计算由于应用该规则而生成的新状态。

  (3) 对所求得的解答进行检验。

  (4) 检验空端,以便舍弃它们,使系统的求解工作向着更有效的方向进行。

  (5) 检验殆正确的解答,并应用具体的技术使之完全正确。

  下面讨论能够执行上述5项任务的方法。

1、选择和应用规则

  在选择合适的应用规则时最广泛采用的技术是:首先要查出期望目标状态与现有状态之间的差别集合,然后辨别出那些与减少这些差别有关的规则。

2、检验解答与空端

  当规划系统找到一个能够把初始问题状态变换为目标状态的操作符序列时,此系统就成功地求得问题的一个解答。

  如果搜索过程是从初始状态正向推理的,那么可以删去任何导致某种状态的路径,从这种状态出发是无法达到目标状态的。

  如果搜索过程是从目标状态逆向推理的,那么当确信无法达到初始状态,或者搜索过程进展甚微时,可以终止该路径的搜索。

3、修正殆正确解

  一个求解殆可分解问题的办法是:当执行与所提出的解答相对应的操作符序列时,检查求得的状态,并把它与期望目标加以比较。

  修正一个殆正确的解答的较好办法是注意有关出错的知识,然后加以直接修正。

8.2 积木世界的机器人规划

教学内容:寻求某个机器人的动作序列(可能包括路径等)。

教学重点:机器人问题求解。

教学难点:用F规则求解机器人规划序列。

教学方法:课堂教学。

教学要求:了解问题求解的目标与一般过程、掌握积木世界的机器人规划方法。

8.2.1 积木世界的机器人问题

  机器人问题既比较简单,又很直观。在机器人问题的典型表示中,机器人能够执行一套动作。

  在这个例子中机器人能够执行的动作举例如下:

unstack(a,b):把堆放在积木b上的积木a拾起。在进行这个动作之前,要求机器人的手为空手,而且积木a的顶上是空的。

stack(a,b):把积木a堆放在积木b上。动作之前要求机械手必须已抓住积木a,而且积木b顶上必须是空的。

pickup(a):从桌面上拾起积木a,并抓住它不放。在动作之前要求机械手为空手,而且积木a顶上没有任何东西。

putdown(a):把积木a放置到桌面上。要求动作之前机械手已抓住积木a。

  采用状态描述作为数据库的产生式系统是一种最简单的问题求解系统。机器人问题的状态描述和目标描述均可用谓词逻辑公式构成。为了指定机器人所执行的操作和执行操作的结果,需要应用下列谓词:

  ON(a,b): 积木a在积木b之上。

  ONTABLE(a): 积木a在桌面上。

  CLEAR(a): 积木a顶上没有任何东西。

  HOLDING(a): 机械手正抓住积木a。

  HANDEMPTY: 机械手为空手。

举例:积木世界由一些有标记的立方形积木,互相堆迭在一起构成;机器人有个可移动的机械手,它可以抓起积木块并移动积木从一处至另一处。

提问:请同学就图8.1积木世界的机器人问题应用谓词公式的合取来表示为:ON(B,C)∧ON(A,B)。

 

8.2.2 用F规则求解规划序列

  采用F规则表示机器人的动作,这是一个叫做STRIPS规划系统的规则,它由3部分组成。

  第一部分是先决条件。为了使F规则能够应用到状态描述中去。

  第二部分是一个叫做删除表的谓词。当一条规则被应用于某个状态描述或数据库时,就从该数据库删去删除表的内容。

  第三部分叫做添加表。当把某条规则应用于某数据库时,就把该添加表的内容添进该数据库。

8.3 STRIPS规划系统

教学内容:STRIPS规划系统的机理,规划的目标与实现方法。

教学重点:STRIPS系统的组成

教学难点:对STRIPS规划过程的描述

教学方法:课堂教学

教学要求:掌握STRIPS机器人规划系统的组成,了解规划过程的描述

8.3.1 STRIPS系统的组成

  整个STRIPS系统的组成如下:

  (1) 世界模型。为一阶谓词演算公式。

  (2) 操作符(F规则)。包括先决条件、删除表和添加表。

  (3) 操作方法。应用状态空间表示和中间-结局分析。

  例如:状态:(M,G),包括初始状态、中间状态和目标状态。

  初始状态:(M0,(G0))

  目标状态:得到一个世界模型,其中不遗留任何未满足的目标。

8.3.2 STRIPS系统规划过程

  每个STRIPS问题的解答为某个实现目标的操作符序列,即达到目标的规划。下面举例说明STRIPS统规划的求解过程。

  例1 考虑STRIPS系统一个比较简单的情况,即要求机器人到邻室去取回一个箱子。机器人的初始状态和目标状态的世界模型示于图8.4。设有两个操作符,即gothru和pushthru(“走过”和“推过”),分别描述于下:

  OP1:gothru(d,r1,r2);

  机器人通过房间r1和房间r2之间的d,即机器人从房间r1走过门d而进入房间r2。先决条件:INROOM (ROBOT,r1)∧CONNECTS(d,r1,r2);机器人在房间r1内,而且门d连接r1和r2两个房间。

  删除表:INROOM(ROBOT,S);对于任何S值。

  添加表:INROOM(ROBOT,r2)。

  OP2:pushthru(b,d,r1,r2)

  机器人把物体b从房间r1经过门d推到房间r2。

  先决条件:INROOM(b,r1)∧INROOM(ROBOT,r1)∧CONNECTS(d,r1,r2)删除表    :INROOM(ROBOT,S),INROOM(b,S);对于任何S。

  添加表:INROOM(ROBOT,r2),INROOM(b,r2)。

8.4具有学习能力的规划系统

教学内容:介绍一个叫做PULP-Ⅰ(Purdue University Learning Program)的具有学习能力的机器人规划系统的结构和操作方式,了解规划系统的模型和规划方法。

教学重点:系统的结构与操作方式。

教学难点:规划系统的学习方法。

教学方法:课堂教学。

教学要求:了解具有学习能力的机器人规划系统的规划方法及其与一般规划系统的异同

8.4.1 PULP-Ⅰ系统的结构与操作方式

1、PULP-Ⅰ系统的结构

  字典、模型和过程是系统的内存部分,它们集中了所有信息。“字典”是英语词汇的集合,它的每个词汇都保持在LISP的特性表上。“模型”部分包括模型世界内物体现有状态的事实。

  模型的信息不是固定不变的,它可能随着环境而改变。此外,无论什么时候应用某个操作符,此模型就被适时修正。“过程”集中了予先准备好的过程知识。这种过程知识是一个表式结构,包含一个指令序列。每个指令可能是一个任务语句,这些语句与该任务的过程、局部定义的物体或某个操作符有关。

2、PULP-Ⅰ系统的操作方式

  PULP-Ⅰ系统具有两种操作方式,即学习方式和规划方式。

  在学习方式下,输入至系统的知识是由操作人员或者所谓“教师”提供的。系统首先把给出的过程知识分解为一个子过程的集合,本原过程知识被分解为几个知识块,每块为一知识包。然后,由任务分析程序进行试验,这个程序对知识包进行分析,并通过一个语义匹配程序求得其提取表示。

  当某个命令句子送入系统时,PULP-Ⅰ就进入规划方式。此规划系统的主要作用是形成一个能够把现有世界变换为满足给定命令的世界状态的规划。所生成的规划由一些本原操作符的有序排列组成。当求得一个成功的规划之后,对世界模型进行修正,而且系统输出规划时间和规划细节,以满足输入命令。

8.4.2 PULP-Ⅰ的世界模型和规划结果

提问:请同学比较具有学习能力的机器人规划系统与一般规划系统的异同,并总结前者的特点。

 

8.5 分层规划

教学内容:通过ABSTRIPS系统了解针对困难问题的分层规划方法。

教学方法:课堂教学。

教学重点:本规划机理及实例。

教学难点:规划实例分析。

教学要求:本节作为选讲内容,只要求一般了解相关内容。

8.5.1 长度优先搜索

  探索规划时首先只考虑一层的细节,然后再注意规划中比这一层低一层的细节,所以把它叫做长度优先搜索。

8.5.2 NOAH规划系统

1、应用最小约束策略

  一个寻找非线性规划而不必考虑操作符序列的所有排列的方法是把最少约束策略应用来选择操作符执行次序的问题。

  问题求解系统NOAH采用一种网络结构来记录它所选取的操作符之间所需要的排序。它也分层进行操作运算,即首先建立起规划的抽象轮廓,然后在后续的各步中,填入越来越多的细节。

2、检验准则

  准则法已被应用于各种规划生成系统。对于早期的系统,如HACKER系统,准则只用于舍弃不满足的规划。在NOAH系统中,准则被用来提出推定的方法以便修正所产生的规划。

  第一个涉及的准则是归结矛盾准则。

  第二个准则叫做消除多余先决条件准则,包括除去对子目标的多余说明。

  可以把分层规划和最少约定策略十分直接地结合起来,以求得非线性规划而不产生一个庞大的搜索树。

8.6基于专家系统的机器人规划

内容与作用:本节将结合作者对机器人规划专家系统的研究,介绍基于专家系统的机器人规划。

教学重点:基于专家系统的系统结构和规划机理。

教学难点:基于专家系统的规划机理。

教学方法:课堂教学。

教学要求:了解基于专家系统的机器人规划系统的结构和实现方法。

8.6.1 系统结构和规划机理

1、 系统结构及规划机理

  (1) 知识库:用于存储某些特定领域的专家知识和经验,包括机器人工作环境的世界模型、状态、物体描述等事实和可行操作或规则等。

  (2) 控制策略:包含综合机理,确定系统应当应用什么规则以及采取什么方式去寻找该规则。

  (3) 推理机:用于记忆所采用的规则和控制策略及推理策略。

  (4) 知识获取:首先获取某特定域的专家知识。然后用程序设计语言把这些知识变换为计算机程序。最后把它们存入知识库待用。

  (5) 解释与说明:通过用户接口,在专家系统与用户之间进行对话,从而使用户能够输入数据、提出问题、知道推理结果以及了解推理过程等。

2、 任务级机器人规划三要素

  (1) 建立模型。

  (2) 任务说明。

  (3) 程序综合。

8.6.2 ROPES机器人规划系统

作业:根据简化框图8.18,举例说明应用专家系统的机器人规划系统。

8.7小结

  本章在说明了机器人规划的作用和任务后,主要讨论了几种机器人规划的方法:

  (1) 规划演绎法。用F规则求解规划序列。

  (2) 逻辑演算和通用搜索法。STRIPS和ABSTRIPS系统即属此法。

  (3) 具有学习能力的规划系统。如PULP-Ⅰ系统,它采用类比技术和语义网络表示。

  (4) 分层规划方法。如NOAH规划系统,它特别适用于非线性规划。

  (5) 基于专家系统的规划。如ROPES规划系统,它具有更快的规划速度、更强的规划能力和更大的适应性

 

from: http://netclass.csu.edu.cn/jpkc2003/rengongzhineng/rengongzhineng/jiaoan/chapter8.htm

人工智能:第八章 自动规划相关推荐

  1. 人工智能应用于自动驾驶技术中的优势

    自动驾驶技术将成为未来汽车一个全新的发展方向,车辆实现自动驾驶,包含了多种人工智能的技术应用. 人工智能应用于自动驾驶技术中的优势 自动驾驶的定位技术 定位技术是自动驾驶车辆行驶的基础.目前常用的技术 ...

  2. 2.1 人工智能项目开发与规划

    2.1 人工智能项目开发与规划 人工智能项目开发的目标:发现与明确问题 技术角度:需要思考AI系统性能能达到预期吗,需要多少数据,能否获取足够的数据,需要多久的时间 业务角度:需要解决什么问题,商业目 ...

  3. 人工智能 自动规划 ppt 蔡自兴_分布式优化算法及其在多智能体系统与机器学习中的应用【附PPT与视频资料】...

    关注微信公众号:人工智能前沿讲习对话框回复"张家绮"获取PPT与视频资料视频资料可点击→播放视频查看 导读 分布式优化理论和算法近年来在多智能体系统中得到了广泛的发展与应用,目前在 ...

  4. 智能机器人路径规划及代码_AI割草机器人用ML+传感器自动规划路径

    作者:DIGITIMES谢明珊 Graze Mowing发表全新自动割草机器人,可针对中大型商用空间提高景观维护效率,吸引来自世界各地的高尔夫球场以及景观维护公司的询问,已累积1,900多万美元预购订 ...

  5. 人工智能算法在自动驾驶中的应用

    前几天一个新闻挺搞笑的,美国一辆"自动驾驶"状态的特斯拉被交警拦停,驾驶员在车里竟然睡着了--甚至还狡辩自己没有驾车因此不涉嫌酒驾.龙叔忽然想起来,这类事件已经不是第一次发生了,于 ...

  6. 人工智能前沿——无人自动驾驶技术

    >>>深度学习Tricks,第一时间送达<<< 一.自动驾驶介绍 自动驾驶汽车依靠人工智能.视觉计算.雷达.监控装置和全球定位系统协同合作,它是一个集环境感知.规划 ...

  7. 基于人工智能的5G无线网规划和优化

    摘要:自组织网络(SON)在即将到来的5G系统中的功能是人工智能(AI)机制的一个很有前途的领域.在这方面,本文分析了如何在AI概念的基础上构建未来5G系统中无线接入网规划和优化的自组织网络.提出了一 ...

  8. Ardupilot多旋翼自动规划路径实现绕开障碍物避障

    Ardupilot官方最近升级了绕开障碍物的算法,并开始应用到多旋翼上面. 路径规划使用BendyRuler 和 Dijkstra's 算法,可以根据Fence的设置和接近光等测距数据,自动生成航线, ...

  9. 体验论文新神器!AMiner人工智能工具,自动溯源论文来龙去脉

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 来自 DBLP.ArXiv.STM 等多家学术出版机构和平台的数据表明,在过去 20 年间,计算机科学.物理学.统计学等研究领域的出版物 ...

最新文章

  1. 邢波出任全球第一所AI大学校长,履历横跨三门学科
  2. pc站转手机站的首页(扫二维码)
  3. mysql 查询姓张或者姓王_mysql查询练习
  4. vuejs及相关工具介绍
  5. Leetcode: Validate Binary Search Tree
  6. lisp提取长方形坐标_用 Python 对图片主体轮廓进行提取、颜色标记、并计算区域面积...
  7. char* 赋值 const char* 释放_嵌入式Linux开发《C语言专题(十:彻底搞懂“关键字”const)》...
  8. iPhone上传文件到ftp服务器,将文件上传到iPhone上的FTP服务器
  9. mysql 锁问题 (相同索引键值或同一行或间隙锁的冲突)
  10. 模型堆叠(Stacking)和模型融合的原理与实现以及一个库heamy的介绍
  11. 大数据时代的图表可视化利器——highcharts,D3和百度的echarts
  12. 【JAVA】什么时候会发生空指针异常
  13. Ubuntu16.04安装QQ(for linux)
  14. Java | 内部类的实例化
  15. 感谢蜂窝教育,四个月的学习,让我改变了
  16. 机器学习之初识SVM
  17. 【介绍了Sentaurus TCAD结构编辑器中可用的网格掺杂操作】
  18. 适用于高密度或高精度应用的高度可配置和可扩展的螺旋电容器设计
  19. ios游戏使得newpad不断迅速增长
  20. WiFi 的认证方法

热门文章

  1. SpringBoot - 优雅的实现【自定义参数校验】高级进阶
  2. Apache ZooKeeper - ZK的ACL权限控制( Access Control List )
  3. Shell 文件包含
  4. android:catation=quot;90quot;,Android中的AlarmManager的使用.htm
  5. 项目实战-阿里云域名解析设置域名
  6. python上下文管理器
  7. Mybatis中的attempted to return null from a method with a primitive return type (int).异常
  8. 使用Retrofit时,对参数进行加密
  9. 2020-12-07 Halcon初学者知识【2】打开图像和显示
  10. python3命令行运行程序怎么关闭_python中怎样退出程序运行?