NetLogo: установка переменной черепахи на основе соседей по сети - PullRequest
0 голосов
/ 08 июля 2019

Я создаю виртуальное общество, в котором у черепах есть трехмерный вектор мнений. Мне бы хотелось, чтобы у каждой черепахи в сети был вектор мнений, связанный с черепахами в сети после нормального распределения.

Я полагаю, что можно создать черепах со случайными мнениями, а затем в конце процесса установки свести эти мнения воедино.Так, например, черепаха 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

1 Ответ

0 голосов
/ 09 июля 2019

Я думаю, что, возможно, занялся этим, я жду комментариев от более старших NetLoggers ...

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
...