(57)【要約】【課題】十分な長周期と確率統計的な意味でより高い精度を実現する一様独立性とをコンピュータ上に実現し、検定値による性能保障を与える事ができる乗算合同法乱数の一般化された２次スペクトル検定方法の利用。【解決手段】乗算合同法（ｄ、ｚ）の従来のスペクトル検定に加えて、乗数ｚの２次以上の冪の２次スペクトル検定の簡単で強力な判定の力を見出し、その利用のための可能な手続きを発見開示して、コンピュータ上に実装される最も簡単な構造と最も一般的な表現可能性とを持つ乱数生成機構である大周期乗算合同法において出力の統計的独立性の向上を格段に短い検定時間で実現する方法を、そして乱数生成方式の性能の明示に基づく使用者や消費者の立場を大きく助ける乱数生成機構のより定量的高精度の品質表示手段を、開発した。【選択図】なし【特許請求の範囲】
【請求項１】
乗算合同法を用いて一様独立乱数を生成する新しい方法、即ち正の奇数の法ｄ及びｄとは素な整数の乗数ｚの組（ｄ、ｚ）に基づきｄとは素な任意に与えられた初期値ｎから出発し整数列｛ｒ１、ｒ２、ｒ３、・・・｝を漸化合同式
【数１】
2016224911.tif 000016
で定め除法の等式ｖｋ：＝ｒｋ／ｄを実現して一様独立乱数列｛ｖｋ｜  ｋ＝１、２、・・・｝を与える乗算合同法（ｄ、ｚ）において、法ｄでｚ’：≡ｚ＾Ｉとして定義されるｚ’が、先行技術にはない範囲２≦Ｉ≦６の冪指数についても乗算合同法（ｄ、ｚ’）としての相続く出力乱数の２連の一様独立性を評価する２次スペクトル検定の合格条件ρ２（ｄ、ｚ’）＜１．２５を満たす乗数ｚ、即ち（ｄ、ｚ’）生成乱数の相続く２連が載る２次元格子の逆格子基ベクトルｆ１とｆ２、
【数２】
2016224911.tif 000017
の任意整数ｍ１、ｍ２を係数とする１次結合のベクトルｆ＝ｍ１ｆ１＋ｍ２ｆ２の長さ
【数３】
2016224911.tif 000018
の正の最小値を与えるベクトルｆｍｉｎを見出し、その長さ‖ｆｍｉｎ‖を算出して、それが
【数４】
2016224911.tif 000019
を成立させるという合格条件を満たす乗数ｚ、を用いる乗算合同法（ｄ、ｚ）でコンピュータ上に一様独立乱数を生成する方法。
【発明の詳細な説明】
【技術分野】
【０００１】本発明はコンピュータ上の一様独立乱数の乗算合同法（ｄ、ｚ、ｎ）、即ち整数の法ｄ、ｄとは素な整数の乗数ｚを用いて、ｄとは素なｓｅｅｄ（種）ｎが定める出発値ｒ０≡ｎ（ｍｏｄ  ｄ）、０＜ｒ０＜ｄ、からの整数列
【数１】
2016224911.tif 000002
を順次生成し、
【数２】
2016224911.tif 000003
をコンピュータ上の一様独立乱数出力見本列とする方法、で優れた統計的性能を十分な長周期と共に明示的に与える設計を実現可能とする方法を提出する。以下、出力列の統計的性格には関係しないｎはしばしば省略して、（ｄ、ｚ、ｎ）を（ｄ、ｚ）と略記する。
【背景技術】
【０００２】      中澤と中澤（２００８）は次を示した。区間（０、１）上の乱数の任意の見本列｛ｕＫ｜Ｋ＝１、２、・・・、Ｔ｝で有限の長さＴのものをコンピュータ上で十分大きい桁数の列として考えたものは、必ずある乗算合同法（ｄ、ｚ、ｎ）出力整数列｛ｒＫ≡ｚｒＫ−１（ｍｏｄ  ｄ）｜Ｋ＝１、２、・・・、０＜ｒＫ＜ｄ｝から法ｄで正規化された列｛ｖＫ：＝ｒＫ−１／ｄ｜Ｋ＝１、２、・・・、  ０＜ｖＫ＜１｝によって誤差１／ｄ以内で一様近似される。この事実は我々の整数の除法という算法が持つ基本性質に基づくが、その影響は深甚である。それはコンピュータ上の一様独立乱数の設計は乗算合同法に限っても十分とし、またｄｅｔｅｒｍｉｎｉｓｔｉｃな漸化式で乱数を生成できるか、といった形而上学的な疑念を払拭する。我々は一様独立乱数の見本列である、という統計的仮説を最も弱く否定する乗算合同法乱数を求める、という解決可能な技術問題に専念すればよい。乗算合同法（ｄ、ｚ、ｎ）は独立性の評価にスペクトル検定という簡明かつ根源的な優れた性能評価方法を持つから、上に述べた近似定理はコンピュータ上のどのような一様乱数生成法であっても近似乗算合同法を通してスペクトル検定可能である事を原理的に保証している。しかし任意の一様乱数列から近似乗算合同法（ｄ、ｚ、ｎ）のｄやｚを特定する事は困難だから、始めから乗算合同法として出発する事が殆ど唯一のスペクトル検定可能な設計技術である。但し他の方式を実際的立場から弁護すれば、スペクトル検定の力は素数冪の法とその原始根あるいは最長周期乗数のような場合や一般に生成列の周期が法ｄの少なからぬ部分を占める場合でなければ力を失うし、われわれの計算技術ではすべての乗算合同法を扱う事は実質的に不可能で、乗算合同法だけでよい、とは言い切れない。しかし原理的見通しは力であり、我々の扱い得る乗算合同法の範囲に望ましい乱数生成法が存在する可能性は否定されないのだから、本発明はこれらの認識に基づき、優れた乗算合同法を追及した。実際その試みは成功する。その試みの情報の開示に基づく実現可能な設計技術として、以下に一様独立乱数を製造するための優れた方法として特許権の認可を請求する。
【参考文献】
【非特許文献１】
中澤と中澤〈２００８〉／中澤  宏、中澤直也：長周期で高精度の一様独立乱数の設計、ファイル名  ３０９７０４ｊ．ｐｄｆで２００８年３月９日−７月４日にＵＲＬ  ｈｔｔｐ：／／ｗｗｗ１０．ｐｌａｌａ．ｏｒ．ｊｐ／ｈ−ｎｋｚｗ／ｐａｓｔｒｅｐｏｒｔｓ．ｈｔｍｌにアップロード；関係する記述はその４−８ページ。
【合成数の法ｄでの一般構造】
【０００３】上の［数１］の整数列Ｓ：＝｛ｒ０、ｒ１、ｒ２、・・・｝は
【数３】
2016224911.tif 000004
と表す事ができる。さらに任意の整数ｄＪを法としてＳを見ると、この列は
【数４】
2016224911.tif 000005
である。即ち任意の整数の法ｄＪで見た出力整数列ＳＪは（ｄＪ、ｚＪ、ｎＪ）乗算合同である。特に元の整数の法ｄが２つの互いに素な整数ｄ１とｄ２の積ｄ＝ｄ１ｄ２である場合には、（ｄ、ｚ、ｎ）生成列Ｓは（ｄ１、ｚ１、ｎ１）生成列Ｓ１と（ｄ２、ｚ２、ｎ２）生成列Ｓ２とから孫氏の定理で次のように法ｄで一意に復元する事ができる：
【数５】
2016224911.tif 000006
ここでＲ１、Ｒ２は互いに素なｄ１とｄ２だけで定まる整数で、次の性質
【数６】
2016224911.tif 000007
を持つ。具体的には互いに素なｄ１、ｄ２の最大公約数のユークリッドの式
【数７】
2016224911.tif 000008
で存在と計算可能性の保証された整数Ｄ１、Ｄ２によって
【数８】
2016224911.tif 000009
と定めればよい。視点を変えると、法ｄ＝ｄ１ｄ２が互いに素な因数への分解である場合は［数５］は、第１に、法ｄの乗算合同法が部分乗算合同法（ｄ１、ｚ１、ｎ１）と（ｄ２、ｚ２、ｎ２）の生成列のｓｈｕｆｆｌｉｎｇである、という事を明示し、直ちに幸便な技術的直観、もし部分乗算合同法列が一様独立乱数列として優れたものであれば、（ｄ、ｚ、ｎ）乱数列も優れている可能性が高いだろう、に至る。それはまた、（ｄ、ｚ、ｎ）乱数列の周期が自明に部分乱数列の周期の最小公倍数となり、優れて大きくなる利点も明示する。
【実用での周期の要件】
【０００４】  乱数の周期Ｔについて、工学技術的要件を具体的に考える。古典的Ｍｅｒｓｅｎｎｅ素数ｄ＝２３１−１を法とし、その原始根ｚを乗数にする乱数について言えば、Ｔ＝ｄ−１＝２３１−２≒２３１、得られる乱数は単精度に限られ、現在のパソコン上では１分以内ですべて生成されてしまう（下参照）。周期にはさらに精密な考察が必要である。奇素数ｄの原始根の位数はＴ＝ｄ−１、それはｚＴ≡１（ｍｏｄ  ｄ）が初めて再現する正の整数である。Ｔは必ず偶数となり、ｚＴ／２≡−１（ｍｏｄ  ｄ）が成立する。故に周期の後半｛−ｚ、−ｚ２、・・・｝は前半の繰り返しで独立ではない。この場合独立乱数としての実用（になる）周期はＴ’＝Ｔ／２≒ｄ／２≒２３０である。現在の速い卓上型コンピュータ（ｉｎｔｅｌ  ｃｏｒｅ  ｉ７−４７７０＠３．４０ＧＨｚ）を生成専一に動かすとＴ’は約２８秒で使い切られる。しかし、Ｔ’＝２５０程度もあれば、パソコン上実用周期を使い切るには２８秒×２２０≒３３９．８２日かかる。勿論Ｔ’≒ｄ／２を２３０から２５０に増大させるには法ｄを増大させなければならず、４倍精度整数計算が困難な現在のパソコンでは倍精度計算に収める工夫のためにも、使い切る時間はこれよりは増大する。Ｔ’≒２５０なら、１０００並列計算可能な大きな計算機上のシミュレーションでの１時間程度の使用にも十分に耐えるだろう。故に現在緊要な技術目標は、実用周期Ｔ’≧２５０とシミュレーションには必須の倍精度、そして何よりも優れた統計性、特に独立性、を実現する一様独立乱数見本列の生成法の考案である。それは考案と言うよりはむしろ、極端に稀少な優れた大きい整数ｄ、ｚの組の、全く予断を許さない総当り探索以外に方法のない、発掘作業である。困難は探索に要する時間の長大さにある。しかし優秀な（ｄ、ｚ）が一旦特定されれば、その優れた性能のコンピュータ上の確認は（決して短時間ではないが）容易である。またその乱数の実際利用は最も簡明な整数演算の最小の組み合わせであり、技術的には倍精度或いは４倍精度制限に忠実な算術プログラムによる最も高速な生成を与える。ここに提出するのは、高い精度の明確定量的な表示方法を持つ乗算合同法乱数の生成機構（ｄ、ｚ）の新しい設計製造方法である。それは技術的には優れた乗算合同法の探索時間の削減にも決定的な役割を果たす事が実際成功例から見られる。
【一般化２次スペクトル検定】
【０００５】部分乗算合同法（ｄ１、ｚ１、ｎ１）や（ｄ２、ｚ２、ｎ２）にせよ、それらの合成である（ｄ、ｚ、ｎ）にせよ、それらが優れたものであるために見落とす事のできない簡明な条件、先行技術では見落とされていたもの、が存在する。暫時確率過程として正確な一様独立乱数列を｛ｕＫ｜Ｋ＝１、２、・・・｝と記すと、実数ｕＫとｕＫ＋１とはＩ＝１、２、３、・・・のどれに対しても互いに独立に区間（０、１）の値を取る。実用周期Ｔ’≧２５０程度なら、この列を近似する（ｄ、ｚ）乗算合同法は微小な近似の誤差１／ｄ≦２−５１の列｛ｖＫ｜Ｋ＝１、２、・・・｝であって、実数ｖＫとｖＫ＋１とはＩ＝１、２、３、・・・のどれに対しても互いに独立に区間（０、１）の値を取るとしなければならない。即ち列ＳＫ（Ｉ）：＝｛ｖ、ｖＫ＋Ｉ、ｖＫ＋２Ｉ、ｖＫ＋３Ｉ、・・・｝についても優れた一様独立性が求められる。このＩ飛びの列は明らかに乗算合同法（ｄ、ｚ＾Ｉ）で生成される。この理解は直ちに（ｄ、ｚ）と共に（ｄ、ｚ＾Ｉ）のスペクトル検定、少なくとも２次スペクトル検定、が必要である、という工学技術的結論に導かれる。本発明はこの結論の技術的実現を提示し、その技術的実現がなくては与える事ができない重要な工学的進歩を指摘する。
【２次スペクトル検定の説明】
【０００６】  乗算合同法の設計のための２次スペクトル検定の基礎は、乗算合同法乱数出力の相続く２連を２次元ユークリッド平面Ｅ２の点と見ると、それらがｄとｚで定める格子、それをＧ２＝Ｇ２（ｄ、ｚ）と記す、の格子点となる、という事実である。証明はやさしい。上述の２連は、法ｄを除いて言えば座標（ｎｚＫ、ｎｚＫ＋１）＝ｎｚＫ（１、ｚ）の点、位置ベクトルとしては（１、ｚ）の整数倍である。法ｄで見る事はこの点を各軸方向にｄ平行移動すること、第２軸方向のｄ移動は（０、ｄ）の整数倍を加える事であり、第１軸方向には
【数９】
2016224911.tif 000010
ベクトルの整数倍を加えればよい。ゆえに相続く（ｄ、ｚ）乱数の２連はすべて、基ベクトル｛（１、ｚ）、（０、ｄ）｝の整数係数１次結合の中にある、即ちこれらの基ベクトルが張る格子Ｇ２＝Ｇ２（ｄ、ｚ）の格子点にその位置を占める。格子Ｇ２（ｄ、ｚ）には一様独立乱数が載るべき理想の格子形がある。格子の基ベクトルの組には互いにユニモジュラー変換で結ばれた無数のものが存在する。各基ベクトルの組は３角形を張るが、基ベクトルの組の中に、即ち３角形の中に、正３角形、正２単体とも呼ばれる、が存在する場合、格子自体は３角格子と呼ばれる。正３角形は頂点の全ての対の距離が等しいもの、として幾何学的に一意に定義され、その定義は乗算合同法の相続く２連が独立乱数として２次元平面Ｅ２で載るべき理想の形である事は直ちに理解される。精密な表現を試みるなら、乱数の２連が独立に出現する、という統計的仮説に対して、その座席が３角格子であれば、仮説の否定は最も弱いだろう。直観的理解のため、図１及び図２に具体例、奇素数の法ｄとその原始根ｚが作る格子Ｇ２の諸例を示す。用いる記号、評価値ρの説明をする。平面格子の任意の２点を通る直線が格子線である。平行で隣り合う２つの格子線はそれらの間に平行な他の格子線が存在しないものである。任意の平行隣接格子線の間隔はＧ２の基ベクトルの組が作る３角形の頂点から対辺への高さのどれか、である。格子Ｇ２の並行隣接格子線の間隔の最大値は、あらゆる基ベクトルの組の取り方に対するこの対辺への高さの最大値である。幸甚にも、ｄで割って正規化する前の整数で考えた（ｄ、ｚ）乱数の相続く２連の載る格子Ｇ２（ｄ、ｚ）の最大格子間隔λ２（ｄ、ｚ）には法ｄだけで定まる最小値Λ２（ｄ）が存在して、それが３角格子のものである：
【数１０】
2016224911.tif 000011
これは数の幾何学の一般的な定理の最も簡単な場合で、平易な初等幾何学的証明が中澤と中澤（２０１５ａ）に見られる。この状況は次を意味する：
【数１１】
2016224911.tif 000012
【参考文献】
【非特許文献２】
中澤と中澤（２０１５ａ）／Ｎａｏｙａ  Ｎａｋａｚａｗａ  ａｎｄ  Ｈｉｒｏｓｈｉ  Ｎａｋａｚａｗａ：Ｔｈｅ  ｇｅｏｍｅｔｒｙ  ｏｆ  ｓｐｅｃｔｒａｌ  ｔｅｓｔｓ，ｕｐｌｏａｄｅｄ  ｉｎ  ｔｈｅ  ＵＲＬ  ｈｔｔｐ：／／ｎａｋａｚａｗａ−ｐａｔｅｎｔｓ．ｊｐ／ｉｎｄｅｘ２０１５．ｈｔｍｌ，ｏｎ  Ａｐｒｉｌ  １０−Ｊｕｎｅ  ７，２０１５  ２ｉｔｈ  ｔｈｅ  ｆｉｌｅｎａｍｅ  ｓｐｔｅｓｔ１５ｊｕｎｅ７ｎａｏｒｅｖ．ｐｄｆ．
【０００７】  上に説明した２次元スペクトル検定の原理は、Ｆｉｓｈｍａｎ−Ｍｏｏｒｅ（１９８６）で次の形の合格条件として用いられた：
【数１２】
2016224911.tif 000013
この判定条件の発見は工学技術的な金字塔であって、その有効性は現在に至るまで、さらに高次の改訂されたスペクトル検定（特願２０１３−２７３８１４）まで含めても、全く変わる所がない。この事はρ＝ρ２（ｄ、ｚ）を意識して図１、２を見れば実感されるだろう。
【参考文献】
【非特許文献３】
ＦｉｓｈｍａｎとＭｏｏｒｅ（１９８６）／Ｇ．Ｓ．Ｆｉｓｈｍａｎ  ａｎｄ  Ｌ．Ｒ．Ｍｏｏｒｅ，  “Ａｎ  ｅｘｈａｕｓｔｉｖｅ  ａｎａｌｙｓｉｓ  ｏｆ  ｍｕｌｔｉｐｌｉｃａｔｉｖｅ  ｃｏｎｇｒｕｅｎｔｉａｌ  ｒａｎｄｏｍ  ｎｕｍｂｅｒ  ｇｅｎｅｒａｔｏｒｓ  ｗｉｔｈ  ｍｏｄｕｌｕｓ  ２▲３１▼−１”，ＳＩＡＭ  Ｊｏｕｒｎａｌ  ｏｎ  Ｓｃｉｅｎｔｉｆｉｃ  ａｎｄ  Ｓｔａｔｉｓｔｉｃａｌ  Ｃｏｍｐｕｔｉｎｇ  Ｖｏｌ．７（１９８６），ｐｐ．２４−４５．
【発明の詳細な説明】
【０００８】  既述の通り、スペクトル検定に関して、先行技術で気付かれなかった、しかし重要で大きな効果を持つ条件、が優れた（ｄ、ｚ）一様独立乱数列｛ｒ１、ｒ２、・・・｝が満たすべきものとして存在する。それは現在の用語からは
【数１２】
2016224911.tif 000014
と表される。この合格条件に基づく検定を以下指数Ｉの一般化２次スペクトル検定と呼ぼう。現申請はこの指数Ｉの一般化された２次検定を、大きな技術的効果を証明する開示と共に新発明として提出する。この技術発明は次の２つの大きな利点を持つ：
（１）不適切な（ｄ、ｚ）の組の除外を最小の計算量で可能にする強力な篩となる。
（２）優れた（ｄ、ｚ）の組を発見するためのｅｘｈａｕｓｔｉｖｅな探索のスペクトル検定の計算量を大きく削減する。
実例が（１）の最善の理解を与える。図３はＦｉｓｈｍａｎとＭｏｏｒｅ（１９８６）がＭｅｒｓｅｎｎｅ素数の法ｄ＝２３１−１とその原始根乗数の中で最も優れたものとされた５個のｚについて、スペクトル検定で彼らの結果を再現し、さらに一般化された２次検定を指数２≦Ｉ≦６の範囲で行った出力である。結果は驚くべきもので、これらの乱数は２つおき、３つおき、・・・に取って考えるとき、とても独立とは言えない。この結果はより新しい特願２０１３−２７３８１４に基づいて３−６次検定を改めて計算し直しても変わらない；中澤と中澤（２０１５ａ、ｂ）、中澤（２０１５）を参照して頂きたい。一般化された２次検定が、その簡単な構造にも関わらず、不適当な（ｄ、ｚ）に対する強力な防壁、篩である事は明らかである。（２）の利点についても実例の情報開示が最善の理解を与える。最近
ＵＲＬ、ｈｔｔｐ：／／ｎａｋａｚａｗａ−ｐａｔｅｎｔｓ．ｊｐ
の上に、中澤と中澤（２０１４）が得た周期が２５０程度以上の優れた乗算合同法（ｄ、ｚ）が９個、それらのｄ、ｚの構成、そしてスペクトル検定値の計算プログラム、２≦Ｉ≦２０の範囲の指数に対する一般化２次検定の結果も与えるもの、が公開された。上のＵＲＬのファイルｊｃａｔａｌｏｇｕｅｔｅｓｔ．ｅｘｅを実行し、結果を見ていただきたい。その１例の構成、
【数１３】
2016224911.tif 000015
の乗算合同法（ｄ、ｚ）では一般化された指数１≦Ｉ≦２０の２次検定計算時間は約１５秒であり、３−６次スペクトル検定はほぼ６０時間＝２１６０００秒を要する。もし一般化された２次検定で不合格なら、その約１万倍以上の計算を割愛できる。実際この成功した探索は次の様に行われた。まず部分乗算合同法（ｄ１、ｚ１）、（ｄ２、ｚ２）をｄ１やｄ２が２３１以下となるものの中で、各Ｊ＝１、２について（ｄＪ、（ｚＪ）＾Ｉ）の一般化された２次検定を１≦Ｉ≦１２で合格する部分乗算合同法（ｄ１、ｚ１）と（ｄ２、ｚ２）、それぞれＭ個、を選んでファイルＦＪにまとめる；部分乗算合同法の３−６次スペクトル検定は省いて準備された。ファイルＦ１とＦ２は同じ事も、異なる場合も、合成乗算合同法の周期構造として目指す所の違いによってあり得る。次にＦ１とＦ２から対（ｄ１、ｚ１）、（ｚ２、ｄ２）をｄ１とｄ２が素になる様にすべて（ｅｘｈａｕｓｔｉｖｅに）取って孫氏の定理で（ｄ＝ｄ１ｄ２、ｚ）乗算合同法に合成し、再び（ｄ、ｚ＾Ｉ）の一般化された２次検定を２≦Ｉ≦６について従来技術のＩ＝１の場合と共に行い、中間合格者を集めた。最後に、残った合格者達を３−６次のスペクトル検定で調べ、最終合格者（ｄ、ｚ）を得た。発明者達は法がある種の素数で乗数がその原始根またはそのマイナスであるものからＦ１とＦ２が同一の場合を選び、Ｍ＞８０００の第１段合格者を集め、ｄ１とｄ２が素になる組み合わせの対、約Ｍ２／２に対してｅｘｈａｕｓｔｉｖｅに、（ｄ、ｚ＾Ｉ）の一般化２次検定、先行技術のＩ＝１以外に２≦Ｉ≦６を含むもの、を行って合格者を集め、さらに第２段として（ｄ、ｚ）の３−６次スペクトル検定を行って、数ヶ月単位の長い計算の末漸く実用周期Ｔ’が約２５０以上の合格者を９個発見した。これらは性能諸表と共に特許庁に実用新案の申請中である。なおこれらの合格乗算合同法（ｄ、ｚ）はＵＲＬ
ｈｔｔｐ：／／ｎａｋａｚａｗａ−ｐａｔｅｎｔｓ．ｊｐ
にそれらの検定実行ファイルが上梓されている。既述の通り、合格者の全スペクトル検定には最長で約６０時間を要し、その中の一般化２次検定（次数１≦Ｉ≦２０）に要する時間は僅か１５秒である。勿論、この６０時間はＭ２／２個を総数とする対のスペクトル検定探索に要した時間に比べれば問題外の小ささではある。
【参考文献】
【非特許文献４】
中澤と中澤（２０１５ｂ）／Ｎａｏｙａ  Ｎａｋａｚａｗａ  ａｎｄ  Ｈｉｒｏｓｈｉ  Ｎａｋａｚａｗａ：Ｒｅｖｉｓｉｔ  ｔｏ  ｔｎｅ  Ｍｅｒｓｅｎｎｅ  ｐｒｍｅ  ｍｏｄｕｌｕｓ  ｏｆ  Ｆｉｓｈｍａｎ  ａｎｄ  Ｍｏｏｒｅ，ｕｐｌｏａｄｅｄ  ｉｎ  ｔｈｅ  ＵＲＬ  ｈｔｔｐ：／／ｎａｋａｚａｗａ−ｐａｔｅｎｔｓ．ｊｐ／ｉｎｄｅｘ２０１５．ｈｔｍｌ  ｏｎ  Ｓｅｐｔｅｍｂｅｒ  １３−２９，２０１５  ｗｉｔｈ  ｔｈｅ  ｆｉｌｅｎａｍｅ  ｆｉｓｈｍａｎｍｏｏｒｅｎａｏｒｅｖ．ｐｄｆ．
【非特許文献５】中澤（２０１５）／Ｎａｏｙａ  Ｎａｋａｚａｗａ：Ｏｎ  ｆａｓｔｅｒ  ｓｐｅｃｔｒａｌ  ｔｅｓｔｓ，ｕｐｌｏａｄｅｄ  ｉｎ  ｔｈｅ  ＵＲＬ  ｈｔｔｐ：／／ｎａｋａｚａｗａ−ｐａｔｅｎｔｓ．ｊｐ／ｉｎｄｅｘ２０１５．ｈｔｍｌ  ｏｎ  Ｏｃｔｏｂｅｒ  １８−２３，２０１５  ｗｉｔｈ  ｔｈｅ  ｆｉｌｅｎａｍｅ  ｏｐｔｉｍｉｚａｔｉｎｓ４．ｐｄｆ．
【非特許文献６】中澤と中澤（２０１４）／Ｈｉｒｏｓｈｉ  Ｎａｋａｚａｗａ  ａｎｄ  Ｎａｏｙａ  Ｎａｋａｚａｗａ：Ｔｈｅ  ｐｒｏｓｐｅｃｔｕｓ  ｏｆ  Ｎａｋａｚａｗａ  Ｐａｔｅｎｔｓ，ｕｐｌｏａｄｅｄ  ｉｎ  ｔｈｅ  ＵＲＬ  ｈｔｔｐ：／／ｎａｋａｚａｗａ−ｐａｔｅｎｔｓ．ｊｐ／ｉｎｄｅｘ２０ｌ５．ｈｔｍｌ，ｏｎ  Ｊｕｌｙ  １２−Ｏｃｔｏｂｅｒ  ２６，２０１４  Ｗｉｔｈ  ｔｈｅ  ｆｉｌｅｎａｍｅ  ｅｐｒｏｓｐｅｃｔｕｓ１４１０２６．ｐｄｆ．
【発明の効果】
【０００９】  上の情報開示がその中に含むいくつかの特筆すべき工学的発見を、以下の箇条に記す。
（１）発明者達は実用周期Ｔ’≧２５０で発見された優れた合格乗算合同法（ｄ、ｚ）について、それらの次数１≦Ｉ≦２０までの一般化２次テストの結果を含むスペクトル検定結果を開示すした。実際にそれを行って見ると、示された情報はシミュレーションを行う科学者技術者にとって各乱数列がそれぞれのシミュレーション問題に十分な長さの独立性を持つと見えるか否か、を判断するための重要なものであると判明する。先行技術での「ｅｘｐｅｒｉｍｅｎｔａｌｔｅｓｔｓでの好成績」という抽象的保証は弱い。一般化２次検定結果は定量的な保証を与え、乱数生成機構の使用者、消費者にとって優れて明示的で公正、便利である。この様な性能表示、「特定の乗算合同法（ｄ、ｚ）の一般化２次及び３−６次の全検定」の結果表示のための計算は、探索計算に比べれば問題外に小さいから、どんな乱数生成方法を用いるとしても、それらは乱数供給者が消費者に対して明示しなければならない重要な性能表示、製造者責任、と思われる。
（２）探索の実感としては、一般化２次スペクトル検定の選別検定計算高速化への寄与は疑いもない。図３にも示された一般化２次検定の強力端的な選別機能は鋭い。一般化２次スペクトル検定は、それを欠く従来技術では不可能な成果を与える技術進歩である。
（３）上述にも関わらず、ここに含めた成功は未だ完全に成功例を尽くすものではない。他の多くの方法による成功があり得るし、この成功例では見落とされた優れた（ｄ、ｚ）もあり得る。それらはさらに多くの研究者、技術者、計算愛好家にさらに探索し極めて頂く事を望むべきであろう。
（４）開示された成功例での第１段の一般化された２次スペクトル検定は高速に実行されると言っても、Ｍ＞８０００個の合格者を選び出すには数ヶ月を単位とする時間を要する；合格者は極めて少ない。その様に第１段で精選されたＭ個の部分乗算合同法を用いても、組み合わせ総数約Ｍ２／２≒３２００万のうち３−６次検定も含めて合格する（ｄ、ｚ）は９個であった。合格の確率は３×１０−５％よりも少ない。この事実は重要な一般認識を与える：ｄ≧２５０程度の法ｄに対して、でたらめに選ばれた乗数ｚの組（ｄ、ｚ）が優れた乗算合同法を与えることは不可能と言ってよい。ＦｉｓｈｍａｎとＭｏｏｒｅ（１９８６）の原理的理解、予断のないｅｘｈａｕｓｔｉｖｅな検定以外に発見方法はない、はスペクトル検定基準の改訂を超えて真である。現発明者達はさらに、後の特願２０１３−２７３８１４の３−６次の改変なしには全スペクトル検定の合格乗算合同法を発見できなかった。一般化２次スペクトル検定と改訂された３−６次検定を「用いず」合格者を得る事は、たとえ偶然を期待してもあり得ないし、一般化２次スペクトル検定と改訂された３−６次検定とによらない乗算合同法（ｄ、ｚ）合格者は存在しないであろう。
【先行技術との関連／発明の必要性】
【００１０】  最後に、先行技術との関連について述べる。次の事は今や明らかである。現発明者達の２０１３年以前のすべての乗算合同法は、例えば中澤と中澤（２００８）に遡っても、そのスペクトル検定には一般化２次検定を少なくとも次数２≦Ｉ≦６まで含ませなければならず、かつ特願２０１３−２７３８１４の通り３−６次スペクトル検定を改訂しなければならない。乗算合同法の枠を外してみれば、２つ以上の部分乗算合同法を結合する試みは、例えばＬ’ＥｃｕｙｅｒとＴｅｚｕｋａ（１９９１）、ＳａｋａｍｏｔｏとＭｏｒｉｔｏ（１９９５）、Ｗａｎｇ他（２０１１）など、多数存在する。これらは皆、当時標準とされた形のスペクトル検定で部分乗算合同法を選び、それらを様々に組み合わせて長大な最小公倍数周期での優秀な合成乗算合同法を目指した。しかし結合された乱数生成機構にはスペクトル検定は行われず、種々のｅｘｐｅｒｉｍｅｎｔａｌ  ｔｅｓｔｓに合格した合成乱数生成機構が推薦された。発明者達にはこれらの方法で優れた大周期の一様独立乱数を得る事は難しいと危惧する。何よりも、それらの方法で得られ、優れていると思われる機構は、努めて乗算合同法として表現し、一般化された２次スペクトル検定と改められた３−６次スペクトル検定を行い、結果を性能として表示する責任があろう。ｅｘｐｅｒｉｍｅｎｔａｌ  ｔｅｓｔｓに基づく推薦だけでは消費者、使用者はどの程度の範囲で良い独立性を持つか、を知る事が難しい。やはり奇素数（の冪）の因子からなる法ｄを持つ乗算合同法で統一して指摘された危険を除外し、最小公倍数周期での損失を最小限とし、逆にそれによってｄを少しでも小さく抑えて、（ｄ、ｚ）のスペクトル検定計算量を少しでも削減する、そのために奇素数因子は２つまでに限って、２段階の一般化を含めたスペクトル検定を行うべきだろう。法を大きな指数１を持つ２の冪ｄ＝２＾Ｉとし乗数をｚ≡５（ｍｏｄ８）と選ぶ事は実用周期Ｔ＝Ｔ’＝２＾（Ｉ−２）を保証する古典的で簡明な構造だが、スペクトル検定の計算可能性の困難を孫氏の定理の力で緩和するようｄを互いに素な２因数の積に選ぶ道がない事、そして出力乱数の下位ビットでの規則性からも、避ける方がよいと考える。中澤と中澤（２００８）参照。
【参考文献】
【非特許文献７】
Ｌ’ＥｃｕｙｅｒとＴｅｚｕｋａ（１９９１）／Ｐ．Ｌ’Ｅｃｕｙｅｒ  ａｎｄ  Ｓ．Ｔｅｚｕｋａ：  Ｓｔｒｕｃｔｕｒａｌ  Ｐｒｏｐｅｒｔｉｅｓ  ｆｏｒ  ｔｗｏ  ｃｌａｓｓｅｓ  ｏｆ  ｃｏｍｂｉｎｅｄ  ｒａｎｄｏｍ  ｎｕｍｂｅｒ  ｇｅｎｅｒａｔｏｒｓ，Ｍａｔｈｅｍａｔｉｃｓ  ｏｆ  Ｃｏｍｐｕｔａｔｉｏｎ，Ｖｏｌ．５７（１９９１），ｐｐ．７３５−７４６．
【非特許文献８】ＳａｋａｍｏｔｏとＭｏｒｉｔｏ（１９９５）／Ｍ．Ｓａｋａｍｏｔｏ  ａｎｄ  Ｓ．Ｍｏｒｏｔｏ：  Ｃｏｍｂｉｎａｔｉｏｎ  ｏｆ  ｍｕｌｔｉｐｌｉｃａｔｉｖｅ  ｃｏｎｇｒｕｅｎｔｉａｌ  ｒａｎｄｏｍ  ｎｕｍｂｅｒ  ｇｅｎｅｒａｔｏｒｓ  ｗｉｔｈ  ｓａｆｅ  ｐｒｉｍｅ  ｍｏｄｕｌｕｓ，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １９９５  Ｗｉｎｔｅｒ  Ｓｉｍｕｌａｔｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ，ｅｄｉｔｅｄ  ｂｙ  Ｃ．Ａｌｅｘｏｐｏｕｌｏｓ  ｅｔ  ａｌ．
【非特許文献９】Ｗａｎｇ他（２０１１）／Ｍ．Ｗａｎｇ  ｅｔ  ａｌ．，Ｃｏｍｂｉｎｅｄ  ｒａｎｄｏｍ  ｎｕｍｂｅｒ  ｇｅｎｅｒａｔｏｒｓ：  Ａ  ｒｅｖｉｅｗ，９７８−１−６１２８４−４８６−２／１１／ＩＥＥＥ（２０１１），ｐｐ．４４３−４４７．
【図面の簡単な説明】
【００１１】
【図１】乗算合同法（ｄ、ｚ）が発生する２連の出力を平面の点と見る場合の典型的な分布図。描かれた図は検定評価値ρ＝ρ２（ｄ、ｚ）がほぼ１．０５、１．１０、・・・、１．３０となる場合である。外枠の正方形は単位正方形を囲む少し大きい正方形である。（ｄ、ｚ）は図の説明から読み取る事ができる。
【図２】乗算合同法（ｄ、ｚ）が発生する２連の出力を平面の点と見る場合の典型的な分布図。描かれた図は検定評価値ρ＝ρ２（ｄ、ｚ）が図１よりは大きく、ほぼ１．３５、１．４０、・・・となる場合である。外枠の正方形は単位正方形を囲む少し大きい正方形である。（ｄ、ｚ）は図の説明から読み取る事ができる。
【図３】ＦｉｓｈｍａｎとＭｏｏｒｅ（１９８６）によって選ばれた上位５個の優れた乗数の性能表。行ａは彼らの与えた評価値、行１／ａはａ行の数値の逆数でここでρ２（ｄ、ｚ）と記すもの、行ｂはρ＝ρ２（ｄ、ｚ）の発明者による再計算、行ｃはρ２（ｄ、ｚＩ）、ｚ’：＝ｚ＾ＩのＩ＝２、３、・・・、６、の値を表す。
【発明を実施するための形態】
ＦｉｓｈｍａｎとＭｏｏｒｅ（１９８６）は素数の法ｄ＝２３１−１でのすべての原始根の検定を行ったが、その最良合格者の図３に示された結果は、これらはすべて一様独立乱数列としては棄却されるべきであると知らせる。より多くの法、より多くの乗数を試し、また用い得る周期の長い乗算合同法を発見しなければならない。そのための第１段の一般化された２次スペクトル検定及び第２段の一般化された２次スペクトル検定に限って、法ｄ、乗数ｚの乗算合同法（ｄ、ｚ）と記して大まかに再記すれば次の手順になる：
（Ａ）必要な周期を与える法ｄを定める。
（Ｂ）法ｄでｚ’≡ｚ＾１となるｚ’を０＜ｚ’＜ｄの範囲で定め、Ｉ＝１から始める。
（Ｃ）整数ｙ２を範囲｜ｙ２｜＜２１／２３−１／４ｄ１／２＜１．０７４５７ｄ１／２で掃過し、法ｄで−ｚ’ｙ２に等しく範囲｜ｙ１｜＜１．０７４５７ｄ１／２の（一意の）整数ｙ１がなければ次のｙ２へ、あれば‖（ｙ１、ｙ２）‖＝｛（ｙ１）２＋（ｙ２）２｝１／２の値を記録して次のｙ２へ、と探索を進め、‖ｆｍｉｎ‖を求める（最短ベクトルの問題）。
（Ｄ）ρ２（ｄ、ｚ’）＝２１／２３−１／４ｄ１／２／‖ｆｍｉｎ‖＜１．２５ならｚ’を２次スペクトル検定合格としてＩをＩ＋１と進め１．２５以上ならｚそのものを棄却する、もしＩ＋１が予定の範囲（例えば６）を越えるなら（ｄ、ｚ）自体が合格として乗数ｚを次のものに進める、もし予定範囲のｚが尽きたならｄをさらに取替えて手続を繰り返す。手続き（Ｃ）の途中でも‖（ｙ１、ｙ２）‖が小さくなり過ぎて不合格なら、ｚそのものを棄却し、ｚの次の候補へ進む。
（Ｅ）合格者（ｄ、ｚ）が発見されれば、続いて３次から６次のスペクトル検定でさらに進まなければならないが、それは現在の発明の外であるので触れない。
【図１】
2016224911.tif 000020
【図２】
2016224911.tif 000021
【図３】
2016224911.tif 000022
【手続補正書】
【提出日】平成28年3月2日(2016.3.2)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】  上の［数１］の整数列Ｓ：＝｛ｒ０、ｒ１、ｒ２、・・・｝は
【数３】
2016224911.tif 000023
と表す事ができる。さらに任意の整数ｄＪを法としてＳを見ると、この列は
【数４】
2016224911.tif 000024
である。即ち任意の整数の法ｄＪで見た出力整数列ＳＪは（ｄＪ、ｚＪ、ｎＪ）乗算合同である。特に元の整数の法ｄが２つの互いに素な整数ｄ１とｄ２の積ｄ＝ｄ１ｄ２である場合には、（ｄ、ｚ、ｎ）生成列Ｓは（ｄ１、ｚ１、ｎ１）生成列Ｓ１と（ｄ２、ｚ２、ｎ２）生成列Ｓ２とから孫氏の定理で次のように法ｄで一意に復元する事ができる：
【数５】
2016224911.tif 000025
ここでＲ１、Ｒ２は互いに素なｄ１とｄ２だけで定まる整数で、次の性質
【数６】
2016224911.tif 000026
を持つ。具体的には互いに素なｄ１、ｄ２の最大公約数のユークリッドの式
【数７】
2016224911.tif 000027
で存在と計算可能性の保証された整数Ｄ１、Ｄ２によって
【数８】
2016224911.tif 000028
と定めればよい。視点を変えると、法ｄ＝ｄ１ｄ２が互いに素な因数への分解である場合は［数５］は、第１に、法ｄの乗算合同法が部分乗算合同法（ｄ１、ｚ１、ｎ１）と（ｄ２、ｚ２、ｎ２）の生成列のｓｈｕｆｆｌｉｎｇである、という事を明示し、直ちに幸便な技術的直観、もし部分乗算合同法列が一様独立乱数列として優れたものであれば、（ｄ、ｚ、ｎ）乱数列も優れている可能性が高いだろう、に至る。それはまた、（ｄ、ｚ、ｎ）乱数列の周期が自明に部分乱数列の周期の最小公倍数となり、優れて大きくなる利点も明示する。
【手続補正書】
【提出日】平成28年3月23日(2016.3.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】  上の［数１］の整数列Ｓ：＝｛ｒ０、ｒ１、ｒ２、・・・｝は
［数３］Ｓ≡｛ｎ、ｎｚ、ｎｚ２、ｎｚ３、・・・｝（ｍｏｄ  ｄ）
と表す事ができる。特に元の整数の法ｄが２つの互いに素な整数ｄ１とｄ２の積ｄ＝ｄ１ｄ２である場合には、ｄＪを法としてＳを見ると、この列は
［数４］ＳＪ≡｛ｎＪ、ｎＪｚＪ、ｎＪ（ｚＪ）２、ｎＪ（ｚＪ）３、・・・｝
（ｍｏｄ  ｄＪ）、
ｎＪ≡ｎ  （ｍｏｄ  ｄＪ）、  ｚＪ≡ｚ  （ｍｏｄ  ｄＪ）、
であり、（ｄ、ｚ、ｎ）生成列Ｓは（ｄ１、ｚ１、ｎ１）生成列Ｓ１と（ｄ２、ｚ２、ｎ２）生成列Ｓ２とから孫氏の定理で法ｄで一意に復元する事ができる。便宜上一般の指数Ｉ＝１、２、・・・の場合で記す：
［数５］ｎｚ＾Ｉ≡Ｒ１ｎ１（ｚ１）＾Ｉ＋Ｒ２ｎ２（ｚ２）＾Ｉ
（ｍｏｄ  ｄ）、  Ｉ＝０、１、２、・・・。
ここでＲ１、Ｒ２は互いに素なｄ１とｄ２だけで定まる整数で、次の性質
［数６］ＲＫ≡δＫＬ  （ｍｏｄ  ｄＬ）、  Ｋ、Ｌ＝１，２、
を持つ。具体的には互いに素なｄ１、ｄ２の最大公約数のユークリッドの式
［数７］１＝Ｄ１ｄ１＋Ｄ２ｄ２  （等式）
で存在と計算可能性の保証された整数Ｄ１、Ｄ２によって
［数８］Ｒ１≡Ｄ２ｄ２  （ｍｏｄ  ｄ）、
Ｒ２≡Ｄ１ｄ１  （ｍｏｄ  ｄ）、
と定めればよい。視点を変えると、法ｄ＝ｄ１ｄ２が互いに素な因数への分解である場合は［数５］は、第１に、法ｄの乗算合同法が部分乗算合同法（ｄ１、ｚ１、ｎ１）と（ｄ２、ｚ２、ｎ２）の生成列のｓｈｕｆｆｌｉｎｇである、という事を明示し、直ちに幸便な技術的直観、もし部分乗算合同法列が一様独立乱数列として優れたものであれば、（ｄ、ｚ、ｎ）乱数列も優れている可能性が高いだろう、に至る。それはまた、（ｄ、ｚ、ｎ）乱数列の周期が自明に部分乱数列の周期の最小公倍数となり、優れて大きくなる利点も明示する。