南邮自动化人工智能8-自动规划课件_第1页
南邮自动化人工智能8-自动规划课件_第2页
南邮自动化人工智能8-自动规划课件_第3页
南邮自动化人工智能8-自动规划课件_第4页
南邮自动化人工智能8-自动规划课件_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章自动规划

第八章自动规划教学内容:介绍自动规划的基本概念和各种规划系统。教学重点:机器人规划的作用与任务、积木世界的规划系统、基于模拟退火算法的机器人局部路径规划。教学难点:Strips规划系统。教学方法:课堂教学为主,注意结合例子来说明抽象概念。教学要求:本章为选修内容,掌握机器人规划的作用与任务,并一般了解有哪几种规划方法。教学内容:介绍自动规划的基本概念和各种规划系统。第一节自动规划概述

第一节自动规划概述8.1.1规划的概念和作用

1、规划的概念及作用

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

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

战略规划:就是组织制定长期目标并将其付诸实施。第一阶段确定目标;第二阶段制定规划。

城市规划:指城市政府为了实现一定时期内经济社会发展目标,确定城市性质,规模和发展方向,合理利用土地,协调空间布局和各项建设所作的综合部署和具体安排。人生规划:根据社会发展的需要和个人发展的志向,对自己的未来的发展道路做出一种预先的策划和设计。包括健康规划,事业规划,情感规划,晚景规划。战略规划:就是组织制定长期目标并将其付诸实施。第一阶子规划的分层结构例子

子规划的分层结构例子

规划的作用:科学规划方法不仅对国家和社会贡献很大,对于个人学习和工作也极为有益。规划的作用:科学规划方法不仅对国家和社会贡献很大,对8.1.2规划的分类与问题分解途径

1、规划的分类

(1):按规划内容分

(2):按规划方法分

(3):按规划性质分任务规划(高层规划)

路径规划(中层规划)

轨迹规划(底层规划)8.1.2规划的分类与问题分解途径2、问题分解途径及方法把某些较复杂的问题分解为一些较小的子问题。有两条实现这种分解的重要途径。第一条重要途径是当从一个问题状态移动到下一个状态时,无需计算整个新的状态,而只要考虑状态中可能变化了的那些部分。第二条重要途径是把单一的困难问题分割为几个有希望的较为容易解决的子问题。2、问题分解途径及方法3、域的预测和规划的修正

(1)域的预测规划方法的成功取决于问题论域的另一特性--预测。如果通过在实际上执行某个操作序列来寻找问题的解答,那末在这个过程的任何一步都能确信该步的结果。但对于不可预测的论域,最好能考虑可能的结果的集合,这些结果很可能按照它们出现的可能性以某个次序排列。然后,产生一个规划,并试图去执行这个规划。

(2)规划的修正如果规划在执行中失败了,那么就需要对它进行修订,为便于修订,在规划过程中不仅要记下规划的执行步骤,而且也要记下每一步骤必须被执行的理由。大多规则的执行主要是按目标定向模式工作的。在种模式下,规划系统从目标状态向可达到的初始状态进行搜索。

3、域的预测和规划的修正8.1.3规划系统的任务与方法

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

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

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

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

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

(空端:即死端,指无法从它到达目标的端点。)(5)检验殆正确的解答,并应用具体的技术使之完全正确。8.1.3规划系统的任务与方法

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

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

2、检验解答与空端当规划系统找到一个能够把初始问题状态变换为目标状态的操作符序列时,此系统就成功地求得问题的一个解答。如果搜索过程是从初始状态正向推理的,那么可以删去任何导致某种状态的路径,从这种状态出发是无法达到目标状态的。(空端)如果搜索过程是从目标状态逆向推理的,那么当确信无法达到初始状态,或者搜索过程进展甚微时,可以终止该路径的搜索。

