有没有办法像以前一样重新运行Netlogo模型? (即有效地再次按下Go并使运行与最后一个完全相同。)
据我了解,您需要能够做的就是找出上次运行中使用的随机种子 - 这可以做到吗?然后,您需要做的就是在设置中包含代码“random-seed xxx”。
此功能非常有用,所以如果无法完成,可能会在以后的版本中实现。
感谢。
答案 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
来重现未来的模型运行。