我正在建立一个模型,其中包含许多通过链接连接的代理,如下所示:
ask turtles [create-links-with turtles in-radius vision with [self != myself]]
但我希望能够限制单个代理可以建立的连接数。我尝试过一些东西,但无济于事。
希望你能提供帮助。
答案 0 :(得分:2)
您可以使用n-of
基元随机选择要连接的海龟子集,如下所示:
ask turtles [create-links-with n-of 3 turtles in-radius vision with [self != myself]]
但是,如果你想要一个坚定的上限,你需要做一些有点棘手的事情,因为这并不能阻止其他海龟创建到同一只乌龟的链接。如果您需要固定数量的链接(以下示例中为5),您可以执行以下操作:
ask turtles
[ let new-links 5 - count my-links
let candidates other turtles with [ count my-links < 5 ]
create-links-with n-of min (list new-links count candidates) candidates
[ ... ]
]
如果你只是想要一个上限,你可以问任何有我链接的海龟&gt;限制随机选择要删除的适当数量的链接。因此,在创建链接之后,就像这样(未经测试):
ask turtles with [count my-links > LIMIT]
[ if count my-links > LIMIT [ask n-of (count my-links - LIMIT) my-links [die]] ]