
Pseudorandom Number Generator
Ein Pseudorandom Number Generator ist ein Rechenverfahren, das Zahlenfolgen erzeugt, die zufällig aussehen, aber in Wahrheit exakt berechnet sind. Aus einem Startwert entsteht immer wieder dieselbe Folge — das macht Programme reproduzierbar, ist aber für Sicherheitszwecke nur mit besonderen Verfahren geeignet.
Computer können nicht würfeln. Sie folgen Rechenregeln, und dieselbe Regel liefert bei gleicher Ausgangslage immer dasselbe Ergebnis. Trotzdem brauchen Programme ständig Zahlen, die unvorhersehbar wirken: für Spiele, für Simulationen, für Verschlüsselung. Die Lösung ist ein Pseudorandom Number Generator, kurz PRNG. Er nimmt eine einzige Startzahl und rechnet daraus eine lange Kette weiterer Zahlen aus. Diese Kette sieht wie Zufall aus, ist aber vollständig festgelegt — daher das Wort « pseudo », also « scheinbar ».
Warum Scheinzufall oft besser ist als echter Zufall
Echter Zufall lässt sich aus der Physik gewinnen, etwa aus dem elektronischen Rauschen eines Bauteils oder aus radioaktivem Zerfall. Das ist aufwendig und langsam. Ein PRNG dagegen erzeugt Millionen Zahlen pro Sekunde und braucht nur ein paar Rechenschritte pro Zahl. Für die allermeisten Anwendungen ist das der praktikablere Weg.
Der zweite Vorteil klingt zunächst paradox: Ein PRNG ist wiederholbar. Speichert man den Startwert, den sogenannten Seed, bekommt man exakt dieselbe Zahlenfolge noch einmal. Genau das brauchen Forscher, die eine Klimasimulation oder ein Machine-Learning-Experiment nachrechnen wollen. Mit echtem Zufall wäre jeder Durchlauf anders und ein Fehler kaum zu finden.
In der KI-Entwicklung ist der Seed deshalb ein Standardwerkzeug. Er bestimmt, wie die Startwerte eines neuronalen Netzes ausgewürfelt werden und in welcher Reihenfolge die Trainingsdaten kommen. Zwei Trainingsläufe mit gleichem Seed liefern dasselbe Modell. Ohne diese Kontrolle wären Vergleiche zwischen zwei Ansätzen wertlos, weil man nie wüsste, ob der Unterschied vom Verfahren oder vom Zufall stammt.
Vom Seed zur Zahlenkette
Ein PRNG merkt sich einen internen Zustand, also eine Zahl oder eine Gruppe von Zahlen. Bei jeder Anfrage rechnet er diesen Zustand mit einer festen Formel um und gibt einen Teil davon als Ergebnis heraus. Der neue Zustand ist dann die Grundlage für die nächste Zahl. Ein einfaches klassisches Verfahren multipliziert den Zustand mit einer großen Konstanten, addiert eine zweite und behält nur den Rest bei einer Division. Das Ergebnis springt dabei scheinbar wild durch den Zahlenraum.
Weil der Zustand endlich viele Werte annehmen kann, wiederholt sich die Folge irgendwann. Diese Länge bis zur Wiederholung heißt Periode. Gute Generatoren haben astronomisch lange Perioden; der weit verbreitete Mersenne Twister wiederholt sich erst nach etwa 2 hoch 19937 Schritten. In der Praxis erreicht man dieses Ende nie.
Ein häufiger Irrtum ist, dass ein langer Zyklus schon Sicherheit bedeutet. Bei vielen Standardgeneratoren genügen einige hundert beobachtete Ausgaben, um den inneren Zustand zu rekonstruieren und alle künftigen Zahlen vorherzusagen. Für Passwörter oder Schlüssel braucht man deshalb kryptografisch sichere Generatoren. Diese verwenden Verfahren, bei denen sich der Rückweg vom Ergebnis zum Zustand praktisch nicht berechnen lässt.
Wo überall gewürfelt wird
Jedes Videospiel mit zufälliger Karte oder zufälligem Beutefund nutzt einen PRNG. Manche Spiele zeigen den Seed sogar an, damit Spieler dieselbe Welt teilen können — bei Minecraft ist genau das ein bekanntes Merkmal. Auch die Zugreihenfolge in Musik-Apps oder das Mischen von Karten in Online-Spielen läuft so.
In der Wissenschaft stecken PRNGs hinter Monte-Carlo-Simulationen. Dabei wird ein Vorgang, etwa die Bewegung von Teilchen oder die Entwicklung eines Aktienkurses, sehr oft mit zufälligen Werten durchgerechnet. Aus dem Durchschnitt der Läufe ergibt sich eine Antwort, die man analytisch nicht bekommen würde.
In KI-Meldungen taucht der Begriff meist indirekt auf. Wenn ein Chatbot bei gleicher Frage unterschiedliche Antworten gibt, liegt das an einer zufälligen Auswahl unter den wahrscheinlichsten nächsten Wörtern. Setzt man den Seed fest, wird die Antwort wiederholbar. Und wenn ein Sicherheitsvorfall auf einen « schwachen Zufallsgenerator » zurückgeführt wird, hat jemand für Schlüssel ein Verfahren genutzt, das nur für Spiele taugt.