シャッフル

実験

http://d.hatena.ne.jp/KZR/20081203/p2

最初の方のアルゴリズムを使ったら分布がどうなるのか3つの要素の場合でやってみた。








[1,2,3]をnaiveにシャフルしたときの分布
123
index
09108
19810
2999

たしかに偏りがある。

問題

乱数は定義からして予測できない。予測できないものを扱うときは困難が伴う。
ナイーブにテストコードがかけない。
入力と出力の関係が明白でなく、入力が極めて多様である。
「出力ひとつひとつ」ではなく「出力全体の傾向」がわからないといけない。

とりあえずの対策

安全だと分かっている書き方で、よりナイーブに書く。
自分で開発せずに定評あるライブラリを探す。