空间信息系统原理_第1页
空间信息系统原理_第2页
空间信息系统原理_第3页
空间信息系统原理_第4页
空间信息系统原理_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、1.Agent简介,随着计算机网络、计算机通信等技术的发展,对于Agent以及多Agent系统(MASMultiAgentSystem)的研究已成为人工智能研究的一个热点。Agent技术提供了一种新的计算和问题求解风范,这主要是因为基于Agent的系统具有许多优点。Agent提供了一种远程智能程序设计的方法。多Agent系统放松了对集中式、规划、顺序控制的限制,提供了分散控制、应急和并行处理,并且多Agent系统可以降低软件或硬件的费用,提供更快速的问题求解。,1.1Agent的概念,什么是Agent?Agent没有一个统一明确的定义,Agent概念来自于分布式人工智能(Distributed

2、ArtificialIntelligent,DAI)领域,它是分布式人工智能的一个基本术语,是人工智能的一个原语。总结国内外对Agent的各种研究工作,我们发现,不同的研究人员都在自己的系统中赋予Agent不同的结构、内容和能力,以方便自己特定方向的深入研究。但是在分布计算领域,人们通常把在分布式系统中持续自主发挥作用的、具有以下特征的活着的计算实体称为Agent:,1.1Agent的概念,1、自主性Agent具有属于其自身的计算资源和局部于自身的行为控制机制,能够在没有外界直接操纵的情况下,根据其内部状态和感知到的环境信息,决定和控制自身的行为。2、交互性Agent能够与其他Agent(包括

3、人),用Agent通信语言实施灵活多样的交互,能够有效地与其他Agent协同工作。3、反应性Agent能够感知所处的环境,并对相关事件作出适时反应。4、主动性Agent能够遵循承诺采取主动行动,表现出面向目标的行为。,1.1Agent的概念,目前在主流的分布计算领域为人们广泛认同的Agent概念,是具有上述4个特性的计算实体。在系统或者是应用设计的中引入Agent技术,可以适应计算机支持的协同工作等应用需求,使系统具有下列特点:系统实体具有感知环境变化的能力系统实体可以对外界的变化进行主动反映通过系统实体的协作提高系统的并行能力可以对用户提供个性化的服务,1.2Agent结构,Agent的结构

4、描述了组成Agent的基本成分及其作用、各成分的联系与交互机制、如何通过感知到的内外部状态确定Agent应采取的不同行动的算法,以及Agent的行为对其内部状态和外部环境的影响等等。目前,人们已提出的Agent的结构大致可分为以下三类。1、审慎式结构(DeliberativeArchitecture)该结构的特点是Agent中包含了显式表示的世界符号模型,Agent的决策是通过基于模板匹配和符号操作的逻辑(或准逻辑)推理作出的,如同人们通过“深思熟虑”后作出决定一样,因此被称为审慎式的结构。该结构在分布式人工智能领域占主导地位。,1.2Agent结构,2、反应式结构(ReactiveArchi

5、tecture)该结构的特点是Agent中包含了感知内外部状态变化的感知器、一组对相关事件作出反应的过程,和一个依据感知器激活某过程执行的控制系统,Agent的活动是由于受到内外部某种“刺激”而发生的,因此被称为反应式的结构。该结构在目前主流的分布式系统中占主导地位。3、混合式结构(HybridArchitecture)该结构的特点是Agent中包含了审慎式和反应式两个子系统,通常这两个子系统是分层次的,前者建立在后者的基础之上。这种结构的研究与实验目前在人工智能领域较为活跃,有关成果将对分布式系统中Agent应用功能的增强产生直接影响。,1.3Agent环境,针对于上面提出的三种Agent的

