收藏 分享(赏)

9第九章 基于Agent的建模方法及Swarm仿真.doc

上传人:精品资料 文档编号:11120527 上传时间:2020-02-08 格式:DOC 页数:14 大小:256.50KB
下载 相关 举报
9第九章 基于Agent的建模方法及Swarm仿真.doc_第1页
第1页 / 共14页
9第九章 基于Agent的建模方法及Swarm仿真.doc_第2页
第2页 / 共14页
9第九章 基于Agent的建模方法及Swarm仿真.doc_第3页
第3页 / 共14页
9第九章 基于Agent的建模方法及Swarm仿真.doc_第4页
第4页 / 共14页
9第九章 基于Agent的建模方法及Swarm仿真.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、1第九章 基于 Agent 的建模方法及 Swarm 仿真9.1 Agent 的基本概念9.1.1 Agent 的定义在英文中, “Agent”这个词主要有三种含义:一是指对其行为负责的人;二是指能够产生某种效果的,在物理、化学或生物意义上活跃的东西;三是指代理,即接受某人的委托并代表他执行某种功能。通常认为一个 Agent 应具有以下全部或部分特征:1) Agent 是一个具有明确边界和界面的问题求解实体。2) Agent 处于特定环境之中,它通过感知器来观测环境,通过效应器来作用于环境。3) 自治性 这是一个 Agent 最本质的特征。Agent 的自治性体现在:Agent 的行为应该是主

2、动的、自发的(至少有一种行为是这样的);Agent 应该有它自己的目标或意图;根据目标、环境等的要求,Agent 应该对自己的短期行为做出计划。4) 社会性 无论是现实世界,还是虚拟世界,通常都是由多个2Agent 组成的系统。在该系统内,单个 Agent 的行为必须遵循和符合 Agent 社会的社会规则,并能通过某种 Agent 交互语言,以它们认为合适的方式与其它 Agent 进行灵活多样的交互,并与其它Agent 进有效地行合作。5) 反应性 Agent 能够感知其所处的环境(可能是物理世界,或操纵人机界面的用户,或与它进行交互和通讯的其它 Agent 等等),并能及时迅速地对之作出反应

3、,以适应环境的变化。概括起来,可以说 Agent 是实际系统的某种抽象(一般是系统物理实体抽象,但根据需要也可能是系统功能的抽象) ,它能够在一定的环境中为了满足其设计目标,而采取一定的自主行为;Agent总是能够感知其所处的环境(在真实世界中的 Agent 通过物理传感器进行,软件 Agent 则通过软件传感器进行) ,并且有可以影响环境的多个行为能力,能够适应环境的变化。9.1.2 Agent 与对象对象与 Agent 之间有许多共同点,如数据和方法的封装,又如Agent 可以拥有对象的继承与多态等性质。Agent 与对象之间又有一些明显的区别:首先就是 Agent 和对象的自治程度。3其

4、次,对象和 Agent 的另一个重要区别是有关自治行为的灵活性(自治性、反应性、社会性) 。标准对象模型和由 Agent 组成的系统的第三个重要区别是:对每一个 Agent 来说,它都有自己独立的控制线程;而在标准的对象模型中,整个系统才有一个控制线程。主动对象拥有自己的控制线程,可以在没有其它对象控制的情况下自主地实施自己的某种行为或某些行为。主动对象是 Agent,也可以称 Agent 就是主动对象。事实上,现在许多 Agent 开发工具和应用实例都是用面向对象技术来实现的。9.1.3 多 Agent 系统面对复杂系统,用单个 Agent 来描述显然是不合适的,必须用多个 Agent 来刻

5、画、抽象这样的系统。通常,我们就将这种由多个Agent 组成的系统称为多 Agent 系统(MultiAgent System, MAS) 。多 Agent 系统具有以下特点:1) 高层次的交互 MAS 除了可以描述传统的客户/服务器类型的交互方式外,还可以描述复杂的社会交互模式:合作(为了共同目标一起工作) 、协调(协调问题求解行为以避免有害的交互或利用有益的交互) 、协商(所有的参与交互的各方达成都可以接受的4协议) 。2) Agent 之间的丰富的组织关系 多 Agent 系统通常反映了这种组织环境,Agent 之间的关系可以是来自于组织者中的各种关系,例如同等关系、上下级关系等,3)

