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

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

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

Рассмотрим метод Монте-Карло на примере вычисления интеграла, значение которого аналитическим способом найти не удается.

Задача 1. Найти значение интеграла:

На рис. 1.1 представлен график функции f (x ). Вычислить значение интеграла этой функции - значит, найти площадь под этим графиком.

Рис. 1.1

Ограничиваем кривую сверху, справа и слева. Случайным образом распределяем точки в прямоугольнике поиска. Обозначим через N 1 количество точек, принятых для испытаний (то есть попавших в прямоугольник, эти точки изображены на рис. 1.1 красным и синим цветом), и через N 2 - количество точек под кривой, то есть попавших в закрашенную площадь под функцией (эти точки изображены на рис. 1.1 красным цветом). Тогда естественно предположить, что количество точек, попавших под кривую по отношению к общему числу точек пропорционально площади под кривой (величине интеграла) по отношению к площади испытуемого прямоугольника. Математически это можно выразить так:

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

Фрагмент алгоритма метода Монте-Карло в виде блок-схемы выглядит так, как показано на рис. 1.2

Рис. 1.2

Значения r 1 и r 2 на рис. 1.2 являются равномерно распределенными случайными числами из интервалов (x 1 ; x 2) и (c 1 ; c 2) соответственно.

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

Схема использования метода Монте-Карло при исследовании систем со случайными параметрами

Построив модель системы со случайными параметрами, на ее вход подают входные сигналы от генератора случайных чисел (ГСЧ), как показано на рис. 1.3 ГСЧ устроен так, что он выдает равномерно распределенные случайные числа r рр из интервала . Так как одни события могут быть более вероятными, другие - менее вероятными, то равномерно распределенные случайные числа от генератора подают на преобразователь закона случайных чисел (ПЗСЧ), который преобразует их в заданный пользователем закон распределения вероятности, например, в нормальный или экспоненциальный закон. Эти преобразованные случайные числа x подают на вход модели. Модель отрабатывает входной сигнал x по некоторому закону y = ц (x ) и получает выходной сигнал y , который также является случайным.

статистическое моделирование случайная величина


Рис. 1.3

В блоке накопления статистики (БНСтат) установлены фильтры и счетчики. Фильтр (некоторое логическое условие) определяет по значению y , реализовалось ли в конкретном опыте некоторое событие (выполнилось условие, f = 1) или нет (условие не выполнилось, f = 0). Если событие реализовалось, то счетчик события увеличивается на единицу. Если событие не реализовалось, то значение счетчика не меняется. Если требуется следить за несколькими разными типами событий, то для статистического моделирования понадобится несколько фильтров и счетчиков N i . Всегда ведется счетчик количества экспериментов - N .

Далее отношение N i к N , рассчитываемое в блоке вычисления статистических характеристик (БВСХ) по методу Монте-Карло, дает оценку вероятности p i появления события i , то есть указывает на частоту его выпадения в серии из N опытов. Это позволяет сделать выводы о статистических свойствах моделируемого объекта.

Например, событие A совершилось в результате проведенных 200 экспериментов 50 раз. Это означает, согласно методу Монте-Карло, что вероятность совершения события равна: p A = 50/200 = 0.25. Вероятность того, что событие не совершится, равна, соответственно, 1 - 0.25 = 0.75.

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

При большом количестве опытов N частота появления события, полученная экспериментальным путем, стремится к значению теоретической вероятности появления события.

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

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

Пример 1. Решим простую задачу. Какова вероятность выпадения монеты орлом кверху при падении ее с высоты случайным образом?

Начнем подбрасывать монетку и фиксировать результаты каждого броска (см. табл. 1.1).

Таблица 1.1.

Результаты испытаний бросания монеты


