![](/user_photo/_userpic.png)
книги из ГПНТБ / Соболь И.М. Численные методы Монте-Карло
.pdf![](/html/65386/283/html_Tgjr7qSfPL.FZq2/htmlconvd-uxFD0K71x1.jpg)
68 ПРЕОБРАЗОВАНИЯ СЛУЧАЙНЫХ ВЕЛИЧИН [ГЛ. 2
.Так как здесь р(х, у) = |
a y ~ n e ~ x ,J, то |
|
|
|
|
|
|
||||
|
|
СО |
|
|
|
|
|
|
|
|
|
|
Рц (У) = |
J Р (-г, У) dx = пу~п~ 1 |
при |
1 |
< |
у < го; |
|||||
|
|
о |
|
|
|
|
|
|
|
|
|
|
Рі (-ѵ|!/) = |
Р {X, {/)/р„ (у) = |
уе~ху |
|
при |
0 |
< |
.V< |
со. |
||
Соответстьующпе функции |
распределения |
раины |
|
|
|
|
|||||
|
|
(У)= 1 |
- У ~ п. |
Fl ( x \ y ) = l - e ~ x». |
|
|
|||||
Из |
уравнения F^ (р) = |
1 — у, |
найдем |
п |
= ( у |
а |
|
из |
уравнения |
||
F |
= 1 — Ѵ2 найдем | = |
— ц -'іп у2. |
Итак, |
|
|
|
|
І= — (Ѵі)1/П 1пу3.
За м е ч а н и е . Общий ліетод суперпозиции может быть описан
одной формулой
Р$(*)-= I Рі (х |у) dFn (у).
г— ОО
Именно в таком виде он был сформулирован Дж. Батлером (compo sition method). Если случайная величина г) дискретна, то получаем метод п. 3.3, а если г) непрерывна — метод интегральной суперпози
ции. Однако в приложениях гораздо большую роль играет дискрет ный случай.
3.5. Некоторые приложения метода суперпозиции.
3.5.1. |
П о п р а в к и к |
п р и б л и ж е и н ы |
м р. а с п р |
д е л е н и я м . |
Предположим, |
что плотность р(х) |
случай |
ной величины £ аппроксимируется снизу достаточно про стой линией у{х), как это изображено па рис. 26. Оче
видно, в качестве приближения |
к р(х) можно |
выбрать |
плотность |
|
|
Р і ( х ) = у ( х ) / с и |
|
|
ъ |
|
|
где Сі= [ y(x)dx, и находить |
приближенные |
значения |
а |
|
|
1 ПО ПЛОТНОСТИ Рі(х). |
р(х) в форме |
суперпо |
Можно, однако, представить |
||
зиции двух плотностей |
|
|
Рі(х ) — У(х)/сі и р2(х) = |
[р{х)—у{х)]/с2, |
и получить таким образом метод для точного моделиро вания |. Алгоритм расчета £ по плотности р*(х) может оказаться весьма сложным; но на времени счета это
§ 3] |
П Р Е О Б Р А З О В А Н И Я |
В И Д А |
5-=ff(Vi, Уі) |
69 |
почти не скажется, ибо Рг{х) |
будет использоваться очень |
|||
редко: |
Р{'п = 2} = с2= 1 — |
|
|
|
Итак, |
метод суперпозиции дает возможность учесть |
|||
«поправку» Р2 {х), практически не |
увеличивая |
времени |
||
счета, а лишь ценою усложнения |
программы |
(впрочем, |
обычно это весьма нежелательно). (Дж. Марсалья [155]).
3.5.2. |
Д р о б л е н и е о б л а с т и |
о п р е |
д е л е н и я с л |
ч а й н о й |
в е л и ч и н ы. Этот прием |
иногда |
используют |
при моделировании случайной величины, плотность ко торой резко различна в различных областях.
Пусть |
р(х) — плотность случайной величины |
определенной в |
||||
интервале |
п < х < 6 . Разобьем |
этот |
интервал на сумму непересекага- |
|||
Ш.ИХСЯ интервалов Дй , так |
что |
(а, |
Ь) = Д і + . . .+ Д „, (рис. 27) |
и веро |
||
ятности попадания £ в Д* |
положительны: Cj = |
J р (х) dx |
0. |
Д/і
Введем в рассмотрение плотности
(р{х)/ск при
P*W= 0 при
A-eAfc,
X<£hk.
Очевидно, с і+ . . . + |
от — \ и ПрИ всех |
х из |
^ |
|
р (х) = СіРі (х) + . . . |
+ стрт (х). |
|
||
Согласно теореме 5, для того чтобы найти значение |
можно |
|||
сперва по числу уч |
разыграть номер области т)= й, а затем |
вычис |
||
лить £ из уравления |
|
|
|
|
|
f р (х) dx = |
ску.1} |
|
(21) |
% *
где о* — левый конец Д*.
70 |
ПРЕОБРАЗОВАНИЯ СЛУЧАЙНЫХ ВЕЛИЧИН |
[ГЛ. 2 |
Легко |
проверить, что с точки зрения количества |
вычислений |
этот метод хуже, чем метод обратных функций. В самом деле, урав нение (4) для нахождения |
Б
J Р W dx = у
а
можно решать следующим образом: сперва найдем номер к такой,
что
|
|
к- 1 |
|
k |
|
|
|
|
|
У , |
сі < |
У < У , с,; |
|
|
(22) |
|
|
/=і |
|
/=1 |
|
|
|
тогда это уравнение превратится в уравнение |
|
|
|||||
|
|
I |
|
ft-i |
|
|
|
|
|
J Р (х) dx = у — 2 |
с/> |
|
(23) |
||
решая которое и найдем §. Уравнение (23) проще, чем |
(21), и совпа |
||||||
дает с |
уравнением |
модифицированного |
метода |
суперпозиции |
|||
для рассматриваемой задачи. |
|
|
|
|
|||
Положение может резко измениться в пользу метода дробления |
|||||||
области, |
если вместо |
(21) |
использовать |
для моделирования |
£ с |
||
плотностью P k ( x ) , в А* какой-нибудь другой способ. |
Правда, |
тогда |
|||||
на получение одного |
значения |
| будет затрачиваться |
больше |
двух |
|||
случайных чисел. |
|
|
|
|
|
|
Метод дробления области применим также для моделирования многомерных случайных величин [19].
§4. Преобразования в и д а |= ё ( ,уі........ у„)
Мы ограничимся несколькими весьма разнообразны ми примерами преобразовании указанного вида. Во всех формулах уі, , уп— независимые случайные числа.
4.1.Извлечение корней из случайных чисел. Дока
жем, что значение случайной величины определенной
при 0 < * < 1 с функцией распределения F(x)=x", |
мож |
но вычислять по формуле |
|
£= тах(чь . . . ; уп). |
(24) |
Заметим сперва, что функция распределения случай ной величины |=g-('y1, . . . , уп) равна F(x) тогда и только тогда, когда g{yь . . . , уп) удовлетворяет урав нению
1 |
I |
I |
• • • I е С* — g (Уь •. ■,Уп)) dyx ... dyn = F (*), (25) |
о |
о |
5 'll |
П Р Е О Б Р А З О В А Н И Я В И Д А £={Г(Ѵі. . . |
У п ) |
71 |
вполне аналогичному уравнению (8). Затем рассмотрим величину I, определенную уравнением (24). Так как max (уі; ... ; уп) в том и только в том случае, ког да одновременно у \< х , . . . . ул<.х, то
1 |
|
I |
|
|
X X |
I • • • I е (X— max уі) dyl .. .dyn = |
[ . . . [ dyx ... dyn = xn, |
||||
0 |
0 |
!<£</( |
|
0 |
Ö |
что и требовалось доказать. |
|
|
|
||
|
Если эту же случайную величину g моделировать ме |
||||
тодом обратных функций, то, |
очевидно, |
||||
|
|
I = |
1/ГТ- |
|
(26) |
Сравнивая формулы (26) и (24), приходим к выводу,
что в любом алгоритме можно заменить извлечение кор ня из случайного числа взятием наибольшего из не скольких независимых случайных чисел.
На ранних этапах развития ЭВМ формула (24) часто использо валась даже при п= 2, так как извлечение корня осуществлялось по
весьма громоздкой подпрограмме. Например, на вычисление У у на
ЭВМ «Стрела» затрачивалось 3+ 24 = 27 операции (3 операции — на расчет у), а на вычисление max (уп у2) — всего 3 + 3 + 2 = 8 операции.
Обобщение формулы (24) приведено в упражнении
9 гл. 2.
4.2.Моделирование гамма-распределения. Во многи
задачах |
встречаются величины |
| (п), |
определенные при |
|
0 < .ѵ - < о о с плотностью вероятностей |
|
|
||
|
Рп{х) = [ (п— 1) \]~1хп~1е~х, |
(27) |
||
где |
1— целое число. Закон |
(27) |
называется |
гамма- |
распределением*), так как |
|
|
|
СО
f xn~]e~xdx — Г (/г) = (/г — 1)!
б
(Встречаются также распределения (27) с дробными«.)’ Метод обратных функций приводит к явной формуле
для вычисления | <п) только в случае п= 1
£<і> = _ 1п Т. |
(28) |
*) Закону (27) подчиняются интервалы между событиями в
потоках Эрланга (см. гл. 6, п. 1.3.1).
72 |
ПРЕОБРАЗОВАНИЯ СЛУЧАЙНЫХ ВЕЛИЧИН |
ІГЛ. 2 |
||
Докажем, что при любом п значения |
можно вычис |
|||
лять по формуле |
|
|
|
|
|
= |
;.. Т„). |
|
(29) |
Д о к а з а т е л ь с т в о (по индукции). При п — 1 фор мула (29) превращается в уже доказанную формулу (28). Допустим, что плотность величины (29) выража ется формулой (27), и рассмотрим величину
| <п+1,= —ІП(^! ... 7„+і) = ! (п)+ £ п>.
По известному правилу композиции плотностей незави симых слагаемых
Р%{п+і) М |
- |
к |
|
* |
J |
Рп (X — t) рг (0 dt «= I Рп (х — i) e-'dt. |
|||
ь |
|
— со |
|
О |
Используем теперь индукционное допущение: |
||||
|
|
|
л* |
|
Рш+І) (х) - |
[(/I — 1)!]—1I (x— t)n-'e~*dl = |
|||
|
|
|
о |
|
|
|
|
|
= 1пЦ-'х"е-* = р,н і(х). |
П р и м е р |
[56, 118]. Часто при неупругом рассеянии нейтрона |
|||
ядрами энергия | |
рассеянного нейтрона представляет собой случай |
|||
ную величину с плотностью |
|
|||
|
р (Е) = (Е/Тг) e - W I , |
0 < Е < со |
||
(это так называемый |
«испарительный |
спектр»; параметр Т зависит |
от вида ядра н от энергии нейтрона перед столкновением). Используя
замену переменной Е = Тх и формулу (29) |
при п —2, получим для |
расчета энергии после рассеяния формулу |
|
5 = _ 7 І п ( Ѵі у*)- |
(30) |
4.3.Моделирование семейства биномиальных распр
делений. Рассмотрим случайную величину которая подчиняется биномиальному распределению с парамет ром р, т. е. при & = 0, 1, 2, . . . , п
Р = 6} = С ?У (1- /> ) '- * . |
(31) |
Это дискретная величина, и моделировать ее можно ме тодом п. 1,1.
Предположим теперь, что для расчета некоторой за дачи необходимо многократно моделировать распреде ление (31) с различными значениями р, получающимися
s |
-1] |
ПРЕОБРАЗОВАНИЯ ВИДА l - g ( y ,, . . „ y j |
TS |
б |
ходе расчета. Вместо того чтобы каждый раз вычислять |
||
все |
вероятности (31), можно использовать |
следующий |
алгоритм, который представляет собой алгоритм моде лирования п независимых испытаний (ср. п. 1.2.1): для каждого из чисел -уь • • • . Ч" проверяется неравенство у(< р. Если это неравенство оказалось выполненным k
раз, то [174].
Формулу, выражающую £ через "fі, . . . , ч*. можно записать в виде
8 = 2 е ІР - Уд-
і=I
4.4. Приближенное моделирование нормального (г уссовского) распределения. Рассмотрим нормирован ную^,) суяшу п независимых равдомерно.-ра&пределен- "иых величин:
С('° = г п і=і (2у£- 1 ) . |
(32) |
Согласно центральной предельной теореме при д->оо
Р{£(г,) < х } ^ (2л)-1'* I e -t'm . |
(33) |
<—ОЭ
Следовательно, по формуле (32) при достаточно боль ших п можно вычислять приближенные значения нор мальной случайной величины £ с параметрами (0; 1).
Асимптотика в формуле (33) устанавливается весь ма быстро (на рис. 28 изображены плотности £ и £(3>),
ипоэтому на практике можно ограничиться значением
п= 12:
£ ~ £ (12> = 2 |
(34) |
ь=і |
|
Иногда ограничиваются в (32) лишь пятью слагае мыми, но зато добавляют поправку, которая ускоряет сходимость распределения к нормальному:
£ж0,01£(5) [97+ (£<5))2] |
(35) |
|
*) Случайная величина г)0 называется нормированной, |
если |
|
Мі1о=0, Д ч о = 1 . Любую |
случайную величину г) с конечными Mr) и |
|
Di] можно нормировать: |
величина і р = ( т ] — Mt])/D t] нормирован*. |
7 4 |
ПРЕОБРАЗОВАНИЯ СЛУЧАЙНЫХ ВЕЛИЧИН |
,[ГЛ. 2 |
Последние две формулы нередко оказываются удобнее, чем (19), так как расчет по ним возможен без обраще ния к подпрограммам In и sin.
О поправках, ускоряющих сходимость, см. [4]. В [-17] имеется пример, при расчете которого пришлось использовать п = 30.
§5. Методы отбора
5.1.Общая характеристика методов отбора. Предп
ложим, что в т-мерном пространстве переменных
Уи . . . , ут заданы случайная точка Q/= ( r )1........... т|,„)
с функцией распределения FQ,(yi........... ут) п некоторая область В'. Рассмотрим одномерную случайную величи ну I, определенную формулой
1=ф(<2') при Q'(=B'. |
(36) |
|
Для расчета по этой формуле можно |
выбрать |
случай |
ную точку Q' в пространстве; если |
Q 'e ß ', то |
вычис |
ляется £=tp(Q '); если Q'&B', то точка Q' отбрасывает ся и выбирается новая. Таким образом, при расчете по формуле (36) из случайных точек Q' с функцией распре деления Fq, о т б и р а ю т точки, принадлежащие В', и по ним вычисляют |. Мы будем говорить, что формула (36) определяет метод отбора для моделирования § (в лите ратуре встречается также термин «метод отказов», бо лее соответствующий английскому выражению rejection technique).
Эффективностью метода отбора называют вероят ность отбора или, более подробно, вероятность того, что
S в] |
МЕТОДЫ |
ОТБОРА |
7 5 |
точка |
Q' будет использована |
для расчета' |, |
а не будет |
отброшена. Очевидно, эффективность метода (36) рав на вероятности
a= P{Q'^B'}. |
(37) |
Выбрав N точек Q', мы получим в среднем всего |
aN |
значений |. Следовательно, на расчет каждого значения 1 затрачивается в среднем 1/э точек Q'. Ясно, что при малых а метод (36) становится практически неэффек тивным.
Если на реализацию каждой точки Q' затрачивается п случайных чисел уи . . . , у„, где, очевидно, п ^ т , то в среднем на одно значение | затрачивается п/э случай ных чисел. В вычислительной практике (при моделиро вании одномерных величин |) чаще всего встречается случай т = 2 и іі = т.
5.2.Моделирование усеченных распределений. Рас
смотрим случайную величину г), определенную в интер- I)
вале a<Zx<.b |
с плотностью р(х) (так |
что J* /7 (x)dx = 1). |
Говорят, что , |
случайная величина |
a |
% имеет усечен |
ное распределение р,[х), если опа определена в интерва ле (а', b')cz(a, b) и плотность ее пропорциональна р(х). Очевидно,
|
гь* |
“1-1 |
|
|
Рі (х) = р (х) |
j р (х) сіх |
р (*): |
|
|
см. рис. 29, где а = а '= О, Ь = со. |
|
|
||
Если мы умеем вычислять |
значения т], то значения |
|||
I можно находить методом отбора: |
|
|
||
| = г), |
если |
rj^(a',b'). |
(38) |
|
Эффективность такого метода равна |
|
|
||
|
Ь’ |
|
|
|
а = |
[ р(х) dx. ' |
|
|
|
|
a’ |
|
|
|
5.3. Метод Неймана [163]. Этот метод очень част используется на практике. Иногда все методы отбора называют методом Неймана.
7G |
П Р Е О Б Р А З О В А Н И Я С Л У Ч А Й Н Ы Х В Е Л И Ч И Н |
[ГЛ . 3 |
Рассмотрим случайную величину §, определенную на
•конечном интервале а<х<.Ь с ограниченной плотностью
р(х) ^ с (рис. 30).
Т е о р е м а 6. Пусть |
уі |
и j 2 — независимые |
случай- |
||||
ные числа и l ' — a-j-y^b—a), r|' = C"f2. |
Случайная |
вели |
|||||
чина |
определенная условием |
|
|
|
|||
|
1= |
1', если |
ц '< р {\'), |
|
|
(39)' |
|
имеет плотность вероятностей, равную р{х). |
что |
точ |
|||||
Д о к а з а т е л ь с т в о . |
Во-первых, заметим, |
||||||
ка (£', |
г|') равномерно |
распределена |
в прямоугольнике |
||||
а < х < Ь , 0< г /< с |
(см. |
п. 2.1). Далее |
вычислим услов-. |
||||
ную вероятность: |
|
|
|
|
|
|
P {5< z} = P { r < z h ' < p ( £ ' ) } = |
в {Ѵ<г. r\'<p(l')) |
|
Р W < РК')} |
||
|
Знаменатель последнего выражения — это вероятность по падания точки (!', т]') под кривую у — р(х). Так как плот-,
ность точки (g', г)7) |
постоянна и равна [с(Ь—а )] - 1, то |
ь |
pW |
Р Ы < Р (S')} = J dx j [с(b—a)]-' dy = {c(b — а))-1. |
|
а |
О |
Числитель равен вероятности того, что точка (£', г)') ока жется под кривой и в то же время £'< z \
Р { & ' < * , 7 ) ' < р ( Г ) } =
§ 51 МЕТОДЫ ОТБОРА
Таким образом, получаем, что
7
Р {£ < 2} = J р (х) dx,
а
а это как раз и треоовалось доказать. ѵ ' Эффективность метода (39), согласно (37), равна ве
роятности попадания точки (%', rj') |
под кривую у — р(х), |
т. е. э = Р{ц'<_р (%')}. Последняя |
вероятность уже вы |
числялась в ходе доказательства теоремы. Значит,
э— [с(Ь—а )]-1;
эффективность метода Неймана будет наибольшей, если выбрать наименьшее возможное с, т. е. положить с— = sup р (X). Впрочем, это очевидно также из геометри-
а < х < Ь
ческих соображений.
П р и м е р . Случайная величина і; определена при —R < x < R
с плотностью р(х) = 2 ( л R2)~1' V R'1 — х1-
Согласно теореме 6 нужно выбрать два значения дм и Ѵг и вы
числить |
l'= R (2 \t — 1) |
и |
т], = |
2(яУ?)_1у2; если |
выгодно |
то &=£'. |
|||||||||
Однако |
условие |
т )'< р (|') |
|
в данном |
примере |
преобразо |
|||||||||
вать: оно равносильно условию |
у2< У і — ( 2yj — І)2-После дальней |
||||||||||||||
ших упрощений окончательно запишем: |
|
|
|
|
|||||||||||
|
|
|
Е = Я ( 2 уі — 1), |
если |
(2у, — 1)2< |
1 — у\. |
|
||||||||
Эффективность |
этого |
метода |
э = |
іх/4. |
По |
сравнению с |
формулой |
||||||||
£ = /?Ууі cos 2лу2, |
полученной |
в |
|
|
|
|
|
||||||||
п. 3.2.1, формула метода отбора про |
|
|
|
|
|
||||||||||
ще: не надо извлекать корень и вы |
|
|
|
|
|
||||||||||
числять косинус. |
|
обобщениях |
|
|
|
|
|
||||||||
5.4. |
О |
некоторых |
|
|
|
|
|
||||||||
метода Неймана. Во многих ра |
|
|
|
|
|
||||||||||
ботах рассмотрены самые разнооб |
|
|
|
|
|
||||||||||
разные обобщения метода |
|
п. |
5.3. |
|
|
|
|
|
|||||||
(например, |
[73, |
109, |
ПО]). |
Боль |
|
|
|
|
|
||||||
шинство обобщений, относящихся к |
|
|
|
|
|
||||||||||
моделированию одномерной случай1 |
|
|
|
|
|||||||||||
ной величины £, могут быть полу |
|
|
|
|
|
||||||||||
чены |
из |
нижеследующих |
формул |
|
|
|
|
|
|||||||
( 4 0 ) - ( 4 1 ) . |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Предположим, что нас интере |
|
|
|
|
|
||||||||||
сует |
случайная |
величина |
|
опре |
|
|
|
|
|
||||||
деленная в |
интервале |
а < х < Ь . |
|
|
|
|
|
||||||||
Рассмотрим случайную точку Q' — |
|
|
|
|
|
||||||||||
= (!', Г|0 с плотностью р(х, у) в |
кривую |
y = f(x), заданную при |
|||||||||||||
полосе а < х < Ь , — с о < і / < о о , |
и |
||||||||||||||
a < x < ö |
(рис. |
31). Определим метод отбора: |
|
|
|||||||||||
|
|
|
|
|
|
1= 1’, |
если |
V < /(£ ')• |
|
(40) |