Хімія · Статистична механіка · Monte Carlo
📅 Липень 2026 ⏱ ≈ 10 хв читання 🎯 Середній рівень · Оновлено: 9 липня 2026

Monte Carlo в статистичній механіці: алгоритм Метрополіса

У 1953 році Ніколас Метрополіс, Аріанна та Маршалл Розенблюти, Августа та Едвард Теллери опублікували алгоритм — розроблений для комп'ютера MANIAC у Лос-Аламосі — який вирішив проблему, недоступну жодним "грубим" обчисленням: як вибрати з неймовірно величезного простору конфігурацій багаточастинкової системи саме ті конфігурації, які насправді фізично важливі. Через сімдесят років алгоритм Метрополіса лишається основним двигуном обчислювальної статистичної механіки.

1. Проблема вибірки

Статистична механіка стверджує, що система в тепловій рівновазі за температури T відвідує конфігурацію (мікростан) i з імовірністю, заданою розподілом Больцмана:

P(i) = exp(−Eᵢ / k_BT) / Z

Z = Σᵢ exp(−Eᵢ / k_BT) (статистична сума, підсумована за ВСІМА мікростанами)

Для будь-чого, крім іграшкової системи, Z — астрономічно велика сума: решітка з усього 20×20 спінів Ізінга вже має 2⁴⁰⁰ ≈ 10¹²⁰ мікростанів — більше, ніж атомів у видимому Всесвіті. Обчислення термодинамічних середніх шляхом буквального підсумовування за кожним мікростаном тому неможливе. Звичайний Monte Carlo — вибірка конфігурацій рівномірно навмання з подальшим зважуванням фактором Больцмана — також безнадійний: за низької температури переважна більшість випадкових вибірок потрапляє на високоенергетичні стани з практично нульовою вагою, марнуючи майже всі обчислювальні зусилля.

Ключова ідея: замість рівномірної вибірки конфігурацій з подальшим зважуванням, генерувати конфігурації безпосередньо з імовірністю, пропорційною їхній вазі Больцмана — вибірка за важливістю. Якщо це вдається, простий незважений усереднений результат за згенерованими вибірками вже дорівнює правильному термодинамічному середньому.

2. Алгоритм Метрополіса

Алгоритм Метрополіса будує марковський ланцюг — послідовність конфігурацій, де кожна залежить лише від попередньої — чия довгострокова частота відвідування збігається до розподілу Больцмана. Кожен крок:

1. Почати з конфігурації i (поточний стан) 2. Запропонувати пробний рух до нової конфігурації j (напр., перевернути один спін, зсунути одну частинку) 3. Обчислити зміну енергії: ΔE = Eⱼ − Eᵢ 4. Якщо ΔE ≤ 0: ПРИЙНЯТИ рух безумовно Якщо ΔE > 0: ПРИЙНЯТИ з імовірністю p = exp(−ΔE / k_BT) (взяти випадкове число r ∈ [0,1); прийняти, якщо r < p) 5. Якщо відхилено, ланцюг лишається на конфігурації i (враховувати її знову для середнього) 6. Повторити з кроку 2 для нової поточної конфігурації

Правило прийняття завжди приймає рухи, що знижують енергію, і лише зрідка приймає рухи, що підвищують енергію, з імовірністю, що спадає експоненційно з ΔE — саме той баланс, що потрібен, щоб витрачати більшість обчислювальних зусиль поблизу термодинамічно важливих, низькоенергетичних конфігурацій, водночас час від часу досліджуючи високоенергетичні стани (що дозволяє системі уникати локальних мінімумів і коректно вибирати теплові флуктуації).

3. Детальна рівновага і чому це працює

Коректність алгоритму спирається на детальну рівновагу: у рівновазі потік імовірності зі стану i в стан j має точно дорівнювати зворотному потоку з j в i:

P(i)·T(i→j) = P(j)·T(j→i)

де T(i→j) — імовірність переходу марковського ланцюга

Розкладаючи імовірність переходу на імовірність пропозиції g(i→j) (обрану симетричною, g(i→j) = g(j→i), для простої пропозиції на кшталт перевертання випадкового спіна) та імовірність прийняття A(i→j), детальна рівновага вимагає:

A(i→j) / A(j→i) = P(j) / P(i) = exp[−(Eⱼ − Eᵢ) / k_BT]

