首页 理论教育仿真平台NetLogo及其优势

仿真平台NetLogo及其优势

【摘要】:1)NetLogo简介目前在复杂系统研究领域中,使用最多的是以下几种仿真平台:NetLogo,Repast,StarLogo,Swarm,TNGLab,Ascane。从本节的研究目的及内容出发,笔者选取的仿真工具是NetLogo。NetLogo是一个用来对自然和社会现象进行仿真的可编程建模环境。建模人员能够向成百上千的独立运行的“主体”发出指令。本节认为NetLogo有如下优点:模型库和功能非常强大,尤其适合对随时间演变的复杂系统的仿真。图3-6NetLogo界面NetLogo的仿真是通过不同的主体以及主体之间的交互来进行的。

1)NetLogo简介

目前在复杂系统研究领域中,使用最多的是以下几种仿真平台:NetLogo,Repast,StarLogo,Swarm,TNGLab,Ascane。从本节的研究目的及内容出发,笔者选取的仿真工具是NetLogo。

NetLogo是一个用来对自然和社会现象进行仿真的可编程建模环境。它是由Uri Wilensky在1999年发起的,由连接学习和计算机建模中心(CCL)负责持续开发。它特别适合对随时间演化的复杂系统进行建模。建模人员能够向成百上千的独立运行的“主体”发出指令。这就使得探究微观层面上的个体行为与宏观模式之间的联系成为可能,这些宏观模式是由许多个体之间的交互涌现出来的。

NetLogo有扩展的文档和入门指导。它也有模型库,即很多已写好的仿真模型,可以使用和修改。这些仿真解决了自然科学和社会科学里的很多内容,包括生物和医疗数学电脑科学、经济和社会心理。NetLogo是多个体建模语言系列(包括StarLogo和StarLogoT)中的下一代语言。NetLogo在Java虚拟机上运行,所以它在所有的主要平台(Mac,Windows,Linux等)上都能运作。它可以作为单独的应用。模型可以在网页浏览器上以Java Applets的形式运行。

NetLogo还提供了API,用户可以通过java编程扩展NetLogo的功能或对其进行外部功能。

本节认为NetLogo有如下优点:

(1)模型库和功能非常强大,尤其适合对随时间演变的复杂系统的仿真。

(2)具有清晰的操作界面,还提供了图形输出等可视化工具。

(3)使用的编程语言继承了Logo语言简单、灵活的特点,非常适合编程基础不是很强的研究者使用。

(4)NetLogo是一个开放、共享的平台,能在互联网上得到免费的源程序包、详尽的文档和学习材料以及功能强大的拓展包。

NetLogo的仿真界面如图3-6所示,有界面、说明和程序三个标签页。界面页是模型的可视化接口,用来监视和更改模型的运行情况,包括工具栏、主视图、参数设置、监视器、绘图和指令中心。说明页是对模型的解释说明,用来介绍模型、说明要探索的问题、可能的扩展等。程序页是模型的程序代码部分。

图3-6 NetLogo界面

NetLogo的仿真是通过不同的主体以及主体之间的交互来进行的。NetLogo中共有四类主体,分别为瓦片(patches)、海龟(turtles)、链(links)和观察者(observer):

(1)瓦片:仿真世界是由瓦片组成的二维网格。海龟可以在瓦片上面移动,但是瓦片不能移动。

(2)海龟:是能够在仿真世界中移动的主体,海龟有自己的属性,可以被赋予变量和行为等功能。在本节中涉及的海龟主体是网络集群用户主体、网络群体事件主体和环境主体。

(3)链:是连接两个海龟的主体,分为有向链和无向链。在本节中涉及的链主体是网络用户和用户之间的关系主体。

(4)观察者:是一个全局主体,观察着由海龟和瓦片组成的虚拟世界,能够通过指令来控制世界。

NetLogo仿真的过程其实就是大量的独立运行的主体在二维空间中的交互,随着时间的推进,微观主体的属性不断发生变化,系统的宏观特征也因此而涌现出来。

2)仿真环境

本节中仿真实验操作系统平台是Windows7,NetLogo版本号为5.05,系统硬件环境为Intel(R)Core(TM)i3 CPU M380@2.53GHz 2.53GHz,安装内存为4.00GB,系统类型为64位操作系统。