モンテカルロ法 【Monte Carlo method】 モンテカルロシミュレーション / Monte Carlo simulation

概要

モンテカルロ法(Monte Carlo method)とは、数値計算手法の一つで、乱数を用いた試行を繰り返すことにより近似解を求める手法。確率論的な事象についての推定値を得る場合を特に「モンテカルロシミュレーション」と呼ぶ。名称の由来はカジノで有名なモナコ公国のモンテカルロ地区である。

ある事象をモデル化した数式や関数があるとき、その定義域に含まれるをランダムにたくさん生成して実際に計算をい、得られた結果を統計的に処理することで推定値を得ることができる。数式を解析的に解くのが困難あるいは不可能な場合でも数値的に近似解を求めることができる。

例えば、円周率を求める場合、-1から1までの間に含まれるランダムなを2つ生成し、これを平面上の点の座標に見立てて原点(0,0)からの距離を計算する。距離が1以下ならその点は原点を中心とする半径1の円に含まれ、1を超えていれば点は円の外にある。

この計算を何度も繰り返しい、n回試行した結果k個の点が円に含まれていたら、円に接する正方形の面積2×2=4を用いて円周率(この円の面積に等しい)は 4k/n と推定できる。確率論の大数の法則により、試行を増やせば増やすほど解の精度は高まり、試行回数を無限大に向かって増やしていけば真のからの誤差は0に収束していく。

コンピュータでモンテカルロ法の計算をう場合、が毎回異なり分布が完全にランダムな真の乱数列を得るには専用のハードウェア乱数生成器が必要になるため、規則性の無さは乱数とほぼ変わらないが、一定の計算手順によって確定論的に算出される疑似乱数を用いることが多い。疑似乱数は再現可能なため第三者による検証などがしやすいという利点がある。

歴史

第二次大戦中、米ロスアラモス国立研究所で原子爆弾開発計画に従事していた核物理学者のスタニスワフ・ウラム(Stanislaw Ulam)がこの手法の原型を考案し、同僚の数学者ジョン・フォン・ノイマン(John von Neumann)が戦後、自らが開発したばかりの最初期の電子式コンピュータENIAC」で実際に計算をい、その有効性を実証した。

この計算手法は軍事機密としてコードネームが与えられることになったが、二人の同僚の物理学者ニコラス・メトロポリス(Nicholas Metropolis)が、ウラムの叔父がモナコのモンテカルロにあるカジノで借金を抱えた話に着想を得てモンテカルロ法という名称を考案し、これが採用されたと伝わる。賭け事にまつわる何かから考案された手法というわけではない。

(2023.12.12更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる