第13章Agent系统.ppt

上传人:本田雅阁 文档编号:2565777 上传时间:2019-04-09 格式:PPT 页数:32 大小:459.51KB
返回 下载 相关 举报
第13章Agent系统.ppt_第1页
第1页 / 共32页
第13章Agent系统.ppt_第2页
第2页 / 共32页
第13章Agent系统.ppt_第3页
第3页 / 共32页
第13章Agent系统.ppt_第4页
第4页 / 共32页
第13章Agent系统.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《第13章Agent系统.ppt》由会员分享,可在线阅读,更多相关《第13章Agent系统.ppt(32页珍藏版)》请在三一文库上搜索。

1、第 13 章 Agent系统,13.1 Agent的概念 13.2 Agent的结构 13.3 Agent实例Web Agent 13.4 多Agent系统 13.5 Agent的实现工具 13.6 Agent技术的发展与应用 习题十三,13.1 Agent的概念,13.1.1 什么是Agent 我们知道,Agent一词的通常含义有: 代理(人)、代办、 媒介、服务等, 而且作为“代理”在计算机领域广为使用。但在人工智能领域现在所说的Agent则具有更加特定的含义。简单地讲, 这里的Agent指的是一种实体, 而且是一种具有智能的实体。 这种实体可以是智能软件、智能设备、智能机器人或智能计算机

2、系统等等, 甚至也可以是人。国内人工智能文献中对Agent的翻译或称呼有智能体、主体、智能Agent等, 现在则逐渐趋向于不翻译而直接使用Agent。Agent的这一特定含义是由MIT 的Minsky在其1986年出版的思维的社会一书中提出的。Minsky认为社会中的某些个体经过协商之后可求得问题的解, 这些个体就是Agent。他还认为Agent应具有社会交互性和智能性。从此, 这种含义扩展了的Agent便被引入人工智能领域, 并迅速成为研究热点。,Agent的抽象模型是具有传感器和效应器,处于某一环境中的实体。它通过传感器感知环境; 通过效应器作用于环境; 它能运用自己所拥有的知识进行问题求

3、解; 它还能与其他Agent进行信息交流并协同工作。 因此, Agent应具有如下基本特性: (1) 自主性,亦称自治性, 即能够在没有人或别的Agent的干预下, 主动地自发地控制自身的行为和内部状态, 并且还有自己的目标或意图。 (2) 反应性, 即能够感知环境, 并通过行为改变环境。,(3) 适应性, 即能根据目标、环境等的要求和制约作出行动计划, 并根据环境的变化, 修改自己的目标和计划。 (4) 社会性,即一个Agent一般不能在环境中单独存在, 而要与其他Agent在同一环境中协同工作。而协作就要协商, 要协商就要进行信息交流, 信息交流的方式是相互通信。 从面向对象的观点来看,

4、Agent也就是一种高级对象, 或者说是具有智能的对象。,13.1.2 Agent的类型 从Agent理论模型角度来看, Agent可分为反应型、 思考型(或认知型)和两者复合型。 从特性来看, Agent又可分为以下几种: (1) 反应式Agent。这种Agent能够对环境主动进行监视并能做出必要的反应。反应式Agent最典型的应用是机器人, 特别是Brookes类型的机器昆虫。,(2) BDI型 Agent, 即有信念(Belief, 即知识)、愿望(Desire, 即任务)和意图(Intention,即为实现愿望而想做的事情)的Agent, 它也被称为理性Agent。 这是目前关于Age

5、nt的研究中最典型的智能型Agent, 或自治Agent。BDI Agent的典型应用是在Internet上为主人收集信息的软件Agent, 比较高级的智能机器人也是BDI Agent。,(3) 社会Agent。这是处在由多个Agent构成的一个Agent社会中的Agent。 各Agent有时有共同的利益(共同完成一项任务), 有时利益互相矛盾(争夺一项任务)。 因此, 这类Agent的功能包括协作和竞争。办公自动化Agent是协作的典型例子, 多个运输(或电信)公司Agent争夺任务承包权是竞争的典型例子。,(4) 演化Agent。这是具有学习和提高自己能力的Agent。 单个Agent可以

6、在同环境的交互中总结经验教训, 提高自己的能力, 但更多的学习是在多Agent系统,即社会Agent 之间进行的。模拟生物社会(如蜜蜂和蚂蚁)的多Agent系统是演化Agent的典型例子。,(5) 人格化Agent。这是不但有思想, 而且有情感的Agent。 这类Agent研究得比较少, 但是有发展前景。在故事理解研究中的故事人物Agent是典型的人格化Agent。 从所承担的工作和任务性质来看, Agent又可分为信息型Agent、合作型Agent、接口型Agent、移动型Agent等。 特别地,以纯软件实现的Agent被称为软件Agent(Software Agent, SA)。软件Age

7、nt是当前Agent技术和应用研究的主要内容。,13.2 Agent的结构,由于Agent的多样性,很难给出一个统一的结构模型。 下面仅给出思考型Agent的一个简单结构模型(见图13-1)和一个简化Agent的结构图(见图13-2)。,图 13-1 思考型Agent结构模型示意图,图 13-2 简化Agent结构模型图,13.3 Agent实例Web Agent,Web Agent是在智能Agent的概念基础上, 结合信息检索、 搜索引擎、机器学习、数据挖掘、统计等多个领域知识而产生的用于Web导航的工具。随着网络化的飞速发展, Web Agent 将是有广泛应用前景的一种小型Agent系统

8、。 事实上, 目前已经有许多的Web Agent实验系统存在, 有些已经出现在人们日常访问的网站中。比较著名的有Web Watcher和PersonalWeb Watcher, Syskill&Webert, WebMate, Letizia等。,Web Watcher是由CMU的Tom Mitchell等人开发的服务端Web Agent系统, 它建立一种用户模型, 为所有登录服务器的用户服务, 这种模型是根据当前大多数用户的普遍访问模式而训练生成的,它区别于许多运行于客户端的为单一客户服务的Web Agent。 当用户上网时, Web Watcher记录用户从登录开始一直到退出系统或服务器时

9、, 用户浏览过的页面序列,点击过的超链序列, 以及它们的时间戳。在退出系统或服务器之前, Web Watcher会询问用户是否达到目标,即要求用户对此次浏览给出一个二值的评价, 即成功或否。这种事例对同一时刻连接服务器的成千上万的用户都会发生, Web Watcher就是通过对这种大量的训练事例的分析,得出当前大多数用户普遍的浏览方式。,13.4 多Agent系统,13.4.1 多Agent系统的特征和研究内容 多Agent系统是一个松散耦合的Agent网络, 这些Agent通过交互、 协作进行问题求解(所解问题一般是单个Agent能力或知识所不及的)。 其中的每一个Agent都是自主的, 它

10、们可以由不同的设计方法和语言开发而成, 因而可能是完全异质的。 多Agent系统具有如下特征: (1) 每个Agent拥有解决问题的不完全的信息或能力。 (2) 没有系统全局控制。 (3) 数据是分散的。 (4) 计算是异步的。,多Agent系统的理论研究是以单Agent理论研究为基础的, 所以, 除单Agent理论研究所涉及的内容外, 多Agent系统的理论研究还包括一些和多Agent系统有关的基本规范, 主要有以下几点: (1) 多Agent系统的体系结构。 (2) 多Agent系统中Agent心智状态包括与交互有关的心智状态的选择与描述。 (3) 多Agent系统的特性以及这些特性之间的

11、关系。 (4) 在形式上应如何描述这些特性及其关系。 (5) 如何描述多Agent系统中Agent之间的交互和推理。,13.4.2 多Agent系统的体系结构 (1) Agent网络。这种结构的特点是Agent之间都是直接通信的。对这种结构的Agent系统, 通信和状态知识都是固定的, 每个Agent必须知道消息应该在什么时候发送到什么地方, 系统中有哪些Agent是可以合作的, 都具备什么样的能力等。但是, 将通信和控制功能都嵌入到每个Agent内部, 就要求系统中的每个Agent都拥有有关其他Agent的大量信息和知识, 而在开放的分布式系统中这往往是做不到的。另外,当系统中Agent的数

12、目越来越多时, 这种一对一的直接交互将导致低效率。,(2) Agent联盟。该结构不同于Agent网络, 其工作方式是: 若干相距较近的Agent通过一个叫做协助者的Agent来进行交互, 而远程Agent之间的交互和消息发送是由各局部Agent群体的协助者Agent协作来完成的。这些协助者Agent可以实现各种各样的消息发送协议。当一个Agent需要某种服务时, 它就向它所在的局部Agent群体的协助者Agent发出一个请求,该协助者Agent将以广播方式发送该请求, 或者将该请求与其他Agent 所声明的能力进行匹配, 一旦匹配成功, 则将该请求发送给匹配成功的Agent。同样地,当一个A

13、gent产生了一个对其他Agent可能有用的信息的时候, 它通知它所在的局部Agent群体的协助者Agent,该协助者Agent通过匹配, 将此信息发送给对它感兴趣的Agent,这种结构中的Agent不需要知道其他Agent的详细信息, 因此较Agent网络结构有较大的灵活性。,(3) 黑板结构。它和联盟系统有相似之处, 但不同的地方是黑板结构中的局部Agent把信息存放在可存取的“黑板”上, 实现局部数据共享。在一个局部Agent群体中,控制外壳Agent(类似于联盟中的协助者)负责信息交互, 而网络控制者Agent负责局部Agent群体之间的远程信息交互。黑板结构的不足之处在于: 局部数据

14、共享要求一定范围的Agent群体中的Agent拥有统一的数据结构或知识表示, 这就限制了系统中Agent设计和建造的灵活性。因此,开放的分布式系统不宜采用黑板结构。,图 13-3 FIPA的MAS体系结构,如图13-3所示,FIPA标准的MAS体系结构分为四个层次: Agent消息传输层、Agent管理层、Agent通信层和基于Agent的应用程序层。 其中, Agent消息传输层定义了一种消息格式, 它由消息封套和消息体构成, 起到如下作用: 能支持多种传输协议, 例如IIOP、HTTP、WAP等。 以特定方式套封消息, 例如XML用于HTTP协议下的消息封装, bitefficient用于

15、WAP下的消息封装。,能够表达FIPA的ACL, 例如使用字符串编码, XML编码, bit-efficient编码。 Agent管理层处理Agents的创建、注册、寻址、通信、迁移以及退出等操作, 它提供如下服务: 白页服务, 比如Agent定位(寻址)、命名和控制访问服务。 Agent的名字被表示成一种灵活的可扩展的结构, 这种结构被称为Agent标识(Agent Identifier), 它包含了Agent 的名称、传输地址、名称服务等相关信息。 黄页服务,比如服务定位、注册服务等,此类服务由一个叫做目录DF(Directory Facilitator)的部分提供。,Agent消息传输服

16、务。 Agent通信层是一种基于通信谓词又叫通信断言的机制, 支撑这种机制的就是Agent通信语言ACL。 ACL描述两部分内容, 其一是通信的行为者, 其二是通信的内容, 并且支持上下文机制。 FIPA的ACL是在早期的Agent通信语言ARCOL和KQML基础上形成的。在内容描述方面, FIPA使用一种内容语言作为FIPA语义语言,这些内容语言就是通常的约束选择语言, 比如KIF、RDF等。FIPA交互协议描述了通过某些行为或者交互以完成某种目的而进行的对话。,图 13-4 基于FIPAMAS体系结构标准的多Agent系统应用示例,OMG也致力于标准化Agent和多Agent系统。 OMG

