我正在研究 Netlogo 的 Tabonuco-Yagrumo-Hybrid 模型 ( http://ccl.northwestern.edu/netlogo/models/TabonucoYagrumoHybrid ) 如何集成系统动力学和基于代理的建模。据我了解,该模型用基于代理的过程取代了系统动力学模型中的传统“流程”,这非常酷。
但是,在 Tabonuco-Yagrumo-Hybrid 模型中,我对记者agent-yagrumo-growth
和agent-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-growth
和tabonuco-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
,它代表当前的股票价值。我错过了什么还是这是一个错误?
谢谢!