NetLogo: 1 тик = сколько секунд? - PullRequest
7 голосов
/ 26 августа 2010

Сколько тиков в симуляции NetLogo (на нормальной скорости) равно 1 секунде «реального мира»?

Ответы [ 6 ]

14 голосов
/ 26 августа 2010

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

Что касается настройки «нормальной скорости», которую имеет NetLogo, то это означает (и это из опыта, а не из знания того, как на самом деле работает движок), что каждый раз, когда обрабатывается тик, NetLogo будет ожидать графического отображения обновляется перед началом следующего запуска.

Если вы замедлите симуляцию (переместите этот ползунок влево), то NetLogo будет ждать дополнительное время перед каждым шагом симуляции, если вы ускорите его (переместите ползунок вправо), то NetLogo продолжит симуляцию, пока обновляется графический дисплей. Это означает, что вы, вероятно, не увидите каждый шаг симуляции визуализированным.

3 голосов
/ 21 октября 2014

На мой взгляд, переход от тиков к секундам зависит от контекста.

Пример: представьте, что каждый патч в Netlogo - это 40 см реального мира, представьте, что человек проходит новый патч в каждом тике.Средняя скорость человека при ходьбе оценивается в 1,2 м / с, поэтому каждые 3 тика человек выполняет 1,2 м.Наконец, мы можем утверждать, что 3 отметки в моделируемой среде соответствуют 1 секунде жизни агентов.

При изменении размеров патчей или агентов изменяются эти пропорции и, соответственно, значение галочки.

Одиночный тик не предназначен для фиксированного соответствия с секундами, он просто означает «единицу времени».

2 голосов
/ 26 августа 2010

Исходя из моего опыта работы с NetLogo, я не думаю, что галочки отображают реальное время.Я считаю, что они без единого целого.Вы читали что-то наоборот?

1 голос
/ 05 мая 2013

Если вы действительно хотите измерять, используя секунды вместо тиков, вы можете использовать ключевое слово every.Это не предлагается, потому что это будет не синхронизировано со скоростью тиков в секунду.Вы не сможете отрегулировать скорость тика ползунка и распространить это на все.Но он есть.

Дополнительная информация о списке рассылки: http://netlogo -users.18673.x6.nabble.com / Running-command-every-x-iterations-td4864424.html

0 голосов
/ 05 января 2017

Если вы хотите, чтобы один тик представлял определенное количество времени (одна минута, один день, 2,73 года ...), используйте расширение TIME: https://github.com/colinsheppard/time

0 голосов
/ 08 ноября 2014

Можно, однако, рассчитать время выполнения определенного фрагмента кода в Netlogo (в реальном времени). См: Время выполнения процедуры в NetLogo

1.) С использованием таймера сброса и таймера

2.) Расширение профилировщика в NetLogo

...