スタートページWeb教材一覧オペレーションズリサーチシミュレーションシミュレーション(概要)

モンテカルロ法(πの値)

モンテカルロはカジノで有名です。カジノではルーレットなど偶然に支配されるゲームが代表的です。数学では、偶然を乱数により実現します。
 モンテカルロ法とは、乱数を用いたシミュレーションの方法です。


問題の説明

円周率πの値(3.14…)を求めるには高度な数学的知識が必要ですが、ここでは単位円が x2+y2 = 1 で表され、右図の4分円の面積が π/4 であることだけの知識で、πの値を求めます。

Javascriptでは、0~1の値をとる一様乱数を Math.random() で表します。二つの乱数
    x = Math.random();  y = Math.random();
を得て、
    Z = x2+y2;
を計算します。
 Z≦1なら円の内部、Z>1なら正方形の内部で円の外部であることになります。

この x,y の組をn回発生したとき、Z≦1がm回になったとすれば、4×m/nがπに近い値になります。
nを大きくするに伴い、真のπに近づきます。ここでは、n=1万回とします。

シミュレーション結果

次第に真の値(3.14…)に近くなります。途中でせっかく3.14…に近づいたのに、その後離れてしまうこともあります。それは、真の値を知らないので、打ち切ることができないからです。

このようなシミュレーションは、何度もやってみて、その結果を比較することが必要です。→再実行(クリック)