复  杂  系  统
 
 
栏    目
复杂系统
最可能者生存
“流”的探索
介绍普及
介绍性文字
推荐读物
建模工具
Swarm
Starlogo
模型与算法
细胞自动机
复杂网络
多智能体
演化算法
Bottom Up
人工生命
Autopoiesis
神经网络
人工社会
分形
Top 2 Down
人工智能
宏观大系统
国内原创
非线性系统
探索与争鸣
 
 
复杂系统->建模工具->Starlogo
 

建模工具StarLogo 简介
[ 作者:宗骁 转贴自:人大经济实验室 ]

工具下载网址:http://education.mit.edu/starlogo/

StarLogo是由麻省理工大学多媒体实验室开发的一个可编程的建模环境,用于研究分散系统的运行机制。所谓分散系统是指:没有组织者和协调者,而系统整体却呈现出有组织的协调的形态的系统。在现实世界中存在很多的分散系统,例如:鸟群、蚁群、交通运输以及市场经济。之所以说它们是分散系统是因为在这些系统中,不存在集中的控制,每一个个体都是按照一定的规则在运转,而整体却呈现出有序模式。由于多数人工生命都具有分散系统的特性,因而StarLogo非常适合用于研究人工生命。随着人们对分散系统的认知程度的逐渐加深,越来越多的研究者选用分散模式来创立组织机构、构造科学技术、甚至是架构关于世界的理论基础。不过,还是有很多人反对这种观点,他们坚持认为某些根本不存在集中控制的地方存在着集中控制。例如:他们错误地认为鸟群中存在着领导者、市场经济中有一只“看不见的手”。

StarLogo采用的是基于主体的建模方法(ABM)。其中,“主体”是一只只的海龟(turtles),我们可以并行地控制数千只海龟,同时也可以为它们制定不同的行为模式。而这些主体所处的“环境”则是用点(patch)来表现的,数千个点拼成一块大的背景(canvas),代表着主体所处的大环境系统。StarLogo允许对海龟和点进行编程,这使得海龟和海龟所处的环境都具有了自己的变化方式。海龟和点之间是可以彼此交互的,例如:我们可以编程让海龟在它的世界里到处“闻”,根据在它所在的点上闻到的“气味”来决定它的行为。海龟和海龟之间也可以交互,例如:让海龟们朝着一个方向前进,如果前面的海龟离自己很近,就走慢一点,以免撞到,否则,就走快一点追上。在这里,海龟和点之间的交互作用体现了主体与环境的关系,海龟与海龟之间的相互影响则体现了主体之间的关系。

我们几乎可以用海龟来代表现实世界中的任何一种物体:蚁群中的一只蚂蚁、交通堵塞中的一辆汽车、免疫系统中的一个抗体、气体中的一个分子。海龟具有一些固有的属性:位置、方向、颜色和一只画笔。同时,我们也可以根据它所代表的物体的特性给它添加一些新的属性。例如,如果它代表汽车,那么我们就应该给它添加速度这一属性。所有的点排列成一个网格,也就是说,每一个点都对应于图形区域上的一个小的正方形区域。点的主要固有属性是颜色和位置,同样,我们也可以给它们定义一些新的属性。程序运行时所有的海龟和点都以系统规定的时间步进并行运转。这一点非常贴近现实世界,我们可以把高速公路上的汽车想象成一只只的海龟,每一个时间段里,它们各自都在朝着自己的目的地行驶,不受其它汽车的支配,但是它们的前进又与路况、相邻车辆的行驶速度等息息相关。

另外,StarLogo允许对海龟进行分类(breeds),例如,我们可以创建两类海龟:狼和兔子,然后对这两类海龟分别定义它们的属性和行为。这一点对于模拟现实世界来说非常必要,因为即使是在一个很小的系统内,也常常存在着多种具有不同属性和行为方式的角色,上面所说的狼和兔子是生态系统中的一个常见的例子。再比如,股票市场的模拟中,我们可能需要把股民分为风险偏好者和风险厌恶者;交通运输的模拟中,我们可能需要把车辆分为机动车和非机动车。海龟的类别并不是在整个生存期内都固定不变的,如果情况发生变化,可以像设置其他属性那样重新设置海龟的breed值。

StarLogo的图形化的表现方式是它的一大优点。这种简单直观的图形界面使得StarLogo能够吸引“外行人”来用它对自己所关心的问题进行建模,由于具有丰富的领域知识,他们设计的模型更加实用化。把技术的门槛降低,让更多的人能够把自己所具有的知识应用到模型中去,再把自己设计的模型应用于实际,这是拓展建模方法应用的一条捷径。

但是,对某些模型的需求来说,图形化的表现方式不够精密准确,在这种时候,StarLogo的plot窗口就格外重要了。在plot窗口中,我们可以选择创建折线图、条形统计表、柱状图等来精确地刻画某些变量。还有output窗口,它可以用来记录程序运行过程中输出的变量值,便于定量分析。

综上所述,StarLogo是一个简单、直观,构思巧妙的建模工具,可以帮助我们拓展对分散系统的理解。值得我们高兴的是,StarLogo是免费软件,我们可以在http://education.mit.edu/StarLogo 上找到免费下载和StarLogo的相关介绍。