6、数据、控制、资源的分布 MAS 特别适合于需要多个不同的问题求解实体相互作用共同求解某个共同的问题或它们各自问题的领域,而多数情况下,这些实体、数据和资源在物理或逻辑上是分布式的。 9.1.4 Agent 的作用1、应用方面 1) 模块化 2) 分散化 3) 可变性 4) 不良结构 5) 复杂性2、研究方面复杂性科学是指以还原论、经验论及“纯科学”为基础的经典科5学正在吸收系统论、理性论和人文精神而发展成的一门新学科。现在兴起了一种崭新而前景广阔的研究方法:基于 Agent 的建模与仿真技术。9.2 基于 Agent 的建模方法9.2.1 基于 Agent 的建模思想 基于 Agent 建模的

7、思想:人们将 Agent 作为系统的基本抽象单位,必要的时候可赋予 Agent 一定的智能(Intelligent) ,然后在多个Agent 之间设置具体的交互(Interact)方式,从而得到相应系统的模型。这样,Agent、智能和交互便是基于 Agent 建模思想中最基本也是最重要的内容.1) Agent Agent 是一个自治的计算实体,它可以通过感应器(物理的或软件的)来感知环境,并通过效应器作用于环境。2) 智能 说 Agent 具有智能,并不是指它是全知全能的,也不是说它永远不会失败;而是说 Agent 在变化的环境中灵活(即具有柔性)而有理性地运作,具有感知和效应的能力。3) 交

8、互 交互是指 Agent 可以被其它的为追求自己的子目标而执行相应任务的 Agents(或人)所影响。交互可以通过他们之间6共享的环境或共享的语言来实现。在合作的情况下,多个 Agent 通过交互,以团队的方式一起工作来共同完成系统的目标;在冲突的情况下,Agent 之间要通过交流来化解冲突,最终实现系统的目标。基于 Agent 的建模是一种由底向上(Bottom-Up)的建模方法,它把 Agent 作为系统的基本抽象单位,采用相关的 Agent 技术,先建立组成系统的每个个体(individual)的 Agent 模型(大多数时候它是比较简单的) ,然后采用合适的 MAS 体系结构来组装这些

9、个体 Agent,最终建立整个系统的系统模型。9.2.2 面向 Agent 的系统分析1) 基于 Agent 的 MAS 的系统层次模型Agent层个 体 Agent特 征模 型MAS层图 10.1 基 于 Agent的 系 统 模 型 的 层 次1、发现个体 Agent7对于给定的系统(有确定的系统问题域和系统边界) ,发现个体 Agent 的任务就是解决这样的问题:将系统中的什么映射为Agent?也就是对系统进行 Agent 抽象。对系统进行 Agent 抽象的基本原则是:从系统的物理结构出发,围绕着系统的目标来对系统进行抽象。以系统的物理结构作为抽象的基点,就意味着可根据物理世界的实际构

10、成来划分 Agent。一般的处理原则是,将组成系统的每个实体都抽象为一个 Agent(可其称为实体 Agent) ,这对自然的分布式系统尤为实用。这时,有两个问题需要注意:1)异质 Agent 与同质 Agent 的处理 2)抽象的粒度 设计一些其它的辅助 Agent,通常这类 Agent 被称为集中服务Agent。2、个体 Agent 的建模1) 基于逻辑的 Agent 模型 在该模型中,Agent 决策的制定过程是通过逻辑演绎的方式来实现的,类似于专家系统。2) 反应式 Agent 模型 在该模型中,Agent 决策的制定过程是通过环境与行为的直接映射来实现的,如一般的控制器。83) 信念

11、-愿望- 意图 Agent 模型 在该模型中,Agent 决策的制定过程是依赖于表达 Agent 的信念、愿望和意图的数据结构之间的操作来实现的,它更接近人类的思维方式。Agent 的基本组成:1) 每个 Agent 都有自己的状态。2) 每个 Agent 都拥有一个感知器来感知环境,即根据环境的状态来改变自己状态的方法。3) 每个 Agent 都拥有一个效应器作用于环境,即用来改变环境状态的方法。环 境感 知 器效 应 器内部状态图 10.2 Agent的 通 用 模 型3、多 Agent 的体系结构1) 系统应有多少 Agent?92) Agent 之间采用什么样的通信渠道?3) Agen

