Моделирование методом монте-карло. Метод Монте-Карло относится к методам __________ моделирования Как создать выборку по методу монте карло

Данный метод родился в 1949 благодаря усилиям американских ученых Дж. Неймана и Стива Улана в городе Монте-Карло (княжество Монако).

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

Суть метода заключается в том, что посредствам специальной программы на ЭВМ производится последовательность псевдослучайных чисел с равномерным законом распределения от 0 до1. Затем данные числа с помощью специальных программ преобразуются в числа, распределенные по закону Эрланга, Пуассона, Релея и т.д.

Имитационное моделирование по методу Монте-Карло (Monte-Carlo Simulation) позволяет построить математическую модель для проекта с неопределенными значениями параметров, и, зная вероятностные распределения параметров проекта, а также связь между изменениями параметров (корреляцию) получить распределение доходности проекта.

Блок-схема, представленная на рисунке отражает укрупненную схему работы с моделью.

Сущность метода Монте-Карло состоит в следующем: требуется найти значение а некоторой изучаемой величины. Для этого выбирают такую случайную величину Х, математическое ожидание которой равно а: М(Х)=а.

Практически же поступают так: производят n испытаний, в результате которых получают n возможных значений Х; вычисляют их среднее арифметическое и принимают x в качестве оценки (приближённого значения) a* искомого числа a:

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

Применение метода имитации Монте-Карло требует использования специальных математических пакетов (например, специализированного программного пакета Гарвардского университета под названием Risk-Master) , в то время, как метод сценариев может быть реализован даже при помощи обыкновенного калькулятора.

Как уже отмечалось, анализ рисков с использованием метода имитационного моделирования Монте-Карло представляет собой “воссоединение” методов анализа чувствительности и анализа сценариев на базе теории вероятностей.

Результатом такого комплексного анализа выступает распределение вероятностей возможных результатов проекта (например, вероятность получения NPV<0).

Упоминаемый ранее программный пакет Risk-Master позволяет в диалоговом режиме осуществить процедуру подготовки информации к анализу рисков инвестиционного проекта по методу Монте-Карло и провести сами расчеты.

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

Как только функция распределения определена, можно применять процедуру Монте-Карло.

Алгоритм метода имитации Монте-Карло

Шаг 1.Опираясь на использование статистического пакета, случайным образом выбираем, основываясь на вероятностной функции распределения значение переменной, которая является одним из параметров определения потока наличности.

Шаг 2. Выбранное значение случайной величины наряду со значениями переменных, которые являются экзогенными переменными используется при подсчете чистой приведенной стоимости проекта.

Шаги 1 и 2 повторяются большое количество раз, например 1000, и полученные 1000 значений чистой приведенной стоимости проекта используются для построения плотности распределения величины чистой приведенной стоимости со своим собственным математическим ожиданием и стандартным отклонением.

Используя значения математического ожидания и стандартного отклонения, можно вычислить коэффициент вариации чистой приведенной стоимости проекта и затем оценить индивидуальный риск проекта, как и в анализе методом сценариев.

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

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

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

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

Проведение расчетных итераций является полностью компьютеризированная часть анализа рисков проекта. 200-500 итераций обычно достаточно для хорошей репрезентативной выборки. В процессе каждой итерации происходит случайный выбор значений ключевых переменных из специфицированного интервала в соответствии с вероятностными распределениями и условиями корреляции. Затем рассчитываются и сохраняются результативные показатели (например, NPV). И так далее, от итерации к итерации.

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

Часто при сравнении вариантов капиталовложений удобнее пользоваться кривой, построенной на основе суммы вероятностей (кумулятивный профиль риска). Такая кривая показывает вероятности того, что результативный показатель проекта будет больше или меньше определенного значения. Проектный риск, таким образом, описывается положением и наклоном кумулятивного профиля риска.

Кумулятивный (интегральный, накопленный) профиль риска, показывает кумулятивное вероятностное распределение чистой текущей стоимости (NPV) с точки зрения банкира, предпринимателя и экономиста на определенный проект. Вероятность того, что NPV < 0 с точки зрения экономиста - около 0.4, в то время как для предпринимателя эта вероятность менее 0.2. С точки зрения банкира проект кажется совсем безопасным, так как вероятность того, что NPV > 0, около 95%.

Будем исходить из того, что проект подлежит рассмотрению и считается выгодным, в случае, если NPV > 0. При сравнении нескольких одноцелевых проектов выбирается тот, у которого NPV больше при соблюдении сказанного в предыдущем предложении.

Рассмотрим 5 иллюстративных случаев на Рис.3 принятия решений (см. учебные материалы Института экономического развития Всемирного банка). Случаи 1-3 имеют дело с решением инвестировать в отдельно взятый проект, тогда как два последних случая (4, 5) относятся к решению-выбору из альтернативных проектов. В каждом случае рассматривается как кумулятивный, так и некумулятивный профили риска для сравнительных целей. Кумулятивный профиль риска более полезен в случае выбора наилучшего проекта из представленных альтернатив, в то время как некумулятивный профиль риска лучше индуцирует вид распределения и показателен для понимания концепций, связанных с определением математического ожидания. Анализ базируется на показателе чистой текущей стоимости.

Случай 1: Минимальное возможное значение NPV выше, чем нулевое (см. Рис.3а,кривая 1).

Вероятность отрицательного NPV равна 0, так как нижний конец кумулятивного профиля риска лежит справа от нулевого значения NPV. Так как данный проект имеет положительное значение NPV во всех случаях, ясно, что проект принимается.

Случай 2: Максимальное возможное значение NPV ниже нулевого(см. Рис.3а, кривая 2).

Вероятность положительного NPV равна 0 (см. следующий рисунок)., так как верхний конец кумулятивного профиля риска лежит слева от нулевого значения NPV. Так как данный проект имеет отрицательное значение NPV во всех случаях, ясно, что проект не принимается.

Случай 3: Максимальное значение NPV больше, а минимальное меньше нулевого (см. Рис3а, кривая 3).

Вероятность нулевого NPV больше, чем 0, но меньше, чем 1, так как вертикаль нулевого NPV пересекает кумулятивный профиль рисков. Так как NPV может быть как отрицательным, так и положительным, решение будет зависеть от предрасположенности к риску инвестора. По-видимому, если математическое ожидание NPV меньше или равно 0 (пик профиля рисков слева от вертикали или вертикаль точно проходит по пику) проект должен отклоняться от дальнейшего рассмотрения.

Случай 4: Непересекающиеся кумулятивные профили рисков альтернативных (взаимоисключающих) проектов (см. Рис.3б).

При фиксированной вероятности отдача проекта В всегда выше, нежели у проекта А. Профиль рисков также говорит о том, что при фиксированной NPV вероятность, с которой та будет достигнута, начиная с некоторого уровня будет выше для проекта В, чем для проекта А. Таким образом, мы подошли к правилу 1.

Правило 1: Если кумулятивные профили рисков двух альтернативных проектов не пересекаются ни в одной точке, тогда следует выбирать тот проект, чей профиль рисков расположен правее.

Случай 5: Пересекающиеся кумулятивные профили рисков альтернативных проектов. (см. Рис.3в).

Склонные к риску инвесторы предпочтут возможность получения высокой прибыли и, таким образом, выберут проект А. Несклонные к риску инвесторы предпочтут возможность нести низкие потери и, вероятно, выберут проект В.

Правило 2: Если кумулятивные профили риска альтернативных проектов пересекаются в какой-либо точке, то решение об инвестировании зависит от склонности к риску инвестора.

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

В качестве индикатора риска ожидаемая стоимость может выступать как надежная оценка только в ситуациях, где операция, связанная с данным риском, может быть повторена много раз. Хорошим примером такого риска служит риск, страхуемый страховыми компаниями, когда последние предлагают обычно одинаковые контракты большому числу клиентов. В инвестиционном проектировании мера ожидаемой стоимости должна всегда применяться в комбинации с мерой вариации, такой как стандартное отклонение.

Инвестиционное решение не должно базироваться лишь на одном значении ожидаемой стоимости, потому что индивид не может быть равнодушен к различным комбинациям значения показателя отдачи и соответствующей вероятности, из которых складывается ожидаемая стоимость.

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

Суть метода состоит в следующем. Для вычисления площади некоторой фигуры, проведем эксперимент: поместим данную фигуру в квадрат и будем наугад бросать точки в этот квадрат. Естественно предполагать, что чем больше площадь фигуры, тем чаще в нее будут попадать точки. Таким образом, можно сделать допущение: при большом числе точек, наугад выбранных внутри квадрата, доля точек, содержащихся в данной фигуре, приближенно равна отношению площади этой фигуры и площади квадрата.

Такой метод приближенного нахождения площадей фигур и носит название метода Монте-Карло.

Пример. Вычисление числа π методом Монте-Карло.

