循环通过代理Netlogo

循环通过代理Netlogo,netlogo,agent,agent-based-modeling,Netlogo,Agent,Agent Based Modeling,我想把从品种1到品种2的每个代理链接到另一个代理 create-breed1 20 [ let breed2-number random 20 create-link-with breed2 breed2-number ] 现在的问题是,来自品种1的每个代理都连接到品种2的一个代理,但品种2有时链接到品种1的多个代理,有时根本没有链接。在选择海龟创建链接之前,您需要过滤繁殖的海龟以删除那些已经有链接的海龟。您可能需要以下内容: breed [breeds1 breed1] breed [b

我想把从品种1到品种2的每个代理链接到另一个代理

create-breed1 20 [
 let breed2-number random 20
 create-link-with breed2 breed2-number
]

现在的问题是,来自品种1的每个代理都连接到品种2的一个代理,但品种2有时链接到品种1的多个代理,有时根本没有链接。

在选择海龟创建链接之前,您需要过滤繁殖的海龟以删除那些已经有链接的海龟。您可能需要以下内容:

breed [breeds1 breed1]
breed [breeds2 breed2]

ask breeds1
[ create-link-with one-of (breeds2 with [not any? link-neighbors])
]

我假设您的繁殖海龟数量2多于繁殖海龟数量1,因此有一只海龟可以链接。

我的繁殖海龟数量1和繁殖海龟数量2相同。我尝试了您的解决方案,但随后收到一条错误消息:BREED2需要1个输入,一个数字。问题是其中一个地址是agentset,而不是单个agentbreed1和BREED2被定义为breed。我在代码开头将品种定义为breed[breeds1 breed1]breed[breeds2 breed2]抱歉,我没有添加它这是问题所在-在我的代码中,你需要的是breeds2,而不是breed2(我原以为breed2是复数)