(计算机科学与技术专业论文)基于java的软件agent开发环境的研究与实现.pdf_第1页
(计算机科学与技术专业论文)基于java的软件agent开发环境的研究与实现.pdf_第2页
(计算机科学与技术专业论文)基于java的软件agent开发环境的研究与实现.pdf_第3页
(计算机科学与技术专业论文)基于java的软件agent开发环境的研究与实现.pdf_第4页
(计算机科学与技术专业论文)基于java的软件agent开发环境的研究与实现.pdf_第5页
已阅读5页,还剩73页未读 继续免费阅读

(计算机科学与技术专业论文)基于java的软件agent开发环境的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国防科学技术大学研究生院学位论文 摘要 面向a g e n t 软件开发方法被视为是第四代软件开发范型,其应用也已受到人们越来越 多的关注,它已成为计算机技术研究的一个热门领域。但迄今为止,仍缺乏成熟的、易接 受的a g e n t 软件开发环境。 通过对面向a g e n t 的方法与面向对象的方法比较发现,面向对象与面向a g e n t 之间存 在许多相似的特征。而且,基于b d i 模型的a g e n t 是通过三种心智状态的相互作用来体现 a g e n t 的主动性、自主性、反应性和社会性。而三种心智状态在物理上表现为相互作用的 实体,由此,我们可以通过对对象的扩展来模拟这些实体,最后通过模拟a g e n t 的推理状 态来实现a g e n t 。 本文正是基于以上思想,通过对著名的b d i 模型的深入研究,通过改进得出一个基于 事件处理的b d ia g e n t 实现模型,它是软件a g e n t 的面向对象实现机制的基础。 在实现模型的基础之上,我们对软件a g e n t 的语言进行了定义。为支持基于a g e n t 的 软件开发,我们设计了基于j a v a 的软件a g e n t 开发环境j b s a d ,并讨论了它的运行环 境。 最后针对软件a g e n t 开发所必须的预编译器,进行了设计与实现。提出了基于眦p 文 件的预编译器结构。这样的一种结构,将基于j a v a 的软件a g e n t 各实体间的关系以文法 的方式嵌入到预编译器的语法树中,从而有利于语言的扩充,尤其是推理机制的实现。 关键字:a g e n t ;b d i 模型;a g e n t i 吾言;预编译器;m a p 文件 国防科学技术大学研究生院学位论文 a b s t r a c t t h ea g e n t o r i e n t e dm e t h o di s r e g a r d e da st h e4 t hg e n e r a t i o no fs o f t w a r e d e v e l o p m e n tp a r a d i g m i t sa p p l i c a t i o ng e t sm o r ea n dm o r ef o c u s t h em e t h o dh a s b e c o m eah o tf i e l di nc o m p u t e rs c i e n c e b u t ,u pt on o wt h es o f t w a r ed e v e l o p m e n t e n v i r o n m e n tw h i c hi sm a t u r ea n da c c e p t a n th a sb e e na b s e n t c o m p a r i n ga g e n t o r i e n t e dm e t h o dw i t ho b j e c t o r i e n t e dm e t h o d ,w ef i n dt h a t t h e r ea r es o m es i m il a ra s p e c t sb e t w e e nt h e m f u r t h e r m o r e ,a na g e n te n t it y ,w h i c h isc o n s t r u c t e db a s e do nt h em o d e lo fb d i ,p r e s e n t sit sa u t o n o m y ,p r o a c t i v e n e s s , r e a c t i v i t ya n ds o c i a la b i l i t yb yt h er e c i p r o c i t yo ft h r e et h i n k i n gs t a t e s a n d t h o s es t a t e sc a nb er e g a r d e da se n t i t i e st h a ta f f e c te a c ho t h e r s o ,t h e s ee n t i t i e s c a nb es i m u l a t e dt h r o u g he x t e n t i o nt oo b j e c t ,a n db ei m p l e m e n t e dt h r o u g hs i m u l a t i n g t h er a t i o c i n a t i o ns t a t e b a s e do nt h ea b o v e ,w eg e tab d ia g e n ti m p l e m e n t a t i o nm o d e lw h i c hi sb a s e d o ne v e n tp r o c e s s i n gb yd o i n gd e e pr e s e a r c ha n dm a k i n gs o m ee x t e n s i o n so nt h ef a m o u s b d im o d e l t h em o d e li st h eb a s i so fo b j e c t o r i e n t e di m p l e m e n t a t i o nm e c h a n i s mf o r t h es o f t w a r ea g e n t b a s e do nt h ei m p l e m e n t a t i o nm o d e l ,w ed e f i n eal a n g u a g eo fa g e n t i no r d e rt o f a c i l i t i n gt h ed e v e l o p m e n to fa g e n ts o f t w a r e ,w ed e s i g naf r a m e w o r kf o r t h e d e v e i o p m e n te n v i r o n m e n t ,w h i c hi sb a s e do nj a v a w ea l s od os o m ed i s c u s s i o no n t h ef u n n i n ge n v r i o m e n t a t1 a s t ,w ed e s i g na n di m p l e m e n tap r e c o m p l i e r ,w h i c hisr e q u i r e dt ot h e d e v e l o p m e n t o ft h ea g e n t b a s e ds y s t e m s i ti sas t r u c t u r et h a te m b e d st h e r e l a t i o n s h i o p sa m o n g s o f t w a r e a g e n t o b j e c t s , b a s e do n j a v a , i n t o t h e p r e c o m p l i e r ss y n t a x t r e e s t h u sisa v a i l a b l ef o re x t e n s i o no fl a n g u a g e , e s p e c i a l l yf o rt h ei m p l e m e n t a t i o no fr e a s o n i n gm e a c h a n i s m k e y w o r d s :a g e n t ,m o d e lo fb d i ,l a n g u a g eo fa g e n t ,p r e c o m p il e r ,m a p f il e s 里堕型堂垫查盔堂塑丕生堕兰堡笙塞 图2 1 水平层次结构 周目录 图2 2 垂直层次结构, 图3 1b d ia g e n t 的体系结构示意图 图3 2 基于事件驱动的单a g e n t 体系结构示意图 图3 3 基于事件驱动的a g e n t 内部推理过程 图4 1j a v a 基本原理 图4 2 软件a g e n t 语言中的四个基本类的继承关系 图4 4 w a “一f o r 语句的流图表示 图4 5 m a i n t a i n 语句的流图表示 图4 6 r e p l y 语句的流图表示。 图4 7 p a r a l l e l 语句的流图表示 图4 8j b s a d 框架结构示意图 图4 9a g e n t 运行机制示意图 图5 1j b s a d 预编译器总体框架图。 图5 2t r a n s l a t i o n 语法树示例图一 图5 3i n c l u d e m a p 语法树示例图, 图5 4t y p e p l u g i n 语法树示例图 图5 5m a p 文件的处理过程示意图 图5 6e n d i n g 规则示意图 图5 7t o k e n 规则示意图 图5 8p r o a l t 规则示意图 图5 9 通用规则链中类的继承关系, 图5 1 0 词法分析器结构图 图5 1 2 语法分析树的一般模型, 图5 1 3 语法树构建流程图 图5 1 4 类p a r s t r e e n o d e 派生的一部分结点类, 图6 1 两色球移动游戏板示意图 图6 2 两色球移动游戏的a g e n t 模式设计示意图 图6 3j b s a d 预编译器编译实例的输出 8 0掩m坞盟孔”盯黯鸲如虬钻曲射弛鼹船艇弱鼬乱以盯 , , , , , , 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目: 基王j ! 竖盟趑挂! g ! 望! 五握叠擅煎珏窥生塞塑 学位论叉作者签名:螫鱼叁 日期:御争年偿月砷口 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:基王j ! ! 的筮佳! g ! 堕! 五发巫擅的盟壅量塞婴 学位论文作者签名:熟也垒日期:御产年,二月:掣日 作者指导教师签名:篡复妾日期:弘甲年,z 月计日 国防科学技术大学研究生院学位论文 第一章绪论 1 1 概述 目前关于a g e n t 理论与技术的研究是人工智能、软件工程、并行与分布式计算、网络与 i n t e r n e t 、虚拟现实以及机器人等领域的热门课题。一些基于a g e n t 技术开发的系统已应 用于诸如空中交通控制、分布式车辆监控、通信网络管理、作业调度等生产实际领域以及 i n t e r n e t 上的智能信息检索、个人助手和基于移动a g e n t 的分布计算等”1 。随着计算机技术 的不断发展,a g e n t 在生产领域的应用需求会越来越大。 到目前为止,阻碍a g e n t 系统大规模应用的主要原因之一是缺乏完善的、易于接受的 a g e n t 开发环境。传统语言在编制a g e n t 方面力不从一l i , ,新的面向a g e n t 编程语言( a o p , a g e n t o r i e n t e dp r a n g r a m m i n g ) 又处于原型阶段,而近年来出现的a g e n t 开发工具应用面 狭窄,且极不成熟”1 。j a v a 以其与平台无关性的独特优势在1 9 9 5 年一经推出,便受到计算 机工业界的普通关注。j a v a 的面向对象、安全性、可移植性、结构中立、多线程、动态等 特性使其成为i n t e r n e t 编程的强大工具,同时也为创建a g e n t 系统提供了强有力的支持。 由于每个a g e n t 能智能地推理,并同其它的a g e n t 通讯和合作,这就注定了a g e n t 是一个 非常复杂的实体,从而导致构造一个多a g e n t 系统需要相当长的周期和对一些技术难题的 解决方案o ”。一般的程序设计语言象j a v a 和c + + 等提供了一个扩充的类库为一般的软件开发 提供便利,但这些类库往往并不能满足a g e n t 应用程序开发的需要。因此很多a g e n t 研究者 认为需要一种新的开发方法学和一组开发工具或- - 十a g e n t 语言来建立多a g e n t 系统,这类 开发环境和语言的研究在国内外己引起广泛重视。 基于b d i ( b e l i e fd e s i r ei n t e n t i o n ) 概念模型的a g e n t 具有主动性、自主性、驻留性、 社会性及反应性,这些特性决定了面向a g e n t 的软件开发方法在分布式软件开发中的地位。 它不仅具有面向对象方法的优点,即:具有模块性、重用性、扩展性、移植性,而且进一 步发展了面向对象的方法,提高了软件系统的智能性、互操作性、灵活性和程序自动化水 平、智能化水平。 因此,选择从一种面向对象语言的扩展来实现a g e n t 的概念模型,不但有利于面向a g e n t 软件的开发,而且还继承了现有的面向对象编程的全部特性。而a g e n t 所要求的即时通讯、 分靠式计算、多线程等特性,与j a v a 的诸多特性相似,故适合在j a v a 的环境罩进行面向 a g e n t 编程的扩展。加之,j a v a 所拥有的众多用户也极有利于使用的普及推广。 目前,我们正在研制丌发面向软件a g e n t 的智能系统开发环境j b s a d ( j a v a b a s e d s o f t w a r ea g e n td e v e i o p m e n te n g i r o n m e n t ) 。它是一个基于j a v a 的软件a g e n t 应用丌发环 始1 页 国防科学技术人学研究生院学位论文 境,它为a g e n t 系统的开发提出了一种方法,并提供了一组开发工具包和一套可扩充的类 库实现该方法的各阶段。开发人员只需关注领域级问题求解能力,a g e n t 级功能如通讯、 合作和协商等主要由构件库实现,从而大大方便了a g e n t 应用系统的开发。 j a c k “是基于j a v a 的智能a g e n t 实现的一个范例,是我们工作中的一个重要参考对象, 但其作为商业化的产品,并未提供任何设计粤实现方面的资料,我们仅能从j a c k 所提供的 用户使用手册中来进行评定。在j b s a d 的研究中,我们是根据对a g e n t 的研究自行开发设计, 当然,在j b s a d 的实现中,存在着许多j a c k 的痕迹。女u j b s a d 的语雷定义、一部分类库等。 1 2 课题研究内容和主要工作 一、b d i 概念模型的实现机制研究 不同的概念模型就其实现来说,具有不同的实现机制,甚至是同一概念模型,由于采 用的方法或技术的不同,也导致不同的实现设计方法。基于j a v a 的软件a g e n t 的实现是围 绕b d i 概念模型进行的,因而,其划分的模块、类及信念的组织、事件的处理、计划的调 度等,均是以处理b d i 事件为核心。同时,考虑到代码的重用性、结构的复杂性等诸多方 面就存在许多不同的组织方法。如何组织它们来充分体现软件a g e n t 的性能是本课题要研 究的一个主要问题。 面 甸a g e n t 的主要特征是每当需要处理某事件或有相应的目标时,都需要从自身的信念 集中进行相关的查询,从而决定下一步的动作,这一过程是与意图相关联。基于j a v a 的面 向a g e n t 的软件开发方法则是将对应的事件或目标映射成事件与消息,当有事件或消息到 达时,则调用推理元素来形成一系列相关的方法,从而完成对事件的处理。然而,推理机 制实现的好坏又直接地影响到a g e n t 的性能。 二、软件a g e n t 程序设计语言的定义 有了b d i 概念模型之后,为了软件a g e n t 的程序开发,有必要定义一种语言,而这种语 言首要的是满足程序开发者的需要。除此之外,还必须考虑到程序开发人员易于接受和学 习。由于j a v a 的种种特性适合作软件a g e n t 的扩展,因而,我们选择了j a v a 作为软件a g e n t 程序设计语言扩展的基础。 对语言的定义是通过对模式的研究后给出的,同时,还考虑到基于面向对象方法,我 们将实现模型划分成几个主要的实体。通过加入特殊的语言成分将实体问的关系与a g e n t 的推理方式有机地融合在一起。但选择哪些语言成分来实现实体间的关系以及推理状态是 本课题需要解决的另一个问题。 三、软件a g e n t 开发环境的研究 鹕2 班 国防科学技术大学研究生院学位论文 如何在基于面向对象的开发环境里实现a g e n t 的特性,是本课题研究的关键所在。而影 响它的关键因素之一,则是如何组织对象和扩展类以及它们之间的相互关系是什么。由于 从被动的消息处理机制向主动型的事件处理机制的转变,势必存在着选取的两难境地,一 方面若过于强调主动性,则导致开发环境的复杂性,另方面,若仅仅是强调通过对象问 被动的接收消息来实现a g e n t ,则难于发挥a g e n t 的全部性能。 四、面向a g e n t 软件开发的预编译器实现 从面向对象扩展出的面向a g e n t 的软件开发方法不但继承了面向对象的全部特性,还附 加了面向a g e n t 的特性,在面向a g e n t 的编程中,除附加的预编译指令外,还须将面向a g e n t 的诸特性转化成面向对象能够理解的指令程序。因而,需要一个预编译器将面向a g e n t 的 程序预先编译为j a v a 代码,然后交e h j a v a 虚拟机来执行。而预编译器实现的好坏,直接影 响到a g e n t 的性能。 本人在课题组中主要做的工作如下: 1 、本课题的前期调研工作: 2 、参与软件a g e n t 实现机制的探讨; 3 、承担j b s a d 开发环境体系结构的设计; 4 、承担预编译器的总体设计及部分实现。 1 3 论文的结构 本文共分为六章。具体如下: 第一章:绪论,主要介绍基于j a v a 的软件a g e n t 实现技术的现实意义、课题的研究 内容及论文的组织情况。 第二章:软件a g e n t 的相关理论,介绍a g e n t 的概念及其相关的基础理论,并对面向 a g e n t 方法与面向对象方法进行了比较,最后提出软件a g e n t 概念及其基于对象的软件 a g e n t 实现设想。 第三章:基于事件处理的软件a g e n t 体系结构,介绍b d ia g e n t 的体系结构,设计了 基于事件推理的b d i 实现模型,并介绍了该模型的推理机制。 第四章:软件a g e n t 语言及其开发环境j b s a d ,介绍了基于j a v a 扩展的软件a g e n t 开 发语言及j b s a d ( 基于j a v a 的软件a g e n t 开发环境) 体系结构,讨论了有关环境尤其是运 行类库的构件组成。 第五章:j b s a d 预编译器的设计及实现,介绍j b s a d 项目中预编译器的具体实现,解 决了b d i 机制中的静态检测问题。 第3 页 一 一 国防科学技术大学研究生院学侥论文 第六章:预编译器编译实例,通过实例介绍软件a g e n t 的程序设计,并介绍了j b s a d 预编译器的使用。 第七章t 结束语,对全文进行了总结,并指出下一步的工作方向。 第4 页 国防科学技术大学研究生院学位论文 第二章软件a g e n t 相关基础 a g e n t 概念早在6 0 年代就出现了,但那时专家系统是人们研究的重点,a g e n t 只是一个 概念。到t 7 0 年代,在分布式人工智能的早期研究阶段中,c a r lh e w i t t 在他的并发a c t o r 模型“”中定义a c t o r 时,间接地给出t a g e n t 的定义:“a c t o r 是一个计算a g e n t ,有一个邮 件地址及自己的行为,通过消息传递通信,动作具有并发性”,这个定义计划了软件 a g e n t 的雏形:自包含的( s e l f c o n t a i n e d ) 、交互的( i n t e r a c t i v e ) 、并发执行 ( c o n c u r r e n t l y - e x e e u t i n g ) 的对象。 也是从7 0 年代起,对a g e n t 技术的研究开始深入,并且渐渐分成了两个方向“1 : 其一集中在解决a g e n t 交互、任务分解与分配、a g e n t 合作及协商冲突消解等宏观问题 上( 1 9 7 7 一现在) ,他们的目标是描述、分析、设计、集成多a g e n t 合作系统,典型的成果 象a c t o r 模型( h e w i t t ,1 9 7 7 ) ”,m a c e ( g a s s e re ta 1 ,1 9 8 7 ) ”,d v m t ( l e s s e r c o r k i l l ,1 9 8 t ) “”等,他们强调的是a g e n t 的社会性。另外,这一方向还包括对a g e n 理论、 体系结构、开发语言等问题的研究,代表人如w o o l d r i d g e j e n n i n g s o ”。“。 其二则是从微观上出发,研究具有某种功能、支持某一应用的a g e n t ,强调a g e n t 的个 性( 1 9 9 0 一现在) 。a g e n t 的应用领域非常广泛,象流水线控制、数据采集、网络管理、信 息获取管理、空中交通管理、电子商务、交易过程模拟、数字图书馆、智能数据库、个 人数字助手、日程安排等等,象某位研究者曾说的一样:“i t 的发展会受到很大影响, 许多消费产品都会嵌入基于a g e n t 的系统。” 当然,这两个方向并不是严格分开的,而是互相交叠、互相影响的。 a g e n t 研究对软件开发方法学也产生了很大影响,形成了许多新概念“:基于a g e n t 的 软件工程( a b s e a g e n tb a s e ds o f t w a r ee n g i n e e r ) ,面向a g e n t 的计算( a o c a g e n t o r i e n t e dc o m p u t a t i o n ) ,面向a g e n t 的程序设计( a o p a g e n to r i e n t e dp r o g r a m m i n g ) , a g e n t 通信语言( a c l a g e n tc o m m u n i c a t i o nl a n g u a g e ) ,等等,促进了对新的软件开 发方法和范型的研究。a g e n t 技术与认知科学、心理学、经济学、组织学等许多学科都有 广泛的联系,并带动了这些相关学科的发展。 a g e n t 技术虽然已经有了一定的发展,但在a g e n t 概念定义上并没有达成一致观点,在 研究方法上也没有形成规范与标准。但计算机网络的发展,人工智能( a i ) 及分布式人工智 能( d a i ) 的发展都为a g e n t 技术研究提供了良好的机遇与环境,都证明t a g e n t 技术具有强 大的生命力,已经成为软件技术的发展趋势。 蒴5 页 国防科学技术大学研究生院学位论文 2 1a g e n t 概述 由于a g e n t 的研究者来自许多不同的领域,使得软件a g e n t 的含义也具有多重性,对于 一个完整的a g e n t 究竟应该有哪些特性,学术界和产业界迄今为止并没有一个一致认可的 定义。m a r v i nm i n s k y 从多a g e n t 系统的社会智能性角度出发,认为a g e n t 是这样一些进程, 它本身只会做一些不需要思考的简单事情但是当我们用某些特定的方法将这些主体组成 一个社会时,就产生了真正的智能。而y o a vs h o h a m 将a g e n t 赋予了一些人类的精神特性, 这种人类的特性被称为a g e n t 的强特性。 由c t :a g e n t 技术涉及到多个学科领域,并且在不同的应用领域对a g e n t 特性的要求亦各 有侧重,因而,对什么是a g e n t 仍缺乏统一的认识。但一般认n a g e n t 是一种具有定的自 主性、能与环境进行交互、并能解决某些问题的计算实体,它具有以下主要特性6 1 : 自主性( a u t o n o m y l a g e n t 的运行无需人类或其它a g e n t 的直接干预,并能对其自身行为及内部状 态进行某种控制。 社会性( s o c i a la b i l i t y ) 能通过某种a g e n t 通信语言与其它a g e n t ( 也可能是人类) 进行交互。交互主要 有三种类型:协作( c o o p e r a t i o n ) 、协调( c o o r d i n a t i o n ) 干t l 协商( n e g o t i a t i o n ) 。 反应性( r e a c t i v i t y ) 能感知它们的环境( 可以是物理世界、一个经图形用户接1 2 i 连接的用户、一系 列其它a g e n t 、i n t e r n e t 或所有这些的组合) ,并能对环境的变化及时作出反应。 主动性( p r o a c t i v e n e s s ) a g e n t 不但能对环境作出反应,而且它们能够积极主动地做出使其目标得以 实现的行为。 a g e n t 的定义与其说是规定什么是a g e n t ,不如说是各个领域对所要实现的a g e n t 的要求 和期望,各个领域因需要的不同,对a g e n t 的特性亦各有侧重,电就导致了不同类型的 a g e n t ,例如i n t e l l i g e n ta g e n t 强调a g e n t 应拥有知识并可以进行推理,从而体现出智能 性,而在m u l t i a g e n t 系统中则着重要求各个a g e n t 具有合作能力,即体现出社会性。 我们认为,a g e n t 一般用以描述一类计算技术及产品。前者抽象的定义a g e n t ,希望给 出类似对象( o b j e c t ) 的概念描述,支持一种新的面向a g e n t 的设计模式( d e s i g nm o d e l ) ; 后者则从a g e n t 应用系统应该具有的特征来定义a g e n t 。 软件a g e n t 作为一种技术推动了面向a g e n t 计算的研究和发展,后者被称为“软件开发 的又一重大突破”“。但a g e n t 较o b j e c t ( 对象) 复杂度高得多,是更完整、独立和自治 的软件实体,因此要将a g e n t 作为软件开发的基本单位,就a g e n t 本身的研究和开发来说, 也是一项长期的工作。不过,在y e a rs h o h a m 提出了h o p 的编程风范后,通过些学者进一 第6 页 国防科学技术人学研究生院学位论文 步的研究工作,已经提出了几种较好的a g e n t 理论,总体上说,a o p 中的a g e n t 应该: 1 ) 是并发执行的、自治的计算实体( 进程) ; 2 ) 是用信念、目标等心智状态概念编制而成的认知系统; 3 ) 是由描述逻辑规范的推理系统; 4 ) 采用言语行为协议和消息传递的方式相互通信。 这是在a o p 的背景下对软件a g e n t 的定义1 6 l 。 2 2a g e n t 体系结构 在构建a g e n t 系统时,如何体现a g e n t 的复杂行为,使其具有解决复杂问题的能力, 不同的设计哲学导致了不同的体系结构。 2 2 1 基于逻辑的体系结构 传统符号派a i 研究者认为复杂的行为和智能是通过拥有符号知识和运用这些知识进 行推理而实现的。基于这一观点而确立了a g e n t 基于逻辑的体系结构。在这种a g e n t 中, 对外部复杂的环境和a g e n t 的内部状态建立了清晰的符号表示,称之为心智状态。当a g e n t 感受到外部的输入时,将依据自己的心智状态来做出决策。这个决策过程是一个定理的证 明过程,而a g e n t 就相当于一个定理证明器。 这种a g e n t 使用“手段一结局”的策略进行问题求解:首先建立问题求解目标,并对 目标进行分解,以产生一组子目标,如有必要,分解过程对子目标可重复进行,直到子目 标直接对应一个动作。最后生成问题求解的一个动作序列。一旦执行某动作的条件满足, 它启动动作的运行。当动作序列的所有动作成功终止,问题求解成功结束。 但在实际应用中,这种a g e n t 存在诸多不足。复杂的外部环境和a g e n t 的内部状态符 号化表示是一个困难问题,需要成熟的知识库技术和知识获取技术的支持。在符号表示的 基础上进行复杂的推理,将极大地影响系统效率,不能满足很多应用对效率的要求,特别 是实时领域中应用系统的要求。这些问题在传统的a i 领域尚未很好地解决的。 2 2 2 反应式体系结构 另外一些研究者认为智能的、理性的行为是a g e n t 在与复杂的外部环境( 物理环境和 其它a g e n t ) 进行交互时,通过对外部刺激做出正确的反应而实现的,而不需通过类似于 定理证明这样复杂的过程来实现。 在反应式结构的a g e n t 内部,没有对外部环境的符号化表示。它具有一组带触发条件 的、可直接执行的动作,决策过程通过“刺激一反应”模式实现。这种a g e n t 通过感知器 获取外部信息,接收外部的刺激。在其内部对各种情况的处置进行了明确的定义,并对各 种处置定义了不同的紧急程度和优先级。当感知到某一外部信息时,不经过复杂的逻辑推 笫7 页 里堕型堂丝查盔兰婴塞生堕兰垡丝奎 理,只需进行简单的匹配操作来判断动作的触发条件是否满足。对于所有触发条件满足的 动作,将根据优先级选耿动作执行。 反应式a g e n t 判断触发条件是否满足只依据其当前的状态,而不考虑历史因素,并且 不为将来制定计划。一群反应型a g e n t 在完成某个任务时,不会因为某一个a g e n t 的失败 而失败,因此反应式体系结构具有较好的健壮性和容错性,同时能较好地适用于实时要求。 纯反应式a g e n t 只是基于当前的局部信息做决定,而不考虑非局部信息,在多a g e n t 系统中,这科t 短视行为将会造成无法预测的后果。 当所感知的情况能很好的匹配预先定义的触发条件时,反应式a g e n t 可以有效地进行 处理,否则它将无所适从。反应式a g e n t 还缺乏必要的学习能力和灵活性。这意味着反应 式a g e n t 只能运用于一些简单的、可以明确定义的领域。 2 2 3 层次式体系结构 单纯的基于逻辑的体系结构和单纯的反应式结构都有其难以克服的不足。为综合这两 种体系结构的优点,而克服彼此的不足,层次式结构便应运而生。在层次式结构中不同抽 象程度的行为可以对应不同的层次,这样在层次式结构的a g e n t 中可以通过将主动式行为 和反应式行为分别包含在不同的层次,来实现二者的互补。 层次式结构中有以下两种类型”1 : 水平层次结构 在水平层次结构中( 见图2 1 ) ,每一层都直接对应感知输入和动作的输出。即每一层 都根据输入的感知来对将要产生的动作提出自己的建议。这种层次结构在概念上实现起来 非常直观希望a g e n t 具有几种类型或者说是几种抽象程度的行为,就可以构造几层。 但各层输出的建议有时可能相互冲突、无法兼容。为解决这问题,在这种层次结构中引 入仲裁功能,以决定在不同的时刻,哪一层次对a g e n t 的动作输出更具有决定权。所以这 种类型的a g e n t 内部往往有一个中心控制。但由于各个层次的抽象程度不一样,各层次之 间存在一些交互,中心控制在进行决策时,要对各种情况的进行全面、综合考虑,往往是 十分困难的。因此,中心控制成为制约a g e n t 决策能力的瓶颈。 感知输 l a y e rn l a y e r2 l a y e r1 动作输出 图2 1 水平层次结构 垂直层次结构 垂直层次结构可分为单流向控制和双流向控制两种( 见图2 2 ) 。 第8 页 国防科学技术大学研究生院学位论文 l l a y e rn ii 一- i二l a y e r2- il a v e r1 l a y e rn 年 i iil a y e r2 : l a v e rl 感知输入 动作输出愿知输入 舣流向控制单流向控制 图2 2 垂直层次结构 在单流向控制中,当a g e n t 感知到输入后,控制流会顺序通过每一层,直到最后一层 动作输出。在双流向控制中,a g e n t 感知到输入后,首先信息流向各个层次,然后再逐层 返回控制信息。相对于水平层次结构,垂直层次结构中各层之间交互相对简单一些。 2 3 面向a g e n t 方法与面向o b j e c t 方法的比较聃 一、a g e n t 与o b j e c t 概念的比较 o b j e c t 是一个封装了数据和方法的实体。其实质是组数据和与它相关的方法及操 作。它的特征由属性表示,属性的数据值表示对象的状态。系统开发人员通过对象所具有 的属性来了解对象的静态结构。通过操作可改变对象的内部数据( 私有的和受保护的数 据) 。从而改变对象的状态,当其他对象向某个对象发送消息时,操作就可以进行和实现。 对象是为现实世界中的实体建立的抽象模型,包括了实体的属性及作用在实体上的操作。 它具有唯一性,封装性、继承性和多态性等特性。 a g e n t 的定义在前面己述及到。总的来说,a g e n t 的理论研究主要分为两条主线“1 :一 是s h o h a m 提出的强定义,如果一个实体可以用信念、承诺、义务、意图待精神状态进行 描述,那么该实体可视为一个a g e n t 。这一定义从精神状态的角度对a g e n t 进行了描述。 由于建立单个a g e n t 模型的目的是想模拟人的行为,而从精神状态的角度对人的行为分析 是比较自然的,这也正是a g e n t 吸引众多研究人员进行研究的原因之一。另一个则是 w o o l d r i d g e 提出的弱定义,如果一个实体具有自主性、反应性、主动性、社会性四条基本 性质,那么该实体也可视为a g e n t 。除此之外,a g e n t 还具有继承性、并发性、诚实性、 移动性等特性。a g e n t 的基本结构包括与外界交互的感知器和通信机制,对信息进行存储 加工的信息处理器及记忆库,根据共同目标及自己的职责所产生的目标模块和反作用于外 部环境的效应器。 由此,不难发现a g e n t 不仅不是对o b j e c t 的否定,相反它实际上是对o b j e c t 的延伸、 升华与发展。它们之间既有联系又有区别。a g e n t 与o b j e c t 的相同之处有:a g e n t 与o b j e c t 第9 页 鱼堕型堂垫查- 人堂型f 塑生堕兰垡丝塞 都是客观世界中实体的抽象模型:a g e n t 与o b j e c t 都具有自己的结构和属性;a g e n t 之间、 o b j e c t 之间都可以相互通信。因此,从共性的角度来看,a g e n t 也可视可一类o b j e c t ,a g e n t 具有自主性,而o b j e c t 一般不是自主的。 二、面向a g e n t 与面向o b j e c t 的思想与目标的比较 面向o b j e c t 的基本思想是从现实世界中客观存在的事物( 即对象) 出发,强调直接以 问题域中的事物为中心来思考问题、认知问题,根据这些事物的本质特征,将其抽蒙为系 统中的对象,并作为系统的基本构成单位。通过对象、类、继承、封装、消息等基本概念 来进行程序设计。 面向a g e n t 的基本思想是从现实世界中的人类、事务和环境出发,认为事物的属性, 特别是动态特性在很大程度上受到与其相关的人和环境的影响,强调认知、思维与客观事 物及其所处环境之间的相互作用,将影响事物的主观与客观特征相结合,并抽象为系统中 的a g e n t ,作为系统的基本构成单位,通过a g e n t 之间的合作实现系统的整体目标。 对象的属性和方法紧密结合反应了事物的静态特征和动态特征是事物不可分割的两 个方面,对属性和方法的封装反应了事物的相对独立性。然而,单纯研究事物自身固有的 静态和动态特性,对认识事物是肤浅的、不完全的和有缺陷的。与对象相比较,a g e n t 引 入了信念、期望、意图等心智状态和计划、学习等心智活动,将人类的主观意识与客观世 界紧密结合,反应了客观世界事物之间的深层联系及其静态和动态特性特征的本质与根 源。因而,面向a g e n t 的方法更切近客观世界的真实情况和人类解决问题的一般方法与习 惯,是面向对象的完善和发展。 客观世界中的事物不可能是完全孤立的,它与其所处的环境有着密不可分的联系,环 境的变化将会引起事物某些属性或特征发生变化,面向对象较少考虑动态环境对事物的影 响和作用,“以不变应万变”的方法缺乏灵活性和适应能力,而面向a g e n t 方法特别强调 对动态环境变化的适应能力。a g e n t 能够感知环境的变化,通过心智活动,相应调整其解 决问题的意图和策略以适应环境,其“顺势而为”的方法具有良好的灵活性和适应能力, 体现了“内因是决定事物变化的主要原因,外因通过内因而作用”这一哲学思想和人类进 化论的思想”1 。 三、a g e n t 与o b j e c t 系统运行机制的比较 多a g e n t 系统中每个a g e n t 均有各自的控制线程,每个a g e n t 都是一个主程序,自成 系统,各自决策自身的行为,其运行是并行的,是同一时刻有多个a g e n t 处于活动状态, 即多a g e n t 系统是一个多控制线程的并发系统。而大多数对象系统中只有一个控制线程 负责控制对其它对象的调用等,其运行的所有进程基本上是串行的和顺序的,在同时刻 只有一个对象的一个方法被激活,所有对象公用同一个控制线程,是一个单控制线程的顺 序系统。 面向对象采用较为封闭和静态的系统结构,所有的对象必须接受系统的严格管理和控 第1 0 烈 国防科学技术大学硼究生院学位论文 制,不允许对象的自由进出,增加或删除一个对象会对系统提出许多苛刻的要求。而面向 a g e n ti ) 1 i j 追求系统的开放性,采用较为松散的联邦机制,通过联合和协 乍柬实现其目标, 允许成员较为自由的进出,其结构可以是动态的,根据不同的目标组合成不同的组织结构。 对象之间具有非常密切的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论