12、t 之间采用什么样的通信协议?4) 怎样建立 Agent 与其相关的其它 Agent 之间的结构? 5) Agent 之间如何协调它们的行动?要解决好上述 5 个问题的前提条件是:对物理系统的透彻了解和对系统目标的准确把握。在这个阶段,对相关技术的了解(如面向对象的消息传递、常用的合同网协议、耗散机制等)也会促进问题的解决,同时,可能会根据需要返回到前两个阶段进行再分析。问题解决后,我们就建立了一个完整的多 Agent 系统模型。9.3 Swarm 简介Swarm 提供了用于像多 agent 系统这样的设计、实现、运行和分析的工具。9.3.1 Swarm 的思想人工生命这样的复杂适应系统的基本

13、特征是:分散的相对自治的实体之间以及与动态环境之间相互交互,没有一个集中的权威来指挥这些个体的行为:每个个体根据对环境的评估来决定它们自己的行为、内部状态以及与其它个体和环境的通信。Swarm 就是基于这样的思想,描述一系列独立的个体,通过独10立事件进行的交互作用。建模者可用“Swarm”来作任何松散结构的相互交互的 Agent集合的容器。Swarm 这一概念之所以非常重要和具有吸引力,是因为个体行为与群体行为的耦合。Swarm 作为一个整体的行为是来自个体的非线性的交互,包括个体行为与群体行为之间的反馈。9.3.2 Swarm 的发展历程由于 Swarm 是一个开放式的开发平台,所以目前它

14、不仅被研究者应用于生物学领域,而且在许多领域中都得到了应用:人类学、计算机科学、国防、经济学、生态学、地理学、工业、政治学等等.9.3.3 Swarm 的建模思想和方法SWARM 的建模思想是把一个个体、包括它的部件和时间表封装起来。一个“swarm”代表一个个体的集合和它们的行为为时间表。SWARM 中的模块化和组件思想允许建立一个灵活的模型系统。SWARM 可以嵌套,可以直接表示多层模拟,而且它们可以被个体用作自身环境的模型。多层次的建模方法可以提供非常有强的表达能力。SWARM 允11许用户完整地建立和测试多层模型。SWARM 可以明确地表达一个自然的结构,即一组个体紧密联系得一个个体一

15、样。由于 swarm,可以在模拟运行的过程中建立和释放,SWARM 可用来建立描述多层次的动态出现的模型。图 9.6 表示了一个复杂的嵌套式的 Swarm层次结构。Swarm 支持个体建立自身所在环境的模型。Swarm 平台就是基于 Agent 的建模工具,其建模方法是从底向上(Down-Up ) ,先构筑每个实体 Agent,再将这些 Agent 组装起来形成整个系统的模型。在 Swarm 平台上,swarm 是基本构件,一个 swarm 就是一个对象,它实现内存的分配和事件的规划。在建模和编程时,可以认为一个 Swarm 就是一个 Agent, Agent 通过规划技术来安排自己的行为;也

16、可认为一个 swarm 是某个组织,有多个 Agent 居于其中, Swarm 可用规划技术来对这些 Agent 的行为进行规划。12Sub-Swarm Agent Swarm The Model Schedule Sub-Sub-Swarm 图 10.6 Swarm的 嵌 套 式 层 次 结 构9.3.4 Swarm 的体系结构和仿真结构Swarm 仿真的基本单位是个体。每一个个体就像系统中的一个演员。它们能够产生动作并影响自身和其他个体。个体定义了 Swarm 系统中的基本对象。一个时间表规定了这些对象独立事件发生的流程。在 Swarm 中,特定的行为发生在特定的时间,行为的发展按照时间表

17、的规定进行。除了作为个体的容器外,Swarm 自身也可以是个体。一个典型的个体是一个包括一系列规则、反映和刺激的模型。但是,一个个体自身也可以作为一个 Swarm:一个对象的集合和动作的时间表。13ObserverSwarm Agent_1 Swarm_n SwarmModel Agent_m 图 10.7 Swarm仿 真 程 序 的 构 件 结 构G U I M o d e l S w a r m K e r n e l O p e r a t i o n S y s t e m C P U 图 10.8 Swarm仿 真 程 序 的 执 行 层 次9.3.5 Swarm 的基本特征和 Java 接口9.4 Swarm 应用实例9.4.1 热虫(Heatbug)整个系统的基本构成单位是 Agent,每个 Agent 代表一个热虫(一种生物) 。很显然,热虫有其活动的时空范围(即环境) ,在14Swarm 中将其称为 world。在该模型中,world 有空间属性(热虫所处的位置)和热量(它在系统运作的时间内不断地产生并散失) 。Swarm 提供了 2 维的显示平面来显示 world 和在其中运行的所有Agent(点或方框) ,如图 9.11。?

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报