Как сохранить максимальное значение репортера во время моделирования в NetLogo?

Я запускаю симуляцию в NetLogo на основе модели Rebellion, в которой некоторые агенты становятся активными, но могут быть деактивированы другими агентами.

Мой вопрос в том, как сохранить максимальное значение активных агентов? Моделирование заканчивается, когда все агенты деактивированы. Я подсчитываю количество активных агентов во время моделирования с помощью:

подсчитывать агентов с [активными?],

но я не могу понять, как сохранить наибольшее значение этого числа. Я знаю, что могу измерять пробежки на каждом шагу, но из-за количества повторений я бы предпочел просто сохранить это максимальное число.

С уважением, Мацек.


person Maciej Jakubczyk    schedule 18.04.2012    source источник


Ответы (1)


Вы можете сохранить максимальное значение, обнаруженное до сих пор, в глобальной переменной и обновлять его всякий раз, когда вы достигаете нового максимума:

globals [
  max-active-agents
]

to setup
  set max-active-agents 0
end

to go
  let nb-active-agents agents with [ active? ]
  if nb-active-agents > max-active-agents [ 
    set max-active-agents nb-active-agents
  ]
end
person Nicolas Payette    schedule 18.04.2012