我一直在努力编写一个模型,其中海龟与一定数量的其他海龟建立链接,并为那些海龟创建与链接到它的海龟的链接邻居的链接。现在,我可以让海龟与其他海龟建立联系,但他们不会共享相同的链接邻居。我想最终得到一些特定群体规模的小乌龟群。但是,目前我只能告诉海龟创建一定数量的链接,但它们不会以子组结尾,因为它们的链接邻居不一定共享相同的链接邻居。我想我可以让每只乌龟要求他们的链接邻居创建自己的[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]
]
此外,是否存在类似链接邻居的术语,但指的是一串连接上的所有海龟?
非常感谢任何帮助!
答案 0 :(得分:4)
你非常接近!您所需要的只是other
:
create-links-with other [ link-neighbors ] of myself
您无法将who
与self
进行比较:who
是一个数字,而self
是一只乌龟。在with [ who != self ]]
的上下文中,它们永远是同一只乌龟的变量。在任何情况下,通常最好避免处理who
数字:几乎总是有更好的方法来做事。
是否存在类似链接邻居的术语,但是指的是一串连接上的所有海龟?
我不完全确定这是你的意思,但也许nw:turtles-on-path-to
?或许你会在nw
extension中找到一些其他有用的东西。