Вот полная модель, которая делает то, что вы пытаетесь достичь.
links-own [trust]
to testme
clear-all
; create complete directed network
create-turtles 10
ask turtles
[ create-links-to other turtles
[ set trust random 50
]
]
; display complete network briefly
layout-circle turtles 10
type "average trust value is: " print mean [trust] of links
wait 5
; delete all except highest trust for each turtle
ask turtles
[ let keeper my-in-links with-max [trust]
ask my-in-links with [not member? self keeper][die]
]
type "average trust value is: " print mean [trust] of links
end
У меня есть, показывая начальную сеть и печатая средние значения доверия, чтобы вы могли видеть, что происходит.
Важной концепцией здесь является то, что my-links
- это набор агентов (в частности, это набор ссылок, потому что агенты в наборе являются ссылками). Поскольку вы пытаетесь просто просмотреть ссылки, которые связаны с одной черепахой, тогда не имеет значения, какие черепахи находятся на другом конце, и вам вообще не нужно ссылаться на другой конец.
Вы можете просто просмотреть набор ссылок, которые прикрепляются к конкретной черепахе (my-in-links
или my-links
или my-out-links
), а затем посмотреть значения доверия для этих ссылок. Я использовал with-max
, чтобы найти тот, который имеет наибольшее значение, а затем использовал набор членства. Но вы также можете использовать
ask turtles
[ let upper max [trust] of my-in-links
ask my-in-links with [trust < upper] [die]
]
, который наиболее близок к коду, который вы написали в своем вопросе.