基于Agent的建模与仿真方法及仿真平台浅析

2016-02-07 06:06张俊瑞王秀华
网络安全技术与应用 2016年12期
关键词:界面建模环境

◆张俊瑞 王秀华

(晋中学院 山西 030619)

基于Agent的建模与仿真方法及仿真平台浅析

◆张俊瑞 王秀华

(晋中学院 山西 030619)

本文简要介绍了CAS理论,着重介绍了基于Agent的建模和仿真的两个方面——基于Agent的建模和基于Agent的仿真,简要介绍了该建模仿真方法的仿真平台RePast,介绍了RePast中的Demo程序的类结构和RePast仿真平台对应的程序运行界面。

Agent;建模;仿真;RePast

0 引言

传统的建模方法(如还原论方法、归纳推理方法等)不能很好地刻画复杂系统,如煤矿井下矿工所构成的复杂系统。对这样的复杂系统进行研究,需要采用新的建模与仿真方法,基于Agent的建模与仿真方法(AgentBased Modeling and Simulation,ABMS)是最具活力、最有影响力的方法之一,适合于复杂系统的研究[1]。

1 CAS理论

霍兰在《Hidden Order》(《隐秩序》)一书中首先提出了CAS(Complex Adaptive System,复杂适应系统)理论,在这之后,CAS理论逐渐成为了基于Agent的建模与仿真方法的理论基础[2][3][4]。霍兰指出:CAS中的组成成员称为Adaptive Agent(即具有适应性的主体)。“具有适应性”是指CAS中的Agent能够与环境和其他的Agent进行沟通和交流,并在此过程中“学习”和“积累经验”,进而改变主体的结构或行为方式[3][4][5][6][7][8]。

CAS中的Agent具有多种不同的含义[9][10][11],最早是由Minsky(明斯基)在其专著《The Society of Mind》(《意识社会》)中提出的,在计算机领域中多将Agent翻译为“智能体”或“主体”。

2 基于Agent的建模与仿真

ABMS是CAS理论与分布式人工智能技术二者相结合后产生的一种新的建模仿真方法学,为描述和研究复杂系统提供了一种新的建模框架和方向。

基于Agent的建模与仿真包括“基于Agent的建模”和“基于Agent的仿真”两个方面,这两个方面既独立又联系,研究内容和含义各有不同,同时这两个方面又互相交叉,不可分割。

2.1 基于Agent的建模

基于Agent的建模是一个“自下而上”的过程。Agent间的交互是分散的,没有一个Agent的行动与其它Agent的行动有关。对整个系统来说,从宏观来看,系统是由这些Agent共同产生的,没有集中的控制者和决策者,整体和个体之间体现的是辩证统一的关系。在整体的相互作用中,个体之间从平等到分化,系统从简单到复杂,宏观和微观有机地联系在一起[6]。

软件工程的观点认为:基于Agent的建模是面向对象范式的自然继承、扩充与发展。相对于Agent的定义而言,将Agent称为“主体”比“简单的、活的对象”更加准确,Agent具有一定的智能性和自主性,这是它的主要特点。

传统的科学研究主要是利用归纳与演绎的方法来实现研究。基于Agent的建模和演绎过程非常相似又有所不同,它是在假设公理的基础上产生Agent的行为及模型中Agent之间的交互情况,基于Agent建模的目的是要研究交互的本质模式并为相应的决策人员提供帮助[5]。

2.2 基于Agent的仿真

基于Agent的仿真包括Agent、环境以及相互规则、通讯方式等方面。复杂适应系统中的Agent可以实现自治,可以自己适应环境、进行相互通信和自己学习,仿真系统中的Agent也具有这些特点。在这样的定义下,仿真系统中的Agent就可以看做是一个计算机进程,就可以编制程序实现计算机的仿真。

在具有Agent 的仿真系统中,其Agent的类型多种多样,环境、矿井、矿工、行人等都可以看作是Agent,他们都具有Agent的特性。其中,环境Agent受到规则的约束和限制,并能够随着规则进行演化和发展,因此,环境Agent就可以和别的类型的Agent相互作用,进行通信和联系。

