アカウント名:
パスワード:
強度と周期を求めない簡易な乱数のトレンドまとめっぽいけど、殆どがビットローテーションとXORに少々乗算って構成で、どれが良くて悪いかとか結果論でしか出てこなさそうなんだけど……その割には評価の説明もないから、各乱数について既知の人しか何もわからん気がする。
個人的にその用途なら内部状態は割り切ってただの16/32/64bitカウンタにして、内部状態をシフトとXorメインに撹乱して結果にする程度のもかなり良いと思う。内部状態をカウンタじゃなくLFSRにしてM系列にするのも良い。周期は2^n、M系列なら2^n-1で保証されるし、カウンタの方は任意の素数にもできる。組み合わせて捻るのも良い。余程の事しなきゃ周期が減る事故もないので気楽にいじれる。
自作した結果、初期状態(libcのrand()で作る)が0だと0しか出てこないRNGを見たことがあるので、実績のあるものを正しく使いましょう…。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
身近な人の偉大さは半減する -- あるアレゲ人
そうなの? (スコア:0)
強度と周期を求めない簡易な乱数のトレンドまとめっぽいけど、
殆どがビットローテーションとXORに少々乗算って構成で、
どれが良くて悪いかとか結果論でしか出てこなさそうなんだけど……
その割には評価の説明もないから、各乱数について既知の人しか何もわからん気がする。
個人的にその用途なら内部状態は割り切ってただの16/32/64bitカウンタにして、
内部状態をシフトとXorメインに撹乱して結果にする程度のもかなり良いと思う。
内部状態をカウンタじゃなくLFSRにしてM系列にするのも良い。
周期は2^n、M系列なら2^n-1で保証されるし、カウンタの方は任意の素数にもできる。
組み合わせて捻るのも良い。余程の事しなきゃ周期が減る事故もないので気楽にいじれる。
Re:そうなの? (スコア:0)
自作した結果、初期状態(libcのrand()で作る)が0だと0しか出てこないRNGを見たことがあるので、実績のあるものを正しく使いましょう…。