next up previous
Next: 4 SA の実現 Up: 計算天文学 II 第9回 最適化(2) Previous: 2 シミュレーテッドアニーリングの考え

3 熱平衡状態の実現 - メトロポリス・モンテカルロ

さて、熱平衡状態を実現しないといけないわけであるが、それにはどうすれば いいだろうか?とりあえず、古典多粒子系の場合を例に考えてみる。

統計力学的には、温度・体積一定の系でのある物理量 $x$の値は、アンサンブル平 均によって与えられると考えられる。アンサンブル平均は、系のとりうるすべ ての状態に対して、その出現確率で重みつけして平均をとる。

ここで、ハミルトニアンが $H=T(\mbox{\boldmath$v$})+\Psi(\mbox{\boldmath$r$})$ という風に位置の関数と速 度(運動量)の関数にわけられる(大抵そうである)場合を考えて、さらに求 めたい量が位置だけの関数である場合を考えると、速度については積分を落せ るので以下の式がなりたつ。


\begin{displaymath}
<x> = \frac {\int \exp[-\beta \Psi(\mbox{\boldmath$r$})] x dr}{\int \exp[-\beta \Psi(\mbox{\boldmath$r$})] dr}
\end{displaymath} (1)

これが実際に求められればある量 $x$ が求まるということになる。ここで $\beta = 1/kT$ である。

求めたいのは最適解とか最小値で平均でもなんでもないので、こんなの が求まってもしょうがないのではと思うかもしれないけど、もうちょっと我慢 して欲しい。

ここで問題なのは、実際には上の積分は有限の計算量では評価できないという ことである。実際の物理系では自由度がアボガドロ数くらいあるので全く論外 だが、例えば原子の数が100とか 1000 くらいにしたところでこれは 300 とか 3000 次元での数値積分になる。しかも、ほとんどのところでは出現確率 $\exp[-\beta \Psi(\mbox{\boldmath$r$})]$ が非常に小さく、まじめに計算してもしょうがな い。

ここで、確率的積分というのを考えるわけである。確率的積分といっても、例 えばランダムに粒子をばらまいて、出現確率にしたがって重みをつけて積分し ていっても、やはりほとんどのところで確率が非常に小さいのであまりうまく いかない。確率が低くないところだけを重点的に拾うような方法が必要である。

これを実現するのがメトロポリス・モンテカルロ法というものである。ちなみ にメトロポリスは人の名前で、ロスアラモス研究所の研究スタッフであった。 モンテカルロ法を提案した論文は1953年のもので、エドワード・テラー他4人 との共著論文である。ちょうど水爆を作っていたころの話である。

と、そんなことはさておき、メトロポリス法の大事なところは、全くランダム に粒子をばらまくのではなく、今ある分布からちょっと変えてみてエネルギー の変化をみて、それからどうするか決めるということである。

つまり、具体的には、以下のような手順で計算を進める

  1. ランダムに粒子を一つ選ぶ
  2. 粒子を動かす向き、大きさをランダムに決める
  3. 動かした前と後のエネルギー差 $\Delta E$ を計算する。
  4. $\Delta E<0$ なら新しい配置を採用する。そうでなければ、確率 $\exp(-\beta \Delta E)$ で新しい配置を採用する。
  5. 配置が新しくなったら、それを記録するなり、それを使って求めたい物 理量を計算するなりしておく
  6. step 1 に戻る。

ここで、粒子を動かす向き、大きさが「適当」でもいいというのが大事なとこ ろで、一般には、詳細釣り合いがなりたっていれば、つまり、相互に移動可能 な2つの状態 $1$$2$ について、相互の遷移確率 $P_{12}$$P_{21}$に以下の関係が あれば

\begin{displaymath}
\exp(-\beta\Phi_1)P_{12} = \exp(-\beta\Phi_2)P_{21}
\end{displaymath} (2)

上のやりかたで平均をとったものは極限で統計力学的なアンサンブル平均に収 束するということが証明されている。あ、もう一つ、自明な必要条件として、 任意の状態から任意の状態に上の手続きを有限回くりかえすことでいける必要があるというの がある。

したがって、どのように動かすかというのは、上の対称性が成り立っているか ぎりなんでもいいことになる。例えば、ある半径の球内の一様乱数でもいいし、 ガウシアンとか、もっと変なものでも構わない。計算の手間と収束性を考える と、動かすのをあまり大きくするとほとんど採用されなくなって無駄であるし、 逆にあまり小さいと今度は時間をかけてもあまり配置が変わらないことになっ てやはり無駄である。というわけで、採用される確率が 1/2 くらいになるよ うにうまくとるのがいいということになっている。



Jun Makino
平成17年12月19日