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

МИФИ_Вычметоды КФ

.pdf
Скачиваний:
0
Добавлен:
13.02.2026
Размер:
9.98 Mб
Скачать

11.1.3. Почти линейная плотность распределения

Пусть требуется получить случайную величину с плотностью распределения f(x) , удовлетворяющей следующему условию:

f(x) = 0, если x < s или x > s + h;

a − b(x − s)

≤ f(x) ≤ b − b(x − s)

, если s ≤ x ≤ s + h. (11.38)

h

h

 

Плотность распределения (11.38) называется почти линейной, условию (11.38) удовлетворяет целый класс монотонных функций,

заключенных

в области между прямыми y = a − b

x − s

и

h

 

 

 

 

y = b − b

x − s

(рис. 11.9).

 

h

 

 

 

 

 

Рис. 11.9. Функция f(x) описывает почти линейную плотность распределения случайной величины

Следующий алгоритм позволяет получить случайные величины с почти линейной плотностью распределения:

1) генерируются два случайных числа R1 и R2 , равномерно распределенные на (0,1), при этом R1 ≤ R2 (если это не так, то R1 и R2 меняются местами);

301

 

 

a

 

 

 

 

 

2)

если R2

b , то переходим к пункту 4;

3)

если R2

> R1

+

f(s + hR1)

 

, то возвращаемся к пункту 1;

 

b

 

 

 

 

 

 

4)

если R2

≤ R1

+

f(s + hR1)

, то рассчитывается число ξ = s + hR1 ,

b

 

 

 

 

 

 

которое будет распределено с почти линейной плотностью.

Блок-схема алгоритма показана на рис. 11.10.

Рис. 11.10. Блок-схема алгоритма получения случайных чисел с почти линейной плотностью распределения

Прежде всего, заметим, что пункт 2 в алгоритме позволяет существенно увеличить скорость всего алгоритма, так как число a/b рассчитывается на компьютере намного быстрее, чем сложная

функция y(R1 ) = R1

+

f(s + hR1 )

, а разница между этими

b

 

 

 

значениями, как правило, невелика (рис. 11.11).

302

Докажем справедливость алгоритма.

При переходе к шагу 4 алгоритма имеем, что точка с координатами (R1 ,R2 ) – это случайная точка в закрашенной области на

рис. 11.11, при этом

 

 

 

 

 

 

 

 

1

 

0 ≤ R1

≤ R2 ≤ R1 + b f(s + hR1) ,

а из условия (11.38) имеем

 

 

 

 

a

(x − s)

+

f(x)

≤ 1,

b

h

b

 

 

 

или, учитывая, что

 

 

 

 

 

 

 

x = s + hR1 ,

 

получаем

 

 

 

 

 

a

≤ R1 + f(s + hR1) ≤ 1 .

b

 

 

 

 

 

(11.39)

(11.40)

(11.41)

(11.42)

Вероятность того, что ξ ≤ s + hR1 при 0 ≤ R1 ≤ 1 , равна отношению

площади слева от вертикальной линии ко всей закрашенной площади, т.е.

 

 

 

 

x

 

 

P{ξ ≤ s + hR

 

} =

b−1f(s + hR1 )dR1

 

1

0

 

=

 

 

 

 

 

1

 

 

 

 

 

 

b−1f(s + hR1 )dR1

(11.43)

 

 

 

0

 

 

 

 

 

 

 

s+hx

 

 

 

 

 

 

 

f(u)du

s+hx

 

=

s

 

 

 

= A

f(u)du,

 

s+h

 

 

 

 

f(u)du

s

 

s

 

где А – константа, соответствующей нормировкой можно добиться, чтобы A = 1 .

Из (11.43) следует, что случайная величина ξ имеет почти линейную плотность распределения (11.38).

303

Рис. 11.11. Все точки (x,y), попадающие в закрашенную область, имеют почти

 

 

 

 

 

линейную плотность распределения

 

 

На рис. 11.12 показан пример генерации случайных величин с

почти линейным законом распределения, определяемым функцией

распределения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

−x2

−x4

 

−3

) /0.488, если 0.8 ≤ x < 1.192;

 

 

 

 

 

 

 

 

