この記事はPokémon RNG Advent Calendar 2017 15日目の記事です。15日の記事のはずでした。

 

これの仕組みの詳細について。

それにしても、SMの孵化乱数確立からもう1年経ったんですね……(しみじみ)。

 

さき先生はさらっと書いていらっしゃるけれど、1年前の自分はほとんど理解できませんでした。

ので、あれこれ考えて(主に大学の講義中に)、自分なりに理解したことを詳しく書き起こしてみました。

大学1年レベルの線形代数の知識しか使ってないので(というか行列の積の計算を知っていれば十分なはず…)、重度の数学アレルギーでない方なら読めると思います。「あのベクトルとか行列とかいう得体のしれないやつらはこういうところで活躍するのか」って思って貰えれば幸いです。

127個の乱数値の最下位bit列から元の内部状態を復元する

↑数式を書くためにはてなに乗り換えようかとも悩みましたが、結局pdfファイルにまとめました。

※F_2^{127}は「二元体(0と1しか存在せず、1+1=0になる不思議な不思議な狭い世界)上に存在する、127個の要素を持つベクトル」の集合です。「X_nっていうのは要素が0か1で、1+1=0で計算する、やたら長いベクトルなんだな」くらいの認識で十分です。

 

一切査読してもらってないので、間違ってるところがあればご指摘ください。

行列・ベクトルの番号の振り方がちょっと変わっているのは仕様です。