モンテカルロ法
出典: フリー百科事典『ウィキペディア(Wikipedia)』
モンテカルロ法 (Monte Carlo method, MC)とはシミュレーションや数値計算を乱数を用いて行なう手法である。元々は、中性子が物質中を動き回る様子を探るためにジョン・フォン・ノイマンにより考案された手法。カジノの都市国家モナコ公国の4つの地区(カルティ)の一つであるモンテ・カルロから名づけられた。
目次 |
[編集] 数値積分
モンテカルロ法はよく確率を近似的に求める手法として使われる。n回シミュレーションを行い、ある事象がm回起これば、その事象の起こる確率は当然ながらm/nで近似される。試行回数が少なければ近似は荒く、試行回数が多ければよい近似となる。
また、この確率を利用すれば、積分(面積)の近似解を求めることが可能となる。領域Rの面積Sは、領域Rを含む面積Tの領域内でランダムに点を打ち、領域Rの中に入る確率pをモンテカルロ法で求めれば、S=pTで近似される。積分の計算法には他に台形公式・シンプソンの公式等があるが、モンテカルロ法はこれらの手法より重積分に強いという特徴がある。
n 重積分
をサンプル数 N のモンテカルロ法で計算するには、0 以上 1 以下の値をとる n × N 個の一様乱数
を生成して、
とすれば、IN が積分の近似値となる。
[編集] 乱数の選択
モンテカルロ法では状況に応じた乱数の選択が重要であり、モンテカルロ法の精度は使用する乱数の性質によって決まる。乱数は次の三種類に分けられる。
- 擬似乱数
- コンピュータ等を利用する場合は、完全な乱数ではなく、擬似乱数を使うことになる。擬似乱数による乱数列は、初期値を決めるとすべて決定されるので、ランダムな数列ではないが、簡単に利用できるので、モンテカルロ法を使用する場合の最初の選択肢である。
- 擬似乱数には次のようなものがある。
- この中では、メルセンヌ・ツイスタが最良の選択肢である。
- 物理乱数
- より規模の大きいモンテカルロ法を実行する場合には、物理現象を利用して物理乱数(真性乱数)を生成するハードウェアを利用する(ダイオードのPN接合部に生じる熱雑音を利用する方法がよく使われる)。
- 準乱数
- 逆に規則性の強い乱数であり、数値積分に用いられる。準乱数を用いたモンテカルロ法を準モンテカルロ法という。準乱数のことを、低食い違い量列と呼ぶこともある。準乱数を数値積分に用いる目的は精度を高めることである。
[編集] 精度
また、精度の良い結果を得るためには多くの試行回数が必要となる。しかし、一回の試行に膨大な時間がかかる場合、多くの試行を行うことは物理的に不可能となる。そのため、モンテカルロ法の精度は一回の試行にかかる時間にも制限を受ける。
数値積分の精度はサンプル数 N を増やすことによって、よくなることが確率論によって保証されている。サンプルが真にランダムな乱数列だった場合には、積分の値と近似値の誤差
は、N を無限大にしたときほとんど確実に 0 に収束する(大数の法則)。この収束の速さに関しては、
となる(重複対数の法則)。すなわち、精度を10倍にするためには100倍のサンプルが必要となる。
これに対して、準モンテカルロ法では
となるので、精度を10倍にするためには10倍のサンプルでよい。これが、準モンテカルロ法の利点である。