− π

 

(11.44)

 

 

 

f(x) = (e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0, если 1.192 ≤ x ≤ 1.25.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

6000

 

 

 

 

 

 

 

 

 

 

 

 

 

N(x)

4000

 

 

 

 

 

 

 

 

 

 

 

 

 

2000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

 

6000

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N(x)

4000

 

 

 

 

 

 

 

 

 

 

 

 

 

2000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0.85

 

0.9

 

0.95

 

1

 

1.05

1.1

1.15

1.2

1.25

 

 

0.8

 

 

 

 

 

 

10

 

 

 

 

 

 

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(x)

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0.85

 

0.9

 

0.95

 

1

 

1.05

1.1

1.15

1.2

1.25

 

 

0.8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

Рис. 11.12. Случайные величины, имеющие почти линейный закон распределения

Функция распределения f(x) показана в окне c, в окне a дана

исходная гистограмма равномерно распределенных случайных величин, в окне b – гистограмма случайных величин с почти

304

линейной плотностью распределения, полученных при помощи алгоритма на рис. 11.10.

11.1.4.Двумерные распределения

Вэтом разделе мы кратко коснемся вопросов, связанных с

двумерными распределениями.

Совокупность двух случайных величин (X,Y) рассматриваемых совместно называется системой случайных величин. Система двух случайных величин (X,Y) геометрически интерпретируется как случайная точка с этими координатами на плоскости xy.

Функцией распределения F(x,y) системы двух случайных величин (X,Y) называется вероятность совместного выполнения двух неравенств X < x , Y < y :

F(x,y) = P{(X < x) I (Y < y) }.

(11.45)

Геометрически F(x,y) интерпретируется как вероятность попадания случайной точки (X,Y) в закрашенную область на рис. 11.13, ограниченную снизу и слева только областью определения случайных величин X и Y.

Плотность распределения системы двух случайных величин находится как

f(x,y) =

2F(x,y) .

(11.46)

 

x y

 

Функция распределения системы случайных величин, связанных функциональной зависимостью z=g(X,Y), определяется формулой

G(z) = ∫∫f(x,y)dx dy ,

(11.47)

D(z)

где D(z) – область на плоскости xy, для которой g(x,y)<z.

305

Рис. 11.13. Геометрическая интерпретация функции распределения системы двух случайных величин. D(X,Y) – область определения случайных величин X и Y

Рассмотрим конкретный пример. Пусть необходимо получить систему случайных величин x и y с плотностью распределения

f(x,y) ~ ex−y ,

(11.48)

причем

 

0 ≤ x < y ≤ 1 .

(11.49)

Поступим следующим образом. Сгенерируем сначала случайную величину y − x . Имеем функциональную зависимость

z = y − x ,

(11.50)

и область D(z) определяется условием

 

D(z) : y − x < z .

(11.51)

На плоскости xy в единичном квадрате область D(z) ограничена снизу прямой y=x, а сверху – прямой y=x+z (рис. 11.14). Функция распределения случайной величины z имеет вид

1−z x+z

1

1

 

G(z) ~ dx dy ex−y + dxdy ex−y = ze−z ,

(11.52)

0

x

1−z

x

 

после нормировки имеем

 

 

 

 

 

 

G(z) = ze1−z .

(11.53)

Таким образом, согласно методу обратной функции, для нахождения z следует решить трансцендентное уравнение

306

ze1−z = R1 ,

(11.54)

где R1 – случайное число, равномерно распределенное на (0,1).

Уравнение (11.54) имеет единственный корень и наиболее эффективно решается численно методом деления отрезка пополам.

Рис. 11.14. Область интегрирования D(z) ограничена прямыми y=x и y=x+z

Теперь, имея случайную величину z с законом распределения (11.53), найдем закон распределения случайной величины x при заданном z. Имеем:

x

1

x

 

f(x)|z=y−x = dxdye−z ~ dx ,

(11.55)

0

0

0

 

т.е. случайная величина x распределена равномерно на интервале (0,1 − z) , так как, по условию задачи, x < y .

Таким образом,

x = R2

(1 − z);

(11.56)

y = z + x = z + R2 (1 − z),

R2 – случайное число, равномерно распределенное на (0,1).

На рис. 11.15 показана гистограмма этого распределения, полученная генерацией 50000 случайных чисел.

307

Следует отметить, что вдоль линий y − x = const распределение, с

точностью до статистического разброса, является равномерным, в соответствии с (11.55).

Рис. 11.15. Гистограмма системы двух случайных величин, имеющих плотность распределения (4.42) с условием (4.43). Общее число точек 50000

В заключение раздела отметим, что и для генерации двумерных распределений случайных величин справедлив метод фон Неймана.

11.2. Случайные величины и центральная предельная теорема. Общая схема метода Монте-Карло

При исследовании взаимодействующих систем расчет термодинамических средних вида (9.1) при достаточно большом размере системы не представляется возможным из-за огромного числа слагаемых в сумме. В этом случае метод точной диагонализации неприменим, и эффективным методом численного расчета является метод Монте-Карло. Он позволяет даже в случае макроскопически большого числа степеней свободы получить асимптотически точные результаты для термодинамических характеристик системы. Создателями этого метода считаются Дж. Нейман и С. Улам (1949 г.) (см. [42]).

308

Методы стохастического моделирования, такие как метод МонтеКарло, используются как для физических задач, так и для решения сложных математических проблем, где другие аналитические и приближенные подходы не работают.

Самый простейший пример использования стохастического моделирования – вычисление площади сложной плоской фигуры S. Поместим фигуру S внутрь единичного квадрата (рис. 11.16). Выберем внутри квадрата N случайных точек (координаты точек можно выбирать с помощью датчика равномерно распределенных случайных чисел). Обозначим через N′ число точек, попавших при этом внутрь S. Тогда площадь S будет приближенно равна

 

N

(11.57)

S ≈

N ,

 

причем равенство улучшается с увеличением N.

Рис. 11.16. Вычисление площади плоской фигуры методом Монте-Карло

Аналогично можно сформулировать задачу расчета объема сложной формы, применяя предыдущую процедуру, а также объема произвольной многомерной замкнутой структуры.

Несомненное преимущество такого непосредственного использования метода Монте-Карло – простая структура вычислительного алгоритма. Необходим лишь хороший датчик случайных чисел. Однако для достижения необходимой точности

309

следует провести достаточно много итераций, так как ошибка расчета уменьшается в среднем как 1/ N . Для более эффективной

сходимости задачу следует решать при помощи модифицированных алгоритмов Монте-Карло и использовать различные функции распределения случайных величин, учитывающие особенности каждой конкретной рассматриваемой задачи.

Еще один наглядный пример уже физической задачи –

моделирование броуновского движения в замкнутом объеме. Разместим случайным образом N частиц в объеме V трехмерного пространства с декартовой системой координат. Будем полагать частицы идеальными, не взаимодействующими. Моделирование заключается в следующем: выбирается случайным образом частица, а затем, также случайным образом, выбираются ее новые координаты в некоторой окрестности ее исходного расположения, и частица перемещается в новое положение в пространстве. Взаимодействие частиц с границами объема будем полагать упругим, т.е. частицы будут отражаться от границ. Поведение частиц через некоторое время после начала моделирования становится хаотическим, и можно рассчитать, например, что давление частиц P (среднее число частиц, проходящее в единицу счетного времени через любую поверхность одинаковой площади внутри или на границе выделенного объема) одинаково по всем направлениям, обратно пропорционально величине объема V и прямо пропорционально количеству частиц N, что соответствует уравнению состояния идеального газа PV ~ N.

В расчет можно ввести также понятие температуры, величина которой пропорциональна линейному размеру, на который разрешается в алгоритме передвигать частицу за одно перемещение, это отражает тот факт, что кинетическая энергия частицы пропорциональна температуре. Тогда, соответственно, будет справедливо соотношение PV ~ NT .

Достаточно простому моделированию поддается и задача перколяции или протекания. Рассмотрим квадратную решетку размером L × L . При помощи датчика случайных чисел будем располагать частицы в узлах решетки с заданной вероятностью 0 < p < 1. Совокупность частиц, расположенных наиболее близко

310