Netlogo 如何一对一地将agentbreed1链接到agentbreed2?

Netlogo 如何一对一地将agentbreed1链接到agentbreed2?,netlogo,Netlogo,我得到了两大套agentbreeds1(村民)和等量的agentbreeds2(房屋)。我试图以一对一的比例将这两个因素联系起来。到目前为止,我试图通过以下方式实现这一点,但我不确定它是否正确: ask villagers [ create-link-with one-of other houses ] 为了清楚起见,如果我有村民1,它可能只会连接到一个与另一个村民没有任何联系的房子 希望这里的一位聪明人能进一步帮助我 提前谢谢。这很接近,但是因为你没有限制说“你只能创建一个与没有村民的

我得到了两大套agentbreeds1(村民)和等量的agentbreeds2(房屋)。我试图以一对一的比例将这两个因素联系起来。到目前为止,我试图通过以下方式实现这一点,但我不确定它是否正确:

ask villagers [
  create-link-with one-of other houses
 ]
为了清楚起见,如果我有村民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.")
    ]
  ]

如果任何一只乌龟与另一只乌龟没有联系,或者与多只乌龟有联系,它会在引号中打印这一行。

如果没有太多问题,我如何使用链接让村民返回他们的房子?可能类似于
问村民[搬到一个联系邻居那里]