モンテカルロ法とは?

モンテカルロ法とは、ランダムな数値を用いて、数値計算を行う手法のことです。


モンテカルロ法は、確率的に求めることが困難な問題や、数式的に解くことが困難な複雑な問題に対して、数値的な解法を提供することができます。

よくある事例:円周率(π)を求めてみよう

例えば、円周率(π)を求める問題を考えてみましょう。

πを求める過程

以下のような図形を用意します。

・1辺が「2r」の正方形

・半径が「r」の円

image01.png

それぞれの面積は以下のようにあらわすことができます。

※円の面積は便宜上「π」を使っていますが、この時点では値が分かっていないものとしています。
上記の面積より、πは以下のようにあらわすことができます。

image02.png

πは円の面積と正方形の面積が分かれば求めることが出来そうです。

しかし、今の時点では「円の面積はπを用いない」と求めることができません。

そこで「モンテカルロ法」を用いることとします。

1)正方形の中にランダムに大量の点を落とします。

2)正方形を埋め尽くすほどの点を落としたとき、

 【円内に落ちた点の数≒円の面積】

 とみなすことができます。

3)つまり、以下のような式が成り立ちます。

image03.png

4)点の数が多いほど、πの値の精度が高まります。

以上がモンテカルロ法を用いた、πの推定方法となります。

pythonを用いたシミュレーション

では、実際にPythonでシミュレーションしてみましょう!

このページに添付されてるテキストがコードです。

以下が結果です。

点の数を100~100,000まで増やしてシミュレーションしています。

このように、モンテカルロ法は、ランダムな数値を用いて、問題を解決する方法です。

確率的な問題や複雑な問題に対して有効な手法であり、様々な分野で利用されています。
image04.png


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS