Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы Монте-Карло для параллельных вычислений. Учебное пособие
.pdf
x
y
O
Рис. 3.1. Решетка для решения задачи Дирихле в ограниченной области. Область D закрашена светло-серым цветом, сетка обозначена темно-серыми прямыми, внутренние узлы окрашены в черный цвет, граничные узлы — в белый
цвет. Стрелками указана возможная траектория движения от внутреннего узла
к граничному узлу
удовлетворяют разностным уравнениям (3.3) и условиям ¯u
k,l
= g
k,l
граничных узлов. Таким образом, решение конечной системы линейных
алгебраических уравнений представлено в виде математического ожидания некоторой функции от траектории цепи Маркова с известными
переходными вероятностями.
3.2. Моделирование непрерывных случайных величин
Будем считать, что распределение случайной величины X задано
посредством ее плотности распределения p(x), так что функция распределения имеет вид
FX(x) =
Z
−∞
u
p(u) du.
Большинство общих методов генерирования непрерывной случайной величины с плотностью распределения p(x) основывается на непосредственном использовании функции p(x). Кроме того, имеется группа
методов, использующая представление случайной величины X в виде
функции от одной или нескольких вспомогательных (базовых) случай-
51
для

ных величин. В качестве базовых случайных величин выступают, как
правило, независимые случайные величины с равномерным распределением в интервале (0, 1). Рассмотрим основные методы.
Метод обратной функции, метод функционального преобразова-
ния. Пусть непрерывная случайная величина Y имеет плотность рас-
пределения pY(x), g(x) — монотонная и дифференцируемая в области
значений величины Y функция, h(x) — обратная к g(x) функция. Тогда
плотность распределения pX(x) случайной величины X = g(Y ) может
быть найдена по формуле
pX(u) = h0(x)pY(h(x)).
В частном случае, когда Y имеет равномерное распределение на (0, 1),
а обратная функция h(x) равна функции распределения FX(x) генерируемой случайной величины X, получаем преобразование Н.В. Смир-
нова: при равномерно распределенной на интервале (0, 1) случайной
величине U уравнение
˜
X
Z
pX(u) du = U
−∞
относительно˜X определяет случайную величину с функцией распределения FX(x).
Пусть требуется получить значение случайной величины со сме-
щенным экспоненциальным распределением, заданным функцией распределения
F (x) =
(
0, если x 6 θ,
−(x−θ)
1 −e
, если x > θ.
Найдем обратную функцию. Решая уравнение
y = 1 −e
−(x−θ)
,
получаем:
h(x) = θ − ln(1 −x).
Заметим, что если U имеет равномерное распределение на (0, 1), то
такое же распределение имеет величина (1 − U ). Окончательно имеем:
X = θ − ln U .
52

Случайную величину с равномерным распределением в интерва-
ле (a, b), a < b, можно получить из U с помощью преобразования
X = a + U (b − a).
Случайную величину X с нормальным (гауссовским) распреде-
лением с плотностью
2
(x−a)
1
−
2
p
(x) =
a,σ
σ√2π
2σ
e
, σ > 0,
можно получить из стандартной нормальной случайной величины Y с
плотностью
p
(x) =
0,1
−x2/2
e
√
2π
c помощью преобразования X = a + σY .
Важны для применений также функциональные преобразования
вида
X = g(Y1, Y2, . . . , Yr)
от вспомогательных случайных величин Y1, Y2, . . . , Yr. Пусть U1, U2,
. . . , Ur— независимые случайные величины с равномерным распределением на интервале (0, 1). С учетом равенств M U1=
1
, D U1=
2
1
12
по центральной предельной теореме А.М. Ляпунова [34, с. 219],
,
Z
−∞
x
−u2/2
e
du
√
2π
.
lim
r→∞
U1+ U2+ .. . + Ur− r/2
P
p
r/12
< x=
Например, при r = 12 случайная величина
N
= U1+ U2+ .. . + U12− 6
0,1
имеет приближенно стандартное нормальное распределение. Недостатком этого метода является плохое поведение N
деления. Очевидно, −6 < N
< 6, поэтому значения меньше минус
0, 1
«на хвостах» распре-
0, 1
шести и большие шести просто не встретятся.
Плотность гамма-распределения с параметрами a > 0, b > 0 име-
ет вид
p(x) =
a−1
x
baΓ(a)
−x/b
e
, x > 0.
53

При целом a распределение также известно как распределение Эрланга.
y
x
cg(x)
p(x)
O
При a = r/2, b = 2 (r — натуральное) — распределение хи-квадрат с r
степенями свободы. При целом a можно получать значение величины
с гамма-распределением по формуле
X = −b ln(U1U2···Ua).
При параллельных вычислениях метод функциональных преобразований возможно сочетать с векторными вычислениями с помощью
специальных библиотек математических функций.
Метод исключения. Пусть плотность p(x) мажорируется функци-
ей cg(x), где g(x) — ограниченная плотность распределения. Предполагается, что плотность g(x) «проще» плотности p(x) для моделирования.
Рассмотрим плоские фигуры
F = {(x, y) : a 6 x 6 b, 0 6 y 6 p(x)}
и
G = {(x, y) : a 6 x 6 b, 0 6 y 6 cg(x)},
ограниченные осью абсцисс и графиками функций p(x), cg(x) соответственно (рис. 3.2). Справедливы следующие утверждения.
Рис. 3.2. Мажоризация сложной для моделирования плотности p(x) с помощью
более простой функции cg(x) в методе исключения
1. Пусть случайная точка Q имеет равномерное распределение в
ограниченной области G. Тогда при условии, что Q ∈ F, распределение точки в области F снова будет равномерным. Действительно, для
54

любого измеримого подмножества A ⊂ F из определения условной вероятности P({Q ∈ A}|{Q ∈ F}) находим
P({Q ∈ A} ∩ {Q ∈ F})
P({Q ∈ F})
P({Q ∈ A})
=
P({Q ∈ F})
=
|A|/|G|
|F|/|G|
|A|
=
.
|F|
2. Пусть случайная точка Q имеет равномерное распределение в
ограниченной области F, |F| = 1, а X, Y суть ее декартовы координаты. Тогда p(x) — плотность распределения случайной величины X.
Действительно, двумерная плотность распределения f(x, y) величин
X, Y принимает значение 1 при (x, y) ∈ F и значение 0 при (x, y) 6∈ F.
Поэтому соответствующая одномерная плотность есть
p(x)
Z
f1(x) =
f(x, y) dy = p(x).
0
3. Пусть X имеет плотность распределения p(x), и при условии
X = x случайная величина Y имеет равномерное распределение в ин-
тервале (0, p(x)). Тогда случайные величины X, Y имеют равномерное
совместное распределение в области F.
Алгоритм метода исключения состоит в следующем.
Алгоритм X
Метод исключения для непрерывного распределения вероятностей
Шаг 1. Получить случайную точку Q со случайными декарто-
выми координатами X , Y в области G.
Шаг 2. Если Q ∈ F, то алгоритм возвращает значение X . В про-
тивном случае переходим снова к шагу 1.
Получение случайной точки на первом шаге можно осуществлять
на основании утверждения 3. Приведем примеры.
Рассмотрим моделирование гамма-распределения с параметрами
0 < a < 1, b > 0. Поскольку плотность
a−1e−x/b
p(x) =
x
baΓ(a)
55

мажорируется выражением
a−1
x
baΓ(a)
−x/b
e
baΓ(a)
при 0 < x 6 1,
при x > 1,
достаточно положить
g(x) =
a−1
ax
1 + abe
−x/b
ae
1 + abe
c =
−1/b
−1/b
1 + abe
abaΓ(a)
при 0 < x 6 1,
при x > 1;
−1/b
.
Получение значений случайной величины с плотностью g(x) производится методом обратной функции.
Для решения методом Монте-Карло задачи Дирихле одним из
методов приходится моделировать случайную величину с плотностью
распределения, пропорциональной функции
h(x) = x
sh α(R − x)
sh aR
при 0 < x 6 R и равной нулю вне полуинтервала (0, R]. В силу неравенства
sh α(R − x)
x
sh αR
6 xe
−αx
= h1(x)
на первом шаге алгоритма исключения необходимо сгенерировать случайную величину X, распределение которой совпадает с гамма-распределением с параметрами a = 2, b = 1 при условии, что значение величины лежит в полуинтервале (0, R]. Итак, алгоритм состоит в следующем: 1) генерировать значение величины X = − ln(U1U2)/a, пока
не удовлетворится неравенство X 6 R, затем выбрать Y = U3h1(X);
2) если Y > h(X), вернуться к предыдущему шагу, иначе остановиться
и выдать значение X . Заметим, что неравенство Y > h(X ) эквивалентно более простому неравенству
sh α(R − X )
U3>
sh αR
eαX.
56