下面讨论能够执行上述5项任务的方法。3、修正殆正确解一个求解殆可分解问题的办法是:当执行与所提出的解答相对应的操作符序列时,检查求得的状态,并把它与期望目标加以比较。修正一个殆正确的解答的较好办法是:注意有关出错的知识,然后加以直接修正。修正一个殆正确的解答的更好办法是:实际上不是对解答进行全面的修正,而是不完全确定地让它们保留到最后的可能时刻。3、修正殆正确解第二节任务规划第二节任务规划8.2.1积木世界的机器人问题

机器人问题既比较简单,又很直观。在机器人问题的典型表示中,机器人能够执行一套动作。在这个例子中机器人能够执行的动作举例如下:

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

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

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

putdown(a):把积木a放置到桌面上。要求动作之前机械手已抓住积木a。8.2.1积木世界的机器人问题

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

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

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

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

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

HANDEMPTY:械手为空手。采用状态描述作为数据库的产生式系统是一种最简举例:积木世界由一些有标记的立方形积木,互相堆迭在一起构成;机器人有个可移动的机械手,它可以抓起积木块并移动积木从一处至另一处。提问:请同学就图8.1积木世界的机器人问题应用谓词公式的合取描述此目标为:

ON(B,C)∧ON(A,B)。

?初始状态的描述:图8.1积木世界的机器人问题举例:积木世界由一些有标记的立方形积木,互相堆迭在一图8.18.2.2用F规则求解规划序列

采用F规则表示机器人的动作,这是一个叫做STRIPS规划系统的规则,它由3部分组成。第一部分是先决条件。为了使F规则能够应用到状态描述中去。第二部分是一个叫做删除表的谓词。当一条规则被应用于某个状态描述或数据库时,就从该数据库删去删除表的内容。第三部分叫做添加表。当把某条规则应用于某数据库时,就把该添加表的内容添进该数据库。8.2.2用F规则求解规划序列

对于堆积木的例子中move这个动作可以表示如下:

move(x,y,z):把物体x从物体y上面移到物体z上面。

先决条件:CLEAR(x),CLEAR(z),ON(x,y)

删除表:ON(x,y),CLEAR(z)

添加表:ON(x,z),CLEAR(y)对于堆积木的例子中move这个动作可以表示如下:

如果move为此机器人仅有的操作符或适用动作,那么,可以生成如下图所示的搜索图或搜索树:

8.2表示move动作的搜索树如果move为此机器人仅有的操作符或适用动作,那么,

下面更具体地考虑图8.1中所示的例子,机器人的4个动作(或操作符)可用STRIPS形式表示如下:

(1)stack(X,Y)

先决条件和删除表:HOLDING(X)∧CLEAR(Y)

添加表:HANDEMPTY,ON(X,Y)(2)unstack(X,Y)

先决条件:HANDEMPTY∧ON(X,Y)∧CLEAR(X)

删除表:ON(X,Y),HANDEMPTY

添加表:HOLDING(X),CLEAR(Y)下面更具体地考虑图8.1中所示的例子,机器人的4个动

(3)pickup(X)

先决条件:ONTABLE(X)∧CLEAR(X)∧HANDEMPTY

删除表:ONTABLE(X)∧HANDENPTY

添加表:HOLDING(X)(4)putdown(X)

先决条件和删除表:HOLDING(X)

添加表:ONTABLE(X),HANDEMPTY

假定目标为8.1所示的状态,即

ON(B,C)∧ON(A,B)(3)pickup(X)

从图8.1(a)所示的初始状态描述开始正向操作,只有unstack(C,A)和pickup(B)两个动作可以应用F规则。图8.3所示给出这个问题的全部状态空间,并用粗线指出了从初始状态(用S0标记)到目标状态(用G标记)的解答路径。

与习惯的状态空间图画法不同的是,这个状态空间图显出问题的对称性,而没有把初始节点S0放在图的顶点上。此外,要注意到本例中的每条规则都有一条逆规则,如图7.3所示。例:积木世界机器人问题的状态空间(见P216-217)从图8.1(a)所示的初始状态描图8.3

积木世界机器人问题的状态空间图8.3积木世界机器人问题的状态空间

沿着粗线所示的支路,从初始状态开始,正向地依次读出连接弧线上的F规则,就得到一个能够达到目标状态的动作序列于下:

