- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章 基于Agent的建模方法及Swarm仿真 为了研究或应用的需要,对所研究的系统进行必要的化简,并用适当的形式或规则把它的主要特征描述出来,这就形成了模型。这种抽象的过程也就是建模的过程。人们提出了许多建模的方法和技术。尤其是计算机工程领域,产生了一系列的建模方法,常用的有:过程抽象、数据类型抽象、结构化编程、面向对象的方法、基于构件的方法等。 现在人们又提出了基于Agent的建模方法,并由此衍生出一系列的相关概念和技术。 如基于Agent的软件工程(ABSE:Agent-Based Software Engineering)、基于Agent的计算(Agent-Based Computing)、面向Agent的程序设计(AOP:Agent-Oriented Programming) Agent通信语言(ACL:Agent Communication Language)等等。 由于Agent 具有巨大的研究优势和应用前景,九十年代以来,Agent已成为了计算机领域和人工智能研究的重点前沿;与此同时,许多领域都在借鉴或采用该概念进行本领域的研究工作。本章主要介绍基于Agent 的建模方法,以及用于Agent建模和仿真的Swarm平台和应用实例等。 9.1 Agent的基本概念 9.1.1 Agent的定义 Agent 最初来源于分布式人工智能的研究。目前,由于Agent 已经渗透到计算机科学技术的许多领域和许多非计算机领域中,所以从一般意义上很难给出Agent 严格而清晰的定义,到目前为止,还没有形成一个统一确定的Agent定义。 在英文中,“Agent”有三种含义:一是指对其行为负责任的人;二是指能够产生某种效果的,在物理、化学或生物意义上活跃的东西;三是指代理,即接受某人的委托并代表他执行某种功能或任务。 基于对Agent英文原意的理解,常被人解释为代理。但随着Agent广泛应用的不同领域,不再局限于“代理”。 1.Agent应具有的特性: 1)Agent是一个具有明确边界和界面的问题求解实体。 2)Agent处于特定环境之中,它通过感知器来观测环境,通过效应器来作用于环境。 3)自治性。这是一个Agent 最本质的特征。 4)社会性。无论是现实世界,还是虚拟世界,通常都是由多个Agent组成的系统。在该系统内,单个Agent或多个Agent的行为必须遵循符合Agent社会的规则。能通过Agent交互语言,与其他Agent进行灵活多样的交互,并有效进行合作。 5)反应性。Agent能够感知其所处的环境,可能是物理世界,或操纵人机界面的用户,或与它进行交互和通信的其他Agent等等。并能及时迅速地作出反应以适应环境变化。 在一些特定领域的研究,特别是人工智能领域的研究,还赋予Agent一些更高级的特性,使其更符合于所研究对象的特征: 1)理性。Agent没有相互冲突的目标。 2)诚实性。Agent 不故意传播虚假的信息。 3)友好性。 Agent 总是尽可能地完成其他Agent的请求。 2. 特性综合: 可以看出,Agent的特性常常因为应用的不同领域而有所不同,也就形成对Agent 的不同理解或定义。但是,自治性是Agent概念的核心。在实际应用中,Agent常被分为三种类型: 类型Agent:描述特定实体或某一类实体。 集中服务Agent(多Agent):为多个Agent提供特定的服务或一组服务。 移动Agent:可在不同的实体之间进行移动. 概括起来,可以说Agent是实际系统的物理实体抽象或系统的功能抽象,它能够在一定的环境中为了满足其设计目标而采取一定的自主行为;Agent总是能感知其所处的环境,适应环境变化。 9.1.2 Agent与对象 对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。从认识论的角度来说,对象就是一种抽象技术,他的最基本特征是封装、继承和多态;从软件的角度来看,对象是一个计算实体,它封装了一些状态以及可根据这些状态采取特定措施的方法,对象之间可通过消息的传递来进行交互。从这些方面来对比对象与Agent ,可以看出它们之间有许多共同点,如数据和方法的封装,因为Agent是一个独立的个体。拥有对象的继承与多态等性质。但又有一些区别。 Ageng与对象的一些明显区别: 一是Ageng 和对象的自治程度。 二是有关自治行为的灵活性,即自治性、反应性、社会性。 三是对每一个Agent来说,它都有自己独立的控制线程;而在标准的对象模型中,整个系统才有一个控制线程。 值得注意的是:尽管Agent与对象有着重大的区别,但这并不妨碍用面向对象技术来实现Ageng。事实上,现在许多Agent开发工具和应用实例都是用面
文档评论(0)