概要
$RANDOM
は乱数としてはそんなに精度が高くないみたいなはなしを聞いたような聞かなかったようなきがしたので雑に調べてみる。
調べ方
echo ${RANDOM}
を無限ループでぶん回す- 1億行くらいになったら止める
- ばらつきを集計する
1. echo ${RANDOM}
を無限ループでぶん回す
だいたいこんなかんじでぶんまわす。
while true do echo ${RANDOM} >> ./random.txt done
2. 1億行くらいになったら止める
やりすぎた。
$ wc -l random.txt 110424165 random.txt
ちなみにファイルサイズ的にはこんくらい
$ ls -lh random.txt -rw-rw-r-- 1 ec2-user ec2-user 597M 6月 1 06:07 random.txt
3. ばらつきを集計する
sortしてuniqしてawkでごにょごにょ
$ sort -n < sample-3.txt | uniq -c | awk '{a+=$1; print $2, $1}'
こんなかんじでどの値が何回出力されたかがわかるようになる。
0 3400 1 3398 2 3352 3 3479 4 3306 5 3391 6 3376 7 3450 8 3376 9 3323
結果
グラフでだすとこんなかんじ
出現回数ランキングでいくとこんなかんじ (2カラム目が出現回数)
おおいランキング
$ cat result.txt | sort -nk 2 -r | head 14330 3614 18986 3580 16599 3575 15505 3575 23779 3570 3823 3564 29794 3564 12101 3564 27530 3563 19883 3563
すくないランキング
$ cat result.txt | sort -nk 2 | head 22708 3126 24616 3153 10652 3154 1871 3158 24720 3164 4305 3169 16935 3173 1124 3174 24263 3175 12221 3176
その差は488
$ echo "3614 - 3126" | bc 488
まとめ
なるほどわからん
- 作者: 三宅英明
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2017/11/21
- メディア: 単行本
- この商品を含むブログを見る