симулятор

моделирование эпидемии

Модель

Механическая часть модели - упрощенная модель (двумерного) броуновского движения. Внутри прямоугольника движутся без трения шарики. Взаимодействие происходтит только при столкновении шариков друг с другом и/или с границей прямоугольника. Взаимодействие описывается как упругое столкновение. Начальное положение, скорость и направление движения каждого шарика – случайные величины (с определёнными пределами). “Механические” параметры модели:

  • диаметр каждого шарика равен 1 (постоянная величина),

  • размер прямоугольной области (где шарики движутся) – в диаметрах шарика,

  • минимальная и максимальная скорости шариков,

  • количество шариков,

  • моделируемое время (движения шариков).

Видео-демонстрация vmPandeSim

03 - vmPandeSim.webm

Кроме этого, каждый шарик имеет своё состояние: либо “здоров”, либо “болен”, либо “переболел/выздоровел/вакцинирован, либо “мертв”. Соответствующие параметры модели:

  • вероятность “здорового” шарика стать “больным” (при столкновении с “больным” шариком),

  • вероятность “переболевшего/вакцинированного” шарика стать “больным” (при столкновении с “больным” шариком),

  • вероятность “больного” шарика “выздороветь”, то есть стать “вакцинированным” в течение всего моделируемого времени,

  • вероятность “больного” шарика “умереть” в течение всего моделируемого времени.

Изменение состояния шариков происходит случайным образом в соответствии с заданными вероятностями (метод Монте Карло).

Результаты

- основные данные - текстовый файл с зависимостями числа здоровых, больных, и т.д. от моделируемого времени. Формат:

L <название-данных>

C

<время> <число-данных>

<время> <число-данных>

...

- дополнительные данные - текстовые файлы с траекториями шариков (рекомендуется только для отладки)

Три режима показа данных в процессе моделирования

(влияет на время работы программы)

1. Show progress only - основной, самый быстрый - режим

2. Show statistics - в дополнение к "progress only" рисует основные результаты (кривые чисел здоровых, больных, и т.д.) в процессе моделирования; медленнее режима progress only

3. Show movement - показывает моделируемые шарики в движении (в процессе моделирования); медленнее режима statistics; используется для (видео- тестирования, развлечения и т.п. 😉)

подробности см. на странице: Эпидемия

Исходный код