如何将agentbreed1与agentbreed2一对一链接?

时间:2017-04-22 16:03:16

标签: netlogo

我有两大代理商1(村民)和等量的代理商2(房屋)。我试图以一对一的比例将这两者联系在一起。到目前为止,我尝试通过以下行来完成此操作,但我不确定它是否正确执行:

ask villagers [
  create-link-with one-of other houses
 ]

为了清楚起见,如果我有村民1,它可能只连接到一个与其他村民没有任何联系的房子。

希望这里有一位聪明人可以帮助我!

提前致谢。

1 个答案:

答案 0 :(得分:1)

这非常接近,但由于你没有约束说像"你可能只创建一个没有村民的房子的链接"你最终会得到一些有多个村民联系的房子和一些没有村民联系的房子。要纠正这一点,你需要做的只是包括那个约束,这样村民才可以链接到一个尚未连接的房子:

  ask villagers [
    create-link-with one-of houses with [ not any? link-neighbors ]
  ]

要检查它是否有效,您可以直观地检查链接或运行以下行的某些变体:

  ask turtles [ 
    if count link-neighbors != 1 [
      show ("I am not linked to just one turtle.")
    ]
  ]

如果任何海龟没有链接到另一只海龟,或者链接到多个乌龟,它会用引号打印该行。