如何选择代理以前未使用的链接

时间:2017-02-17 12:34:08

标签: netlogo

我有breed [walkers walker]在Netlogo中用链接表示的路线图中的道路。 links-own [ guiri-ids ]我打算成为已经走过这条链接的步行者turtle-set。 我想使用这个guiri-ids从可能的下一个链接集合中选择我称之为nextlinks的walker之前没有走过的链接(新的链接)。 如果之前已经走过了所有可能的链接,那么请选择其中一个链接。

如何获取guiri-ids设置的自己不包含的下一个链接集(walker)?。

我正在尝试这一行

let new-nextlinks nextlinks with [ guiri-ids != myself ]

但不断采取旧路径。

非常感谢你的帮助

1 个答案:

答案 0 :(得分:2)

breed [walkers walker]
links-own [ guiri-ids ]

to test
  ca
  crt 25 [setxy random-xcor random-ycor]
  ask turtles [
    create-link-with one-of other turtles
  ]
  create-walkers 10
  ask links [set guiri-ids n-of 3 walkers]
  ask walkers [walk]
end

to walk
  let _next one-of links with [not member? myself guiri-ids]
  ifelse (_next != nobody) [
    ask _next [set guiri-ids (turtle-set myself guiri-ids)]
  ] [
    ;do whatever you wish in this case
  ]
end