第3期 张万鹏,等:一种利用工作流模型的分层任务网络规划领域建模方法 ·241· 程内部形成串联或并联的行动序列.在图形化的表 号;task(m)为非原子任务;文字集合precond(m)为 达中,“转移”即是2个表达行动的节点之间的连 方法m的前提条件;network(m)为一任务网络,该 接.此外,在过程元模型中,还有一种称为路由行动 任务网络中的任务是方法m的子任务 (route activities)的特殊行动,这类行动被用于确定 4)STN规划领域:STN的规划领域是一序对: 过程中行动流程的路径.一个行动也可以是一个子 D=(O,M),其中O为动作集合,M为方法集合. 流程(subflow),也称为行动集(activityset),它可以 5)STN规划问题:STN的规划问题是一个4元 作为一个子过程(单独定义的)执行的容器.通道 组:P=(s,ω,0,M),其中:s为初始状态,0是任 (lanes)在过程元模型中对行动进行组织和分类,常 务网络,通常称为初始任务网络,D=(O,M)为STN 常被用于指定执行行动的角色、部门等.过程元模型 规划领域 采取了标准的数据类型(字符、整型、实型、日期型 此外,在HTN规划领域建模中,类型(tyes)、常 等),并允许用户自定义数据字段(data field)和扩展 量(constants)、谓词(predicates)、函数(functions)、行 属性(extended attributes). 动(actions)的定义与经典规划相同.同时在描述规划 工作流模式作为一种通用的结构,用于表达流 问题时,还需要定义规划问题所涉及的对象(b 程中常用的任务/行动间的关系,它们常常被嵌套于 jects). 流程中以形成完整的流程模型].文献[7]中共给 通过上述对工作流过程元模型和HTN规划领域 出了15类工作流模式,对规划的领域建模而言,并 模型的分析,可以看出二者具有很强的相似性(表 不需要所有的工作流模式.G-Ferrer等人I4的研究 1).其中,HTN规划领域模型中的任务对应于工作流 中给出了顺序(sequence)、并行(parallel split)、选择 模型中的过程,用于表征规划的任务列表;二者的行 (exclusive choice)和合并(simple merge)4种用于规 动模型均可用于表征完成任务所需要的底层行动: 划领域建模的工作流模式, TN规划中的对象对应于工作流模型中的参与者/ 在众多AI规划技术的分支中,分层任务网络 通道,用于对行动的执行者进行组织;子任务和子流 规划由于其推理能力和对经验知识的有效表达,在 程相对应,用于表征组成上层任务/流程的任务/流 实际中得到了广泛的应用.HTN规划的领域建模本 程;方法和工作流模式对应,用于表征流程和任务的 质上是对过程的建模,可以指定参数化的过程描述, 分解方式。 这些过程通过规划器的作用组合并实例化,以生成 表1工作流模型与TN规划领域模型比较 Table 1 Workflow model and HIN domain model 满足给定目标的计划. 为了描述的方便和不失一般性,采用Ghallab 工作流模型 HTN规划领域模型 等人给出的一种简化版本的HTN规划,即简单任务 工作流过程(process) 任务(task) 网络(simple task network,STN)规划I说明HTN规 行动(activity) 行动(action) 划领域建模所需的要素. 参与者/通道(participant/lane)) 对象(objects) 1)任务(task):一个任务是形如t(T1,2,…,) 子流程(subflow) 子任务(subtask) 工作流模式(workflow patterns) 方法(methods) 的表达式,其中t为一任务符号,1,「2,…,”k为项.如 果t是一操作符号,则任务t为原子任务;否则任务t 为非原子任务。 2 模型转换 2)任务网络(task network):一个简单任务网络 工作流模型向HTN规划领域模型的转换主要包 (或者简称任务网络)为一无环图ω=(U,E),其 括2个方面,一是将工作流行动转换为规划行动:二 中U为节点集合,E为边的集合.对每一节点u∈U, 是将工作流模式转换为组合任务(composed tasks)的 均包含一任务t.,图ω中的边定义了U中节点的部 分解方法 分序关系,即u<v当且仅当存在一条从节点u到节 2.1行动的转换 点v的路径, 规划领域的行动一般由3部分组成:行动名和参 3)方法(method):一个STN方法是一个4元组: 数表、行动的前提与行动的结果.在工作流模型中,行 m =(name(m ),task(m),precond(m ),network (m)). 动名和参数可以直接表达,而行动的前提和结果一般 式中:name(m)为方法的名字,是形如n(1,x2,…, 通过行动的规则来描述.规则由2部分组成:1)前提 x)的语法表达式,这里n为惟一的方法符号,x1,2, (if rules):行动执行的条件,也就是说行动在什么情 …,x。是所有能在方法m,中任意地方出现的变量符 况下能够执行;2)结果(then rules):行动执行后对状