Seeding des Zufallszahlengenerators in JavaScript
Das integrierte Math.random() in JavaScript bietet nicht die Möglichkeit, Seeds zu erstellen Zufallszahlengenerator, was bedeutet, dass er nicht mit einem bestimmten Wert initialisiert werden kann, um eine vorgegebene Folge von Zufallszahlen zu generieren.
Während Seeding mit nicht möglich ist Math.random() gibt es externe Bibliotheken und Implementierungen, die benutzerdefinierte Funktionen zum Generieren setzfähiger Pseudozufallszahlen bieten. Hier sind einige Optionen:
Pseudozufallszahlengenerator-Funktionen (PRNG)
Mehrere kompakte und effiziente PRNG-Funktionen können in JavaScript implementiert werden und liefern qualitativ hochwertige Zufallszahlen kann mit einer oder mehreren 32-Bit-Zahlen geimpft werden.
Seed Initialisierung
Es ist wichtig, Ihre PRNGs richtig zu initialisieren, um Seeds mit niedriger Entropie zu vermeiden, die die Zufälligkeit der generierten Zahlen beeinträchtigen können. Hier sind zwei gängige Methoden:
PRNG Algorithmen
Hier ist ein Beispiel für den sfc32-Algorithmus (Simple Fast Counter), der einen 128-Bit-Zustand hat und Zufallszahlen im Bereich 0-1 erzeugt:
function sfc32(a, b, c, d) { return function() { a |= 0; b |= 0; c |= 0; d |= 0; let t = (a + b | 0) + d | 0; d = d + 1 | 0; a = b ^ b >>> 9; b = c + (c << 3) | 0; c = (c << 21 | c >>> 11); c = c + t | 0; return (t >>> 0) / 4294967296; } }
Das obige ist der detaillierte Inhalt vonWie kann ich Zufallszahlengeneratoren in JavaScript setzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!