もりの小学校=>算数=>面積

モンテカルロ法で円周率を求める


モンテカルロ法は、1つの円周率を求める方法です。
正方形を書き、その中に4点が接するように円を書きます。
そこへ、丸いもの(点)を繰り返して投げます。
投げたものの中で、中心が円の中に入ったものの数を a とします。
また、正方形の中に中心が入ったものの数を b とします。
これを繰り返すと a÷b×4が 円周率に近づいていきます。
□下のアプレットはパソコンなど、javaが動く環境ならば動作します。

点の落下速度は、最初はゆっくり落ちるようにしてあります。
そして、最後は、最終的な落下速度は、あなたのパソコンでこのソフトを動かせる最大の早さになります。
また、画面上に落とす点は、点数が多くなった場合は、早く表示するため飛ばして表示しています。

3000の点を打ってみました。
3.1までは行くのですが、3,14にはなかなか近づきませんでした。
7分ほどかけて、20000回の点を打ってみると、3.135(今回は)でしたが
2回目には、10000回で3.14に落ち着いたようです。
3.141程度に落ち着くには、どれだけかかるのでしょう。

理論的には、この計算を繰り返せば円周率が計算できることになります。
けれど、これはコンピュータの乱数で落下点を決めています。
コンピュータが作る乱数は、コンピュータの能力のため本当の乱数とはちがって偏りが出てきますので、正確な円周率にはなりません。
その前に、コンピュータの計算桁数もこのプログラムでは制限していて、下の方の桁は丸めてしまいます。
だから、このプログラムでは長時間計算しても、円周率に近寄っていきますが、最終的には無理なのです。
次は面積なら 円と正方形
次は長さなら 3つの円の円周比べです