Постановка задачи: для вычисления числа π методом Монте-Карло рассмотрим круг радиуса 1 с центром в точке (1, 1). Круг вписан в квадрат, сторона которого, а=2. Тогда площадь квадрата S квадрата = a 2 = 2 2 = 4.

Решение.

Выбираем внутри квадрата N случайных точек. Выбрать точку означает задать ее координаты – числа x и y.

Обозначим N круга – число точек попавших при этом внутрь круга.

Точка принадлежит квадрату, если 0≤x≤2 и 0≤y≤2.

Если (x-1) 2 +(y-1) 2 ≤ 1, то точка попадает в круг, иначе она находится вне круга. Геометрически очевидно, что

Отсюда

То есть для круга единичного радиуса:

Но для круга единичного радиуса
, следовательно получаем:
.

Данная формула дает оценку числа π. Чем больше N, тем больше точность этой оценки. Следует заметить, что данный метод вычисления площади будет справедлив только тогда, когда случайные точки будут не просто случайными, а еще и равномерно разбросанными по всему квадрату.

Для моделирования равномерно распределенных случайных чисел в интервале от 0 до 1 в языке программирования Turbo Pascal используется датчик случайных чисел – функция RANDOM, которая выдает последовательность случайных величин, равномерно распределенных от 0 до 1.

Таким образом, суть компьютерного эксперимента заключается в обращении к функции RANDOM для получения N раз координат х и у точки. При этом определяется, попала ли точка с координатами (х ,у ) в круг единичного радиуса. В случае попадания значение величины N круга увеличивается на 1.

Программа:

Program monte_karlo;

var i, n, n1: LongInt; x, y, pi: real; begin Randomize;

WriteLn("Введите количество точек n=");

Readln(n); for i:=1 to n do begin x:=2*Random; y:=2*Random; if sqr(x-1)+sqr(y-1)<=1 then n1:=n1+1; end; pi:=4*n1/n; WriteLn("pi=", pi:15:11); end.

методом Монте – Карло

1. Предмет метода Монте-Карло

Датой рождения метода Монте – Карло принято считать 1949 год, когда учёные Н. Метрополис и С.Улам опубликовали статью под названием «Метод Монте – Карло», в которой изложили суть своего метода. Название метода связано с названием города Монте – Карло, где в игорных домах (казино) играют в рулетку, которая является одним из простейших устройств для получения, так называемых, «случайных чисел », на использование которых основан данный метод.

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

Сущность метода Монте – Карло состоит в следующем:требуется найти значение числа некоторой изучаемой величины. Для этого выбирают такую случайную величину
, математическое ожидание которой равно:
, т.е. решит указанное функциональное уравнение. Эта задача в общем случае весьма сложная и трудная.

Практически же поступают так: производят испытаний, в результате которых получаютвозможных значений
; вычисляют их среднее арифметическое

и принимают в качестве оценки (приближённого значения)искомого числа:

Поскольку метод Монте – Карло требует проведения большого числа испытаний, его часто называют методом статистических испытаний . Теория этого метода указывает, как наиболее целесообразно выбрать случайную величину
, как найти её возможные значения. В частности, разрабатываются способы уменьшения дисперсии используемых случайных величин, в результате чего уменьшается ошибка, допускаемая при замене искомого математического ожидания числаего оценкой.

Отыскание возможных значений случайной величины
(моделирования) называют «разыгрыванием случайно величины ». Здесь мы изложим лишь некоторые способы разыгрывания с.в.
и укажем, как оценить допускаемую при этом ошибку.

2. Случайные числа, оценка погрешности метода Монте – Карло.

Как уже отметили, метод Монте – Карло основан на применении случайных чисел; приведём определение этих чисел. Обозначим через н.с.в., распределённую равномерно в интервале
.

Случайными числами называют возможные значения непрерывной случайной величины, распределённой равномерно в интервале
.

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

В конце книги приведена таблица случайных чисел, заимствованную из книги (Большев Л.Н….»Таблицы математической статистики. Наука, 1965г.).

Пусть для получения оценки математического ожидания числаслучайной величины
было произведенонезависимых испытаний (разыграновозможных значений) и по ним была найдена выборочная средняя, которая принята в качестве искомой оценки
.

Ясно, что, если повторить опыт, то будут получены другие возможные значения
. Следовательно, другая средняя и другая оценка числа
. Уже отсюда следует, что получит в общем случае точную оценку МО невозможно.

Естественно, возникает вопрос о величине допускаемой ошибки. Ограничимся здесь отысканием лишь верхней границы допускаемой ошибки с заданной вероятностью (надёжностью)

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

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

