netlogo - NetLogo:根据网络上的邻居设置海龟的变量
问题描述
我正在创建一个虚拟社会,其中海龟有一个 3 维的意见向量。我想要的是网络中的每个海龟都有一个与网络中的海龟相关的意见向量,遵循正态分布。
我认为一种可能性是创建具有随机意见的海龟,然后在设置过程结束时将这些意见放在一起。例如,乌龟 0 有意见[0.2 0.8 0.6]
,乌龟 1 有[0.7 0.5 0.5]
,乌龟 2 有[0.9 0.4 0.1]
。均值为[0.6 0.6 0.1]
,则每只海龟的意见向量将按照正态分布重新建立[0.6±0.1 0.6±0.1 0.6±0.1]
下面我正在尝试,这不起作用,因为我的(map mean ([opinions] of my-nearby-turtles)
位给出了每只乌龟的所有意见维度的平均值,而不是所有海龟的每个意见维度的平均值......
ask turtles [
set opinions n-values 3 [random-float 1]
(foreach opinions (map mean ([opinions] of turtles)) [ [a b] -> set a random-normal b 0.1])
]
end
解决方案
我想我可能已经解决了,我等待更多高级 NetLogger 的评论......
ask turtles [
set opinions n-values 3 [random-float 1]
(foreach opinions [x ->
let avg-network map mean ([opinions] of turtles)
let pp position x opinions
set opinions replace-item pp opinions random-normal (item pp avg-network) 0.1])
]
end
推荐阅读
- python - 不工作:Spark 环境变量的编辑
- json - 通过 Google 脚本解析嵌套的 JSON
- azure-functions - Aggregates with Event Sourcing and CQRS
- javascript - Why Java script object is different than it's individual property?
- kubernetes - jupyterlab 的大使配置
- prolog - 如何更改正确单词的错误拼写?
- python - 如何解决 - ValueError:在 Python 中解包的值太多
- python - 使用参数(对象数组)从 python2 脚本调用 python3 方法并接收输出
- sql - 加入3表jdbc
- clojure - 通过选定的键连接两个地图向量并保留元素的顺序