正規分布の近似(2)

一様乱数より正規分布に近い乱数を使ったほうが、
速やかに正規分布に近づくのではないだろうか。

三角形分布

矩形でなく、三角形の分布を考える。

 p(x) = \frac{1}{a}(1-\frac{1}{a}x) \text{ } (-a \leq x \leq a)

分散が1/Nになるから、

 \int_{-a}^ax^2p(x)dx = \frac{1}{N}
 \frac{1}{6}a^2 = \frac{1}{N}
 a = \sqrt{\frac{6}{N}}

一様乱数rからこの分布への変換は、

 r = \int_{-a}^xp(x)dx
      = \left\{ {\frac{1}{2} + \frac{1}{a}x + \frac{1}{2a^2}x^2\text{ }(-a \leq x \lt 0)\atop{\,\frac{1}{2} + \frac{1}{a}x - \frac{1}{2a^2}x^2\text{ }(0 \leq x \leq a)}}\right.

より、

 x = \left\{ {a(-1 + \sqrt{2r})\text{ }(-a \leq x \lt 0)\atop{\,a(1-\sqrt{2-2r})\text{ }(0 \leq x \leq a)}}\right.

これは一様乱数を2回使ったのと同じだから、
一様乱数のときの半分の回数で同じ精度が得られるはずである。


N=5として計算すると、26秒が38秒になった。
やはりsqrtは遅いのか。