如何在所有较高的邻居补丁中随机选择而不是最高的邻居补丁? 我正在考虑删除(如果海拔> =最大邻居之一的[海拔][海拔][停止]) 并将“[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/