Что такое моделирование по методу Монте-Карло?
Моделирование по методу Монте-Карло представляет собой автоматизированную математическую методику, предназначенную для учета риска в процессе количественного анализа и принятия решений. Эта методика применяется профессионалами в разных областях, таких как финансы, управление проектами, энергетика, производство, проектирование, НИОКР, страхование, нефтегазовая отрасль, транспорт и охрана окружающей среды.

Каждый раз в процессе выбора направления дальнейших действий моделирование по методу Монте-Карло позволяет специалисту, принимающему решения, рассматривать целый спектр возможных последствий и оценивать вероятность их наступления. Этот метод демонстрирует возможности, лежащие на противоположных концах спектра (результаты игры ва-банк и принятия наиболее консервативных мер), а также вероятные последствия умеренных решений.

Впервые этим методом воспользовалась ученые, занимавшиеся разработкой атомной бомбы; его назвали в честь Монте-Карло - курорта в Монако, известного своими казино. Получив распространение в годы Второй мировой войны, метод Монте-Карло стал применяться для моделирования всевозможных физических и теоретических систем.

Посмотреть отзывы
Даглас Хаббард
Hubbard Decision Research
Время : 00:35 сек

«Моделирование по методу Монте-Карло — единственный способ выполнить анализ ответственных решений в условиях неопределенности»

Джон Чжао
Suncor Energy
Время : 02:36 мин

«Проведение моделирования по методу Монте-Карло при оценке капитальных затрат стало [в Suncor] обязательным требованием для любых крупных проектов»

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

При использовании распределений вероятностей переменные могут иметь разные вероятности наступления разных последствий. Распределения вероятностей представляют собой гораздо более реалистичный способ описания неопределенности переменных в процессе анализа риска. Ниже перечислены наиболее распространенные распределения вероятностей.

Нормальное распределение (или « гауссова кривая »). Чтобы описать отклонение от среднего, пользователь определяет среднее или ожидаемое значение и стандартное отклонение. Значения, расположенные посредине, рядом со средним, характеризуются наиболее высокой вероятностью. Нормальное распределение симметрично и описывает множество обычных явлений - например, рост людей. К примерам переменных, которые описываются нормальными распределениями, относятся темпы инфляции и цены на энергоносители.

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

Равномерное распределение. Все величины могут с равной вероятностью принимать то или иное значение, пользователь просто определяет минимум и максимум. К примерам переменных, которые могут иметь равномерное распределение, относятся производственные издержки или доходы от будущих продаж нового продукта.

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

PERT-распределение. Пользователь определяет минимальное, наиболее вероятное и максимальное значения — так же, как при треугольном распределении. Наибольшую вероятность имеют значения, расположенные возле точки максимальной вероятности. Однако величины в диапазоне между наиболее вероятным и предельными значениями проявляются с большей вероятностью, чем при треугольном распределении, то есть отсутствует акцент на предельных значениях. Пример использования PERT-распределения — описание продолжительности выполнения задачи в рамках модели управления проектом.

Дискретное распределение. Пользователь определяет конкретные значения из числа возможных, а также вероятность получения каждого из них. Примером может служить результат судебного процесса: 20% вероятность положительного решения, 30% вероятность отрицательного решения, 40% вероятность соглашения сторон и 10% вероятность аннулирования судебного процесса.

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

Моделирование по методу Монте-Карло имеет ряд преимуществ по сравнению с детерминистским анализом, или анализом « по точечным оценкам»:

  • Вероятностные результаты. Результаты демонстрируют не только возможные события, но и вероятность их наступления.
  • Графическое представление результатов. Характер данных, получаемых при использовании метода Монте-Карло, позволяет создавать графики различных последствий, а также вероятностей их наступления. Это важно при передаче результатов другим заинтересованным лицам.
  • Анализ чувствительности. За редким исключением детерминистский анализ затрудняет определение того, какая из переменных в наибольшей степени влияет на результаты. При проведении моделирования по методу Монте-Карло несложно увидеть, какие исходные данные оказывают наибольшее воздействие на конечные результаты.
  • Анализ сценариев. В детерминистских моделях очень сложно моделировать различные сочетания величин для различных исходных значений, и, следовательно, оценить воздействие по-настоящему отличающихся сценариев. Применяя метод Монте-Карло, аналитики могут точно определить, какие исходные данные приводят к тем или иным значениям, и проследить наступление определенных последствий. Это очень важно для проведения дальнейшего анализа.
  • Корреляция исходных данных. Метод Монте-Карло позволяет моделировать взаимозависимые отношения между исходными переменными. Для получения достоверных сведений необходимо представлять себе, в каких случаях при увеличении некоторых факторов соответствующим образом возрастают или снижаются другие.

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

