【发布时间】:2013-11-05 02:52:48
【问题描述】:
我必须为不同的村庄地图设置运行一些代码,现在我的网格是 20 * 20 块,但我也将有高达 60 * 60 的网格大小,所有块现在都有 2 个变量存储和食物级别,只有 10 个补丁会使用他们的食物级别变量,我可以继续使用相同的设置,或者我可以创建 10 个其他海龟(例如树)并为它们分配食物级别并删除补丁的食物级别,你认为哪种方式是更好?
【问题讨论】:
标签: performance patch agent netlogo
我必须为不同的村庄地图设置运行一些代码,现在我的网格是 20 * 20 块,但我也将有高达 60 * 60 的网格大小,所有块现在都有 2 个变量存储和食物级别,只有 10 个补丁会使用他们的食物级别变量,我可以继续使用相同的设置,或者我可以创建 10 个其他海龟(例如树)并为它们分配食物级别并删除补丁的食物级别,你认为哪种方式是更好?
【问题讨论】:
标签: performance patch agent netlogo
仅考虑到您所说的信息,这两种方法似乎都明显优于我。仅补丁的方法似乎更简单一些,所以我想我现在会坚持使用它,但请记住切换的想法,以防您以后发现模型更精细时会有切换到尚不明显的海龟的好处。
请注意,如果您需要做很多patches with [food-level > 0],则每次扫描所有补丁以找到带有食物的补丁都需要时间。如果这被证明是您模型中的性能问题,那么使用海龟可以解决它。但是上面有食物的十个补丁总是一样的,那么你可以在设置过程中运行一次patches with [food-level > 0],并将生成的补丁集存储在一个全局变量中,这样也可以解决性能问题。
【讨论】: