1、 第8章 Agent系统 8.1 Agent8.1 Agent的概念的概念 8.2 Agent8.2 Agent的结构的结构 8.3 Agent8.3 Agent实例实例Web AgentWeb Agent 8.4 8.4 多多AgentAgent系统系统 8.5 Agent8.5 Agent的实现工具的实现工具 8.6 Agent8.6 Agent技术的发展与应用技术的发展与应用 8.1 Agent的概念8.1.1 8.1.1 什么是什么是AgentAgent AgentAgentAgentAgent的基本特性:的基本特性:的基本特性:的基本特性:(1)(1)自主性自主性自主性自主性 亦称自
2、治性,即能够在没有人或别的亦称自治性,即能够在没有人或别的AgentAgent的干预下,主动地自发地控制自身的行为和内部状态,并的干预下,主动地自发地控制自身的行为和内部状态,并且还有自己的目标或意图。且还有自己的目标或意图。(2)(2)反应性反应性反应性反应性 即能够感知环境,并通过行为改变环境。即能够感知环境,并通过行为改变环境。(3)(3)适应性适应性适应性适应性 即能根据目标、环境等的要求和制约作出行即能根据目标、环境等的要求和制约作出行动计划,并根据环境的变化,修改自己的目标和计划。动计划,并根据环境的变化,修改自己的目标和计划。(4)(4)社会性社会性社会性社会性 即多个即多个Ag
3、entAgent在同一环境中协同工作。在同一环境中协同工作。8.1.2 Agent8.1.2 Agent的类型的类型 从从AgentAgent理论模型角度来看,理论模型角度来看,AgentAgent可分为反应型、思可分为反应型、思考型(或认知型)和两者复合型。考型(或认知型)和两者复合型。从特性来看,从特性来看,AgentAgent可分为:可分为:(1)(1)反应式反应式反应式反应式Agent Agent (2)BDI (2)BDI型型型型 Agent Agent 即有信念(即有信念(beliefbelief,即知识)、愿望,即知识)、愿望 (desiredesire,即任务)和意图(,即任务
4、)和意图(intentionintention,即为实现,即为实现愿望而想做的事情)的愿望而想做的事情)的AgentAgent,它也被称为理性,它也被称为理性AgentAgent。(3)(3)社会社会社会社会Agent Agent (4)(4)演化演化演化演化Agent Agent (5)(5)人格化人格化人格化人格化AgentAgent 从所承担的工作和任务性质来看,从所承担的工作和任务性质来看,AgentAgent又可分为又可分为信信信信息型息型息型息型AgentAgentAgentAgent、合作型、合作型、合作型、合作型AgentAgentAgentAgent、接口型、接口型、接口型、
5、接口型AgentAgentAgentAgent和移动型和移动型和移动型和移动型AgentAgentAgentAgent等。等。纯软件实现的纯软件实现的AgentAgent称为称为软件软件软件软件AgentAgentAgentAgent(Software Software Agent,SAAgent,SA)。)。8.2 Agent的结构 思考型Agent结构模型示意图 简化Agent结构模型图 8.3 Agent实例Web Agent以卡耐基以卡耐基-梅隆大学(梅隆大学(CMUCMU)的)的Web WatcherWeb Watcher为为例。例。8.4 多Agent系统 多多AgentAgent
6、系统(系统(Multi-Agent System,MASMulti-Agent System,MAS)是是AgentAgent技术的一个重点研究课题;技术的一个重点研究课题;MASMAS也是分布也是分布 式人工智能(式人工智能(DAIDAI)的基本内容之一。)的基本内容之一。8.4.1 8.4.1 多多AgentAgent系统的特征系统的特征 (1)(1)每个每个AgentAgent拥有解决问题的不完全的信息或拥有解决问题的不完全的信息或能力;能力;(2)(2)没有系统全局控制;没有系统全局控制;(3)(3)数据是分散的;数据是分散的;(4)(4)计算是异步的。计算是异步的。8.4.2 8.4
7、.2 多多AgentAgent系统的研究内容系统的研究内容(1)1)多多AgentAgent系统的体系结构;系统的体系结构;(2)(2)多多AgentAgent系统中系统中AgentAgent心智状态包括与交互有心智状态包括与交互有关的心智状态的选择与描述;关的心智状态的选择与描述;(3)(3)多多AgentAgent系统的特性以及这些特性之间的关系统的特性以及这些特性之间的关系;系;(4)(4)在形式上应如何描述这些特性及其关系;在形式上应如何描述这些特性及其关系;(5)(5)如何描述多如何描述多AgentAgent系统中系统中AgentAgent之间的交互和之间的交互和推理。推理。8.4.
8、3 8.4.3 多多AgentAgent系统的体系结构系统的体系结构 (1)Agent(1)Agent网络网络网络网络 (2)Agent(2)Agent联盟联盟联盟联盟 (3)(3)黑板结构黑板结构黑板结构黑板结构 软件工程界推出的多软件工程界推出的多软件工程界推出的多软件工程界推出的多AgentAgentAgentAgent系统的体系结构标准系统的体系结构标准系统的体系结构标准系统的体系结构标准 (1)(1)FIPA FIPA FIPA FIPA(The Foundation for Intelligent The Foundation for Intelligent Physical Ag
9、entsPhysical Agents)标准的标准的标准的标准的MASMASMASMAS体系结构体系结构体系结构体系结构 FIPA的MAS体系结构 消息传输层的作用消息传输层的作用:n n能支持多种传输协议,例如:能支持多种传输协议,例如:IIOPIIOP、HTTPHTTP、WAPWAP等。等。n n以特定方式套封消息,例如:以特定方式套封消息,例如:XMLXML用于用于HTTPHTTP协议下的协议下的消息封装,消息封装,bit-efficientbit-efficient用于用于WAPWAP下的消息封装。下的消息封装。n n能够表达能够表达FIPAFIPA的的ACLACL,例如:使用字符串编
10、码,例如:使用字符串编码,XMLXML编编码,码,bit-efficientbit-efficient编码。编码。n nAgentAgent管理层处理管理层处理AgentsAgents的创建、注册、寻址、通信、的创建、注册、寻址、通信、迁移以及退出等操作,它提供如下服务:迁移以及退出等操作,它提供如下服务:n n白页服务,比如白页服务,比如AgentAgent定位(寻址)、命名和控制访问定位(寻址)、命名和控制访问服务。服务。n n黄页服务,比如服务定位、注册服务等。黄页服务,比如服务定位、注册服务等。n nAgentAgent消息传输服务。消息传输服务。AgentAgent通信层是一种基于通
11、信谓词又叫通信断言通信层是一种基于通信谓词又叫通信断言的机制,支撑这种机制的就是的机制,支撑这种机制的就是AgentAgent通信语言通信语言ACLACL。ACLACL描述两部分内容,其一是通信的行为者,其二描述两部分内容,其一是通信的行为者,其二是通信的内容,并且支持上下文机制。是通信的内容,并且支持上下文机制。FIPAFIPA的的ACLACL是在早期的是在早期的AgentAgent通信语言通信语言ARCOLARCOL和和KQMLKQML基础上形基础上形成的。在内容描述方面,成的。在内容描述方面,FIPAFIPA使用一种内容语言使用一种内容语言作为作为FIPAFIPA语义语言,这些内容语言就
12、是通常的约语义语言,这些内容语言就是通常的约束选择语言,比如束选择语言,比如KIFKIF、RDFRDF等。等。FIPAFIPA交互协议描交互协议描述了通过某些行为或者交互以完成某种目的而进述了通过某些行为或者交互以完成某种目的而进行的对话。行的对话。应用过程示例应用过程示例应用过程示例应用过程示例 基于FIPAMAS体系结构标准的多Agent系统应用示例(2 2 2 2)OMGOMGOMGOMG(Object Management GroupObject Management Group)的多的多的多的多AgentAgentAgentAgent系统体系结构特点系统体系结构特点系统体系结构特点系
13、统体系结构特点-应用分为以下几种:应用分为以下几种:应用分为以下几种:应用分为以下几种:n n企业级应用,主要包括:智能文档企业级应用,主要包括:智能文档(smart document)(smart document),面,面向目标的企业规划,动态人事管理等。向目标的企业规划,动态人事管理等。n n交互级企业应用,主要包括产品或者服务的市场拓展、代交互级企业应用,主要包括产品或者服务的市场拓展、代理商管理、团队管理。理商管理、团队管理。n n过程控制,包括智能大厦、工厂管理、机器人等。过程控制,包括智能大厦、工厂管理、机器人等。n n个人个人AgentsAgents,包括像邮件和新闻过滤、个人
14、日程管理、自,包括像邮件和新闻过滤、个人日程管理、自动秘书等。动秘书等。n n信息管理任务,包括信息检索、信息过滤、信息监视、数信息管理任务,包括信息检索、信息过滤、信息监视、数据资源调节、据资源调节、AgentsAgents和个人助手程序间的交互。和个人助手程序间的交互。n n这些基本涵盖了目前这些基本涵盖了目前AgentAgent系统的应用范围,基于此,系统的应用范围,基于此,OMGOMG给出了一种多给出了一种多AgentAgent系统的参考结构系统的参考结构(详见详见http:/agent.omg.orghttp:/agent.omg.org)。8.5 Agent的实现工具 (1 1 1
15、 1)专用的面向)专用的面向)专用的面向)专用的面向AgentAgentAgentAgent的程序语言。的程序语言。的程序语言。的程序语言。ADL ADL(AgentAgent描述语言)描述语言)PCL PCL(AgentAgent处理控制语言)处理控制语言)SACL SACL(AgentAgent通信语言,中科院计算所开发)通信语言,中科院计算所开发)AGENT0AGENT0 PLACAPLACA(PLAnning Communicating Agent languagePLAnning Communicating Agent language)KQMLKQML(Knowledge Query and Manipulation LanguageKnowledge Query and Manipulation Language)(2 2 2 2)通用面向对象程序语言(的扩充)通用面向对象程序语言(的扩充)通用面向对象程序语言(的扩充)通用面向对象程序语言(的扩充)JavaJava 8.6 Agent技术的发展与应用 人工智能人工智能人工智能人工智能 计算机(网络)与信息科学技术计算机(网络)与信息科学技术计算机(网络)与信息科学技术计算机(网络)与信息科学技术 其它业务领域其它业务领域其它业务领域其它业务领域