Продукты Palisade для моделирования
по методу Монте-Карло
Появление приложений, предназначенных для работы с электронными таблицами на персональных компьютерах, открыло перед специалистами широкие возможности для использования метода Монте-Карло при проведении анализа в повседневной деятельности. Microsoft Excel относится к числу наиболее распространенных аналитических инструментов для электронных таблиц, а программа представляет собой основной плагин Palisade для Excel, позволяющий выполнять моделирование по методу Монте-Карло. Впервые программа @RISK была представлена для Lotus 1-2-3 на базе операционной системы DOS в 1987 году и благодаря точности расчетов, гибкости моделирования и простоте использования сразу же заслужила превосходную репутацию. Появление Microsoft Project привело к созданию другого логического приложения для применения метода Монте-Карло. Его основная задача заключалась в анализе неопределенностей и рисков, связанных с управлением крупными проектами.

Глава 2. Примеры использования метода Монте-Карло 8

2.1 Простейший пример использования метода Монте-Карло 8

2.2 Вычисление числа Пи методом Монте-Карло 8

2.2.1 Постановка задачи для нахождения числа Пи методом Монте-Карло 10

2.2.2 Листинг программы для нахождения числа Пи методом Монте-Карло 10

2.3 Решение задачи аналитически и методом Монте-Карло 12

Глава 3. Генерация случайных чисел 17

Заключение 20

Список литературы 21

Введение

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

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

Глава 1. Предыстория и определение метода Монте-Карло

Создателями метода статистических испытаний (метода Монте-Карло) считают американских математиков Д. Неймана и С. Улама. В 1944 году, в связи с работами по созданию атомной бомбы Нейман предложил широко использовать аппарат теории вероятностей для решения прикладных задач с помощью ЭВМ. Первая работа, где этот вопрос систематически излагался, принадлежит Метрополису и Уламу.

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

Аналитические методы дают решение задачи либо в виде формулы, либо в виде разложения в ряды или интегралы по полному набору собственных функций какого-нибудь оператора.

Классические численные методы дают приближенную схему решения задачи, связанную, обычно с разбиением пространства на строго определенные клетки и заменой интегрирования суммированием и дифференцирования – конечными разностями.

Основными недостатками аналитических методов являются:

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

    Крайне ограниченный набор геометрических условий, для которых возможно решение задачи. Даже сочетание простых, но разнотипных поверхностей делает задачу неразрешимой.

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

Классические численные методы исправляют часть этих недостатков, но зато добавляют свои собственные. Они не страшатся сложной геометрии задач, однако:

    Они чрезвычайно громоздки. Объем промежуточной информации трудно вместить даже в память современного компьютера.

    Оценка погрешности решения представляет намного более трудную процедуру, чем сам процесс решения. Зачастую она просто невозможна.

Метод статистических испытаний свободен от всех этих недостатков.

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

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

Итак, сущность метода Монте-Карло состоит в следующем: требуется найти значение а некоторой изучаемой величины. Для этого выбирают такую случайную величинуX , математическое ожидание которой равно а:

М(Х)= A .

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

Как правило, составляется программа для осуществления одного случайного испытания. Погрешность вычислений, как правило, пропорциональна , где D – некоторая постоянная.

Это значит, что N должно быть велико, поэтому метод существенно опирается на возможности ЭВМ. Ясно, что добиться таким путем высокой точности невозможно. Это один из недостатков метода. Во многих задачах удается значительно увеличить точность, выбрав способ расчета, которому соответствует значительно меньшее D .

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

Отыскание возможных значений случайной величины Х (моделирование) называют «разыгрыванием случайной величины».

Метод Монте-Карло позволяет моделировать любой процесс, на протекание которого влияют случайные факторы. Для многих математических задач, не связанных с какими-либо случайностями, можно искусственно придумать вероятностную модель, которая в некоторых случаях является более выгодной.

В отличие от аналитических методов, ищущих решение в виде ряда по собственным функциям, методы Монте-Карло ищут решения в виде статистических сумм. Для их применения достаточно описания вероятностного процесса и не обязательна его формулировка в виде интегрального уравнения; оценка погрешности чрезвычайно проста, их точность слабо зависит от размерности пространства.

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

