Sind alle Pseudozufallszahlengeneratoren letztendlich periodisch?


24

Sind alle Pseudozufallszahlengeneratoren letztendlich periodisch? Oder sind sie am Ende überhaupt periodisch?

Mit periodisch meine ich, dass sie wie rationale Zahlen am Ende eine periodische Folge erzeugen ...

Und Pseudozufall bedeutet algorithmische / mathematische Erzeugung von Zufallszahlen ...


7
Dies ist ein umständlicher Punkt, aber auf einem Computer mit endlichem Speicher ist jedes nicht unterbrechende Programm letztendlich periodisch. Sie könnten den Algorithmus so analysieren, dass er auf einer Turing-Maschine ausgeführt wird, aber jeder PRNG, dessen Speichernutzung zeitlich unbegrenzt ist, wäre nicht sehr praktisch.
Peter

@Peter du sagst "Jeder PRNG, dessen Speichernutzung zeitlich unbegrenzt ist, wäre nicht sehr praktisch". Es mag nicht praktisch sein, wenn die Speichernutzung quadratisch oder linear in Bezug auf die Zeit ist, aber was ist, wenn es nur logarithmisch ist? Siehe meine Antwort.
Don Hatch

Antworten:


39

Alle Pseudozufallsgeneratoren, die nicht auf Zufälligkeit von außen angewiesen sind und eine begrenzte Menge an Speicher verwenden, sind zwangsläufig periodisch, da sie einen endlichen Zustand haben. Man kann sie sich als riesige deterministische endliche Automaten vorstellen, die spezielle "Ausgabe" -Zustände haben, in denen sie ihre Ausgabe angeben. Alle endlichen Automaten sind schließlich periodisch, und so erzeugen alle Pseudozufallsgeneratoren schließlich periodische Ausgaben.

Die Periodenlänge kann jedoch enorm sein. Zum Beispiel kann ein PRNG mit einem kryptografischen Zustand von 128 Bit nur einmal alle Bit der Ausgabe zyklisch ausgeführt werden, und selbst wenn alle Nanosekunden ein Bit ausgegeben wird, ist das Sonnensystem tot, bevor sich das PRNG wiederholt.2128

Wenn der PRNG eine unbegrenzte Menge an Speicher verwenden darf (was nicht realistisch ist), kann er zum Beispiel die binäre Erweiterung von ausgeben22


Kommentare sind nicht für eine längere Diskussion gedacht. Diese Unterhaltung wurde in den Chat verschoben .
DW

Die Verbindung zum Chat ist unterbrochen. Ist es noch möglich, ein Protokoll der Diskussion zu sehen? : / @DW
oink

@ cchan3141, ich habe es restauriert; Versuche es jetzt. Beachten Sie jedoch, dass Kommentare von Natur aus vergänglich sind, und dasselbe gilt für Chatrooms. Wenn Sie dort etwas finden, das für andere von bleibendem Wert ist, empfehle ich Ihnen, die Antwort zu bearbeiten, um diese Informationen einzubeziehen, oder eine eigene neue Antwort zu veröffentlichen. Vielen Dank!
DW

7

PRNGs sind Zustandsmaschinen. Wenn sie nur auf internen Eingaben basieren (im Gegensatz zu Poker Stars RNG, einer Kombination aus Hardware und Software, die sich kontinuierlich aus ... Klangbeispielen ableitet), erhalten Sie (C, S1, ...), wobei C ist der aktuelle (oder vorherige) Wert und S1, ... kann eine Menge von Zuständen sein:

Wenn es mögliche N-Werte für C gibt (da der Speicher begrenzt ist) und Sie N + 1-mal iterieren, treffen Sie mindestens zweimal denselben Wert für C. Wenn Sie 2N + 1-mal iterieren, treffen Sie mindestens 3-mal denselben Wert für C.

Sei T = (Ct, S1t, S2t) ein bestimmter Zustand (aktueller Wert und andere Zustände).
Sei M = # {Werte für S1} X {Werte für S2} X {...} der Kardinal möglicher Zustandskombinationen (wieder: da der Speicher begrenzt ist).

Wenn Sie NM + 1-mal den Algorithmus iterieren, erreichen Sie mindestens den doppelten gleichen Zustand (Ct, S1t, S2t, ...), wodurch der gleiche Ausgabewert und die gleiche Folge von Zuständen wie beim ersten Mal erzeugt werden so periodisch zu werden.


6

Einfaches Beispiel für eine Pseudozufallsfolge, die nicht periodisch ist: Verketten Sie die binären Darstellungen aller positiven ganzen Zahlen in der folgenden Reihenfolge:

110111001011101111000...

(Stellen Sie ein "." Voran und es heißt die binäre Champernowne-Konstante .)

Natürlich ist diese Qualität in Bezug auf Pseudozufallssequenzen nicht sehr hoch, aber es zeigt, dass dies möglich ist, ohne viel Speicher zu verwenden.

In diesem Beispiel ist der zum Speichern des Zustands erforderliche Speicher theoretisch unbegrenzt. es wächst jedoch sehr langsam (im Vergleich beispielsweise zu dem Speicher, der benötigt wird, um Ziffern von zu berechnen)π2

Der unbegrenzte Speicherbedarf ist für eine Turing-Maschine kein Problem und in der Praxis wahrscheinlich auch kein Problem, da das Wachstum so langsam ist, aber es hängt davon ab, wofür Sie dieses Ding verwenden möchten.

2128

2128

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.