6、结构,分别有相应的环境进行支持。1、面向审慎式结构的支持环境此类支持环境通常建立在知识系统支持技术和主流网络计算技术的基础上,进一步提供了Agent程序设计语言和Agent通信语言等工具。2、面向反应式结构的支持环境此类支持环境通常建立在分布式对象技术的基础上。因为反应式Agent的结构与对象的结构存在很大的相似性,利用带有专门控制器的对象可以实现反应式Agent。此类支持环境提供各种控制器的框架,以及基于框架的Agent定义与生成工具。3、面向混合式结构的支持环境此类支持环境建立在层次化的分布式对象技术和知识系统技术的基础上。,1.4Agent的实现技术,目前,Agent的实现方法主要有四个

7、:1.分布式对象技术虽然Agent和对象具有不同的能力和不同的表现方式,但Agent与对象都属于对象的概念范畴,可以将Agent看作是“对象+行为引擎”。可以通过纵向或横向扩展实现主动服务机制,使得在分布式对象环境中能够方便地实现具有自主性、交互性、反应性和主动性的Agent。从主流的分布计算技术和应用角度来看,发展分布式对象技术对多Agent应用系统的支持将是一项十分有意义的工作。当然,利用分布式对象技术来构造Agent系统也存在一定的局限性:这种方法只适合于构造确定的Agent系统,而不是Agent开发环境。用这种方法构造而成的系统,只能适合特定软、硬件平台,并且构造方法和技术复杂,一般人

8、员难于掌握。,1.4Agent的实现技术,2.JAVA语言JAVA是一种简单的面向对象的、分布的、健壮的、安全的、平台无关的、可移植的、高性能的、多线程的以及动态的解释型程序语言。JAVA不仅仅是一种程序语言,它更是一种网络操作系统,它可以依赖于不同的操作系统。利用JAVA的可移动Agent技术可以构造可移动Agent系统。可以说JAVA就是一种Agent开发环境。当前程序的发展模式由整体向构件过渡,虽然JAVA本身是一个跨平台的开发语言,它在集成不同语言的构件时也有很大的优势,但正是由于它的跨平台性,它的一个致命的弱点就是它的慢速度。目前,已有不少基于JAVA的Agent系统,如:Gener

9、alMagic公司的Odyssey,日本三菱公司的Concordia,ObjectSpace的Voyager以及IBM公司的MemoryAgent等。,1.4Agent的实现技术,3.Script语言Script语言是一种解释性程序开发语言,它本身就是一个分布式计算平台,它在集成用不同语言实现的、分布在不同宿主、不同操作系统的构件时,具有其它语言无可比拟的优势。更重要的是,它贴近用户所熟悉的问题域,易于为不同层次的用户所掌握。Tcl语言(ToolCommandLanguage)正是这样一种解释型的面向对象的Script语言,它与Web技术、Agent技术紧密结合,并且代码开放,易于扩展,是当今

10、Script发展的主流方向。目前,已有不少研究人员对Tcl语言进行扩充,以便能够方便地构建Agent,其中有代表性的就是Dartmouth学院的AgentTcl和UMBC的TKQML/Tk。同JAVA一样,Script语言的弱点之一也是速度慢;另外在不同领域的应用需要对Script进行分别扩充。,1.4Agent的实现技术,4.Agent语言面向Agent的程序设计语言(Agent-OrientedProgrammingLanguage,AOPL)是一种新型的程序设计语言,这种语言提供了一些用于Agent通讯的高层原语,是一种面向人工智能领域的Agent开发环境。但是AOPL还处于试验阶段,离

11、实用化还有很长一段距离,1.5Agent技术的优点,Agent技术最重要的贡献就是它提供了一种全新的软件工程思想。它提供了一种概念清晰、条理清楚的分布式系统建设思想。当然,Agent技术也带来软件系统能力的提高。这里的能力提高包括两个方面:一个是能力的增加,比如合作;另一个是能力的增强,比如并行和移动所带来的效率的提高等。1.Agent在系统中,就是一个个独立的、具有自主性的实体。它能够感知系统的环境,根据环境的变化作出一定的反应。与通常的只有通过消息、过程或方法调用才能引起系统中的一个实体的反应就有很大的提高。,1.5Agent技术的优点,2.Agent在系统中可以剪裁自己,随着自身的运行或

