ABM/MAS in LUCC (2)
Wednesday, September 2nd, 2009这一部分说平台,我主要考虑的是这8个模型Swarm, RePast, MASON, NetLogo, StarLogo, Ascape, CORMAS。
————–需要推荐的文献包括:—————-
- Tools of the Trade: A Survey of Various Agent Based Modeling Platforms (2009), Journal of Artificial Societies and Social Simulation vol. 12, no. 2 2
- Agent-Based Simulation Platforms: Review And Development Recommendations. (2006) Simulation, September 2006. pp609-623.
- Toward a Graphical ABM Toolkit with GIS Integration. (2005) The Agent 2005 Conference on Generative Social Processes, Models, and Mechanisms, Chicago, Illinois.
- Principles and Concepts of Agent-Based Modelling for Developing Geospatial Simulations. (2006) Working paper 110, Centre for Advanced Spatial Analysis, University College London, September 2006.
- Platforms and methods for agent-based modeling. (2002). PNAS 99: 7197-7198.
这一篇最齐全,最完整,比较了几乎所有的平台的五个性质(编程语言/操作系统/许可类型/主要应用方向/用户支持),并且杂志是网络版本应该是免费的。
比较了常见的四个模型,最重要是通过一个Stupid model来对比了各个模型的性能。NetLogo和Swarm表现最好,但是当时时间比较早,之后RePast等有了更好的发展。
这边应该很重要,在地学模型方面,因为他们着重比较了三个平台在GIS方面的图像表达能力的差别,包括空间文件的导入以及输出。因为时空行为的模拟一直是GIS发展的重要方向,也是各大GIS商业软件的开发重点之一。
这可是UCL的文章,地学计算模拟的翘楚,当年也还申请了的,后面想想伦敦的高物价还是不了了之。此CASA中心在CA/ABM和分形上进步神速,有很强的计算机和数学背景,文章比较了七种平台,特别是他们在geospatial上的能力。
这个不用说了,PNAS上的牛文也不应该错过
———-这七个平台有分别的介绍如下——————
Swarm最早由Santa Fe Institute开发,是基于Objective-C和Java语言的,可以说是鼻祖系列的开发平台,最早开发是用来模拟生态过程的,在生态系统模拟方面很出名,国内有UrbanSwarm模型是关于城市扩展的。
继承Swarm的最出名的是Repast,全称是The Recursive Porous Agent Simulation Toolkit (Repast)。RePast相对而言是最完整的平台,最初由java写成,功能非常强大齐全,最重要是其对地理数据的处理能力比较强。之后,出现由python写得易用的RePastPy以及Mirrosoft.Net写出的RePast.Net,现在整合成了RePastS(Simphony),可以通过Agent Analysis插件与ArcGIS整合。
MASON的全称是Multi-Agent Simulator Of Neighborhoods/Networks,它由Center for Social Complexity, George Mason University在2003年开发,同样是继承了Swarm和RePast的特性。它的特点是是轻巧快捷并且计算能力强。
————另一个系列就是Logo语言系列的成员————-
这包括NetLogo和StarLogo,其最主要的目的是教学和科研目的(pedagogical and research tool)它们分别由Northwestern University, Evanston 的 Center for Connected Learning and Computer-based Modeling 和Massachusetts Institute of Technology 的 Media Laboratory开发。作为教学目的的平台,最明显的是易用性和易学性,其开发语言不开源,基于Java和C,但是语法非常简单,GUI也非常直观易用,利用其网上教程,很快能学会其语言并搭建模型。
可以看到StarLogo的页面里面有一只乌龟,那是由于模型中的agent常常被称作turtle;而NetLogo网站有很多demo模型,其中有个Urban Suite,看了之后有很大启发性;另外SLUCE(Spatial Land Use Change and Ecological Effects at the Rural-Urban Interface)模型也用到了NetLogo开发一个关于Urban Sprawl的模型,一步一步教你搭建,很有用。
————–这一部分的平台其实没有GIS功能—————
Ascape 是由华盛顿的 Brooklings Institute 开发,同样基于Java,也是从Swarm继承而来。
CORMAS 是由法国的 French Agricultural Research Centre for International Development 开发,主要用在自然资源领域。亮点是由SmallTalk语言编写的, 同样是一个简单易学的语言。
————-表格的分割线—————-
PS.为了此表格还专门找了一个插件,叫WP-Table Reloaded
这个表格横向对比了各个平台的基本性能和能力。
| SWARM | RePast | MASON | StarLogo | NetLogo | Ascape | CORMAS | |
|---|---|---|---|---|---|---|---|
| Time | Early 1990s | Early 1999 | 2003 | Early 1990 | 1999 | 1997 | 1996 |
| Language | Objective C Java |
Java Python Microsoft.Net |
Java | Proprietary | Proprietary | Java | SmallTalk |
| Operation System |
Unix/Linux Mac OSX Windows |
Unix/Linux Mac OSX Windows |
Unix/Linux Mac OSX Windows |
Unix/Linux Mac OSX Windows |
Unix/Linux Mac OSX Windows |
Unix/Linux Mac OSX Windows |
Unix/Linux Mac OSX Windows |
| Experience Requirement |
Strong skills |
Strong | Strong | Basic | Basic | Basic | Basic |
| Event Driven |
yes | yes | N/A | N/A | N/A | no | no |
| GIS connection |
yes Kenge GIS library |
yes (include ArcGIS) |
No | No | yes (ESRI file) |
Beta | yes (Mapinfo) |
| Spreadsheet connection |
yes | yes | No | yes | N/A |
yes | yes |
| Statistics capacity |
statistics package |
Some statistics functions |
Strong | yes | yes | many functions |
can store data |
| Main application |
Natural social science military commercial |
Nearly all aspects |
Economic Epidemic |
Biology graphics maths physics social systems games |
Education academic |
Social and economic systems |
Economy ecology natural resource management |
| Demo model |
A few | Many | many | yes | yes | 20-30 | numerous |
| Documentation | yes | yes | yes | yes | yes | yes | yes |
| Tutorial | yes | yes | yes | yes | yes | yes | yes |
| Training | no | no | no | workshop class |
workshop class |
various courses |
no |