モンテカルロ法
[Wikipedia|▼Menu]

モンテカルロ法(モンテカルロほう、(: Monte Carlo method、MC)とはシミュレーション数値計算乱数を用いて行う手法の総称。元々は、中性子が物質中を動き回る様子を探るためにスタニスワフ・ウラムが考案しジョン・フォン・ノイマンにより命名された手法。カジノで有名な国家モナコ公国の4つの地区(カルティ)の1つであるモンテカルロから名付けられた。ランダム法とも呼ばれる。
計算理論

計算理論の分野において、モンテカルロ法とは誤答する確率の上界が与えられる乱択アルゴリズム(ランダム・アルゴリズム)と定義される[1]。一例として素数判定問題におけるミラー-ラビン素数判定法がある。このアルゴリズムは与えられた数値が素数の場合は確実に Yes と答えるが、合成数の場合は非常に少ない確率ではあるが No と答えるべきところを Yes と答える場合がある。一般にモンテカルロ法は独立な乱択を用いて繰り返し、実行時間を犠牲にすれば誤答する確率をいくらでも小さくすることができる。またモンテカルロ法の中でも任意の入力に対して最大時間計算量の上界が入力サイズの多項式で与えられるものを効率的モンテカルロ法という[2]

なお、これとは対照的に理論上必ずしも終了するとは限らないが、もし答えが得られれば必ず正しい乱択アルゴリズムをラスベガス法と呼ぶ。

計算複雑性理論では、確率的チューリング機械によるモデル化によってモンテカルロ法を用いて解決できる問題のクラスをいくつか定義している。代表的なところでは RPBPPPP などがある。これらのクラスと PNP との関連性を解明していくことによって、モンテカルロ法のようにランダム性を含むアルゴリズムによって解ける問題の範囲が拡大しているのか(P ≠ BPP なのか)、それとも単に決定的アルゴリズムで解ける問題の多項式時間の次数を減らしているだけなのか(P=BPP なのか)は計算複雑性理論における主要課題の1つである。現在、NP ⊂ PP 、RP ⊆ NPであることはわかっているが BPP と NPとの関係はわかっていない。
準モンテカルロ法

一様乱数ではなく、超一様分布列(英語版)を使用する方法を準モンテカルロ法(英語版)という。乱数を利用するよりも収束が早くなる場合がある。ただし、純粋にランダムな方法ではないので、正解を得られる可能性が確率論的に低下する場合がある。

超一様分布列としては、以下などがある。

ファンデルコルプト数列[3]

ハルトン列(英語版)[4]

ソボル列(英語版)[5]

ニーダーライター列[6]

ファウレ列[7]

数値積分モンテカルロ法を円周率πの値の近似に適用した例。30,000点をランダムに置いたとき、πの推定量は実際の値から0.07%以下の誤差の範囲内にあった。

数値解析の分野においてはモンテカルロ法はよく確率を近似的に求める手法として使われる。n 回シミュレーションを行い、ある事象が m 回起これば、その事象の起こる確率は当然ながら m/n で近似される。試行回数が少なければ近似は荒く、試行回数が多ければよい近似となる。

また、この確率を利用すれば、積分(面積)の近似解を求めることが可能となる。領域 R の面積 S は、領域 R を含む面積 T の領域内でランダムに点を打ち、領域 R の中に入る確率 p をモンテカルロ法で求めれば、S = pT で近似される。

n 重積分 I = ∫ 0 1 ⋯ ∫ 0 1 f ( x 1 , x 2 , … , x n ) d x 1 ⋯ d x n {\displaystyle I=\int _{0}^{1}\dotsi \int _{0}^{1}f(x_{1},x_{2},\dotsc ,x_{n})dx_{1}\dotsm dx_{n}}

をサンプルサイズ N のモンテカルロ法で計算するには、0 以上 1 以下の値をとる n × N 個の一様乱数 X i , j , 1 ≤ i ≤ n , 1 ≤ j ≤ N {\displaystyle X_{i,j},\quad 1\leq i\leq n,1\leq j\leq N}


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:25 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef