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

Красавин Компютерныы практикум в среде МатЛаб 2015

.pdf
Скачиваний:
121
Добавлен:
12.11.2022
Размер:
9.22 Mб
Скачать

вероятность перехода), тогда марковскую цепь можно определить

как последовательность

условие

состояний системы, если

для любого

выполняется

 

 

,

,…, ,…

 

. последовательности

Абсолютная

вероятность, ,…,

реализации

,,…, будет равна

где

, ,…,

 

, .

 

абсолютная вероятность реализации состояния

Любую реализацию последовательности состояний

 

можно

получить

из начального состояния

,

вероятность

, ,…,

реализации такой последовательности будет

.

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

которого позволяет марковская цепь.

Например, для канонического ансамбля таким инвариантным распределением является распределение Гиббса:

~,

где – гамильтониан системы.

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

Во-первых, определим само понятие инвариантного или стационарного распределения вероятностей следующими условиями:

201

0; 1; .

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

это состояние. Матрица переходов

называется

стохастической.

 

Марковская цепь называется неприводимой, если каждое ее состояние может быть получено из каждого другого состояния (возможно, через ряд других состояний и переходов). Таким образом, в неприводимой марковской цепи не может быть «ловушек» – состояний или групп состояний, достигнув которых, система уже не выходит из них.

Состояние, входящее в марковскую цепь, называется периодическим, если, достигнув этого состояния, система возвращается в него через определенное число шагов (период). Если таких состояний нет, марковская цепь называется апериодической, и тогда состояния также называются

апериодическими.

 

Пусть

обозначает

вероятность того,

что в процессе,

стартующем из состояния

, первый переход в

осуществляется

на

шаге. Кроме

того, пусть

0, тогда

есть вероятность того, что, стартуя из

состояния

,

система пройдет через состояние . Если при этом

µ

то

состояние

называется устойчивым, а величина

средним возвратным временем.

 

1,

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

эргодическими.

202

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

18.2. Принцип детального равновесия

Основная задача статистической механики состоит в расчете наблюдаемых термодинамических величин из статистического усреднения:

Ω Ω ρ Ω

;

Ωρ Ω .

Здесь интегрирование производится по всему фазовому пространству , ρ – функция распределения (в частном случае – распределение Гиббса).

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

случайных

состояний

 

 

для оценки

интегралов

для

с

некоторым

заданным

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

 

.

Тогда

справедлива

 

 

 

 

 

 

 

 

оценка

 

 

 

Ω ρ Ω

.

 

 

 

 

 

 

 

 

Если в

качестве

вероятности

 

выбрать

функцию

 

 

ρ Ω

 

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

 

 

 

 

 

 

 

 

 

 

ρ

 

 

 

203

 

 

 

 

 

 

 

 

 

 

ρ Ω

,

то

вычисление

сводится

к простому арифметическому

среднему:

 

 

1

 

 

Ω .

 

 

 

 

 

 

Так

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

 

 

 

 

является инвариантным для

рассматриваемой

системы,

марковская цепь на основе такого

 

 

 

 

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

Прежде всего, должны быть выполнены условия эргодичности схемы, и для практической реализации алгоритма необходимо выполнение дополнительных ограничительных условий на вероятности перехода:

Ω Ω 0;

Ω Ω 1; Ω

Ω Ω Ω .

 

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

эргодичности и означает, что искомое распределение

 

инвариантное, т.е. сумма вероятностей перехода из всех

состояний

 

 

в данное реализует вероятность этого события .

Каждому шагу Ω Ω марковского процесса можно условно поставить в соответствие промежуток времени , время расчета шага, это время отражает масштаб реального времени релаксации

204

физической системы. Предел отношения вероятности перехода к этому промежутку времени

lim Ω Ω

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

С учетом эволюции системы во времени

можно записать:

 

 

Ω,

 

Ω Ω,

Ω , ,

где

 

– условная

вероятность

перехода системы из

состояния

в состояние

за время . Далее выделим слагаемое с

 

Ω Ω,

 

:

Ω, Ω Ω, Ω, Ω Ω, Ω , .

Ω Ω

Соотношение сохранения вероятностей можно представить следующим образом:

Отсюда

Ω,

Ω Ω,

1

Ω Ω

Ω, .

 

Ω ,

Ω,

1

Ω Ω

Ω Ω,

Ω,

Ω Ω

Ω Ω,

 

 

 

Ω,

 

 

Ω , .

 

 

Ω Ω

Ω Ω ,

Ω,

Ω Ω

Ω Ω,

 

205

Эволюцию вероятности можно описать в виде своеобразного

уравнения баланса, или скоростного уравнения, описывающего производную по времени – времени расчета – этой величины:

Ω Ω Ω Ω Ω .

Ω Ω Ω Ω

Первый член справа описывает скорость всех переходов из состояния во все другие состояния, а второй – скорость переходов из всех состояний, отличных от , в состояние . Слагаемые с Ω Ω в обеих суммах компенсируют друг друга. Выражение называется также уравнением Колмогорова (или уравнением Колмогорова–Чэпмена).

В состоянии равновесия производная

равна нулю, и

Ω Ω

Ω Ω Ω .

 

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

Ω Ω

Ω Ω Ω .

Это соотношение называется условием детального равновесия, или детального баланса. Это соотношение дает существенную свободу при выборе интенсивности переходов.

Одним из наиболее употребительных вариантов выбора интенсивности переходов, удовлетворяющей детальному балансу, является алгоритм Метрополиса, использующий следующий вид

:

206

 

 

 

 

 

 

 

, если

1;

Ω Ω

1,

если

 

1.

 

Можно сформулировать

более

 

общий

вариант алгоритма

 

 

 

Метрополиса, выбрав

Ω Ω следующим образом:

 

 

1

 

1

 

min

τ

;

τ

,

где τ ~ 1 – произвольная константа. Варьируя параметр τ, можно менять скорость сходимости алгоритма Монте-Карло.

18.3. Одномерный вариант алгоритма Метрополиса

Пусть

необходимо

сгенерировать

случайные

числа

Тогда, ,…, ,…

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

плотностью

вероятности

.

 

 

,

 

алгоритм

Метрополиса

 

для

τ

1

будет

выглядеть

следующим образом.

 

 

 

 

 

 

 

 

0.

Пусть

система находится в

точке

.

Для

формирования

новой точки

 

выполняются следующие действия.

 

 

1.

Выбираем случайную точку

 

 

 

 

 

 

 

 

число, равномерно распределенное на отрезкеδ , где δ.

– случайное

2.

Вычисляем

 

 

 

 

.

 

 

 

δ,δ

 

 

 

3.

Если

 

, то

принимаем за новую точку

:

 

 

.

 

 

 

 

/

 

 

 

 

 

 

 

4.

Если

1 ,

то генерируем случайное число

,

равномерно

5.

Если

 

, то

 

0,1

.

 

 

 

 

:

 

 

.

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

на отрезке

 

 

 

 

 

 

 

 

 

1

 

принимаем за новую точку

 

 

 

 

 

 

 

 

 

 

 

 

 

6.

Если

 

, то принимаем за новую точку

:

 

 

.

 

 

 

 

 

 

 

207

 

 

 

 

 

 

 

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

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

алгоритм

 

Метрополиса

генерирует

случайные

точки

, ,…,

,…

 

 

 

 

 

, которые распределены с требуемой плотностью

вероятности

, но не являются статистически независимыми.

Поэтому,

например, оценка дисперсии

для расчета интеграла от

функции

 

по методу Монте-Карло с использованием

,

,

будет неверной, так как для расчета дисперсии необходима выборка из независимых случайных величин. Для вычленения из последовательности , ,…, ,… подпоследовательности, содержащей независимые случайные величины, используется

автокорреляционная функция

,

208

 

 

 

1

 

 

,

 

.

 

 

 

 

 

 

 

 

 

 

 

Предполагается, что случайные точки

и

, разделенные

независимыми, т.е.

 

0.1

,

могут считаться статистически

интервалом

так, что

 

 

 

 

 

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

 

и

другой

может быть

использована

для

 

расчета

дисперсии, ,

 

,

,…

статистической обработки результатов.

В примере 18.1 демонстрируется алгоритм (рис. 18.1), генерирующий случайные числа с гауссовым распределением [4]

1

/

.

√10π

 

Пример 18.1.

% задание плотности распределения и обращение к функции, реализующей алгоритм Метрополиса

p=inline('1/((2*pi*5)^0.5)*exp(-x^2/10)','x'); N=2*10^5; % число точек случайной последовательности x(1)=0; % первый член случайной последовательности

for i=2:N

x(i) = Metropolis(x(i-1),0.5,p); % delta = 0.5

end

% визуализация случайной последовательности figure % рис. 18.1

i= 1 : N; plot(i,x,'k');

set(gca, 'LineWidth',1)

set(gca, 'FontName', 'Trebuchet MS') set(gca, 'FontSize', 8)

set(gca, 'FontWeight', 'bold')

209

% визуализация гистограммы распределения Ni = 50; % число интервалов гистограммы k = 1 : Ni;

dx = (max(x) - min(x))/(Ni-1); Interval(k) = min(x)+dx*(k-1);

s = hist(x,Interval);

for j = 1 : Ni

z(j) = min(x) + dx*(j-1); Z(j) = N*p(z(j))*dx;

end

figure % рис. 18.2

bar(Interval,s); colormap white hold on

plot(z,Z,'r','LineWidth',2.5) hold off

set(gca, 'LineWidth',1)

set(gca, 'FontName', 'Trebuchet MS') set(gca, 'FontSize', 8)

set(gca, 'FontWeight', 'bold')

%функция, реализующая алгоритм Метрополиса function z = Metropolis(x,delta,p)

%x – координата начальной точки

xt = x+delta*(2*rand - 1); w= p(xt)/p(x);

if w >= 1

xnew = xt;

end

if w < 1

r = rand; if r<=w xnew = xt;

else

xnew = x;

end

end

z = xnew;

210

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]