Метод исключения может применяться также и для моделирования некоторых дискретных распределений, например, биномиального,
пуассоновского, отрицательно-биномиального.
Метод суперпозиции. Этот метод основан на представлении плотности распределения p(x) в виде
r
p(x) =
X
qkpk(x),
k=1
где положительные числа q1, q2, . . . , qrудовлетворяют условию
q1+ q2+ .. . + qr= 1,
а неотрицательные функции pk(x), k = 1, 2, . . . , r являются также плотностями распределения. Алгоритм моделирования случайной величины
с такой плотностью состоит из следующих шагов.
Алгоритм XI
Метод суперпозиции
Шаг 1. Сгенерировать вспомогательную дискретную случайную
величину Y с распределением P({Y = k}) = qk.
Шаг 2. При наступлении события Y = k сгенерировать случай-
ную величину X исходя из плотности распределения pk(x).
Пусть плотность распределения случайной величины X имеет
вид:
p(x) =
4
(1 −x + x3), 0 < x < 1.
3
Для получения значения X по методу обратной функции требуется решить уравнение четвертой степени
X4− 2X2+ 4X = 3U .
Если же представить исходную плотность в виде
p(x) =
2
· 2(1 −x) +
3
1
· 4x3= q1p1(x) + q2p2(x),
3
57

