数値解析法及び演習 第十一回

乱数とモンテカルロ法
  1. ガウス分布
  2. 乱数の発生法
  3. モンテカルロ法
  4. 今日の宿題

[1]ガウス分布

ある量を繰り返し計測すると,計測値は特定の分布をとることが多い.分布の中でも特に重要なものはガウス分布(正規分布)である.


\begin{displaymath}
f(x)={1\over \sqrt{2\pi}\sigma}\exp(-x^2/2\sigma^2)
\end{displaymath} (1)

式(1)において,σ2は分散である.

ガウス分布の図(平均値=1,分散=1)

ガウス分布に近い計測値の例(新しい誤差論:古澤康和著より作成):

生徒の身長の分布.

セシウム原子から放出されるガンマ線の計測結果.横軸はチャネル数,縦軸は計数値.

スペクトル線の位置の平均値からのずれ.横軸は残差でμm単位.


[2]乱数の発生法

数値実験を行うと乱数が必要になる場合がある.コンピュータで乱数を発生さ せる方法はいくつかあって,それについて学ぶ.なお,コンピュータで発生で きるのは「真の」乱数ではなく疑似乱数である.

混合合同法

これは,


\begin{displaymath}
x_{n+1}=ax_n+b \quad {\rm mod}\,\mu
\end{displaymath} (2)

によって順次乱数を発生させるものである.右辺で計算した値をμで割り,その余りを左辺に代入する.

練習問題1

3ビットの計算機において乱数列を発生させ,その周期についてしらべてみよ. x1=1とし,μ=4とせよ.a=3,b=1, a=2,b=1, a=1,b=3の場合についてしらべよ.

32ビット計算機では,混合合同法をもちいると
       I=843314861*I+453816693

      if(I.lt.0) I=(I+2147483647)+1
      ran=float(I)*4.656612873D-10

をつかうことで[0,1)に規格化された乱数をつくることができる.

練習問題2

  1. 上のアルゴリズムを用いて乱数を発生させ,平均値,標準偏差を求めよ.乱数を発生させる回数を10, 100, 1000, 10000, 100000, 1000000と変化させてみよ.
  2. 解析的に平均値,標準偏差を求めよ.
  3. 乱数の和の分布がどのような形状になるか.
    • 乱数をN個発生させ,その和を求めよ.
    • (N個の乱数の和-N/2)/Nを求めよ.
    • 上の計算を多数回行い,(N個の乱数の和-N/2)/N(以後xとする)を多数回求めよ.
    • xの範囲は-1/2≤x≤1/2となる.この範囲を0.01刻みごとに区切り,(それぞれの区切りにxが入る場合の数)/(全体の場合の数)を求めよ.
    • Nを1から10まで変化させて分布の形状が変化するか観察せよ.

練習問題3

整数の目盛がふられた定規を考える.原点(x=0)にいる人がランダムに隣の目 盛りにうつる.そのときの足取りを計算せよ.何通りも足取りを計算させてそ の平均をとり,ステップ数Nと原点からの距離R=|x|をグラフに表し,その関数形 R=R(N)を推測せよ.

[3]モンテカルロ法

乱数を用いると多重積分を容易に行うことができる.例としてN次元単位球の体積を求めてみよう.

乱数をN個用意する.各乱数 xi (1≤i≤N) は0から1の値をとる.この乱数の組をW回生成する.生成した乱数のうち,


\begin{displaymath}
x_1^2+x_2^2+x_3^2+....+x_N^2\le 1
\end{displaymath} (3)

を満たす組の数をwとすると,N次元球の体積は近似的に


\begin{displaymath}
V_{N}=2^N\times {w\over W}
\end{displaymath} (4)

と求めることができる.一方で解析解は


\begin{displaymath}
V_{2m+1}={2(2\pi)^m\over (2m+1)!!} \quad m=0,1,2,...
\end{displaymath} (5)


\begin{displaymath}
V_{2m}={\pi^m\over m!} \quad m=1,2,3,...
\end{displaymath} (6)

となる.

練習問題4


今日の宿題 (12/16日まで)

授業中に伝えます.




日程表へ戻る <<