这段视频是作业七的评讲课
入门级选择
打开文件fireflies.nlogo
这个文件位于Netlogo本地库中
首先点击 setup 加载
然后点 go 运行
这样我们可以研究这个模型的表现
这个模型中有很多表示萤火虫的主体
它们逐渐同步地发光
这可以看作是一种间断均衡（punctured equilibrium）
间断同步发光
我们停止模型
关于这个模型 很有意思的一点是
它基于一个很简单的算法
你可以转到代码页面进行研究
仔细弄明白
后面我们还会深入理解
作业的要求是 让我们插入某段代码
使得模型能在所有海龟变为黄色时停止运行
要完成这个功能 插入
if all? turtles [color = yellow] [stop]
（判断是否所有海龟变为黄色 如果是 则停止）
回到主界面
我们来看看这段代码对不对
需要花一点时间来开始
但一旦它们开始同步闪烁 它们很快就开始同步了
花了大概695个滴答声（的时间）
好的 这就是一次运行了
如果我们能做很多次运行
或者选用不同的参数值
就更有意思了
为了完成这个目的
Netlogo 有一个嵌入的工具
称为 行为空间 （behavior space）
这个工具很棒 因为它能让我们
在无参数的空间内用各种方式进行试验
我想如果你学过数学
你就能确定 对于这个模型
一共有多少种不同的设置组合
一共应该有600,000种
因此要靠手动调节这些参数的话
是一个很大的工作量
下面我们来用这个行为空间工具
来建立一个新的实验
点击BehaviorSpace
弹出一个对话框“ BehaviorSpace ”
点击new（新建）
这里就是为我们的新实验填写参数的地方
先给它起个名字吧
我给它取个名字叫Flys吧
在第一个窗口中
我们可以定义我们的参数
我要改掉一些
你也可以将参数定义成一个范围
详见这个窗口下的这段文字解释
Repetitions （重复次数）填入 2
主要为了简单起见 因为是评讲作业而已
输入 count turtles with [color = yellow]
勾选 Measure runs at every stop （每步都测量运行）
其他这些参数设置都不变
我把 time limit （时间限制）设置为 0
因为我们只是加入了一些代码
实现模型运行在海龟变为黄色时自动停止
所以这跟运行多久没有多大关系
点击OK
我们可以看到这个实验已被建立
我们可以看见 即将进行2次运行
那我们点 run （运行）
现在出现了一个对话框
询问我们是否需要将结果生成电子表格
将生成一个.csv格式的文件
或者可以勾选 Table output （表格输出）
或者两个都勾
现在我只选第一个电子表格
并且每次只运行一次实验作为演示
当然如果你有很多个过程需要仿真的话
你也可以同时运行多个实验
点击OK
出现对话框询问我们存储路径
存在桌面好了
然后它开始运行了
这里的提示告诉我们
现在是第一次运行
多少次滴答
这就是我们将在电子表格中输出的数据
看起来好像快要同步了哦
第二轮运行
这样感觉非常方便
因为一直在后台运行
你完全可以先去吃个午饭
然后回来时就已经生成了很多数据
用于研究你模型的表现
现在完成了
把它关掉
现在我们来看看输出文档
转到我的桌面
打开这个 Netlogo 输出的 csv 文档
这就是电子表格
你可以看到我们为不同的实验设置的参数
下面的是两次运行中的所有数据
我想你已经可以想象
这对于分析大量数据的模型是非常实用的
我们可以看出 刚开始的时候这些海龟并没有很好地同步
大约200个萤火虫开始同时闪烁
但随着时间的推移 它们逐渐开始同步
到这时你可以看出他们已经非常接近一致
最后达到完全同步
我希望这段作业评讲课能对你有用
希望你和我一样喜欢BehaviorSpace
祝好运！