logo
Моделирование / POSOBIE_EMMiM_2010

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

Датой рож­дения метода Монте-Карло принято считать 1949 г., когда появилась статья под названием «The Monte Carlo method» [21]. Создателями этого метода считают амери­канских математиков Дж. Неймана и С. Улама. В СССР первые статьи о методе Монте-Карло были опублико­ваны в 1955—1956 гг.

Любопытно, что теоретическая основа метода была известна давно. Более того, некоторые задачи стати­стики рассчитывались иногда с помощью случайных вы­борок, т. е. фактически методом Монте-Карло. Однако до появления электронных вычислительных машин (ЭВМ) этот метод не мог найти сколько-нибудь широкого применения, так как моделировать случайные величины вручную—очень трудоемкая работа.

Таким образом, возникновение метода Монте-Карло как весьма универ­сального численного метода стало возможным только благодаря появлению ЭВМ.

Само название «Монте-Карло» происходит от города Монте-Карло в княжестве Монако, знаменитого своими игорными домами.

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

После такой обработки могут быть получены любые интересующие нас характеристики: вероятности событий, математические ожидания и дисперсии случайных величин и т. д. При моделировании случайных явлений методом Монте-Карло мы пользуемся самой случайностью как аппаратом исследования, заставляем ее «работать на нас».

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

В сущности, методом Монте-Карло может быть ре­шена любая вероятностная задача, но оправданным он становится только тогда, когда процедура розыгрыша проще, а не сложнее аналитического расчета. Приведем пример, когда метод Монте-Карло возможен, но край­не неразумен. Пусть, например, по какой-то цели производится три независимых выстрела, из которых каж­дый попадает в цель с вероятностью 1/2. Требуется найти вероятность хотя бы одного попадания.

Элементарный расчет дает нам вероятность хотя бы одного попадания равную 1 — (1/2)3 = 7/8. Ту же задачу можно решить и «розыгрышем», статистическим моделированием. Вместо «трех выстрелов» будем бросать «три монеты», считая, скажем, орел—за «попадание», решку — за «промах». Опыт считается «удачным», если хотя бы на одной из монет выпадет орел. Произведем очень много опытов, подсчитаем общее количество «удач» и разделим на число N произведенных опытов. Таким образом, мы получим частоту события, а она при большом числе опытов близка к вероятности.

Метод Монте-Карло - это численный метод решения математических задач при помощи моделирования случайных величин.

Первая особенность метода - простая структура вычислительного алгоритма.

Вторая осо­бенность метода - погрешность вычислений, как правило, пропорциональна D/N2, где D - неко­торая постоянная, N - число испытаний. Отсюда видно, что для того, чтобы уменьшить по­грешность в 10 раз (иначе говоря, чтобы получить в ответе еще один верный десятичный знак), нужно увеличить N (т. е. объем работы) в 100 раз.

Ясно, что добиться высокой точности таким путем невозможно. Поэтому обычно говорят, что метод Монте-Карло особенно эффективен при решении тех задач, в которых результат ну­жен с небольшой точностью (5-10%).

Вопросы и задания

1. Приведите примеры задач, которые могут быть решены методами имитационного моделирования.

2. Чем отличается метод Монте-Карло от аналитического описания процесса?

3. Как определяется математическое ожидание случайной величины?

4. Что такое дисперсия случайной величины?