yuuka_maniaの日記: 疑似乱数 4
日記 by
yuuka_mania
まとまってるし、時代の流れもわかる。ありがたし。
https://qiita.com/umireon/items/8c1f20c03a4d7b6b7587
まとまってるし、時代の流れもわかる。ありがたし。
https://qiita.com/umireon/items/8c1f20c03a4d7b6b7587
あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー
欲を言えば (スコア:0)
すごいなあ。
できれば疑似乱数の品質検定や生成コスト的な話もあれば最高だった。
Re: (スコア:0)
> 品質検定
大事ですね。ちょうどTwitter(自称X)で見掛けた
・乱数生成が面倒だからって、マイコン内部の数十℃までしか測れない温度計の下4桁から生成するのはやめておけ。5年後のnvidia系のGPUベースのボードコンピュータは熱すぎて0xFになっているぞ。お前の作ったUSBドングル全回収 [twitter.com]
そうなの? (スコア:0)
強度と周期を求めない簡易な乱数のトレンドまとめっぽいけど、
殆どがビットローテーションとXORに少々乗算って構成で、
どれが良くて悪いかとか結果論でしか出てこなさそうなんだけど……
その割には評価の説明もないから、各乱数について既知の人しか何もわからん気がする。
個人的にその用途なら内部状態は割り切ってただの16/32/64bitカウンタにして、
内部状態をシフトとXorメインに撹乱して結果にする程度のもかなり良いと思う。
内部状態をカウンタじゃなくLFSRにしてM系列にするのも良い。
周期は2^n、M系列なら2^n-1で保証されるし、カウンタの方は任意の素数にもできる。
組み合わせて捻るのも良い。余程の事しなきゃ周期が減る事故もないので気楽にいじれる。
Re: (スコア:0)
自作した結果、初期状態(libcのrand()で作る)が0だと0しか出てこないRNGを見たことがあるので、実績のあるものを正しく使いましょう…。