Что такое математическая модель

Урок объясняет, что такое модель, почему любая модель проще реальности и зачем это нам нужно.

Математическая модель — это упрощённое описание части реальности на языке математики (формул, правил, алгоритмов), сохраняющее те её черты, которые нам важны, и отбрасывающее остальные.

Карта — не территория

Представьте карту метро. На ней нет настоящих расстояний, нет рельефа, нет того, что одна станция глубоко под землёй, а другая почти у поверхности. Линии нарисованы прямыми, хотя в реальности тоннели петляют. И всё же карта метро полезнее фотографии города со спутника, если ваша задача — доехать с «Юго-Западной» до «Аэропорта». Карта — это модель: она намеренно искажает реальность, выбрасывая всё лишнее и оставляя только структуру связей между станциями.

Математическая модель устроена так же. Когда мы пишем, что тело падает по закону h = h0 - g*t*t/2, мы выбрасываем сопротивление воздуха, форму тела, ветер, вращение Земли. Эта формула — не падающий камень, это его карта. Вопрос не в том, «верна» ли модель (буквально верной она не бывает никогда), а в том, достаточно ли она хороша для нашей задачи.

Зачем вообще моделировать

Есть три большие причины строить модели вместо того, чтобы экспериментировать с самой реальностью.

  • Предсказать. Что будет с эпидемией через месяц? Какой будет очередь в банке, если поставить ещё одну кассу? Реальность ответит, но слишком поздно или слишком дорого. Модель отвечает заранее.
  • Понять. Иногда нам не нужен точный прогноз, нам нужно понять механизм: почему пробки возникают «из ниоткуда», почему толпа на стадионе самоорганизуется в потоки. Модель — это эксперимент над идеей.
  • Оптимизировать. Как расставить грузовики, чтобы развезти заказы быстрее? Сколько операторов нужно колл-центру? Перебрать варианты на живых людях нельзя, а на модели — можно тысячи раз.

Объединяет всё это одно: модель позволяет ставить эксперименты там, где настоящий эксперимент невозможен, опасен, дорог или слишком медлен. Нельзя «попробовать» десять вариантов карантина на реальной стране. А на модели — за секунды.

Простейшая модель в коде

Возьмём накопительный вклад: кладём сумму под процент, проценты капитализируются. Модель — это одна строчка арифметики, повторённая в цикле.

# модель роста вклада с капитализацией
deposit = 1000.0   # начальная сумма
rate = 0.10        # 10% годовых
years = 10

amount = deposit
print(f"{'год':>4} {'сумма':>10}")
for year in range(1, years + 1):
    amount = amount * (1 + rate)
    print(f"{year:>4} {amount:>10.2f}")
print(f"\nЗа {years} лет {deposit:.0f} превратились в {amount:.2f}")

Вывод:

 год      сумма
   1    1100.00
   2    1210.00
   3    1331.00
   4    1464.10
   5    1610.51
   6    1771.56
   7    1948.72
   8    2143.59
   9    2357.95
  10    2593.74

За 10 лет 1000 превратились в 2593.74

Это уже полноценная модель. Она упрощает реальность (игнорирует инфляцию, налоги, изменение ставки), но отвечает на конкретный вопрос: сколько денег будет через 10 лет при таких допущениях. Поменяв rate, мы за миг проверяем сценарий, который в жизни занял бы десятилетие.

Как работает под капотом

Любая количественная модель внутри устроена из трёх частей. Первое — переменные состояния: то, что описывает систему в данный момент (сумма вклада, число больных, позиция частицы). Второе — параметры: числа, которые мы задаём и которые не меняются по ходу прогона (ставка, заразность, шаг времени). Третье — правила перехода: как состояние в следующий момент получается из текущего (умножить на 1+rate). Запуская правило снова и снова, мы «прокручиваем» время вперёд — это и есть симуляция.

Граница между параметром и переменной — выбор моделирующего, а не свойство природы. Ставка по вкладу для нашей модели — параметр, но в более сложной модели экономики она сама станет переменной, зависящей от инфляции. Что считать фиксированным, а что — изменяющимся, решаете вы, исходя из вопроса. Это первое и главное проектное решение в любой модели.

Частые ошибки

  • Путать модель с реальностью. «Модель показала рост на 20% — значит, так и будет». Нет: так будет если верны все допущения. Модель всегда условна.
  • Усложнять без нужды. Добавить в модель вклада инфляцию, налоги и колебания ставки можно, но если вопрос был «как растёт сложный процент», вы только замусорили ответ. Хорошая модель — самая простая из тех, что отвечают на вопрос.
  • Забывать про допущения. Модель без явно выписанного списка «что я отбросил» опасна: ею начинают пользоваться там, где отброшенное как раз важно.

Итоги

  • Модель — упрощённая «карта» реальности на языке математики; она намеренно отбрасывает лишнее.
  • Моделируют, чтобы предсказать, понять или оптимизировать без дорогих и опасных экспериментов в реальности.
  • Любая модель = переменные состояния + параметры + правила перехода; прокрутка правил во времени и есть симуляция.
  • Главный вопрос к модели — не «верна ли она», а «достаточно ли хороша для моей задачи».
Проверьте себя
1. Что такое математическая модель?
AТочная копия реального объекта
BУпрощённое представление реальности, сохраняющее важные для задачи черты
CПрограмма, которая всегда даёт верный прогноз
DНабор экспериментальных данных
2. Зачем строят модели вместо экспериментов с реальностью?
AЧтобы предсказывать, понимать и оптимизировать там, где реальный эксперимент дорог, опасен или медлен
BЧтобы заменить реальность полностью
CТолько ради красивых графиков
DПотому что математика всегда точнее наблюдений
3. Из чего внутри состоит количественная модель?
AТолько из формул
BИз переменных состояния, параметров и правил перехода
CИз случайных чисел
DИз таблицы наблюдений