12、者是环境的变化,加强或者减弱自身的能力,从而很好的去适应环境。这样与通常的系统中实体如果要变化就必须重新设计或者重新编码有明显的改善。3.在设计系统的时候,可以没有必要一定要从全局出发,通盘考虑设计系统。可以将系统的功能分放到不同的Agent中,然后,仔细考虑每个Agent的设计和实现就可以了。这样,就可以避免因为系统设计时的疏忽而引起的系统崩溃,而且,使系统功能的扩展也变得十分简单。,1.5Agent系统实例,下面介绍几个Agent系统实例:Geo-Agents北京大学人工智能实验室的Geo-Agents系统是一个基于DCOM面向GIS的Agent系统。Geo-Agents系统由GuServ

13、er以及五类Agent组成,它们是:AgentEntry、Facilitator/AgentServer、ASAgent、通用Agent、专用Agent。所有的Agent都是基于Agent基类来构造的。Agent基类是基于DCOM和多线程的对象,主要由消息通讯系统、消息分类处理器、线程管理器、Agent实例管理器、应答结果管理器这些部分组成。在Geo-Agents原型系统的实现中,大量使用了线程。由于线程可以创建线程,而且同一进程的多个线程属于同一个用户,它们可以并行执行且相互之间紧密合作,因此,多线程是实现Geo-Agents控制系统的核心技术。另外,线程具有运行、挂起、就绪和终止等几种状态

14、,可以有效地利用CPU资源。,1.5Agent系统实例,在Geo-Agents系统中,为了提高效率,采用多线程并发地处理事务。例如,一个Agent是通过消息处理线程来分类和处理接收到的消息,而消息处理线程在具体处理每个消息时有会有不同的策略,它可能会直接处理该消息,也可能会再启动多个线程具体处理某个消息,因此在这里需要处理好多个线程之间同步。利用DCOM机制来实现Geo-Agents系统,无论从实现的过程还是实现的难易程度来看都是比较令人满意的。但其中也存在着一些问题,主要有:实现真正的移动比较困难,Geo-Agents所采用的移动策略使得Agent粒度小,Agent多,每类Agent都需要一

15、个Server,占用资源多;DCOM结构复杂,难于掌握,一般用户难以开发新的Agent;注册:Agent作为DCOM需要在DCOM库中注册才能使用,Agent本身又需要在Agent系统中注册。,1.5Agent系统实例,FacilitatorAgent,ModalityAgents,Registry,InteragentCommunicationLanguage,自然语言理解,对元数据进行解释,TheOpenAgentArchitecture(OAA),OAACharacteristics,Open:,Extensible:,Distributed:,Parallel:,Mobile:,Hig

16、h-level:,Multimodal:,agentscanbecreatedinmanylanguagesandinterfacewithexistingsystemsagentscanbeaddedorreplaceddynamicallyagentsarespreadacrossmanycomputersParallelexecutionofsubtasksLightweightinterfacesonphoneand/orPDAhidessoftwareandhardwaredependencieshandwriting,speech,gestures,anddirectmanipul

17、ationcanbecombinedtogether,1.5Agent系统实例,1.6Agent技术在GIS中的应用,分布式地理信息系统是一个复杂的软件系统,将Agent技术引入GIS领域,为分布式地理信息系统的建设提供一个全新的概念和方法,有着重要的应用意义。当然,不同领域的专家对Agent有着不同的理解和定义,对我们来说,我们在分布式GIS里引进Agent技术,是为了要降低分布式地理信息系统的复杂性和建设难度,解决网络地理空间信息服务功能以及GIS应用领域中的协作问题,同时也为了改善分布式地理信息系统的服务能力和服务效率。Agent技术在分布式GIS中主要应用在以下几个方面:1.应用领域内的协作:GIS应用领域中很多任务需要合作才能完成。利用Agent的协作性,开展GIS应用领域的协作研究;,1.6Agent技术在GIS中的应用,2.服务领域的服务协作:同应用领域的协作略有不同,服

温馨提示

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

评论

0/150

提交评论