メトロポリス法

メトロポリス法英語: Metropolis method )は、モンテカルロ法によるシミュレーションにおいて、乱数発生により作った新しい状態を棄却するか採択するかの基準の与え方、あるいは重点サンプリング(英語版)による分配関数近似計算の方法。具体的には、系のエネルギー E の変化 ΔE によって、

Δ E 0 {\displaystyle \mathrm {\Delta } E\leq 0}

ならば確率 1 で、

Δ E > 0 {\displaystyle \mathrm {\Delta } E\,>0}

ならば確率 eβ ΔE で採択する。ここで β = (k BT )−1逆温度kBボルツマン定数Tは系の熱力学温度である。

一般に、詳細釣り合いの原理、非周期性 (aperiodicity) がある棄却採択法ならば、熱平衡状態アンサンブルが得られる。

導出

系の時間発展マスター方程式によって記述されるとする。

P ( E , t ) t = { W ( E , E ) P ( E , t ) W ( E , E ) P ( E , t ) } d E . {\displaystyle {\frac {\partial P(E,t)}{\partial t}}=\int _{-\infty }^{\infty }{\Bigl \{}W(E,E')P(E',t)-W(E',E)P(E,t){\Bigr \}}\,\mathrm {d} E\,.}

ここで P (E , t ) は時刻 t におけるエネルギー E の分布、すなわち確率密度関数である。右辺の積分の第一項はエネルギー E' の状態からエネルギー E へ遷移する流れを、第二項はエネルギー E の状態からエネルギー E' へ遷移する流れを表す。つまり、P (E )E でラベルづけされた物質の量だと思えば、第一項は単位時間当たりの流入量、第二項は単位時間当たりの流出量に相当する。係数W (E, E' ) はエネルギー E' の状態からエネルギー E の状態への遷移確率(頻度)を表す。

定常状態の確率密度関数はマスター方程式の左辺が 0 となる場合を考えれば充分だが、一般の遷移確率 W に対してこれを解くことはできない。平衡状態を仮定するならば、更に条件を強めることができ、次の詳細釣り合いの条件を考えればよいことになる。

0 = W ( E , E ) P e q ( E ) W ( E , E ) P e q ( E ) . {\displaystyle 0=W(E,E')P^{\mathrm {eq} }\!(E')-W(E',E)P^{\mathrm {eq} }\!(E).}

これは次のように変形することができる。

P e q ( E ) P e q ( E ) = W ( E , E ) W ( E , E ) . {\displaystyle {\frac {P^{\mathrm {eq} }\!(E)}{P^{\mathrm {eq} }\!(E')}}={\frac {W(E,E')}{W(E'\!,E)}}.}

ここで P eq は平衡状態における確率密度関数 P である。今は熱力学系について考えているので、統計力学の設定を持ち込めば、系のエネルギー状態の分布はカノニカル分布になるべきであり、平衡状態の確率密度 P eqボルツマン因子 eβE分配関数 Z の比に書き換えられる。

P e q ( E ) = e β E Z ( β ) . {\displaystyle P^{\mathrm {eq} }\!(E)={\frac {\mathrm {e} ^{-\beta E}}{Z(\beta )}}.}

詳細釣り合いの式について確率密度をボルツマン因子に置き換えれば、分配関数は消去され次の関係を得る。

e β ( E E ) = W ( E , E ) W ( E , E ) . {\displaystyle \mathrm {e} ^{-\beta (E-E')}={\frac {W(E,E')}{W(E'\!,E)}}.}

この関係を満たすように状態を変化させることで、平衡状態において典型的な状態を重点サンプリングすることができる。

特に、遷移確率 W (E , E' ) を次のように与えればメトロポリス法を得る(ΔE := EE' とすればこれは冒頭の式に一致する)。

W ( E , E ) = { τ 0 1 for     E E τ 0 1 e β ( E E ) for     E > E . {\displaystyle W(E,E')={\begin{cases}{\tau _{0}}^{-1}\quad &{\mbox{for}}~~E\leq E'\,\\{\tau _{0}}^{-1}\mathrm {e} ^{-\beta (E-E')}\quad &{\mbox{for}}~~E>E'\,.\end{cases}}}

τ0 は適当な定数であり、系の時間スケールに相当する。実際の計算では τ0 = 1 とすることが多いが、系のカイネティクスを考える場合には実際の大きさを推定する必要がある。ただし、メトロポリス法の場合、エネルギー的に安定な状態を見つけたとき、確率 1 で遷移するモデルを扱っているので、実際の系のカイネティクスは無視されていると思ってよい。

関連記事