【问题标题】:Use patch variable or create new agents when only a few patch will update the value (which one is better?)当只有少数补丁会更新值时使用补丁变量或创建新代理(哪个更好?)
【发布时间】:2013-11-05 02:52:48
【问题描述】:

我必须为不同的村庄地图设置运行一些代码,现在我的网格是 20 * 20 块,但我也将有高达 60 * 60 的网格大小,所有块现在都有 2 个变量存储和食物级别,只有 10 个补丁会使用他们的食物级别变量,我可以继续使用相同的设置,或者我可以创建 10 个其他海龟(例如树)并为它们分配食物级别并删除补丁的食物级别,你认为哪种方式是更好?

【问题讨论】:

    标签: performance patch agent netlogo


    【解决方案1】:

    仅考虑到您所说的信息,这两种方法似乎都明显优于我。仅补丁的方法似乎更简单一些,所以我想我现在会坚持使用它,但请记住切换的想法,以防您以后发现模型更精细时会有切换到尚不明显的海龟的好处。

    请注意,如果您需要做很多patches with [food-level > 0],则每次扫描所有补丁以找到带有食物的补丁都需要时间。如果这被证明是您模型中的性能问题,那么使用海龟可以解决它。但是上面有食物的十个补丁总是一样的,那么你可以在设置过程中运行一次patches with [food-level > 0],并将生成的补丁集存储在一个全局变量中,这样也可以解决性能问题。

    【讨论】:

    • 补丁总是一样的,所以我会用你的方法将它们保存在一个全局变量中,并在需要时调用它们。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    相关资源
    最近更新 更多