JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

以骰子做物理:蒙地卡羅與分子動力學

有些問題維度太高,無法架設格點——10^{23} 個粒子的氣體、一百維的積分。出路是「刻意地」用隨機性來計算。認識蒙地卡羅方法、它與維度無關的 1/\sqrt{N} 誤差、用於熱力系統的 Metropolis 技巧,以及分子動力學——一次一個力地模擬物理。

為何隨機勝過格點

格點法在高維中死路一條。對 N 個氣體粒子的位置積分,是一個 $3N$ 維的積分;就算每軸只取粗糙的 10 點,也有 10^{3N} 次計算——一旦 N 超過寥寥幾個就無望了。這就是維度詛咒蒙地卡羅方法繞開了它:以隨機選取的取樣點對被積函數取平均,來估計積分。

\int_V f\,dV \;\approx\; \frac{V}{N}\sum_{i=1}^{N} f(\mathbf{x}_i)

積分等於體積乘以 fN 個隨機點上的平均——用統計方式估計一個確定的量。

奧妙在誤差。由中央極限定理,估計值的統計誤差以 1/\sqrt{N} 下降——而且與維數無關。格點的誤差以 N^{-k/d} 縮放,隨維度 d 增大而變差;蒙地卡羅的 N^{-1/2} 卻完全不理會 d。一旦維度超過寥寥幾維,骰子就勝出。

\sigma_{\text{est}} \;\propto\; \frac{\sigma_f}{\sqrt{N}}

要把誤差減半,就要把取樣數變為四倍——收斂雖慢,卻與維度無關,這是高維中任何格點都比不上的。

向 π 擲飛鏢

最乾淨的示範:以擲飛鏢估計 \pi。在單位正方形內撒下隨機點,數出落在半徑 1 的四分之一圓內的比例。這個比例趨近於面積比 \pi/4

\pi \;\approx\; 4\,\frac{N_{\text{inside}}}{N_{\text{total}}}

四分之一圓面積比上正方形面積是 \pi/4;數命中數即估計此比值,其四倍便估計 \pi

加入取樣點,看著 \pi 的即時估計值收斂,散布以 1/\sqrt{N} 的速度縮小——一場由你親手操作的蒙地卡羅積分。

在這個元件裡留意兩件事。估計值朝 \pi 游移,卻從不恰好停在上面;而這股抖動只是緩慢收窄——要多得一位小數,大約需要多擲 $100$ 倍的飛鏢。蒙地卡羅穩健而通用,卻不快;它的長處是在別無他法之處仍能運作。

抽樣真正重要的地方:重要性抽樣與 Metropolis

均勻的飛鏢在 f 極小之處白費工夫。重要性抽樣改為優先在被積函數大的地方取點,並對它們重新加權——在同樣的 N 下大幅削減變異數。在統計力學中,我們需要以波茲曼因子 e^{-E/k_BT} 加權的平均,而幾乎每一個組態的權重都微不足道;均勻抽樣毫無希望。

Metropolis 演算法的解法,是打造一條在各組態間遊走的隨機漫步,使每個組態被造訪的頻率正比於其波茲曼權重。先提議一個小變動,再用一條簡單規則決定接受或拒絕它。

P_{\text{accept}} = \min\!\left(1,\; e^{-\Delta E / k_B T}\right)

凡是降低能量的移動一律接受;上坡的移動則僅以機率 e^{-\Delta E/k_BT} 接受。這條漫步最終落定於正則系綜分布。

這一條規則,就讓你能為像磁性的伊辛模型這類系統計算熱力平均,你甚至能親眼看見磁化在臨界溫度處消失。Metropolis 蒙地卡羅正是大半統計物理實際的做法——它抽樣配分函數背後的系綜,卻從不需要直接算出那個大到天文數字的求和 Z

分子動力學:一次一個力地做物理

互補的做法是分子動力學(MD):不做隨機抽樣——而是真的對每個粒子積分牛頓方程,隨時間往前推,讓系統動態地探索它的各種狀態。此處第二章的韋爾萊積分子大顯身手:對成千到數十億個原子,每一步都由鄰居算出每個原子所受的力,再用韋爾萊法把它們全部推進一步。

\mathbf{a}_i = \frac{1}{m_i}\sum_{j \neq i} \mathbf{F}_{ij}

每個原子所受的力,是對所有配對交互作用求和;這個 O(N^2) 的力求和(用截斷與鄰居列表可馴服到近乎 O(N))是計算上的瓶頸。

能量均分定理,每個自由度的平均動能決定了溫度,因此一個 MD 盒子是一個貨真價實、可加熱、可冷卻、可量測的熱力系統。MD 給你動力學——輸運、擴散、真實的時間依賴——而蒙地卡羅則高效地給你平衡態平均。兩者聯手,從蛋白質摺疊到晶體熔化,無所不能模擬。