random - 如何随机选择 netlogo 中具有较高海拔的邻居补丁

标签 random patch netlogo elevation

如何在所有较高的邻居补丁中随机选择而不是最高的邻居补丁? 我正在考虑删除(如果海拔> =最大邻居之一的[海拔][海拔][停止]) 并将“[stop]”放入[move-to one of Neighbor [stop]]

to move ; a turtle procedure

if elevation >= [elevation] of max-one-of neighbors [elevation] [stop]


ifelse random-float 1 < q
[uphill elevation]
[move-to one-of neighbors]

end

最佳答案

one-of 从代理集中随机选择一个代理,with 创建满足条件的代理集。您还需要测试是否至少有一个位置可供前往。选择将如下所示(阈值条件待确定):

to move-up ; a turtle procedure
  let candidates neighbors with [elevation >= <thresholdhold condition> ]
  if any? candidates [ move-to one-of candidates]
end

如果您想在较高的邻居中进行选择,无论它们是否高于某个阈值,您需要 max-n-of。看起来像这样选择 3 个最高的之一:

to move-up
  move-to one-of max-n-of 3 neighbors [elevation]
end

关于random - 如何随机选择 netlogo 中具有较高海拔的邻居补丁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34081116/

相关文章:

java - 如何将字符串放置在二维数组中随机选择的位置

javascript - 生成给定长度的随机字符串

deployment - 如何在 1 个补丁中部署 : database, 源代码和二进制更改?

c - 如何制作确定性随机数生成器?

random - 如何在 CUDA FORTRAN 中生成随机数?

linux - 向文件部分添加一行,除非它存在

python - 在 matplotlib patchcollection 中设置颜色范围

image - 导出NetLogo中的部分 View

Netlogo 在turtle上下文中调用观察者上下文函数

Netlogo:询问 "up to a maximum number"