{unstack(C,A),

putdown(C),

pickup(B),

stack(B,C),

pickup(A),

stack(A,B)}就把这个动作序列叫做达到这个积木世界机器人问题目标的规划。

沿着粗线所示的支路,从初始状态开始,正向地依次读出连接8.3.1STRIPS系统的组成

STRIPS(StanfordResearchInstituteProblemSolver)整个STRIPS系统的组成如下:

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

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

(3)操作方法。应用状态空间表示和中间-结局分析。例如:状态:(M,G),包括初始状态、中间状态和目标状态。初始状态:(M0,(G0))

目标状态:得到一个世界模型,其中不遗留任何未满足的目标。8.3.1STRIPS系统的组成8.2.3STRIPS系统规划过程

每个STRIPS问题的解答为某个实现目标的操作符序列,即达到目标的规划。下面举例说明STRIPS系统规划的求解过程。例1考虑STRIPS系统一个比较简单的情况,即要求机器人到邻室去取回一个箱子。机器人的初始状态和目标状态的世界模型示于图8.4。BOX1机器人箱子r1r2dBOX1机器人箱子r1r2d图8.4

STRIPS的一个简化模型8.2.3STRIPS系统规划过程BOX1机器人

设有两个操作符,即gothru和pushthru(“走过”和“推过”),分别描述于下:

OP1:gothru(d,r1,r2);机器人通过房间r1

和房间r2

之间的d,即机器人从房间r1

走过门d而进入房间r2。先决条件:机器人在房间r1

内,而且门d连接r1

和r2

两个房间。

INROOM(ROBOT,r1)∧CONNECTS(d,r1,r2);删除表:INROOM(ROBOT,S);对于任何S值。添加表:INROOM(ROBOT,r2)。设有两个操作符,即gothru和pus

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)。

例:采用中间-结局分析方法来逐步求解机器人规划(见P219-221)例:采用中间-结局分析方法来逐步求解机器人

差别表假定这个问题的初始状态M0和目标G0如下:

M0:INROOM(ROBOT,R1)∧INROOM(BOX1,R2)∧CONNECTS(D1,R1,R2)

G0:INROOM(ROBOT,R1)∧INROOM(BOX1,R1)∧CONNECTS(D1,R1,R2)差别表假定这个问题的初始状态M0和目标G0如下:

M假定这个问题的初始状态M0和目标G0如下:

M0:INROOM(ROBOT,R1)∧INROOM(BOX1,R2)∧CONNECTS(D1,R1,R2)

G0:INROOM(ROBOT,R1)∧INROOM(BOX1,R1)∧CONNECTS(D1,R1,R2)BOX1机器人箱子R1R2DBOX1机器人箱子R1R2D图8.4

STRIPS的一个简化模型假定这个问题的初始状态M0和目标G0如下:

M0:INROO基于中间结局分析方法的规划求解:采用中间结局分析方法来逐步求解这个机器人规划:

①doGPS的主循环迭代,untilM0与G0匹配为止。

②begin。

③G0

不能满足M0,找出M0与G0的差别。尽管这个问题不能马上得到解决,但是如果初始数据库含有语句INROOM(BOX1,R1),那么这个问题的求解过程就可以得到继续。GPS找到它们的差别:d1

为INROOM(BOX1,R1),即要把箱子(物体)放到目标房间R1

内。

④选取操作符:一个与减少差别d1有关的操作符。根据差别表,STRIPS选取操作符为:

OP2:pushthru(BOX1,d,r1,R1)基于中间结局分析方法的规划求解:采用中间结局分析方法来逐步求⑤消去差别d1,为OP2设置先决条件G1为:

G1:INROOM(BOX1,r1)∧INROOM(ROBOT,r1)∧CONNECTS(d,r1,R1)

这个先决条件被设定为子目标,而且STRIPS试图从M0到达G1。尽管G1仍然不能得到满足,也不可能马上找到这个问题的直接解答。不过STRIP发现:

如果r1=R2,d=D1,当前数据库含有

INROOM(ROBOT,R1)

