Netlogo:获取 link 分配给特定代理

Netlogo: Getting link assigned to a particular agent

我有 2 个代理,hubindividual

每个人都有自己的变量,叫做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) 来实现相同的目的。