当前位置:文档之家› 基于多Agent复杂系统仿真平台研究

基于多Agent复杂系统仿真平台研究

基金项目:河海大学常州校区博士启动基金项目(05B001-03)收稿日期:2006-11-11 修回日期:2006-11-18 第24卷 第12期计 算 机 仿 真2007年12月 文章编号:1006-9348(2007)12-0283-04基于多Agen t 复杂系统仿真平台研究倪建军,李建,范新南(河海大学计算机及信息工程学院,江苏常州213022)摘要:复杂性科学是研究复杂系统和复杂性的一门新兴的交叉学科。

基于多主体(Agent )复杂系统仿真技术是研究复杂系统复杂性产生机制的有效手段之一,在众多领域得到广泛应用。

为了使研究者从复杂的软件编程中解放出来,集中精力进行科学研究,开发高效的、易用的仿真平台成为推动基于多Agent 复杂系统仿真技术进步的关键。

针对目前多Agent 仿真平台存在的局限性,进行仿真平台的结构设计,并开发了原型系统。

最后,利用热虫(Heatbug )模型验证仿真平台的有效性。

关键词:基于多主体仿真;复杂系统;仿真平台;热虫模型中图分类号:TP311152 文献标识码:BA Com plex System S im ula tionPla tform Ba sed on M ulti -Agen tN I J ian -jun,L I J ian,FAN X in -nan(College of Computer &Infor mation Engineering,Hohai University,Changzhou J iangsu 213022,China )ABSTRACT:The comp lexity science is a rising interdiscip line which studies the comp lex system and comp lexity .The comp lex system si mulation based on multi -Agent is one of the very useful methods forresearching the comp lexity p roducing mechanis m of comp lex system.This method is used in many fields w idely .In order to make the researchers released from the soft p rogramm ing and fix attention on their study,an effective and convenient si mulation p latfor m must be developed,which is a key job to i mp rove the comp lex system si mulation method based on multi -Agent .A i med at the li m itations existing in the si mulation p latfor m at p resent,a frame of si m ulation p latfor m is given out,and the p rototype system is developed .A t last a Heatbug model is used to confir m the validity of the si m ulation p latfor m.KEYWO RD S:Si mulation based on multi -Agent;Comp lex system;Si mulation p latfor m;Heatbug model1 引言复杂性科学是研究复杂系统和复杂性的一门新兴的交叉学科。

虽然它还处于萌芽时期,但已被有些科学家誉为是“21世纪的科学”。

如何对各类复杂系统的复杂性产生机制的研究成为复杂性科学的关键问题之一。

国内外研究表明,传统的建模方法(诸如还原论方法、归纳推理方法等)已经不能很好地刻画复杂系统,需要采用新的建模理论与仿真方法。

而基于多Agent 的建模理论和仿真技术是最具活力、最有影响的方法之一,适合于复杂系统的研究[1][2]。

目前这种技术在人工生命、经济系统、自然现象、社会科学、人文科学等众多领域都得到了广泛的应用。

仿真平台是进行计算机仿真的软件环境,可以使研究者从复杂的软件编程中解放出来,集中精力进行科学研究。

目前,有较多的关于Agent 系统开发平台的研究,这些平台一般都能用于复杂系统多Agent 仿真,如Cly mer 等人利用仿真平台OPE MCSS 进行复杂交通系统的多Agent 仿真,Pathak 等人利用仿真平台MADKIT 进行复杂供应链的多Agent 仿真,Uhr macher 等人利用仿真平台JAM ES 进行多个协商Agent 的分布式并行仿真。

其他有代表性的仿真平台还有美国圣菲研究所的仿真平台S war m 、美国B rookings 研究所的A scape 仿真系统、芝加哥大学的Repast 仿真平台、美国I O WA 州立大学的T NG -L ab 软件系统[3]-[5]等等,这些平台为研究者进行研究提供了很大的帮助,然而,由于开发者的局限性和计算机技术的发展,目前许多基于Agent 的仿真平台都存在着一定的局限性,如支持复杂适应系统理论研究的工具和环境———S war m,虽然应用的人很多,为研究者提供了很大的便利,但是它还只是一个简单的系统,对一些复杂问题的仿真还很困难,而且S war m系统采用向用户提供类库的形式来实现,用户还是需要进行大量的编程工作,应用起来不是很方便,目前还处于不断完善过程之中。

如何提高仿真平台的柔性、可重用性和扩展性,成为仿真平台研究的一个重要课题。

本文主要针对目前基于多Agent仿真平台的局限性,进行仿真平台结构设计,并开发了原型系统。

