·14 智能系统学报 第2卷 的执行必然导致Cn的执行,如不执行Cn,则Cm也 (when(r∧s)可).动作B有前提g,2个效果h, 无法执行 (when st).这2个动作分别元件化: 对元件的抵制:通过否定元件的前提条件来阻 动作A分解成的元件是: 止元件的执行 ①A1有前提p,效果e: 2基于条件效果的对象动态可变的规 ②4,有前提p个q,效果f: ③43有前提py八s,效果y: 划问题 动作B分解成的元件是: 2.1 CECDOP问题描述 ①B1有前提g,效果h: 在文献[8]中己经介绍了创建/删除的对象是可 ②B2有前提q八s,效果1 静态确定的情况,文中研究的基于条件效果的对象 其中元件A1,A2,A3都来自动作A,它们是相 动态可变的规划问题,简记为CECDOP(conditional 关元件,同样元件B1,B?都来自动作B,它们也是 effects in creating or deleting object plan)问题, 相关元件.但是A1,A2,A3与B1,B2之间是无关元 CECDOP中创建/删除的对象是不可静态确定的, 件.动作A中,p是主要前提,q和(r八y)是次要前 动作的前提不同时创建/删除的对象也是不同的即 提,动作B中,q是主要前提,s是次要前提 效果是依赖于上下文的描述.因为现实世界是一个 与文献3]中的定义有所不同,文中对引致和元 动态复杂的世界,很多规划问题都会涉及到动作创 件抵制进行了改进: 建的对象是动态可变的情况,而且创建的新对象由 引致:i层元件Cm引致元件Cn指Cm在i层 前提而定,如运输问题,不同的货物对卡车的要求不 的执行必然导致Cn的执行,如不执行Cn,则Cm也 同,轻的货物用单排轮的卡车运输,重的货物则要用 无法执行 双排轮的卡车运输,这样运输货物的不同要求组装 具体要求: 生成的卡车也不同.由于文中规划问题的动作所产 ①cm和Cn是相关元件,有相同的变量约束; 生的效果是依赖于上下文的描述,在文献[3]的基础 ②Cm和Cn不互斥: 上引入了表达能力更强的动作描述形式: ③cn的否定前提在i-1层不能被满足 2.2CECD0P中操作的表达方式 对元件的抵制:通过否定元件的次要前提条件 文中讨论了基于条件效果的对象动态可变的规 来阻止元件的执行,这比文献[3]中的方法好,因为 划问题,对于所有动作都采用元件化思想,即动作产 这样可以减少很多不必要的循环 生的所有效果都对应一个动作元件,非条件效果的 文中的元件根据是否可以创建/删除对象分成 动作产生唯一一个元件.在文献[3]中所有的元件用 2类:普通元件,可创建/删除对象的元件(CDO元 “C”+1表示元件i,这不能表明元件来自哪个动作, 件,creat or delete object). 也不能表明哪些元件是来自同一动作的,在处理互 定义3一个元件可以创建/删除对象,称为创 斥时比较复杂,与文献[3]不同,文中的元件用Ac 建/删除对象元件,对它们的实例化称为CDO元件 tion+i表示来自动作Action的元件i,这样上面提 实例。 出的问题就会得到解决,这种描述方法即能表明元 定义4除了CD0元件都是普通元件,对它们 件来自哪个动作,也能表明哪些元件是来自同一动 的实例化称为普通元件实例 作的,这样在处理互斥时就可以减少许多不必要的 表示方式如下: 循环 CDO component: 为了表述问题更清楚,把元件进行了分类.文中 Component number 中的元件根据来源可分成2类: the set of parameter 定义1来自同一动作实例的元件称为相关元 (the set of common parameter 件】 the set of optional parameter 定义2来自不同动作实例的元件称为无关元 } 件」 the set of precondition 例1:动作A有前提p,3个效果e,(when qf), the set of effect 1994-2009 China Academic Journal Electronic Publishing House.All rights reserved.http://www.cnki.net的执行必然导致 Cn 的执行 ,如不执行 Cn ,则 Cm 也 无法执行. 对元件的抵制 :通过否定元件的前提条件来阻 止元件的执行. 2 基于条件效果的对象动态可变的规 划问题 211 CECDOP 问题描述 在文献[8 ]中已经介绍了创建/ 删除的对象是可 静态确定的情况 ,文中研究的基于条件效果的对象 动态可变的规划问题 ,简记为 CECDOP(conditional effects in creating or deleting object plan) 问题 , CECDOP 中创建/ 删除的对象是不可静态确定的 , 动作的前提不同时创建/ 删除的对象也是不同的 ,即 效果是依赖于上下文的描述. 因为现实世界是一个 动态复杂的世界 ,很多规划问题都会涉及到动作创 建的对象是动态可变的情况 ,而且创建的新对象由 前提而定 ,如运输问题 ,不同的货物对卡车的要求不 同 ,轻的货物用单排轮的卡车运输 ,重的货物则要用 双排轮的卡车运输 ,这样运输货物的不同要求组装 生成的卡车也不同. 由于文中规划问题的动作所产 生的效果是依赖于上下文的描述 ,在文献[3 ]的基础 上引入了表达能力更强的动作描述形式. 212 CECDOP 中操作的表达方式 文中讨论了基于条件效果的对象动态可变的规 划问题 ,对于所有动作都采用元件化思想 ,即动作产 生的所有效果都对应一个动作元件 ,非条件效果的 动作产生唯一一个元件. 在文献[ 3 ]中所有的元件用 “C”+ i 表示元件 i ,这不能表明元件来自哪个动作 , 也不能表明哪些元件是来自同一动作的 ,在处理互 斥时比较复杂 ,与文献[ 3 ]不同 ,文中的元件用 Ac2 tion + i 表示来自动作 Action 的元件 i ,这样上面提 出的问题就会得到解决 ,这种描述方法即能表明元 件来自哪个动作 ,也能表明哪些元件是来自同一动 作的 ,这样在处理互斥时就可以减少许多不必要的 循环. 为了表述问题更清楚 ,把元件进行了分类. 文中 中的元件根据来源可分成 2 类 : 定义 1 来自同一动作实例的元件称为相关元 件. 定义 2 来自不同动作实例的元件称为无关元 件. 例 1 :动作 A 有前提 p ,3 个效果 e ,(when q f ) , (when ( r ∧s) ﹁q) . 动作 B 有前提 q ,2 个效果 h , (when s t) . 这 2 个动作分别元件化 : 动作 A 分解成的元件是 : ①A1 有前提 p ,效果 e; ②A2 有前提 p ∧q ,效果 f ; ③A3 有前提 p ∧r ∧s,效果﹁q; 动作 B 分解成的元件是 : ①B1 有前提 q ,效果 h; ②B2 有前提 q ∧s,效果 t. 其中元件 A1 , A2 , A3 都来自动作 A ,它们是相 关元件 ,同样元件 B1 , B2 都来自动作 B ,它们也是 相关元件. 但是 A1 , A2 , A3 与 B1 , B2 之间是无关元 件. 动作 A 中 , p 是主要前提 , q 和 ( r ∧s) 是次要前 提 ,动作 B 中 , q 是主要前提 ,s 是次要前提. 与文献[3 ]中的定义有所不同 ,文中对引致和元 件抵制进行了改进 : 引致 :i 层元件 Cm 引致元件 Cn 指 Cm 在 i 层 的执行必然导致 Cn 的执行 ,如不执行 Cn ,则 Cm 也 无法执行. 具体要求 : ①Cm 和 Cn 是相关元件 ,有相同的变量约束 ; ②Cm 和 Cn 不互斥 ; ③Cn 的否定前提在 i - 1 层不能被满足. 对元件的抵制 :通过否定元件的次要前提条件 来阻止元件的执行 ,这比文献[ 3 ]中的方法好 ,因为 这样可以减少很多不必要的循环. 文中的元件根据是否可以创建/ 删除对象分成 2 类 :普通元件 ,可创建/ 删除对象的元件 (CDO 元 件 ,creat or delete object) . 定义 3 一个元件可以创建/ 删除对象 ,称为创 建/ 删除对象元件 ,对它们的实例化称为 CDO 元件 实例. 定义 4 除了 CDO 元件都是普通元件 ,对它们 的实例化称为普通元件实例. 表示方式如下 : CDO component : Component + number{ :t he set of parameter{ {t he set of common parameter} {t he set of optional parameter} } :t he set of precondition{ …} :t he set of effect { ·14 · 智 能 系 统 学 报 第 2 卷