首页 理论教育 Swarm建模平台7.2.1版本详解

Swarm建模平台7.2.1版本详解

时间:2023-07-23 理论教育 版权反馈
【摘要】:Swarm平台又称为Swarm库。使用Swarm提供的类库,用户可以构建模拟系统,使系统中的主体和元素之间通过离散事件进行交互。Swarm中的基本组成部分(对象)称为Swarm对象集合。一个Swarm包括一组主体及一个明确定义的必须处理的事件调度表。整个模型可以由一个Swarm表示,模型中的主体又可以是一个Swarm,因此,Swarm是一个可多层嵌套的过程。

Swarm建模平台7.2.1版本详解

Swarm是美国圣菲研究所(the Santa Fe Institute,SFI)最早开发的多Agent建模工具。Swarm是一个开放的、高效的、可信的、可重复使用的软件实验平台,它为复杂适应系统(complex adaptive systems,简称CAS,是复杂系统中的一大类,其核心思想是“适应性造就复杂性”)的分析与建模提供了一个标准的软件工具箱。Swarm平台又称为Swarm库。

SFI从1994年开始开发Swarm项目,于1995年发布了Swarm的Beta版,1997年发布了Swarm 1.0版,很快地,SFI在2005年已发布了Swarm 2.2版,且全面支持Java编程。

1.Swarm的开发思想

开发Swarm的思路来源于人工生命的研究思想。人工生命研究相对自治的实体之间以及与动态环境之间的相互交互,没有一个集中的“权威”个体指挥其他个体行为,每个个体可根据自己对环境的评估来决定它们自己的行为、内部状态,以及与其他个体的交互关系。基于这一思想,Swarm描述了一系列独立个体,通过独立事件进行交互作用。Swarm没有对模型及模型要素之间的交互作用做任何约束,所以Swarm可以模拟任何物理系统、经济系统和社会系统等。

如果适应个体是蚂蚁,那么一个蚂蚁群体可被看作是一个Swarm,即蚁群Swarm。尽管Swarm的概念包括了空间上的群体移动这样的含义,但更重要的是,Swarm作为一个整体,其行为来自个体间的非线性交互,以及个体行为与群体行为之间的反馈。个体行为的组合方式决定并影响着群体行为;反过来,群体行为作为一种环境,对个体行为的选择会产生影响,进而个体行为的选择又决定并影响着群体的行为。如此循环往复下去,其结果是个体行为对群体及环境的适应能力得到提高,群体行为本身的演化过程得以进化,最终,实现了用Swarm来模拟复杂适应系统的行为。

2.Swarm的建模思想

Swarm建模思想是在建立一系列独立的个体(又称Agent),然后通过独立事件之间的交互,来考察和研究系统的行为和演化规律。这些类库包括许多可重用的类似于支持模拟实验的分析、显示和控制。使用Swarm提供的类库,用户可以构建模拟系统,使系统中的主体和元素之间通过离散事件进行交互。(www.xing528.com)

Swarm中的基本组成部分(对象)称为Swarm对象集合。一个Swarm包括一组主体及一个明确定义的必须处理的事件调度表。整个模型可以由一个Swarm表示,模型中的主体又可以是一个Swarm,因此,Swarm是一个可多层嵌套的过程。Swarm模型的嵌套结构如图7.5所示。

个体定义了Swarm系统中的基本对象,即模拟部件。Schedule(时间表)则定义了这些对象之间事件发生的流程。特定的行为发生在特定的时间,行为的发展按照时间表的规定进行。时间表是一个数据结构,包含了各种事件的执行顺序。Probe(探测器)用来提取相应Agent的状态信息、行为方法等。

Swarm平台就是基于Agent的建模工具,其建模方法是自底向上先构筑每个实体Agent,再将这些Agent组装起来形成整个系统模型。在Swarm平台上,Swarm是基本构件,一个Swarm就是一个对象,它实现对内存的分配和对事件的规划。在建模和编程时,我们可以认为一个Swarm就是一个Agent。Agent通过规划技术来安排自己的行为,我们也可以认为一个Swarm是含有多个Agent的组织(相当于一个临时容器)。Swarm用规划技术对这些Agent的行为进行规划,如安排它们的执行顺序等。

图7.5 Swarm的嵌套结构

Swarm还为多层次建模提供了非常强的表达能力,它允许用户完整地建立和测试多层模型,Swarm可以明确地表达一个个自然结构,即把一组个体就像一个单独的个体一样,紧密地联系起来。由于Swarm可以在仿真运行过程中建立和释放,所以它可用来建立描述多层次的动态出现的模型。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