我有两个代理商,中心和个人。
个人拥有自己的变量,名为值。
我想编写一种方法,允许集线器选择具有最高值的个人,并且尚未与集线器建立链接,以便与其建立链接。
到目前为止,我正在使用max-one-of,这给了我第一轮中最高的值 -d个人但是在第二轮中,尽管已经有链接,但仍然选择了同一个人与中心建立。
我想问一下,如何获得尚未与中心链接的个人,其中值最高?
非常感谢!
答案 0 :(得分:1)
您需要使用with
和link-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