![](/user_photo/_userpic.png)
книги из ГПНТБ / Соболь И.М. Численные методы Монте-Карло
.pdf208 |
РЕШЕНИЕ ЛПНЕПНЫХ УРАВНЕНИИ |
(ГЛ 5 |
б) Пусть |
две траектории типа T v (Q0—>. . . —* Qv) м |
(q 0 |
• • •-* Qv') строятся по законам p(Q„), Р (Q i-j. Qt)> а (Qi) |
и p' (Qq), |
|
p'iQ'i -vQ'i) . |
a'{Q’>) соответственно. Определим случайную величину |
т|ѵѵ-, зависящую от пары таких траектории:
* (Qq' во) r
1 W “ P (Q„) p ' (Qo) |
v «(Qv) V' « K - ) ' |
Доказать, что если выполнены условия теоремы 4, то
Мг| = МТІѴѴ, = (Я*, г ).
2.Доказать, что если плотности р(Р) и р(Р, Р'), по котор
строятся траектории Г удов л етв ор я ю т условиям
f [ф (Р) f (Р) Р~ Х(Р)Г“ р (Р) dP < к»
G
II
J [к (Р. P') / |
(P') р 1(Р, Р') Г 1 (Я)]2 р (Р, |
P') dP' < q < 1 |
а |
|
|
(при любом P e G ), то дисперсия D£[\|;] < о о . |
|
|
У к а з а н п е. |
Воспользоваться неравенством |
(44). |
3.Предположим, что функции
Г-(Р) |
ГҢР) |
КНР . Р') |
Ф0 W = Р(Р) |
/о(Р) = <<(Р) K D (P. |
- S (Р)Р(Р, P') |
принадлежат соответственно L2(G). L2(G), L2(GyG), н ряд Нейма
на для решения zD уравнения |
zo = KDzD -r f D сходится. Дока |
зать, что дисперсия оценки (39) конечна п равна |
|
DÜ v 1Ф1 = ( ’I’d |
. г 0 ) — ( ф , г ) 2 |
(В. Г. Золотухин, С. М. Ермаков [36]).
4.Интегральное уравнение
3 |
' І т -V |
г (x') dx' + 45.V - |
г (.ѵ) = 20 |
V* |
|
|
|
имеет решение z = 50л\
а) Доказать, что последовательные приближения (26) сходятся, если только интеграл /Сср(х) конечен.
б) ПустьД,, . . . , Д ; — заданные интервалы, расположенные внутри [0, 1], в требуется вычислить методом Монте-Карло п. 2.2
|
|
|
|
УПРЛЖМШПІЯ к ГЛ. 5 |
|
|
|
|
|
209 |
|||||
числа |
|
|
h k = J |
t {i)[x)dx, |
k = |
|
|
|
|
|
|
|
|||
|
|
|
1 ,2 _____ |
|
|
|
|
||||||||
|
|
|
bk |
|
|
|
|
|
|
|
|
|
|
|
|
в случае, когда начальное приближение |
г(0) (х) == 1. |
Выписать |
все |
||||||||||||
расчетные формулы, если начальная плотность р(х) = |
1, |
а плотность |
|||||||||||||
вероятностен перехода |
из |
х в х' |
пропорциональна (х + |
х')/Ух'- |
|
||||||||||
5. Доказать, что в условиях |
п. 3.2 (расчет по истинным траек |
||||||||||||||
ториям) |
можно для оценки (ф, |
г) вместо случайной |
величины |
|
|||||||||||
|
|
|
Сѵ [/] |
= [/ Ы / р |
|
(Qo)j М> ( Q v ) / a |
(Qv)I- |
|
|
|
|||||
называемой |
оценкой по поглощениям, |
использовать |
случайную вели- |
||||||||||||
|
|
|
|
|
V |
|
|
|
|
|
|
|
|
|
|
чину |
х* |
[/] |
= [/■ (Q0)!p (Qo)J 2 |
'l’ (Q/)i |
называемую |
оценкой |
по |
||||||||
столкновениям. |
|
і =о |
|
|
|
|
|
|
|
|
|
||||
У к а з а н и с. Получив выражение |
|
|
|
|
|
|
|
|
|||||||
Мнѵ* = |
2 |
J . . . J / ( P 0) 2 |
' П р і) |
П |
K„ (PS_ U Ps)a (P i)dP0... d P c, |
||||||||||
|
i= 0 |
|
j = 0 |
|
|
s = l |
|
|
|
|
|
|
|
|
|
использовать тождество а (P (.) = 1 — j |
/Сст ( |
P |
d |
P |
|
c_^x. |
|
||||||||
6. |
Рассмотрим квадратную |
матрицу В = |
(&а р ), 1 < а , ß ^ m , |
все |
|||||||||||
собственные значения |
ра |
которой удовлетворяют условию |
|
||||||||||||
|
|
|
|
|Мсь — Л| < |
Л- |
Л> ° - |
|
|
|
|
(79) |
Построить метод Монте-Карло для обращения матрицы В при по
мощи |
итераций |
матрицы А = Е — /;_| В. (Если |
все |
собственные зна |
|||||
чения |
Р і , . . . , |
рш • матрицы |
В действительны |
и |
положительны, то |
||||
условие (79) всегда выполнено при/і = |
іпах (щ ; |
. . . ; рш)- ) |
|||||||
7. |
В области G = { 0 ^ x ^ l , |
/^ 0 } |
рассмотрим дифференциаль |
||||||
ное уравнение теплопроводности |
|
|
|
|
|
||||
|
|
duldt = d2u/dx--\-F(x, t). |
|
|
|||||
Требуется найти решение и= и(х, |
/) |
этого уравнения, удовлетворяю |
|||||||
щее граничным условиям |
|
|
|
|
|
|
|
||
|
«(*, |
0) = г м , |
и(о, і)=8о((). и(і . 0 = е , ( 0 . |
||||||
Выберем прямоугольную сетку с шагом h по х и А/ по t. Коор |
|||||||||
динаты узлов этой сетки Xj = |
jli, |
t |
= |
lA t , а значения и (xj, / J и |
|||||
/•' (xj, |
обозначим uj j |
и |
F ,■x- |
Во |
всех внутренних узлах заме |
||||
ним дифференциальное уравнение разностным |
|
|
иі,і - |
иіЛ-\ |
ц/+і, г-i ~ 2Ѵ - і + “/—I. i-i |
, |
||
|
At |
— |
|
h1 |
1* |
которое, введя |
параметр х = Д tpi2, |
можно переписать |
в форме |
||
U j l = |
j c b / + 1 > i _ j |
+ ( 1 - 2 к ) |
+ ш { _ 1 > £ _ , + |
|
Условие устойчивости этого уравнения кг?: 1/2.
Определить случайную цепь, аналогичную цепи из п. 5.5, для рас чета tij I методом Монте-Карло.
14 И. М. Соболь
Г Л А В А 6
МОДЕЛИРОВАНИЕ ЕСТЕСТВЕННЫХ ПРОЦЕССОВ
Рассмотрим какой-нибудь естественный процесс, на протекание которого влияют различные случайные фак торы. Законы распределения этих факторов будем
считать |
известными: |
иногда эти |
законы можно |
вы |
числить |
теоретически, |
чаще — экспериментально. |
Так |
|
как мы |
умеем находить значения |
случайных величии |
||
с любыми законами распределения |
(гл. 1 и 2)., то, разыг |
рав конкретные значения случайных факторов, мы смо жем рассчитать конкретную случайную реализа цию процесса. Такой расчет называют имитацией (si mulation).
Большинство приложений метода Монте-Карло свя зано именно с имитацией. Технические приемы имита ции в различных областях науки, техники, экономики подробно рассматриваются в специальных книгах. Поэ тому мы ограничимся лишь очень кратким изложением нескольких простых примеров ( § 1).
С точки зрения математики гораздо интереснее то, что для многих задач можно построить более выгодные алгоритмы расчета, если отказаться от имитации есте ственного процесса и воспользоваться некоторыми искус ственными моделями.
Именно таким способам расчета — моделированию с использованием статистических весов — посвящена на стоящая глава. Основная область применения этих мето дов (пока) — нейтронная физика. Однако материалы конференции [55] показывают, что такие методы начина ют проникать и в другие области,
§ И |
МОДЕЛИРОВАНИЕ ПУТЕМ ИМИТАЦИИ |
211 |
§1. Моделирование путем имитации
1.1.Задача о поглощении нейтронов. Рассмотри
ограниченную выпуклую (для простоты) область Go в пространстве, не содержащую делящихся ядер. Счита ем известными сечения рассеяния и поглощения 2(/\ Е) = = 2»(г, Е) +2о(/\ Е) и индикатрису рассеяния р,{г\ Й';Й), которая представляет собой условную плотность распре деления направлений рассеяния £2. В точке r0e G 0 распо ложен источник нейтронов с энергией Е0 и с равноверо ятными направлениями Йо начальной скорости. Требует ся вычислить вероятность рА того, что нейтрон, вылетев ший из источника, поглотился в области Gq.
Задача рассматривается в одногрупповом приближе-. ним, так что энергия нейтрона Е0 при рассеянии не ме няется.
Возможностью возвращения вылетевшего нейтрона обратно в Go пренебрегаем. Последнее условие означает, что нейтрон, вылетевший из Со, перестает нас интересо вать. Поэтому можно внешнюю среду заменить любой
поглощающей средой |
с сечением |
Б = Б а^ е о > 0. |
|
Рассмотрим какой-нибудь нейтрон, порожденный |
|||
источником. Выберем |
случайное |
направление Йо его |
|
скорости (методом гл. |
2, |
п. 2. 4. |
2). Затем разыграем |
для него случайную длину |
| 0 свободного пробега — как |
это делать указано ниже в § 2. Получим точку столкно вения нейтрона Гі= Го+ІоПо-
Если |
то мы считаем, что история |
нейтрона |
закончилась вылетом из области G0, и полагаем случай |
||
ную величину т)А= 0. |
(методом |
|
При n^G o |
разыгрываем судьбу нейтрона |
гл. 2, п. 1.2.2). Если нейтрон поглотился, то история его заканчивается и полагаем" г|л= 1■Если же нейтрон рас сеялся, то в соответствии с индикатрисой ps (n, По; й) разыгрываем новое направление скорости й = й ь затем новую длину свободного пробега |і, и вычисляем следу ющую точку столкновения г2 = гі+ èій і.
Расчет траектории продолжается до вылета нейтро на из области G0 или до его поглощения. (Можно дока зать, что при весьма общих условиях вероятность бес конечной последовательности рассеяний внутри Go рав на нулю.) Если история нейтрона заканчивается погло-
14*
2 1 2 |
МОДЕЛИРОВАНИЕ ЕСТЕСТВЕННЫХ ПРОЦЕССОВ |
[ГЛ. б |
|
щением, |
то полагаем т ] а = 1 , |
в противном случае полага-: |
|
ем т)А= 0 |
(рис. 55). |
вероятность рА —Р{т]л— !}• |
|
По определению искомая |
Так как распределение случайной величины т)д задается таблицей
(I |
0 |
\ |
\Ра |
1 — Ра)’ |
|
.то Мѵ|л=р,ѵ, Di}л=Рл — р2А |
■ Оценкой величины рл |
служит среднее |
арифметическое |
|
|
|||
|
|
|
|
N |
|
|
|
|
р а ^ ' |
Ѵ |
buh, |
|
(i) |
|
|
/V |
s=l |
|
|
|
где |
(г|л)5— значение т]л, полученное на |
s-ii |
траектории, |
|||
а |
/V — общее |
количество |
реализованных |
траекторий. |
||
Последнюю формулу можно записать также в виде |
||||||
|
|
pA^ N A/N, |
|
|
||
где |
Na — количество траекторий, закончившихся погло |
|||||
щением нейтрона. |
|
|
для |
расчета рл |
||
|
Изложенный |
метод Монте-Карло |
основан на имитации поведения нейтронов в среде. В ка ком-то смысле это самый естественный метод решения задачи. Однако это не лучший метод. Ниже, в § 3 указа ны несколько видоизменений этого метода, позволяющие строить случайные величины т] такие, что M r)=pA hDt] ^ ^ D t)a. При этом будет использована следующая лемма.
Ле мма . Если случайная величина ц, для которой [\/|ѵ|=рА, удовлетворяет неравенствам О ^ г і^ І , то D t]^
< D t)a-
Д о к а з а т е л ь с т в о . Так как Мц2^ М г )= р л, то
дисперсия Di] •--=Мч — Рл < Рл — Рл = Dt).4.
§ п |
МОДЕЛИРОВАНИЕ ПУТЕМ ИМИТАЦИИ |
213 |
1.2. |
Задача о размножении нейтронов. Предположим |
|
что область Go, рассмотренная в п. 1.1, содержит |
рас |
|
щепляющиеся вещества, так что полное сечение 2 = |
2,-К |
|
-f-20+E/, |
где Ес— сечение захвата, а 2/ — сечение |
деле |
ния. При |
захвате поглощенный нейтрон «исчезает», а |
при делении вместо поглощенного нейтрона появляются V новых нейтронов, называемых нейтронами деления. Распределение случайной величины ѵ задано *).
Снова ограничимся одногрупповым приближением и будем считать, что энергии всех нейтронов равны Е0\ рассеяние изотропно; распределение скоростей каждого из нейтронов деления также изотропно.
' Рассмотрим историю одного нейтрона, оказавшегося в области GoКаждое звено его траектории моделирует ся так же, как в п. 1.1: разыгрываются случайное на правление Qi, случайный пробег и «судьба» при столк новении в точке г<+і= /•(+£,□,• (гл. 2, п. 1.2.2). Если про изошло деление, то разыгрывается величина ѵ, и траек тория в точке гі+1 разветвляется на ѵ ветвей, каждая из которых моделируется независимо по тем же форму лам. Полученную ветвящуюся траекторию часто называ ют деревом. Схема такого дерева изображена на рис. 56.
*) Обычно, |
Если |
М ѵ=ѵ, заключено между т и т+1, то счита |
ют, что Р{ѵ = т |
+ 1 } = |
ш-|-1 — V, Р{ѵ = /н } = ѵ — т. |
214 МОДЕЛИРОВАНИЕ ЕСТЕСТВЕННЫХ ПРОЦЕССОВ [ГЛ. б
Область Gо называется критической, если количество нейтронов в этой области постоянно во времени. Наибо
лее распространенный |
метод расчета |
критичности — счет |
по поколениям [25, 51, |
53] — состоит в следующем. По |
|
местим в G0 некоторое количество П\ |
нейтронов, которые |
будем считать нейтронами 1-го поколения. Затем разы граем историю каждого из этих нейтронов до его «исчез новения» (т. е. до вылета из G0, до захвата или до по глощения с делением). При этом мы получим некоторое количество /г2 нейтронов деления, которые будем считать нейтронами второго поколения. После расчета достаточ но большого числа і поколений, отношения пі+і/пі устат навливаются, так как п<+1/п{^ь йофф. Величина A0<№
называется эффективным коэффициентом размножения нейтронов в G0. Если £эіМ,= 1, то область G0 критична. (При *афф<1 цепная реакция в G0 затухает, а при ^офф> 1 — приводит к взрыву.).
Очевидно, для расчета по поколениям строить ветвя щиеся траектории не нужно.
1.2.1. О т е х н и к е р а с ч е т а в е т в я щ и х с я |
т р а е к т о - |
р н и. Ветвящиеся траектории встречаются во многих |
задачах, свя |
занных с прохождением элементарных частиц, когда, например, фо
тон может привести к образованию |
пары электрон — позитрон |
пли |
к появлению свободного электрона |
(фотоэффект). При расчете |
де |
ревьев вовсе не обязательно сперва строить все дерево, а потом про изводить его обработку (т. е. отбор нужных данных и осуществле ние нужных вычислений). Укажем два основных алгоритма посте пенной обработки дерева.
а) О б р а б о т к а д е р е в а по п о к о л е н и я м . Этот способ удобен в тех задачах, в которых деревья длинные, но не слишком сильно ветвятся. Схема расчета достаточно очевидна: по частицам одного поколения вычисляем все частицы следующего поколения и одновременно производим обработку построенной Ласти дерева. За тем информацию о старом поколении можно уничтожить. Так что в памяти приходится хранить не более двух поколений.
Вообще говоря, к поколению можно отнести любые две частицы, не являющиеся «предками» друг друга (например, нейтроны, соеди
ненные пунктиром |
(/) на рис. 56). |
Тогда |
следующее |
поколение оп |
ределяется однозначно (пунктир (2)). |
; |
|
||
б) Л е к с и к о г р а ф и ч е с к а я |
о б р а б о т к а |
д е р е в а . Этот |
||
способ удобен в тех задачах, в которых деревья не |
очень длинные, |
|||
но сильно ветвятся. Схема расчета такова: движемся |
по одной (ка |
|||
кой-нибудь) ветви, |
производя обработку |
и записывая все ответвле |
ния. Достигнув конца ветви, возвращаемся на одно колено назад и начинаем двигаться по какому-нибудь из записанных ответвлений. Если записанных ответвлений нет, то возвращаемся еще на колено
§ I] |
МОДЕЛИРОВАНИЕ ПУТЕМ ИМИТАЦИИ |
215 |
Ііазад. Счет закончится тогда, когда мы возвратимся к основанию дерева.
Номера на рис. 56 указывают порядок одного из возможных лексикографических обходов изображенного дерева. Ясно, что при каждом возвращении на одно колено можно уничтожить информа цию об обработанной части. Поэтому в любой момент в памяти ЭВМ сохраняется лишь одна полная или неполная ветвь с записан ными ответвлениями.
^ /і.З . Системы массового обслуживания. Рассмотрим модель одной из простейших (однофазных) систем мас сового обслуживания. Такая система состоит из п линий
(или каналов, или пунктов обслуоісивания), каждая из которых может независимо «обслуживать» заявки. В лю бой момент времени линия может быть либо свободной, либо занятой.
Примерами таких систем могут служить автозапра вочная станция (линии — бензоколонки, заявки — приез
жающие машины), телефонная станция |
(линии — кана |
лы связи, заявки — вызовы абонентов), |
парикмахерская |
(линии — мастера, заявки — клиенты) и т. д.
В систему поступает случайный поток заявок, вероят ностные характеристики которого предполагаются изве стными. Если в момент поступления k-ii заявки, назовем его th, имеются свободные линии, то одна из них (прави ло выбора должно быть задано) принимает на себя обслуживание этой заявки. Продолжительность обслу живания заявки і-й линией представляет собой случай ную величину т, плотность распределения которой pt(t) также должна быть задана.
Предположим, что наша система представляет собой систему с отказами: если в момент tk все линии заняты, то система выдает отказ. (Такая модель годится для телефонной станции, но не подходит для автозаправоч ной станции или парикмахерской, которые ближе к так называемым системам с ожиданием). Важнейшая ха рактеристика системы с отказами — среднее число отка зов в заданном интервале времени. Конечно, число от казов зависит от поступающего потока заявок.
Аналитические методы позволяют рассчитывать систе мы массового обслуживания только в простейших случа ях. Во всех более сложных задачах приходится прибе гать к статистическому моделированию [7, 38, 43].
2 1 6 |
МОДЕЛИРОВАНИЕ ЕСТЕСТВЕННЫХ ПРОЦЕССОВ |
ГГЛ. 6 |
1.3.1. |
О п и с а н и е п о т о к а з а я в о к . Чаще |
других |
рассматривается стационарный пуассоновский поток, на зываемый также простейшим потоком, в котором интер валы между моментами поступления двух последователь ных заявок независимы и подчиняются экспоненциально му распределению: 4 = 4- і-ЬѲ> и функция распределения Ѳ равна
F(x) = 1—е~°х, 0<-ѵ-<оо. |
(2) |
Величина а=1/МѲ называется интенсивностью потока заявок.
Из более сложных стационарных потоков отметим только потоки Эрланга, в которых величины 0= 4— і также независимы, но подчиняются более общему гам- ма-распределеншо (см. гл. 2, п. 4.2) с плотностью
а"‘ |
0 < X < со. |
Р (*) = (ш _ -jyr |
Интенсивность такого потока равна 1/МѲ= а/т. Сравнительно редко используют нестационарные
пуассоновские потоки, в которых функция распределения 0= 4+і—4 зависит от 4 :
F (X) = 1 — ехр (— I' а (t й -j- s) ds], 0 < х < со. 'о
Нетрудно проверить, что F(x) в последнем случае имеет тот же вид, что функция распределения свободных пробе гов (см. ниже формулу (6)). Изложенный в п. 2.2.3 метод постоянного сечения позволяет легко моделиро вать такие нестационарные потоки, вводя фиктивные заявки.
1.3.2. А л г о р и т м р а с ч е т а с и с т е м ы с о т к а - з а м и. Рассмотрим конкретную систему с отказами, состоящую из п линии. Плотности pi(t) считаем извест ными. Правило выбора свободной линии сформулируем так: заявка поступает на линию, которая освободилась раньше всех, а если таких несколько, то на ту из них, номер которой меньше.
Пусть в рассматриваемую систему поступает простей ший поток заявок с интенсивностью а. Требуется оце нить среднее число отказов за время 4 ^ < 4оц.
§ ч |
МОДЕЛИРОВАНИЕ ПУТЕМ ИМИТАЦИИ |
217 |
Поставим в соответствие линии с номером і ячейку ЭВМ, в которую будем записывать момент освобожде ния этой линии Ті. В начальный момент, очевидно, Ті = = Т2= ... =T„ = t0. В отдельную ячейку будем записы
вать величину 7‘= m in 7\.
Ю ' < н
Момент поступления первой заявки разыграем по формуле
4 = 4 — (1/а) ln "fl.
Очевидно, первую заявку начнет обслуживать первая линия. Время обслуживания т найдем из уравнения
{ М (t) dt = |
у,. |
ü |
|
Линия номер 1 будет занята |
до момента (7’t)Honae= ' |
==4+т. Следовательно, в соответствующей первой линии
ячейке надо |
заменить |
Д |
на (Ті) повов и вычислить |
|
новое Т. |
|
|
|
(k— 1)-й заявки, |
Предположим теперь, что «судьбу» |
||||
поступившей |
в момент |
4 -ь |
мы уже |
выяснили. Тогда |
разыгрываем момент поступления k-n заявки
4= 4 - і — (1/а) ln Y2fc-i
ипроверяем, если ли свободные линии. Для этого доста точно проверить неравенство
T ^ tk. |
|
(ЗУ |
а) Если (3) выполнено, то линия, для которой Tt= T, |
||
приступает к обслуживанию /г-й заявки (если линий, |
для |
|
которых Ті= Т , несколько, то выбирается та из них, |
но |
|
мер которой меньше). Продолжительность |
обслужива |
|
ния т разыгрывается по формуле |
|
|
Т |
|
|
ІР ,(0 dt = yг*; |
|
|
затем вычисляется (7’,)аосов= 4 + т н новое |
значение Т. |
После этого можно перейти к рассмотрению следующей, (/г-(-1) -й заявки.
б) Если неравенство (3) невыполнено, то свободных линий в момент 4 нет и система должна выдать отказ,