原文:
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.EcoLabEcoLab的出现有不少时间(可追踪的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://wap.sciencenet.cn/blog-461456-430564.html
上一篇:
TNG 1x03:下一篇:
现在的电视:何去何从(转一个网易评论)