行为空间同时模拟错误

时间:2015-05-21 18:09:24

标签: netlogo

我使用行为空间来运行100次模拟。

问题是,当我尝试一次运行多个模拟时,某些变量似乎无法正确清除。

以下是输出示例: enter image description here

每个模拟(第一列是运行编号)都有一个变量(在最后一列中)重置为0.然后在0到5之间添加一个数字,直到它最终在25处最大。因为它只运行2个滴答,最大结果应该是10 ...

然而,可以看出,下一次模拟偶尔会以变量的最大值开始。这是一个小故障还是之前有人看过类似的东西? (也许并行处理没有正常工作?)

问题/解决方案
我有一个初始化某些变量的设置函数,然后使用Listbox,然后在开头使用变量创建了海龟。通过查看结果,看起来而不是新龟被初始化......它们以某种方式保留了先前模拟的值(得分属性已经达到最大值)。通过在顶部重新定位clear-all来解决问题。请注意,这只会在运行多个模拟时引起问题

2 个答案:

答案 0 :(得分:3)

接口全局变量(例如,滑块)没有默认值(不幸的是!),因此clear-all不会影响它们。这意味着如果您的BehaviorSpace实验(i)没有为所有接口全局变量指定值,并且(ii)描述改变某些接口全局变量值的模拟,则可能会遇到问题。在这种情况下,即使您在clear-all中呼叫setup,一次前台运行也会影响下一次前台运行。

如果您指示BehaviorSpace呼叫您的setup,其中包括对clear-all的呼叫,这是我看到您的问题出现的唯一方法。如果是其他内容,我希望您发布说明。

答案 1 :(得分:2)

您似乎可能遇到https://github.com/NetLogo/NetLogo/issues/105

您是否在clear-all程序开始时致电setup了?