如何让每只乌龟与其链接邻居共享相同的链接

时间:2015-08-22 12:19:28

标签: netlogo

我一直在努力编写一个模型,其中海龟与一定数量的其他海龟建立链接,并为那些海龟创建与链接到它的海龟的链接邻居的链接。现在,我可以让海龟与其他海龟建立联系,但他们不会共享相同的链接邻居。我想最终得到一些特定群体规模的小乌龟群。但是,目前我只能告诉海龟创建一定数量的链接,但它们不会以子组结尾,因为它们的链接邻居不一定共享相同的链接邻居。我想我可以让每只乌龟要求他们的链接邻居创建自己的[link-neighbors]链接。我认为这会有效,除了我得到一个错误,说乌龟不能与自己联系。我已经尝试更改代码,因此它告诉乌龟问链接邻居[创建链接与[链接 - 邻居]我自己[who!= self]],但这也不起作用。

以下是我的一些代码:

;group size is 1 + (count link-neighbors) 
;preferred-size is a slider, used to alter what group size I want turtles to be in

 ask turtles 
   [if (preferred-size > group-size) and (any? other turtles in-radius 1 with [preferred-size > group-size])
   [create-link-with one-of other turtles in-radius 1 with [preferred-size > group-size] 

   ask link-neighbors
   [create-links-with [link-neighbors] of myself]
   ]

此外,是否存在类似链接邻居的术语,但指的是一串连接上的所有海龟?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:4)

你非常接近!您所需要的只是other

create-links-with other [ link-neighbors ] of myself

您无法将whoself进行比较:who是一个数字,而self是一只乌龟。在with [ who != self ]]的上下文中,它们永远是同一只乌龟的变量。在任何情况下,通常最好避免处理who数字:几乎总是有更好的方法来做事。

  

是否存在类似链接邻居的术语,但是指的是一串连接上的所有海龟?

我不完全确定这是你的意思,但也许nw:turtles-on-path-to?或许你会在nw extension中找到一些其他有用的东西。