【もんてかるろほう】
モンテカルロ法 とは?
最終更新:
💡 サイコロを何万回も振って、答えに迫る計算術
乱数によるサンプリングやシミュレーションで、平均や確率、積分などを推定する方法。円周率の推定、金融リスク分析、物理シミュレーションや画像生成などで使われる。
📌 このページのポイント
- 問題に合う分布からランダムに試し、結果を集計して値を推定する
- 正方形内の一様な点が内接円に入る割合から、円周率を推定できる
- 金融・物理・統計・コンピュータグラフィックスなどで使われる
- 試行を増やすと統計的な誤差は減る傾向にあるが、毎回必ず改善するわけではない
モンテカルロ法って、カジノと何か関係あるの?
名前はカジノで有名な街モンテカルロに由来するよ。計算では乱数を使って繰り返し試し、結果を集計する。カジノの勝ち方を求める方法という意味ではないんだ
ランダムで本当に正しい答えに近づくの?
問題に合う確率分布から試すことが大切だよ。例えば正方形全体に一様に点を打つと、内接円に入る割合は面積比のπ/4に近づく。だから4×円内の点数÷全点数でπを推定できる。偏って点を打つと、同じ計算ではうまくいかないんだ
点を増やすたびに正確になる?
途中の推定値は上下するので、毎回必ず誤差が減るわけではないよ。独立で同じ分布の試行を平均し、分散が有限なら、二乗平均平方根誤差は試行数の平方根に反比例する。試行を100倍にして誤差をおよそ10分の1にする、という統計的な関係なんだ
実際にどんなところで使われてるの?
金融のリスクや価格の推定、粒子などの物理シミュレーション、画像を作る光の計算などだよ。どの値を、どんな分布とモデルで試すかを決める。試行を増やしても、モデル自体の誤りが自動で直るわけではないんだ
普通に計算するのとどう違うの?
正確な式や別の数値計算法が向く問題もあるよ。モンテカルロ法は高次元の積分などで有力だけれど、必要な精度や試行の費用、ばらつきによって効率は変わる。次元が増えれば常に有利とか、複雑さが増えないという保証ではないんだ
まとめ:ざっくりこれだけ覚えればOK!
「モンテカルロ法」って出てきたら「乱数をたくさん使って近似的に答えを出す方法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Monte Carlo Method」 = モンテカルロ法
💬 カジノで有名なモンテカルロの名前を借りた呼び名だよ。Metropolisは、Ulamの叔父がモンテカルロへ行きたがった話にちなみ、名前を提案したと記している