logo
Метод Монте-Карло

2.2 Интегрирование методом Монте-Карло

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

Для определения этой площади можно воспользоваться одним из обычных численных методов интегрирования: разбить отрезок на подотрезки, подсчитать площадь под графиком функции на каждом из них и сложить. Предположим, что для функции, представленной на рисунке 1, достаточно разбиения на 25 отрезков и, следовательно, вычисления 25 значений функции. Представим теперь, мы имеем дело с n-мерной функцией. Тогда нам необходимо 25n отрезков и столько же вычислений значения функции. При размерности функции больше 10 задача становится огромной. Поскольку пространства большой размерности встречаются, в частности, в задачах теории струн, а также многих других физических задачах, где имеются системы со многими степенями свободы, необходимо иметь метод решения, вычислительная сложность которого бы не столь сильно зависела от размерности. Именно таким свойством обладает метод Монте-Карло.

Рисунок 1. Численное интегрирование функции детерминистическим методом

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

(1.1)

где -- функция распределения, а в знаменателе находится статистическая сумма

(1.2)

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

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

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

Обычно генерируется марковская цепь, т.е. такая последовательность, в которой последующее состояние зависит только от настоящего состояния и не зависит «от прошлого». Математически это означает, что условная вероятность появления состояния после последовательности равна вероятности .

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

Для классической системы в тепловом равновесии при температуре функция распределения дается законом Больцмана:

(1.3)

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

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

(1.4)

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

(1.5)

Этот интеграл можно взять при помощи метода Монте- Карло интегрирования по траекториям.