Соболь И.М. Численные методы Монте-Карло (1973) (1186217), страница 12
Текст из файла (страница 12)
Иннин словами, сперва найдем ц из уравяения гп(т)) =у!, а затем в — из уравнения Уй(Дт)) уз. В тех случаях, когда последние уравнения реша!отса проще, чем уравнение (4) метода обратных функций, такой алгоритм может оказаться выгодным. Вообще жс метод интегральной суперпозицни используется сравнительно редко, главным образ >м тогда, когда плотность рй(х) задана в форме интеграла чо параметру. П р и м е р (110].
Плотность случайной величины $ при 0(х( о !ц опорционьзьна интегральной показательной фунвцни л-го порядка (л.. О) р„(х) = и )е у "е "а1у. ! Тем самым мы получили новое доказательство теоремы 52 Функцию у(у) можно сделать непрерывной, если использовать при нечетных й уравнение га($)=0, а при четных й — уравнение РРь ($) = 1-О. Заметим, наконец, что, в отличие от обычного метода суперпознцин, модифицированный метод не может быть так просто обобщен на случай многомерной случайной величины й. 3.4. Метод интегральной суперпозиция.
Рассмотрим непрерывную случайпуго тачку 1,! с декартовыми координатами $ и !) на плос. коста х, у. Если плотность Ге равна р(х, у), то плотность с равна 68 ПРЕОБРАЗОВАНИЯ СЛУЧАЙНЫХ ВЕЛИЧИ!! !ГЛ 2 Так как здесь р(х, у) = пу че "", то р,(у)= ) р(х,у)йх=лу " ! прп 1<у<а»; о рй (х(у) = р (х, у)/рч (у) = уе при О < х < ч».
Соответствующие функиии распределения равны »ч (у) = 1 — у ", гй(х)у) = 1 — е»а. Иэ уравнения ГЧ (Ч) =! — у, найдем »1=(у!) — !Iч.а из уравнения Гй(1)Ч) =1 — у» найдем $= — и '1пу». Итак, а = — (у) М 1и та. 3 а м еч а и не. Общий метод суперлозиции может быть описан одной формулой Рй(х) ~ ~ Рй(х)У) й~ п(У).
0» Именно в таком виде он был сформулирован Дж. Батлером (сошро. Мпоп шеи»ой). Если случайная величина Ч дискретна, то получаем метод п. 3.3, а если и непрерывна — метод внтегральной суперпози. пии. Однако в приложениях гораздо большую роль играет дискрегный случай. З.б. Некоторые приложения метода суперпозиции. 351. Поправки к приближенным распред е л е н и я и. Предположим, что плотность р (х) случайной величины $ аппроксимнруется снизу достаточно про. стой линией у(х), как это изображено на рис.
26. Очевидно, в качестве приближения к р(х) можно выбрать ПЛОТНОСТЬ р,(х) =у(х)/сг, ь где с!=) у(х)с(х, н находить приближенные значения а й по плотности р,(х). Можно, однако, представить р(х) в форме суперпозиции двух плотностей р! (х) =у(х))с! и ра(х) = (р(х) — у(х) 1/сз, и получить таким образом метод для точного моделирования й. Алгоритм расчета й по плотности рз(х) можа~ оказаться весьма сложным; но на времени счета зто ПРГОНРАЗОВАНИЯ ВИЛА й Н(тч тз! почти не скажется, ибо рз(х) будет использоваться очень редко: Р(т)=2) =с,= ! — с,«сь Итак, метод суперпознцпи дает возможность учесть <поправку» рз(х), практически не увеличивая времени счета, а лишь ценою усложнения программы (впрочем, обычно зто весьма нежелательно), (Дж.
Марсалья (155] ). ЗЛ2. Дробление области определен и я сл учайной величины. Этот прием иногда используют при моделировании случайной величины, плотность которой резко различна в различных областях. л Ь х лг "г с)з Рис. 2б. Рис. 27. Пусть р(х) — плотность случайной величины $, определенной в интервале о<х(Ь.
Разобьем зтот интервал на сумму непересекающихся интервалов Ль, так что (а, Ь) Л,+...+Ь,„(рис. 27) и вероятности попадания $ в Ла полонгительны: са = с р(т)г(х )О. аь Введен в рассмотрение плотности р (х)/сь при х~аа, ра (х) = О при хфае. Очевидно, с~+...+ с„, ! и при всех х из (а, Ь) р(х) = с,р, (х) + ... + с р„,(х). Согласно теореме б, для того чтобы найти значение й, можно сперва по числу у, разыграть номер области ч=й, а затем вычислить й из уравнения 6 ~ р (х) г(х = сьу„ 'а где ав — левый конец аа.
ПРЕОБРАЗОВАНИЯ СЛУЧАИНЫХ ВЕЛИЧИН (гл. т то Легко проверить, что с точки зрения количества вычислений этот метод хуже, чем метод обратных функций. В самом деле, уравнение (4) для нахождения $ $ ) р(х) г(к= у а можно решать следующим образом; сперва найдем номер й такой, что А-1 а с)<т<~ с;; (22) 1=1 / 1 тогда зто уравнение превратится в уравнение а — 1 ) р (х) г(х = у — ~яр~ с(, а а 1=! (23) решая которое и найдем $. Уравнение (23) проще, чем (21), и совпадает с уравнением модифицированного метода суперпознции для рассматриваемой задачи. Положение может резко измениться в пользу метода дробления области, если вместо (21) использовать для моделирования й с плотностью рв(х), в бв какой-нибудь другой способ.
Правда, тогда на получение одного значения й будет аатрачиваться больше двух случайных чисел. Метод дробления области применим также для моделирования многомерных случайных величин (19). й 4. Преобразования вида ф=а(уг,..., у.) Мы ограничимся несколькими весьма разнообразными примерами преобразований указанного вида. Во всех формулах уг,..., у„— независимые случайные числа. 4.1.
Извлечение корней из случайных чисел. Докажем, что значение случайной величины $, определенной при 0<х<1 с функцией распределения г" (х) =х", можно вычислять по формуле 3=!пах(11.... 1 т„). (24) Заметим сперва, что функция распределения случайной величины $=й(уг,..., т„) равна г" (х) тогда и только тогда, когда я(у„ ..., у.) удовлетворяет ураьнению ! 1 1 е (х — д (у„..., уп)) г(уь... г(у„= Г (х), (25) % 41 приоирязоВАния ВИЛА 1 егтч ° ° ° тл) 71 вполне аналогичному уравнению (8).
Затем рассмотрим величину $, определенную уравнением (24). Так как гпах (уб ..., у„) (х в том н только в том случае, когда одновременно у~(х,..., у„<х, то ! ! «к ) е (х — гпах у;) с(у,... йу„= ) ... ) с(у, ... с(у„= х", о о ~мгмл что н требовалось доказать. Если эту же случайную величину $ моделировать ме- тодом обратных функций, то, очевидно, $ = у~у. (26) Сравнивая формулы (26) и (24), приходим к выводу, что в любом алгоритме можно заменить извлечение кор-.
ня из случайного числа взятием наибольшего из не- скольких независимых случайных чисел. На ранних этапах развития ЭВМ формула (24) часто использо- валась даже при л=2, таи иан извлечение корня осуществлялось цо весьма громоздкой подпрограмме. Например, на вычисление )ту на ЭВМ «Стрелаъ затрачивалось 3+24=27 операций (3 операции — на расчет у), а на вычисление глах (уп уз) — всего 3+3+2 3 операций. Обобщение формулы (24) приведено в упражнении 9 гл. 2.
4.2. Моделирование гамма-распределения. Во многих задачах встречаются величины $ы', определенные при 0<х<оо с плотностью вероятностей р„(х) = 1(п — 1) Ц-'х"-'е-*, (27) где п)1 — целое число. Закон (27) называется гамма- распределением "), так как сч ~ х" — 'г — *йх = Р (и) = (и — 1)1 о (Встречаются также распределения (27) с дробнымип,)' Метод обратных функций приводит к явной формуле для вычисления $" только в случае п=1 $ и= — 1пу. *) Заиоиу 127) подчиняются интервалы между событиями в логанах Зрлолга (см.
гл. 6, п. 1.3.1). 22 ПРЕОБРАЗОВАНИЯ СЛУЧАИНЬ[Х ВЕЛИЧИН [ГЛ Я Докажем, что при любом п значения й["> л[ожно вычислять по формуле $["[= — )п(у[ ... 7»). (29) Доказательство (по индукции). При и=! формула (29) превращается в уже доказанную формулу (28). Допустим, что плотность величины (29) выражается формулой (27), и рассмотрим величину $[»+н= — !п(т ч ) =~[»[-[-$И[ Г1о известному правилу композиции плотностей незави- симых слагаемых р [и+[)(х) * ) р„(х — г) р,(Г)с((= ) р„(х — Г) е с(г.
е» о Используем теперь индукционное допущение: к р [„фц(х) [(и — 1)![-[] (х — ()в — [е-кй= о = [и!] 'х'е "= р„з.[(х). Пример [56, ! [8]. Часто прн неупругом рассеянии нейтрона ядрами энергия $ рассеянного нейтрона представляет собой случайную величину с плотностью р(Е) =(е)тз)«[ тг[, О < е < (это так называемый «испарительный спектр»; параметр Т зависит от вида ядра и от энергии нейтрона перед столкновением). р[спольэуя замену переменной б Тк и формулу (29) при л=2, получим для расчета энергии после рассеяния формулу й= — Т[и(у, у,). 4.3.
Моделирование семейства биномиальных распре- . делений. Рассмотрим случайную величину $, которая подчиняется биномиальному распределению с параметром р, т. е, при Й=О, 1, 2,..., и Р [9 = )е) = С,р'(1 — р)" (31) Это дискретная величина, и моделировать ее можно методом и. 1.!. Предположим теперь, что для расчета некоторой задачи необходимо многократно моделировать распределение (31) с различными значениями р, получающимися $41 ПРИОБРАЗОВАНИЯ ВИДА ч ЛОЫ ° ° ~ ти1 та в ходе расчета.
Вместо того чтобы каждый раз вычислять все вероятности (31), можно использовать следующий алгоритм, который представляет собой алгоритм моделирования и независимых испытаний (ср. п. 1.2.1): для каждого из чисел 7ь .-., 7„пРовеРЯетсЯ неРавенство 7,(р. Если это неравенство оказалось выполненным й раз, то $=й [174). Формулу, выражающую $ через 71,..., 7„, можно записать в виде л $ = ~ е(р — 7~). г л )/ — Д (27; — 1).