加快 R 中海龟的年龄和位置检查?

Speed up an age and position check for turtles in R?

我正在编写一个程序来测试海龟在环境中的导航能力。这行代码有两个检查。我想让它杀死进步最少的最老的乌龟。它做了它应该做的事,但程序速度急剧下降,每次进行此检查时都会出现小问题。我想知道是否有人知道解决此问题或使这条生产线更有效率的更好方法。谢谢!

ask one-of turtles with [XCOR = min [XCOR] of turtles with [age = max [age] of turtles]] [
      die]

首先,有些原语使用min-one-ofwith-min 专门寻找具有某些变量的最大值或最小值的海龟。所以我认为您的代码看起来像这样:

ask min-one-of (turtles with-max [age]) [xcor] [...]

我怀疑这会解决您的效率问题,因为这很可能是因为隐式括号不在您认为的位置,所以它试图将所有内容循环几次。但是解决效率问题的更清晰的阅读版本是专门将位置循环限制为最老的人,然后从该集合中选择最低的位置。

let old-turtles turtles with-max [age]
ask min-one-of old-turtles [xcor] [...]