我在NetLogo中建立一个成本效益模型(传染病相关),包括干预和现状"除了干预的影响外,应该表现相同的队列。我可以使用random-seed语句重现基本案例结果(默认参数值)。然而,当我改变参数影响干预功效(例如,依从性)时,它改变随机数生成过程,然后导致现状群组中的结果改变。我怎么能绕过这个?对于随机数生成过程,如何将一个队列与另一个队列中发生的变化隔离开来? with-local-randomness语句并没有真正帮助我..
答案 0 :(得分:1)
不幸的是,您面临两个严重问题:NetLogo实际上不提供对全局随机数生成器的访问,并且对该PRNG的大部分访问是隐含的。因此,例如,无论何时使用ask
,您都隐含地从全局PRNG中进行绘制。
您可以使用with-local-randomness
。例如,每次ask
乌龟在之外现状群体中使用它时都要使用它。或者,要将with-local-randomness
用于特殊群组,您可以通过生成种子序列来开始模拟,然后在模拟运行时使用该种子序列,每次ask
同时执行某些操作时重置随机状态(或生成随机数等)。
答案 1 :(得分:1)
队列是否需要同时运行(即它们是否相互作用)?如果没有,你可以简单地进行两个完全独立的实验 - 一个用于控制,一个用于干预场景。