Имитационное моделирование
Страница 2
Любопытно, что теоретическая основа метода была известна давно. Более того, некоторые задачи статистики рассчитывались иногда с помощью случайных выборок, т. е. фактически методом Монте-Карло. Однако до появления электронных вычислительных машин (ЭВМ) этот метод не мог найти сколько-нибудь широкого применения, ибо моделировать случайные величины' вручную—очень трудоемкая работа. Таким образом, возникновение метода Монте-Карло как весьма универсального численного метода стало возможным только благодаря появлению ЭВМ.
Само название «Монте-Карло» происходит от города Монте-Карло в княжестве Монако, знаменитого своим игорным домом.
Идея метода чрезвычайно проста и состоит она в следующем. Вместо того, чтобы описывать процесс с помощью аналитического аппарата (дифференциальных или алгебраических уравнений), производится «розыгрыш» случайного явления с помощью специально организованной процедуры, включающей в себя случайность и дающей случайный результат. В действительности конкретное осуществление случайного процесса складывается каждый раз по-иному; так же и в результате статистического моделирования мы получаем каждый раз новую, отличную от других реализацию исследуемого процесса. Что она может нам дать? Сама по себе ничего, так же как, скажем, один случай излечения больного с помощью какого-либо лекарства. Другое дело, если таких реализаций получено много. Это множество реализаций можно использовать как некий искусственно полученный статистический материал, который может быть обработан обычными методами математической статистики. После такой обработки могут быть получены любые интересующие нас характеристики: вероятности событий, математические ожидания и дисперсии случайных величин и т. д. При моделировании случайных явлений методом Монте-Карло мы пользуемся самой случайностью как аппаратом исследования, заставляем ее «работать на нас».
Нередко такой прием оказывается проще, чем попытки построить аналитическую модель. Для сложных операций, в которых участвует большое число элементов (машин, людей, организаций, подсобных средств), в которых случайные факторы сложно переплетены, где процесс — явно немарковскпй, метод статистического моделирования, как правило, оказывается проще аналитического (а нередко бывает и единственно возможным).
В сущности, методом Монте-Карло может быть решена любая вероятностная задача, но оправданным он становится только тогда, когда процедура розыгрыша проще, а не сложнее аналитического расчета. Приведем пример, когда метод Монте-Карло возможен, но крайне неразумен. Пусть, например, по какой-то цели производится три независимых выстрела, из которых каждый попадает в цель с вероятностью 1/2. Требуется найти вероятность хотя бы одного попадания. Элементарный расчет дает нам вероятность хотя бы одного попадания равной 1 — (1/2)3 = 7/8. Ту же задачу можно решить и «розыгрышем», статистическим моделированием. Вместо «трех выстрелов» будем бросать «три монеты», считая, скажем, герб—за попадание, решку — за «промах». Опытсчитается«удачным», если хотя бы на одной из монетвыпадет герб. Произведем очень-очень много опытов, подсчитаем общее количество «удач» и разделим на число N произведенных опытов. Таким образом, мы получим частоту события, а она при большом числе опытов близка к вероятности. Ну, что же? Применить такой прием мог бы разве человек, вовсе не знающий теории вероятностей, тем не менее, в принципе, он возможен.
Метод Монте-Карло- это численный метод решения математических задач при помощи моделирования случайных величин.
Рассмотрим простой пример иллюстрирующий метод (Приложение 1).
Пример 1. Предположим, что нам нужно вычислить площадь плоской фигуры S. Это может быть произвольная фигура с криволинейной границей,
заданная графически или аналитически, связная или состоящая из нескольких кусков. Пусть это будет фигура изображенная на рис. 1, и
предположим, что она вся расположена внутри единичного квадрата.
Выберем внутри квадрата N случайных точек. Обозначим через F число
точек, попавших при этом внутрь S. Геометрически очевидно, что площадь
S приближенно равна отношению F/N. Чем больше N, тем больше точность
этой оценки.
Две особенности метода Монте-Карло.
Первая особенность метода - простая структура вычислительного алгоритма.
Вторая особенность метода - погрешность вычислений, как правило, пропорциональна D/N2, где D - некоторая постоянная, N - число испытаний. Отсюда видно, что для того, чтобы уменьшить погрешность в 10 раз (иначе говоря, чтобы получить в ответе еще один верный десятичный знак), нужно увеличить N (т. е. объем работы) в 100 раз.
Ясно, что добиться высокой точности таким путем невозможно. Поэтому обычно говорят, что метод Монте-Карло особенно эффективен при решении тех задач, в которых результат нужен с небольшой точностью (5-10%). Способ применения метода Монте-Карло по идее довольно прост. Чтобы получить искусственную случайную выборку из совокупности величин, описываемой некоторой функцией распределения вероятностей, следует:
1. Построить график или таблицу интегральной функции распределения на основе ряда чисел, отражающего исследуемый процесс (а не на основе ряда случайных чисел), причем значения случайной переменной процесса откладываются по оси абсцисс (х), а значения вероятности (от 0 до 1) - по оси ординат (у).
2.С помощью генератора случайных чисел выбрать случайное десятичное число в пределах от 0 до 1 (с требуемым числом разрядов).
3. Провести горизонтальную прямую от точки на оси ординат соответствующей выбранному случайному числу, до пересечения с кривой распределения вероятностей.
4.Опустить из этой точки пересечения перпендикуляр на ось абсцисс.
5.Записать полученное значение х. Далее оно принимается как выборочное значение.
б.Повторить шаги 2-5 для всех требуемых случайных переменных, следуя тому порядку, в котором они были записаны. Общий смысл легко понять с помощью простого примера: количество звонков на телефонную станцию в течение 1 минуты соответствует следующему распределению:
Кол - во звонков Вероятность Кумулятивная вероятность О 0,10 0,10
1 0,40 0,50
2 0,30 0,80
3 0,15 0,95
4 0,05 1,00
Предположим, что мы хотим провести мысленный эксперимент для пяти периодов времени.
Построим график распределения кумулятивной вероятности. С помощью генератора случайных чисел получим пять чисел, каждое из которых используем для определения количества звонков в данном интервале времени.
Период времени Случайное число Количество звонков
1 0,09 О
2 0,54 2
3 0,42 1
4 0,86 3
5 0,23 1
Взяв еще несколько таких выборок, можно убедиться в том, что если используемые числа действительно распределены равномерно, то каждое из значений исследуемой величины будет появляться с такой же частотой, как ирреальном мире», и мы получим результаты, типичные для поведения исследуемой системы.
Вернемся к примеру. Для расчета нам нужно было выбирать случайные
точки в единичном квадрате. Как это сделать физически?
Представим такой эксперимент. Рис.1. (в увеличенном масштабе) с фигурой
S и квадратом повешен на стену в качестве мишени. Стрелок, находившийся
на некотором расстоянии от стены, стреляет N раз, целясь в центр квадрата.
Конечно, все пули не будут ложиться точно в центр: они пробьют на мишени N случайных точек. Можно ли по этим точкам оценить площадь S.
Результат такого опыта показан на рис. 2.(см. Приложение 2)
Ясно, что при высокой квалификации стрелка результат опыта будет очень плохим, так как почти все пули будут ложиться вблизи центра и попадут в S.
Нетрудно понять, что наш метод вычисления площади будет справедлив только тогда, когда случайные точки будут не просто «случайными», а еще и «равномерно разбросанными» по всему квадрату.
В задачах исследования операций метод Монте-Карло применяется в
трех основных ролях:
1) при моделировании сложных, комплексных операций, где
присутствует много взаимодействующих случайных факторов;