#author("2026-01-16T12:05:23+09:00","","")
#author("2026-01-16T12:05:41+09:00","","")
&size(24){問題解決のための数学/モンテカルロ法};
----
**モンテカルロ法とは? [#cd0b853f]
モンテカルロ法とは、ランダムな数値を用いて、数値計算を行う手法のことです。
----
''モンテカルロ法とは、ランダムな数値を用いて、数値計算を行う手法のことです。''

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

**よくある事例:円周率(π)を求めてみよう [#z6c81866]
例えば、円周率(π)を求める問題を考えてみましょう。

**πを求める過程 [#mf47d288]
以下のような図形を用意します。

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

・半径が「r」の円

&ref(./image01.png,70%);

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

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

&ref(./image02.png,70%);

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

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

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

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

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

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

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

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

&ref(./image03.png,70%);

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

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

**pythonを用いたシミュレーション [#q70b79b3]
では、実際にPythonでシミュレーションしてみましょう!

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

以下が結果です。

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

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

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

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS