如何重新运行Netlogo运行?

时间:2017-08-14 13:36:39

标签: netlogo

有没有办法像以前一样重新运行Netlogo模型? (即有效地再次按下Go并使运行与最后一个完全相同。)

据我了解,您需要能够做的就是找出上次运行中使用的随机种子 - 这可以做到吗?然后,您需要做的就是在设置中包含代码“random-seed xxx”。

此功能非常有用,所以如果无法完成,可能会在以后的版本中实现。

感谢。

1 个答案:

答案 0 :(得分:4)

我在这里假设您仍希望模型的每次运行都不同(每次更改随机种子)。根据{{​​3}}:

  

如果您没有自己设置随机种子,NetLogo会根据当前日期和时间将其设置为一个值。无法找出它选择的随机种子,因此如果您希望模型运行可重现,则必须提前自己设置随机种子。

所以我们可以这样做,我们只需要自己处理“记住”随机种子。假设您有一个必须在模型运行之前执行的标准setup过程:

globals [ run-seed ]

to setup
  set run-seed new-seed ; get a random seed to use for our run
  random-seed run-seed
  ; do the rest of our normal setup
end

现在,当你的模型运行完成后,你可以在命令中心show run-seed,或者在代码中打印出来进行记录。然后,您可以使用该种子而不是new-seed过程中的setup来重现未来的模型运行。