乱数を用いた円周率計算

乱数だけで円周率を求める。

円を用いて円周率を計算する

2005/06/09-2008/08/04

前回の公式を使った円周率に引き続き、今度は乱数を使ってみる。

次のような図形を考える。

正方形に内接する円

これは正方形とその中に内接する円だ。乱数を使ってこの2つの面積を求める。まずこの正方形内の座標を無造作に選ぶ。選んだ回数が正方形の面積に相当し、選んだ座標が円の中に入った場合これを円の面積としてカウントする。

正方形の1辺の長さをnとして、円の面積=(n/2)2π、正方形の面積=n2

打たれた点の総数をi、円内に入った点の総数をkとすると…

i:k = n2:(n/2)2π

n=1を代入(nの値はなんでもいい)

i:k = 1:π/4

k = πi/4

4k/i = π

となるのが分かる。即ち、π=4×円内の座標数÷総座標数

以上、乱数だけで円周率を計算する方法。後に調べてみると、この方法はモンテカルロ法と呼ばれているようだ。

補足

この方法は円の座標を均等に選び出すことを目的に乱数を使っており、乱数のランダム性の精度は要求しない。そのため、仮に乱数を使用しなくても、適当な間隔で均等な座標を選びつづければ結果は同じになる。例えば、上記の図形を格子状に区切って、各格子について判定を行っても良い。

ビュッフォンの針

2006/07/22-12:20

等間隔の平行線が無数に引かれた平面上に、平行線の間隔と同じ長さの針を無数に落としたとき、針が平行線と交わる確率は2/πになる。

流石に針を落とす暇はないんでシミュレーションのみ。

おまけ:ランダム文字列

2005/06/09

暇だったのでランダムな文字列を表示するプログラムも作った。ランダムなのでパスワード生成に最適です。

関連記事

2008/08/04

ページ情報

作成日時
2005/06/09
最終更新日時
2008/08/04
HTML4.01版
index.html
XHTML1.1版
index.xhtml
XML原本
index.xml