我正在NetLogo中构建一个成本效益模型(与传染病相关),该模型由干预措施和“现状”队列组成,除了干预措施的影响外,它们的行为应该是相同的。我可以使用random-seed语句重现基本情况的结果(默认参数值)。然而,当我改变影响干预效果(例如,遵从性)的参数时,它会改变随机数生成过程,然后导致现状队列中的结果发生变化。我怎么才能避免这个问题呢?关于随机数生成过程,如何将一个队列从另一个队列中发生的更改中隔离出来?with-local- really语句对我没有真正的帮助。
发布于 2015-05-19 19:28:51
不幸的是,您面临着两个严重的问题:除了全局随机数生成器之外,NetLogo实际上不提供对随机数生成器的访问,并且对该随机数生成器的大部分访问都是隐式的。例如,每当您使用ask时,您都是隐式地从全局PRNG进行绘制。
您也许能够使用with-local-randomness。例如,每次你在现状队列之外的ask海龟做一些事情的时候使用它。或者,要对特殊队列使用with-local-randomness,您可以通过以下方式开始仿真:生成种子序列,然后在仿真运行时使用该种子序列,在每次ask该队列执行某些操作(或生成随机数等)时重置随机状态。
发布于 2015-05-20 03:04:48
队列是否需要同时运行(即它们是否交互)?如果没有,你可以简单地运行两个完全独立的实验-一个用于对照,另一个用于干预场景。
https://stackoverflow.com/questions/30317637
复制相似问题