Будем подсчитывать частость выпадения орла как отношение количества случаев выпадения орла к общему числу наблюдений. Посмотрите в табл. 1.1 случаи для N = 1, N = 2, N = 3 - сначала значения частости нельзя назвать достоверными. Попробуем построить график зависимости P о от N - и посмотрим, как меняется частость выпадения орла в зависимости от количества проведенных опытов. Разумеется, при различных экспериментах будут получаться разные таблицы и, следовательно, разные графики. На рис. 1.4 показан один из вариантов.


Рис. 1.4

Сделаем некоторые выводы.

  • 1. Видно, что при малых значениях N , например, N = 1, N = 2, N = 3 ответу вообще доверять нельзя. Например, P о = 0 при N = 1, то есть вероятность выпадения орла при одном броске равна нулю! Хотя всем хорошо известно, что это не так. То есть пока мы получили очень грубый ответ. Однако, посмотрите на график: в процессе накопления информации ответ медленно, но верно приближается к правильному (он выделен пунктирной линией). К счастью, в данном конкретном случае правильный ответ нам известен: в идеале, вероятность выпадения орла равна 0.5 (в других, более сложных задачах, ответ нам, конечно, будет неизвестен). Допустим, что ответ нам надо знать с точностью е = 0.1. Проведем две параллельные линии, отстоящие от правильного ответа 0.5 на расстояние 0.1 (см. рис. 1.4). Ширина образовавшегося коридора будет равна 0.2. Как только кривая P о (N ) войдет в этот коридор так, что уже никогда его не покинет, можно остановиться и посмотреть, для какого значения N это произошло. Это и есть экспериментально вычисленное критическое значение необходимого количества опытов N кр э для определения ответа с точностью е = 0.1; е -окрестность в наших рассуждениях играет роль своеобразной трубки точности. Заметьте, что ответы P о (91), P о (92) и так далее уже не меняют сильно своих значений (см. рис. 1.4); по крайней мере, у них не изменяется первая цифра после запятой, которой мы обязаны доверять по условиям задачи.
  • 2. Причиной такого поведения кривой является действие центральной предельной теоремы . Пока здесь мы сформулируем ее в самом простом варианте "Сумма случайных величин есть величина неслучайная". Мы использовали среднюю величину P о, которая несет в себе информацию о сумме опытов, и поэтому постепенно эта величина становится все более достоверной.
  • 3. Если проделать еще раз этот опыт сначала, то, конечно, его результатом будет другой вид случайной кривой. И ответ будет другим, хотя примерно таким же. Проведем целую серию таких экспериментов (см. рис. 1.5). Такая серия называется ансамблем реализаций. Какому же ответу в итоге следует верить? Ведь они, хоть и являются близкими, все же разнятся. На практике поступают по-разному. Первый вариант - вычислить среднее значение ответов за несколько реализаций (см. табл. 1.2).

Рис. 1.5

Мы поставили несколько экспериментов и определяли каждый раз, сколько необходимо было сделать опытов, то есть N кр э. Было проделано 10 экспериментов, результаты которых были сведены в табл. 1.2 По результатам 10-ти экспериментов было вычислено среднее значение N кр э.

Таблица 1.2.

Экспериментальные данные необходимого количества бросков монеты для достижения точности е

Таким образом, проведя 10 реализаций разной длины, мы определили, что достаточно в среднем было сделать 1 реализацию длиной в 94 броска монеты.

Еще один важный факт. Внимательно рассмотрите график на рис.21.5 На нем нарисовано 100 реализаций - 100 красных линий. Отметьте на нем абсциссу N = 94 вертикальной чертой. Есть какой-то процент красных линий, которые не успели пересечь е -окрестность, то есть (P эксп - е ? P теор? P эксп + е ), и войти в коридор точности до момента N = 94. Обратите внимание, таких линий 5. Это значит, что 95 из 100, то есть 95%, линий достоверно вошли в обозначенный интервал.

Таким образом, проведя 100 реализаций, мы добились примерно 95% -ного доверия к полученной экспериментально величине вероятности выпадения орла, определив ее с точностью 0.1.

Для сравнения полученного результата вычислим теоретическое значение N кр т теоретически. Однако для этого придется ввести понятие доверительной вероятности Q F , которая показывает, насколько мы готовы верить ответу.