2 基于多Agen t仿真平台总体设计2.1 基于多Agen t复杂系统仿真的需求分析基于多Agent的复杂系统仿真,首先需要建立复杂系统的多Agent模型,包括建立Agent的个体模型和系统多Agent 模型。

在一般情况下,复杂系统的模型是由多个Agent组成的,对这种系统的分析可以从三个方面来描述[6][7]:1)Agent层:即系统中所有反映问题域和系统责任的Agent。

2)个体Agent层:即Agent的结构与特征,包括内部状态和行为规则(如函数、方法等)。

3)多Agent系统层:即组成系统的Agent群体所采用的体系结构,主要的问题是Agent之间的通信与协调问题。

从上述分析可以得知基于多Agent的复杂系统仿真需要解决的主要问题如下:1)系统分析和个体Agent划分首先,需要解决的问题是对所研究的系统进行分析,分析它是否复杂系统,如果是则对其进行分析,明确系统的界线,对系统的基本特征和功能,以及内部实体的活动要有所了解,从而确定系统仿真的目的等。

对于给定的系统,个体Agent划分的任务就是解决这样的问题:将系统中的什么映射作为Agent?也就是对系统进行Agent抽象。

在确定了实体Agent后,有时为了实现系统的目标,还要设计一些其他的辅助Agent,通常这类Agent被称为集中服务Agent。

经过了上面的处理后,便可确定组成系统的所有Agent,形成系统的Agent类图。

当然,在实际的分析与建模的过程中,可以根据需要反复地进行这一过程。

2)个体Agent的建模建立系统的类图后,接着要进行的工作就是要建立每个Agent的模型,在这个方面,主要是处理以下两个问题:①每个Agent如何建立世界模型?任何一个变化的世界内起作用的Agent必须建立世界内部的模型。

②如何构建Agent的内部结构?一个系统中不同的Agent可以是同质的、异质的或共享某些共同的模块,或在其他的模块中不同。

3)建立系统多Agent模型为了建立由多个Agent组成的完整的系统模型,确定多Agent的体系结构,就是要处理好下面的5个问题:①系统有多少个Agent?根据系统的目标要求,确定各种单个Agent的总数以及系统运行时Agent数目是否可以改变,这是一个给定系统的重要特征。

②Agent之间采用什么样的通信渠道?通常,在传输介质、访问、信息被发送后是否坚持和本地化等方面可能有所不同。

③Agent之间采用什么样的通信协议?通常采用的通信方式有共享全局存储器、消息传递以及两者的结合。

④怎样建立Agent与其相关的其他Agent之间的结构?这个结构可以是实现者预先设定好的且在系统运作期间保持不变,也可以在运行时Agent能够发现新的关系而进行自我重组。

⑤Agent之间如何协调他们的行动?Agent是自治的他们不需要外界的激励就可以运行。

但是,在一个实用的系统中,他们不是处于无政府主义状态,而是相互协调的。

4)实现和仿真实现和仿真,就是根据系统的特征模型,对系统进行设计和编程。

包括仿真平台的选择,并根据选定的仿真平台,对前面的系统特征模型进行必要的调整。

接下来的任务就是对模型实施仿真。

在仿真时,为了跟踪Agent的性能或整个系统的某些特性,需要在仿真程序中加入一些统计分析代码,如文本输出、图表曲线等。

2.2 仿真平台的框架结构和工作流程根据上述需求分析,可以将整个仿真系统表示为以下的一个5元组,即:ABS_Sys=<Agents,Environment,Parameters, Interface,Platfor m>其中:Agents:主要指各种实体Agent模型,根据具体的仿真需要,可以具有不同的特性。

所有的Agent组成一个Agent社会。

Environment:是指实体Agent的生存空间,或者叫物质基础。

Parameters:这里除了指一些仿真的参数,还包括预先定义的一些仿真规则和要求,如环境的设定、Agent的通信规则等等。

Interface:是指仿真系统和用户的接口,是用户控制仿真过程和观察仿真结果的唯一通道,一般可以通过辅助Agent 来实现。

Platfor m:是指仿真平台,这是仿真的基础。

根据仿真系统的组成,可以将整个仿真平台按功能划分为3个子系统,仿真平台的整体结构如图1所示。

图1 仿真平台的整体结构各模块的主要功能:1)文件系统:主要包括文件编译和文件管理两个子系统。

文件编译子系统的功能主要是完成运行前对数据的处理,包括对用户输入的数据进行错误检查、编译以及和系统文件的组合,实现把用户输入的数据和系统的数据组合成一个整体,组合的依据是来自系统建模子系统反馈回来的系统结构关系等内容。

相关主题