книги из ГПНТБ / Соболь И.М. Численные методы Монте-Карло
.pdf78 ПРЕОБРАЗОВАНИЯ СЛУЧАЙНЫХ ВЕЛИЧИН [ГЛ. 2
Нетрудно вычислить плотность случайной величины |, определенной формулой (40): при а< г< .Ь
(г) = |
Р {£ < г) = |
Р {!' |
< г |n' < |
f (!•')} = |
|
|
|
|
|
|
|
|
|
|
z |
/(*) |
|
|
|
Р \ Ѵ < г , |
|
|
J dx |
j |
p (.V, y) dy |
|
|
|
|
|
|
|
|
||
|
|
|
P{il' < / « ' ) ) |
|
|
|
|
|
продифференцировав по г, |
получим плотность |
|
|
|
||||
|
|
tty |
/ |
ь |
№ |
|
|
|
|
P \ i z) = |
J Р(г’ У)аУ |
а |
j |
p(x,y)dy . |
(41) |
||
|
|
—со |
I/ |
—оо |
|
|
|
|
Если |
требуется |
моделировать случайную |
величину | |
с заданной |
плотностью Р § ( х ) , то существует бесконечное количество способов выбрать р(х, у) и /(л-), удовлетворяющие (41).
5.4.1. Сперва рассмотрим частный случай, когда £' и і]' незави симы: р(х, у) = рі' (х) рц'(у) . Тогда нз(41) вытекает, что
Последняя формула записывается более коротко, если ввести функ цию распределения величины л', равную F^(y):
Итак, если плотность рЕ (х) моделируемой случайной величины |
представима в форме произведения
р . |
(х) = kpv |
(х) / у (f (д;)), |
|
|
|
где k — постоянная, то |
| можно |
моделировать по формуле |
(40), в |
||
которой I' имеет плотность р^(х), а |
і у — функцию |
распределения |
|||
5.4.2. Предположим |
дополнительно, что 0 ^.f(x)^ .c, и |
выберем |
|||
случайную величину г]', |
равномерно |
распределенную |
при 0 < у < с . |
||
Тогда р ^ (у) = 1/с и из (42) вытекает, |
что |
|
|
Следовательно, если плотность р- (х) моделируемой случайной
величины § представима в форме произведения
Р\ (*) = kpv {х) f (х), |
(43) |
5 51 |
|
МЕТОДЫ |
ОТБОРА |
7 9 |
|
где 0 ^ /( .ѵ )^ с , а k — постоянная, |
то g можно моделировать по фор |
||||
муле (40), |
в которой |
имеет плотность р^, (х), а г]' равномерно рас |
|||
пределена |
в интервале |
(0, |
с). |
|
|
Эффективность метода |
в этом случае равна |
|
ь/(.у)
* = Р { т ] ' < / ( £ ' ) } = . f d'vPi' (Jх) c ~ ldy = (ck)~l.
аб
Представляя Pg (х) в форме различных произведений (43), можно
построить различные методы вида (40) для моделирования вели чины £. В частности, таким методом можно моделировать случайные величины, плотности которых неограничены.
П р и м е р . С л у ч а іі п а я в е л и ч и н а g о п р е д е л е н а п р и 0 < -V< 1 с п л о т н о с т ь ю
р- (.ѵ) --=v{x)jIYx>
г д е 0 < V(х) с.
Представим Pg ( x ) в форме произведения (43) с Pg> (х) = (2У.ѵ)_1. Значения g' легко вычислять методом обратных функций, так как из
(4) вытекает, |
что У£'=Уь |
Следовательно, £ '= ( у і) 2, т |'= с у 2 и |
|
|
£ = £ ' |
при |
ті'< »(£ ')- |
Эффективность |
в этом примере равна э = ( 2 с ) _1. Ясно, что для по |
вышения э следует выбрать наименьшее возможное значение с, рав
ное с = |
sup ѵ(х). |
|
|
|
|
|
|
||
|
aix<b |
|
|
|
0 ^ f ( x ) ^ c . |
|
|
|
|
5.4.3. |
Снопа |
предположим, что |
Если |
равномерно |
|||||
распределена |
при а<.х<Ь, |
а |
г|' |
равномерно |
распределена |
при |
|||
0 < у < с , |
то |
£' = |
а + у і(b—а) |
и |
г|' = |
су2. Из (42) |
вытекает, что |
при |
|
a < z < 6 |
|
|
Р |(г) |
= А/(г). |
|
|
|
||
|
|
|
|
|
|
Значит, чтобы моделировать случайную величину | с ограниченной плотностью Pg (х), можно выбрать
/(x) = pg(x).
Вэтом и состоит метод Неймана (39).
5.5.Выбор равномерно распределенных точек в слож ных областях. Методы отбора (36) легко обобщить так, чтобы отбирались значения многомерной случайной ве
личины Мы рассмотрим лишь один прием, который имеет много практических приложений. Его можно счи тать частным случаем метода моделирования усеченных распределений (п. 5.2), если иметь в виду обобщение этого метода на многомерный случай.
Пусть В — ограниченная область на плоскости х, у, «сложная» с точки зрения вычислительной практики:
so
П Р Е О Б Р А З О В А Н И Я С Л У Ч А Й Н Ы Х В Е Л И Ч И Н |
[ГЛ . 2 |
например, невыпуклая или несвязная или такая, что гра ницы на отдельных участках трудно записать в явном виде. Предположим лишь, что существует достаточно простой алгоритм, позволяющий определить, принадле жит ли области В любая заданная точка (х, у) или нет.
Выберем прямоугольник П = {яі<л'<Ьі, а2<.у<.Ь2}, содержащий область В (рис. 32). Координаты случайной
точки Q ^ d ', г]'), равномерно распределенной в П, легко вычислить (п. 2.1):
l ' = öi+*Yi (*і—аі), ц '= а 2 + Ь (Ь2—а2).
Для нахождения точек. Q, равномерно распределен ных в В, можно вычислять точки Q', равномерно распре деленные в П, и отбирать среди них те, которые принад лежат В. В самом деле, для любой области G <=В
P { Q e C ) = P { Q ' e G } I Q ' & S } = P { Q ' e C | P { Q 'ceB}.
Так как Q' равномерно распределена в П, то вероят ность попадания Q' в любую область пропорциональна площади этой области: Р{Q'i=G} = S G/Sn, P{Q'efi} = = S BISn■Следовательно,
P { Q e Ö } = 5 c/Ss.
или, что то же, плотность pQ{x, y) = l/SB в области В. Эффективность такого метода равна отношению
площадей
з = 5 в/5ц-
§ 51 МЕТОДЫ ОТБОРА 81
Поэтому э будет наибольшей тогда, когда площадь П минимальна — результат очевидный геометрически. Яс но также, что в тех случаях, когда область В хорошо
вписывается, |
например, в |
круг |
С (рис. 33), |
лучше |
не |
|||
пользоваться |
прямоугольником |
П, а отбирать точки Q |
||||||
из числа точек Q', равномерно распределенных в С. Эф |
||||||||
фективность |
такого метода |
9 = S n/Sc будет |
выше, |
ибо |
||||
5 с< 5 п . |
|
|
|
|
|
|
|
|
|
П р и м ер. |
С л у ч а іі и ы е т о ч к и |
Q= (|, г), С), |
р а в н о м е р- |
||||
II о |
р а с п р е д е л е н н ы е |
в ш а р е |
x2-f y2-\-z2'<.R2, можно выбирать |
|||||
следующим образом: 1) находим |
три |
случайных числа уч, у2, |
уз; |
|||||
2) |
вычисляем |
координаты |
| ' = |
2 уі — 1, іф= 2у2 — 1, |
С '= 2 уз— 1; |
|||
3) |
если (S,) 2+ (il')^ + (? ')2< |
I- то |
полагаем l = R l ' , il = |
/?n'. С= |
/?£'; |
|||
в противном случае выбираем новую тройку уі, у2, у3. |
|
|
||||||
|
Эффективность метода |
э = (4/3) л/?3 : (2 /?)3= я /6 . |
Несмотря |
па |
то, что э близка к 1/2, по полученным здесь формулам случайные точ
ки в шаре вычисляются быстрее, чем по формулам п. 2.4.1, в которых
приходится вычислять |
и cos 2лу3. |
5.6. Алгоритмы, соответствующие методам отбора. Формула (30) |
|
не определяет полностью |
алгоритма для расчета значений £, так как |
вычислять значения Q' можно различными методами. Если каждая точка Q' вычисляется по п случайным числам уі...........уПі где п ^ т ,
то все координаты Q' представляют собой функции т),= g{ (у ............ y^),
( = 1 , 2, |
, |
т. Подставив |
эти |
выражения в |
(36), получим, |
что |
||
І = ф(£іСѴь • |
• < . |
Tu). |
|
(Yi. • • • . |
Y,,))- |
Следовательно, |
g |
|
выражается |
|
через |
уі, . . . , |
Y„ по |
формуле |
вида |
£=£Г(уі, . . . , у„ ). |
|
Рассмотрим теперь преобразование |
|
|
|
|
|
|||
|
|
Уі = Si {:<i.........*„), |
|
U |
i < т , |
|
(44) |
||
которое отображает единичный /г-мерный куб |
|
|
|
||||||
|
|
Л"' = {0<д-1< 1 ...... 0<л-п<]} |
|
|
|||||
на область возможных значений |
Q' |
в m-мерном |
пространстве пере |
||||||
менных і/і, |
, Ут. Обозначим через В прообраз В' |
при отображе |
|||||||
нии |
(44) |
(иными словами, В — это |
множество |
таких |
точек |
(.ѵ,, . . . |
|||
. . . |
,.ѵ'(1) из К '\ которым при отображении |
(44) |
соответствуют точки |
||||||
(Уі.............у т)} принадлежащие В'). |
Тогда |
условие Q' |
е ß', |
фигури |
|||||
рующее в (36), равносильно условию (уі, . . . , y |
j e f i . |
|
|
||||||
|
Итак, |
формуле (36) соответствует |
следующий алгоритм расчета |
||||||
І по Уі.......... У„: |
|
|
|
|
|
|
|
||
|
|
(Yl ---. Y„) |
ПРН |
(Vi. • - •. Y „ )e ß . |
(45) |
Формально можно считать, что (45) — это частный случай (36), так
6 И. М. Соболь
82 ПРЕОБРАЗОВАНИЯ СЛУЧАЙНЫХ ВЕЛИЧИН [ГЛ 2
как вместо точки Q' с произвольной функцией распределения Fq,
здесь |
фигурирует точка (уі............. |
Уп), равномерно распределенная |
в Кп. |
Однако наши рассуждения |
показывают, что реализация любой |
формулы (36) в конечном счете осуществляется с помощью алгоритма
(45), где, возможно, п ^ т .
Эффективность этого алгоритма равна э = Ѵ в __объему (rt-мер-
иому) области В. Еще раз напоминаем, что количество случайных чи
сел, затрачиваемых на расчет одного значения |, случайно и может
оказаться равным п, 2п, |
Зп, ... |
; в среднем это количество равно п/э. |
|||
Функцию распределения случайной величины |, заданной |
алго |
||||
ритмом (45), нетрудно вычислить: |
|
|
|||
Р { £ < г } = |
Р {^( Ті ......... |
V „ ) < z | ( Vi ........... |
Y„)e ß ) =* |
|
|
= Р { г ( Т і |
......... Yn) < 2 . |
(T i........... |
Y„) 6 Ö |/P {(Y i-------- = |
|
|
|
= (Vb) ~ 1I |
• • • J e (2 - |
? ( * i . • • • * *,.» dx! • . |
.dxn. |
|
|
|
|
В |
|
|
Следовательно, для того чтобы алгоритм (45) определял случайную величину £ с функцией распределения F(x), должно выполняться
условие
у ~ J |
■• ■J е (х — g (л-і, . . . , л-J) dxi. . . |
dxn = F (x) .. |
(46) |
В |
в |
|
|
Уравнение (46) можно рассматривать как обобщение уравнения (25),
которое получается из (46) при |
В — /(". |
|
Общий алгоритм методов |
отбора (45) можно считать |
частным |
случаем бесконечномерного преобразования |
|
|
i = g(Yi. • |
■ • . YI, ■■ ■). |
(47) |
когда каждое значение \ вычисляется по бесконечной последователь
ности независимых случайных чисел. Такие преобразования встреча
ются в практике методов Монте-Карло. |
xl t . . х{, . |
|
|
Если при каждом |
конкретном наборе |
функ |
|
ция g зависит лишь от |
конечного количества аргументов x it |
то расчет |
по формуле (47) затруднений не представляет. Это как раз справед
ливо для алгоритма (45), когда функция g (xx.........х ^ . . . ) |
равна |
||
ІЧ-ѵ ........ хп), |
если (.Ѵі, . . . . |
хп) е В , |
|
S (*„+1' • • • >х2п), |
если (л-і ----- - хп)<£В, |
|
|
|
Кі+Г |
х2 |
|
? (-W l......ХПп+п)' |
если (М...... |
|
|
(Мі/і—/і-f1’ • • • • xkn
...... Л/(/!
|
УПРАЖНЕНИЯ К ГЛАВЕ 2 |
S3 |
|
5.7. |
Заключительные замечания. При выборе |
алго |
|
ритмов для расчета методами |
Монте-Карло различных |
||
задач |
возникает вопрос, какие |
же преобразования |
ис |
пользовать для моделирования той или иной конкретной случайной величины |. Ответить на такой вопрос одноз начно нельзя. Целесообразность тех или иных преобра зований зависит от многих факторов.
Например, часто стремятся к минимизации времени, затрачиваемого на получение одного значения |. Однако за такую минимизацию приходится расплачиваться уд линением программы и (или) расходом места во внут реннем накопителе ЭВМ. Если во внутреннем накопите ле места много, то можно использовать таблицу с интер поляцией (см. конец п. 1.3): такой способ будет, как правило, самым быстрым. Поэтому выбор любого друго го способа моделирования — это компромисс*).
Далее, выбирая преобразования, редко учитывают качество псевдослучайных чисел. Но одномерное рас пределение чисел "ff обычно тщательно проверено, а рас
пределение |
групп |
(Чіп+і, |
..., Тіп+п) |
при /г^ З проверя |
|
ется хуже, в |
результате чего формула вида |
|= g ’('Yi. ... |
|||
... , Чп) при |
п ^ З |
может |
оказаться |
менее |
точной, чем |
формула вида i= g("f). Поэтому уменьшение количества случайных чисел, затрачиваемых на получение одного значения |, иногда представляется весьма желательным (особенно с точки зрения гл. 7).
К счастью, при расчете многих задач время, затра чиваемое на преобразование случайных величии, не слишком велико, и можно выбирать самые простые и ес тественные способы моделирования.
|
Упражнения тс-главе 2 |
|
I. |
Вывести явную формулу для расчета значений случайной в |
|
личины £ с функцией распределения |
|
|
|
F(x) = 1 — (1/3) (2 ? - * - b e " 5*), |
0 < x < c o . |
*) Еще быстрее — осуществлять случайную выборку из заранее заготовленной таблицы значений §. Для некоторых случайных вели чин такие таблицы имеются [165], однако в расчетах на ЭВМ при меняются они редко (ср. конец п. 1 3 гл. 1).
Интересно отметить, что точно так же можно использовать таб лицу для моделирования случайной величины, значения которой по лучают экспериментально и функция распределения которой неизве стна (даже в многомерном случае],
6*
84 |
ПРЕОБРАЗОВАНИЯ СЛУЧАЙНЫХ ВЕЛИЧИН |
|
[ГЛ 1 |
|||||
2. |
Вывести явную формулу для расчета значении случайной вели |
|||||||
чины I |
с плотностью распределения р (.ѵ) = cos2 hunx,‘ |
0 < .ѵ < 2 ; |
число |
|||||
1 целое. |
|
|
|
|
|
|
|
|
3. |
Вывести явные формулы для расчета случайных точек, равно |
|||||||
мерно распределенных в плоском кольце К? < |
А-а + у 1 < |
R l |
|
|||||
4. |
Вывести явные формулы для |
расчета |
реализации |
случайной |
||||
точки |
(5, ц) с плотностью р(х, у) — Зу, |
определенной |
в треугольнике, |
|||||
ограниченном прямыми х =0, у = х н у — \. |
|
г |— In у, |
если rj |
|||||
5. |
Вычислить плотность случайной |
величины £ = |
||||||
имеет плотность р(х) |
при 0 < .ѵ < о о (г| |
и у независимы). |
|
|
||||
6. |
Доказать, что случайную величину £, определенную в интерва |
|||||||
ле 0 < .ѵ < /, с плотностью |
|
|
|
|
|
|
||
|
|
р (.ѵ) = ае~~ах/{ 1 — еГг!)’ |
|
|
|
|||
можно моделировать с помощью любой из четырех формул: |
|
|||||||
|
£ — |
— (і/я ) In [I — |
Т (1 — в- |
a<)J; |
|
|
|
|
|
1 = |
— (1 /а) In [у + |
11— у) е“ а ,1; |
|
|
|
||
|
Ъ = . і д \ - ( а 1 ) - ' ln у]; |
|
|
|
|
|||
|
\ = — (1/ а)!пу, |
если |
|
|
|
|
7. Бслн гамма-квант с энергией Е рассеивается в результате
комптои-эффекта, то его энергия после рассеяния g представляет со бой случайную величину с плотностью р{х), пропорциональной функ
ции
І(Е, х ) = х І Е + Е ! х + ( Ц Е - \ І х ) ( 2 + U E - U x )
при £ (М -2 £ )_1< х < £ (закон Клейна — Нишпна). |
Доказать, |
что | |
|
можно вычислять методом отбора: |
|
|
|
Е-=Е', если ys [ l + 2 £ + ( + 2 £ ) - » ] < / ( £ , |
V), |
|
|
где r = £ (l+ 2 £ y i)(l* f - 2 £ ) - > |
|
|
|
, |
(И. Г. Дядькин |
[26]). |
8. Энергию нейтрона, испущенного при делении ядра U235, часто считают случайной величиной |, ^определенной ирн 0<С.ѵ<оо, с плот ностью
р (X) = се~ХІТ sh b V 2xlT,
где Ь и Т— параметры, с= )'А2/я e—b2/2 (6Г)-1 — нормировочная пос
тоянная. Доказать, что £ можно вычислять по формуле
5= Г[(1/2) (t+6)l -ln y ],
где ^ — нормальная случайная величина с параметрами (0; 1); С и у независимы.
|
|
(Г. А. Михайлов [56]) |
|
9. Независимые случайные числа y ti |
уа, |
• • • |
. Vn+m —1 располо- |
жены в порядке возрастания у ^ ^ у ^ ) ^ - |
■ • |
^=Y |
!)• Доказать, |
УПРАЖНЕНИЯ К ГЛАВЕ 2 |
85 |
что | = у(„) подчиняется бэта-распределенніо с параметрами п н т:
Pt М —[В (/г<гі) } ~ 1(1—
(J. С. Butcher, Н. Messel [109] V. (Способы моделирования бэта-распределения с дробными параметра ми рассмотрены в статьях [62, 73, 102, 103, 141].)
НО. Доказать, что формулы 1о=1, |
/*=■ 1;_і — 5,- |
и |
|
|||
Ъі = |
[1 - (T,)l/(n-i+D]f |
/ = 1,2.........п ,' |
||||
определяют случайную точку (5і, . . . , |
5л). равномерно распределен |
|||||
ную в п-мерной пирамиде |
+ . . . + • * , < ! , х /> 0 . |
|
|
|
||
11. Допустим, что случайная точка Q с плотностью р(ф(ас, у, г ) ) |
||||||
определена в |
области В. |
Обозначим |
через Lc |
часть |
поверхности |
|
ср(х, у, z ) = e , |
принадлежащую В, и предположим, |
что семейство Lc |
||||
при с ! < с < с 2 |
заполняет В. |
Доказать, |
что если |
|grad |
cpl^ ««.Л(с), |
то точку Q можно моделировать в два этапа: сперва выбирается слу чайное значение параметра р с плотностью рр (c)=‘ [p(c)/h(c)]SL
где Sr |
— площадь Lc, |
а затем на поверхности |
L |
выбирается слу- |
|
* - С |
|
|
Р |
|
|
чайная равномерно распределенная точка. |
|
|
|||
|
|
|
(В. А. Герман, И. М. Соболь [17].) |
||
12. Доказать, что случайная точка с декартовыми координатами |
|||||
(ІхЫ............./л), где І і = |
— ln у .,а г| = £ і+ - • ■ + |
|
равномерно |
||
распределена в симплексе Х |+ ... -f хп = 1 , 0 < х,<1 |
( і = І , 2 , . . . , п). |
||||
13. |
Доказать, |
что случайная точка с декартовыми координатами |
|||
(Сі/р, . . . . £„/р), |
где |
&.............— независимые нормальные слу |
|||
чайные величины с параметрами (0; 1), а Р = ( £ і |
+ • |
• • + Е®)1/2< рав |
номерно распределена на поверхности единичной многомерной сферы
х \ + . . . + 4 = 1.
Г Л А В А 3
ВЫЧИСЛЕНИЕ ИНТЕГРАЛОВ
Во введении уже упоминалось, что в подавляющем большинстве задач, решаемых методами Монте-Карло, вычисляют математические ожидания некоторых случай ных величин. Так как чаще всего математические ожи дания представляют собой обычные интегралы, то цент ральное положение в теории методов Монте-Карло занимают методы вычисления интегралов.
В настоящей главе изложены наиболее важные и вместе с тем наиболее простые методы, знакомство с которыми необходимо каждому специалисту в области Монте-Карло. Более сложные методы, не имеющие пока значительных практических применении, по намечаю щие, как нам думается, основные направления развития методов вычисления интегралов, рассмотрены 'в гл. 4.
Впрочем, п. 1.1 гл. 4 мог бы быть отнесен к гл. 3: вы борка по группам не раз использовалась в практических вычислениях. Численный пример, приведенный в конце гл. 4 (п. 3.3), относится к оценкам, рассмотренным в обеих главах.
Заметим, что почти все результаты этих глав легко обобщаются па интегралы Римана — Стилтьеса (и даже Лебега — Стилтьеса [33]). Мы, однако, всюду рассматриваем только интегрирование в смысле Римана.
§1. Общий метод оценки математических ожиданий
1.1.Сходимость метода. Рассмотрим произвольну случайную величину g, у которой существует математи
ческое ожидание ЬА\— а. (Напомним, что по определе нию математическое ожидание МІ существует тогда и
§ I] |
МЕТОД ОЦЕНКИ МАТЕМАТИЧЕСКИХ ОЖИДАНИИ |
87 |
только тогда, когда существует М |||. ) Чтобы оцепить величину а, выберем N независимых реализаций
. случайной величины £ и вычислим среднее ариф метическое
іѵ = ( ім о 2 і it. |
’m |
i=i |
|
Так как последовательность одинаково распределенных независимых случайных величин, у которых существуют математические ожидания, подчиняется закону больших чисел (теорема А. Я- Хинчина [44]), то среднее ариф метическое этих величии сходится по вероятности *) к математическому ожиданию: при N ->■со
— р
I л --- * а. |
|
Таким образом, при больших N величина |
и оцен |
ку (1) можно использовать во всех случаях, когда су ществует М |= я.
1.2. |
Погрешность |
метода. |
Предположим |
дополни |
тельно, |
что случайная величина | |
имеет конечную |
дис |
|
персию |
D |= |
М(£2)—(М |)2. |
(2) |
|
|
Из курса теории вероятностей известно, что последова тельность одинаково распределенных независимых слу чайных величин с конечными дисперсиями подчиняется центральной предельной теореме. Последнее означает,
ЧТО ДЛЯ Л ю б ы х Х \ < ^ Х ч
lim Р L |
< (1/ Ѵ Ш ) З (Іс ~ а ) < |
XJ |
= |
W—со I |
І=1 |
) |
fе -і2Ш |
|
|
■= |
Выберем х2— —Хі— х. Тогда из последнего соотношения
получим, |
что |
|
lim Р ( W ) S |
(Іі - й) <x]XDs//vj = Ф(х), |
|
|
i=i |
|
где Ф (х) |
— интеграл |
вероятностей, таблица которого |
) Определение сходимости по вероятности приведено ка стр. 34.