Например, при Q F = 0.95 мы готовы верить ответу в 95% случаев из 100. Имеет вид: N кр т = k (Q F ) · p · (1 - p ) /е 2 , где k (Q F ) - коэффициент Лапласа, p - вероятность выпадения орла, е - точность (доверительный интервал). В табл. 1.3 показаны значения теоретической величины количества необходимых опытов при разных Q F (для точности е = 0.1 и вероятности p = 0.5).

Таблица 1.3.

Теоретический расчет необходимого количества бросков монеты для достижения точности е = 0.1 при вычислении вероятности выпадения орла


Как видите, полученная нами оценка длины реализации, равная 94 опытам очень близка к теоретической, равной 96. Некоторое несовпадение объясняется тем, что, видимо, 10 реализаций недостаточно для точного вычисления N кр э. Если вы решите, что вам нужен результат, которому следует доверять больше, то измените значение доверительной вероятности. Например, теория говорит нам, что если опытов будет 167, то всего 1-2 линии из ансамбля не войдут в предложенную трубку точности. Но имейте в виду, количество экспериментов с ростом точности и достоверности растет очень быстро.

Второй вариант, используемый на практике - провести одну реализацию и увеличить полученное для нее N кр э в 2 раза . Это считают хорошей гарантией точности ответа (см. рис. 1.6).


Рис. 1.6. Иллюстрация экспериментального определения N кр э по правилу "умножь на два"

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


Рис. 1.7

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

Таблица 1.4.

Теоретическая зависимость количества экспериментов, необходимых для обеспечения заданной точности при Q F = 0.95


Построим по табл. 1.4 график зависимости N кр т (е ) (см. рис. 1.8).

Рис. 1.8 Зависимость числа экспериментов, требуемых для достижения заданной точности е при фиксированном Q F = 0.95

Итак, рассмотренные графики подтверждают приведенную выше оценку:

Заметим, что оценок точности может быть несколько.

Пример 2. Нахождение площади фигуры методом Монте-Карло. Определите методом Монте-Карло площадь пятиугольника с координатами углов (0, 0), (0,10), (5, 20), (10,10), (7, 0).

Нарисуем в двухмерных координатах заданный пятиугольник, вписав его в прямоугольник, чья площадь, как нетрудно догадаться, составляет (10 - 0) · (20 - 0) = 200 (см. рис. 1.9).

Рис. 1.9

Используем таблицу случайных чисел для генерации пар чисел R , G , равномерно распределенных в интервале от 0 до 1. Число R X (0 ? X ? 10), следовательно, X = 10 · R . Число G будет имитировать координату Y (0 ? Y ? 20), следовательно, Y = 20 · G . Сгенерируем по 10 чисел R и G и отобразим 10 точек (X ; Y ) на рис. 1.9 и в табл. 1.5

Таблица 1.5.

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


Статистическая гипотеза заключается в том, что количество точек, попавших в контур фигуры, пропорционально площади фигуры: 6: 10 = S : 200. То есть, по формуле метода Монте-Карло, получаем, что площадь S пятиугольника равна: 200 · 6/10 = 120.

Проследим, как менялась величина S от опыта к опыту (см. табл. 1.6).

Таблица 1.6.

Оценка точности ответа

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

Рис. 1.10 Иллюстрация процесса сходимости определяемого экспериментально ответа к теоретическому результату

Лекция 2. Генераторы случайных чисел

В основе метода Монте-Карло (см. Лекцию 1. Статистическое моделирование) лежит генерация случайных чисел, которые должны быть равномерно распределены в интервале (0;1).

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

Математическое ожидание m r и дисперсия D r такой последовательности, состоящей из n случайных чисел r i , должны быть следующими (если это действительно равномерно распределенные случайные числа в интервале от 0 до 1):

