Netlogo:获取 link 分配给特定代理
Netlogo: Getting link assigned to a particular agent
我有 2 个代理,hub 和 individual。
每个人都有自己的变量,叫做value。链接有自己的变量 strength.
我想写一个方法让集线器select拥有最高价值的个体,并且已经和集线器建立了link,为了加强link,增加link的变量强度。
但是,最大强度可以达到的上限由一个名为 max_strength 的全局变量限制。如果实力数量接近这个上限。我要选出下一个最佳个人。
请问如何实现?
非常感谢!
有多种方法可以解决这个问题。我会选择:
ask hubs [
let candidates my-links with [ strength < max-strength ]
if any? candidates [
ask max-one-of candidates [ [ value ] of other-end ] [
set strength strength + 1 ; or whatever you want to increase it by
if strength > max-strength [ set strength max-strength ]
]
]
]
是否需要if strength > max-strength [ set strength max-strength ]
取决于max-strength
是否是强度增加的精确倍数。您也可以使用 set strength min (list (strength + 1) max-strength)
来实现相同的目的。
我有 2 个代理,hub 和 individual。
每个人都有自己的变量,叫做value。链接有自己的变量 strength.
我想写一个方法让集线器select拥有最高价值的个体,并且已经和集线器建立了link,为了加强link,增加link的变量强度。
但是,最大强度可以达到的上限由一个名为 max_strength 的全局变量限制。如果实力数量接近这个上限。我要选出下一个最佳个人。
请问如何实现?
非常感谢!
有多种方法可以解决这个问题。我会选择:
ask hubs [
let candidates my-links with [ strength < max-strength ]
if any? candidates [
ask max-one-of candidates [ [ value ] of other-end ] [
set strength strength + 1 ; or whatever you want to increase it by
if strength > max-strength [ set strength max-strength ]
]
]
]
是否需要if strength > max-strength [ set strength max-strength ]
取决于max-strength
是否是强度增加的精确倍数。您也可以使用 set strength min (list (strength + 1) max-strength)
来实现相同的目的。