乱数

Xorshift の逆関数に関する考察/正逆双方向に計算できる Xorshift

はじめに 取説(というかライセンス表記)のないSwitchでポケモン新作が出たら乱数生成器や初期化方法を特定するのがめんどくさくなりそうだから、あらかじめいろんな疑似乱数の逆関数を求めておけばいいんじゃね? な企画第1弾。ということでとりあえず目…

正逆双方向に計算できる SFMT

正逆双方向に計算できる SFMT のクラスを作ってみた(※ただし周期が \(2^{19937}-1\) のものに限定した)。 逆算部分の理論はメルセンヌ・ツイスタの tempering の逆関数や TinyMT の更新関数の逆関数とほぼ変わらないので、詳細はそちらを参照。

TinyMT の更新関数 tinymt32_next_state(tinymt32_t*) の逆関数に関する考察

TinyMT の更新関数 tinymt32_next_state(tinymt32_t*) の逆関数において、逆関数適用後の status[0] の最上位bitが不定値になる問題について調べてみた。 前置きが長いので「本題」で検索してヒットところから読めば充分だと思います。タブンネ。 理論なんて…

線形合同法(LCG)に関する考察

LCGの復習的な。 新情報はたぶんないです。

メルセンヌ・ツイスタの逆算に関する考察

メルセンヌ・ツイスタを逆算する式を求める。 なお、 tempering 部分の逆関数は既にできているので省略する(→メルセンヌ・ツイスタのtemperingの逆関数に関する考察 - Plus Le Blog)。

正逆双方向に計算できるメルセンヌ・ツイスタ

正逆双方向に計算できるメルセンヌ・ツイスタのクラスを作ってみた。 理論などの詳細は下記参照。 メルセンヌ・ツイスタのtemperingの逆関数に関する考察 - Plus Le Blog メルセンヌ・ツイスタの逆算に関する考察 - Plus Le Blog