Netlogo:根据多种条件选择代理

时间:2017-02-19 06:08:10

标签: netlogo

我有两个代理商,中心个人

个人拥有自己的变量,名为

我想编写一种方法,允许集线器选择具有最高的个人,并且尚未与集线器建立链接,以便与其建立链接。

到目前为止,我正在使用max-one-of,这给了我第一轮中最高的 -d个人但是在第二轮中,尽管已经有链接,但仍然选择了同一个人与中心建立。

我想问一下,如何获得尚未与中心链接的个人,其中最高?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您需要使用withlink-neighbor?来过滤您的个人:

breed [ hubs hub ]
breed [ individuals individual ]
individuals-own [ value ]

to setup
  clear-all
  create-hubs 1
  create-individuals 10 [
    set value random 100
    forward 5
  ]
  reset-ticks
end

to go
  ask hubs [
    let candidates individuals with [ not link-neighbor? myself ]
    if any? candidates [
      create-link-with max-one-of candidates [ value ]
    ]
  ]
  tick
end