この質問に適切なフォーラムについて少し確信が持てません。理論上のコンプの間です。科学/数学とプログラミング。
Mersenne-Twister を使用して疑似乱数を生成します。今、与えられたシードから始めて、シーケンスの n 番目の番号にジャンプしたいと思います。
私はこれを見ました:http://www-personal.umich.edu/~wagnerr/MersenneTwister.html、そして1つのスキームは次のようになります:
特定のシードsからの完全なランダム シーケンスの最初のN 個の数字だけが必要だとします。シーケンスをp個のサブ
シーケンスに分割し、N 個の数値すべてを調べて、各サブシーケンスの開始時に乱数ジェネレーターの状態ベクトルを保存します。n番目の数
に到達するために、 nがk番目のサブシーケンスに含まれることを確認し、このサブシーケンスの状態ベクトルを読み込み、m 個の連続する乱数を生成します。ここで、k 番目のサブシーケンスの m 番目の数は完全な数列の n 番目の数と同じ ( n = m + (k-1) * N/p )。
しかし、状態ベクトルの長さは 624 x 4 バイトです! メルセンヌ・ツイスターで生成されたシーケンス内の任意の要素にジャンプすることは実際に可能かどうか疑問に思います。