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

Netlogo 加快检查R区海龟的年龄和位置?,netlogo,agent,Netlogo,Agent,我正在编写一个程序,测试海龟在环境中的导航能力。这行代码有两个检查。我想让它杀死最老的海龟,它的进步最小。它做了它应该做的,但是程序速度急剧减慢,每次检查时都会产生一些小问题。我想知道是否有人知道一个更好的方法来做这件事或使这条线更有效。谢谢 ask one-of turtles with [XCOR = min [XCOR] of turtles with [age = max [age] of turtles]] [ die] 首先,有一些原语专门使用min其中一个或与min查

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

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

首先,有一些原语专门使用
min其中一个
与min
查找具有某个变量的最大值或最小值的海龟。所以你的代码应该是这样的,我想:

ask min-one-of (turtles with-max [age]) [xcor] [...]
我怀疑这会解决效率问题,因为它很可能是因为隐式括号并不是你认为的那样,所以它会尝试将所有内容循环几次。但解决效率问题的一个更简洁易懂的版本是,专门将位置循环限制在年龄最大的人身上,然后从该集合中选择最低的位置

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

非常感谢你的帮助!这很有效。