
Vychmat_lektsii / Лекция 14 Monte-Carlo
.docЛекция 14
Метод Монте-Карло.
Метод Монте-Карло можно определить как метод моделирования случайных величин с целью вычисления характеристик их распределений. Сам метод слагается из трех составных частей. Это, во-первых, моделирование случайных величин с заданным законом распределения, во-вторых, построение вероятностных моделей реальных процессов (систем) и, наконец, задачи статистической теории оценивания. Его применение оправдано в первую очередь, в тех задачах, которые допускают теоретико-вероятностное описание. Метод оказал и продолжает оказывать существенное влияние на развитие методов вычислительной математики. К разделам науки, где в большей мере используется метод Монте-Карло, следует отнести задачи массового обслуживания, задачи теории игр и математической экономики, задачи теории передачи сообщений при наличии помех и ряд других. Среди других вычислительных методов метод Монте-Карло выделяется своей простотой и общностью. Медленная сходимость является существенным недостатком метода.
Принципиальная основа использования метода Монте-Карло- это теорема Колмогорова или усиленный закон больших чисел.
Теорема:
Чтобы среднее арифметическое независимых (испытаний) реализаций случайной величины сходилось с вероятностью единица к её математическому ожиданию необходимо и достаточно, чтобы математическое ожидание существовало.
Использование центральной предельной теоремы дает возможность оценивать погрешность метода. Для этой цели нужно уметь оценивать дисперсию. Очевидно, что параллельно с оцениваем математического ожидания случайной величины можно оценивать и математическое ожидание квадрата случайной величины и, следовательно, её дисперсию. Считая N достаточно большим и оценку для дисперсии достаточно точной, можно с заданной вероятностью получить неравенство:
,
если p- заданное значение вероятности, то γ находится из соотношения
Исходной случайной величиной при использовании метода Монте-Карло является одномерная равномерно распределенная на промежутке [0,1] случайная величина α, т.е. случайная величина с плотностью распределения
.
В практических расчетах наиболее удобно получать реализации α при помощи алгоритма, построенного на основе реккуррентных соотношений. Числа, полученные таким путем называются псевдослучайными.
Имея в нашем
распоряжении реализацию случайной
величины α, мы можем получить реализацию
случайной величины с заданным законом
распределения. Пусть ξ распределена по
закону Fξ(x),
тогда
.
Например:
1), тогда
.
2) Если ξ распределена
по нормальному закону, имеющему среднее
значение равное 0 и дисперсию равную 1,
то практически
.
3) Пусть требуется получить случайные числа Хi с законом распределения:
f(x) = λ(1- λ/2 x), x € [0,2/λ],
который находит применение при решении задач теории массового обслуживания, тогда
xi
= 2/λ(1
-
).
4) Если задана плотность вероятности f(x) = c/(1+bx)2, х € [0, 1/(с – b)], то
Xi = αi/(c – bαi).
5) Аналогично, если случайные величины распределены по релеевскому закону, то
,
то
Si
= σ.
Это распределение играет существенную роль в радиотехнических задачах.
6) В некоторых задачах приходится оперировать со случайными величинами η, распределенными по закону Парето:
,
тогда η = α-1/β,
особенно легко пользоваться им, если β = 1/k, где k – целое число.
Аналогично можно реализовать дискретные и многомерные случайные величины.
Располагая сведениями, изложенными выше, можно решать практические задачи путем имитации вероятностной модели некоторого реального явления. Особенность метода Монте-Карло состоит в том, что его применение не требует, вообще говоря, формулировки интегро-дифференциального уравнения, описывающего потоки частиц или системы дифференциальных уравнений, описывающей систему массового обслуживания. Н а практике формулировка подобных уравнений и их реализация представляют значительные трудности.
Изложим, по существу,
схему моделирования, которая отражает,
однако, физическую суть явлений переноса
частиц. Пусть имеется некий объем D,
заполненный частицами вещества и
окруженный вакуумом. Частица характеризуется
своим положением в пространстве
,
временной координатой t,
направлением движения – единичным
вектором
и скоростью V
(или энергией E).
Таким образом, величины, характеризующие
частицу, это точка с семимерном фазовом
пространстве (ибо
).
Будем предполагать:
а) Концентрация частиц в объеме мала, так что можно пренебречь их взаимодействием друг с другом, но можно учесть и редкие столкновения.
б) Частицы взаимодействуют с веществом таким образом, что вероятности различных видов взаимодействия не зависят от предыстории частицы.
в) Вещество находится в стационарном состоянии, то есть плотность вещества и ее состав не меняются в зависимости от времени.
При сформулированных
предположениях процесс слагается из
независимых «историй». Прослеживая эти
истории, можно получить различные
характеристики процесса. История частиц
начинается ее рождением. В области Т
фазового пространства координаты
частицы задаются функцией распределения
источников
.
Моделируя это распределение в момент
времени t0,
получим начальные координаты частицы(
).
Далее частица движется прямолинейно и
равномерно(или по параболе, если
учитывается влияние гравитации или
электромагнитного поля) до столкновения
со стенками изучаемого объема или до
столкновения с другой частицей.
Вероятность столкновения в пути
определяется экспериментально или по
данным теоретического расчета, если
это возможно. История частицы отслеживается
до ее выхода из объема или до ее поглощения.
Результатами расчета обычно являются
некоторые средние значения – например,
среднее число частиц, покинувших объем,
поглотившихся в некотором объеме и т.п.
Более сложными по своей реализации
являются задачи, в которых требуется
определить распределение частиц в
зависимости, от каких либо характеристик
(энергии, направления и т.п.).
Метод Монте-Карло позволяет моделировать задачи массового обслуживания, характеризуемые потоком заявок, который задается функцией совместного распределения интервалов времени между поступлениями двух последовательных заявок; наличием некоторого количества обслуживающих приборов. Время обслуживания прибора определяется случайной величиной со своей функцией распределения; заявки, поступающие в момент, когда приборы заняты, образуют очередь; так же заявки характеризуются дисциплиной ожидания и обслуживания, последние определяются некоторыми распределениями вероятностей.
Можем изучать поведение различных популяций, разыгрывая поведение особей внутри сообщества и внешнее влияние на него на базе теории Марковских процессов. При этом оценивается устойчивость популяции или сроки её вымирания.
Можно рассматривать имитации танковых сражений и многое другое.
Рассмотрим применение метода Монте-Карло в вычислительной математике. Метод Монте-Карло является универсальным методом и позволяет стохастически решать те же задачи, что и детерминированные методы вычислительной математики. Разберем некоторые из них:
а) приближенное интегрирование методом Монте-Карло
оценивается
с помощью среднего арифметического
,
где xi –независимы и их распределение задается мерой μ.
Характер его сходимости вероятностный.
,
где I(f) –точное значение интеграла
,
дисперсия
,
,
если
,
то
выполняется с вероятностью 0,997, т. е. по
правилу «трех сигм» и при условии, что
для функции f(x)
существует и конечный интеграл
.
Вычисление двойных интегралов методом Монте-Карло.
,
,
Цилиндрическое тело, содержащее данный объем V=(b-a)(d-c)T.
,
где
N
- количество реализаций;
m
- количество реализаций,
попавших во внутреннюю часть искомого
объема;
- независимые
реализации случайной величины
равномерно
распределенной соответственно для
,
,
.
Порядок оценки
сходимости в этом случае тот же, т.е.
.
Этот порядок не зависит от размерности интеграла в методе Монте-Карло, в то время как порядок гарантированных оценок сходимости в детерминированных методах существенно ухудшается с ростом размерности.
б) Метод Монте-Карло решения систем линейных алгебраических уравнений.
Рассмотрим систему линейных алгебраических уравнений, записанную в векторной форме:
АХ = b
А – nxn матрица, Х и b – n-мерные векторы. Пусть имеет место случай, когда пригоден метод простой итерации, т.е. матрица А представима в виде:
А = Е – В
где Е – единичная матрица, а В – матрица, имеющая собственные числа, по модулю меньшие единицы.
Модель строится по принципу Марковского процесса, заканчивающегося с вероятность единица за конечное число шагов. Исходная система эквивалентна:
Х = ВХ + b. (1)
Решение исходной системы представимо в виде:
Х = A-1b. (2)
При сделанных предположениях, сравнивая (1) и (2), обратная матрица может быть выражена рядом:
А-1 = Е + В + В2 + …+ Вn + … (3).
Этот ряд сходится тогда и только тогда, когда l(B)l1. Подставим теперь выражение (3) в (2) и получим:
Х = b + Bb + B2b +…+ Bnb + …
Частные суммы этого ряда можно получить известным итерационным приемом, полагая последовательно Х(1) = b, Х(2) = ВХ(1) = Bb + b,…, Х(к) = ВХ(к-1) = Bk-1b+ Bk-2b + …+ Bb + b, при этом последовательность Х(n) сходится к Х при n .
Для вычисления Х перейдем к координатной записи. Обозначим элементы матрицы В через Вij, тогда m – я координата вектора Х равна:
Хm
= bm
+
Bmi
bi
+
Bmi1
Bi1i2
bi2
+
… +
Bmi1
Bi1i2
… Bir-1ir
br + …
(4)
Вопрос состоит в том, чтобы найти метод вычисления этой суммы. Рассмотрим сначала случай, когда элементы матрицы не отрицательны и сумма элементов по каждой строке равна единице:
Bmi
= 1,
тогда величины Bmi можно рассматривать как набор вероятностей для полной системы несовместных событий. Эти события можно рассматривать как выборку шаров из n урн.
Пусть в каждой из n урн лежать шары n различных сортов. Пусть Вmi – вероятность вытащить из m-й урны шар i-го сорта. Вынем наугад шар из m-той урны и образуем случайную величину m, выбрав в качестве ее значения bi, если вынут шар i-го сорта.
Математическое
ожидание m
равно Еm
=
Bmi
bi,
т.е. второе слагаемое ряда (4).
Теперь получим случайную величину, математическое ожидание которой равно третьему слагаемому ряда (4). Для этого обратимся сначала к m-й урне и вынем из нее шар. Если он оказался i1-го сорта, то обратимся к i1-й урне. Если из нее вынут шар i2-го сорта, то положим значение величины m равным bi2. Ясно, что вероятность, с которой случайная величина m принимает значение bi2, равна:
Bmi1
Bi1i2,
тогда математическое ожидание величины m равно:
Еm
=
Bmi1
Bi1i2
bi2.
Обобщая эти рассуждения и далее, мы получим ряд (4), т.е.
Хm = Em,
тогда, моделируя процесс получения величины m N раз, мы можем принять в качестве приближенного значения искомой величины Хm – среднее арифметическое:
m = (m1 + m2 + … + mN)/N.
Теперь перейдем к нашему случаю. Для этого представим каждый элемент Bmj матрицы B в виде произведения двух сомножителей:
Bmj = Fmj Pmj,
где Pmj (0,1).
Координаты вектора правой части системы запишем в виде:
bm = Fm Pm,
где Pm (0,1).
При этом будем предполагать, что выполнено условие:
Pm
+
Pmi
= 1,
тогда равенство (4) можно представить в виде:
Хm
= Fm
Pm
+
Fmi
Fi
Pmi
Pi
+ … +
Fmi1
Fi1i2
Fi2i3
… Fir-1ir
Fir
Pmi1
… Pir-1ir
Pir
(5).
Пусть у нас имеется n урн, в каждой из которых лежат шары n+1-го сорта. Вероятности вытащить из к-ой урны шар одного из сортов равны:
Pk1, Pk2, … , Pkn, Pk.
Начнем с m-ой урны, и вынем из нее шар. Если вынут шар сорта i1 (i1 n), то затем нужно обращаться в i1-ю урну. Если же вынутый шар n+1-го сорта, то дальнейшее обращение к урнам на этом прекращается и в этом случае в качестве значения для случайной величины m берется число Fm. Если шар n+1-го сорта оказался вынутым из
ir-ой урны после того, как последовательно вынимались шары из урн с номерами: m, i1, i2, … , ir-1, то значение величины m полагается равным:
Fmi1 Fi1i2 … Fir-1ir Fr.
Вероятность того, что случайная величина m примет данное значение, равна:
Wmi1i2…ir = Pmi1 Pmi2 … Pir. (6)
Математическое ожидание величины m:
Em
=
Wmi1i2…ir
Fmi1
Fi1i2
…Fir.
(7)
Подставим (6) в (7) и сравнивая с (5), получим:
Xm = Em.
Таким образом, моделирование случайной величины m позволяет получить Хm с определенной вероятностью. Преимущество изложенного метода решения состоит в том, что при обычном методе решения систем линейных уравнений для вычисления одного неизвестного нужно определять и все остальные, в приведенном способе этого делать не нужно, ибо каждый раз определяется одна координата. Это означает, что число арифметических операций пропорционально числу уравнений, а не кубу этого числа, как в численных методах. Отсюда видно, что и здесь проявляется одна из основных черт метода Монте-Карло – его эффективность при решении многомерных задач.
в) Решение задачи Дирихле методом Монте – Карло.
∆U(x,y) = 0 (x,y) € G, U(x,y) │(x,y) € Г = φ(x,y),
Г – контур, ограничивающий область G, кусочно-гладкая кривая.
В области G строим квадратную сетку Sh с шагом h,
xi = x0 + ih, yi = y0 + jh (i, j = 0 ± 1, ± 2, ± 3, …),
где ∆xi = xi+1 – xi = h ∆yi = yi+1 – yi = h (h>0).
Граничные узлы сетки Sh образуют ее границу Гh , т.е. граничные узлы – ряд точек Mpq (хp , yq), аппроксимирующий криволинейную границу Г области G с точностью до h.
Пусть точка M блуждает равномерно по узлам сетки (1), т.е., находясь во внутреннем узле Mij (xi , yj). Эта частица за один переход с вероятностью р = ¼ может переместиться в один из четырех соседних узлов, причем каждый такой переход не зависит от положения частицы на сетке и от ее прошлой историю. Блуждание частиц заканчивается как только она попадет на границу Гh – это поглощающий экран. Доказано, что с вероятностью р = 1 блуждание точки М через конечное число шагов закончится на границе. Если частица М начала свое блуждание с фиксированной точки изнутри Мi0j0 сетки Sh , то конечная совокупность последовательных положений этой частицы:
Мi0j0 , Мi1j1 , … , Мisjs , где Мisjs принадлежит Г, но при k = 0, 1, 2, … , S – 1
М ikjk не принадлежит границе Г, тогда эта последовательность называется траекторией частицы или историей ее блуждания. Пусть в точках границы Г определена функция φ(x,y). Перенесем это значение на границу Гh сетки Sh . Для каждого граничного узла Mpq (хp , yq), принадлежащего границе Гh определим ближайшую по горизонтали или вертикали точку N, принадлежащую границе Г и положим
φ(Mpq) = φ(N) = φ(хp , yq) = φpq . Пусть вероятность Р(i, j, p, q) – есть вероятность того, что траектория частицы, вышедшей из узла Мij сетки Sh , закончится в граничном узле Mpq , принадлежащим Гh .
Составим сумму
Vij
=
φpq.
Эту сумму можно рассматривать как математическое ожидание функции φ(x, y) на границе Гh для траекторий, начинающихся в точке Мij . Причем оказывается, что искомые неизвестные Uij задачи Дирихле можно рассматривать как математические ожидания Vij .
Рассмотрим
достаточно большое число N
равномерных случайных блужданий частицы
по узлам сетки Sh
, исходящих
из фиксированного узла Мij
и заканчивающихся на границе Г. Пусть
(,
),
при k
= 1, 2, … , N
соответствующие точки выхода частицы
на границу Гh
. Заменяя
математическое ожидание Vij
эмпирическим
математическим ожиданием, будем иметь
Uij ≈ Vij = 1/N.
Эта формула дает статистическую оценку величины Uij и может быть применена для приближенного решения задачи Дирихле.
Недостатком
рассмотренного метода для задачи Дирихле
является слабая сходимость по вероятности
при
эмпирического математического ожидания:
=
1/N
,
к математическому ожиданию Vij = Uij .
Естественно, что блуждание частицы М, начинающееся в точке Мij , автоматически является случайным блужданием частицы, начинающейся в любой промежуточной точке траектории этой частицы.