在补丁集上创建超过1只海龟

时间:2014-10-31 14:39:11

标签: netlogo

如何在补丁集上创建超过1只乌龟,以免两只乌龟有相同的中心?

创建定义为密度的海龟数量。

因此,每个补丁我需要更多代理。

Eluciadtion:有一组盒子形状的补丁我希望填补代理人。相当于在一个房间内分发代理商。

这个答案Distribute turtles on patches也会在盒子外面创造出海龟。

感谢。

2 个答案:

答案 0 :(得分:2)

假设补丁集意味着所有补丁。

 Crt number
 [Setxy random-xcor random-ycor]

给你一些均匀分布在补丁上的海龟,很少有机会拥有相同的中心。带浮点的生日问题。

或者如果你想要在任何一组补丁P上均匀分布n只乌龟。

Repeat n [ask one-of p
                       [
                       Sprout 1
                            setxy (pxcor + random-float 1 - .5) (pycor + random-float 1 -.5)
                      ]
]

选择一组随机成员并将乌龟放在该补丁的随机部分

答案 1 :(得分:0)

如果density确实是要创建的海龟数量,my-patches就是你的补丁集:

ask n-of density my-patches [ sprout 1 ]

如果density是应该有海龟的补丁的一部分(例如density = 0.5则意味着补丁的一半应该有海龟):

ask n-of (density * count my-patches) my-patches [ sprout 1 ]

如果density应该以概率方式处理(例如density = 0.5意味着每个补丁有50%的机会有乌龟):

ask patches with [ random-float 1 < density ] [ sprout 1 ]