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

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

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

друг к другу на соседних узлах и отделенных от других частиц по крайней мере первой координационной сферой (рис. 11.17), называется кластером. В системе может существовать кластер, который свяжет слева направо или снизу вверх всю систему – стягивающий кластер (рис. 11.18). Это означает, что в системе достигнут предел перколяции.

Рис. 11.17. Кластеры частиц в задаче перколяции

Рис. 11.18. Пример стягивающего кластера. В системе возможно протекание снизу вверх

Вероятность появление стягивающего кластера связана с параметром задачи – вероятностью p: для данного линейного размера решетки L при p < pc (L) на решетке существуют только

конечные кластеры, а при p pc (L) появляется стягивающий

311

кластер. Задача заключается в определении порога перколяции для бесконечной решетки, т.е. в определении pc (L → ∞).

Моделирование этой задачи происходит таким образом: сначала обнуляется заполнение всех узлов. Затем сканируется каждый узел квадратной решетки, и датчиком случайных чисел для каждого узла

решетки создается случайное

число 0 < R < 1 .

Если R < p , узел

заполняется частицей, если

R ≥ p , узел

остается пустым.

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

реализаций. Меняя параметр p , повторяем процедуру. Действуя таким образом, можно получить зависимость p(L) = f(p) . При

определенном

значении

p = pc (L)

вероятность появления

стягивающего

кластера будет равна 1:

p(L) →1. Далее

 

 

 

p=pc (L)

увеличиваем размер системы L и повторяем расчет, находя pc (L) ;

порог перколяции в бесконечной системе определяется исходя из асимптотической зависимости pc от размера системы.

Заметим, что задача о перколяции тесно связана с моделированием протекания тока в реальных физических системах, с моделированием систем джозефсоновских контактов в сверхпроводниках и с другими физическими задачами.

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

312

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

Рассмотрим математический аспект проблемы стохастического моделирования методом Монте-Карло. Случайные величины уже рассматривались в разд. 11.1, там же приводились примеры алгоритмов для генерации случайных величин с различными законами распределения. В этом разделе приведены важные положения теории вероятностей [2, 42], необходимые в дальнейшем для организации алгоритмов Монте-Карло.

Рассмотрим случайную величину ξ , распределенную с плотностью вероятности p(x) на интервале (a,b) . Соответственно, вероятность того, что величина ξ попадет в интервал (a′,b′) , содержащийся в (a,b) , будет равна

b′

 

P{a′ < ξ < b′} = p(x)dx .

(11.58)

a′

Предполагается, что должны быть выполнены два условия: положительность функции p(x) , а также нормировка функции p(x)

b

на единицу: p(x)dx = 1.

a

Математическим ожиданием случайной величины называется число

b

 

Mξ = xp(x)dx ,

(11.59)

a

т.е., фактически, среднее значение ξ .

Сразу отметим важное свойство математического ожидания. Выберем произвольную непрерывную функцию f(x) и рассмотрим случайную величину η = f(ξ) . Можно доказать, что

313

b

(11.60)

Mη = Mf(ξ) = f(x)p(x) dx .

a

 

Дисперсией случайной величины называется число

 

b

 

Dξ = M(ξ − Mξ)2 = x2 p(x) dx − (Mξ)2 .

(11.61)

a

Из (11.61) видно, что дисперсия – это математическое ожидание квадрата отклонения случайной величины от ее среднего значения. Например, для случайной величины, равномерно распределенной на интервале (0,1) , Mξ = 1/2 , Dξ = 1/12 .

Если имеются две статистически независимые случайные величины

ξи η , то математическое ожидание и дисперсия являются

аддитивными функциями:

M(ξ + η) = Mξ + Mη;

(11.62)

D(ξ + η) = Dξ + Dη.

Для нормального распределения (распределения Гаусса), которое рассматривалось в разд. 11.1.2, с функцией распределения

 

 

1

 

(ξ−a)2

 

p(ξ) =

 

 

e 2

(11.63)

 

 

 

 

σ

 

 

 

 

 

 

 

(рис. 11.19) математическое ожидание и дисперсия равны

 

Mξ = a;

(11.64)

Dξ = σ2.

 

Любые вероятности нормально распределенной величины вычисляются с помощью интеграла вероятностей (или

интеграла ошибок)

 

2

x

 

Φ(x) =

e−t2 / 2 dt .

(11.65)

 

π

0

 

 

 

 

С помощью преобразования интегралов несложно показать, что

314

P{x′ < ξ < x′′} =

1

t2 e−t2 / 2 dt =

1

(Φ(t2 ) − Φ(t1 )) ;

 

 

 

 

 

t1

 

 

 

2

 

 

 

(11.66)

 

 

 

t1 =

x′ − a

; t2

=

x′′ − a.

 

 

 

 

 

 

 

 

σ

 

 

 

σ

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

3.5

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

2.5

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

1.5

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

0.5

 

 

 

 

 

 

 

 

 

 

 

 

 

00

0.2

0.4

0.6

 

0.8

1

 

1.2

 