Преимущество метода Монте-Карло состоит в том, что он способен “сработать” там, где не справляются другие методы.

Аналитические методы исследования позволяют существенно уменьшить погрешность метода Монте-Карло и могут поднять его до уровня получения качественных закономерностей. Синтез аналитических и статистических методов может свести D к очень малой величине, следовательно, уменьшить погрешность.

Приведем примеры задач, решаемых методом Монте-Карло:

      расчет системы массового обслуживания;

      расчет качества и надежности изделий;

      теория передачи сообщений;

      вычисление определенного интеграла;

      задачи вычислительной математики;

      задачи нейтронной физики и другие.

Глава 2. Примеры использования метода Монте-Карло

2.1 Простейший пример использования метода Монте-Карло

Предположим, что нам нужно определить площадь плоской фигуры, расположенной внутри единичного квадрата, т.е. квадрата, сторона которого равна единице (рис. 1). Выберем внутри квадрата наугад N точек. Обозначим через M количество точек, попавших при этом внутрь фигуры. Тогда площадь фигуры приближенно равна отношению . Отсюда, чем больше N , тем больше точность такой оценки.

Рисунок 1. Площадь фигуры приближенно равна, отношению числа точек попавших в фигуру к числу всех точек.

2.2 Вычисление числа Пи методом Монте-Карло

Попробуем построить метод Монте-Карло для решения задачи о вычислении числа Пи. Для этого рассмотрим четверть круга единичного радиуса (рис. 2). Площадь круга равна
, очевидно, площадь четверти круга равна:

.

Зная, что радиус круга равен 1, получим:



X


Рисунок 2. Нахождение числа Пи методом Монте-Карло.

Площадь же всего единичного квадрата OABC равна 1. Будем случайным образом выбирать точки внутри квадрата OABC . Координаты точек должны быть,
и
. Теперь подсчитаем количество точек таких, что
, т.е. те точки, которые попадают внутрь круга.

Пусть всего было испытано N точек, и из них M попало в круг. Рассмотрим отношение количества точек, попавших в круг, к общему количеству точек (M /N ). Очевидно, что чем больше случайных точек мы испытаем, тем это отношение будет ближе к отношению площадей четверти круга и квадрата. Таким образом, имеем, что, для достаточно больших N , верно равенство:

.

Из полученного равенства:

.

Итак, мы построили метод Монте-Карло для вычисления числа Пи. Опять перед нами стоит вопрос о том, какое именно количество точек N нужно испытать для того, чтобы получить Пи с предсказуемой точностью? Вопрос о точности вычислений с помощью методов Монте-Карло рассматривается в традиционных курсах теории вероятностей, и мы не будем останавливаться на нем подробно. Можно отметить лишь, что точность вычислений очень сильно зависит от качества используемого генератора псевдослучайных чисел. Другими словами, точность тем выше, чем более равномерно случайные точки распределяются по единичному квадрату.

2.2.1 Постановка задачи для нахождения числа Пи методом Монте-Карло

Для проверки формулы , была написана программа в среде программирования Турбо Паскаль. В программе нужно ввести число K – количество испытаний и число N – количество испытываемых точек. Для координат точек (X, Y) используется генератор случайных чисел. Результаты всех испытаний усредняются.

2.2.2 Листинг программы для нахождения числа Пи методом Монте-Карло

K, {количество испытаний}

N, {количество точек}

i, j: word; {для циклов}

s, {сумма всех Пи}

P: real; {среднеарифметическое значение Пи}

{функция возвращает число Пи}

FUNCTION raschet: real;

x, y: word; {координаты точек}

M: word; {число точек попавших в окружность}

for i:=1 to N do

x:=random(2); {x, y – случайные числа}

if sqr(x)+sqr(y)<=1 then inc(M); {точка с координатами x, y попала в круг}

raschet:=4*M/N; {из формулы }

write("Введите количество испытаний: ");

write("Введите количество испытываемых точек: ");

for j:=1 to K do s:=s+raschet;

writeln("Число Пи, рассчитанное методом Монте-Карло равно:");

writeln("Точное число Пи равно:");

writeln(Pi:1:6);

Итак, с помощью этой программы была проверена верность формулы . В результате получилось число Пи равное: 3.000808 , при количестве испытаний 500 раз с количеством точек 5000. Точное число Пи равно: 3.141593 .

Как и говорилось выше более точный ответ можно получить при очень большом количестве проведенных опытов, при испытании большего количества точек и при использовании качественного генератора псевдослучайных чисел.

