Меню

Главная
Случайная статья
Настройки
Метод Монте-Карло: различия между версиями
Материал из https://ru.wikipedia.org

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

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

Содержание

История

Численное статистическое моделирование

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

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

Разработка теории и приложений алгоритмов

Исторически интенсивное развитие теории и приложений метода Монте-Карло было связано с разработкой численных моделей ядерных процессов (при создании соответствующих военных и технических устройств — бомб, реакторов и т. п.) в СССР и США в 50-е годы XX века. Разработка теории метода связана с фундаментальными работами Дж. Неймана, С. Улама, Н. Метрополиса, Н. И. Бусленко, Дж. М. Хеммерсли, Дж. Спанье, И. М. Соболя, С. М. Ермакова, Г. А. Михайлова, Г. И. Марчука, М. Кейлоса и др. В последние шестьдесят лет область применения численного статистического моделирования значительно расширилась. Была разработана содержательная теория вероятностных представлений решений задач математической физики. На базе этой теории были построены эффективные(экономичные) оцениватели метода Монте-Карло. Алгоритмы численного статистического моделирования конструируются и используются также для решения задач статистической физики (схема Метрополиса — Хастингса, модель Изинга и др.), физической и химической кинетики (многочастичные схемы, численные методы решения уравнений Больцмана и Смолуховского, моделирование реакций и фазовых переходов, построение вероятностных клеточных автоматов и др.), теории массового обслуживания (марковские модели с пуассоновскими потоками заявок), финансовой математики (вероятностные формулы и итерационные процессы, алгоритмы решения стохастических дифференциальных уравнений и др.), теории турбулентности, математической биологии и т. д. Особое развитие получают также численные модели случайных процессов и полей (с применениями в метеорологии, физике атмосферы и океана и других областях), а также смешанные рандомизированные проекционные и дискретностохастические численные схемы (включая функциональные алгоритмы).

Основная часть

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

В самом общем виде схема метода Монте-Карло выглядит следующим образом.

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

АЛГОРИТМ. Численно моделируем (реализуем на компьютере) достаточно большое количество   выборочных значений случайной величины и, используя закон больших чисел, получаем приближение требуемой величины:



В русскоязычной литературе по методам Монте-Карло базовая случайная величина называется оценкой величины (в англоязычной литературе используется термин «estimator», реже — «estimate»).

Чаще всего монте-карловская оценка имеет вид



где — это случайный вектор или отрезок последовательности случайных величин с заданными плотностями распределениями а — функция (неслучайная) переменных (здесь ); при этом



Средняя погрешность и трудоемкость метода Монте-Карло

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



здесь — стандартная гауссовская случайная величина с плотностью распределения .

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

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

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

следует соотношение

Это обосновывает возможность использования вместо затрат пропорциональной ей, более практичной и информативной величины



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

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

Методический пример: вычисление интеграла методом Монте-Карло

Наиболее известным примером использования метода Монте-Карло является задача приближенного вычисления многократного интеграла



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

Получить приближение интеграла можно следующим образом:



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

Средняя погрешность этого приближения равна

где

Для сравнения заметим, например, что погрешность вычисления однократного интеграла (здесь ) с гладкой подынтегральной

функцией с помощью простейшего метода центральных прямоугольников



(это вариант интегральной суммы) определяется соотношением (на четыре порядка лучше, чем у алгоритма метода Монте-Карло).

Погрешность чуть более «хитрой» формулы Симпсона

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

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

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

— для размерностей целесообразно использовать детерминированные (сеточные) кубатурные формулы;

— для размерностей (включая задачи бесконечной размерности) практически не имеет конкурентов метод Монте-Карло;

—для размерностей можно использовать смешанные дискретно-стохастические методы численного интегрирования.

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

Компьютерное моделирование случайных величин, векторов и функций

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

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

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



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

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

— стандартные алгоритмы и их модификации;

— альтернативные алгоритмы широкого применения;

— специальные алгоритмы.

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

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

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

Литература
  • Metropolis N., Ulam S. The Monte Carlo method // Journal of American Statistical Association. 1949. V. 44. No 249. P. 335–341.



Downgrade Counter