1、第 9 章 智能体与多智能体系统,教材: 王万良人工智能导论(第3版) 高等教育出版社,第9章 智能体与多智能体系统,随着计算机网络和信息技术的发展,智能体技术得到广泛应用。多智能不仅具备自身的问题求解能力和行为目标,而且能够相互协作,来达到共同的整体目标。因此,能够解决现实中广泛存在的复杂的大规模问题。本章在介绍智能体与多智能体系统概念的基础上,简要介绍多智能体系统中的通信、协作、协调等基本技术。,2,第9章 智能体与多智能体系统,9.1 智能体的概念与结构 9.2 多智能体系统的概念与结构 9.3 多智能体系统的通信9.4 多智能体系统的协调9.5 多智能体系统的协作9.6 多智能体系统的
2、协商,3,9.1 智能体的概念与结构 9.2 多智能体系统的概念与结构9.3 多智能体系统的通信9.4 多智能体系统的协调9.5 多智能体系统的协作9.6 多智能体系统的协商,第9章 智能体与多智能体系统,4,9.1 智能体的概念与结构,9.1.1 智能体的概念,Agent可以看做是一个程序或者一个实体,它嵌入在环境中,通过传感器(sensors)感知环境,通过效应器(effectors)自治地作用于环境并满足设计要求。,Agent与环境的交互作用,5,9.1.2 智能体的特性,(1)自主性:Agent具有独立的局部于自身的知识和知识处理方法,能够根据其内部状态和感知到的环境信息自主决定和控制
3、自身的状态和行为。(2)反应性:Agent能够感知、影响环境。Agent的行为是为了实现自身内在的目标,在某些情况下,Agent能够采取主动的行为,改变周围的环境,以实现自身的目标。(3)社会性:很多Agent同时存在,形成多智能体系统,模拟社会性的群体。Agent具有和外部环境中其它Agent相互协作的能力,在遇到冲突时能够通过协商来解决问题。(4)进化性:Agent应该能够在交互过程中逐步适应环境,自主学习,自主进化。,9.1 智能体的概念与结构,6,9.1.3 智能体的结构,Agent结构接受传感器的输入,然后运行Agent程序,并把执行的结果传送到效应器进行动作。Agent系统的结构直
4、接影响到系统的性能。 Agent、体系结构和程序之间的关系:Agent=体系结构+程序,9.1 智能体的概念与结构,7,9.1.3 智能体的结构,Agent结构需要解决以下问题:(1)Agent由哪些模块组成;(2)这些模块之间如何交互信息;(3)Agent感知的信息如何影响它的行为和内部状态;(4)如何将这些模块用软件或硬件的方式组合起来形成一个有机的整体。单个Agent的结构按属性可以分为:反应式体系结构、慎思式体系结构和混合式体系结构。,9.1 智能体的概念与结构,8,9.1.4 反应式Agent反应式Agent是一种具备对当时处境的实时反应能力的Agent。,9.1 智能体的概念与结构
5、,9,9.1.5 慎思式Agent慎思式Agent是一种基于知识的系统,包括环境描述和丰富的智能行为的逻辑推理能力。,9.1 智能体的概念与结构,10,9.1.6 复合式Agent 复合式Agent是在一个Agent内组合多种相对独立和并行执行的智能形态,其结构包括感知、动作、反应、建模、规划、通信和决策等模块 。,9.1 智能体的概念与结构,11,9.1.7 Agent的应用,(1)电信。利用Agent的特性解决复杂系统和网络管理方面的任务,包括负载均衡、故障预测、问题分析和信息综合等。(2)兴趣匹配。Agent更多应用于商业网站向用户提供建议。(3)用户助理。用Agent协助用户更好地完成
6、特定的任务。(4)组织结构。由多个Agent构造一个类似于人类组织的系统,不同的Agent代表着系统内的不同角色,通过这些Agent之间的通信和协作来完成具体的任务。目前主要应用于电子商务。(5)智能信息检索。Agent可以通过利用相关知识检索一些特定信息。,9.1 智能体的概念与结构,12,9.1.7 Agent的应用,(6)决策支持系统。Agent能够监控系统的一些关键信息,在系统可能出现问题的时候,警告相应的操作员,并在数据挖掘技术和决策支持模型的协助下,为复杂的决策提供有效的支持。(7)移动计算。Agent能为移动应用提供自然有效且稳定的离线计算模式,在移动用户再次连上网络之后再把结果
7、反馈给用户。(8)远程教育。Agent作为虚拟教师、虚拟学习伙伴、虚拟实验设备、虚拟图书管理员等,实现虚拟的教学、练习和实验环节等。(9)数字娱乐。如在个性化的节目中插入点播服务;在游戏、动画中进行更加人性化的角色设计。,9.1 智能体的概念与结构,13,9.1 智能体的概念与结构9.2多智能体系统的概念与结构9.3 多智能体系统的通信9.4 多智能体系统的协调9.5 多智能体系统的协作9.6 多智能体系统的协商,第9章 智能体与多智能体系统,14,9.2 多智能体系统的概念与结构,9.2.1 多智能体系统的特点,MAS中每个智能体具有独立性和自主性。MAS支持分布式应用,具有良好的模块性。M
8、AS按面向对象的方法构造多层次、多元化的智能体。MAS是一个协调式的系统,也是一个集成系统。在MAS中,智能体之间相互通讯,彼此协调,并行地求解问题,提高了问题求解效率。同一个MAS中各个智能体可以是异构的。在MAS中,不同领域的专家系统、同一领域不同的专家系统可以协作求解单一专家系统难以解决的问题。,15,9.2 多智能体系统的概念与结构,9.2.2 多智能体系统的基本类型,BDI模型:是一个概念和逻辑上的理论模型,是研究Agent理性和推理机制的基础。协商模型:Agent的协作行为一般通过协商而产生。合同网协议就是协商模型的典型代表,主要解决任务分配、资源冲突和知识冲突等问题。协作规划模型
9、:用于制订其协调一致的问题规划。自协调模型:随环境变化自适应地调整行为。,16,9.2 多智能体系统的概念与结构,9.2.3多智能体系统的体系结构,网络结构: Agent之间都是直接通信的,通信和状态知识都是固定的。联盟结构:若干相距较近的Agent通过一个叫做协助者的Agent来进行交互,而远程Agent之间的交互和消息发送是由局部Agent群体的协助者Agent协作完成的。黑板结构:黑板结构中的局部Agent把信息存放在可存取的黑板上,实现局部数据共享。,17,9.1 智能体的概念与结构9.2 多智能体系统的概念与结构9.3 多智能体系统的通信9.4 多智能体系统的协调9.5 多智能体系统
10、的协作9.6 多智能体系统的协商,第9章 智能体与多智能体系统,18,9.3 多智能体系统的通信,两个Agent之间的通信过程如下:,发送方将自己的思想翻译成通信所用语言的格式;发送方将语言格式加载到通信传播媒体,如声音、文字和图像;传播载体到达接收方;接收方读取载体中的语言代码;接收方在思维空间中将语言代码按其格式翻译为思想,从而熟悉发送方的意识状态。,19,9.3.1 智能体通信的类型,使用Tell和Ask通信:Agent分享共同内部表示语言,并通过界面Tell和Ask直接访问相互的知识库。,20,9.3.1 智能体通信的类型,使用形式语言通信 :大多数Agent的通信是通过语言而不是通过
11、直接访问知识库而实现的。,21,9.3.2 Agent通信的方式,1. 黑板系统,黑板系统的模型有三个主要组成部分: 知识源,即Agent,是作为求解问题的独立单元,具有不同的专门知识,独立完成特定的任务。 黑板,即公共工作区,为知识源提供信息和数据,同时,供知识源进行修改。 监控机制。根据黑板当前的问题求解状态,以及各知识源的不同求解能力,对其进行监控,使之能适时相应黑板变化,及时进行问题求解。,22,9.3.2 Agent通信的方式,2. 消息/对话系统,有如下两种方式来实现Agent间的消息传递: 直接通信方式:每个Agent必须知道消息在什么时候发送到什么地方,系统中有哪些Agent可
12、以合作,这些Agent各具备什么样的能力等。这要求系统中的每个Agent都拥有其他Agent的信息。 中介的通信:在基于中介的消息传送中,若干相距较近的Agent通过通信服务器来进行交互和消息发送,而远程Agent之间的交互是由局部群体中的通信服务器协作完成的。,23,9.3.3智能体通信语言,1. 知识交换格式语言KIF主要是基于谓词逻辑,可以作为描述专家系统、数据库、多智能体的知识表示工具。KIF负责将一种语言翻译成另一种语言,或者为两种异构智能体的知识表达提供语义共享。可共享重用知识则是一个词汇表,它可以使可共享知识库的内容更容易被理解,同时也为特定的领域提供开发工具和方法。外部接口主要
13、设计软件智能体运行时能够共享知识和信息的通信高层语言KQML,即知识查询操纵语言。KQML是自主的异步智能体之间共享知识和实现协作问题求解的通信语言。KQML既是一种消息格式,也是支持实时智能体之间知识共享的消息处理协议,实现基于知识的异构系统之间互操作和集成。,24,9.3.3智能体通信语言,在实际应用中,软件实体之间的互操作和知识共享是应用程序作为软件智能体的重要基础,甚至是必不可少的先决条件。互操作软件智能体的抽象模型。,25,9.3.3智能体通信语言,2. 知识查询操纵语言KQMLKQML为多智能体通信定义了一套消息表达机制和消息传递格式,构建了一种标准通用框架。KQML分为3层:内容
14、层、消息层和通信层。内容层使用应用程序本身的表达语言来传送消息的实际内容。通信层主要负责对消息的某些特性进行编码,这些特性描述了底层通信参数,例如发送者和接收者的标识符。消息层是整个KQML语言的核心。将一条消息从一个应用程序传送到另一个应用程序时,消息层完成对所传送信息的封装。消息层的一个最基本功能是识别传输消息发送时所使用的协议,并且给消息发送者提供一个附加在内容上的述行语或原语。KQML语言在内容不可知的情况下实现对消息的分析、路由和正确的传送。,26,9.3.3智能体通信语言,KQML语言中有多种在进程之间进行信息交换的协议。,27,9.1 智能体的概念与结构9.2 多智能体系统的概念
15、与结构9.3 多智能体系统的通信9.4 多智能体系统的协调9.5 多智能体系统的协作9.6 多智能体系统的协商,第9章 智能体与多智能体系统,28,9.4 多智能体系统的协调,协调和协作是MAS研究的核心问题之一,是一个系统智能水平的重要体现。协调是一组Agent完成集体活动时相互作用的性质。协作是非对抗的Agent之间保持行为协调的特例。MAS中的协调是指多个Agent为了一致和谐的方式工作而进行交互的过程,避免Agent之间的死锁或活锁。死锁指多个Agent无法进行各自的下一步动作;活锁指多个Agent不断工作却无任何进展。,29,9.4 多智能体系统的协调,当前主要有以下四种协调方法。(
16、1)基于集中规划的协调:将具备其他Agent的知识、能力和环境资源知识的Agent可作为主控Agent,对该MAS的目标进行分解,对任务进行规划,并指示或建议其他Agent执行相关任务。特别适用于环境和任务相对固定、动态行为集可预计和需要集中监控的情况。(2)基于协商的协调:通过协商来实现任务的分配。协商是Agent间减缓信息、讨论和达成共识的方式。,30,9.4 多智能体系统的协调,当前主要有以下四种协调方法。(3)基于对策论的协调:有通信协调和无通信协调两类。无通信协调是在没有通信的情况下,Agent根据对方及自身效益模型,按照对策论选择适当行为,Agent至多也只能达到协调的平衡解。在有
17、通信协调中则可得到协作解。(4)基于社会规划的协调:以每个Agent必须遵循的社会规则、过滤策略、标准和惯例为基础的协调方法。这些规则对于Agent的行为加以限制,过滤某些有冲突的意图和行为,保证其他Agent必须的行为方式。,31,9.1 智能体的概念与结构9.2 多智能体系统的概念与结构9.3 多智能体系统的通信9.4 多智能体系统的协调9.5 多智能体系统的协作9.6 多智能体系统的协商,第9章 智能体与多智能体系统,32,9.5 多智能体系统的协作,9.5.1多智能体的协作类型,(1)完全协作型:系统中的智能体围绕一个共同的全局目标全力以赴地协作,各个智能体没有自己的局部目标。(2)协
18、作型:系统中的智能体具有一个共同的全局目标,同时各个智能体还有与全局目标一致的局部目标。(3)自私型:系统中不存在共同的全局目标,各智能体都为自己的局部目标工作,而且目标之间可能存在冲突。(4)完全自私型:系统中不存在共同的目标,各智能体都为自己的局部目标工作,并且不考虑任何协作行为。(5)协作与自私共存型:系统中既存在共同的全局目标,某些智能体也可能还具有与全局目标无直接联系的局部目标。,33,9.5 多智能体系统的协作,多智能体系统的协作过程一般分为六个阶段:,(1)产生协作需求,即确定协作目标;(2)协作规划,求解合理的协作结构;(3)寻求协作伙伴;(4)选择协作方案,即根据协作竞争者反
19、推最佳的协作方案;(5)按协作或交互协议进行协作以实现所确定的目标;(6)结果评估,即判断协作的效果并为以后的协作提供可供参考的经验和教训。,34,9.5 多智能体系统的协作,9.5.2合同网协作方法,在所有的协作方法中,合同网是最著名并且应用最广泛的一种协作方法。是由Smith于1980年提出的。基本思想:人们在商务过程中用于管理商品和服务的合同机制。在合同网方法中,所有智能体分为两种角色:管理者和工作者。在合同网协作方法中,智能体的角色在协作过程中的角色可以变化:任何智能体通过发布任务通知书而成为管理者;相反,任何智能体通过应答任务通知书而成为工作者。,35,9.5 多智能体系统的协作,9
20、.5.3黑板模型协作方法,黑板模型由三个基本模块构成:知识源:应用领域根据求解问题专门知识的不同划分成若干相互独立的专家,这些专家称为知识源(即智能体)。每一知识源独立完成一个特定领域的任务。黑板:共享的问题求解工作空间。主要存放知识源所需要的信息和求解过程中的解状态数据,如初始数据、部分解、替换解、最终解等。在问题求解过程中,知识源不断地修改黑板。知识源之间的通信和交互智能通过黑板进行。监控机制:根据黑板上的问题求解状态和各知识源的求解技能,依据某种控制策略,动态地选择和激活合适的知识源,使知识源能实时地响应黑板的变化。,36,9.5 多智能体系统的协作,9.5.4市场机制协作方法,市场机制
21、的基本思想是针对分布式资源分配的待定问题,建立相应的计算经济,使智能体之间通过最少的直接通信来协调多个智能体之间的活动。系统中只存在两种类型的智能体:生产者和消费者。智能体以各种价格对商品进行投标,但所有的商品交换都以当前市场价格进行,每一智能体通过投标以便获得最大利益和效用。在开放的市场环境中,智能体应该可以自由地选择自己的贸易策略,其行为不一定合乎常规。市场机制假定智能体所给予的偏好是与智能体获得行动结果的知识相一致,因此智能体推理行为就是最大化它自身的偏好。,37,9.1 智能体的概念与结构9.2 多智能体系统的概念与结构9.3 多智能体系统的通信9.4 多智能体系统的协调9.5 多智能
22、体系统的协作9.6 多智能体系统的协商,第9章 智能体与多智能体系统,38,9.6 多智能体系统的协商,1.协商协议,Multi-Agent协商概括为协商协议、协商策略和协商处理。协商协议用于处理协商过程中协商之间的交互和作用,是交易双方交互的规则。主要研究的内容是Agent通信语言的定义、表示、处理和语义解释。协商协议的形式化表示通常有三种方法:巴科斯范式表示、有限自动机表示和语义表示。巴科斯范式表示具有简洁、明了的特点,是最常用的方法。常用的协商协议:根据协商对象的数量分为一对一、一对多、多对多的协议;根据协商的顺序分为轮流出价、同时出价协商协议;根据协商议题的数量分为单属性和多属性协商等
23、。,39,9.6 多智能体系统的协商,2.协商策略,协商策略是Agent选择协商协议和通信消息的策略。协商策略分为:单方让步策略、竞争型策略、协作型策略、破坏协商策略和拖延协商策略。主要是竞争型和协作型策略。竞争型策略是指协商参与者在协商过程中表现出竞争行为,使协商结果向有利于自身利益方向发展的协商对策。合同网协调模型、劳资协商、基于对策论的协商过程等都属于此类。协作型策略是指协商各方都从整体利益出发,在协商过程中互相合作,采取的协商对策有利于互相能接受的协商结果。策略选择的通用方法是,依据影响协商的多方面因素,给出适宜的策略选择函数。,40,9.6 多智能体系统的协商,3.协商处理,协商处理是对单个协商方及协商系统、协商行为的描述及分析,包括协商算法和系统分析两部分内容。协商算法用于描述Agent在协商过程中的行为,包括通信、决策、规划和知识库操作等。系统分析的任务是分析和评价Agent协商的行为和性能,回答协商过程中的问题求解质量、算法效率,以及系统的公平性和死锁等问题。协商协议主要处理协商过程中Agent之间的交互。协商策略主要设计Agent内的决策和控制过程。而协商处理则侧重于对单个Agent和多个Agent协商社会的整体协商行为的描述和分析。,41,THE END,Introduction of Artificial Intelligence,42,