Если пользователю потребуется, чтобы случайное число x находилось в интервале (a ; b ), отличном от (0;

  • 1), нужно воспользоваться формулой x = a + (b - a ) · r , где r - случайное число из интервала (0;
  • 1). Законность данного преобразования демонстрируется на рис. 2.1

Рис. 2.1

1) в интервал (a; b)

Теперь x - случайное число, равномерно распределенное в диапазоне от a до b .

За эталон генератора случайных чисел (ГСЧ) принят такой генератор, который порождает последовательность случайных чисел с равномерным законом распределения в интервале (0;

  • 1). За одно обращение данный генератор возвращает одно случайное число. Если наблюдать такой ГСЧ достаточно длительное время, то окажется, что, например, в каждый из десяти интервалов (0; 0.1), (0.1; 0.2), (0.2; 0.3), …, (0.9;
  • 1) попадет практически одинаковое количество случайных чисел - то есть они будут распределены равномерно по всему интервалу (0;
  • 1). Если изобразить на графике k = 10 интервалов и частоты N i попаданий в них, то получится экспериментальная кривая плотности распределения случайных чисел (см. рис. 2.2).

Рис. 2.2

Заметим, что в идеале кривая плотности распределения случайных чисел выглядела бы так, как показано на рис. 2.3. То есть в идеальном случае в каждый интервал попадает одинаковое число точек: N i = N /k , где N - общее число точек, k - количество интервалов, i = 1, …, k .


Рис. 2.3

Следует помнить, что генерация произвольного случайного числа состоит из двух этапов:

  • · генерация нормализованного случайного числа (то есть равномерно распределенного от 0 до 1);
  • · преобразование нормализованных случайных чисел r i в случайные числа x i , которые распределены по необходимому пользователю (произвольному) закону распределения или в необходимом интервале.

Генераторы случайных чисел по способу получения чисел делятся на:

  • · физические;
  • · табличные;
  • · алгоритмические.

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

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

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

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

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

Общая характеристика метода Монте-Карло

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

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

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

Рассмотрим ещё один пример. Производится десять независимых выстрелов по мишени. Вероятность попадания при одном выстреле задана и равна p. Требуется определить вероятность того, что число попаданий будет чётным, т.е. 0, 2, 4, 6, 8, 10. Вероятность того, что число попаданий будет 2k, равна:

откуда искомая вероятность

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

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

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

Этот метод широко применяется и для исследования дискретных систем управления, когда используются кибернетические модели в виде вероятностного графа (например, сетевое планирование с?-распределением времени выполнением работ) или вероятностного автомата.

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

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

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

Эта идея используется в задачах дискретной оптимизации, которые возникают при управлении. Часто эти задачи сводятся к перебору большого числа вариантов, исчисляемого комбинаторными числами вида N=. Так, задача распределения n видов ресурсов между отраслями для n>3 не может быть точно решена на существующих цифровых вычислительных машинах (ЦВМ) и ЦВМ ближайшего будущего из-за большого объёма перебора вариантов. Однако таких задач возникает очень много в кибернетике, например синтез конечных автоматов. Если искусственно ввести вероятностную модель-аналог, то задача существенно упростится, правда, решение будет приближённым, но его можно получить с помощью современных вычислительных машин за приемлемое время счёта.

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

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

Если y является функцией x, т.е. y=F(x), то и поэтому. Таким образом, для получения последовательности случайных чисел, имеющих заданную функцию распределения F(x), необходимо каждое число y с выхода датчика случайных чисел, который формирует числа с равномерным законом распределения в интервале , подать на нелинейное устройство (аналоговое или цифровое), в котором реализуется функция, обратная F(x), т.е.

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

Так как любая функция распределения монотонно неубывающая, то

Отсюда следует, что величина Y имеет равномерный закон распределения в интервале , т. к. её функция распределения равна самой величине

Плотность распределения вероятности для Y

