乱数
ns-2ではMRG32k3aという乱数系が使われているとのこと。
コンピュータでサイコロが振れるわけはない。一様にランダムな分布が得られる数式があって、擬似乱数を生成しているのは有名な話。で、たいていの言語にはrandomみたいなライブラリが用意されていている。けど、それってどうよ?という話を聞く。
Linuxのrand関数なんてのはシミュレーションの世界では避けてられているらしい。
まず、乱数の種に日付を入れるのはよくあることだけど、再現性がないのでよろしくない。最低限、何をタネにしたかの記録は必要。ヘンに日付を使っちゃうと、そういうところに意識が行かなくなるぞと。
もうひとつが、周期の問題。乱数の結果を次のタネに使う関係で、いつかは、最初にセットしたタネに戻る可能性がある。ということ。つまり、どこかのタイミングで一周しちゃう。こういった偏りが発生すると乱数の信用性がなくなる。だから、乱数アルゴリズムはちゃんとしたのを使おうよ。だって。
コメントをどうぞ。
TrackBack URI :