2014-10-01から1ヶ月間の記事一覧

メルセンヌツイスタの調律を行列で書く

擬似乱数生成器メルセンヌツイスタ(MT)には以下のような調律(tempering)と呼ばれる関数が登場します。 u32 tempering(u32 x) { x ^= (x >> 11); x ^= (x << 7) & 0x9d2c5680; x ^= (x << 15) & 0xefc60000; x ^= (x >> 18); return x; } MTの作者自身の講義…

ジョインアベニューの日替わりseedの周期

ポケモンBW2のジョインアベニューの日替わりseedで使われている漸化式がちょっとおもしろいです。 s[n+1] = ((s[n] * 0x5d583d6d6c078979 + 0x26a693) mod (2^64)) >> 32まず、0がこの漸化式の不動点になることがわかりますが、実際のゲーム中では0になった…

近況

乱数講座 乱数講座というものに参加しました。 (9月7日) LCG Ring LCG Ringというプログラムを書きました。 (9月24日) LCG Ring ポケモンの乱数調整ユーザーなら見ただけで何を意味しているかは分かるはず。 ジョインアベニューのくじの解析 ポケモンBW2のジ…

筆者: oupo (連絡先: oupo.nejiki@gmail.com)