モンテカルロ法(もんてかるろほう)情報システム用語事典

Monte Carlo method

» 2009年01月26日 00時00分 公開

 数値計算テクニックの一つで、乱数を使った実験(数値実験)によって、確率過程を含む数値モデルとして定義された問題の解を推定するアプローチのこと。もともとは確率的な要因を含まない決定論的解析問題を解くのに乱数を用いる方法として考案されたが、現在では乱数を利用する手法の総称となっている。

 モンテカルロ法は、求める値が複数の確率変数の関数(数値モデル)で表現できるとき、各変数で仮定される確率分布に沿った標本値を乱数を利用して大量に生成して、演算を多数回試行し、その結果から求める値の分布を得る方法である。検討する現象やシステムの大まかな性質が分かれば、高等な数学を使うことなく、直観的な確率モデルとコンピュータによる反復計算でその振る舞いを再構成できる。高次元・多因子の積分計算などでは、解析的な方法では現実に計算不能な場合もあるが、モンテカルロ法であれば数値実験で解を求めることができる。

 一般にモンテカルロ法の適用領域は、「確率論的問題」と「決定論的問題」に大別される。前者は確率的に起きる現象(確率過程)をシミュレートするもので、検討対象となる現象の要素事象の一部または全部が確率的で、その発生確率を規定(あるいは仮定)できる場合が該当する。各要素事象が持つ確率分布に沿って乱数を繰り返し発生させて現象全体を疑似的に生起させ、多量の標本を取得してこれを統計処理することで、注目する現象の特性を示す推定値が得られる。「モンテカルロシミュレーション」とも呼ばれ、現象の推移・経過を追跡したり、システムの挙動を感覚的に理解したりすることができる。

 後者は、理論上は解析的に解くことができるが、式が複雑過ぎて解が得ることが困難な場合や計算量が多くなり過ぎる場合、あるいは式を立てられない場合に、それらの問題を確率モデルに置き換える方法である。後は同様に無作為な試行を行い、その結果の傾向から帰納的に解を予想する。問題の確率モデル化に工夫が必要だが、特に高次元・多変量の積分問題では有力な計算手段である。ランダムサンプリングによる積分手法を「モンテカルロ積分」という。

 モンテカルロ法の流れを単純化すると、「数値モデルの作成」「乱数の生成」「解の推定」という3つのステップに分けられる。数値モデルは、確率論的問題であれば現象に忠実なモデルを、決定論的問題であれば確率的な問題に置き換えてモデルを作成する。このとき、実測値のばらつきを制御し、解の精度を高めるような工夫が求められる。

 次に、問題に適した乱数を用意する。通常はコンピュータが算術的に生成したものを利用する。雑音や放射性物質の崩壊などの物理的現象、あるいはサイコロやルーレット、コイントス、そして乱数表を用いることも可能だが、実用的ではない。算術的に作られる乱数は独立性の面で真の乱数ではなく「疑似乱数」と呼ばれるが、再現性があるなどの理由からモンテカルロ法での利用にはむしろ都合がよい。

 最終的な答えを求めるには、得られた標本値に統計処理を施す必要がある。モンテカルロ法は実験的方法であり、測定値には必ず誤差が含まれる。そこで実験(計算)を十分な回数試行することと、適切な統計処理が不可欠である。精度を高めるために実験を多く行わねばならぬこと、すなわち結果の収束に時間がかかる点がモンテカルロ法の欠点とされる。普通、計算精度を1けた上げるには計算回数を100倍にする必要があるが、計算時間の短縮のために標本分散を減少させる「分散減少法」と呼ばれるテクニックがいくつか提案されている。デリバティブ(金融派生商品)の世界では、膨大な要素から価格評価を行うために、乱数の代わりに準乱数を使う「準モンテカルロ法」が用いられる。

 モンテカルロ法は元来、核物質内における中性子の振る舞いを計算するために考案されたもので、原子物理学の分野で広く用いられている。物理学ではほかにも液体や気体中の粒子の解析、粉体の混合などに適用される。「統計物理学」「統計力学」と呼ばれる分野では、主要な分析手段の1つである。

 純粋な数学問題では定積分(多重定積分)の計算、極値の決定、連立方程式の解法、常微分・偏微分方程式の解法、複雑な形状の図形の面積の値を求める問題などに適用できる。経営工学やORなどの分野では、待ち行列やランダムウォーク、在庫量問題などに応用され、金融工学では価格評価やリスク評価に不可欠な手法である。ほかにも交通工学、半導体工学、通信工学、信頼性工学、計算機科学、コンピュータ囲碁プログラム、コンピュータグラフィックス、マーケティング、プロジェクトマネジメント、生物学、生態学、社会心理学などの領域で幅広く用いられている。

 モンテカルロ法と同等の計算方法は、18世紀のフランスの博物学者・哲学者ジョルジュ・ルイ・ルクレール(Georges-Louis Leclerc)の「ビュッフォンの針」をはじめ、昔から知られていた。しかし実用レベルの精度で結果を得るには、反復演算に適した装置=コンピュータの登場を待たねばならなかった。今日に直接つながるモンテカルロ法の歴史は、ポーランド出身の米国人数学者であるスタニスラウ・M・ウラム(Stanislaw Marcin Ulam)の着想に始まる。

 1946年ごろ、ロスアラモス(現ロスアラモス国立研究所)で水爆の開発に従事していたウラムは、ソリテア(トランプの1人ゲーム)を最後までやれる割合がどのくらいになるかを考えた。すべての可能な組み合わせを計算することは指数関数的な処理量の増大を招き、カードが少数の場合を除いて実際的ではないが、ゲームをランダムに試行してその割合に注目することで近似的な結果が得られる。この考え方を核物質内の中性子の拡散現象の解明に適用できることに気付いたウラムは、ロスアラモスの同僚であるジョン・フォン・ノイマン(John von Neuman)にクルマの中で提案したという。

 フォン・ノイマンは、米国陸軍が砲/砲弾ごとの弾道特性を計算するためにペンシルベニア大学に作らせた電子積分計算機・ENIACにかかわっており、この装置がちょうど稼働を始めていた。フォン・ノイマンらは、計算機で乱数(疑似乱数)を作り出す方法や決定論的問題を確率モデルに変形する方法を考案し、ランダムさを解析に利用する方法の基礎付けを行った。

 この方法は確率的ゲーム=賭けとして数学的に定式化できることから、ギャンブルの街にちなんで「モンテカルロ法」と呼称された。命名者はロスアラモスの数学者・物理学者のニコラス・C・メトロポリス(Nicholas Constantine Metropolis)とされる。この名付けには、ウラムのおじに、モンテカルロのカジノで賭博のために借金した人がいたというエピソードが関係するという。1949年にはシンポジウムが開催され、Journal of the American Statistical Association誌(No.247)にメトロポリスとウラムの論文『The Monte Carlo method』が掲載されている。ここでは決定論問題の確率モデル化が論じられている。

 メトロポリスは、ハンガリー出身の物理学者エドワード・テラー(Edward Teller)らとの共著論文(1953年)で有限個の標本集団を作り出すときに、各要素が母集団の分布に従って出現するアルゴリズムを示した。統計物理学の分野で「モンテカルロ法」といえば、この方法およびその発展形のことをいう。特に区別する場合には「メトロポリス法」「動的モンテカルロ法」「マルコフ連鎖モンテカルロ法」と呼ぶ。

参考文献

▼『モンテカルロ法』 宮武修、中山隆=著/日刊工業新聞社/1960年11月モンテカルロ法』 宮武修、中山隆=著/日刊工業新聞社/1960年11月

▼『数学のスーパースターたち――ウラムの自伝的回想』 ウラム=著/志村利雄=訳/東京図書/1979年11月(『Adventures of a Mathematician』の邦訳)

▼『モンテカルロ法とシミュレーション――電子計算機の確率論的応用〈三訂版〉』 津田孝夫=著/培風館/1995年7月

▼『統計的データ解析のための数値計算法入門』 岩崎学=著/朝倉書店/2004年10月

▼『計算統計II』 伊庭幸人、種村正美、大森裕幸、和合肇、佐藤整向、高橋明彦=著/岩波書店/2005年10月

『LOS ALAMOS SCIENCE, NUMBER 15, 1987. Special Issue, Stanislaw Ulam 1909-1984』 Los Alamos National Security, LLC Los Alamos National Security, LLC


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