ABM仿真概述
ABM(Agent-Based Modeling, ABM)智能体仿真模拟,是一种基于智能体系统构建模拟自然与社会复杂系统的仿真模型。在视觉生动性、规则非确定性、过程动态性、系统复杂性方面具有优势1。
目前流行的ABM的仿真工具有NetLogo、MASON、Swarm等。详细对比见参考文献2、3。由于NetLogo具有易用性强、入门快(上限也很高)的优点在国内较为流行,文档教程也较多,而MASON似乎还没有中文的文档。但NetLogo是一款独立的软件,支持的语言是基于Logo的NetLogo,其与主流编程语言C++、Java等具有显著差异。而MASON4(由乔治梅森大学开发)则采用Java开发,可作为类库集成到程序中。
获取MASON
方法一:添加maven依赖
<dependency>
<groupId>fr.irit.smac.thirdparty.edu.gmu.cs</groupId>
<artifactId>mason</artifactId>
<version>18</version>
</dependency>
使用示例:在Java项目main方法中运行蚂蚁觅食(AntsForage)示例程序,效果同方法二。
AntsForageWithUI.main(args);
方法二:从官网下载
从官网下载最新的mason.20.jar。安装JRE(1.8+)后此jar包可直接运行。其内置了几个仿真示例,第一个蚂蚁觅食的例子运行效果如下。
参考文献
吕鹏. 计算社会科学中仿真模拟的三个发展阶段[J]. 清华社会学评论, 2022(1): 38-59. ↩︎
Comparison of agent-based modeling software - Infogalactic: the planetary knowledge core[EB/OL]. [2023-07-07]. https://infogalactic.com/info/Comparison_of_agent-based_modeling_software. ↩︎
周小刘. 基于Agent技术构建官民冲突类群体行为涌现动态模型研究[D/OL]. 云南师范大学, 2013[2023-07-07]. ↩︎
MASON Multiagent Simulation Toolkit[EB/OL]. [2023-07-07]. https://cs.gmu.edu/~eclab/projects/mason/. ↩︎
LUKE S. Multiagent Simulation And the MASON Library[J]. ↩︎