Прокрутите лист вниз: примеры и самопроверка продолжаются ниже.
Не трогаем мир. Сначала строим модель.
Симуляция нужна, когда прямой эксперимент дорог, опасен, медленен или просто невозможен. Мы оставляем в модели только то, что важно для вопроса, добавляем случайность и смотрим, что получится.
Когда особенно полезно?
Очереди, больницы, транспорт, ресурсы, редкие события, много сценариев и цена реального эксперимента.
Модель — не копия мира
Она должна быть достаточно хороша для конкретного исследовательского вопроса. Цвет стен можно забыть, если изучаем ожидание в очереди.
Зачем симулировать больницу, а не перестраивать её десять раз?
Что значит «полезная модель»?
Прокрутите лист вниз: примеры и самопроверка продолжаются ниже.
Один запуск — история. Тысячи — картина.
Monte Carlo повторяет случайный эксперимент много раз. Частота события оценивает вероятность, а среднее по прогонам — средний случайный результат.
Кубик
Для честного кубика P(3)=1/6. При 10 бросках доля троек может гулять, при 1000 — обычно становится устойчивее.
Игла Бюффона
Доля пересечений линий позволяет оценивать π. Это исторический предшественник идеи Monte Carlo.
Бабушка Маша
Много виртуальных недель помогают оценить вероятность, что за неделю будут охвачены все трое внуков.
Почему один удачный виртуальный день не доказывает, что политика хорошая?
Что даёт закон больших чисел на практическом уровне?
Прокрутите лист вниз: примеры и самопроверка продолжаются ниже.
Статическая, динамическая и agent-based.
Статическая
Повторяем эксперимент. Время как отдельный механизм не обязательно моделируется.
Примеры: кубик, Бюффон, овербукинг.
Динамическая
Система живёт во времени: приход → ожидание → ресурс → выход.
Пример: очередь к четырём кабинкам.
Agent-Based
Отдельные агенты действуют по локальным правилам.
Пример: NetLogo Traffic Basic.
В Traffic Basic нет команды «создай пробку». Машины ускоряются, когда свободно, и тормозят рядом с соседом. Из этих простых реакций возникает сложное коллективное поведение.
Может ли появиться пробка без аварии?
К какому типу относится проект с четырьмя кабинками?
Прокрутите лист вниз: примеры и самопроверка продолжаются ниже.
Сначала данные. Потом виртуальный туалет.
Проект — простая бытовая форма настоящей задачи теории очередей: случайные приходы, разные времена обслуживания, четыре ресурса, правила доступа и несколько метрик качества.
| Вход модели | Базовая оценка | Смысл |
|---|---|---|
| λ мужчин | 23.17 / час | отдельный пуассоновский поток |
| λ женщин | 33.56 / час | отдельный пуассоновский поток |
| λ доступной потребности | 3.56 / час | отдельный пуассоновский поток |
| Среднее обслуживание M / W / A | 76.4 / 108.7 / 169.9 сек | экспоненциальные времена в учебной модели |
A / B
Жёсткое разделение: женские, мужские и отдельная доступная кабинка. Разный баланс кабинок.
C / D
Три универсальные + доступная. В D доступная A+ гибкая, но посетитель с соответствующей потребностью имеет приоритет.
E
Четыре универсальные кабинки. Максимум гибкости, но fairness надо проверять по метрикам.
Метрики: avg_wait, ожидание по группам, p95, max_queue, share_wait_over5, utilization. Одного среднего недостаточно.
Почему p95 полезен вместе со средним?
Что означает λ=30 человек/час?
Прокрутите лист вниз: примеры и самопроверка продолжаются ниже.
Симулятор превращается в фабрику данных.
Один виртуальный день становится одной строкой таблицы. После сотен и тысяч запусков обычные инструменты анализа данных снова становятся полезными.
| В Orange | Вопрос |
|---|---|
| Box Plot | Какие политики дают меньше ожидание и насколько велик разброс? |
| Scatter Plot | Как нагрузка связана с ожиданием и меняется ли картина по policy? |
| Linear Regression | Какие входные параметры двигают avg_wait или p95? |
| Logistic Regression | При каких входах день становится critical_queue? |
What-if analysis: меняем один или несколько параметров по плану и спрашиваем не «что случилось сегодня?», а «как система ведёт себя во множестве сценариев?».
Зачем анализировать данные, которые мы сами сгенерировали?
Что является одной строкой основного CSV?
Прокрутите лист вниз: примеры и самопроверка продолжаются ниже.
Миллион запусков неправильной модели даёт уверенно неправильный ответ.
Verification
Правильно ли запрограммировали то, что задумали?
Нет двойной занятости, приоритет работает, состояния очереди и кабинок согласованы.
Validation
Достаточно ли модель похожа на реальный процесс для нашего вопроса?
Параметры, распределения и ключевые характеристики сравниваются с наблюдениями и крайними случаями.
ИИ помогает
Прототип кода, гипотезы, идеи метрик, объяснение результатов, черновик статьи.
Человек проверяет
Предположения, данные, код, статистику, интерпретацию и границы применимости.
Формула урока
Статистика + симуляция + анализ данных → осмысленное решение.