Netlogo - 如何使用 import-world 复制调整一个参数的实验?
Netlogo - How to replicate an experiment adjusting one parameter using import-world?
我有一个模拟,在这个模拟中,代理人在物理网格周围移动,与他们的邻居就主题交换想法。我进行了一项研究,想完美地复制它,但只有一个修改 - 稍微调整 "transfer" 参数,以便以较慢的速度交换想法。
为了尝试获得完美的复制,我使用了 export/import 世界程序。当我重新 运行 模拟从 tick 0 导入的世界并且更改 none 参数时,模型是相同的。我得到相同的输出,代理移动并具有相同的交互,一切都是相同的。很棒
然而,当我重新运行使用同一个导入世界从零开始的模拟,但稍微调整一个参数(transfer_rate)时,代理会在物理space 不同的是,遇到不同的agent到原来的模拟,最终得到不同的结果。
也许通过调整一个参数,伪随机数以某种方式改变了?除了这个 transfer_rate 参数调整之外,有人知道有什么方法可以让一切都得到完美控制和保持不变吗?也许有一个简单的解决方案。
谢谢大家的宝贵时间。
两种可能性可能有所帮助。您可以尝试 with-local-randomness
隔离受 transfer_rate 中的更改影响的随机进程。或者,一个模拟并不能真正告诉您任何信息,因此您可以放弃尝试精确匹配动力学,而只是 运行 多次模拟,然后比较两组模拟。
我有一个模拟,在这个模拟中,代理人在物理网格周围移动,与他们的邻居就主题交换想法。我进行了一项研究,想完美地复制它,但只有一个修改 - 稍微调整 "transfer" 参数,以便以较慢的速度交换想法。
为了尝试获得完美的复制,我使用了 export/import 世界程序。当我重新 运行 模拟从 tick 0 导入的世界并且更改 none 参数时,模型是相同的。我得到相同的输出,代理移动并具有相同的交互,一切都是相同的。很棒
然而,当我重新运行使用同一个导入世界从零开始的模拟,但稍微调整一个参数(transfer_rate)时,代理会在物理space 不同的是,遇到不同的agent到原来的模拟,最终得到不同的结果。
也许通过调整一个参数,伪随机数以某种方式改变了?除了这个 transfer_rate 参数调整之外,有人知道有什么方法可以让一切都得到完美控制和保持不变吗?也许有一个简单的解决方案。
谢谢大家的宝贵时间。
两种可能性可能有所帮助。您可以尝试 with-local-randomness
隔离受 transfer_rate 中的更改影响的随机进程。或者,一个模拟并不能真正告诉您任何信息,因此您可以放弃尝试精确匹配动力学,而只是 运行 多次模拟,然后比较两组模拟。