《武汉工程大学学报》  2017年04期 378-386   出版日期:2017-10-14   ISSN:1674-2869   CN:42-1779/TQ
异构Agent协作的研究进展


多Agent系统(multi-agent systems,MAS)是由多个Agent组成,通过各Agent间相互协作,形成拥有丰富知识库和强大功能的系统[1]. 在该系统中,为完成一个共同全局目标,各Agent之间相互合作、协调、共享知识和资源并最终解决问题. 同构Agent系统(homogeneous multi-agent systems)是由多个具有相同行为能力、相同组织结构的Agent组成;而异构Agent系统[2](heterogeneous multi-agent systems)则是由多个具有相似或不同行为能力的、相互独立的Agent组成,它们之间存在可以相互理解和协作的接口,根据一定的逻辑关系进行协作和资源共享. 由于各个系统间的数据是动态、异构、有限的数据共享,因此实现不同系统间协作显得格外重要. 面向异构Agent的协作技术,是MAS研究亟待解决的问题之一. 在一些典型的多Agent研究领域中,比如智能机器人足球大赛[3]、医疗机构中基于无人驾驶小车(AGV)的医疗垃圾运输问题[4]以及股票投资决策[5]等领域,复杂、动态变化的环境都要求Agent为完成任务而必须采取协作行为,即把多个Agent看做一个团体,通过建立多Agent之间合作、协调、通信等机制来提高整个系统效率和性能. 异构Agent由于组织结构、行为能力的不同能够弥补在完成任务时同构Agent的不足,降低系统的构建成本,提高Agent的使用效率. Agent协作是指多Agent间协作、保持一致性以及联合行动的过程. 一致性意味着团体中的多Agent是作为一个整体行动而不是某个Agent的个体行为. MAS环境从封闭到开放,从可预知到不确定的变化,导致Agent协作经历了从同构Agent协作到异构Agent协作、从静态协作到动态协作的过程,这种变化趋势对当前Agent协作模型提出了新的难题和挑战. 笔者针对MAS面临的变化和挑战,首先在介绍多Agent协作的研究背景以及国内外研究现状的基础上,对MAS理论和协作机制分别进行了分类和总结;然后,在研究多Agent协作框架的基础上,总结了当前最具代表性的几种多Agent协作模型,阐述其特点并进行比较,突出了承诺模型在异构Agent协作性能上的优势;最后,介绍了异构Agent协作模型的具体应用,在分析当前承诺模型性能的基础上,提出了当前Agent承诺模型的不足与改进方向. 1 异构Agent相关理论概述 1.1 异构Agent系统协作机制 与同构Agent相比,异构Agent由于组织结构、行为能力的不同,能够弥补在完成任务时同构Agent的不足,降低系统的构建成本,提高Agent的使用效率;同时在当前网络信息量急剧增长的情况下,由于不同系统间数据共享非常有限,因此迫切需要异构Agent系统来加速系统间信息的传递和共享[6]. 当前异构Agent协作解决的问题主要是集中在承诺、规划、协商和学习这四个方面,它们共同作用于Agent协作的整个过程. 承诺是保证Agent完成接受任务的一种机制. 在一个MAS中,每一个Agent仅仅拥有其它Agent行为的部分知识[7]. 所以,为使各主体之间协调合作,系统中的每个Agent内部需要建立起一种机制去解决由于只知道部分Agent的知识库而影响到它们之间协作的问题. 当Agent承诺某个活动时,它实际上就保证了实现整个活动需要的全部资源. 若Agent执行一个特定的动作,那么在环境不发生改变的情况下,它将努力遵循这一保证. 可以看出,承诺机制是各Agent之间相互协调、合作和通讯的必要保证,它确保Agent拥有足够的能力完成它所承诺的任务. 规划是Agent进行决策的主要途径,它是控制Agent执行动作的基础. Agent通过推理从而产生实现目标的有效动作. 在规划的经典理论中,Agent拥有自己的领域知识,它可以描述目标状态、环境状态和已知的自身动作集合. Agent会通过一种特定方法执行一个动作序列,当该动作序列完成之后会达到设定的最终目标状态,这就是Agent的规划过程. 多Agent规划可以分为集中式规划和分布式规划两种,当选择好规划方式之后,就需要解决规划算法和规划冲突这两个核心问题. 协商过程需要进行信息的交换处理,从而使整个系统的行为保持一致,其目的是解决在多Agent协作的过程中发生的冲突问题. 传统的协商是基于纳什的平衡理论,当然也可以通过引入Agent对象的偏好来进行协商. 根据已有的协商理论,可以将协商过程概括为三个部分,即协商协议、协商策略和协商处理[8]. 协商协议是Agent通信交流的基础,它可以规范协商双方的数据表示;协商决策可支撑Agent内部协商交互处理过程,目的是产生协商结果;协商处理包含协商交互分析,以及关于对结果一致性的认可. 协商过程的三个部分将决定Agent协商的能力强弱,也是协商方法的核心内容. 学习是在Agent完成任务的基础上进行归纳和自优化的过程[9]. 而机器学习(machine learning)是提高Agent智力的有效方法,从连接主义的角度可分为非监督学习、监督学习和强化学习三种. 而强化学习方法则是其中一种非常重要的机器学习方法. 在协作Agent之间,强化学习主要是采用交换方式,如交换状态、交换策略、交换经验以及建议等方式进行学习. 但由于学习方法的复杂性,其需要大量的记忆空间以及复杂的逻辑推理,因此使得其在实际应用中具有很大局限性. 1.2 异构Agent协作框架 异构Agent协作体系主要采用混合式结构,即集中式和分布式的混合组合. 它分为3个层次,即交互层、管理执行层和资源层,每一层至少含有一个或多个Agent,这些Agent会根据自身能力来完成各自承担的任务. 基于异构Agent协作的体系结构如图1所示,它由多种具有不同功能的Agent组成. 在交互层,交互Agent主要负责与用户进行交互并将用户发送的请求转化为系统可以识别的指令,并将其发送给管理执行层. 在管理执行层,管理协作Agent统一管理和调用所有执行Agent,然后将任务分配给不同的Agent. 当管理协作Agent接收到来自用户的任务请求后,首先会对其进行逐步分解,然后将分解后的子任务分配给相应的执行Agent来执行. 在资源层,主要是为管理执行层提供相对应的数据服务功能,并对执行过程中产生的新知识、新数据进行分类保存,实时更新相应数据库,相当于一个本地知识库. 当管理执行层Agent需要某数据服务时,可从资源层调用,当执行完某任务后,也可将执行过程中产生的新数据存储到资源层,以便下次调用. 参考异构Agent协作框架[10],以及交互层、管理执行层与资源层三层之间的交互可以看到异构Agent协作包含以下特征: 1)每一个Agent都呈模块化结构,方便研究人员独立开发和设计,它们可以根据环境变化迅速做出反应,并可以根据需要灵活增减Agent的数量; 2)Agent之间相互独立,一个Agent失效不会对其它Agent产生影响; 3)数据服务Agent会对新到来的数据进行分类和存储,有助于系统学习新的知识并优化自身模型,丰富系统知识库; 4)每一个Agent都可以使用自身的知识库独立解决问题,从而提高整个系统解决问题的效率. 2 异构Agent协作研究及其进展 2.1 异构Agent协作的研究方向 当前关于异构Agent协作的研究主要分为两种研究方向. 一种是借鉴其他领域研究协作的技术和方法(如马尔可夫模型,遗传算法,博弈论等)应用于Agent协作研究中[11]. 以马尔可夫模型[12]为例,它通常被认为是快速精确实现语音识别的最好方法之一,其复杂的语音识别问题可通过隐含马尔可夫模型简单地描述与解决. 然而这种方法所运用的各种理论主要适用于语音识别、音字转换和词性标注,适用范围较小,一旦环境复杂度上升,学习周期将变得很长,很难发挥作用. 另一种是从Agent的信念(belief)、期望(desire)、意图(intention)(即BDI)等方面出发来研究多Agent之间的协作[13-14],这种方法从逻辑论的角度,注重分析Agent的目标、能力以及需求. 在共享计划理论[15]方面,这种协调方法是以BDI理论作为基础,采用人工智能领域中的符号推理,通过建立相对完整的符号体系进行知识推理,因而使Agent具有自主思考、决策和协调的能力. 此方法的适用范围较前者更加广泛,侧重于问题的规划与求解. 在当前人工智能领域尤其是自适应系统方面,基于BDI的推理模型有非常广泛的应用. 由于这种方法从逻辑角度出发,注重分析Agent的目标、能力、需求以及环境变化,具有开放性和动态性,因此,也成为近年来Agent协作研究的热门方向. 2.2 异构Agent协作研究进展 随着Agent系统环境从封闭到开放,从可预知到不确定变化,导致Agent协作经历了从静态到动态交互,从同构到异构变化的过程. 1)从静态到动态交互. 早期的Agent协作研究认为Agent之间不会产生冲突,因为Agent被认为是唯一的,可兼容的个体. 随着Agent技术发展的愈加深入,需要Agent能够在有目标冲突的情况下,通过Agent之间的不断交互,以此逐步协调Agent与环境之间的关系及各自行为,从而达到共同的目标. 于是Rosenschein[16]在其博士论文中深入研究目标冲突下的Agent交互过程,应用博弈论建立了理性Agent静态交互模型,奠定了解决多Agent协作问题的基础. 近年来,由于现实世界的开放性和动态性,传统的Agent静态交互模型已经不能满足研究需要. Hewitt等人[17]指出系统的协作应该是开放和动态的,并在此基础上提出了开放分布式人工智能系统思想,即Agent的动态交互思想. 而后来的研究在协作求解方面提出了一些Agent协作模型,比如:联合意图模型、联合承诺模型,共同计划模型等[2]. 随后在对协作问题的研究中,又将MAS间主要协作模型分为:黑板模型[18-19]、合同网模型[20]、关系网模型[21]、熟人模型[22]. 之后在此基础上将Agent协作与语义技术相结合,进一步提出承诺模型[23]的概念. 关于承诺模型的研究也是当前Agent协作领域最新的研究方向之一. 2)从同构到异构变化. 随着网络技术的迅速发展,研究适应于互联网的异构Agent技术和协作模型逐渐成为MAS领域的热点[24]. 一方面,有关开放环境下的Agent语言、交互协议、体系结构等标准和规范不断被提出;另一方面,由于Internet的动态开放等特性,传统的各种协作技术和协作模型也在进行修改和扩展,使之能适用于互联网环境. 与此同时,MAS与其它新兴网络技术的密切结合日益成为一种新的发展趋势. 语义Web技术、自治计算技术、面向服务的计算技术、网格计算、P2P计算等新兴计算技术已经引起国内外学术界的广泛关注. 在最近几年里,开放环境下异构Agent协作发展趋势是Agent技术与语义技术的结合[25-28],目前语义技术的核心就是使用本体论中的概念、属性和关系给出一个机器可理解的明确的规范说明,从而通过Agent团队管理和协作求解来促进和管理异构Agent的协作. 而承诺模型[29-31]是异构Agent协作与语义技术结合的最具代表性模型之一,也是当前异构Agent协作研究的重点. 2012年,Singh和Telang[32-34]从语义学(semantics)的角度将目标(goal)和承诺(commitment)结合起来,提出了承诺的生命周期理论,并从语义学上定义了Agent的目标和承诺,同时定义了一系列基于承诺的推理规则. 2013年,Meneguzzi[35-36]在Telang的承诺理论基础上提出了基于承诺和目标的一阶线性表达式,并使用HTN(hierarchical task networks,HTN)来描述如何将一个等级较高的任务分解成一个个小的、离散的任务,并生成解决方案的过程. 2014年,Akin Gunay[37]在结合Telang和Singh关于Agent承诺研究的基础上进一步简化了承诺的生命周期模型,并提出了在开放系统中动态生成承诺协议的实现方法. 2015年,Matteo Baldoni[38]在JaCaMo (一种Agent程序设计框架) 开发平台的基础上提出了JaCaMo+,并从程序设计的角度阐述了如何动态生成Agent承诺和目标的过程. 3  多Agent协作模型比较 3.1 多Agent协作模型 比较具有代表性的Agent协作模型主要包括:黑板模型、合同网模型、关系网模型和熟人模型. 后来的很多研究在此基础上做了补充和扩展,进一步提出承诺模型[39]的概念. Erman等人在1980年首次提出了黑板模型[40]. 基于黑板模型的MAS包括Agent,黑板和网络三个部分. 黑板是Agent之间交互的中介,Agent通过黑板与其它Agent进行交互并完成协作过程,而Agent之间的通讯则是靠网络实现的,通常是TCP/IP协议. 其体系结构比较简单,容易理解,重点是规范黑板消息格式. 黑板模型的不足之处在于结构单一,集中式交互使得黑板开销过大,交互方式缺乏灵活性. Davis和R.G Smith提出合同网模型[20],该模型是协商模型最典型的代表,其源自于社会生产生活,它仿照企业合同模式,以满足全局最大利益为目标. 在合同网中主要包括三种对象:管理者、投标者以及合同者. 其整个过程类似于工程的招标和投标行为,管理者首先发布需求,而若干个有能力完成任务的Agent成为投标者,最终中标者将成为合同签订者,从而建立简单的合作关系. 在合同签订结束后签订者要向管理者反馈其执行结果,然后管理者进行审查,若审查通过,则给出终止信息,合同网协议过程便会停止. 该模型以及相关扩展模型[41-43]可解决任务分配及资源冲突问题. 合同网的不足在于以广播方式招标且所有Agent均可投标,通信负载大,系统效率不高. Jennings和Roda提出熟人模型[44],这种模型以人类合作习惯与合作机制为范本, 设计了一个模型表示Agent自身的信息,该方法使用一个熟人模型来专门表示其他Agent的能力和资源方面的信息. 若需要确定协作对象,它首先会先对各熟人活动进行评估,然后从中选择最适合的合作对象. 熟人模型的不足在于增加了在本地建立和维护熟人模型所带来的系统资源开销. 陈刚和陈汝玲为解决多Agent系统协作中通信和资源开销问题提出了关系网模型[21]. 关系网模型不需要创建专门的中间协调Agent或熟人模型来记录所有Agent通讯信息,可有效降低系统资源开销. 熟人关系网中的每一个Agent结点只需在内部创建并维护一个最近访问频率较高的熟人通讯录,限定通讯录的容量(比如只记录几十条熟人信息). 关系网模型的不足之处在于对个体信息处理和存储能力的要求很高,且信任度的设置具有主观性. Cohen和Levesque从意图(intention)和目标(goal)的角度提出了Agent承诺(commitment)的概念[45]. 国内学者张伟、石纯一则在此基础上提出Agent的组织承诺和小组承诺[46],进一步推广了Jennings和Ferber等人对Agent组织的研究. 在上一节中阐述了Agent承诺机制的基本概念,它是各Agent之间相互协调、合作和通讯的必要保证,确保Agent拥有足够的能力完成它所承诺的任务. Agent对一个意图应该承诺多少既取决于最大期待值,又取决于最小风险值. 通过比较各Agent的承诺值,选取最合适的Agent对象进行协作,既保证了任务完成的可靠性也提高了Agent的使用效率. 承诺模型的研究难点在于由任务本身的不确定以及Agent规划过程的不确定导致承诺的不确定性. 3.2 协作模型的特点及比较 从以上对多Agent协作机制及相应模型的研究中可以看出:一个高效的Agent协作模型应该具有以下5个基本特点: 1)健壮性和容错性. 健壮性是指团队具有故障弱化的能力,即团队中某个个体任务的失败不会影响整体行为;容错性是指团队应具有检测和弥补这部分失败的能力. 2)实时反应性. 复杂动态、不确定性的环境要求Agent能在环境的动态变化中进行及时、快速的反应. 3)灵活性. 这里的灵活性包括三个方面:a)协作模型的适应性;b)协作模型的可重用性;c)协作模型的可扩展性. 4)持久稳定性. 许多Agent环境都要求Agent和Agent团队具有持久稳定性,即它能够长时间的稳定的运行. 5)动态性和异构性. 动态性是指Agent可在动态、开放环境下运行;异构性是指不同的Agent可以拥有不同的能力或组织结构. 如果将Agent性能的量化等级分为5级:极差、较差、一般、较好、极好,则上述5种模型在多Agent协作模型性能方面的比较如表1所示. 1)黑板模型:集中式交互导致一旦黑板共享资源发生未知错误,整个Agent系统都会崩溃,健壮性较差. 集中式交互使得各Agent能及时将主体信息发布到黑板上,实时反应性较好. 2)合同网模型:各Agent间通过招标-投标-中标方式协作,部分Agent故障不会影响全局,健壮性较好. 以广播方式招标且所有Agent均可投标,导致通信负载大,实时反应性较差. 3)熟人模型:使用熟人模型集中对各Agent进行评估,一旦熟人模型评估出现错误将影响全局,健壮性较差. 采用集中式评估避免通信负载过大,实时反应性较好. 4)关系网模型:分布式管理使得部分Agent关系异常不会影响整个关系网,健壮性较好. 个体Agent具有信息处理能力,可同时进行多个Agent协作过程,实时反应性较好. 5)承诺模型:通过Agent之间的社会承诺,确保Agent拥有足够的能力完成它所承诺的任务,减少任务失败率,健壮性较好. 以承诺度作为选择合作Agent的标准,提高了Agent使用效率和任务的完成效率,实时反应性较好. 由上述比较可以看出,在健壮性方面,由于承诺模型通过Agent之间相互承诺,确保Agent有能力完成它所承诺的任务,因而任务完成率较高,健壮性较好;在反应性和灵活性方面,由于承诺模型中,Agent之间可以进行分布式交互,即不需要中央管理器的控制,因此灵活性较好,Agent之间信息交互可以不经过中央管理器,因此所占资源较少,实时反应性更强;在动态性和异构性方面,当外界环境动态发生改变时,各异构Agent之间会根据当前环境动态生成承诺协议,即完成整个任务的所有步骤,在生成的多个承诺协议中,根据最大效用值选择最优协议,并顺序执行. 若当前环境再次发生改变,则会使已生成的协议失效,并重新生成新的协议. 由此可以看出承诺模型在异构Agent中具有较好的动态性和自适应性. 4 异构Agent协作模型应用 异构Agent协作模型具有非常广泛的应用,基于Action的协作模型主要应用在仿真机器人领域[47];基于学习和规划的协作模型可以应用在金融学、生物学、数学、自动化等协作决策领域[48]以及虚拟现实领域[49]中. 4.1 异构模型在智能足球机器人中的应用 制造和训练机器人使其仿照人类进行足球比赛,是当前人工智能和机器人领域研究热点之一[47]. 比赛通常是在仿真环境下进行,而仿真平台的设计充分体现了智能机器人在通讯、传感等方面的限制,以及环境的开放性与不确定性. 在2D仿真机器人组中,足球比赛是在仿真环境下完成. 其中包括Agent之间交互、协商、合作、实时规划与决策的过程. 在仿真机器人球队中主要有两种类型的Agent,即守门员Agent和球员Agent. 由于各自分配的任务不同,它们的功能也不相同,因而整个协作过程就是异构多Agent协作、决策、规划的动态过程. 当前的机器人仿真组具有以下几个特点: 1)复杂性. 队员没有完整的外界环境信息; 2)不确定性. 有一定几率会发生队员执行任务失败的情况; 3)动态性. 每一个队员可以独立行动,而且对手可以随时出现或消失; 4)对抗性. 对手的存在意味着在执行任务时会受到更多的阻碍; 5)不可靠通信环境. 由于低带宽所造成的通讯延迟或中断,导致比赛过程受阻. 从上述特点可以看出,机器人足球是一个相对复杂的领域,它需要Agent之间能够实时交互和协作,动态规划和实时决策,进而克服复杂的,动态的,不确定的环境影响,以及通讯和传感等方面的限制. 4.2 异构模型在市场投资决策中的应用 市场决策Agent[48]是用于模拟市场运行机制、拍卖策略以及供给产业链管理等的一种概念模型,可有效协助人类进行智能决策. 这种Agent协作过程与同构Agent协作不同,因为它产生贸易信息的方式通常是由多个异构Agent实现的. 在整个市场投资协同决策中,主要有两类Agent,一类是自演化决策Agent,另一类是协作决策Agent. 自演化Agent拥有自优化的计算能力,它们能基于当前给定的最优化目标寻找最优策略. 整个搜索过程包括发出最优化请求,创建候选决策,评估候选决策,候选决策间的交互,改变候选决策,重新评估候选决策和最优化决策的过滤. 协作Agent在整个任务求解过程中用于与自演化Agent协商和协调以寻找局部最优决策. 在必要条件下协作Agent会和自演化Agent团体协商多个回合以寻找每个自演化Agent的局部最优化决策,接下来将这些局部最优决策整合生成一个全局最优目标. 协同决策系统多用于股票投资市场,通过收集多个股票市场近几年股票价格的走势以及在每个交易点用户做过的最佳决策,对自演化Agent进行最优化训练. 比如,收集近5年的股市信息,其中3年用于Agent自演化训练,另外两年用于测试Agent自演化训练的结果. 整个决策过程包括: 1)数据管理Agent准备测试数据,一部分用于Agent自演化过程,另一部分则用于自演化结果的测试. 2)自演化Agent寻找自身局部最优决策,保存在自己知识库中,同时过滤掉相对较差的决策. 这个过程是一直迭代进行的,既发生在演化学习阶段,也发生在测试阶段. 3)协作Agent提取每个自演化Agent存储的最优化决策,整合生成一个全局最优决策,最终做出合理投资决策. 4.3 异构模型在虚拟团队训练中的应用 在现实生活中,团队任务无处不在,复杂的任务通常需要多个不同角色协作来完成[49]. 每一个角色必须能够熟悉自己的任务、职责并且学习如何在团队中和队友进行协调. 然而由于训练设备在通常情况下很难获得或者代价昂贵等问题,这种训练条件往往难以达到,因此虚拟团队训练产生了. 它通过虚拟现实技术,创造出一个3D的,虚拟训练者与被训练者之间交互的仿真环境. 而异构模型就被应用到这个仿真环境中,通过Agent与受训者之间的交互,保证受训者的学习效率并控制学习成本. 在仿真环境下,虚拟团队由Agent和受训者组成. 在团队中每一个成员都会被分配给一个特定的角色,当然也包括Agent在内,每一个受训者都会分配一个Agent训练者. 通过在虚拟环境下Agent充当训练者的过程,可以在缺少真人教练的情况下对受训者进行仿真训练. 整个虚拟环境具有开放性、动态性的特点,训练者与Agent之间也会进行人机交互,而其中环境的变化,人对Agent做出动作的不确定性,都会使整个环境的状态变得无法预测. 因此虚拟训练向Agent协作研究提出新要求,即如何在动态、未知环境下,实现人机之间友好交互,并能实时处理突发情况. 5 结 语 多Agent系统(MAS)是分布式人工智能领域一个热门的研究方向,其理论研究和相关技术在社会各个领域得到广泛应用. 在异构Agent系统应用中,面对复杂、动态变化的网络和社会环境,如何构建高效、灵活、反应速度快的协作模型,是多Agent协作系统必须解决的难点问题. 在分析异构Agent协作的研究背景及国内外研究现状的基础上,对异构Agent理论和协作机制分别进行了概述. 在介绍Agent协作框架的基础上,总结了当前最具代表性的几种Agent协作模型,阐述其特点并进行对比,突出了承诺模型在异构Agent协作性能中的优势. 最后介绍了Agent协作模型在不同领域的应用,并提出当前承诺模型的不足与改进方向. 在当前异构Agent协作的研究中,环境的开放性和不确定性是构建协作模型的难题,因此,需要一种能将这种不确定信息考虑进去的表示方法. Agent承诺模型能够较好解决由于环境不确定导致任务完成率不高以及Agent异构等问题[50-51]. 然而,目前关于Agent承诺的生成大多停留在手工预设和创建阶段[52-53]. 这种创建模式有以下不足:1)Agent发生改变. 在开放系统中,新的Agent随时可能进入系统,不能保证新的Agent会使用该系统中原有Agent使用的协议;2)环境发生改变. 当环境发生改变时,某些原有的Agent服务可能无法执行,从而导致当前Agent承诺协议失效;3)Agent的优先项发生改变. 由于Agent自身资源占用问题,可能会出现暂时资源不足无法完成任务的情形,这时原有的承诺协议便失去作用,因此如何在开放环境下动态地生成Agent承诺是一个亟待解决的问题.