老码农分享 http://blog.sciencenet.cn/u/seawan //敲键读书打酱油;

博文

【笔记】几个开源的主体模型系统(agent-based modeling框架)

已有 11255 次阅读 2011-4-7 17:27 |个人分类:多主体系统|系统分类:科研笔记|关键词:学者| 时间, 用户

原文:
R.K.  Standish:   Open Source Agent-Based Modeling Frameworks,  Studies  in  Computational
Intelligence (SCI) 115, 409–437 (2008)


奇怪的是,通用的MAS,例如Swarm和Repast,在AL研究中使用的并不多;大家倾向于使用专用系统,如Avida等。

模型:Sugarscape
p412有一个很elegant的Sugarscape的算法描述。

不同框架的选择:
看对哪种编程语言熟悉了:
Java: Repast or Mason;
C++: EcoLab;
C: Swarm;
啥也不懂:NetLogo



1.EcoLab

EcoLab的出现有不少时间(可追踪的1994年)了,应该算是成熟的系统,但是用户并不多,且一般是学术领域的。
因为是C++开发的,EcoLab开始的时候不支持自定义的模型;后来通过使用Classdesc预处理器为C++增加了“反射”机制,才可以支持任意的C++代码作为“模型”。
通过实现一个“Stupid Model”,可以比较不同的框架的特性。看起来EcoLab的建模过程和Repast差不多容易,比Swarm更容易些。
一个重要的缺陷是:没有“空间类”,而空间类可以将主体分布到集群上,从而并行计算(文中说,Jellyfish例子模型也在集群上运行,什么意思?在没有空间类的情况下的分布式计算?)
内置的TCL解释语言可以用于修改模型参数;但一般的实验不需要太懂TCL的。

2. Logos系列:StarLogo,NetLogo
由于使用Logo语言,有它的优点:解释运行等;缺点:性能(现在的StarLogo等在JVM下运行,等于是JVM内再运行Logo)。
这个系列的环境多用于教育(初等教育)。
从这个角度看,我觉得美国的小学生是比我们的孩子要更能在计算机仿真方面有“早期教养”。我们的教育家们也应该考虑如何学习和借鉴。

3. Cormas
一个Smalltalk下的框架。

4. Swarm
不多说了,老爷子级别。

5. Repast
核心也是Java的,虽然有RepastPy和Repast.Net。

6. Mason
由于比Repast新,所以用户群没有Repast大。
另外Mason的一个主要缺陷是文档。
性能:比Repast应该好一些。

http://www.cyberlifespace.org/?p=2&a=view&r=63



https://m.sciencenet.cn/blog-461456-430564.html

上一篇:TNG 1x03:
下一篇:现在的电视:何去何从(转一个网易评论)

2 汪晶 dulizhi95

发表评论 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-12 06:40

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部