Для получения значения X берётся число из таблиц случайных чисел, имеющих равномерное распределение, которое откладывается на оси ординат (рис. 2), и на оси абсцисс считывается соответствующее число X. Повторив неоднократно эту процедуру, получим набор случайных чисел, имеющих закон распределения F(x). Таким образом, основная проблема заключается в получении равномерно распределённых в интервале случайных чисел. Один из методов, который используется при физическом способе получения случайных чисел для ЭВМ, состоит в формировании дискретной случайной величины, которая может принимать только два значения: 0 или 1 с вероятностями

Можно доказать, что случайная величина? * , заключённая в интервале , имеет равномерный закон распределения

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

Вероятность каждого значения (3) равна 2 -k . Эти значения можно получить следующим образом

Случайная величина имеет математическое ожидание

Учитывая, что

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

получаем:

Аналогично можно определить дисперсию величины:

или, используя формулу (4), получаем:

Согласно формуле (5) оценка величины?* получается смещённой при конечном k. Это смещение особенно сказывается при малом k. Поэтому вместо вводят оценку

Очевидно, что случайная величина? в соответствии с соотношением (3) может принимать значения

I=0,1,2,…, 2 k -1

с вероятностью p=1/2 k .

Математическое ожидание и дисперсию величины? можно получить из соотношений (5) и (6), если учесть (7). Действительно,

Отсюда получаем выражение для среднеквадратичного значения в виде

Напомним, что для равномерно распределённой в интервале величины x имеем

Из формулы (8) следует, что при среднеквадратичное отклонение? квазиравномерной совокупности стремится к. Ниже приведены значения отношения среднеквадратичных значений двух величин? и? в зависимости от числа разрядов, причём величина? имеет равномерное распределение в интервале (табл. 1).

Таблица 1

Из табл. 1 видно, что при k>10 различие в дисперсиях несущественно.

На основании вышеизложенного задача получения совокупности квазиравномерных чисел сводится к получению последовательности независимых случайных величин z i (i=1,2,…, k), каждая из которых принимает значение 0 или 1 с вероятностью 1/2. Различают два способа получения совокупности этих величин: физический способ генерирования и алгоритмическое получение так называемых псевдослучайных чисел. В первом случае требуется специальная электронная приставка к цифровой вычислительной машине, во втором случае загружаются блоки машины.

При физическом генерировании чаще всего используются радиоактивные источники или шумящие электронные устройства. В первом случае радиоактивные частицы, излучаемые источником, поступают на счётчик частиц. Если показание счётчика чётное, то z i =1, если нечётное, то z i =0. Определим вероятность того, что z i =1. Число частиц k, которое испускается за время?t, подчиняются закону Пуассона:

Вероятность чётного числа частиц

Таким образом, при больших??t вероятность P{Z i =1} близка к 1/2.

Второй способ получения случайных чисел z i более удобен и связан с собственными шумами электронных ламп. При усилении этих шумов получается напряжение u(t), которое является случайным процессом. Если брать его значения, достаточно отстоящие друг от друга, так чтобы они были некоррелированы, то величины u(t i) образуют последовательность независимых случайных величин. Обычно выбирают уровень отсечки a и полагают

причём уровень a следует выбрать так, чтобы

Также применяется более сложная логика образования чисел z i . В первом варианте используют два соседних значения u(t i) и u(t i+1), и величина Z i строится по такому правилу:

Если пара u(t i) - a и u(t i+1) - a одного знака, то берётся следующая пара. Требуется определить вероятность при заданной логике. Будем считать, что P {u(t i)>a}=W и постоянная для всех t i . Тогда вероятность события равна по формуле событий A 1 H v . Здесь H v - это вероятность того, что v раз появилась пара одинакового знака

u(t i) - a; u(t i+1) - a. (9)

Поэтому вероятность события A 1 H v

P{A 1 H v }=W (1-W) v .

Это - вероятность того, что после v пар вида (9) появилось событие A 1 . Оно может появиться сразу с вероятностью W (1-W), оно может появиться и после одной пары вида (9) с вероятностью

W (1-W)

и т.д. В результате

Отсюда следует, что если W=const, то логика обеспечивает хорошую последовательность случайных чисел. Второй способ формирования чисел zi состоит в следующем:

W=P {u(t i)>a}=1/2+?.

P{Z i =1}=2W (1-W)=1/2-2? 2 .

Чем меньше?, тем ближе вероятность P{Z i =1} к величине 1/2.

Для получения случайных чисел алгоритмическим путём с помощью специальных программ на вычислительной машине разработано большое количество методов. Так как на ЦВМ невозможно получить идеальную последовательность случайных чисел хотя бы потому, что на ней можно набрать конечное множество чисел, такие последовательности называются псевдослучайными. На самом деле повторяемость или периодичность в последовательности псевдослучайных чисел наступает значительно раньше и обусловливается спецификой алгоритма получения случайных чисел. Точные аналитические методы определения периодичности, как правило, отсутствуют, и величина периода последовательности псевдослучайных чисел определяется экспериментально на ЦВМ. Большинство алгоритмов получается эвристически и уточняется в процессе экспериментальной проверки. Рассмотрение начнём с так называемого метода усечений. Пусть задана произвольная случайная величина u, изменяющаяся в интервале , т.е. . Образуем из неё другую случайную величину

u n =u , (10)

где u используется для определения операции получения остатка от деления числа u на 2 -n . Можно доказать, что величины u n в пределе при имеют равномерное распределение в интервале .

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

Пример 1. Пусть u = 0,10011101… = 1?1/2 + 0?1/2 2 + 0?1/2 3 + 1?1/2 4 + 1?1/2 5 + 1?1/2 6 + 0?1/2 7 + 1?1/2 8 + …

Выберем для простоты n=4. Тогда {u mod 2 -4 } = 0,1101…

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

При проверке качества псевдослучайных чисел прежде всего интересуются длиной отрезка апериодичности и длиной периода (рис. 3). Под длиной отрезка апериодичности L понимается совокупность последовательно полученных случайных чисел? 1 , …, ? L таких, что? i ? j при, но? L+1 равно одному из? k ().

Под длиной периода последовательности псевдослучайных чисел понимается T=L-i+1. Начиная с некоторого номера i числа будут периодически повторяться с этим периодом (рис. 3).


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

Точность метода Монте-Карло

Метод Монте-Карло применяется там, где не требуется высокой точности. Например, если определяют вероятность поражения мишени при стрельбе, то разница между p 1 =0,8 и p 2 =0,805 несущественна. Обычно считается, что метод Монте-Карло позволяет получить точность примерно 0,01-0,05 максимального значения определяемой величины.

Получим некоторые рабочие формулы. Определим по методу Монте-Карло вероятность пребывания системы в некотором состоянии. Эта вероятность оценивается отношением

где M - число пребываний системы в этом состоянии в результате N моделирований. Учитывая выражение для дисперсии величины M/N

и неравенство Чебышёва

Величина

есть ни что иное, как ошибка моделирования по методу Монте-Карло. С помощью формулы (11) можно написать следующую формулу для величины (12):

где p 0 - вероятность невыполнения этой оценки. С помощью частоты M/N может быть получена оценка математического ожидания m x некоторой случайной величины X. Ошибка этой оценки

находится с помощью соотношения

Отсюда видно, что ошибка моделирования находится в квадратичной зависимости от числа реализаций, т.е.

Пример 2. Допустим, что определяется математическое ожидание ошибки x поражения мишени. Процесс стрельбы и поражения моделируется на ЦВМ по методу Монте-Карло. Требуется точность моделирования? = 0,1 м с вероятностью p = 1-p 0 = 0,9 при заданной дисперсии? x = 1 м. Необходимо определить количество моделирований N. По формуле (13) получаем:

При таком количестве реализаций обеспечивается?=0,1 м с вероятностью p=0,9.

Данный метод родился в 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: Если кумулятивные профили риска альтернативных проектов пересекаются в какой-либо точке, то решение об инвестировании зависит от склонности к риску инвестора.

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

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

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

Введение

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

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

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

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

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

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

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


1. Теоретическая часть

1.1 Сущность метода Монте-Карло и моделирование случайных величин

Предположим, что нам необходимо вычислить площадь плоской фигуры

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

Предположим, что эта фигура расположена внутри единичного квадрата.

Выберем внутри квадрата

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

Для того чтобы выбирать точки случайно, необходимо перейти к понятию случайная величина. Случайная величина

непрерывная, если она может принимать любое значение из некоторого интервала .

Непрерывная случайная величина

определяется заданием интервала , содержащего возможные значения этой величины, и функции , которая называется плотностью вероятностей случайной величины (плотностью распределения ). Физический смысл следующий: пусть - произвольный интервал, такой что , тогда вероятность того, что окажется в интервале , равна интегралу (1.1)

Множество значений

может быть любым интервалом (возможен случай ). Однако плотность должна удовлетворять двум условиям:

1) плотность

положительна: ; (1.2)

2) интеграл от плотности

по всему интервалу равен 1: (1.3)

Математическим ожиданием непрерывной случайной величины называется число

(1.4)

Дисперсией непрерывной случайной величины называется число:


Нормальной случайной величиной называется случайная величина

, определённая на всей оси и имеющая плотность (1.5) - числовые параметры

Любые вероятности вида

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

Согласно (1.1)

В интеграле сделаем замену переменной

, тогда получим , Отсюда следует, что Также

Нормальные случайные величины очень часто встречаются при исследовании самых различных по своей природе вопросов.

Энциклопедичный YouTube

    1 / 5

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

    ✪ Дмитрий Казаков - Кварки

    ✪ [Коллоквиум]: Блеск и нищета математических методов в прикладных исследованиях

    ✪ Лекция 1: Погрешности вычислений

    ✪ Елена Браун - Миф о Ричарде lll

    Субтитры

История

Алгоритм Бюффона для определения числа Пи

Число бросаний Число пересечений Длина иглы Расстояние между прямыми Вращение Значение Пи Ошибка
Первая попытка 500 236 3 4 отсутствует 3.1780 +3,6⋅10 -2
Вторая попытка 530 253 3 4 присутствует 3.1423 +7,0⋅10 -4
Третья попытка 590 939 5 2 присутствует 3.1416 +4,7⋅10 -5

Комментарии:

Связь стохастических процессов и дифференциальных уравнений

Создание математического аппарата стохастических методов началось в конце XIX века. В 1899 году лорд Релей показал, что одномерное случайное блуждание на бесконечной решётке может давать приближенное решение одного из видов параболического дифференциального уравнения . Андрей Николаевич Колмогоров в 1931 году дал большой толчок развитию стохастических подходов к решению различных математических задач, поскольку он сумел доказать, что цепи Маркова связаны с некоторыми интегро-дифференциальными уравнениями . В 1933 году Иван Георгиевич Петровский показал, что случайное блуждание , образующее Марковскую цепь , асимптотически связано с решением эллиптического дифференциального уравнения в частных производных . После этих открытий стало понятно, что стохастические процессы можно описывать дифференциальными уравнениями и, соответственно, исследовать при помощи хорошо на тот момент разработанных математических методов решения этих уравнений.

Рождение метода Монте-Карло в Лос-Аламосе

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

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

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

Дальнейшее развитие и современность

Интегрирование методом Монте-Карло

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

Для определения этой площади можно воспользоваться одним из обычных численных методов интегрирования : разбить отрезок на подотрезки, подсчитать площадь под графиком функции на каждом из них и сложить. Предположим, что для функции, представленной на рисунке 2, достаточно разбиения на 25 отрезков и, следовательно, вычисления 25 значений функции. Представим теперь, мы имеем дело с n {\displaystyle n} -мерной функцией. Тогда нам необходимо 25 n {\displaystyle 25^{n}} отрезков и столько же вычислений значения функции. При размерности функции больше 10 задача становится огромной. Поскольку пространства большой размерности встречаются, в частности, в задачах теории струн , а также многих других физических задачах, где имеются системы со многими степенями свободы, необходимо иметь метод решения, вычислительная сложность которого бы не столь сильно зависела от размерности. Именно таким свойством обладает метод Монте-Карло.

