すでに述べたように、シミュレーションを行うためには現実の世界をモデル化 することが必要になる。計算機シミュレーションでは (1) 確率モデル、 (2) 粒子モデル、(3) 連続モデル などが用いられる。それぞれのモデルの特徴と 各モデルを用いたシミュレーション方法について説明する。
このモデルによるシミュレーションの身近な例として、待ち行列のシミュレー
ションがある。これは、たとえば健康診断のときに身長計、体重計、視力検
査装置などを何台ずつ用意し、どのような順番でならべたら最も順番待ち時間
が短くできるかといったことを検討したりするときに採用されるモデルである。
計算機の中に個々のサービス窓口(体重計)を設定し、サービスを受ける人が
健康診断場に到着する時間間隔がある確率分布にしたがうと仮定してシミュレー
ションを行う。窓口の数や、その順番をいろいろ変化させてある人数の人が
健康診断を終えるまでの平均時間を調べ、最適な組み合わせを求めることがで
きる。ある人が到着してから次の人が到着するまでの時間間隔は乱数を用いて
決める。次の人はすぐにやってくるかもしれないし、たまたましばらく時間が
空くこともあるだろう。この時間間隔をいわばサイコロを投げて決めるわけで
ある。このようなシミュレーション方法のことをモンテカルロ法とよぶ。
計算機の中でサイコロを振ることに相当するのが乱数である。その発生方法と
してはある数をつぎつぎと掛けていって、別のある数で割った余りを取る方法など
がよく用いられる。このようにして、たとえば 0 から 255 までの整数を同じ
確率で発生させることができる。乱数といってもまったくでたらめな数なので
はなく、ある規則にしたがって生成されたものなのである。しかし生成された
数が1の次には2が出やすいといった性質を持っていたりするとこれは乱数とし
て採用することはできない。すべての数が同じ確率で出現し、しかも互いに
独立(次に出る数が前に出た数に依存しない)とみなしうるものでなければならな
い。さまざまな統計的検定に耐え、かつ計算機で高速に生成できるような乱数
発生方法がいろいろ工夫されている。通常、すべての数が同じ確率で発生する
一様乱数を生成し、これをもとにしてさまざまな確率分布の乱数が導かれる。
たとえば、多くの一様乱数の和をとると、その分布は正規分布に近づくことが
知られている。
モンテカルロ法は、さまざまな物理現象のシミュレーションに利用されている。
たとえば電子計算機の開発者としても知られている von Neumann はモンテカ
ルロ法を用いて物質中の中性子の運動を解析した。私自身も、高温電離大気中
の光子の運動をモンテカルロシミュレーションで解析したことがある。中性子
星やブラックホールのまわりのガス円盤のように 10憶度もの温度がある大気
中では光子は電子と衝突する際に電子からエネルギーを受け渡されて高エネル
ギーのX線やガンマ線として放射されることになる。光子と電子の速度、運動
方向などを乱数を用いて決め、衝突後の光子が電子との衝突をくり返しながら
ガス円盤から飛び出していくまでの過程を計算機で追跡した。1万個程度の光
子を用いると円盤から放射される光子のエネルギー分布(スペクトル)をかなり
正確に求めることができる。シミュレーションから予測されるX線、ガンマ線
のスペクトルをX線天文衛星によって観測されるブラックホール候補天体のス
ペクトルと比較することにより、これらの天体の物理状態(温度、密度など)を
知ることができるわけである。
モンテカルロシミュレーションは物質の性質を
探る研究(物性物理学)の分野でも威力を発揮している。たとえば、鉄のような
強磁性体の温度を上げていったときに、最初はある方向に揃っていた原子の
スピン磁気モーメントの方向がしだいにランダムになっていき、磁石としての
性質が失われていく。相転移とよばれる、このような過程を原子は2次元格子
状にならんでいるとして、ある原子のスピンの方向(上向き、または下向き)は
それと隣接する原子との相互作用のみによって確率的に決まっているという
単純化したモデル(イジングモデル)でシミュレートすることができる。ある原
子のスピン方向が反転するかどうかは、この確率分布にしたがう乱数を発生
することで決める。
パソコン等を用いて簡単にモンテカルロシミュレーションを行う方法とさまざ
まなプログラムの例が文献[2]
にあるので参考にするとよい。
これは、粒子の運動を追跡するという方法で、たとえば銀河系の星の運動、
銀河と銀河の衝突のシミュレーション、高温電離気体(プラズマ)の挙動などを
調べるときに用いられる。星の運動の場合、相互に働く力は距離の2乗に反比
例する大きさの万有引力だけであるので基本法則はきわめて簡単なのだが、
天体が3個だけという場合に限ってもコンピュータシミュレーションによらな
い方法で一般解を求めることはできない。これは3体問題として知られている
難しい問題である。粒子数が2個だけの場合には、その軌動は楕円、双曲線、
または放物線となることを容易に示すことができ、計算機を用いずとも一般的
な解が求まる。これは2体問題という。2体問題と3体問題の中間にあたるのが
3番目の粒子の質量が他の2体にくらべて無視できる場合で、たとえば地球と月
による重力場の中を運動する宇宙船の運動などがこれに相当する。宇宙船の
質量は地球や月の質量にくらべれば無視できる量であるからである。この場合は
制限3体問題と呼ばれる。
制限3体問題はパソコン程度の計算機があれば数値的に解くことができ、宇宙
船の軌動を求めることができる。宇宙船に働くのは地球と月からの重力で、
その大きさと方向は地球、月、宇宙船の位置が与えられれば求まる。宇宙船の
運動はニュートンの運動方程式として記述される。この方程式は時間微分だけ
を含む常微分方程式になる。この方程式から、宇宙船に働く重力によって
ある微少時間の間に宇宙船がどれだけ加速されるかを計算することができ、
加速度がわかれば微少時間後の宇宙船の速度、さらに宇宙船の位置が計算でき
る。このようにして、微少時間後の宇宙船の位置を次々と求めていくことに
よって宇宙船の軌動が求まる。たとえば
参考文献[3]にプログラムが掲載されている。
制限3体問題を応用すると銀河と銀河の衝突の
シミュレーションができる。銀河の重力は、銀河を構成するすべての星の重力
の和になっているが、これを銀河中心に質量が集中しているとして近似し、
個々の星と星の間の重力を無視する。このようにして、ひとつの銀河を中心の
質点とそのまわりを回転する多数の質量ゼロの星という形でモデル化する。
計算機の中にこのようにモデル化した銀河を設定し、そこにもうひとつの銀河
(これも中心に質量が集中した質点として近似する)を接近させる。このとき、
銀河中心のまわりを回転している個々の星の運動は上に述べた宇宙船の運動と
同じになることが理解できるだろう。それぞれの星に働く力は、ふたつの銀河
中心からの重力だけだからである。もうひとつの銀河が接近してきたとき、
その重力によって整然とした星の回転運動が乱されて2本の腕のようなものが
でき、また一部の星は銀河からはぎとられてしまう様子などをコンピュータの
ディスプレイ上に表示することができる。このような銀河どうしの接近遭遇は
宇宙空間の中では頻繁に起きている。たとえば、我々の銀河系の近くにある
M51 という銀河の形は、ふたつの銀河の接近直後であると考えるとよく説明
できるといわれている。
高速計算機を用いると銀河を構成する個々の星と星の間の重力も考慮した計算
ができる。このような問題は一般に多体問題とよばれる。たとえば N 個の星
がある場合、個々の星にはたらく力は他の N-1個の星からの重力の和として求
まる。したがって、すべての星についての力の計算は N(N-1)/2 個のペアにつ
いて行う必要がある。ひとつの銀河を構成する星の数は 1000憶個に及ぶ。
1000憶 X 1000 憶回の計算をするというのは、現在の最高の計算機の能力を
もってしても時間がかかりすぎて実行不可能であるため、1000憶個の星を使う
ことはあきらめて、ひとつの銀河をもっと少ない数の星で代表させるという
方法がとられている。私は今から15年ほど前にひとつの銀河を100個の星で代
表させて、これら10個の銀河の運動のシミュレーションをやったことがある。
このように荒い近似の計算でも、銀河どうしの衝突によって銀河集団の中心に
巨大銀河が形成されていく様子を示すことができた。現在では重力多体問題
専用の計算機などを用いて10万個から100万個の星を用いたシミュレーション
が行われている。また、膨張宇宙の中で宇宙初期にあった微少なゆらぎがどの
ように成長して銀河団、超銀河団などの宇宙の構造を作っていったのかといっ
たシミュレーションも行われている。
電子とイオンからなる電離気体(プラズマ)の研究は地球上で制御された核融合
反応を実現するという、エネルギー問題解決のための基礎研究としてきわめて
重要になっている。電子と電子、イオンとイオンの間には相互に反発力がはた
らくため、引力だけが働く重力多体問題にくらべて問題はさらに難しくなる。
この場合にも、個々の電子やイオンを扱うのは個数が多すぎるので、多数の
電子やイオンをひとかたまりにしたマクロ粒子シミュレーションが行われてい
る(マクロ粒子シミュレーションの方法と具体例については
文献[4]を参照する
とよい)。プラズマを磁気によって閉じ込めるというタイプの核融合
炉の実験は、これまでプラズマ中でおこるさまざまな不安定性、プラズマが示
す複雑な挙動のために困難をきわめていたが、ごく最近になってコンピュータ
シミュレーションによる実験結果と実際の核融合実験装置による実験結果が
一致するようになってきた。コンピュータによってトカマク型核融合炉を
シミュレートするというNTP (Numerical Tokamak Project) は先に述べた
HPCC の一翼をになう研究となっている。コンピュータシミュレーションとい
う強力な手段を手にしたことで長年の夢であった核融合炉の実現が近づいてき
た。
光子の運動を同様の方法で追跡するというシミュレーションも行われている。
たとえば、ブラックホールのまわりでは光の経路が直線ではなくなることが
知られているが、ブラックホールの近くにできるガス円盤がその影響でどのよ
うにゆがんで見えるかといったことをシミュレートして、コンピュータ
グラフィックスを用いて表示することなどもできる
(参考文献 [5] にプログラ
ムが掲載されている)。
確率モデル
粒子モデル