すべての擬似乱数ジェネレーターは最終的に周期的ですか?


24

すべての擬似乱数ジェネレーターは最終的に周期的ですか?それとも最終的には周期的ですか?

周期的ということは、有理数のように、最終的には周期的な部分列を生成するということです...

擬似ランダムとは、乱数のアルゴリズム/数学的な生成を意味します...


7
これは重要な点ですが、有限メモリコンピューターでは、すべての停止しないプログラムは最終的に周期的です。チューリングマシンで実行されているアルゴリズムを分析できますが、メモリの使用に時間の制限がないPRNGはあまり実用的ではありません。
ピーター

@Peterは、「メモリの使用に時間の制限がないPRNGはあまり実用的ではない」と言います。メモリ使用量が時間に対して2次または線形の場合は実用的ではないかもしれませんが、対数のみの場合はどうでしょうか。私の答えをご覧ください。
ドンハッチ

回答:


39

外部のランダム性に依存せず、限られた量のメモリを使用するすべての擬似ランダムジェネレーターは、有限状態を持っているため、必然的に周期的です。それらは、出力を与える特別な「出力」状態を持つ巨大な決定論的有限オートマトンと考えることができます。すべての有限オートマトンは最終的に周期的であるため、すべての擬似乱数ジェネレーターは最終的に周期的な出力を生成します。

ただし、期間の長さは膨大な場合があります。たとえば、128ビットの暗号化状態のPRNGは、出力のビットごとに1回しかサイクルしない可能性があるため、ナノ秒ごとに1ビットを出力しても、PRNGが繰り返されると太陽系は停止します。2128

PRNGは、メモリの無制限の量を(現実的ではない)、それは、例えば、出力のバイナリ拡張することができる使用することが許可されている場合ため、我々が知っている、最終的には周期的ではない(は非合理的です)。22


コメントは詳細なディスカッション用ではありません。この会話はチャットに移動さました
DW

チャットへのリンクが壊れています。議論のログを見ることはまだ可能ですか?:/ @DW
oink

@ cchan3141、復元しました。今すぐやってみて下さい。ただし、コメントは一時的なものであり、チャットルームについても同様です。他の人にとって永続的な価値のあるものを見つけたら、その情報を組み込むために回答を編集するか、独自の新しい回答を投稿することをお勧めします。ありがとうございました!
DW

7

PRNGはステートマシンです。内部入力のみに基づいている場合(ハードウェアとソフトウェアの組み合わせであるPoker Stars RNGとは対照的に、サウンドサンプルから継続的にシード)、(C、S1、...)Cが得られますは現在の(または以前の)値であり、S1、...は状態のセットです。

CのN値(メモリが制限されているため)があり、N + 1回反復する場合、Cに対して同じ値を少なくとも2回ヒットします。2N + 1回反復すると、Cに対して同じ値が少なくとも3回ヒットします。

T =(Ct、S1t、S2t)を特定の状態(現在の値と他の状態)とします。
M =#{S1の値} X {S2の値} X {...}を可能な状態の組み合わせの基数とします(再び:メモリが制限されているため)。

アルゴリズムをNM + 1回反復すると、同じ状態(Ct、S1t、S2t、...)の少なくとも2倍に達するため、最初と同じ出力値と同じ状態シーケンスが生成されます。定期的になります。


6

周期的ではない擬似ランダムシーケンスの簡単な例:すべての正の整数のバイナリ表現を順番に連結します。

110111001011101111000...

(「。」を追加します。これは、バイナリチャンペルノーン定数と呼ばれます。)

もちろん、これは疑似ランダムシーケンスに関する限り、それほど高品質ではありませんが、多くのメモリを使用しなくても可能であることを示しています。

この例では、状態を保存するために必要なメモリは理論的に無制限です。ただし、(たとえば、または数字を計算するために必要なメモリと比較して)非常にゆっくりと成長します。同様に、各ビットを生成するのに必要な時間。π2

制限のないメモリ要件はチューリングマシンにとっては問題ではなく、成長も非常に遅いため、実際にはおそらく問題ではありませんが、これを使用する目的によって異なります。

たとえば、実際にビットを順番に生成するだけであれば、宇宙の寿命の間にメモリを使い果たすことなく、実際のコンピューターでこの非周期的なシーケンスの任意の多くのビットを簡単に任意に生成できます。ただし、そのユースケースでは、非周期性は単にような非常に大きな周期を持っている以上の利点はありません。したがって、「通常の」使用法の観点からはそれほど違いはありません。2128

差別化要因は、PRNGから他のPRNGを導出するようなことをしたい場合、たとえば、定期的にサブシーケンスを取得することです。非周期PRNGで開始すると、サンプリングする周期に関係なく非周期結果が得られますが、周期 PRNGで開始すると、サンプリング周期が十分に大きい。2128

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.