Вибір Метрополіса A(i→j) = min[1, exp(−ΔE/k_BT)] є одним із валідних розв'язків цього співвідношення (серед кількох можливих правил прийняття — правило Глаубера/теплової бані A = 1/(1+exp(ΔE/k_BT)) є ще одним). На практиці вибір Метрополіса переважає, оскільки максимізує коефіцієнт прийняття за умови задоволення детальної рівноваги, змушуючи марковський ланцюг досліджувати простір конфігурацій якомога ефективніше.

Ергодичність теж важлива: сама лише детальна рівновага гарантує, що розподіл Больцмана є стаціонарним розподілом ланцюга, але ланцюг також має бути здатний досягти кожної релевантної конфігурації з будь-якої початкової точки (ергодичність), щоб справді до неї збігтися. Погано обрані пропозиційні рухи — наприклад, ті, що ніколи не можуть перевернути більше одного спіна одночасно поблизу "замороженого" склоподібного стану — можуть зробити збіжність недопустимо повільною, навіть якщо детальна рівновага виконується.

4. Практичні міркування

5. Приклад: модель Ізінга

2D-модель Ізінга — сітка спінів sᵢ = ±1 з енергією E = −J·Σ⟨ij⟩ sᵢsⱼ за парами найближчих сусідів — канонічний тестовий випадок Метрополіса. Перевертання одного спіна sₖ змінює енергію на суто локальну величину:

ΔE = 2J·sₖ·Σ_сусіди s_сусід

Оскільки ΔE залежить лише від чотирьох (або шести, або восьми, залежно від геометрії решітки) сусідів переверненого спіна, обчислення критерію прийняття коштує O(1) незалежно від розміру системи — саме ця локальність робить Метрополіс Monte Carlo для граткових моделей на кшталт Ізінга надзвичайно швидким на крок, навіть якщо для досягнення рівноваги поблизу критичної температури можуть знадобитися мільйони кроків.

Симуляція моделі Ізінга

Спостерігайте, як Метрополіс Monte Carlo проводить сітку спінів через феромагнітний фазовий перехід у реальному часі.

Відкрити симуляцію →

6. Поза межами фізики

Обчислювальна хімія та молекулярна симуляція

Методи Monte Carlo доповнюють молекулярну динаміку (див. наш супутній матеріал про потенціал Леннарда-Джонса) щоразу, коли цікава величина — термодинамічне середнє, а не часозалежна властивість. Рухи Метрополіса — зсув молекули, обертання чи спроба вставити/видалити її (великий канонічний Monte Carlo) — робочий інструмент для симуляції фазових рівноваг, адсорбції та вільних енергій сольватації.

Байєсівська статистика та машинне навчання

Узагальнення Метрополіса-Гастінгса (що дозволяє асиметричні пропозиції) лежить в основі методів марковського ланцюгового Monte Carlo (MCMC), що використовуються по всій байєсівській статистиці для вибірки апостеріорних розподілів, які не мають замкненої форми — від оцінки космологічних параметрів до байєсівського виведення в нейромережах.

Комбінаторна оптимізація

Симульоване відпалювання — поступове зниження штучного параметра "температури" в циклі Метрополіса, застосованого до функції вартості, а не фізичної енергії — це універсальна евристика оптимізації для задач на кшталт комівояжера, компонування схем та передбачення структури білка, де правило прийняття Метрополіса дозволяє рухи "вгору" на ранніх етапах, щоб уникнути поганих локальних оптимумів.

Часті запитання

Чому алгоритм іноді приймає рухи, що підвищують енергію?

Прийняття лише енергозберігальних рухів зробило б симуляцію чистою мінімізацією, що збігається до основного стану (T=0) і ніколи не вибирає теплові флуктуації, які визначають систему за скінченної температури T. Зрідка приймати енергопідвищувальні рухи з імовірністю, що спадає як exp(−ΔE/k_BT), — це саме те, що відтворює розподіл Больцмана: воно дозволяє системі відвідувати високоенергетичні конфігурації з коректною (малою, але ненульовою) частотою, що відповідає справжній тепловій поведінці.

Скільки кроків Monte Carlo потрібно для надійного результату?