2.3 Решение задачи аналитически и методом Монте-Карло

Рассмотрим задачу:

Система контроля качества продукции состоит из трех приборов. Вероятность безотказной работы каждого из них в течение времени Т равна 5/6. Приборы выходят из строя независимо друг от друга. При отказе хотя бы одного прибора вся система перестает работать. Найти вероятность
того, что система откажет за время Т.

Аналитическое решение.

Событие А – выход из строя хотя бы одного из трех приборов за время Т и событие – ни один из трех приборов не выйдет из строя за время Т, противоположные. Вероятность
– искомая вероятность. Отсюда:

Теперь решим задачу методом Монте-Карло.

Напомним, что при использовании данного метода возможны два подхода: либо непосредственно проводят эксперименты, либо имитируют их другими экспериментами, имеющими с исходными одинаковую вероятностную структуру. В условиях данной задачи «натуральный» эксперимент – наблюдение за работой системы в течение времени Т. Многократное повторение этого эксперимента может оказаться трудноосуществимым или просто невозможным. Заменим этот эксперимент другим.

Для определения того, выйдет или не выйдет из строя за время Т отдельный прибор, будем подбрасывать игральную кость. Если выпадет одно очко, то будем считать, что прибор вышел из строя; если два, три, четыре, пять, шесть очков, то будем считать, что прибор работал безотказно. Вероятность того, что выпадет одно очко, так же как и вероятность выхода прибора из строя, равна 1/6, а вероятность того, что выпадет любое другое число очков, как и вероятность безотказной работы прибора, равна 5/6.

Чтобы определить, откажет или нет вся система за время Т, будем подбрасывать три игральные кости. Если хотя бы на одной из трех костей выпадет одно очко, то это будет означать, что система отказала.

Повторим испытание, состоящее в подбрасывании трех игральных костей, много раз подряд и найдем отношение числа M – отказов системы к общему числу N – проведенных испытаний. Вероятность отказа будет равна:

.

Для проверки формулы , которая основана на методе Монте-Карло, я решил написать программу в среде программирования Турбо Паскаль. Дело в том, что если бы вероятность безотказной работы приборов была не , а например , имитировать другими экспериментами, имеющими с исходными одинаковую вероятностную структуру, без использования ЭВМ было бы затруднительно.

Данная программа рассчитана на любые подобные задачи. В конце расчетов программа выдает два ответа. Первый – полученный методом Монте-Карло по формуле . Второй – полученный аналитическим методом по формуле .

В программе нужно ввести: B – количество приборов; вероятность в виде дроби; N – количество проведенных опытов.

B, {количество приборов}

S, D: byte; {вероятность P(A)=S/D}

N, {количество опытов}

i, j, {для циклов}

summa: word; {суммарное число отказов}

P_M, P_A: real; {полученная вероятность}

{функция возвращает количество отказов за одно испытание}

FUNCTION otkaz: word;

for i:=1 to B do

R:=random(D+1)+1; {случайное число >=1 и <=D}

if R<=D-S then inc(o); {выпал "отказ"}

write("Введите количество приборов: ");

writeln("Введите вероятность безотказной работы (в виде дроби):");

write(" числитель – ");

write(" знаменатель – ");

readln(D); {т.е. P=S/D}

write("Введите количество опытов: ");

{расчет методом Монте-Карло}

for j:=1 to N do summa:=summa+otkaz;

{расчет аналитическим методом}

for i:=1 to B-1 do P_A:=P_A*S/D; {возведение в степень}

writeln("* * * Ответ * * *");

writeln("Методом Монте-Карло: ", P_M:1:6);

writeln("Аналитическим методом: ", P_A:1:6);

Итак, проверив формулу с помощью своей программы со значениями: количество приборов – 3; вероятность безотказной работы ; количество опытов – 50000, я получил два ответа. Решение задачи методом Монте-Карло – 0.429420 . Решение задачи аналитическим методом – 0.421296 . Отсюда вывод – вероятность, полученная разными методами сходна.

Глава 3. Генерация случайных чисел

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

Итак, дадим определение этих чисел. Обозначим через R непрерывную случайную величину, распределенную равномерно в интервале (0, 1).

Случайными числами называют возможные значения r j непрерывной случайной величины R, распределенной равномерно в интервале (0, 1).

В действительности пользуются не равномерно распределенной случайной величиной R , возможные значения которой имеют бесконечное число десятичных знаков, а квазиравномерной случайной величиной R’, возможные значения которой имеют конечное число знаков. В результате замены R на R разыгрываемая величина имеет не точно, а приближенно заданное распределение.

