在 netlogo v6 中,我试图让代理与网络中的其他代理交互,并建立新的连接。
为此,我需要他们检查会议中也存在的当前链接。只有在会议上,他们才能互动。
我使用记者来做到这一点:links_at_meeting。
代码是:(补丁代表集合地点)
to-report links_at_meeting
report my-links with [[patch-here] of other-end = one-of (patch-set patch 0 0 ([neighbors] of patch 0 0 ))]
end
我不断收到一个与完整解释无关的错误,但我发现这是由于 links_at_meeting 不断报告不同的数字所致。我发现了这一点,因为当我收到错误时,我去了命令中心并询问出错乌龟的 links_at_meeting,然后我得到了这个(1 个刻度):
observer> ask id 39[show links_at_meeting]
(id 39): (agentset, 0 links)
observer> ask id 39[show links_at_meeting]
(id 39): (agentset, 1 link)
observer> ask id 39[show links_at_meeting]
(id 39): (agentset, 1 link)
observer> ask id 39[show links_at_meeting]
(id 39): (agentset, 2 links)
observer> ask id 39[show links_at_meeting]
(id 39): (agentset, 4 links)
observer> ask id 39[show links_at_meeting]
(id 39): (agentset, 0 links)
observer> ask id 39[show links_at_meeting]
(id 39): (agentset, 2 links)
observer> ask id 39[show links_at_meeting]
(id 39): (agentset, 3 links)
observer> ask id 39[show links_at_meeting]
(id 39): (agentset, 0 links)
observer> ask id 39[show links_at_meeting]
(id 39): (agentset, 0 links)
observer> ask id 39[show links_at_meeting]
(id 39): (agentset, 4 links)
在这里您可以看到,每次我调用 links_at_meeting 时,我都会为单个刻度获得不同的代理集(在此期间链接不会移出会议地点)。
报告器neighbors_at_meeting也会发生同样的情况,它报告带有patch-here =会议地点的链接邻居。
我的问题是:为什么?可能出了什么问题?
我想我已经明白了 -
问题似乎出在这部分:
my-links with [[patch-here] of other-end = one-of (patch-set patch 0 0 ([neighbors] of patch 0 0 ))]
生成这些补丁之一上的链接列表,而不是生成任何这些补丁上的海龟列表。