1.4

1.6

1.8

2

Рис. 11.19. Распределение Гаусса для параметров a = 1; σ = 0.1

 

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

Приведем

важное

свойство нормального

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

«правило

трех σ ».

Если

выбрать x′ = a −

3σ ; x′′ = a + 3σ ,

то,

согласно (11.66), t1 = −3

, t2

= 3 . Отсюда находим

 

 

 

P{a − 3σ <

ξ < a + 3σ} = Φ(3) = 0.997 1.

(11.67)

Последняя формула интерпретируется так: при одном испытании практически невозможно получить значение ξ , отличающееся от

Mξ больше, чем на 3σ .

На практике в качестве погрешности часто выбирают не 3σ , а другую величину – так называемую вероятную ошибку. Если рассмотреть величину r = 0.6745σ , то

P{a − r < ξ < a + r} = Φ(0.6745) = 0.5 .

(11.68)

315

Переформулируем (11.68) по-другому:

 

 

 

 

 

P{

 

ξ − a

 

< r} = 0.5 ,

(11.69)

 

 

но тогда и

 

P{

 

ξ − a

 

> r} = 1 − P{

 

ξ − a

 

< r} = 0.5.

(11.70)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Значит, для случайной величины ξ вероятность отклониться от

своего среднего значения больше чем на r, и меньше чем на r, одинакова.

Рассмотрим теперь очень важную для дальнейшего описания

методов Монте-Карло центральную предельную теорему теории вероятностей. Эта замечательная теорема впервые была сформулирована П. Лапласом и обобщена позднее П.Л. Чебышевым, А.А. Марковым, А.М. Ляпуновым. Доказательство ее достаточно сложно и выходит за рамки данной книги, его можно найти, например, в [2, 43].

Прежде всего отметим, что нормальное распределение обладает особыми свойствами. Если есть две независимые величины ξ и η ,

нормально распределенные с дисперсиями, соответственно, σ1 и σ2 и математическими ожиданиями a1 и a2 , то, кроме того, что, согласно свойству (11.62), математическое ожидание и дисперсия

суммы ξ + η

будут аддитивны,

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

суммы ξ + η

будет также нормальным:

 

 

 

 

 

 

 

 

 

 

 

 

 

(ξ+η−(a +a

2

))2

 

 

 

 

1

 

 

1

 

 

 

 

 

 

2(σ2

2 )

 

 

 

p(ξ + η) =

 

 

e

.

(11.71)

 

 

 

 

1

2

 

 

 

 

 

 

 

 

 

 

 

2π(σ2 + σ2 )

 

 

 

 

 

 

 

 

1

2

 

 

 

 

 

 

Рассмотрим теперь более общую ситуацию. Пусть есть N

одинаковых

независимых случайных

величин

ξ1 2 ,...,ξN с

одинаковым, но необязательно нормальным распределением вероятностей. Очевидно, что математические ожидания и дисперсии этих величин совпадают. Обозначим

1 = Mξ2 = ... = MξN = m;

= Dξ

2

= ... = Dξ

N

= b2;

(11.72)

1

 

 

 

ρN = ξ1 + ξ2 + ...+ ξN.

316

Для распределения суммы независимых случайных величин справедливо

N = M(ξ1 + ξ2 + ...+ ξN) = Nm;

N

= D(ξ

+ ξ

2

+ ...+ ξ

N

) = Nb2.

(11.73)

 

1

 

 

 

 

Рассмотрим теперь случайную величину ζN , распределенную

нормально с такими же параметрами: a = Nm; σ = bN . Обозначим ее функцию распределения через pζN (x) .

Центральная предельная теорема утверждает, что для любого интервала (a′,b′) при достаточно больших N имеем:

b′

(11.74)

P{a′ < ρN < b′} ≈ pζN (x)dx .

a′

Смысл (11.74) очевиден: сумма большого числа одинаковых

случайных величин приближенно нормальна. Более того, обобщение этой теоремы гласит, что необязательно все слагаемые должны быть независимы и одинаково распределены, важно, чтобы отдельные слагаемые не играли большой роли в сумме. Эта теорема и объясняет, почему нормальные случайные величины так часто встречаются в природе: при исследовании системы обычно имеют дело с суммарным воздействием большого числа случайных факторов, в результате формирующих общий «гауссиан».

Теперь можно сформулировать наиболее общую схему метода Монте-Карло. Пусть требуется вычислить среднее значение A

какой-либо физической величины A:

 

Aie−Ei / T

 

 

A =

i

,

(11.75)

e−Ei / T

 

 

 

i

или, в более общем виде (см. (9.1)),

 

Aiwi

 

Aiwi

 

(11.76)

A =

i

=

i

,

wi

Z

 

i

где wi – статистический вес, соответствующий собственному состоянию i системы.

317

Будем рассматривать значения Ai как независимые случайные величины, тогда MAi = A . Пусть дисперсия этих случайных величин равна DAi = b2 .

