(57)【要約】      （修正有）【課題】幾何学的構造体の上の系を対象とするシミュレーションが乱数を必要とする場合のため、構造体上の各点に与えられる乱数が、その時間的及び空間幾何学的な近傍の乱数と、できるだけ少ない相関を持つ事を保証する並列化可能な乗算合同法乱数の構成を提供する。【解決手段】優れた統計性を持つ十分長い周期Ｔの乗算合同法乱数生成機構を取り、それが与える乱数列Ｓを長さＭの相続く糸ｔｈｒｅａｄｓに分割し、各糸を空間幾何構造の各点から発するものとし、時間軸に沿う糸の長さＭや空間構造の座標軸に沿う大きさを調整ｔｕｎｉｎｇして、時間的、幾何学的に近傍にある乱数が小さい相関を持つ事を保証する。そのため乱数の糸の始点の空間の各点への配置を特別な形に設計し、乗数の６乗までの一般化２次スペクトル検定と３次以上のスペクトル検定とを糸の長さＭや、空間格子の大きさや、を増大させつつ行って選択調整する。【選択図】なし【特許請求の範囲】
【請求項１】
コンピュータ上で乱数を幾何学的な格子構造上に配置し、座標近傍に位置する乱数間で相関の優れて少ない保障を持つ所の生成機構の構成を実現する一様独立乱数並列生成装置、即ちＮ＝１以上のＮ次元空間の直方体Ｍ１×Ｍ２×…×ＭＮ、但しＭ１、Ｍ２、…、ＭＮは整数とする、の中の格子ＬＮ、
ＬＮ＝｛（ｘ１、ｘ２、…、ｘＮ）｜
ｘｋは整数、０≦ｘｋ≦Ｍｋ−１、  ｋ＝１、２、…、Ｎ｝
の格子点の上に、整数の法ｄと、ｄとは素な整数の乗数ｚと、そしてｄとは素な整数の初期値（或いはｓｅｅｄ或いは種）ｓと、の組で構成される乗算合同法（ｄ、ｚ、ｓ）が与える周期Ｔの乗算合同法乱数列Ｓで優れたもの、即ち（ｄ、ｚｋ）のｋ＝１から６までのものの一般化２次スペクトル検定評価値が１＜μｄ（２）（ｚｋ）＜１．２５を満たしかつＬ≧３の次数の正Ｌ単体基準でのスペクトル検定評価値が１＜μｄ（Ｌ）（ｚ）＜１．２５をＬ＝３から６まで全てで満たす（ｄ、ｚ）から生成される乗算合同法数列Ｓ、を均一な長さＭの相続く部分列（ｔｈｒｅａｄｓ、或いは糸）に切り分けたものを第Ｎ＋１次元軸であるｔ軸方向に平行に順次に系統立って並べ、ｔ軸方向の近傍にある乱数の間ではもとの乱数列Ｓの優れた統計性がそのまま保持され、
（スペクトル検定第１段）糸の長さＭをＭ’＝Ｍ＋１、Ｍ＋２、…と順次増大させつつ
ζ’：≡ｚ＾（Ｍ’）（ｍｏｄ  ｄ）
の（ｄ、（ζ’）ｋ）の一般化２次スペクトル検定がｋ＝１、２、…、６に亙って１＜μｄ（２）（（ζ’）ｋ）＜１．２５を満たし、かつＬ次スペクトル検定を１＜μｄ（Ｌ）（ζ’）＜１．２５の成績でＬ＝３次から少なくともＬ＝４或いは５次まで満たす様なＭ’≧Ｍを（即ちζ’を）発見してＭ’を始めに設定したＭと置き換え、
（スペクトル検定第２段）幾何学形状の第ｘ１軸方向の幅Ｍ１を、順に１ずつＭ１’に増大させつつ
ζ１’：≡ｚ＾（Ｍ’Ｍ１’）（ｍｏｄ  ｄ）
の（ｄ、（ζ１’）ｋ）の一般化２次スペクトル検定がｋ＝１、２、…、６に亙って１＜μｄ（２）（（ζ１’）ｋ）＜１．２５を満たし、かつＬ次スペクトル検定を１＜μｄ（Ｌ）（ζ１’）＜１．２５の成績でＬ＝３次から少なくともＬ＝４或いは５次まで満たすＭ１’（即ちζ１’）を発見してＭ１’≧Ｍ１を始めに設定したＭ１と置き換え、
（スペクトル検定第３段）幾何学形状の第ｘ２軸方向の幅Ｍ２を、順に１ずつＭ２’に増大させつつ
ζ２’：≡ｚ＾（Ｍ’Ｍ１’Ｍ２’）（ｍｏｄ  ｄ）
の（ｄ、（ζ２’）ｋ）の一般化２次スペクトル検定がｋ＝１、２、…、６に亙って１＜μｄ（２）（（ζ２’）ｋ）＜１．２５を満たし、かつＬ次スペクトル検定を１＜μｄ（Ｌ）（ζ２’）＜１．２５の成績でＬ＝３次から少なくともＬ＝４或いは５次まで満たすＭ２’（即ちζ２’）を発見して、Ｍ２’を始めに設定したＭ２と置き換え、
以下同様に進んで
（スペクトル検定第Ｎ段）幾何学形状の第ｘＮ−１軸方向の幅ＭＮ−１を、順に１ずつＭＮ−１’に増大させつつ
ζＮ−１’：≡ｚ＾（Ｍ’Ｍ１’Ｍ２’…ＭＮ−１’）（ｍｏｄ  ｄ）
の（ｄ、（ζＮ−１’）ｋ）の一般化２次スペクトル検定がｋ＝１、２、…、６に亙って１＜μｄ（２）（（ζＮ−１’）ｋ）＜１．２５を満たしかつＬ次スペクトル検定を１＜μｄ（Ｌ）（ζＮ−１’）＜１．２５の成績でＬ＝３次から少なくともＬ＝４或いは５次まで満たすＭＮ−１’（即ちζＮ−１’）を発見してＭＮ−１’を始めに設定したＭＮ−１と置き換える、
これらＮ個の手続を実現して、Ｔ≧Ｍ’Ｍ１’Ｍ２’…ＭＮ−１’ＭＮである場合にＮ次元直方体Ｍ１’×Ｍ２’×…×ＭＮ−１’×ＭＮの中にある整数格子ＬＮ’、
ＬＮ’：＝｛（Ｉ１、Ｉ２、…、ＩＮ）｜  ０≦Ｉｋ≦Ｍｋ’−１、
ｋ＝１、２、…、Ｎ−１、  ０≦ＩＮ≦ＭＮ−１｝
の各点（Ｉ１、Ｉ２、…、ＩＮ）に乱数の各糸の種ｓｅｅｄｓの配列
ＡＲＲＡＹ（Ｉ１、Ｉ２、…、ＩＮ）
を配布し用いる方法、但し配布は幾何学構造上の一様独立乱数が求められた各座標近傍へ相関の少なさを実現するものであって、ｔｕｎｉｎｇの結果であるＭ’、Ｍ１’、Ｍ２’、…、ＭＮ−１’を用いる事に注意すると、コンピュータ上で配布する方法は簡明であって：諸量をプログラムではｄ＝：Ｄ、ｚ＝：Ｚ、ｓ＝：Ｓなどと大文字で表し、印刷の都合上プライムのついた諸量は
Ｍ’＝：ＭＰ、  Ｍ２’＝：ＭＰ２、…、
但しｔｕｎｉｎｇされないＭＮだけはＭＮ＝：ＭＮ、と記し、配布される乱数の配列ＡＲＲＡＹ（Ｉ１、Ｉ２、…、ＩＮ）は
ＡＲＲＡＹ（Ｉ１、Ｉ２、…、ＩＮ）
と記す事にすれば、次のＦＯＲＴＲＡＮ副プログラム；
ＳＵＢＲＯＵＴＩＮＥ  ＳＥＥＤＥＲ（Ｄ、Ｚ、Ｓ、Ｍ、＆
＆    ＭＰ１、ＭＰ２、ＭＰ３、…、ＭＮ）
ＩＮＴＥＧＥＲ＊８  Ａ−Ｚ
ＣＯＭＭＯＮ  ＡＲＲＡＹ（０：ＭＰ１−１、０：ＭＰ２−１、＆
＆    ０：ＭＰ３−１、…、０：ＭＮ−１）
ＣＯＵＮＴ＝０
ＳＥＥＤ＝１
ＣＡＬＬ  ＰＯＷＥＲ（ＺＥＴＡ、Ｄ、Ｚ、ＭＰ）
！    ＰＯＷＥＲは高次冪ＺＥＴＡ＝ＭＯＤ（Ｚ＊＊ＭＰ、Ｄ）、
！    １≦ＺＥＴＡ＜Ｄ、を計算するのための副プログラム
ＤＯ  １０  ＩＮ＝０、ＭＮ−１
…………………………
ＤＯ  １０  Ｉ３＝０、ＭＰ３−１
ＤＯ  １０  Ｉ２＝０、ＭＰ２−１
ＤＯ  １０  Ｉ１＝０、ＭＰ１−１
ＡＲＲＡＹ（Ｉ１、Ｉ２，Ｉ３、…、ＩＮ）＝ＳＥＥＤ
ＳＥＥＤ＝ＭＯＤ（ＳＥＥＤ＊ＺＥＴＡ、Ｄ）
！      このＳＥＥＤは法Ｄ＝Ｄ１＊Ｄ２と互いに素な因数の積の場合は
！      孫氏の定理によってＩＮＴＥＧＥＲ＊８内で計算可能
ＣＯＵＮＴ＝ＣＯＵＮＴ＋１
１０  ＣＯＮＴＩＮＵＥ
ＷＲＩＴＥ（６、’  Ｉ２０’）ＣＯＵＮＴ
ＲＥＴＵＲＮ
により実現される；ＣＯＵＮＴはすべてのＳＥＥＤＳが配置された事を確かめるためのＦＬＡＧ：これで作られたＡＲＲＡＹをＭＡＩＮ  ＰＲＯＧＲＡＭで種として用いて、前記整数格子ＬＮ’或いはその部分格子ＬＮの格子点への種ｓｅｅｄｓ分配を完成し、実際シミュレーションにはＬＮ’の各点（Ｉ１、Ｉ２、…、ＩＮ）での生成機構
（ｄ、ｚ、ＡＲＲＡＹ（Ｉ１、Ｉ２、…、ＩＮ））
が並列発生する乱数を用いる、幾何学構造ＬＮ’上の長さＭ’の一様独立乱数並列生成機構の構成方法。
【発明の詳細な説明】
【技術分野】
【０００１】コンピュータシミュレーションで一様独立と想定される乱数を生成する機構から得られる乱数列を用いる場合、現在までは列上で遠く離れた２つの乱数の間に強い相関があり得るという避け難い困難を十分に制御する事ができなかった。コンピュータ上多用されるＭｅｒｓｅｎｎｅ  Ｔｗｉｓｔｅｒ（松本と西村、１９９８）などの有限体上のＧＦＳＲ型乱数列等については、確かに長大な周期とその全周期に亙るｅｑｕｉｄｉｓｔｒｉｂｕｔｉｏｎの性質が保証されるが、局所的な距離にある乱数の間の統計的な良い性質を長大な列上どの局所でも保証する信頼できる方法の不在の困難は避ける事ができない。ここで提出する技術は、古典的な乗算合同型（ｍｕｌｔｉｐｌｉｃａｔｉｖｅ  ｃｏｎｇｒｕｅｎｔｉａｌ、ＭＣ）の方法の上に新しく得られた２つの強力なスペクトル検定方法と、今迄気付かれていなかった構造的な可能性とに基づく。ＭＣ乱数検定方法としてのスペクトル検定はＦｉｓｈｍａｎとＭｏｏｒｅ（１９８６）の研究で初めて広範な力の示唆が注目されたが、それは最近重要なより広い応用と、そして全く新しい検定指針とを得た。前者は一般化２次スペクトル検定（中澤と中澤、２０１４Ａ）と呼ばれる強力で計算負荷の非常に少ない新しい技術方法の開発であり、今１つはＬ＝３次以上のスペクトル検定に正Ｌ単体基準という正しく強力な評価基準が発見導入された事、中澤と中澤（２０１４Ｂ）、である。これらの革新はｃｏｍｂｉｎｅｄ生成機構と呼ばれていた方法、Ｗａｎｇ他（２０１１）参照、でＭＣ型生成機構が越える事ができなかった問題、スペクトル検定で優れた部分生成機構を選んでもｃｏｍｂｉｎｅしたＭＣ機構は「スペクトル検定で」すぐれた性能を得る事ができない、を越えて進む事を可能にした。これらによって、現在我々は２５０程度を超える周期のＭＣ生成機構までスペクトル検定により優れた局所統計性を持つものを得ている：中澤と中澤（２０１４Ｃ）。４倍精度整数演算が長時間可能であればさらに大きい周期のものも得られるだろう。但し得られる乱数列の優れた局所統計性にもかかわらず、生成順で離れた２つの乱数は強い相関を持ち得る；例えば優れたＭＣ乱数列の上で生成順で離れた乱数が持ち得る強い相関が存在し得る。これについては、例えば中澤特許管理が発見した最も高性能のＭＣ乱数生成機構、中澤と中澤（２０１４Ｃ）に＃３として記されたもの、の（ｄ、ｚ１００）までの一般化２次スペクトル検定結果、から見て納得して頂きたい。この困難はコンピュータ上のどのような乱数生成機構も、ＭＣ法に限らず、避ける事ができない。しかしＭＣ機構に限っては、この困難を回避しつつ幾何学的な広がった構造上に並列生成可能な乱数を生成する方法が発見された。以下これを説明し、そのような並列生成機構を実際に構成する技術として特許を申請する。なお、この技術は中澤と中澤（２０１６Ａ）で直線的な構造上の上で、そして（２０１６Ｂ）で一般の空間次元Ｌの構造の上で、それぞれ部分的に与えられた発明を補完総合したものである。
【先行技術文献】
【非特許文献】
【非特許文献】１）中澤と中澤（２０１６Ａ）／Ｎ．ａｎｄ  Ｈ．Ｎａｋａｚａｗａ：Ｎｅｗ  ｓｐｅｃｔｒａｌ  ｔｅｓｔｓ  ｆｏｒ  ｐａｒａｌｌｅｌ  ｒａｎｄｏｍ  ｎｕｍｂｅｒ  ｇｅｎｅｒａｔｏｒｓ，ｕｐｌｏａｄｅｄ  ｉｎ  ｔｈｅ  ＵＲＬ  ｈｔｔｐ：／／ｎａｋａｚａｗａ  −ｐａｔｅｎｔｓ．ｊｐ／ｉｎｄｅｘ２０１６ｐｒｅｖ．ｈｔｍｌ  ｏｎ  Ａｕｇｕｓｔ  ２４−Ｓｅｐｔｅｍｂｅｒ  １２，２０１６  ｗｉｔｈ  ｔｈｅ  ｆｉｌｅｎａｍｅ  ｐａｒａｌｌｅｌｇｅｎｅｒｔｏｒｂ．ｐｄｆ．２）中澤と中澤（２０１６Ｂ）／Ｎ．ａｎｄ  Ｈ．Ｎａｋａｚａｗａ：Ｐａｒａｌｌｅｌ  ｒａｎｄｏｍ  ｎｕｍｂｅｒ  ｇｅｎｅｒａｔｏｒｓ  ｏｎ  ｇｅｏｍｅｔｒｉｃａｌ  ｓｔｒｕｃｔｕｒｅｓ，ｕｐｌｏａｄｅｄ  ｉｎ  ｔｈｅ  ＵＲＬ  ｈｔｔｐ：／／ｎａｋａｚａｗａ−ｐａｔｅｎｔｓ．ｊｐ／ｉｎｄｅｘ．ｈｔｍｌ  ｏｎ  Ｄｅｃｅｍｂｅｒ  ３，２０１６  ｗｉｔｈ  ｔｈｅ  ｆｉｌｅｎａｍｅ  ｐａｒａｇｅｏｄｅｃ３．ｐｄｆ．
３）松本と西村（１９９８）／Ｍ．Ｍａｔｓｕｍｏｔｏ  ａｎｄ  Ｔ．Ｎｉｓｈｉｍｕｒａ：Ｍｅｒｓｅｎｎｅ  ｔｗｉｓｔｅｒ：ａ  ６２３−ｄｉｍｅｎｓｉｏｎａｌｌｙ  ｅｑｕｉｄｉｓｔｒｉｂｕｔｅｄ  ｕｎｉｆｏｒｍ  ｐｓｅｕｄｏ−ｒａｎｄｏｍ  ｎｕｍｂｅｒ  ｇｅｎｅｒａｔｏｒ，ｉｎ  ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｍｏｄｅｌｉｎｇ  ａｎｄ  Ｃｏｍｐｕｔｅｒ  Ｓｉｍｕｌａｔｉｏｎ  ４（１９９８），ｐｐ．３−３０．
４）ＦｉｓｈｍａｎとＭｏｏｒｅ（１９８６）／Ｇ．Ｓ．Ｆｉｓｈｍａｎ  ａｎｄ  Ｌ．Ｒ．Ｍｏｏｒｅ：Ａｎ  ｅｘｈａｕｓｔｉｖｅ  ａｎａｌｙｓｉｓ  ｏｆ  ｍｕｌｔｉｐｌｉｃａｔｉｖｅ  ｃｏｎｇｒｕｅｎｔｉａｌ  ｒａｎｄｏｍ  ｎｕｍｂｅｒ  ｇｅｎｅｒａｔｏｒｓ  ｗｉｔｈ  ｍｏｄｕｌｕｓ  ２３１−１，ｉｎ  ＳＩＡＭ  Ｊｏｕｒｎａｌ  ｏｎ  Ｓｃｉｅｎｔｉｆｉｃ  ａｎｄ  Ｓｔａｔｉｓｔｉｃａｌ  Ｃｏｍｐｕｔｉｎｇ  ７（１９８６），ｐｐ．２４−４５．
５）中澤と中澤（２０１４Ａ）／Ｎ．ａｎｄ  Ｈ．Ｎａｋａｚａｗａ：Ｃｏｎｓｔｒｕｃｔｉｖｅ  ｄｅｓｉｇｎ  ｏｆ  ｕｎｉｆｏｒｍ  ａｎｄ  ｉｎｄｅｐｅｎｄｅｎｔ  ｒａｎｄｏｍ  ｎｕｍｂｅｒ  ｇｅｎｅｒａｔｏｒｓ，ｕｐｌｏａｄｅｄ  ｏｎ  Ａｐｒｉｌ  ２９−Ａｕｇｕｓｔ  ５，２０１４  ｉｎ  ｔｈｅ  ＵＲＬ  ｈｔｔｐ：／／ｎａｋａｚａｗａ−ｐａｔｅｎｔｓ．ｊｐ／ｉｎｄｅｘ２０１５．ｈｔｍｌ  ｗｉｔｈ  ｔｈｅ  ｆｉｌｅｎａｍｅ  ｉｎｖｅｎｔｉｏｎｌａ．ｐｄｆ．
６）中澤と中澤（２０１４Ｂ）／Ｎ．ａｎｄ  Ｈ．Ｎａｋａｚａｗａ：Ｍｅｔｈｏｄｓ  ｏｆ  ｓｐｅｃｔｒａｌ  ｔｅｓｔｓ  ｏｆ  ｍｕｌｔｉｐｌｉｃａｔｉｖｅ  ｃｏｎｇｒｕｅｎｔｉａｌ  ｒａｎｄｏｍ  ｎｕｍｂｅｒ  ｇｅｎｅｒａｔｏｒｓ，ｕｐｌｏａｄｅｄ  ｉｎ  ｔｈｅ  ＵＲＬ  ｈｔｔｐ；／／ｎａｋａｚａｗａ−ｐａｔｅｎｔｓ．ｊｐ／ｉｎｄｅｘ２０１５ｈｔｍｌ  ｏｎ  Ｊｕｎｅ  ５−Ｊｕｌｙ  ３０，２０１４  ｗｉｔｈ  ｔｈｅ  ｆｉｌｅｎａｍｅ  ｉｎｖｅｎｔｉｏｎ２ｋ．ｐｄｆ．
７）Ｗａｎｇ  ｅｔ  ａｌ．（２０１１）／Ｍ．Ｗａｎｇ  ｅｔ  ａｌ．：Ｃｏｍｂｉｎｅｄ  ｒａｎｄｏｍ  ｎｕｍｂｅｒ  ｇｅｎｅｒａｔｏｒｓ：ａ  ｒｅｖｉｅｗ，ｉｎ  ＩＥＥＥ  ３ｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｏｆｔｗａｒｅ  ａｎｄ  Ｎｅｔｗｏｒｋｓ（ＩＣＣＳＮ），２０１１，ｐｐ．４４３−４４７．
８）中澤と中澤（２０１４Ｃ）／Ｈ．ａｎｄ  Ｎ．Ｎａｋａｚａｗａ：Ｔｈｅ  ｐｒｏｓｐｅｃｔｕｓ  ｏｆ  Ｎａｋａｚａｗａ  Ｐａｔｅｎｔｓ，ｕｐｌｏａｄｅｄ  ｏｎ  Ｊｕｌｙ  １２−Ｏｃｔｏｂｅｒ  ２６，２０１４  ｉｎ  ｔｈｅ  ＵＲＬ  ｈｔｔｐ：／／ｎａｋａｚａｗａ−ｐａｔｅｎｔｓ．ｊｐ／ｉｎｄｅｘ２０１５．ｈｔｍｌ  ｗｉｔｈ  ｔｈｅ  ｆｉｌｅｎａｍｅ  ｅｐｒｏｓｐｅｃｔｕｓ−１４１０２６．ｐｄｆ．
【発明の概要】
【０００２】ＭＣ乱数生成機構の記号を定める。ＭＣ乱数生成機構は、法の整数ｄ、それとは素な整数の乗数ｚ、そしてｄとは素な初期値を与える整数の種ｓ（ｓｅｅｄ）、をまとめて（ｄ、ｚ、ｓ）或いはｓｅｅｄが議論に関係しない場合には（ｄ、ｚ）、と表示する。（ｄ、ｚ、ｓ）は整数の列Ｓ：＝｛ｒ０、ｒ１、ｒ２、…｝を合同漸化式
ｒ０：≡ｓ（ｍｏｄ  ｄ）、  ０＜ｒ０＜ｄ、
ｒｊ：≡ｚｒｊ−１≡ｓｚｊ−１（ｍｏｄ  ｄ）、０＜ｒ０＜ｄ、  ｊ≧１、
で生成し、一様独立乱数列として
｛ｖｊ：＝ｒｊ／ｄ、  ｊ＝０、１、２、…｝
を出力する。整数出力の相続くＬ連（ｒｊ、ｒｊ＋１、…、ｒｊ＋Ｌ−１）、Ｌ＝２、３、…をＬ次元空間ＥＬの点Ｐｊの位置ベクトルと考えると、ｊ＝０，１，２、…に対する点がＥＬの中でｄとｚで定まるある格子の上にある事は良く知られ、ＦｉｓｈｍａｎとＭｏｏｒｅ（１９８６）以来（ｄ、ｚ）生成機構の性能評価に用いられた。ここでは中澤と中澤（２０１４Ａ）が与える一般化２次検定の合格条件
１＜μｄ（２）（ｚｋ）＜１．２５、  ｋ＝１、２、…、６、
但し（ｄ、ｚｋ）ＭＣ生成機構が与える２連の作る２次元格子の隣接格子線の最大間隔をλｄ（２）（ｚｋ）と記してμｄ（２）（ｚｋ）は次の定義を持つ：
μｄ（２）（ｚｋ）；
＝λｄ（２）（ｚｋ）／｛（ｄ／２）＾（１／２）３＾（１／４）｝、
そして中澤と中澤（２０１４Ｂ）に基づく正Ｌ単体基準に基づくＬ次スペクトル検定に基づく合格基準
１＜μｄ（Ｌ）（ｚ）＜１．２５、  ３≦Ｌ≦６
但し（ｄ、ｚ）ＭＣ生成機構からのＬ連の作るＬ次元格子の隣接（Ｌ−１）次元超格子面の最大間隔をλｄ（Ｌ）（ｚ）と記してμｄ（Ｌ）（ｚ）は次の定義を持つ：
μｄ（Ｌ）（ｚ）；
＝λｄ（Ｌ）（ｚ）／｛Ｌ＾（−１／２）×
×（Ｌ＋１）＾［（Ｌ−１）／（２Ｌ）］×
×ｄ＾［（Ｌ−１）／Ｌ］｝。
この報告の前提はこれら２つの評価を満たす優れた（ｄ、ｚ、ｓ）ＭＣ機構からの乱数列Ｓの存在である；これは中澤と中澤（２０１６Ａ）にＳＮＰが発見した９個のＭＣ生成機構では満たされている。目的はこのような優れた乱数列Ｓを幾何学構造上の並列生成可能なＭＣ生成機構の一般的な構成に用いる技術の開発である。
【０００３】まずこのようなＭＣ生成機構（ｄ、ｚ、ｓ）が与える列Ｓを用いる上での基本認識と、必要な原則とを述べる。１つのシミュレーションプログラムには必ず単一の優れた乱数生成機構を用いなければならない。２つ以上の乱数生成機構が、たとえ個別にはどんなに優れていようと、それらを合成結果の検定なしで同時に用いる事は危険である。これは法がｄ＝ｄ１ｄ２と２つの互いに素な因数を持つＭＣ生成機構が優れたものである確率は、たとえ部分ＭＣ生成機構（ｄ１、ｚ１）、（ｄ２、ｚ２）が共に非常に優れたものである様にスペクトル検定で選べそれらを孫氏の定理で（ｄ、ｚ）に合成（それは文字通りｓｈｕｆｆｌｉｎｇである）しても、絶望的に希少である事実から理解される。故に単一のＭＣ機構（ｄ、ｚ、ｓ）とその周期Ｔの整数生成数列Ｓで考えて必要十分である。長大なシミュレーションは避け難く並列計算を求める。上に述べた事は、この並列計算でも単一のＭＣ生成機構を利用する以外、可能性がない事を意味する。乱数の整数列Ｓの使用に重複があってはならない。並列計算の各々はＳの重複のない使用、乱数生成の計算経済を考えるならＳの相続く小列への分割を用いる事、が我々の唯一の可能性、原則である。この様な小列をｔｈｒｅａｄｓ糸と呼びその長さをＭとして始める。Ｍはシミュレーションの対象からその大きさが求められる長さである。例えばシミュレーションが求める最低計算ステップ数の様に、である。
【発明の詳しい説明】
【０００４】最も簡単で応用の広い幾何学図形として、Ｎ次元ユークリッド空間ＥＮで整数の長さＭ１、Ｍ２、…、ＭＮの稜を持つ直方体領域の中にある整数格子ＬＮ、
ＬＮ：＝｛（ｘ１、ｘ２、…、ｘＮ）｜  ｘｋは整数、
０≦ｘｋ≦Ｍｋ−１、ｋ＝１、２、…、Ｎ｝
を取り、その各格子点にこれらのｔｈｒｅａｄｓを第０軸であるｔ軸に平行に並べる問題を考える。ここでｔは（離散的）時間を表すと考えると、シミュレーションのイメージは空間格子ＬＮの各点に粒子或いは自由度があって、乱数の影響を受けながら時間発展をしている、乱数は近傍の粒子に働くものとは相関を持たない場合、という物理イメージになる。物理イメージにこだわらなければ、発明の表題通りの、ＬＮの各点に一様独立乱数系列のｔｈｒｅａｄｓを置いて、できるだけ第０及び第１から第Ｎ軸方向への近傍に相関の少ない乱数を配置する問題、コンピュータ上でＮ＋１次元空間での離散的ホワイトノイズとでも言うべきものを、技術的に完全な一様独立とは言えないＭＣ生成機構からの乱数系列Ｓの使用に工夫を凝らして、構成する技術問題、である。この様なイメージは各種シミュレーションから求められるものであるので、ここでは特化しない方が応用の可能性を広げるだろう。もし我々が完全に一様独立な乱数を持つなら、どんなやり方でも理想の結果は得られる事に注意する。しかしそれは実際技術的には得る事が可能ではない。ここでの目標は、我々の持つコンピュータ技術の限界の中で、最善の結果を得る技術的工夫である。
【０００５】空間幾何学構造ＬＮの総格子点数はＭ１Ｍ２…ＭＮである。これらの上に長さＭの糸ｔｈｒｅａｄｓを並べる事を構成的に試みる。まず明らかな事は、用いられる乱数は総数Ω：＝ＭＭ１Ｍ２…ＭＮであるから、並べる事が可能なためには不等式Ｔ≧Ω＝ＭＭ１Ｍ２…ＭＮが成り立たなければならない。Ｍ、Ｍ１、Ｍ２、…、ＭＮそしてΩはシミュレーションが指定すべき量であり、この不等式はＭＣ機構（ｄ、ｚ、ｓ）が与えられた時にその周期Ｔがシミュレーションの設計に課す限界になる。以下この不等式は満たされると仮定する。糸（ｔｈｒｅａｄｓ）は（ｄ、ｚ、ｓ）乱数列の長さＭの相続く分割列以外の可能性はないから、順次｛θ０、θ１、…θΩ−１｝と名付け、ユークリッド空間ＥＮ＋１即ち座標軸で言ってＯｔｘ１ｘ２…ｘＮ、のＯｔ軸に沿うベクトルと考え、ベクトルの形で列記すると次の様になる：
｛θｋ：≡ｓζｋ（１、ｚ、ｚ２、…、ｚＭ−１）（ｍｏｄ  ｄ）｜
ｋ＝０、１、…、Ω−１｝、
ζ：≡ｚＭ（ｍｏｄ  ｄ）。
任意の糸（ｔｈｒｅａｄ）θｋはこの様に、ＭＣ機構（ｄ、ｚ、ｓζｋ）で生成される長さＭの乱数有限乱数列であり、（ｍｏｄ  ｄ）を略記するとｓｅｅｄｓ｛ｓζｋ（ｍｏｄ  ｄ）｜  ｋ＝０、１、…、Ω−１｝で完全に指定される。問題はこれらｓｅｅｄｓを空間ＥＮの整数格子ＬＮにどのように配置するか、である。
【０００６】高次元空間のイメージに悩むのではなく、ＬＮの各点に前記のｓｅｅｄｓを分配するコンピュータプログラムの実際構成を考える事が明確な理解を与える。ただ、添字の使えないプログラムの約束事のため、まず記法を整備しなければならない。プログラムではｄ＝：Ｄ、ｚ＝：Ｚ、ｓ＝：Ｓなどと大文字で表す古い記法を用いる。設計で始めに与えるべき諸量は、すこし繁雑だが
Ｍ１：＝Ｍ１、Ｍ２：＝Ｍ２、…、ＭＮ：＝ＭＮ
で記す。格子ＬＮの各点は変数
Ｉ１：＝Ｉ１、Ｉ２：＝Ｉ２、…、ＩＮ：＝ＩＮ、
０≦Ｉｋ≦ＭＫ−１、Ｋ＝１，２、…、Ｎ
を導入せざるを得ない；特にＩＮ−１は表記ができないので使用を避ける事を納得して頂きたい。これでＬＮ上に配布される（Ｄで割る前の整数で考えた）乱数の配列はＡＲＲＡＹ（Ｉ１，Ｉ２、…、ＩＮ）と記す事ができる。ＡＲＲＡＹの算出は、次のＦＯＲＴＲＡＮ副プログラムで行うとよい：
ＳＵＢＲＯＵＴＩＮＥ  ＳＥＴＴＥＲ（Ｄ，Ｚ，Ｓ，＆
＆      Ｍ，Ｍ１，Ｍ２，Ｍ３，…ＭＮ）
ＩＮＴＥＧＥＲ＊８  Ａ−Ｚ
ＣＯＭＭＯＮ  ＡＲＲＡＹ（０：Ｍ１−１，０：Ｍ２−１，＆
＆      ０：Ｍ３−１，…，０：ＭＮ−１）
ＺＥＴＡ＝ＭＯＤ（Ｚ＊＊Ｍ，Ｄ）
ＳＥＥＤ＝Ｓ
ＣＯＵＮＴ＝０
ＤＯ  １０  ＩＮ＝０，ＭＮ−１
…………………………
ＤＯ  １０  Ｉ３＝０，Ｍ３−１
ＤＯ  １０  Ｉ２＝０，Ｍ２−１
ＤＯ  １０  Ｉ１＝０，Ｍ１−１
ＡＲＲＡＹ（Ｉ１，Ｉ２，Ｉ３，…，ＩＮ）＝ＳＥＥＤ
ＳＥＥＤ＝ＭＯＤ（ＳＥＥＤ＊ＺＥＴＡ，Ｄ）
ＣＯＵＮＴ＝ＣＯＵＮＴ＋１
１０  ＣＯＮＴＩＮＵＥ
ＷＲＩＴＥ（６，’Ｉ２０’）ＣＯＵＮＴ
ＲＥＴＵＲＮ
ＥＮＤ
整数のｆｌａｇ旗ＣＯＵＮＴは計算回数がΩＮ：＝Ｍ１＊Ｍ２＊…＊ＭＮと合致する事を確認するためのものである。この計算は一般の次元ＮでＬＮ上に分配されるＳＥＥＤＳであるＡＲＲＡＹ（Ｉ１，Ｉ２，…，ＩＮ）について、次の近傍関係を明らかにする。：
（１）Ｉ１のＩ１→Ｉ１＋１の変化による隣接近傍の乱数への移行はＳＥＥＤの法ｄでのζ倍、ζ：≡ｚ＾Ｍ（ｍｏｄ  ｄ）で与えられる；
（２）Ｉ２のＩ２→Ｉ２＋１の変化による隣接近傍の乱数への移行はＳＥＥＤの法ｄでのζ１倍、ζ１：≡ζ＾（Ｍ１）≡ｚ＾（ＭＭ１）（ｍｏｄ  ｄ）で与えられる；
（３）Ｉ３のＩ３→Ｉ３＋１の変化による隣接近傍の乱数への移行はＳＥＥＤの法ｄでのζ２倍、ζ２：≡（ζ１）＾（Ｍ２）≡ｚ＾（ＭＭ１Ｍ２）（ｍｏｄｄ）で与えられる；
………………………………………………………
（Ｎ）ＩＮのＩＮ→ＩＮ＋１の変化による隣接近傍の乱数への移行はＳＥＥＤの法ｄでのζＮ−１倍、
ζＮ−１：≡（ζＮ−２）＾（ＭＮ−１）
≡ｚ＾（ＭＭ１Ｍ２…ＭＮ−１）（ｍｏｄ  ｄ）、
で与えられる。
【０００７】再び通常の（ＦＯＲＴＲＡＮプログラムではない）表記に戻る。ＥＮの幾何構造ＬＮ上のｓｅｅｄｓは一般にｓ（ｚ＾Ｍ）＾ｋ≡ｓζｋ（ｍｏｄ  ｄ）の形、０≦ｋ＜Ｍ１Ｍ２…ＭＮであり、それから出発するｔｈｒｅａｄは
θｋ：≡ｓζｋ（１、ｚ、ｚ２、…、ｚＭ−１）（ｍｏｄ  ｄ）
の形である。ＬＮ上にｓｅｅｄｓを既述のプログラムの様に配列するとき、それらｓｅｅｄｓの近傍関係は、従って、ＬＮ上に置かれたｔｈｒｅａｄｓ全体の作るＭＣ乱数のＮ＋１次元配列、それをＶＮ＋１と記す、の任意の要素がその隣接近傍へ次の乗算で移る事を示す：
（ｔ軸方向）ｚをｍｏｄ  ｄで掛ける、
（ｘ１軸方向）ζ：≡ｚ＾Ｍをｍｏｄ  ｄで掛ける、
（ｘ２軸方向）ζ１≡ζ＾（Ｍ１）≡ｚ＾（ＭＭ１）をｍｏｄ  ｄで掛ける、
（ｘ３軸方向）ζ２：≡（ζ１）＾（Ｍ２）≡ｚ＾（ＭＭ１Ｍ２）をｍｏｄ  ｄ
で掛ける、
………………………………
（ｘＮ軸方向）ζＮ−１：≡（ζＮ−２）＾（ＭＮ−１）≡ｚ＾（ＭＭ１Ｍ２…ＭＮ−１）をｍｏｄ  ｄで掛ける。
上の様に組み上げられた幾何学構造ＬＮ上の糸ｓｅｅｄｓの全体としての乱数をＶＮ＋１で、各乱数がその全ての軸方向の近傍乱数と小さい相関しか持たない様に組み上げる技術は、従って、次の（スペクトル検定０）から（スペクトル検定Ｎ）の組で得られる。ただし我々は（スペクトル検定０）が行われていると前提された優れた乱数列Ｓから出発した。従って必要なのは以下の（検定１）から（検定Ｎ）である。
（検定０）ｔｈｒｅａｄｓは（ｄ、ｚ）ＭＣ乱数列Ｓの相続くＭ連である。Ｓは（ｄ、ｚｋ）の１≦ｋ≦６での整数冪の（一般化）２次スペクトル検定を合格基準１＜μｄ（２）（ｚｋ）＜１．２５で満たし、（ｄ、ｚ）のＬ＝３からＬ＝６次までのスペクトル検定を正Ｌ単体基準スペクトル検定合格基準１＜μｄ（Ｌ）（ｚ）＜１．２５で満たすように選ぶと前提する。これによりｔ軸方向の６連までの近傍の優れた一様独立性は保障される。
（検定１）ｘ１軸方向の近傍には乱数は（ｄ、ζ）ＭＣ機構、但し法ｄでζ：≡ｚ＾Ｍ、で生成される。故にｔｈｒｅａｄｓの長さＭを１ずつＭ’に増大させながら（ｄ、ζｋ）の１≦ｋ≦６での整数冪の（一般化）２次スペクトル検定を合格基準１＜μｄ（２）（ζｋ）＜１．２５で満たし、（ｄ、ζ）のＬ＝３からＬ＝４、或いは５、６次までのスペクトル検定を正Ｌ単体基準スペクトル検定合格基準１＜μｄ（Ｌ）（ζ）＜１．２５で満たすように選ぶ。乗数ｚは（検定０）のスペクトル検定を法ｄの下で全て合格するように選ばれた極めて希少なものだから、同じ法ｄでのζが３次から６次の検定をすべて満たす可能性は殆どあり得ない、あり得るとしてもＭを増大させながらのスペクトル検定計算時間は大きいので殆ど不可能に近い。一般化２次検定の６次近傍までの対相関の少なさと３次と４次、高々５次までのスペクトル検定の保証とで満足すべきである。勿論６次検定評価が１．２５を越えても、１．３０程度まで等と基準を緩めてもよい。
（検定２）ｘ２軸方向の近傍の乱数は（ｄ、ζ１）ＭＣ機構、但し今や法ｄでζ１：≡ｚ＾（Ｍ’Ｍ１）、で生成される。故にｘ１軸方向のＬＮの幅Ｍ１を１ずつ増大させながら（ｄ、（ζ１）ｋ）の１≦ｋ≦６での整数冪の（一般化）２次スペクトル検定を合格基準１＜μｄ（２）（（ζ１）ｋ）＜１．２５で満たし、（ｄ、ζ１）のＬ＝３からＬ＝４、或いは５、６次までのスペクトル検定を正Ｌ単体基準スペクトル検定合格基準１＜μｄ（Ｌ）（ζ１）＜１．２５で満たすようにＭ１’≧Ｍ１を選ぶ。以下Ｍ１’もｔｕｎｉｎｇによって一般には始めに設定した値よりは増大した値であると前提する。
（検定３）ｘ３軸方向の近傍には乱数は（ｄ、ζ２）ＭＣ機構、但し法ｄでζ２：≡ｚ＾（Ｍ’Ｍ１’Ｍ２）、で生成される。故にｘ２軸方向のＬＮの幅Ｍ２を１ずつ増大させながら（ｄ、（ζ２）ｋ）の１≦ｋ≦６での整数冪の（一般化）２次スペクトル検定を合格基準１＜μｄ（２）（（ζ２）ｋ）＜１．２５で満たし、（ｄ、ζ２）のＬ＝３からＬ＝４、或いは５、６次までのスペクトル検定を正Ｌ単体基準スペクトル検定合格基準１＜μｄ（Ｌ）（ζ２）＜１．２５で満たすように選ぶ。以下Ｍ２もｔｕｎｉｎｇによって一般には始めに設定した値よりは増大した値Ｍ２’≧Ｍ２であると前提する。
（検定Ｎ）以下同様に進む。最後のｘＮ軸方向には乱数は（ｄ、ζＮ−１）ＭＣ機構、但し法ｄでζＮ−１：≡ｚ＾（Ｍ’Ｍ１’Ｍ２’…ＭＮ−２’ＭＮ−１）、で生成される。故にｘＮ−１軸方向のＬＮの幅ＭＮ−１を１ずつ増大させながら（ｄ、（ζＮ−１）ｋ）の１≦ｋ≦６での整数冪の（一般化）２次スペクトル検定を合格基準１＜μｄ（２）（（ζＮ−１）ｋ）＜１．２５で満たし、（ｄ、ζＮ−１）のＬ＝３からＬ＝４、或いは５、６次までのスペクトル検定を正Ｌ単体基準スペクトル検定合格基準１＜μｄ（Ｌ）（ζＮ−１）＜１．２５で満たすようにＭＮ−１’≧ＭＮ−１に選ぶ。以下ＭＮ−１’もｔｕｎｉｎｇによって一般には始めに設定した値よりは増大した値であると注意し、直方体Ｍ’×Ｍ１’×…×ＭＮ−１’×ＭＮの中へ膨張した格子をＬＮ’と記す。得られたＡＲＲＡＹはＬＮ’上に配列され、各長さがＭ’に伸びたｔｈｒｅａｄｓのｓｅｅｄｓである。
【０００８】空間ＥＮの目的とする格子から膨張したＬＮＮ’上の乱数の糸の全体を構成する手続は錯綜していて、手順を誤ると目的が達せられない。請求項は、従って、実際に構成する手順に沿って述べて、方法の完全な理解の伝達に努める。そのためにも、ここで構造説明のための手続きを今一度振り返って確認しておく。我々は周期Ｔの優れた統計を持つ（ｄ、ｚ、ｓ）ＭＣ乱数生成機構が与える乱数列の全体Ｓの存在を仮定し、シミュレーションの目的から例えば時間ｔの必要なステップ数である最小限必要な糸ｔｈｒｅａｄｓの長さＭを設定し、仮に必要な空間の大きさをＭ１×Ｍ２×…×ＭＮと定め、その中に仮の空間格子ＬＮを取り、ＬＮのΩＮ：＝Ｍ１Ｍ２…ＭＮ個の格子点の上にΩＮ個の「相続く」糸ｔｈｒｅａｄｓを言わば植えつける、或いは総数ＭΩＮ個の乱数を並べる、のはＬＮ上に各糸の種ｓｅｅｄｓを配置する事と同じである事を理解し、その配置の実現方法（配置される種ｓｅｅｄｓの配列ＡＲＲＡＹ（Ｉ１、Ｉ２、…、ＩＮ）の算出方法）を計算プログラムの形から了解した。その方法で実現される総数ＭΩＮ個の各乱数がｔ軸、ｘ１軸、ｘ２軸、…、ｘＮ軸方向の隣接乱数に移る事は、再びＭＣ機構
ｔ軸方向：（ｄ、ｚ）（ｍｏｄ  ｄ）、
ｘ１軸方向：（ｄ、ζ）、ζ；≡ｚ＾Ｍ  （ｍｏｄ  ｄ）、
ｘ２軸方向：（ｄ、ζ１）、ζ１；≡ｚ＾（ＭＭ１）≡ζ＾（Ｍ１）
（ｍｏｄ  ｄ）、
ｘ３軸方向：（ｄ、ζ２）、ζ２；≡ｚ＾（ＭＭ１Ｍ２）
≡（ζ１）＾（Ｍ１）（ｍｏｄ  ｄ）、
…………………………………………………
ｘＮ軸方向：（ｄ、ζＮ−１）、ζＮ−１：≡ｚ＾（ＭＭ１Ｍ２…ＭＮ−１）
≡（ζＮ−２）＾（ＭＮ−１）（ｍｏｄ  ｄ），
で実現される事を見た。この配置でｘ１軸からｘＮ軸方向の近傍にある乱数への優れた統計性は保証するためには、これらのＮ個のＭＣ機構の一般化２次スペクトル検定と３次以上のスペクトル検定をｔｕｎｉｎｇとして、得られる性能の可能な上限の理解予測と共に行えばよい。それらはＭ、Ｍ１、Ｍ２、…、ＭＮ−１を一般により大きい格子ＬＮ’の上のものに増大させる。実際のシミュレーションには「このｔｕｎｉｎｇされたＬＮ’内のＬＮ」を取ってもよいが、その結果がＬＮ上の糸が長さＭ’の糸の長さＭの部分である事、またある方向の各軸の最後から次の軸への移行には糸の順番は保たれるが不連続な糸の採用が起きる事には注意しなければならない。この微妙煩雑な注意を不要にするには、拡大された格子ＬＮ’上の長さＭ’のｔｈｒｅａｄｓ、総数はΩＮ’：＝Ｍ１’Ｍ２’…ＭＮ−１’ＭＮ、の全体、乱数としては総数Ｍ’ΩＮ’、を取ると決めて進む方が簡明であろう。請求項はこれを実現する形で再構成される。
【手続補正書】
【提出日】平成29年6月13日(2017.6.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ上で乱数を幾何学的な格子構造上に配置し、座標近傍に位置する乱数間で相関の優れて少ない保障を持つ様な生成機構の構成を実現する一様独立乱数並列生成装置、即ちＮ＝１以上のＮ次元空間の直方体Ｍ１×Ｍ２×…×ＭＮ、但しＭ１、Ｍ２、…、ＭＮは整数とする、の中の格子ＬＮ、
ＬＮ＝｛（ｘ１、ｘ２、…、ｘＮ）｜
ｘｋは整数、０≦ｘｋ≦Ｍｋ−１、  ｋ＝１、２、…、Ｎ｝
の格子点の上に、整数の法ｄと、ｄとは素な整数の乗数ｚと、そしてｄとは素な整数の初期値（或いはｓｅｅｄ或いは種）ｓと、の組で構成される乗算合同法（ｄ、ｚ、ｓ）が与える周期Ｔの乗算合同法乱数列Ｓで優れたもの、即ち（ｄ、ｚｋ）のｋ＝１から６までのものの一般化２次スペクトル検定評価値が１＜μｄ（２）（ｚｋ）＜１．２５を満たしかつＬ≧３の次数の正Ｌ単体基準でのスペクトル検定評価値が１＜μｄ（Ｌ）（ｚ）＜１．２５をＬ＝３から６まで全てで満たす（ｄ、ｚ）から生成される乗算合同法数列Ｓ、を均一な長さＭの相続く部分列（ｔｈｒｅａｄｓ、或いは糸）に切り分けたものを第Ｎ＋１次元軸であるｔ軸方向に平行に順次に系統立って並べ、ｔ軸方向の近傍にある乱数の間ではもとの乱数列Ｓの優れた統計性がそのまま保持され、
（スペクトル検定第１段）糸の長さＭをＭ’＝Ｍ＋１、Ｍ＋２、…と順次増大させつつ
ζ’：≡ｚ＾（Ｍ’）（ｍｏｄ  ｄ）
の（ｄ、（ζ’）ｋ）の一般化２次スペクトル検定がｋ＝１、２、…、６に亙って１＜μｄ（２）（（ζ’）ｋ）＜１．２５を満たし、かつＬ次スペクトル検定を１＜μｄ（Ｌ）（ζ’）＜１．２５の成績でＬ＝３次から少なくともＬ＝４或いは５次まで満たす様なＭ’≧Ｍを（即ちζ’を）発見してＭ’を始めに設定したＭと置き換え、
（スペクトル検定第２段）幾何学形状の第ｘ１軸方向の幅Ｍ１を、順に１ずつＭ１’に増大させつつ
ζ１’：≡ｚ＾（Ｍ’Ｍ１’）（ｍｏｄ  ｄ）
の（ｄ、（ζ１’）ｋ）の一般化２次スペクトル検定がｋ＝１、２、…、６に亙って１＜μｄ（２）（（ζ１’）ｋ）＜１．２５を満たし、かつＬ次スペクトル検定を１＜μｄ（Ｌ）（ζ１’）＜１．２５の成績でＬ＝３次から少なくともＬ＝４或いは５次まで満たすＭ１’（即ちζ１’）を発見してＭ１’≧Ｍ１を始めに設定したＭ１と置き換え、
（スペクトル検定第３段）幾何学形状の第ｘ２軸方向の幅Ｍ２を、順に１ずつＭ２’に増大させつつ
ζ２’：≡ｚ＾（Ｍ’Ｍ１’Ｍ２’）（ｍｏｄ  ｄ）
の（ｄ、（ζ２’）ｋ）の一般化２次スペクトル検定がｋ＝１、２、…、６に亙って１＜μｄ（２）（（ζ２’）ｋ）＜１．２５を満たし、かつＬ次スペクトル検定を１＜μｄ（Ｌ）（ζ２’）＜１．２５の成績でＬ＝３次から少なくともＬ＝４或いは５次まで満たすＭ２’（即ちζ２’）を発見して、Ｍ２’を始めに設定したＭ２と置き換え、
以下同様に進んで
（スペクトル検定第Ｎ段）幾何学形状の第ｘＮ−１軸方向の幅ＭＮ−１を、順に１ずつＭＮ−１’に増大させつつ
ζＮ−１’：≡ｚ＾（Ｍ’Ｍ１’Ｍ２’…ＭＮ−１’）（ｍｏｄ  ｄ）
の（ｄ、（ζＮ−１’）ｋ）の一般化２次スペクトル検定がｋ＝１、２、…、６に亙って１＜μｄ（２）（（ζＮ−１’）ｋ）＜１．２５を満たしかつＬ次スペクトル検定を１＜μｄ（Ｌ）（ζＮ−１’）＜１．２５の成績でＬ＝３次から少なくともＬ＝４或いは５次まで満たすＭＮ−１’（即ちζＮ−１’）を発見してＭＮ−１’を始めに設定したＭＮ−１と置き換える、
これらＮ個の手続を実現して、Ｔ≧Ｍ’Ｍ１’Ｍ２’…ＭＮ−１’ＭＮである場合にＮ次元直方体Ｍ１’×Ｍ２’×…×ＭＮ−１’×ＭＮの中にある整数格子ＬＮ’、
ＬＮ’：＝｛（Ｉ１、Ｉ２、…、ＩＮ）｜  ０≦Ｉｋ≦Ｍｋ’−１、
ｋ＝１、２、…、Ｎ−１、  ０≦ＩＮ≦ＭＮ−１｝
の各点（Ｉ１、Ｉ２、…、ＩＮ）に乱数の各糸の種ｓｅｅｄｓの配列
ＡＲＲＡＹ（Ｉ１、Ｉ２、…、ＩＮ）
を配布し用いる方法、但し配布は幾何学構造上の一様独立乱数が求められた各座標近傍へ相関の少なさを実現するものであって、ｔｕｎｉｎｇの結果であるＭ’、Ｍ１’、Ｍ２’、…、ＭＮ−１’を用いる事に注意すると、コンピュータ上で配布する方法は簡明であって：諸量をプログラムではｄ＝：Ｄ、ｚ＝：Ｚ、ｓ＝：Ｓなどと大文字で表し、印刷の都合上プライムのついた諸量は
Ｍ’＝：ＭＰ、  Ｍ２’＝：ＭＰ２、…、
但しｔｕｎｉｎｇされないＭＮだけはＭＮ＝：ＭＮ、と記し、配布される乱数の配列ＡＲＲＡＹ（Ｉ１、Ｉ２、…、ＩＮ）は
ＡＲＲＡＹ（Ｉ１、Ｉ２、…、ＩＮ）
と記す事にすれば、次のＦＯＲＴＲＡＮ副プログラム；
ＳＵＢＲＯＵＴＩＮＥ  ＳＥＥＤＥＲ（Ｄ、Ｚ、Ｓ、ＭＰ、＆
＆      ＭＰ１、ＭＰ２、ＭＰ３、…、ＭＮ）
ＩＮＴＥＧＥＲ＊８  Ａ−Ｚ
ＣＯＭＭＯＮ  ＡＲＲＡＹ（０：ＭＰ１−１、０：ＭＰ２−１、＆
＆      ０：ＭＰ３−１、…、０：ＭＮ−１）
ＣＯＵＮＴ＝０
ＳＥＥＤ＝１
ＣＡＬＬ  ＰＯＷＥＲ（ＺＥＴＡ、Ｄ、Ｚ、ＭＰ）
！      ＰＯＷＥＲは高次冪ＺＥＴＡ＝ＭＯＤ（Ｚ＊＊ＭＰ、Ｄ）、
！      １≦ＺＥＴＡ＜Ｄ、を計算するのための副プログラム
ＤＯ  １０  ＩＮ＝０、ＭＮ−１
…………………………
ＤＯ  １０  Ｉ３＝０、ＭＰ３−１
ＤＯ  １０  Ｉ２＝０、ＭＰ２−１
ＤＯ  １０  Ｉ１＝０、ＭＰ１−１
ＡＲＲＡＹ（Ｉ１、Ｉ２，Ｉ３、…、ＩＮ）＝ＳＥＥＤ
ＳＥＥＤ＝ＭＯＤ（ＳＥＥＤ＊ＺＥＴＡ、Ｄ）
！      このＳＥＥＤは法Ｄ＝Ｄ１＊Ｄ２と互いに素な因数の積の場合は
！      孫氏の定理によってＩＮＴＥＧＥＲ＊８内で計算可能
ＣＯＵＮＴ＝ＣＯＵＮＴ＋１
１０  ＣＯＮＴＩＮＵＥ
ＷＲＩＴＥ（６、’Ｉ２０’）ＣＯＵＮＴ
ＲＥＴＵＲＮ
ＥＮＤ
により実現される；ＣＯＵＮＴはすべてのＳＥＥＤＳが配置された事を確かめるためのＦＬＡＧ：このように構成され２進表示或はより効率的な形で保持されている｛Ｍ、Ｍ１’、Ｍ２’、…、ＭＮ−１’、ＮＮ、｝から、シミュレーションの準備計算としてまずＡＲＲＡＹを生成する、或はＡＲＲＡＹのデータそのものをＨＤ、ＳＳＤ、ＵＳＢ等にアーカイブし、シミュレーション計算冒頭に主記憶に読み込む、あるいは何らかの標準的な形でＡＲＲＡＹのデータを計算言語のサブルーチンとして計算センターの関数ライブラリーに装備して、或はオペレーティングシステムの１つのサービスとして含めて計算機や携帯電話機から利用する、等によりシミュレーション計算機上の前記整数格子ＬＮ’或いはその部分格子ＬＮの格子点への種ｓｅｅｄｓ分配を完成し、実際シミュレーションにはＬＮ’の各点（Ｉ１、Ｉ２、…、ＩＮ）での生成機構
（ｄ、ｚ、ＡＲＲＡＹ（Ｉ１、Ｉ２、…、ＩＮ））
が並列発生する乱数を用いる、幾何学構造ＬＮ’上の長さＭ’の一様独立乱数並列生成機構の構成方法。
【手続補正書】
【提出日】平成29年7月16日(2017.7.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ上で乱数を幾何学的な格子構造上に配置し、座標近傍に位置する乱数間で相関の優れて少ない保障を持つ様な生成機構の構成を実現する一様独立乱数並列生成装置、即ちＮ＝１以上のＮ次元空間の直方体Ｍ１×Ｍ２×…×ＭＮ、但しＭ１、Ｍ２、…、ＭＮは整数とする、の中の格子ＬＮ、
ＬＮ＝｛（ｘ１、ｘ２、…、ｘＮ）｜
ｘｋは整数、０≦ｘｋ≦Ｍｋ−１、  ｋ＝１、２、…、Ｎ｝
の格子点の上に、整数の法ｄと、ｄとは素な整数の乗数ｚと、そしてｄとは素な整数の初期値（或いはｓｅｅｄ或いは種）ｓと、の組で構成される乗算合同法（ｄ、ｚ、ｓ）が与える周期Ｔの乗算合同法乱数列Ｓで優れたもの、即ち（ｄ、ｚｋ）のｋ＝１から６までのものの一般化２次スペクトル検定評価値が１＜μｄ（２）（ｚｋ）＜１．２５を満たしかつＬ≧３の次数の正Ｌ単体基準でのスペクトル検定評価値が１＜μｄ（Ｌ）（ｚ）＜１．２５をＬ＝３から６まで全てで満たす（ｄ、ｚ）から生成される乗算合同法数列Ｓ、を均一な長さＭの相続く部分列（ｔｈｒｅａｄｓ、或いは糸）に切り分けたものを第Ｎ＋１次元軸であるｔ軸方向に平行に順次に系統立って並べ、ｔ軸方向の近傍にある乱数の間ではもとの乱数列Ｓの優れた統計性がそのまま保持され、
（スペクトル検定第１段）糸の長さＭをＭ’＝Ｍ＋１、Ｍ＋２、…と順次増大させつつ
ζ’：≡ｚ＾（Ｍ’）（ｍｏｄ  ｄ）
の（ｄ、（ζ’）ｋ）の一般化２次スペクトル検定がｋ＝１、２、…、６に亙って１＜μｄ（２）（（ζ’ｋ）＜１．２５を満たし、かつＬ次スペクトル検定を１＜μｄ（Ｌ）（ζ’）＜１．２５の成績でＬ＝３次から少なくともＬ＝４或いは５次まで満たす様なＭ’≧Ｍを（即ちζ’を）発見してＭ’を始めに設定したＭと置き換え、
（スペクトル検定第２段）幾何学形状の第ｘ１軸方向の幅Ｍ１を、順に１ずつＭ１’に増大させつつ
ζ１’：≡ｚ＾（Ｍ’Ｍ１’）（ｍｏｄ  ｄ）
の（ｄ、（ζ１’）ｋ）の一般化２次スペクトル検定がｋ＝１、２、…、６に亙って１＜μｄ（２）（（ζ１’）ｋ）＜１．２５を満たし、かつＬ次スペクトル検定を１＜μｄ（Ｌ）（ζ１’）＜１．２５の成績でＬ＝３次から少なくともＬ＝４或いは５次まで満たすＭ１’（即ちζ１’）を発見してＭ１’≧Ｍ１を始めに設定したＭ１と置き換え、
（スペクトル検定第３段）幾何学形状の第ｘ２軸方向の幅Ｍ２を、順に１ずつＭ２’に増大させつつ
ζ２’：≡ｚ＾（Ｍ’Ｍ１’Ｍ２’）（ｍｏｄ  ｄ）
の（ｄ、（ζ２’）ｋ）の一般化２次スペクトル検定がｋ＝１、２、…、６に亙って１＜μｄ（２）（（ζ２’）ｋ）＜１．２５を満たし、かつＬ次スペクトル検定を１＜μｄ（Ｌ）（ζ２’）＜１．２５の成績でＬ＝３次から少なくともＬ＝４或いは５次まで満たすＭ２’（即ちζ２’）を発見して、Ｍ２’を始めに設定したＭ２と置き換え、
以下同様に進んで
（スペクトル検定第Ｎ段）幾何学形状の第ｘＮ−１軸方向の幅ＭＮ−１を、順に１ずつＭＮ−１’に増大させつつ
ζＮ−１’：≡ｚ＾（Ｍ’Ｍ１’Ｍ２’…ＭＮ−１’）（ｍｏｄ  ｄ）
の（ｄ、（ζＮ−１’）ｋ）の一般化２次スペクトル検定がｋ＝１、２、…、６に亙って１＜μｄ（２）（（ζＮ−１’）ｋ）＜１．２５を満たしかつＬ次スペクトル検定を１＜μｄ（Ｌ）（ζＮ−１’）＜１．２５の成績でＬ＝３次から少なくともＬ＝４或いは５次まで満たすＭＮ−１’（即ちζＮ−１’）を発見してＭＮ−１’を始めに設定したＭＮ−１と置き換える、
これらＮ個の手続を実現して、Ｔ≧Ｍ’Ｍ１’Ｍ２’…ＭＮ−１’ＭＮである場合にＮ次元直方体Ｍ１’×Ｍ２’×…×ＭＮ−１’×ＭＮの中にある整数格子ＬＮ’、
ＬＮ’：＝｛（Ｉ１、Ｉ２、…、ＩＮ）｜  ０≦Ｉｋ≦Ｍｋ’−１、
ｋ＝１、２、…、Ｎ−１、  ０≦ＩＮ≦ＭＮ−１｝
の各点（Ｉ１、Ｉ２、…、ＩＮ）に乱数の各糸の種ｓｅｅｄｓの配列
ＡＲＲＡＹ（Ｉ１、Ｉ２、…、ＩＮ）
を配布し用いる方法、但し配布は幾何学構造上の一様独立乱数が求められた各座標近傍へ相関の少なさを実現するものであって、ｔｕｎｉｎｇの結果であるＭ’、Ｍ１’、Ｍ２’、…、ＭＮ−１’を用いる事に注意すると、コンピュータ上で配布する方法は簡明であって：諸量をプログラムではｄ＝：Ｄ、ｚ＝：Ｚ、ｓ＝：Ｓなどと大文字で表し、印刷の都合上プライムのついた諸量は
Ｍ’＝：ＭＰ、  Ｍ２’＝：ＭＰ２、…、
但しｔｕｎｉｎｇされないＭＮだけはＭＮ＝：ＭＮ、と記し、配布される乱数の配列ＡＲＲＡＹ（Ｉ１、Ｉ２、…、ＩＮ）は
ＡＲＲＡＹ（Ｉ１、Ｉ２、…、ＩＮ）
と記す事にすれば、次のＦＯＲＴＲＡＮ副プログラム；
ＳＵＢＲＯＵＴＩＮＥ  ＳＥＥＤＥＲ（Ｄ、Ｚ、Ｓ、ＭＰ、＆
＆    ＭＰ１、ＭＰ２、ＭＰ３、…、ＭＮ）
ＩＮＴＥＧＥＲ＊８  Ａ−Ｚ
ＣＯＭＭＯＮ  ＡＲＲＡＹ（０：ＭＰ１−１、０：ＭＰ２−１、＆
＆    ０：ＭＰ３−１、…、０：ＭＮ−１）
ＣＯＵＮＴ＝０
ＳＥＥＤ＝１
ＣＡＬＬ  ＰＯＷＥＲ（ＺＥＴＡ、Ｄ、Ｚ、ＭＰ）
！    ＰＯＷＥＲは高次冪ＺＥＴＡ＝ＭＯＤ（Ｚ＊＊ＭＰ、Ｄ）、
！    １≦ＺＥＴＡ＜Ｄ、を計算するのための副プログラム
ＤＯ  １０  ＩＮ＝０、ＭＮ−１
…………………………
ＤＯ  １０  Ｉ３＝０、ＭＰ３−１
ＤＯ  １０  Ｉ２＝０、ＭＰ２−１
ＤＯ  １０  Ｉ１＝０、ＭＰ１−１
ＡＲＲＡＹ（Ｉ１、Ｉ２，Ｉ３、…、ＩＮ）＝ＳＥＥＤ
ＳＥＥＤ＝ＭＯＤ（ＳＥＥＤ＊ＺＥＴＡ、Ｄ）
！      このＳＥＥＤは法Ｄ＝Ｄ１＊Ｄ２と互いに素な因数の積の場合は
！      孫氏の定理によってＩＮＴＥＧＥＲ＊８内で計算可能
ＣＯＵＮＴ＝ＣＯＵＮＴ＋１
１０  ＣＯＮＴＩＮＵＥ
ＷＲＩＴＥ（６、’Ｉ２０’）ＣＯＵＮＴ
ＲＥＴＵＲＮ
ＥＮＤ
により実現される；ＣＯＵＮＴはすべてのＳＥＥＤＳが配置された事を確かめるためのＦＬＡＧ：このように構成され２進表示或はより効率的な形で保持されている｛Ｍ’、Ｍ１’、Ｍ２’、…、ＭＮ−１’、ＭＮ｝から、シミュレーションの準備計算としてまずＡＲＲＡＹを生成する、或はＡＲＲＡＹのデータそのものをＨＤ、ＳＳＤ、ＵＳＢ等にアーカイブし、シミュレーション計算冒頭に主記憶に読み込む、あるいは何らかの標準的な形でＡＲＲＡＹのデータを計算言語のサブルーチンとして計算センターの関数ライブラリーに装備して、或はオペレーティングシステムの１つのサービスとして含めて計算機や携帯電話機から利用する、等によりシミュレーション計算機上の前記整数格子ＬＮ’或いはその部分格子ＬＮの格子点への種ｓｅｅｄｓ分配を完成し、実際シミュレーションにはＬＮ’の各点（Ｉ１、Ｉ２、…、ＩＮ）での生成機構
（ｄ、ｚ、ＡＲＲＡＹ（Ｉ１、Ｉ２、…、ＩＮ））
が並列発生する乱数を用いる、幾何学構造ＬＮ’上の長さＭ’の一様独立乱数並列生成機構の構成方法。
【手続補正書】
【提出日】平成30年3月5日(2018.3.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ上で乱数を幾何学的な格子構造上に配置し、座標近傍に位置する乱数間で相関の優れて少ない保障を持つ所の生成機構の構成を実現する一様独立乱数並列生成機構の構成方法、即ちＮ＝１以上のＮ次元空間の直方体Ｍ１×Ｍ２×…×ＭＮ、但しＭ１、Ｍ２、…、ＭＮは整数とする、の中の格子ＬＮ、
ＬＮ＝｛（ｘ１、ｘ２、…、ｘＮ）｜
ｘｋは整数、０≦ｘｋ≦Ｍｋ−１、  ｋ＝１、２、…、Ｎ｝
の格子点の上に、整数の法ｄと、ｄとは素な整数の乗数ｚと、そしてｄとは素な整数の初期値（或いはｓｅｅｄ或いは種）ｓと、の組で構成される乗算合同法（ｄ、ｚ、ｓ）が与える周期Ｔの乗算合同法乱数列Ｓで優れたもの、即ち（ｄ、ｚｋ）のｋ＝１から６までのものの一般化２次スペクトル検定評価値が１＜μｄ（２）（ｚｋ）＜１．２５を満たしかつＬ≧３の次数の正Ｌ単体基準でのスペクトル検定評価値が１＜μｄ（Ｌ）（ｚ）＜１．２５をＬ＝３から６まで全てで満たす（ｄ、ｚ）から生成される乗算合同法数列Ｓ、を均一な長さＭの相続く部分列（ｔｈｒｅａｄｓ、或いは糸）に切り分けたものを第Ｎ＋１次元軸であるｔ軸方向に平行に順次に系統立って並べ、ｔ軸方向の近傍にある乱数の間ではもとの乱数列Ｓの優れた統計性がそのまま保持され、
（スペクトル検定第１段）糸の長さＭをＭ’＝Ｍ＋１、Ｍ＋２、…と順次増大させつつ
ζ’：≡ｚ＾（Ｍ’）（ｍｏｄ  ｄ）
の（ｄ、（ζ’）ｋ）の一般化２次スペクトル検定がｋ＝１、２、…、６に亙って１＜μｄ（２）（（ζ’）ｋ）＜１．２５を満たし、かつＬ次スペクトル検定を１＜μｄ（Ｌ）（ζ’）＜１．２５の成績でＬ＝３次から少なくともＬ＝４或いは５次まで満たす様なＭ’≧Ｍを（即ちζ’を）発見してＭ’を始めに設定したＭと置き換え、
（スペクトル検定第２段）幾何学形状の第ｘ１軸方向の幅Ｍ１を、順に１ずつＭ１’に増大させつつ
ζ１’：≡ｚ＾（Ｍ’Ｍ１’）（ｍｏｄ  ｄ）
の（ｄ、（ζ１’）ｋ）の一般化２次スペクトル検定がｋ＝１、２、…、６に亙って１＜μｄ（２）（（ζ１’）ｋ）＜１．２５を満たし、かつＬ次スペクトル検定を１＜μｄ（Ｌ）（ζ１’）＜１．２５の成績でＬ＝３次から少なくともＬ＝４或いは５次まで満たすＭ１’（即ちζ１’）を発見してＭ１’≧Ｍ１を始めに設定したＭ１と置き換え、
（スペクトル検定第３段）幾何学形状の第ｘ２軸方向の幅Ｍ２を、順に１ずつＭ２’に増大させつつ
ζ２’：≡ｚ＾（Ｍ’Ｍ１’Ｍ２’）（ｍｏｄ  ｄ）
の（ｄ、（ζ２’）ｋ）の一般化２次スペクトル検定がｋ＝１、２、…、６に亙って１＜μｄ（２）（（ζ２’）ｋ）＜１．２５を満たし、かつＬ次スペクトル検定を１＜μｄ（Ｌ）（ζ２’）＜１．２５の成績でＬ＝３次から少なくともＬ＝４或いは５次まで満たすＭ２’（即ちζ２’）を発見して、Ｍ２’を始めに設定したＭ２と置き換え、
以下同様に進んで
（スペクトル検定第Ｎ段）幾何学形状の第ｘＮ−１軸方向の幅ＭＮ−１を、順に１ずつＭＮ−１’に増大させつつ
ζＮ−１’：≡ｚ＾（Ｍ’Ｍ１’Ｍ２’…ＭＮ−１’）（ｍｏｄ  ｄ）
の（ｄ、（ζＮ−１’）ｋ）の一般化２次スペクトル検定がｋ＝１、２、…、６に亙って１＜μｄ（２）（（ζＮ−１’）ｋ）＜１．２５を満たしかつＬ次スペクトル検定を１＜μｄ（Ｌ）（ζＮ−１’）＜１．２５の成績でＬ＝３次から少なくともＬ＝４或いは５次まで満たすＭＮ−１’（即ちζＮ−１’）を発見してＭＮ−１’を始めに設定したＭＮ−１と置き換える、
これらＮ個の手続を実現して、Ｔ≧Ｍ’Ｍ１’Ｍ２’…ＭＮ−１’ＭＮである場合にＮ次元直方体Ｍ１’×Ｍ２’×…×ＭＮ−１’×ＭＮの中にある整数格子ＬＮ’、
ＬＮ’：＝｛（Ｉ１、Ｉ２、…、ＩＮ）｜  ０≦Ｉｋ≦Ｍｋ’−１、
ｋ＝１、２、…、Ｎ−１、  ０≦ＩＮ≦ＭＮ−１｝
の各点（Ｉ１、Ｉ２、…、ＩＮ）に乱数の各糸の種ｓｅｅｄｓの配列
ＡＲＲＡＹ（Ｉ１、Ｉ２、…、ＩＮ）
を配布し用いる方法、但し配布は幾何学構造上の一様独立乱数が求められた各座標近傍へ相関の少なさを実現するものであって、ｔｕｎｉｎｇの結果であるＭ’、Ｍ１’、Ｍ２’、…、ＭＮ−１’を用いる事に注意すると、コンピュータ上で配布する方法は簡明であって：諸量をプログラムではｄ＝：Ｄ、ｚ＝：Ｚ、ｓ＝：Ｓなどと大文字で表し、印刷の都合上プライムのついた諸量は
Ｍ’＝：ＭＰ、  Ｍ２’＝：ＭＰ２、…、
但しｔｕｎｉｎｇされないＭＮだけはＭＮ＝：ＭＮ、と記し、配布される乱数の配列ＡＲＲＡＹ（Ｉ１、Ｉ２、…、ＩＮ）は
ＡＲＲＡＹ（Ｉ１、Ｉ２、…、ＩＮ）
と記す事にすれば、次のＦＯＲＴＲＡＮ副プログラム；
ＳＵＢＲＯＵＴＩＮＥ  ＳＥＥＤＥＲ（Ｄ、Ｚ、Ｓ、Ｍ、＆
＆    ＭＰ１、ＭＰ２、ＭＰ３、…、ＭＮ）
ＩＮＴＥＧＥＲ＊８  Ａ−Ｚ
ＣＯＭＭＯＮ  ＡＲＲＡＹ（０：ＭＰ１−１、０：ＭＰ２−１、＆
＆    ０：ＭＰ３−１、…、０：ＭＮ−１）
ＣＯＵＮＴ＝０
ＳＥＥＤ＝１
ＣＡＬＬ  ＰＯＷＥＲ（ＺＥＴＡ、Ｄ、Ｚ、ＭＰ）
！    ＰＯＷＥＲは高次冪ＺＥＴＡ＝ＭＯＤ（Ｚ＊＊ＭＰ、Ｄ）、
！    １≦ＺＥＴＡ＜Ｄ、を計算するのための副プログラム
ＤＯ  １０  ＩＮ＝０、ＭＮ−１
…………………………
ＤＯ  １０  Ｉ３＝０、ＭＰ３−１
ＤＯ  １０  Ｉ２＝０、ＭＰ２−１
ＤＯ  １０  Ｉ１＝０、ＭＰ１−１
ＡＲＲＡＹ（Ｉ１、Ｉ２，Ｉ３、…、ＩＮ）＝ＳＥＥＤ
ＳＥＥＤ＝ＭＯＤ（ＳＥＥＤ＊ＺＥＴＡ、Ｄ）
！      このＳＥＥＤは法Ｄ＝Ｄ１＊Ｄ２と互いに素な因数の積の場合は
！      孫氏の定理によってＩＮＴＥＧＥＲ＊８内で計算可能
ＣＯＵＮＴ＝ＣＯＵＮＴ＋１
１０  ＣＯＮＴＩＮＵＥ
ＷＲＩＴＥ（６、’Ｉ２０’）ＣＯＵＮＴ
ＲＥＴＵＲＮ
により実現される；ＣＯＵＮＴはすべてのＳＥＥＤＳが配置された事を確かめるためのＦＬＡＧ：これで作られたＡＲＲＡＹをＭＡＩＮ  ＰＲＯＧＲＡＭで種として用いて、前記整数格子ＬＮ’或いはその部分格子ＬＮの格子点への種ｓｅｅｄｓ分配を完成し、実際シミュレーションにはＬＮ’の各点（Ｉ１Ｉ２、…、ＩＮ）での生成機構
（ｄ、ｚ、ＡＲＲＡＹ（Ｉ１、Ｉ２、…、ＩＮ））
が並列発生する乱数を用いる、幾何学構造ＬＮ’上の長さＭ’の一様独立乱数並列生成機構の構成方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】ＭＣ乱数生成機構の記号を定める。ＭＣ乱数生成機構は、法の整数ｄ、それとは素な整数の乗数ｚ、そしてｄとは素な初期値を与える整数の種ｓ（ｓｅｅｄ）、をまとめて（ｄ、ｚ、ｓ）或いはｓｅｅｄが議論に関係しない場合には（ｄ、ｚ）、と表示する。（ｄ、ｚ、ｓ）は整数の列Ｓ：＝｛ｒ０、ｒ１、ｒ２、…｝を合同漸化式
ｒ０：≡ｓ（ｍｏｄ  ｄ）、  ０＜ｒ０＜ｄ、
ｒｊ：≡ｚｒｊ−１≡ｓｚｊ（ｍｏｄ  ｄ）、  ０＜ｒ０＜ｄ、  ｊ≧１、
で生成し、一様独立乱数列として
｛ｖｊ：＝ｒｊ／ｄ、  ｊ＝０、１、２、…｝
を出力する。整数出力の相続くＬ連（ｒｊ、ｒｊ＋１、…、ｒｊ＋Ｌ−１）、Ｌ＝２、３、…をＬ次元空間ＥＬの点Ｐｊの位置ベクトルと考えると、ｊ＝０，１，２、…に対する点がＥＬの中でｄとｚで定まるある格子の上にある事は良く知られ、ＦｉｓｈｍａｎとＭｏｏｒｅ（１９８６）以来（ｄ、ｚ）生成機構の性能評価に用いられた。ここでは中澤と中澤（２０１４Ａ）が与える一般化２次検定の合格条件
１＜μｄ（２）（ｚｋ）＜１．２５、  ｋ＝１、２、…、６、
但し（ｄ、ｚｋ）ＭＣ生成機構が与える２連の作る２次元格子の隣接格子線の最大間隔をλｄ（２）（ｚｋ）と記してμｄ（２）（ｚｋ）は次の定義を持つ：
μｄ（２）（ｚｋ）；
＝λｄ（２）（ｚｋ）／｛（ｄ／２）＾（１／２）３＾（１／４）｝、
そして中澤と中澤（２０１４Ｂ）に基づく正Ｌ単体基準に基づくＬ次スペクトル検定に基づく合格基準
１＜μｄ（Ｌ）（ｚ）＜１．２５、  ３≦Ｌ≦６
但し（ｄ、ｚ）ＭＣ生成機構からのＬ連の作るＬ次元格子の隣接（Ｌ−１）次元超格子面の最大間隔をλｄ（Ｌ）（ｚ）と記してμｄ（Ｌ）（ｚ）は次の定義を持つ：
μｄ（Ｌ）（ｚ）；
＝λｄ（Ｌ）（ｚ）／｛Ｌ＾（−１／２）×
×（Ｌ＋１）＾［（Ｌ−１）／（２Ｌ）］×
×ｄ＾［（Ｌ−１）／Ｌ］｝。
この報告の前提はこれら２つの評価を満たす優れた（ｄ、ｚ、ｓ）ＭＣ機構からの乱数列Ｓの存在である；これは中澤と中澤（２０１６Ａ）にＳＮＰが発見した９個のＭＣ生成機構では満たされている。目的はこのような優れた乱数列Ｓを幾何学構造上の並列生成可能なＭＣ生成機構の一般的な構成に用いる技術の開発である。