Случайная величина R’ обладает свойством: вероятность попадания ее в любой интервал, принадлежащий интервалу (0; 1) равна длине этого интервала.

Получение случайных чисел – важная стадия компьютерного эксперимента, которой не всегда уделяется должное внимание. Используемые на практике численные алгоритмы приводят к получению псевдослучайных чисел, особенностями которых являются ограниченность и повторяемость последовательности.

Исчерпание этой последовательности при большом числе циклов Монте-Карло или размере системы снижает ее фактический размер до:

N – размер системы (количество частиц);

P период последовательности псевдослучайных чисел;

k – количество случайных чисел, используемых для определения состояния одной частицы;

n – суммарное количество циклов Монте-Карло, необходимое для стабилизации системы и расчета ее характеристик.

Например, при моделировании системы Изинга, состоящей из 2000 частиц требуется, как правило, не менее 500 циклов МК, т.е. необходимо не менее 10 5 случайных чисел. Если используемый генератор является 16-ти разрядным и не может произвести последовательность, состоящую из более чем 2 16 (65536) псевдослучайных чисел, то фактический размер системы по формуле будет порядка 1000 частиц.

С играми ситуация еще более трагическая: например, колода из 52 карт может быть упорядочена 52! способами. Это примерно 8e67 или 2 226 . Значит для того, чтобы в процессе игры мог возникнуть любой расклад, создателю полноценной карточной игры типа «21» необходим 256 разрядный генератор случайных чисел. Если колода состоит из 36 карт, то соответствующие числа равны 4e41 и 2 138 , т.е. без суперкомпьютера опять не обойдешься. В карточной игре «преферанс» количество вариантов раздач равно 32!/10! или 2 96 , что тоже не мало. Несмотря на несравнимость этих чисел с реальными возможностями 32-х разрядного процессора, необходимо, конечно, использовать его возможности максимально, ведь только так можно приблизиться к разнообразию реальности.

Заключение

В отличие от аналитических методов, ищущих решение в виде ряда по собственным функциям, методы Монте-Карло ищут решения в виде статистических сумм. Для их применения достаточно описания вероятностного процесса и не обязательна его формулировка в виде интегрального уравнения; оценка погрешности чрезвычайно проста, их точность слабо зависит от размерности пространства. В этом мы убедились, проведя опыты для решения двух простых задач. Результаты опытов показали свою точность, поэтому с помощью метода Монте-Карло решаются многие сложные задачи, которые очень сложно или невозможно решить другими методами.

Задачи, решаемые методом Монте-Карло: расчет системы массового обслуживания; расчет качества и надежности изделий; теория передачи сообщений; вычисление определенного интеграла; задачи вычислительной математики; задачи нейтронной физики; моделирования дискретных и непрерывных случайных величин; моделирования случайных процессов и полей; вычисления многомерных интегралов и другие.

Список литературы

    И.М.Соболь «Метод Монте-Карло», М., 1985

    Интернет-ресурс «Предыстория и определение метода Монте-Карло» /GIS/Learning/Monte-Carlo_2/Page01.htm

    /~gene/probset/prob13.koi8.html

    Интернет-ресурс «Метод Монте-Карло» /Exponenta_Ru/educat/systemat/boziev/13.asp.htm

    Интернет-ресурс «Вундеркинд» /2001/leto/stend/Vynderkind.htm

    Интернет-ресурс «Метод Монте-Карло» /docs/TViMS/NP/lekziitv/lekziya17.htm

Документ

Предыдущих главах настоящей работы. Такая модификация позволила сделать метод Монте -Карло более... 78 до 0,95. Пример одной из таких связей... точками (при использовании метода Монте -Карло ). Основным недостатком первого метода является недостаточная...

  • Потапов виктор николаевич разработка радиометрических систем и методов полевых и дистанционных измерений радиоактивного загрязнения

    Автореферат диссертации

    ... использованием метода Монте -Карло для условий реальной геометрии спектрометрического измерения. Метод Монте -Карло ... расчетов. Глава III. Спектрометрические методы определения... разделе 4.2 приведены примеры использования прибора при измерениях...

  • Глава 11 эконометрические информационные технологии

    Документ

    Итоговой процедуры можно рассчитать (см. примеры в главе 13). В результате итоговую процедуру нельзя... использовании метода сценариев (см. главу 12). При имитационном моделировании часто используется метод статистических испытаний (Монте -Карло ...