のんびりさんの中学受験!?

小学生の娘と夫と私...3人4脚でがんばろう!

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

はじめに

こどもとおとなが、最近NHKの「笑わない数学」という番組を(録画して)見ています。この番組は、パンサー尾形貴弘さんが、高度な数学をやさしく解説してくれる...と言う番組です。

出てくる数式は難しいものも出てきますが、絵をかいたり、装置を使って実験したり...小学生が見ても楽しめるように作ってあって、おもしろいと思います。

www.nhk.jp

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

先日「確率論」の回を見ながら...なんとなく、「モンテカルロ法で円周率の近似値を求めるのって簡単にプログラムできそうだな」と思いつき、プログラムを作ってみました。

モンテカルロ法

モンテカルロ法は乱数を使ってするシミュレーションのことです。名付け親は、かのジョン・フォン・ノイマン*1で、カジノで有名なモナコ公国にある地域の名前から付けられたそうです。

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

正方形とそれに内接する円の面積を考えてみましょう。

仮に、円の半径を r とすると、1辺の長さが半径の2倍なので、次のようになります。

(正方形の面積)=(2x r)x (2x r)=4x r x r

(円の面積)=r x r x (円周率)

ここから、正方形の面積と、それに内接する円の面積の比を求めると、次のようになります。

(正方形の面積):(円の面積)=4x r x r:r x r x (円周率)=4:(円周率)

ここから、円周率は次の計算で求められます。

(円周率)=(4x (円の面積))/(正方形の面積)

 

...ここまでは普通の話です。

正方形に内接する円

正方形に内接する円

次に、ランダムに正方形の中に点を打っていくことを考えましょう。そうすると、打たれた点の数は正方形の中にまんべんなく散らばります。

そうすると、打った点の総数、円の中に入った点の数のそれぞれが、正方形の面積、円の面積に比例することが期待できます。このように考えると、次の式で円周率が近似できると考えることができます。

 

(円周率の近似値)=(4x (円の中の点の数))/(ランダムに打った点の総数)

 

点の数は、数えることができるから、実験できるでしょう。...と、昔の人は考えたわけです。

算数・数学の授業で扱う方法

コンピューターを使ったシミュレーション

1/4にしても、実際に円周率に近くなるところまで点を打つことを繰り返すのは、とてもたいへんです。

しかし、コンピューターを使うと、1000回でも10000回でも、ボタン一つで実施できます。

 

スクラッチで作ったシミュレーション

こちらはスクラッチで作成したプログラムです。旗を押すとプログラムが動いて、点を打ち始めます。全部終わったところで、キャットが円周率の近似値を行ってくれます。

 

円周率の近似値を常に表示するようにしているので、上下しながら3より少し大きい値に近づいていく様子も観察していただけると思います。

 

おわりに

笑わない数学のエンディングは、スタッフの収録終了の合図があったあと、カメラが引いて、スタジオが映ります。それを見て...

(…笑わない数学のエンディングを見ながら)

娘 「これ、映す必要ある?」

「必要あるかも?」

私も最初は、同じように「映す必要ある?」と思ったのですが...これは...数学の世界に入り込んでいたのを、現実の世界に戻すはたらききをねらっているのかなと思います。

そこまでのことではないかもしれませんが、数に親しみを持つ才のある子どもがいると、何かのきっかけで数(数学)の世界に没入してしまい、戻ってこれなくなる(数学に子どもを取られてしまう)のでは?...と、ちょっと心配になりますよね。

*1:コンピュータの世界では、とっても有名な人。