bilim.techО проекте

Метод Монте-Карло

Как найти π, площадь детали сложной формы или надежность схемы, просто бросая случайные точки? Смотри, как точки сыплются в квадрат, а оценка подбирается к точному ответу.

01 Что это такое

Метод Монте-Карло находит ответ, проводя тысячи случайных опытов и считая долю удачных.

Нужно узнать площадь озера на квадратном участке, но формулы для его берегов нет. Бросим наугад 60 камней на участок и посчитаем, сколько упало в воду. Если в воду попала треть, то и озеро занимает примерно треть участка. Чем больше бросков, тем точнее ответ. Так считают площади сложных сечений, объемы, вероятности отказа сложных схем и все, для чего формулу вывести трудно, а смоделировать один случай легко.

участок 100 · 100 м = 10 000 м²озеро неправильной формыКамней всего: 60В воде: 17Площадь озера ≈ 17/60 · 10 000 м²≈ 2 833 м²Больше камней: точнее ответ.Ошибка падает как 1/√N.
Камни падают в случайные места участка. Доля камней в воде примерно равна доле площади, которую занимает озеро.
N
Число опытов. Сколько случайных точек брошено или сколько смен работы машины смоделировано.
k/N
Доля попаданий. Сколько точек из N оказались внутри фигуры или сколько смен прошли без отказа.
1/√N
Как падает ошибка. В 100 раз больше точек дают ответ в 10 раз точнее, как в законе больших чисел.
02 Опыт
Сыпь точки в квадрат. Смотри, как доля попаданий превращается в ответ. РАСЧЕТ В РЕАЛЬНОМ ВРЕМЕНИ
ВЕРОЯТНОСТЬ И СТАТИСТИКА

Можно ли найти ответ случайными точками?

Рис. 7.5
ЗАДАЧА
Случайных точек
Оценка
Ошибка оценки

ⓘ Точки берутся из генератора случайных чисел браузера, по два числа на точку. Точная площадь деталей посчитана формулой площади многоугольника минус площади отверстий. Точная надежность схемы посчитана по формулам из темы «Надежность и отказы», симуляция проверяет ее независимо.

03 Формулы по буквам

Доля попаданий, площадь и ошибка

Первая формула оценивает π по точкам в круге. Вторая обобщает ее на любую фигуру. Третья говорит, насколько можно доверять ответу и сколько точек нужно. Под каждой формулой числа из опыта.

Как найти π, бросая точки?

π ≈ 4 · kN

Круг радиуса 1 вписан в квадрат 2 на 2. Площадь круга π, квадрата 4, поэтому в круг попадает доля π/4 всех точек. Считаем долю k/N и умножаем на 4. Точка внутри круга, если x² + y² ≤ 1.

N
сколько всего точек брошено в квадрат
k
сколько из них внутри круга
4
площадь квадрата со стороной 2

Какая площадь у фигуры сложной формы?

S ≈ kN · Sкв

Вписываем фигуру в квадрат или прямоугольник, площадь которого знаем. Для каждой точки нужно только уметь ответить «внутри или снаружи». Это намного проще, чем выводить формулу площади фигуры с вырезами и отверстиями.

Sкв
площадь квадрата, в который вписана фигура
k/N
доля точек внутри фигуры
R ≈ k/N
для надежности: доля смоделированных смен без остановки

Насколько точен ответ?

σ = Sкв · √(p(1 − p))√N  ~ 1√N

Каждая точка это бросок монеты, которая падает «внутрь» с вероятностью p. Значит, ошибка доли подчиняется закону больших чисел и падает как 1/√N. Ответ почти всегда, в 95 случаях из 100, лежит в пределах ±2σ от точного.

p
истинная доля: площадь фигуры, деленная на площадь квадрата
σ
типичная ошибка оценки после N точек
~
«ведет себя как»: в 100 раз больше точек, в 10 раз меньше ошибка

Почему доля точек равна доле площади

Случайная точка падает в квадрат равномерно: в любой кусок квадрата она попадает с вероятностью, равной доле его площади. Половина квадрата ловит точку с вероятностью ½, четверть с вероятностью ¼. Значит, фигура с площадью S ловит точку с вероятностью p = S / Sкв.

Дальше работает закон больших чисел: доля попаданий k/N стремится к p. Умножаем ее на Sкв и получаем S. Метод не зависит от формы фигуры, а ошибка не зависит даже от размерности: в объеме, в задаче со 100 случайными узлами, где перебор всех случаев невозможен, ошибка все равно падает как 1/√N.

P(точка в фигуре) = S / Sкв
равномерное распределение точек
k/N → p
закон больших чисел
σ(k/N) = √(p(1 − p)/N)
ошибка доли попаданий
площадь фигуры ¼ квадратав фигуре: 19всего: 90доля 0,21теория 0,25
Каждая точка попадает в закрашенную четверть с вероятностью ¼. Поэтому из 90 точек там окажется около 22.
04 Где и зачем это применяют

Там, где формулы нет, а смоделировать один случай легко

Допущения модели+

Считается, что генератор дает равномерные и независимые случайные числа. Генератор компьютера на самом деле псевдослучайный, но для таких задач его качества хватает с огромным запасом. Ответ Монте-Карло всегда приближенный: он не бывает точным, а только близким с заданной вероятностью. Если доля попаданий очень мала, например фигура занимает 0,1 % квадрата, точек нужно очень много, и квадрат лучше выбирать плотнее к фигуре. В схеме надежности узлы отказывают независимо, а вероятности отказа за смену постоянные.

Еще в направлении «Математика»

Все темы направления «Математика» →