那么此过程能够继续进行。现在新的子目标G1为:

G1:INROOM(BOX1,R2)∧INROOM(ROBOT,R2)∧CONNECTS(D1,R2,R1)⑤消去差别d1,为OP2设置先决条件G1为:

G1:⑥GPS(p);重复第3步至第5步,迭代调用,以求解此问题。

步骤3:G1和M0的差别d2为INROOM(ROBOT,R2)即要求机器人移到房间R2。

步骤4:根据差别表,对应于d2的相关操作符为

OP1:gothru(d,r1,R2)

步骤5:OP1的先决条件为:

G2:INROOM(ROBOT,R1)∧CONNECTS(d,r1,R2)

步骤6:应用置换式r1=R1

和d=D1,

STRIPS系统能够达到G2。⑥GPS(p);重复第3步至第5步,迭代调用,以求解此问题

⑦把操作符gothru(D1,R1,R2)作用于M0,求出中间状态M1:

删除表:INROOM(ROBOT,R1)

添加表:INROOM(ROBOT,R2)

M1:INROOM(ROBOT,R2)

INROOM(BOX1,R2)

CONNECTS(D1,R1,R2)

把操作符pushthru应用中间状态M1,

删除表:INROOM(ROBOT,R2),

INROOM(BOX1,R2)

添加表:INROOM(ROBOT,R1),

INROOM(BOX1,R1)⑦把操作符gothru(D1,R1,R2)作用于M0

得到另一中间状态M2为:

M2:INROOM(ROBOT,R1)

INROOM(BOX1,R1)

CONNECTS(D1,R1,R2)

M2=G0

⑧end。得到另一中间状态M2为:

