Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Соболь И.М. Численные методы Монте-Карло

.pdf
Скачиваний:
24
Добавлен:
24.10.2023
Размер:
9.56 Mб
Скачать

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)

Соседние файлы в папке книги из ГПНТБ