2016-01-21 76 views
1

我有一个模型,创建一个网络,并在setup中选择种子节点,然后在go运行contagion进程。对于多次运行,我想避免重新生成网络。如果我创建了两个步骤full-setuppart-setup,是否有办法令行为空间首次执行full-setup,并且对于所有其他运行执行的行为是part-setup行为空间设置,去和之间

我想到ifelsebehaviorspace-run-number,但我不认为我可以保证第一次运行是第一次打到处理器。

回答

0

如果将同时运行设置为1将确保1是第一个击中处理器。

另一种仍然使用同时运行的方法是手动运行一次,用nw扩展名(或只是导出世界和导入世界)保存您的设置并加载剩余的运行。

+0

第一个将花费更多的时间来运行。我已经做了第二次,网络是导入而不是生成的,但是发生了一些事情,我也想避免重做。这就是为什么我想要有两个不同的安装例程。但是,感谢这些建议,它们对于有这个问题的大多数人都很有用。 – JenB

+1

嗯,如何用'export-world'和'import-world'导出和导入整个世界状态?请注意,我实际上并不知道nw扩展是否支持该功能,不过! –

+1

我可以看到的一件事情可能会导致'export-'/'import-world'问题,如果你依赖特定的网络[context](https://github.com/NetLogo/NW-Extension#set-上下文)被设置。除此之外,我认为它应该工作。 –

0

如何设置命令,如:

ifelse count turtles = 0 
    [ setup-full ] 
    [ setup-partial ] 

更换count turtles = 0有更合适的条件为你的模型,如果需要的话。

我永远不会记得从BehaviorSpace运行的重复使用世界状态的确切语义,当它运行或不运行时。无论如何,这是一个值得怀疑的“功能”,可能会在未来版本的NetLogo中消失;见https://github.com/NetLogo/NetLogo/issues/105