【问题标题】:Making links based on turtles-own variable根据海龟自己的变量建立链接
【发布时间】:2020-10-03 16:09:57
【问题描述】:

在此示例中,我尝试根据海龟自身的值创建两个定向链接品种链接。条件如下要求海龟链接到其他比我值小的海龟。

directed-link-breed [active-links active-link]
turtles-own [ Value ] 

to setup

crt 100 [setxy random-xcor random-ycor set value random 500]
ask turtles [ create-active-links-to min-n-of 2 other turtles [Value < myself] ][set links to have xxxxx ]
end

当我执行以下操作时:

  ask turtles [ create-active-links-to  min-n-of 2 other turtles with [value  < [ value ] of myself ] [set links to have xxxxx ]

我收到以下错误:

Requested 3 random agents from a set of only 2 agents.
error while turtles 8 running N-OF
  called by procedure GO
  called by Button 'go'

【问题讨论】:

  • 错误信息是什么意思?
  • 从一组仅有的 2 个代理中请求了 3 个随机代理。生菜 8 运行 N-OF 时出错,由按钮“go”调用的过程 DO 调用

标签: netlogo


【解决方案1】:

该消息告诉您(对于特定的生菜),只有两个满足条件,但您想与其中 3 个关联。查看您的问题,您希望海龟将链接发送到特定变量值较低的海龟。你想让那个变量的最低值的乌龟做什么?显然它不能链接到价值较低的海龟,因为没有。

我也不清楚你为什么使用min-n-of。你想链接到最低值的海龟(在这种情况下,每个海龟都会发送链接到相同的几个海龟)还是你想链接到随机选择的低值海龟(在这种情况下,具有较高值的​​海龟会有更多选择)?

整理好逻辑后,有几种方法可以处理这个问题。如果您确实想要最低值,请先使用min-n-of 查找候选者,然后链接到任何值低于询问龟的值。如果您想从可能更大的组中随机选择,请使用up-to-n-of 而不是n-of。或者您可以在尝试链接之前计算找到的数量以确保足够。

【讨论】:

  • 当我使用 min-n-of 时出现错误,有没有办法将 up-to 和 min-n-of 结合起来,这样我就不会得到采样错误?
  • 是的,如我回答的第三段所述。
猜你喜欢
  • 1970-01-01
  • 2014-12-04
  • 2019-09-02
  • 1970-01-01
  • 2020-07-22
  • 2015-11-27
  • 1970-01-01
  • 1970-01-01
  • 2016-09-23
相关资源
最近更新 更多