円周率ってどう計算する?

モンテカルロ法というのは、本来は数学の理論を駆使して計算するなどして求めるべきことを、ランダムな結果が出るテストを膨大な回数繰り返して、力技で求めてしまう手法です。

それでは、1辺の長さ200の正方形にぴったり接する円(赤い円)を考えます(図1)。たくさんのダーツを投げたとして、そのうち赤い円に何本ダーツが当たったかを数えれば、円の面積と正方形の面積の比率がわかります。正方形の面積は、200 × 200 = 40000 なので、次の式で比率が出ます。

図1  1辺の長さ200の正方形にぴったり接する円を考えよう

円の面積 / 40000(正方形の面積)= 円の内側に当たったダーツの本数 / 投げる全ダーツの本数

例えば、もしダーツがちょうど半分当たったら、円の面積も正方形の半分と考えてよいでしょう。

さて、ここで円の面積の公式を思い出してみましょう。

円の面積 = 円周率(π)× 半径 × 半径

これが円の面積を求める公式です。図1においては、次のように言えます。

円の面積 / 40000(正方形の面積)= 円の内側に当たったダーツの本数 / 投げる全ダーツの本数

この円の半径は100なので、以下で円の面積が得られます。

円の面積 = 円周率(π)× 100 × 100 = 円周率(π)× 10000

これを先の式に当てはめると、以下になります。

円周率(π)× 10000 / 40000 = 円の内側に当たったダーツの本数 / 投げる全ダーツの本数

10000 / 40000 は約分すれば 1 / 4 ですから、

円周率(π)× 1 / 4 = 円の内側に当たったダーツの本数 / 投げる全ダーツの本数

両辺に4を掛けると、次のようになります。

円周率(π)= 円の内側に当たったダーツの本数 / 投げる全ダーツの本数 × 4

投げる全ダーツの本数はわかっていますから(今回は4万本にします)、円の内側に当たったダーツの本数がわかれば、そこから円周率もわかるということです。

次のページ
そのプログラムをScratchでつくってみると…