17、认为Agent技术不是一种独立的新技术, 而是多种技术的集成应用; 同样它也不是一种独立的应用, 它可以为现有应用增加新的功能。 OMG将多Agent应用分为以下几种: 企业级应用,主要包括智能文档(Smart Document), 面向目标的企业规划,动态人事管理等。 交互级企业应用, 主要包括产品或者服务的市场拓展、 代理商管理、 团队管理。 过程控制包括智能大厦、工厂管理、机器人等。,个人Agents, 包括像邮件和新闻过滤、 个人日程管理、 自动秘书等。 信息管理任务包括信息检索、信息过滤、信息监视、 数据资源调节、 Agents和个人助手程序间的交互。 这些基本涵盖了目前Agent系

18、统的应用范围, 基于此, OMG给出了一种多Agent系统的参考结构(详见http: /agent.omg.org)。,13.5 Agent的实现工具,Agent的实现(即编程)工具可分为两类: 一类是专用的面向Agent的程序语言, 另一类则是现有的通用面向对象程序语言(或其扩充)。 已知的专用Agent编程语言有Agent描述语言ADL、 Agent处理控制语言PCL和Agent通信语言SACL(中科院计算所开发)、AGENT0、PLACA(PLAnning Communicating Agent language Thomas 1993)、 KQML(Knowledge Query an

19、d Manipulation Language, 国际上比较流行的Agent通信语言, 美国ARPA的知识共享计划的一部分)等。,在通用面向对象程序语言中, Java语言则是很好的候选语言。Java的面向对象、多线程、分布式、 平台无关、 可迁移、 可嵌入等特性正是构造Agent所需要的。 事实上, 现在的不少Agent都是用Java开发的。 另外, 现在已有不少软件公司(如微软)都推出了商品化的Agent软构件。这样, 在开发一个Agent系统时, 用户则不必从头编程, 而只需直接引用相应的Agent构件即可。,13.6 Agent技术的发展与应用,Agent系统是一种新的智能系统, 关于它

20、的研究方兴未艾。目前的热点课题主要是Agent 的理论模型、多Agent系统及其开发应用。Agent的理论模型的研究主要有逻辑方法和经济学方法两种。 前面提到的BDI型 Agent就是基于逻辑方法而提出的一种Agent模型, 被称为理性Agent。多Agent系统的主要课题是其问题求解机制, 包括组织形式、协商协调机制、 学习机制等有关的理论和方法学。,Agent系统虽然是一种新的智能系统, 但它与传统的人工智能系统并不是截然分开的。 事实上, 二者在技术上是互相渗透、 相辅相成的。 一方面, 在Agent的设计中要用到许多传统的人工智能技术, 如模式识别、机器学习、 知识表示、机器推理、 自

21、然语言理解等; 另一方面, 有了Agent概念以后, 传统的人工智能技术又可在Agent系统这样一种新的包装和运作模式下, 提高到一个新的水平。例如, 利用Agent技术可以建造新一代的运行在Internet上的分布式专家系统。,这样, Agent技术的应用实际有三个方面: 人工智能、计算机(网络)与信息科学、 其他业务领域。 在人工智能领域, Agent技术有着广泛应用。 许多传统人工智能技术与Agent技术相结合便相得益彰。 如专家系统、智能机器人、知识表示、知识发现等都可以得益于Agent技术。在计算机、网络与信息科学技术领域, Agent技术也有重要应用。 如网络、数据库、数据通信、软

22、件工程、 程序设计、人机界面设计、并行工程等都是Agent技术的用武之地。 事实上, 在软件工程和程序设计领域, 人们把Agent技术看作是面向对象技术的继续和发展, 并正在研究面向Agent的软件开发技术。从这个意义上讲, Agent技术将是人工智能与计算机及信息科学技术的交汇点。,习 题十 三,1. 什么是Agent?它有哪些特性? 2. Agent可分为哪些类型? 3. 简述多Agent系统的特征和研究内容。 4. 简述多Agent系统的体系结构。 5. 简述Agent的应用。 6. Agent系统与传统的智能系统, 特别是专家(知识)系统有什么异同和关系? 7. Agent与面向对象技术中的对象(object)有什么异同和关系?,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1