Рассмотрим N независимых случайных величин ξ1 2 ,...,ξN , математические ожидания которых совпадают с распределением A , а дисперсии одинаковы и равны Dξi = b2 . Если N достаточно велико, то, согласно центральной предельной теореме,

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

этих

величин

 

ρN = ξ1 + ξ2 + ...+ ξN

будет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

приблизительно нормально с параметрами MρN = N A ,

σρN

= b N .

Из «правила трех σ » следует, что

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P{N A

− 3b

 

 

N < ρN < N A + 3b

 

N} ≈ 0.997 ,

(11.77)

 

следовательно,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3b

 

 

 

ρN

 

 

 

 

 

3b

 

 

 

 

 

P

A

 

<

< A +

 

≈ 0.997 .

(11.78)

 

 

 

 

 

 

 

 

 

 

 

 

N

 

 

 

 

 

 

N

N

 

 

 

 

 

 

 

 

 

Перепишем (11.78) следующим образом:

 

 

 

 

 

 

 

 

 

 

 

N

 

 

 

3b

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

P

 

 

ξi − A

<

 

 

 

 

0.997 .

(11.79)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N i=1

 

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Фактически, последнее соотношение дает и метод расчета, и оценку погрешности. Действительно, сгенерируем N значений случайной величины ξ . Из (11.79) видно, что среднее

арифметическое этих значений будет приближенно равно искомому A , и с большой вероятностью погрешность такого приближения

 

 

 

 

 

не превосходит величины 3b /

 

N , где

 

b2 = 1

 

N

 

(ξ − ξ )2 .

(11.80)

Ni=1

Сувеличением N эта погрешность стремится к нулю. На практике часто предпочитают вместо этой погрешности выбирать вероятнуюi

ошибку 0.6745b / N .

318

11.3. Расчет интегралов методом Монте-Карло

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

Рассмотрим функцию g(x) , заданную на интервале (a,b). Пусть необходимо вычислить интеграл

b

I = g(x)dx .

(11.81)

a

 

Для расчета выберем произвольную плотность распределения p(x), определенную на том же интервале, причем

b

 

 

p(x)dx = 1.

(11.82)

a

 

 

Определим случайную величину

 

 

η =

g(ξ)

,

(11.83)

p(ξ)

 

 

 

где ξ – случайная величина, распределенная с плотностью p(x) на (a,b). Тогда математическое ожидание η будет равно искомому интегралу:

b

 

 

Mη = g(x) p(x)dx = I .

(11.84)

a

p(x)

 

 

 

Рассмотрим N независимых случайных величин η1 2 ,...,ηN и применим к их сумме центральную предельную теорему, тогда

 

 

1

N

 

 

 

 

 

 

 

 

 

 

 

 

ηi − I

< 3

≈ 0.997 .

(11.85)

P

 

 

N

 

 

 

N i=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таким образом, если выбрано N случайных значений ξ1 2 ,...,ξN , то при достаточно большом N

1

N

g(ξ )

 

 

N

=

p(ξi)

≈ I ,

(11.86)

 

i 1

i

 

 

319

и погрешность расчета не превосходит 3Dη /N , где

 

 

 

b

2

 

 

 

1

N

2

 

 

 

2

 

2

= a

g (x)

 

2

 

i=1

g (ξi)

 

2

 

Dη = Mη

− I

 

p(x)

dx − I

 

 

N

p(ξi)

− I

 

. (11.87)

Соотношения (11.86) и (11.87) для расчета интеграла и оценки погрешности получены корректно с учетом центральной предельной теоремы. Следует отметить, что сходимость результата (11.86) к точному значению следует также из закона больших чисел, согласно которому для любого ε > 0

 

 

N

 

 

 

 

1

 

 

 

lim P

 

ηi − I

 

< ε

= 1.

(11.88)

N→∞

N i=1

 

 

 

 

 

 

 

 

 

Более того, справедлив усиленный закон больших чисел:

 

1

N

 

= 1.

(11.89)

P lim

ηi = I

N→∞ N i=1

 

 

 

Для оптимального расчета интеграла с минимальной погрешностью следует выбирать распределение p(x), пропорциональное g(x)

или, по возможности, близкое к этому. Докажем это утверждение.

Воспользуемся известным неравенством Коши – Буняковского в интегральном виде:

b

 

2

u(x)v(x)

 

 

dx

a

 

 

Положим

 

 

 

 

u(x)

 

 

v(x)

тогда из (11.90) находим:

bb

u2 (x)dx v2 (x)dx .

(11.90)

 

a

 

 

a

 

=

 

g(x)

 

;

 

 

 

 

 

 

 

p(x)

(11.91)

 

 

 

 

 

=

 

p(x),

 

b

 

 

 

2

b

 

2

(x)

 

b

b

2

 

 

 

 

 

 

g

 

 

 

g (x)

 

 

g(x)

 

dx

p(x)

dx p(x)dx ≡

p(x)

dx . (11.92)

 

 

a

 

 

 

 

a

 

 

 

 

a

a

 

 

Комбинируя (11.92) и определение дисперсии (11.87), находим оценку снизу для дисперсии:

320