疑似乱数について その1 線型合同法の最大周期条件
用語と例
少し用語を整理しよう。線型合同法により生成される疑似乱数列は、組が与えられたとき漸化式で定められる。(は整数かつを満たす。*1)が取る状態の数は有限なので、必ずどこかで軌道が交わる。つまりあるが存在してが成り立つ。このときならが常に成り立ち周期的になる。そこでを組の周期(period)と呼び、特にとしてよいとき巡回的(cyclic)と呼ぶ。疑似乱数としての役割を考えれば周期は長ければ長い方が良い。一般に周期を取る組は、初期値を変えてもその周期は変わらない。このようなとき組を理想的な組と呼ぶことにする。
例えばを考えると、
という列を生成する。これは巡回的かつ周期はであるからに等しい。従っては理想的な組となる。注目すべきはその並びであり、一見しただけではその法則が分からないので疑似的な乱数と思える。疑似乱数として使うときは普通全体をで割る。
次はを考えよう。生成される列は
となる。上は巡回的だが、のときは巡回的ではない。もちろん理想的ではない。
周期が複数ある場合も存在する。が生成する列は
となる。それぞれは巡回的だが、周期は短く数の並びも予測し易い。
最大周期条件
組が理想的となる条件(最大周期条件)を求めたい。そのためには周期を直接求めるのではなく、まず部分的な場合に帰着させることを考える。
補題 組が生成する列は巡回的で、周期はとする。を素因数分解としよう。各への剰余で与えられる組が生成する列(剰余列と呼ぶことにする)も巡回的で、周期はとする。このときはの最小公倍数となる。
(証明)は互いに素として、が生成する列を、への剰余で得られる組が生成する列をそれぞれとする。何れも巡回的で、周期はとする。このときがの最小公倍数であることを示せば良い。
まずであり、帰納的に
となるのでとなる。同様にを得る。それぞれの生成列が巡回的であることと、が互いに素であることからとは同値になる。従っての最小公倍数をと置けば、よりを得るのでが言える。一方よりを得るのでも言える。故にとなる。
つまりとなるためにはとなる必要があり、逆もまた然りということになる。何れも巡回的という条件はあるが(外せるかもしれないけど面倒そう)、素数冪に落とせるのは都合が良い。
元の問題に戻って、巡回的となる条件を調べてみよう。つまりとなるが存在する条件を考える。を計算すれば
と同値になる。で括ればとなるが、これが適当なで成り立つときは巡回的となり、常にであるときは巡回的とならない。例えば先ほどの二番目の例()だと、はを繰り返し、またのときなので積はゼロにならない。よって巡回的ではない。
得られた式は変数が多く難しいが、
とき、もと互いに素となり、式はになる。実は次が成り立つ。
命題 を素数、はで割り切れるとする。このとき
が成り立つ。更にとなる最小のをと置くとき、であることと、またはであることは同値になる。
(証明)まずのときはが成り立つ。とすれば、より及びを用いてと表せる。このとき
となる。これがのときで割り切れることを示せばよい。ここで二項係数の部分は
であり、括弧の中身は再び二項係数、特に整数となる。問題なのは分母のだが、に現れる素因数の個数は
より少ない。つまり以下となる。分子に現れる個数は以上であるため、よりを括りだせることが分かる。
とする。のときとすると、はが回続くのでその和はとなる。これはで割り切れてしまい、最小性に反する。従ってを得る。
最後に逆を示そう。と置けば
を得る。最小性からが従うのでとなる。つまりはの冪であることが分かる。同様な方法でより大きい冪のなら常にとなるので、結局のときゼロにならないことを示せば十分である。
先ほどと同じようにと置いて計算すると、第一項目()はとなりで割り切れない。そこで第二項目以降()がで割り切れることを示せば良い。のときはなので一つ余分に括りだせる。のときはであることが必要となるが、仮定よりだから条件を満たす。
議論が込み入ってきたが準備はこれで整った。線型合同法における理想的な組は次で特徴付けられる。
定理 組が理想的であることと、以下の三条件を満たすことは同値である。
- とは互いに素である。
- の素因数はを割り切る。
- のときである。
(証明)三条件を満たすとする。初期値を取り列を作る。まずはこれが巡回的であることを示そう。条件よりとなるが存在すればよい。とする。まず条件よりとなるが存在する。(剰余列は巡回的である。)と置けば良い。従ってが生成する疑似乱数列は巡回的である。更に周期は、補題より各剰余列の周期の最小公倍数となる。ここで命題よりが従うから、その最小公倍数はである。故にを得る。つまりは理想的である。
逆にが理想的であるとしよう。とが共通素因数を持つとする。が生成する列を調べると、が成り立つ。一方だから、はを取り得ない。つまり理想的であることに反する。よってとは互いに素である。次にだがとなるが存在すると仮定する。理想的だから剰余列も理想的であるはずだが、とが互いに素であることから、適当なが存在してとできる。このときを考えると、剰余列においてが成り立つ。これは周期がであることを意味する。これは矛盾する。故にならでなければならない。後は命題よりならも従う。
所感
Hull-Dobellの論文は三条件を満たすなら理想的であることを証明している。上の議論の殆どはこれを参考にしたが、ギャップを少し自分で埋めた。Knuthの本はHull-Dobellの結果を整理する形で紹介しているが同値性まで主張している。でもきちんと証明されているかというと正直微妙な印象はある。(自分の頭が足りないのだろう。時間が掛かったのは修正に苦労したせい。)ちなみにが冪の場合はHull-Dobellより早くM.GreenbergerがJACM 8(1961),383-389で証明しているらしい。興味があれば探してみても良いかもしれない。
あと別件ですが、「ざっくり学ぶ可換環論」のpdfは公開場所を変えようと思います。マイクロソフトアカウントが一時保留にされてしまい、別アカを取ったのですが再度保留になったのでいい加減面倒になりました。Docs.comに登録してない別アカは大丈夫みたいなので、恐らくですがDocs.comからのアドレス流出がある可能性が高いです。(それが迷惑メール等の偽装アドレスとして使われまくってる?)
参考文献
[1] Donald E.Knuth. The Art of Computer Programming, Second Edition, Volume 2.
[2] T.E.Hull, A.R.Dobell. Random Number Generators. SIAM Review, Vol.4, No.3, July, 1962. pp.230-254.
*1:一般論を扱うときは乗算型合同法()も一緒に考える。