M2:INROOM(RO由于M2与G0匹配,所以通过中间结局分析解答了这个机器人规划问题。在求解过程中,所用到的STRIPS规则为操作符OP1和OP2,即

gothru(D1,R1,R2),

pushthru(BOX1,D1,R2,R1)中间状态模型M1和M2,即子目标G1和G2,M2与目标世界模型G0相同。

因此,得到的最后规划为{OP1,OP2},即

{gothru(D1,R1,R2),

pushthru(BOX1,D1,R2,R1)}由于M2与G0匹配,所以通过中间结局分析解答了这BOX1机器人箱子R1R2DBOX1机器人箱子R1R2D图8.5中间目标状态的目标模型(a)中间目标状态M1(b)中间目标状态M2BOX1机器人箱子R1R2DBOX1机器人箱子R1R2D图8图8.6机器人规划例题的搜索图

图8.6机器人规划例题的搜索图

模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小

。该思想是由N.Metropolis等人于1953年提出。1983年,S.Kirkpatrick等成功地将退火思想引入到组合优化领域。它是基于Monte-Carlo迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。模拟退火算法从某一较高初温出发,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部最优解能概率性地跳出并最终趋于全局最优。模拟退火算法是一种通用的优化算法,理论上算法具有概率的全局优化性能,目前已在工程中得到了广泛应用,诸如VLSI、生产调度、控制工程、机器学习、神经网络、信号处理等领域。

模拟退火算法来源于固体退火原理,将固体加温至充分高,蚁群优化算法是模拟蚂蚁觅食的原理,设计出的一种群集智能算法。蚂蚁在觅食过程中能够在其经过的路径上留下一种称之为信息素的物质,并在觅食过程中能够感知这种物质的强度,并指导自己行动方向,它们总是朝着该物质强度高的方向移动,因此大量蚂蚁组成的集体觅食就表现为一种对信息素的正反馈现象。某一条路径越短,路径上经过的蚂蚁越多,其信息素遗留的也就越多,信息素的浓度也就越高,蚂蚁选择这条路径的几率也就越高,由此构成的正反馈过程,从而逐渐的逼近最优路径,找到最优路径。蚁群优化算法是模拟蚂蚁觅食的原理,设计出的一种群集智能算法。第八章自动规划

第八章自动规划教学内容:介绍自动规划的基本概念和各种规划系统。教学重点:机器人规划的作用与任务、积木世界的规划系统、基于模拟退火算法的机器人局部路径规划。教学难点:Strips规划系统。教学方法:课堂教学为主,注意结合例子来说明抽象概念。教学要求:本章为选修内容,掌握机器人规划的作用与任务,并一般了解有哪几种规划方法。教学内容:介绍自动规划的基本概念和各种规划系统。第一节自动规划概述

第一节自动规划概述8.1.1规划的概念和作用

1、规划的概念及作用

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

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

战略规划:就是组织制定长期目标并将其付诸实施。第一阶段确定目标;第二阶段制定规划。

城市规划:指城市政府为了实现一定时期内经济社会发展目标,确定城市性质,规模和发展方向,合理利用土地,协调空间布局和各项建设所作的综合部署和具体安排。人生规划:根据社会发展的需要和个人发展的志向,对自己的未来的发展道路做出一种预先的策划和设计。包括健康规划,事业规划,情感规划,晚景规划。战略规划:就是组织制定长期目标并将其付诸实施。第一阶子规划的分层结构例子

子规划的分层结构例子

规划的作用:科学规划方法不仅对国家和社会贡献很大,对于个人学习和工作也极为有益。规划的作用:科学规划方法不仅对国家和社会贡献很大,对8.1.2规划的分类与问题分解途径

1、规划的分类

(1):按规划内容分

(2):按规划方法分

(3):按规划性质分任务规划(高层规划)

路径规划(中层规划)

轨迹规划(底层规划)8.1.2规划的分类与问题分解途径2、问题分解途径及方法把某些较复杂的问题分解为一些较小的子问题。有两条实现这种分解的重要途径。第一条重要途径是当从一个问题状态移动到下一个状态时,无需计算整个新的状态,而只要考虑状态中可能变化了的那些部分。第二条重要途径是把单一的困难问题分割为几个有希望的较为容易解决的子问题。2、问题分解途径及方法3、域的预测和规划的修正

(1)域的预测规划方法的成功取决于问题论域的另一特性--预测。如果通过在实际上执行某个操作序列来寻找问题的解答,那末在这个过程的任何一步都能确信该步的结果。但对于不可预测的论域,最好能考虑可能的结果的集合,这些结果很可能按照它们出现的可能性以某个次序排列。然后,产生一个规划,并试图去执行这个规划。

(2)规划的修正如果规划在执行中失败了,那么就需要对它进行修订,为便于修订,在规划过程中不仅要记下规划的执行步骤,而且也要记下每一步骤必须被执行的理由。大多规则的执行主要是按目标定向模式工作的。在种模式下,规划系统从目标状态向可达到的初始状态进行搜索。

3、域的预测和规划的修正8.1.3规划系统的任务与方法

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

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

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

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

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

(空端:即死端,指无法从它到达目标的端点。)(5)检验殆正确的解答,并应用具体的技术使之完全正确。8.1.3规划系统的任务与方法

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

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

2、检验解答与空端当规划系统找到一个能够把初始问题状态变换为目标状态的操作符序列时,此系统就成功地求得问题的一个解答。如果搜索过程是从初始状态正向推理的,那么可以删去任何导致某种状态的路径,从这种状态出发是无法达到目标状态的。(空端)如果搜索过程是从目标状态逆向推理的,那么当确信无法达到初始状态,或者搜索过程进展甚微时,可以终止该路径的搜索。

下面讨论能够执行上述5项任务的方法。3、修正殆正确解一个求解殆可分解问题的办法是:当执行与所提出的解答相对应的操作符序列时,检查求得的状态,并把它与期望目标加以比较。修正一个殆正确的解答的较好办法是:注意有关出错的知识,然后加以直接修正。修正一个殆正确的解答的更好办法是:实际上不是对解答进行全面的修正,而是不完全确定地让它们保留到最后的可能时刻。3、修正殆正确解第二节任务规划第二节任务规划8.2.1积木世界的机器人问题

机器人问题既比较简单,又很直观。在机器人问题的典型表示中,机器人能够执行一套动作。在这个例子中机器人能够执行的动作举例如下:

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

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

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

putdown(a):把积木a放置到桌面上。要求动作之前机械手已抓住积木a。8.2.1积木世界的机器人问题

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

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

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

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

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

HANDEMPTY:械手为空手。采用状态描述作为数据库的产生式系统是一种最简举例:积木世界由一些有标记的立方形积木,互相堆迭在一起构成;机器人有个可移动的机械手,它可以抓起积木块并移动积木从一处至另一处。提问:请同学就图8.1积木世界的机器人问题应用谓词公式的合取描述此目标为:

ON(B,C)∧ON(A,B)。

?初始状态的描述:图8.1积木世界的机器人问题举例:积木世界由一些有标记的立方形积木,互相堆迭在一图8.18.2.2用F规则求解规划序列

采用F规则表示机器人的动作,这是一个叫做STRIPS规划系统的规则,它由3部分组成。第一部分是先决条件。为了使F规则能够应用到状态描述中去。第二部分是一个叫做删除表的谓词。当一条规则被应用于某个状态描述或数据库时,就从该数据库删去删除表的内容。第三部分叫做添加表。当把某条规则应用于某数据库时,就把该添加表的内容添进该数据库。8.2.2用F规则求解规划序列

对于堆积木的例子中move这个动作可以表示如下:

move(x,y,z):把物体x从物体y上面移到物体z上面。

先决条件:CLEAR(x),CLEAR(z),ON(x,y)

删除表:ON(x,y),CLEAR(z)

添加表:ON(x,z),CLEAR(y)对于堆积木的例子中move这个动作可以表示如下:

如果move为此机器人仅有的操作符或适用动作,那么,可以生成如下图所示的搜索图或搜索树:

8.2表示move动作的搜索树如果move为此机器人仅有的操作符或适用动作,那么,

下面更具体地考虑图8.1中所示的例子,机器人的4个动作(或操作符)可用STRIPS形式表示如下:

(1)stack(X,Y)

先决条件和删除表:HOLDING(X)∧CLEAR(Y)

添加表:HANDEMPTY,ON(X,Y)(2)unstack(X,Y)

先决条件:HANDEMPTY∧ON(X,Y)∧CLEAR(X)

删除表:ON(X,Y),HANDEMPTY

添加表:HOLDING(X),CLEAR(Y)下面更具体地考虑图8.1中所示的例子,机器人的4个动

(3)pickup(X)

先决条件:ONTABLE(X)∧CLEAR(X)∧HANDEMPTY

删除表:ONTABLE(X)∧HANDENPTY

添加表:HOLDING(X)(4)putdown(X)

先决条件和删除表:HOLDING(X)

添加表:ONTABLE(X),HANDEMPTY

假定目标为8.1所示的状态,即

ON(B,C)∧ON(A,B)(3)pickup(X)

从图8.1(a)所示的初始状态描述开始正向操作,只有unstack(C,A)和pickup(B)两个动作可以应用F规则。图8.3所示给出这个问题的全部状态空间,并用粗线指出了从初始状态(用S0标记)到目标状态(用G标记)的解答路径。

与习惯的状态空间图画法不同的是,这个状态空间图显出问题的对称性,而没有把初始节点S0放在图的顶点上。此外,要注意到本例中的每条规则都有一条逆规则,如图7.3所示。例:积木世界机器人问题的状态空间(见P216-217)从图8.1(a)所示的初始状态描图8.3

积木世界机器人问题的状态空间图8.3积木世界机器人问题的状态空间

沿着粗线所示的支路,从初始状态开始,正向地依次读出连接弧线上的F规则,就得到一个能够达到目标状态的动作序列于下:

{unstack(C,A),

putdown(C),

pickup(B),

stack(B,C),

pickup(A),

stack(A,B)}就把这个动作序列叫做达到这个积木世界机器人问题目标的规划。

沿着粗线所示的支路,从初始状态开始,正向地依次读出连接8.3.1STRIPS系统的组成

STRIPS(StanfordResearchInstituteProblemSolver)整个STRIPS系统的组成如下:

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

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

(3)操作方法。应用状态空间表示和中间-结局分析。例如:状态:(M,G),包括初始状态、中间状态和目标状态。初始状态:(M0,(G0))

目标状态:得到一个世界模型,其中不遗留任何未满足的目标。8.3.1STRIPS系统的组成8.2.3STRIPS系统规划过程

每个STRIPS问题的解答为某个实现目标的操作符序列,即达到目标的规划。下面举例说明STRIPS系统规划的求解过程。例1考虑STRIPS系统一个比较简单的情况,即要求机器人到邻室去取回一个箱子。机器人的初始状态和目标状态的世界模型示于图8.4。BOX1机器人箱子r1r2dBOX1机器人箱子r1r2d图8.4

STRIPS的一个简化模型8.2.3STRIPS系统规划过程BOX1机器人

设有两个操作符,即gothru和pushthru(“走过”和“推过”),分别描述于下:

OP1:gothru(d,r1,r2);机器人通过房间r1

和房间r2

之间的d,即机器人从房间r1

走过门d而进入房间r2。先决条件:机器人在房间r1

内,而且门d连接r1

和r2

两个房间。

INROOM(ROBOT,r1)∧CONNECTS(d,r1,r2);删除表:INROOM(ROBOT,S);对于任何S值。添加表:INROOM(ROBOT,r2)。设有两个操作符,即gothru和pus

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)。

