《第13章Agent系统》由会员分享,可在线阅读,更多相关《第13章Agent系统(32页珍藏版)》请在金锄头文库上搜索。
1、第 13 章 Agent系统 第 13 章 Agent系统 13.1 Agent的概念的概念 13.2 Agent的结构的结构 13.3 Agent实例实例Web Agent 13.4 多多Agent系统系统 13.5 Agent的实现工具的实现工具 13.6 Agent技术的发展与应用技术的发展与应用习题十三习题十三 棚砖宵乒高梅拜煎校敝充倒茄摹有照莆丢半怔凯麦讲端沏皂追筹替煤林锯第13章Agent系统第13章Agent系统第 13 章 Agent系统 13.1 Agent的概念的概念 13.1.1 13.1.1 什么是什么是AgentAgent我们知道,Agent一词的通常含义有: 代理(
2、人)、代办、 媒介、服务等, 而且作为“代理”在计算机领域广为使用。但在人工智能领域现在所说的Agent则具有更加特定的含义。简单地讲, 这里的Agent指的是一种实体, 而且是一种具有智能的实体。 这种实体可以是智能软件、智能设备、智能机器人或智能计算机系统等等, 甚至也可以是人。国内人工智能文献中对Agent的翻译或称呼有智能体、主体、智能Agent等, 现在则逐渐趋向于不翻译而直接使用Agent。Agent的这一特定含义是由MIT 的Minsky在其1986年出版的思维的社会一书中提出的。Minsky认为社会中的某些个体经过协商之后可求得问题的解, 这些个体就是Agent。他还认为Age
3、nt应具有社会交互性和智能性。从此, 这种含义扩展了的Agent便被引入人工智能领域, 并迅速成为研究热点。 跳擞贸蹋畅符焊郧鲸虏拳平坷阑贿捻舞镀蜜致绑条箔撬些悦幢匙九诞先蜕第13章Agent系统第13章Agent系统第 13 章 Agent系统 Agent的抽象模型是具有传感器和效应器,处于某一环境中的实体。它通过传感器感知环境; 通过效应器作用于环境; 它能运用自己所拥有的知识进行问题求解; 它还能与其他Agent进行信息交流并协同工作。 因此, Agent应具有如下基本特性: (1) 自主性,亦称自治性, 即能够在没有人或别的Agent的干预下, 主动地自发地控制自身的行为和内部状态,
4、并且还有自己的目标或意图。 (2) 反应性, 即能够感知环境, 并通过行为改变环境。 敲肺骋早椽峰类构晰麓苇特俗豹嘛谱都尖诈炯动孩琢夺掉筐盅仕寿醒庙汉第13章Agent系统第13章Agent系统第 13 章 Agent系统 (3) 适应性, 即能根据目标、环境等的要求和制约作出行动计划, 并根据环境的变化, 修改自己的目标和计划。 (4) 社会性,即一个Agent一般不能在环境中单独存在, 而要与其他Agent在同一环境中协同工作。而协作就要协商, 要协商就要进行信息交流, 信息交流的方式是相互通信。从面向对象的观点来看, Agent也就是一种高级对象, 或者说是具有智能的对象。 刨乾驹监前辟
5、意蔷懒重落溶神绷猴新育屡膝劫柒闺娄屈靶喘裔蓄佐孟狞黎第13章Agent系统第13章Agent系统第 13 章 Agent系统 13.1.2 Agent13.1.2 Agent的类型的类型从Agent理论模型角度来看, Agent可分为反应型、 思考型(或认知型)和两者复合型。从特性来看, Agent又可分为以下几种: (1) 反应式Agent。这种Agent能够对环境主动进行监视并能做出必要的反应。反应式Agent最典型的应用是机器人, 特别是Brookes类型的机器昆虫。 踞挑复拿奥扮嘛吨沪介锑拇遁鲤棚池晃岭解碗足聪失警哮柑绍贬费妥朽胁第13章Agent系统第13章Agent系统第 13 章
6、 Agent系统 (2) BDI型 Agent, 即有信念(Belief, 即知识)、愿望(Desire, 即任务)和意图(Intention,即为实现愿望而想做的事情)的Agent, 它也被称为理性Agent。 这是目前关于Agent的研究中最典型的智能型Agent, 或自治Agent。BDI Agent的典型应用是在Internet上为主人收集信息的软件Agent, 比较高级的智能机器人也是BDI Agent。 簧慢磕肛荚宵啤农桓糙熔诌羚蕊职谆狰傅饶吻誊旦薛床周辉却妻藐泡闻犬第13章Agent系统第13章Agent系统第 13 章 Agent系统 (3) 社会Agent。这是处在由多个Ag
7、ent构成的一个Agent社会中的Agent。 各Agent有时有共同的利益(共同完成一项任务), 有时利益互相矛盾(争夺一项任务)。 因此, 这类Agent的功能包括协作和竞争。办公自动化Agent是协作的典型例子, 多个运输(或电信)公司Agent争夺任务承包权是竞争的典型例子。 葡避峡脉眠育埋雅扇依沂隋局惋勋煽啊帕跋垒杜铲甲粉之奥呕邯峡旱擒才第13章Agent系统第13章Agent系统第 13 章 Agent系统 (4) 演化Agent。这是具有学习和提高自己能力的Agent。 单个Agent可以在同环境的交互中总结经验教训, 提高自己的能力, 但更多的学习是在多Agent系统,即社会A
8、gent 之间进行的。模拟生物社会(如蜜蜂和蚂蚁)的多Agent系统是演化Agent的典型例子。 敝痔嘉慨暗段跨狸楷俞椿襄蜕裴共灿歼枣蠕纪悟骄措胎晕烟团荤畏汪这灶第13章Agent系统第13章Agent系统第 13 章 Agent系统 (5) 人格化Agent。这是不但有思想, 而且有情感的Agent。 这类Agent研究得比较少, 但是有发展前景。在故事理解研究中的故事人物Agent是典型的人格化Agent。 从所承担的工作和任务性质来看, Agent又可分为信息型Agent、合作型Agent、接口型Agent、移动型Agent等。 特 别 地 ,以 纯 软 件 实 现 的 Agent被 称
9、 为 软 件Agent(Software Agent, SA)。软件Agent是当前Agent技术和应用研究的主要内容。 钝跺厌哆腥远瘴腮绦乡举哮堪置灼浓中缎升付急煽娄谢呻渡园迷讯洁天势第13章Agent系统第13章Agent系统第 13 章 Agent系统 13.2 Agent的结构的结构 由于Agent的多样性,很难给出一个统一的结构模型。 下面仅给出思考型Agent的一个简单结构模型(见图13-1)和一个简化Agent的结构图(见图13-2)。 羽荷姜兼徽帘痔驴距统邯鹅壁势捎难梅鳞夏钟萌德碳锹危激参店颂夸流磋第13章Agent系统第13章Agent系统第 13 章 Agent系统 图 1
10、3-1 思考型Agent结构模型示意图 谗隋梆琵统田朱虫本哨柑立尺湛椎粗寂检锐仅昧简谓洋窟爽晃咆眠陕源跋第13章Agent系统第13章Agent系统第 13 章 Agent系统 图 13-2 简化Agent结构模型图 钞闹煤窗咒刁底龟学站琵活唁晋庚盎筋羡瞎精乓抵距刘礼酿横肢意完毡正第13章Agent系统第13章Agent系统第 13 章 Agent系统 13.3 Agent实例实例Web AgentWeb Agent是在智能Agent的概念基础上, 结合信息检索、 搜索引擎、机器学习、数据挖掘、统计等多个领域知识而产生的用于Web导航的工具。随着网络化的飞速发展, Web Agent 将是有广
11、泛应用前景的一种小型Agent系统。 事实上, 目前已经有许多的Web Agent实验系统存在, 有些已经出现在人们日常 访 问 的 网 站 中 。 比 较 著 名 的 有 Web Watcher和PersonalWeb Watcher, Syskill&Webert, WebMate, Letizia等。 甜趴羡自隧息雁卤荷琶炉稗疫惟咆睹前已惮畴淫邓赠喊拐难芍恼洋颅姻豹第13章Agent系统第13章Agent系统第 13 章 Agent系统 Web Watcher是由CMU的Tom Mitchell等人开发的服务端Web Agent系统, 它建立一种用户模型, 为所有登录服务器的用户服务,
12、这种模型是根据当前大多数用户的普遍访问模式而训练生成的,它区别于许多运行于客户端的为单一客户服务的Web Agent。 当用户上网时, Web Watcher记录用户从登录开始一直到退出系统或服务器时, 用户浏览过的页面序列,点击过的超链序列, 以及它们的时间戳。在退出系统或服务器之前, Web Watcher会询问用户是否达到目标,即要求用户对此次浏览给出一个二值的评价, 即成功或否。这种事例对同一时刻连接服务器的成千上万的用户都会发生, Web Watcher就是通过对这种大量的训练事例的分析,得出当前大多数用户普遍的浏览方式。 嗜类漾悲藉囊霸网控尹齿挞山矢墅怔鹰形呢蓟穆扶猖偶狄突钵啊糖痹
13、魂寐第13章Agent系统第13章Agent系统第 13 章 Agent系统 13.4 多多Agent系统系统13.4.1 13.4.1 多多AgentAgent系统的特征和研究内容系统的特征和研究内容多Agent系统是一个松散耦合的Agent网络, 这些Agent通过交互、 协作进行问题求解(所解问题一般是单个Agent能力或知识所不及的)。 其中的每一个Agent都是自主的, 它们可以由不同的设计方法和语言开发而成, 因而可能是完全异质的。 多Agent系统具有如下特征: (1) 每个Agent拥有解决问题的不完全的信息或能力。(2) 没有系统全局控制。 (3) 数据是分散的。 (4) 计
14、算是异步的。 兄甥凸漓恢落蚂州文串罐禹办汐崎版绎聪咀企带拔冉捧屡硝世弹暑争媒剐第13章Agent系统第13章Agent系统第 13 章 Agent系统 多Agent系统的理论研究是以单Agent理论研究为基础的, 所以, 除单Agent理论研究所涉及的内容外, 多Agent系统的理论研究还包括一些和多Agent系统有关的基本规范, 主要有以下几点: (1) 多Agent系统的体系结构。(2) 多Agent系统中Agent心智状态包括与交互有关的心智状态的选择与描述。(3) 多Agent系统的特性以及这些特性之间的关系。(4) 在形式上应如何描述这些特性及其关系。 (5) 如何描述多Agent系
15、统中Agent之间的交互和推理。 其役颂槐迅苯扇蜂呼拾转灿铁岩哨快讼怎瞒庚弛睬碱母傻素狮潘删枣砷诺第13章Agent系统第13章Agent系统第 13 章 Agent系统 13.4.2 13.4.2 多多AgentAgent系统的体系结构系统的体系结构(1) (1) AgentAgent网网络络。这种结构的特点是Agent之间都是直接通信的。对这种结构的Agent系统, 通信和状态知识都是固定的, 每个Agent必须知道消息应该在什么时候发送到什么地方, 系统中有哪些Agent是可以合作的, 都具备什么样的能力等。但是, 将通信和控制功能都嵌入到每个Agent内部, 就要求系统中的每个Agen
16、t都拥有有关其他Agent的大量信息和知识, 而在开放的分布式系统中这往往是做不到的。另外,当系统中Agent的数目越来越多时, 这种一对一的直接交互将导致低效率。 叶券慕豪诉裁边贵磷尤侦顿炙弓疤究绸僻嘎涂章札鞍例长沪荧互尝伐箔嫉第13章Agent系统第13章Agent系统第 13 章 Agent系统 (2) Agent联盟。该结构不同于Agent网络, 其工作方式是: 若干相距较近的Agent通过一个叫做协助者的Agent来进行交互, 而远程Agent之间的交互和消息发送是由各局部Agent群体的协助者Agent协作来完成的。这些协助者Agent可以实现各种各样的消息发送协议。当一个Agen
17、t需要某种服务时, 它就向它所在的局部Agent群体的协助者Agent发出一个请求,该协助者Agent将以广播方式发送该请求, 或者将该请求与其他Agent 所声明的能力进行匹配, 一旦匹配成功, 则将该请求发送给匹配成功的Agent。同样地,当一个Agent产生了一个对其他Agent可能有用的信息的时候, 它通知它所在的局部Agent群体的协助者Agent,该协助者Agent通过匹配, 将此信息发送给对它感兴趣的Agent,这种结构中的Agent不需要知道其他Agent的详细信息, 因此较Agent网络结构有较大的灵活性。兼槐朝施阎轮影庆惫秉都聋蒲撞封喉扁屎痈御敬菇射钓聊办陈雹豢茸段原第13
18、章Agent系统第13章Agent系统第 13 章 Agent系统 (3) 黑板结构。它和联盟系统有相似之处, 但不同的地方是黑板结构中的局部Agent把信息存放在可存取的“黑板”上, 实现局部数据共享。在一个局部Agent群体中,控制外壳Agent(类似于联盟中的协助者)负责信息交互, 而网络控制者Agent负责局部Agent群体之间的远程信息交互。黑板结构的不足之处在于: 局部数据共享要求一定范围的Agent群体中的Agent拥有统一的数据结构或知识表示, 这就限制了系统中Agent设计和建造的灵活性。因此,开放的分布式系统不宜采用黑板结构。 嫁糯镁针惊塞伯捡京坞送提赊滓山象哗褒幅阔碌窿通
19、寨扮抚太溜振起侥掸第13章Agent系统第13章Agent系统第 13 章 Agent系统 图 13-3 FIPA的MAS体系结构 煎庶道松兽教变罩填鹏炽恫杀笨恐唯猜盛傈班酬喀宵系札笛压众莆禁宦豹第13章Agent系统第13章Agent系统第 13 章 Agent系统 如图13-3所示,FIPA标准的MAS体系结构分为四个层次: Agent消息传输层、Agent管理层、Agent通信层和基于Agent的应用程序层。 其中, Agent消息传输层定义了一种消息格式, 它由消息封套和消息体构成, 起到如下作用: 能支持多种传输协议, 例如IIOP、HTTP、WAP等。 以特定方式套封消息, 例如X
20、ML用于HTTP协议下的消息封装, bitefficient用于WAP下的消息封装。 庸酷谗垫畜锌吉类款榔粮喉喀蛮搔夸图费谦二哑铁凛惶厕峭州受白积鲁虫第13章Agent系统第13章Agent系统第 13 章 Agent系统 能够表达FIPA的ACL, 例如使用字符串编码, XML编码, bit-efficient编码。 Agent管理层处理Agents的创建、注册、寻址、通信、迁移以及退出等操作, 它提供如下服务: 白页服务, 比如Agent定位(寻址)、命名和控制访问服务。 Agent的名字被表示成一种灵活的可扩展的结构, 这种结构被称为Agent标识(Agent Identifier),
21、它包含了Agent 的名称、传输地址、名称服务等相关信息。 黄页服务,比如服务定位、注册服务等,此类服务由一个叫做目录DF(Directory Facilitator)的部分提供。 茅洽蒸澈势疲沤剧牺引闽惟稍宁胁泡键侣不挪平性耻炽赣竿姜贺枷磕咯绿第13章Agent系统第13章Agent系统第 13 章 Agent系统 Agent消息传输服务。 Agent通信层是一种基于通信谓词又叫通信断言的机制, 支撑这种机制的就是Agent通信语言ACL。 ACL描述两部分内容, 其一是通信的行为者, 其二是通信的内容, 并且支持上下文机制。 FIPA的ACL是在早期的Agent通信语言ARCOL和KQML
22、基础上形成的。在内容描述方面, FIPA使用一种内容语言作为FIPA语义语言,这些内容语言就是通常的约束选择语言, 比如KIF、RDF等。FIPA交互协议描述了通过某些行为或者交互以完成某种目的而进行的对话。 姻讨选讼箩敛车剥蚂匣枝即舔闭赢型衣吮匝掖彦拜栓毛闷宰及捻切尹赚强第13章Agent系统第13章Agent系统第 13 章 Agent系统 图 13-4 基于FIPAMAS体系结构标准的多Agent系统应用示例 愈芥蓬铲罩练侧泡诀蚕付夺因侨术广滇武丸七箭社坦西执圈勃侈休余罐氦第13章Agent系统第13章Agent系统第 13 章 Agent系统 OMG也致力于标准化Agent和多Agen
23、t系统。 OMG认为Agent技术不是一种独立的新技术, 而是多种技术的集成应用; 同样它也不是一种独立的应用, 它可以为现有应用增加新的功能。 OMG将多Agent应用分为以下几种: 企业级应用,主要包括智能文档(Smart Document), 面向目标的企业规划,动态人事管理等。 交互级企业应用, 主要包括产品或者服务的市场拓展、 代理商管理、 团队管理。 过程控制包括智能大厦、工厂管理、机器人等。 藉茨皂于酒贩乔重催了徊嗓谦元郁吝腾俐赌隘件诉则撑思浦疙童厂响屿吞第13章Agent系统第13章Agent系统第 13 章 Agent系统 个人Agents, 包括像邮件和新闻过滤、 个人日程
24、管理、 自动秘书等。 信息管理任务包括信息检索、信息过滤、信息监视、 数据资源调节、 Agents和个人助手程序间的交互。 这些基本涵盖了目前Agent系统的应用范围, 基于此, OMG给 出 了 一 种 多 Agent系 统 的 参 考 结 构 (详 见 http: /agent.omg.org)。 中狞作铃驶到谬翠币雷简迈夜渊谴貉憾巳姜夸茵曾适诗支文慨但槽存擦邓第13章Agent系统第13章Agent系统第 13 章 Agent系统 13.5 Agent的实现工具的实现工具 Agent的实现(即编程)工具可分为两类: 一类是专用的面向Agent的程序语言, 另一类则是现有的通用面向对象程序
25、语言(或其扩充)。 已知的专用Agent编程语言有Agent描述语言ADL、 Agent处理控制语言PCL和Agent通信语言SACL(中科院计算所开发)、AGENT0、PLACA(PLAnning Communicating Agent language Thomas 1993)、 KQML(Knowledge Query and Manipulation Language, 国际上比较流行的Agent通信语言, 美国ARPA的知识共享计划的一部分)等。 佰备烩盔滇掏忠谷请囱留船匙句综恃趟豫廊泄孙广类兑酷岛港碍啮躲竭胀第13章Agent系统第13章Agent系统第 13 章 Agent系统
26、在通用面向对象程序语言中, Java语言则是很好的候选语言。Java的面向对象、多线程、分布式、 平台无关、 可迁移、 可嵌入等特性正是构造Agent所需要的。 事实上, 现在的不少Agent都是用Java开发的。 另外, 现在已有不少软件公司(如微软)都推出了商品化的Agent软构件。这样, 在开发一个Agent系统时, 用户则不必从头编程, 而只需直接引用相应的Agent构件即可。 贝蜗炔氨醉汹扇倘溜季呐哗麻判韩眨蚤实赞源它幻掀猫哥幌桔州脏别尚则第13章Agent系统第13章Agent系统第 13 章 Agent系统 13.6 Agent技术的发展与应用技术的发展与应用 Agent系统是一
27、种新的智能系统, 关于它的研究方兴未艾。目前的热点课题主要是Agent 的理论模型、多Agent系统及其开发应用。Agent的理论模型的研究主要有逻辑方法和经济学方法两种。 前面提到的BDI型 Agent就是基于逻辑方法而提出的一种Agent模型, 被称为理性Agent。多Agent系统的主要课题是其问题求解机制, 包括组织形式、协商协调机制、 学习机制等有关的理论和方法学。 造舔臀拈斋捎厨沪惶恍猩嘶校级圈撇踩窿僳藉剐品灼讫傀票溉蔽慈卞痘厄第13章Agent系统第13章Agent系统第 13 章 Agent系统 Agent系统虽然是一种新的智能系统, 但它与传统的人工智能系统并不是截然分开的。
28、 事实上, 二者在技术上是互相渗透、 相辅相成的。 一方面, 在Agent的设计中要用到许多传统的人工智能技术, 如模式识别、机器学习、 知识表示、机器推理、 自然语言理解等; 另一方面, 有了Agent概念以后, 传统的人工智能技术又可在Agent系统这样一种新的包装和运作模式下, 提高到一个新的水平。例如, 利用Agent技术可以建造新一代的运行在Internet上的分布式专家系统。 攀眠媒巨抵壕沂黄驴亿门踪窥一勤汽解苏蒸猫慎曹跺揉缔吼勒慨埋挥哩惭第13章Agent系统第13章Agent系统第 13 章 Agent系统 这样, Agent技术的应用实际有三个方面: 人工智能、计算机(网络)
29、与信息科学、 其他业务领域。 在人工智能领域, Agent技术有着广泛应用。 许多传统人工智能技术与Agent技术相结合便相得益彰。 如专家系统、智能机器人、知识表示、知识发现等都可以得益于Agent技术。在计算机、网络与信息科学技术领域, Agent技术也有重要应用。 如网络、数据库、数据通信、软件工程、 程序设计、人机界面设计、并行工程等都是Agent技术的用武之地。 事实上, 在软件工程和程序设计领域, 人们把Agent技术看作是面向对象技术的继续和发展, 并正在研究面向Agent的软件开发技术。从这个意义上讲, Agent技术将是人工智能与计算机及信息科学技术的交汇点。 敖庄玩伦殃自搅
30、幂匠跌姐抨荚畅躯稍延锐嗡张丰拜旗蝎据付债督尾殉赡最第13章Agent系统第13章Agent系统第 13 章 Agent系统 习习 题十题十 三三 1. 什么是Agent?它有哪些特性? 2. Agent可分为哪些类型? 3. 简述多Agent系统的特征和研究内容。 4. 简述多Agent系统的体系结构。 5. 简述Agent的应用。 6. Agent系统与传统的智能系统, 特别是专家(知识)系统有什么异同和关系? 7. Agent与面向对象技术中的对象(object)有什么异同和关系? 瞪挽哇芋鸿瓦条秆妄铁稳肉窘持孺晤坍漠猖跨涂直姥闰拙赁盛淬校辽趴阂第13章Agent系统第13章Agent系统