モンテカルロ法

 教科書のうしろにのっている“乱数表”って何のためにあるのでしょうね? 乱数とは読んで字のごとし,でたらめな数のことをいいます。勝手にでたらめの数を作れといっても,それは難しいものがあります。始めから作ってあるのが,あの乱数表なのです。
 コンピュータを使うと,いくらでも勝手な数を作り出してくれます。最近は懸賞とかの抽選もデジタルされ,コンピュータが当選番号を決めてしまいますよね。少しいんちきくさい感じもしますが。さて,そんな乱数,いったいどうやって使うのでしょう。
 次の数字はコンピュータが勝手に作り出した,1から6までの数字を100個並べてあります。1から6と聞いて何か思い出しますね。そうです,サイコロの数字です。授業で確率の勉強をする時に,みんなでサイコロをふってどの数字が何個でたかを実験したことはありませんか?(あまりやらないかな?)
 下のグラフはそれを個数でグラフ化したものです。コンピュータに100個作れといっても,当然毎回同じものが出るわけではありません。6回作らせるとそれぞれ別なグラフができあがります。

4,2,2,1,1,6,5,2,5,4,5,1,1,1,2,6,3,3,3,4,1,3,5,6,6,2,2,1,3,6,3,2,2,3,2,4,1,2, 1,5,5,6,1,4,2,3,5,5,2,5,6,5,5,3,2,6,3,4,2,6,6,5,5,1,3,4,2,2,6,2,4,1,3,3,3,1, 3,1,5,2,6,4,4,3,2,5,4,3,6,2,5,5,5,5,5,2,5,6,4,5

 回数を100回からもっと多くしてみたのが次のグラフです。だんだんと理論的な確率に近づいていきますね。

300回1000回2000回

 さて,このように乱数を使って確立の模擬実験を行おうというのが“モンテカルロ法”と呼ばれるものです。いくつか例をあげてみましょう。

○2個のサイコロの目の和

 2個のサイコロを投げて,出る目の和を調べてみましょう。回数を多くするとだんだんと理論値に近づいていくのが分かります。

180回360回1080回

○円の内部にある点の個数からπを求める

 −1<a<1,−1<b<1における乱数a,bを作って,点(a,b)と
   円  x2+y2=1
を図示し,円の中にある点の個数を数えることによって円周率の値を求めてみます。
 次の図は個数を変えて,点(a,b)をプロットしたものです。100この点をプロットすると円の中には77個含まれています。1辺が2の正方形(面積4)の中に半径1の円(面積π)があるわけですから,πの値は
   4×77/100=3.08
と近似することができます。個数を増やしていくと3.14に近づいていくのがわかります。

100個300個1000個
77個(3.08)232個(3.0933)776個(3.104)