Я работаю над тем, как в модели Netlogo Tabonuco-Yagrumo-Hybrid (http://ccl.northwestern.edu/netlogo/models/TabonucoYagrumoHybrid)) интегрируется динамика системы и агентное моделирование. Насколько я понимаю, модель заменяет традиционные «потоки» в модели динамики системыпроцедура, основанная на агентах, что довольно круто.
Однако в модели Tabonuco-Yagrumo-Hybrid меня смущает использование репортеров agent-yagrumo-growth
и agent-tabonuco-growth
.
* 1008.* Процедура
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
устанавливаются с использованием упомянутых выше репортеров, которые принимают в качестве входных данныхтекущие значения «запасов», т. е. количество деревьев ягрумо и табонуко соответственно. Это имеет смысл.
Если перейти к определению репортерских процедур, однако, текущий запас, похоже, не используется вообщерасчеты. Для примера 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
, которое представляеттекущая стоимость акций.Я что-то упустил или это ошибка?
Спасибо!