刘艳玲 姚建盛*
(1.桂林理工大学旅游与风景园林学院,广西 桂林 541004;2.广西旅游产业研究院,广西 桂林 541004)
在许多实际的大型系统中,如社会系统、经济系统和生物系统等,各个要素之间的相互作用错综复杂,系统演化的方式很难通过数理模型描述,因此仿真是研究这类复杂系统的重要手段之一[1]。另外,仿真相对于实物模拟,具有降低风险和节约成本的优点,而且可用于预测和论证方案可行性[2]。
智能体模型(ABM,Agent-based Modeling)是一种流行的建模和仿真技术,将人、组织、企业、动物等个体建模为智能体Agent,Agent具有自身状态和行为规则,通过微观个体(Agent)行为和交互活动,可以再现突发现象、动态均衡和非线性结果等,从而推演系统的宏观现象和运行结果,是当前复杂系统研究的重要方法之一,已经广泛应用于社会科学、生物学、化学、地球科学和计算机科学等多个领域[3]。
ABM通过计算机程序模拟系统的动态运行,迄今为止已有众多ABM仿真工具软件,如Swarm、NetLogo、Repast等等,其中在社会生态领域应用最广泛的是NetLogo[4]。NetLogo是基于ABM模型对自然和社会现象进行仿真的可编程建模环境,特别适合对随时间演化的复杂系统进行建模。但是,NetLogo的建模语言Lisp属于一个古老而奇异的编程语言家族,看似简单,实则庞大精深,想精通难度很大。尤其在设计复杂系统调参时,NetLogo无法像脚本语言一样方便配置参数和对比分析不同参数环境下系统输出结果[5]。
鉴于Python语言在数据统计分析、挖掘和可视化上的强大功能,有项目基于Python开发控制NetLogo的平台,如PyNetLogo[4]和NL4Py[5]等,但是同时使用多种语言对于社会科学研究人员来说还是有难度。……