xorshiftジェネレータ:23、17、26が特別な理由
Xorshift Generators
xorshiftジェネレータは、擬似乱数を生成する最も広く使われているアルゴリズムの一つで、わずか数行のビット演算で数十億のデバイス上で動作しています。この記事では、xorshift32とxorshift64の仕組みを解説し、なぜ13、17、5のような特定のシフト量が「最大」となるのかを探ります。最大のトリプレットは、ゼロ以外のすべての値を生成でき、その数は32ビット版でわずか162個です。また、Marsagliaの論文の誤りや、2回のシフトでは不十分な理由についても触れます。
これらの定数は任意に見えるかもしれませんが、決してランダムではありません。なぜなら、それらは問題の奥深くにある何かと、その解決方法を常に明らかにしているからです。