next up previous
Next: シミュレーションの手順 Up: Monte Carlo シミュレーション Previous: マスター方程式とエルゴード性

詳細釣合条件

定常状態では、Eq. (66)が成り立つ。 これを成分表示で書くと、

\begin{displaymath}
L_{ij} P_j^{(eq)} = P_i^{(eq)}
\end{displaymath} (67)

となるが、ここに Eqs. (60)および(61) を代入すると、詳細釣合(detailed balance)条件
\begin{displaymath}
P_{eq}(i) w(i\rightarrow j)
= P_{eq}(j) w(j\rightarrow i)
\end{displaymath} (68)

を得る。 ここで $P_{eq}(i)$ は平衡状態における状態 $i$ の出現確率であり、
\begin{displaymath}
P_{eq}(i) = \exp[-\beta H(i)]
\end{displaymath} (69)

で与えられる。 即ち、状態 $i$ から $j$ への遷移確率 $w(i\rightarrow j)$ とその逆に対して、関係式 (68) が成り立つように遷移アルゴリズムを構成すれば、 定常Markov 過程として、Boltzmannウェイトに従う アンサンブルが得られることになる。


次に、詳細釣合条件を満たすような遷移アルゴリズムを構成する 方法を二つ、紹介する。

Metropolis 法

Metropolis 法は、詳細釣合条件を満たすようなアルゴリズムを 構成する一般的な方法である。 次に紹介する熱浴法に比べて効率は劣るものの、 熱浴法が構成できないような系に対しても適用できるため 重要である。

Matropolis 法では、まずアップデートすべき配位$\{\phi \}$ に対し、候補となるアップデート後の配位$\{\phi' \}$ を考える。 $\{\phi \}$$\{\phi' \}$それぞれに対して Hamiltonian を計算し、この候補配位 $\{\phi' \}$ を、次の確率

\begin{displaymath}
P = \min\left\{1, e^{-\beta(H[\phi']-H[\phi])} \right\}
\end{displaymath} (70)

で accept、即ちアップデート後の配位とする。 もし候補配位 $\{\phi' \}$ が reject された場合には、 元の $\{\phi \}$をアップデート後の配位とする。

熱浴法

Hamiltonian が局所的な項の和として表される場合 など、系がある条件を満たすとき、熱浴法(heat bath method) が構成できる場合がある。 熱浴法では、今アップデートしたい自由度を $\phi_i$ とする時、 これと相互作用する自由度を含む局所的な Hamiltonian $H(\phi_i;\phi_{j\neq i})$ を考える。 この時、$\phi_i$以外の自由度を熱浴のように扱い、 $\phi_i$ を確率 $e^-\beta H[\phi_i;\phi_{j\neq i}]$ で生成することが可能であれば、これを熱浴法とよぶ。 この局所的なアップデート繰り返す(sweepする)ことによって、 全系に対するアップデートを行う。

Ising model の場合、

\begin{displaymath}
H(S_i;S_{j\neq i})=S_i\cdot (-H+\sum_{j \in <i,j>} S_j)
+ \mbox{(indep. of $i$)}
\end{displaymath} (71)

となる。 従って、格子点$i$の周りのスピン自由度を調べて $R_i = (-H+\sum_{j \in <i,j>} S_j)$ を計算し、$r\in [0,1)$区間の一様乱数 $r$ を振って、$S_i$
\begin{displaymath}
S_i = \left\{
\begin{array}{cc}
1 & \mbox{for\ \ \ } r < e...
...e^{\beta R_i}) \\
-1 & \mbox{otherwise}
\end{array} \right.
\end{displaymath} (72)



Hideo Matsufuru 2006-06-16