领导者选择表格代理NetLogo

时间:2014-10-21 05:35:01

标签: netlogo

我想实现一个场景,NetLogo模拟中的所有代理都应该报告其邻居中的代理数量,最多可以报告3个半径的补丁。然后,在其半径范围内拥有最多代理商的前三名应该“设定为领导者”?真的'。因为我正在使用'乌龟 - 自己[领导者? ]'。

to setup
ca
ask n-of 30 patches [sprout 1 [
 set size .8
 ]
] 
end
to go
fd 0.5
lt random 20
choose-leader
end

to choose-leader


end

1 个答案:

答案 0 :(得分:2)

尝试这样:

  • 海龟有变数"是领导者?"设为false。

  • 每个蜱虫的龟以你决定的随机方式移动,然后设置他们的#is; is-leader?"变量为假

  • 执行程序choose-leader。它选择3个具有较大数量的邻居的3只海龟在半径3并设置他们的#is;领导者?"真实。

代码:

 turtles-own[
   is-leader?
]

to setup
  ca
  ask n-of 30 patches [sprout 1 [set size .8 set is-leader? false]] 
end

to go
  ask turtles[
     fd 0.5
     lt random 20
     set is-leader? false
  ]
  choose-leader

end

to choose-leader

   ask max-n-of 3 turtles [count turtles in-radius 3] [set is-leader? true]

end