我对Netlogo有点陌生,一直在为我从行为空间获得的一些结果而绞尽脑汁。我一直在玩狼羊捕食模型,并改变他们的行动,根据他们在什么颜色补丁。有一只狼和一只羊,我想衡量的是狼吃羊所需的时间步骤。这些补丁是随机着色的,基于0-100之间的某些比例,如下所示:
to color-patches
let total 100
let p-red slider1 / total
let p-green total - p-red
ask patches [
let x random-float 1.0
if x <= p-red + p-green [set pcolor green]
if x <= p-red [set pcolor red]
]
end我遇到的问题是,当我把狼和羊的运动设置为独立于补丁颜色的时候:
ask sheep [
set heading random 360
fd 1
]
ask wolves[
set heading random 360
fd 1
eat-sheep
]我的期望是,不管有多少红斑和多少绿色斑块,狼吃羊之前的时间步数的平均和标准误差应该是相当相似的,因为它们的运动不受它的影响。我在行为空间中运行它,每10%增加1000次迭代(从0到100%)。然而,我不断得到这样的结果:
基本上,means+se到处都是。每次我运行它时,它们的分布都是不同的(但也是相同的)。这一点特别奇怪,因为当我介绍任何特定于狼或羊的特定颜色的行为时,我会得到非常清晰的图案,并且变化较少。
有什么好主意吗?我唯一能想到的是,每个相对的起始位置非常重要(但每个位置都是随机的xy弦)。我假设,在给定参数集的每一次迭代的行为空间中,它将贯穿所有代码(从而为每个参数组合的1000次运行生成一个新的随机景观和新的随机起点。行为空间是否可以为每个海龟获取第一个景观和开始坐标,并将它们用于每个参数组合的1000个迭代中的每一个?
谢谢!
发布于 2022-04-12 14:58:52
现在我认为你可能没有错误,而是曲解了你的图表。你贴出的图上的Y轴只在2000到2200之间;如果你把Y轴标度设为0到2500,那么每个实验的结果看起来都非常相似。
您的结果(~2100)和我的结果(~3100)之间的平均值的差异可能是由于不同的世界大小。我给出了标准偏差,而你却绘制了标准错误。
如果你用直方图表示结果,它们似乎呈指数分布。
https://stackoverflow.com/questions/71828074
复制相似问题