例:采用中间-结局分析方法来逐步求解机器人规划(见P219-221)例:采用中间-结局分析方法来逐步求解机器人

差别表假定这个问题的初始状态M0和目标G0如下:

M0:INROOM(ROBOT,R1)∧INROOM(BOX1,R2)∧CONNECTS(D1,R1,R2)

G0:INROOM(ROBOT,R1)∧INROOM(BOX1,R1)∧CONNECTS(D1,R1,R2)差别表假定这个问题的初始状态M0和目标G0如下:

M假定这个问题的初始状态M0和目标G0如下:

M0:INROOM(ROBOT,R1)∧INROOM(BOX1,R2)∧CONNECTS(D1,R1,R2)

G0:INROOM(ROBOT,R1)∧INROOM(BOX1,R1)∧CONNECTS(D1,R1,R2)BOX1机器人箱子R1R2DBOX1机器人箱子R1R2D图8.4

STRIPS的一个简化模型假定这个问题的初始状态M0和目标G0如下:

M0:INROO基于中间结局分析方法的规划求解:采用中间结局分析方法来逐步求解这个机器人规划:

①doGPS的主循环迭代,untilM0与G0匹配为止。

②begin。

③G0

不能满足M0,找出M0与G0的差别。尽管这个问题不能马上得到解决,但是如果初始数据库含有语句INROOM(BOX1,R1),那么这个问题的求解过程就可以得到继续。GPS找到它们的差别:d1

为INROOM(BOX1,R1),即要把箱子(物体)放到目标房间R1

内。

④选取操作符:一个与减少差别d1有关的操作符。根据差别表,STRIPS选取操作符为:

OP2:pushthru(BOX1,d,r1,R1)基于中间结局分析方法的规划求解:采用中间结局分析方法来逐步求⑤消去差别d1,为OP2设置先决条件G1为:

G1:INROOM(BOX1,r1)∧INROOM(ROBOT,r1)∧CONNECTS(d,r1,R1)

这个先决条件被设定为子目标,而且STRIPS试图从M0到达G1。尽管G1仍然不能得到满足,也不可能马上找到这个问题的直接解答。不过STRIP发现:

如果r1=R2,d=D1,当前数据库含有

INROOM(ROBOT,R1)

那么此过程能够继续进行。现在新的子目标G1为:

G1:INROOM(BOX1,R2)∧INROOM(ROBOT,R2)∧CONNECTS(D1,R2,R1)⑤消去差别d1,为OP2设置先决条件G1为:

G1:⑥GPS(p);重复第3步至第5步,迭代调用,以求解此问题。

步骤3:G1和M0的差别d2为INROOM(ROBOT,R2)即要求机器人移到房间R2。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论