首页 > 解决方案 > NetLogo 代理集表单与其他代理集的链接

问题描述

我正在寻找与其他海龟集的海龟集形式链接。

我目前的尝试也感觉做作,因为不是这里的每个蜂巢都会被选中。还有其他方法吗?

to link-bees-to-hives [bees-agentset hives-agentset]
  ask bees-agentset [
    create-link-with one-of hives-agentset
  ]
end

如何按照集合中海龟的顺序在两个代理集 netlogo 之间创建链接?

标签: netlogo

解决方案


你想让蜜蜂与另一个蜂巢建立联系吗?如果您有相对足够的蜜蜂,您的尝试可能没问题,但如果您想对蜜蜂选择进行加权,以便它们优先与关联蜜蜂较少的蜂箱联系,您可以使用某种min-one-of解决方案或rnd扩展中的某种解决方案。例如,蜜蜂和蜂巢设置:

extensions [ rnd ]

breed [ bees bee ]
breed [ hives hive ]

to setup
  ca
  create-hives 3 [
    set color white
    set shape "box"
    set size 2
    setxy random-xcor random-ycor
  ]
  create-bees 15 [
    set color yellow
    set shape "bug"
    setxy random-xcor random-ycor
  ]

  reset-ticks
end

和加权选择:

to link-bee-to-hive
  ask bees [
    create-link-with rnd:weighted-one-of hives [ 1 - count my-links / count bees ]
  ]
  print [ count my-links ] of hives
end

当然,如果你有足够少的蜜蜂和蜂箱,你可能仍然会得到一两个没有联系到的蜂箱。


推荐阅读