1

我正在研究 Netlogo 的 Tabonuco-Yagrumo-Hybrid 模型 ( http://ccl.northwestern.edu/netlogo/models/TabonucoYagrumoHybrid ) 如何集成系统动力学和基于代理的建模。据我了解,该模型用基于代理的过程取代了系统动力学模型中的传统“流程”,这非常酷。

但是,在 Tabonuco-Yagrumo-Hybrid 模型中,我对记者agent-yagrumo-growthagent-tabonuco-growth.

agent-go过程将相应的树生长流程设置为:

to agent-go
  set yagrumo-growth agent-yagrumo-growth yagrumo-stock
  set tabonuco-growth agent-tabonuco-growth tabonuco-stock
...
end

可以看出,流量yagrumo-growthtabonuco-growth是使用上面提到的报告器设置的,它们将当前的“库存”值作为输入,即分别为 yagrumo 和 tabonuco 树的数量。这是有道理的。

然而,转到报告程序的定义,当前库存似乎根本没有用于计算。以agent-yagrumo-growth过程为例:

to-report agent-tabonuco-growth [ current ]
  let total-grown 0
  let growable tabonucos with [ not all? neighbors [ any? turtles-here ] ]
    ask n-of ( count growable * tabonuco-growth-rate ) growable
    [ let seedpatch one-of neighbors with [ not any? turtles-here ]
      if ( seedpatch != nobody )
        [ ask seedpatch
            [ sprout-tabonucos 1 [ set color sky ]
              set total-grown total-grown + 1
            ]
        ]
    ]
    report total-grown
end

这位记者为什么不使用 给定的值current,它代表当前的股票价值。我错过了什么还是这是一个错误?

谢谢!

4

0 回答 0