то для получения одного значения X достаточно сгенерировать две
вспомогательные случайные величины U1, U2с равномерным распределением в интервале (0, 1) и положить
X =
(
1 −pU2при U16
p
4
U
2
при U1>
2
,
3
2
.
3
Мы помним, что одна из декартовых координат случайной точки
Q с равномерным распределением в области
F = {(x, u): 0 6 y 6 p(x)}
имеет в точности распределение c плотностью p(x). Рассмотрим разбиение области F на конечное число областей, как показано, например, на
рис. 3.3. Из одиннадцати представленных на рисунке областей четыре
области имеют вид прямоугольников, а остальные семь — вид криволинейных трапеций. Площади областей обозначены соответственно q1, q2,
. . . , q11. Если рассматривать выбор точки Q в области с площадью q
и соответствующую плотность одномерного распределения абсциссы X
точки Q обозначить pk(x), то оказывается справедливым представление
11
p(x) =
X
qkpk(x). (3.4)
k=1
В этом случае алгоритм генерирования величины X сводится к следующему.
k
Алгоритм XII
Метод суперпозиции для распределения (3.4)
Шаг 1. Сгенерировать вспомогательную дискретную случайную
Y величину с распределением P({Y = k}) = qk.
Шаг 2. При наступлении события Y = k, k 6 4 сгенерировать
случайную величину X с равномерным распределением методом обратной функции. При k > 5 значение X генерируется исходя из плотности
pk(x), например, методом исключения.
Такое применение метода суперпозиции экономически оправдано,
если суммарная вероятность
q1+ q2+ .. . + q
,
k
0
58

O
q
2
q
1
q3q
4
x
y
p(x)
q
5
q
6
q
7
q
8
q9q
10
q
11
Рис. 3.3. Представление плотности p(u) в виде суперпозиции одиннадцати вспо-
могательных плотностей
соответствующая «простым областям», близка к единице (здесь принято число k0простых областей). Тогда генерирование значения X стоит
примерно столько же, сколько генерирование двух случайных величин
с равномерным распределением на (0, 1).
3.3. Моделирование случайных векторов
Необходимость моделирования случайного вектора естественно
возникает в некоторых задачах. Однако наряду с этим можно ставить
вопрос об эффективных методах моделирования одновременно нескольких значений одномерной случайной величины с заданным законом
распределения. Рассмотрим основные методы моделирования значений
случайных векторов.
Метод условных распределений. Суть метода заключается в том,
что моделирование случайного вектора сводится к последовательному
моделированию его элементов. Пусть распределение вероятностей случайного вектора (X1, X2, . . . , Xn) задано с помощью n-мерной функции распределения
F (x1, x2, . . . , xn) = P({X1< x1, X2< x2, . . . , Xn< xn}).
Определим разностный оператор
(k)
∆
F (x1, x2, . . . , xn) = F (x1, . . . , x
a,b
, b, x
k−1
− F (x1, . . . , x
59
, . . . , xn)−
k+1
, a, x
k−1
, . . . , xn)
k+1

и одномерные функции (условных) распределений
F1(x1) = F (x1, ∞, . . . , ∞) = P({X1< x1}),
(1)
F2(x1, x2) = lim
h&0
∆
x1, x1+h
∆
F (u1, x2, ∞, . . . , ∞)
(1)
x1, x1+h
F (u1, ∞, . . . , ∞)
= P({X2< x2}|{X1= x1}), . . . ,
Fn(x1, x2, . . . , xn) =
= lim
h&0
(1)
∆
x1, x1+h
(1)
∆
x1, x1+h
(2)
∆
x2, x2+h
(2)
∆
x2, x2+h
···∆
···∆
(n−1)
x
n−1
(n−1)
x
n−1
, x
, x
F (u1, u2, . . . , u
+h
n−1
F (u1, u2, . . . , u
+h
n−1
= P({Xn< xn}|{X1= x1, X2= x2, . . . , X
n−1
= x
=
n−1
n−1
n−1
, xn)
=
, ∞)
}).
Если каждая функция Fk(x1, x2, . . . , xk) монотонно возрастает по x
при фиксированных x1, x2, . . . , x
, то функция совместного распре-
k−1
деление величин X1, X2, . . . , Xn, найденных из уравнений
F1(X1) = U1,
F2(X1, X2) = U2,
. . . ,
Fn(X1, X2, . . . , Xn) = Un,
совпадает с F (x1, x2, . . . , xn). Как и прежде, предполагается, что величины U1, U2, . . . , Unнезависимы и каждая имеет равномерное распределение в интервале (0, 1).
Предположим, что существует совместная плотность распределения p(x1, x2, . . . , xn) величин X1, X2, . . . , Xn. По ней возможно
определить набор одномерных (условных) плотностей распределения
∞
R
∞
−∞
∞
Z
···
p(x1, x2, . . . , xn) dx2dx3···dxn,
−∞
R
∞
−∞
···
∞
···
p(x1, x2, . . . , xn) dx3···dx
−∞
R
∞
p(x1, x2, . . . , xn) dx2dx3···dx
−∞
n
,
n
p1(x1) =
p2(x1, x2) =
Z
−∞
R
. . . ,
p(x1, x2, . . . , xn)
pn(x1, x2, . . . , xn) =
R
∞
p(x1, x2, . . . , xn) dx
−∞
.
n
k
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
