随机化代理调用过程的顺序?
Randomizing the order an agent calls a procedure?
我有 5 个程序我希望代理执行,但我需要他们随机化执行它们的顺序。
例如:
1) 可能的顺序
ask turtles [ move eat breed search spawn]
2) 另一种可能的顺序
ask turtles [spawn eat move search breed]
3) 另一种可能的顺序:
ask turtles [search breed eat move spawn]
等等。有没有一种随机顺序执行程序的有效方法?
您可以制作一个任务列表,打乱列表,然后运行列表中的每个任务:
let procedures (list (task spawn) (task eat) (task move) (task search) (task breed))
ask turtles [foreach shuffle procedures [run ?]]
我有 5 个程序我希望代理执行,但我需要他们随机化执行它们的顺序。
例如:
1) 可能的顺序
ask turtles [ move eat breed search spawn]
2) 另一种可能的顺序
ask turtles [spawn eat move search breed]
3) 另一种可能的顺序:
ask turtles [search breed eat move spawn]
等等。有没有一种随机顺序执行程序的有效方法?
您可以制作一个任务列表,打乱列表,然后运行列表中的每个任务:
let procedures (list (task spawn) (task eat) (task move) (task search) (task breed))
ask turtles [foreach shuffle procedures [run ?]]