アルゴリズムの本を読んで気になっていたので、random()を調べてみた。 コンピュータでは通常、完全にランダムな値を作ることはできない。実用上問題無いくらいにバラバラの値を上手い計算方法で取り出して使っている。これを疑似乱数(pseudo-random number)という。 疑似乱数の計算方法はいくつも提案されているが、その中でも特に使われているのは、線形合同法のようだ。randomにも良し悪しがある、というのは聞いてはいたがActionScriptのMath.random()が悪いほうなのかどうかが気になっていた。 今回はさらにSFMTも並べて計算速度、偏り具合を見てみた。 ●Math.random()と線形合同法とSFMTの三つをを比較してみた。 それぞれを実行時間(sec)を計るために100万回実行し、取り出した値の偏りを視覚的に確認するために、40万の点の座標をx,yで作り画像