Обычный алгоритм Монте-Карло интегрирования

Предположим, требуется вычислить определённый интеграл ∫ a b f (x) d x {\displaystyle \int \limits _{a}^{b}f(x)\,dx}

Рассмотрим случайную величину u {\displaystyle u} , равномерно распределённую на отрезке интегрирования . Тогда также будет случайной величиной, причём её математическое ожидание выражается как
E f (u) = ∫ a b f (x) φ (x) d x {\displaystyle \mathbb {E} f(u)=\int \limits _{a}^{b}f(x)\varphi (x)\,dx} , где φ (x) {\displaystyle \varphi (x)} - плотность распределения случайной величины u {\displaystyle u} , равная 1 b − a {\displaystyle {\frac {1}{b-a}}} на участке [ a , b ] {\displaystyle } .

Таким образом, искомый интеграл выражается как
∫ a b f (x) d x = (b − a) E f (u) {\displaystyle \int \limits _{a}^{b}f(x)\,dx=(b-a)\mathbb {E} f(u)} .

Но математическое ожидание случайной величины f (u) {\displaystyle f(u)} можно легко оценить, смоделировав эту случайную величину и посчитав выборочное среднее.

Итак, бросаем N {\displaystyle N} точек, равномерно распределённых на [ a , b ] {\displaystyle } , для каждой точки u i {\displaystyle u_{i}} вычисляем f (u i) {\displaystyle f(u_{i})} . Затем вычисляем выборочное среднее: 1 N ∑ i = 1 N f (u i) {\displaystyle {\frac {1}{N}}\sum _{i=1}^{N}f(u_{i})} .

В итоге получаем оценку интеграла: ∫ a b f (x) d x ≈ b − a N ∑ i = 1 N f (u i) {\displaystyle \int \limits _{a}^{b}f(x)\,dx\approx {\frac {b-a}{N}}\sum _{i=1}^{N}f(u_{i})}

Точность оценки зависит только от количества точек N {\displaystyle N} .

Этот метод имеет и геометрическую интерпретацию. Он очень похож на описанный выше детерминистический метод, с той разницей, что вместо равномерного разделения области интегрирования на маленькие интервалы и суммирования площадей получившихся «столбиков» мы забрасываем область интегрирования случайными точками, на каждой из которых строим такой же «столбик», определяя его ширину как b − a N {\displaystyle {\frac {b-a}{N}}} , и суммируем их площади.

Геометрический алгоритм Монте-Карло интегрирования

Для определения площади под графиком функции можно использовать следующий стохастический алгоритм:

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

Использование выборки по значимости

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

Оптимизация

Различные вариации метода Монте-Карло можно использовать для решения задач оптимизации. Например, алгоритм имитации отжига .

Применение в физике

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

Алгоритм Метрополиса

Традиционно метод Монте-Карло применялся для определения различных физических параметров систем, находящихся в состоянии термодинамического равновесия. Предположим, что имеется набор возможных состояний физической системы S {\displaystyle S} . Для определения среднего значения A ¯ {\displaystyle {\overline {A}}} некоторой величины A {\displaystyle A} необходимо рассчитать A ¯ = ∑ S A (S) P (S) {\displaystyle {\overline {A}}=\sum _{S}A(S)P(S)} , где суммирование производится по всем состояниям S {\displaystyle S} из W (S) {\displaystyle W(S)} , P (S) {\displaystyle P(S)} - вероятность состояния S {\displaystyle S} .

Динамическая (кинетическая) формулировка

Прямое моделирование методом Монте-Карло

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

Примеры прямого моделирования методом Монте-Карло:

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

Квантовый метод Монте-Карло

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