目前,基于Agent的仿真都是用面向对象的编程实现的。编程时,需要将Agent设定成具有变量和方法等的类对象,将环境看成是空间对象(Space),Agent之间的联系通过特定的规则加以实现,当环境发生变化时,Agent会受到影响,Agent也会对环境产生影响。通过这样的设定,就可以编程的方式实现对复杂系统的仿真。

3 ABMS的仿真平台

ABMS的仿真平台较多,较具代表性的是美国Santa Fe研究所的SWARM和Sourceforge的RePast项目、EINSTein、ASPEN、NetLogo等。本文只介绍RePast仿真平台。

RePast(Recursive Porous Agent Simulation Toolkit)是一个开源的仿真工具,它支持Java语言,在Java语言的开发平台上导入RePast的类包即可进行RePast开发。目前比较流行的版本为Repast J(Repast 3)。官方最近推出了Repast Simphony 2.0 Beta,在Repast J上增加了许多新的特性。另外也有适合企业和大型科研单位的Repast for High Performance Computing 1.0.1 Beta版本。为了方便编程人员,RePast提供了API文档,具有Java语言基础的RePast使用者可以利用这个文档在Eclipse平台上建立各种不同的仿真模型。

RePast由芝加哥大学社会科学计算研究中心开发研制[12],非常容易进行学习和扩展。RePast有6个类库,可以生成、运行Agent主体以及显示和收集模型中的一系列数据,RePast还能够记录某一个“tick”时模型当前的状态,生成模型运行过程中的各种不同的状态,是一个与“Swarm”相类似的模拟软件构架。一个RePast的Demo程序类结构如图1所示。

图1 Demo程序的类结构

Repast含有时间序列(Scheduling Mechanism)和显示(Display Mechanism)两个内部机制。时间序列机制负责所有用户定义的状态变化,显示机制用来实现正在运行模型的实时显示。RePast的仿真界面如图2所示。在这个仿真界面中,包括了RePast中的显示界面、图表、参数设置、数据统计等窗口。

图2 RePast的仿真界面

4 结束语

本文主要介绍了基于Agent的建模与仿真方法,详细介绍了基于Agent的建模和基于Agent的仿真两个方面以及对应的仿真平台RePast。利用ABMS可以实现对复杂系统的仿真,因此在研究复杂系统方面是很好的研究工具之一。

[1]倪建军,徐立中,王建颖.基于CAS理论的多Agent建模仿真方法研究进展[J].计算机工程与科学,2006.

[2]廖守忆.复杂系统基于Agnet的建模与仿真方法研究及应用[D].国防科学技术大学博士论文,2005.

[3]廖守亿,戴金海.复杂适应系统及基于Agent的建模与仿真方法[J].系统仿真学报,2004.

[4]Epstein J M.Generative Social Science:Studies in Agent-Based Computational Modeling [G].Princeton,New Jersey:Princeton University Press,2006.

[5]张俊瑞,赵贵富.基于Multi-agent的建模仿真方法研究[J].电脑开发与应用,2011.

[6]张俊瑞,陈立潮,潘理虎,邓曦辉.基于Agent的井下透水事故逃生模型研究[J].计算机技术与发展,2012.

[7]李强.基于Agent的城市固体废物计量收费管理模式的研究[D].昆明理工大学硕士论文,2008.

[8]王仙雅.物流产学研合作创新的博弈分析[D].天津科技大学硕士论文,2011.

[9]廖守亿,陈坚,陆宏伟等.基于Agent的建模与仿真概述[J],计算机仿真,2008.

[10]Gell-Mann M.Complex Adaptive System[A].In:George Cowan,et al,eds.Complexity:Metaphors,Models and Reality[M].New York:Addison—Wesley,1994.

[11]刘大有,杨鲲,陈建中.Agent研究现状与发展趋势[J],软件学报,2000.

[12]Aziz,N.I.Sun,Y.Baafi,E.Y.Self-contained Selfrescu-ersN ew Strategies for Mine Escape in Australia.International Minin g and Minerals[J],2000.

晋中学院校级教改项目(Zl2016jg07)。

猜你喜欢
界面建模环境
长期锻炼创造体内抑癌环境
一种用于自主学习的虚拟仿真环境
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
国企党委前置研究的“四个界面”
孕期远离容易致畸的环境
环境
基于PSS/E的风电场建模与动态分析
不对称半桥变换器的建模与仿真
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
电子显微打开材料界面世界之门