Універсального числа немає — воно залежить від розміру системи, температури й близькості до фазового переходу. Практичний підхід — запускати симуляцію дедалі довше, відстежуючи, чи стабілізуються виміряні середні (енергія, намагніченість тощо) і чи звужуються оцінені похибки (з урахуванням автокореляції між вибірками) як очікується з ростом кількості незалежних вибірок. Поблизу критичної точки потрібна кількість кроків може зростати як степенева функція розміру системи — явище, зване критичним уповільненням.

Чи є Метрополіс Monte Carlo тим самим, що й молекулярна динаміка?

Ні. Молекулярна динаміка (див. наш супутній матеріал) інтегрує рівняння руху Ньютона, породжуючи справжню часову траєкторію, корисну для динамічних властивостей, як-от дифузія та в'язкість. Метрополіс Monte Carlo породжує послідовність конфігурацій без жодного фізичного часу, пов'язаного з рухами — він розроблений суто для вибірки коректного рівноважного розподілу якомога ефективніше і часто швидший за МД для обчислення суто термодинамічних величин, коли сама динаміка не цікавить.

Хто такі Метрополіс, Розенблют та Теллер?

Ніколас Метрополіс очолював обчислювальну групу в Лос-Аламоській національній лабораторії й побудував комп'ютер MANIAC, використаний для оригінальної симуляції. Аріанна та Маршалл Розенблюти, а також Августа та Едвард Теллери є співавторами знакової статті 1953 року "Equation of State Calculations by Fast Computing Machines" у журналі Journal of Chemical Physics, яка описала алгоритм для рідини твердих сфер. Історичні свідчення розходяться щодо точного розподілу інтелектуального внеску між п'ятьма авторами, але алгоритм відтоді носить ім'я Метрополіса.

Що таке Метрополіс-Гастінгс і чим він відрізняється від оригінального алгоритму?

В. Кіт Гастінгс узагальнив алгоритм Метрополіса у 1970 році, дозволивши асиметричні розподіли пропозицій g(i→j) ≠ g(j→i). Імовірність прийняття стає A(i→j) = min[1, (P(j)·g(j→i)) / (P(i)·g(i→j))], зводячись до оригінального правила Метрополіса, коли пропозиція симетрична. Це узагальнення необхідне для вибірки неперервних, не-граткових розподілів у байєсівській статистиці, де симетричні пропозиції часто неефективні або неможливі для побудови.

Що таке кластерний алгоритм і навіщо він потрібен?

Поблизу неперервного фазового переходу динаміка Метрополіса з перевертанням одного спіна страждає від критичного уповільнення: корельовані області спінів ("кластери") зростають до розміру системи, але перевертання одного спіна може змінити лише одну ділянку за раз, роблячи перевертання цілої корельованої області експоненційно повільним. Алгоритми Вольфа (1989) та Свендсена-Ванга (1987) натомість виявляють і перевертають цілі кластери корельованих спінів за один рух Monte Carlo, задовольняючи детальну рівновагу й водночас драматично знижуючи час автокореляції поблизу критичної точки.

Чи може алгоритм Метрополіса застрягти в локальному мінімумі?

У принципі ні — оскільки він може (зрідка) приймати енергопідвищувальні рухи, коректно ергодичний ланцюг Метрополіса зрештою вийде з будь-якого локального мінімуму за достатньої кількості кроків. На практиці "зрештою" може означати астрономічно довгий час, якщо енергетичний бар'єр великий порівняно з k_BT (швидкість виходу спадає експоненційно з висотою бар'єра, за подобою до активаційної картини Арреніуса) — саме ту проблему покликані пом'якшити симульоване відпалювання й кластерні алгоритми.

Яка різниця між канонічним (NVT) і великим канонічним Monte Carlo?

Канонічний Monte Carlo, описаний вище, вибирає конфігурації за фіксованої кількості частинок N, об'єму V і температури T, використовуючи рухи, що перебудовують наявні частинки (перевертання спінів, зсуви). Великий канонічний Monte Carlo додатково дозволяє кількості частинок коливатися, пропонуючи рухи вставки та видалення частинок, кожен із яких приймається за модифікованим критерієм Метрополіса, що включає хімічний потенціал — необхідне для симуляції адсорбції, фазового співіснування та відкритих систем, що обмінюються частинками з резервуаром.

Джерела