如何在 Netlogo 上重复相同的设置?
How to repeat the same setup on Netlogo?
我在 netlogo 中有一个模拟,其中有一个针对世界各地的海龟的设置。
问题是当我创建海龟时,它们会进入随机位置。
我怎样才能让他们修复?
请注意,我不能为每只乌龟指定 xcor 和 yxor,因为我有数百只乌龟。
To setup-people
tick
set-default-shape people "person"
ask n-of 185 (patches with [pcolor = black]) [sprout-people 1]
ask people[ set color cyan ]
ask people [ set points 2 ]
reset-ticks
end
一种方法是使用 with-local-randomness
命令。
breed [ people person ]
people-own [ points ]
To setup-people
clear-all
set-default-shape people "person"
with-local-randomness [
random-seed 0
ask n-of 185 (patches with [pcolor = black]) [sprout-people 1]
]
ask people [ set color cyan ]
ask people [ set points 2 ]
reset-ticks
end
如果您不清楚这里发生了什么,我强烈建议您阅读 section on random numbers in the NetLogo programming guide。
基本思想是 NetLogo 将始终在局部随机性的小块内使用相同的随机数序列,但它不会影响模型的其余部分,因此如果您有其他随机行为,它们将仍然不同于 运行 运行.
话虽如此,将您的员工始终安排在同一地点有多重要?基于代理的模型通常有很多随机元素。如果这让你感到不舒服,那可能是因为你还没有完全评估它。只是在您进行模型设计时要牢记在心...
注意:我已将您程序顶部的 tick
替换为 clear-all
,因为我相信这可能就是您要写的内容。
我在 netlogo 中有一个模拟,其中有一个针对世界各地的海龟的设置。 问题是当我创建海龟时,它们会进入随机位置。 我怎样才能让他们修复? 请注意,我不能为每只乌龟指定 xcor 和 yxor,因为我有数百只乌龟。
To setup-people
tick
set-default-shape people "person"
ask n-of 185 (patches with [pcolor = black]) [sprout-people 1]
ask people[ set color cyan ]
ask people [ set points 2 ]
reset-ticks
end
一种方法是使用 with-local-randomness
命令。
breed [ people person ]
people-own [ points ]
To setup-people
clear-all
set-default-shape people "person"
with-local-randomness [
random-seed 0
ask n-of 185 (patches with [pcolor = black]) [sprout-people 1]
]
ask people [ set color cyan ]
ask people [ set points 2 ]
reset-ticks
end
如果您不清楚这里发生了什么,我强烈建议您阅读 section on random numbers in the NetLogo programming guide。
基本思想是 NetLogo 将始终在局部随机性的小块内使用相同的随机数序列,但它不会影响模型的其余部分,因此如果您有其他随机行为,它们将仍然不同于 运行 运行.
话虽如此,将您的员工始终安排在同一地点有多重要?基于代理的模型通常有很多随机元素。如果这让你感到不舒服,那可能是因为你还没有完全评估它。只是在您进行模型设计时要牢记在心...
注意:我已将您程序顶部的 tick
替换为 clear-all
,因为我相信这可能就是您要写的内容。