Jeśli szukasz przykładów tworzenia rozstawionego (pseudo) generatora liczb losowych, napotkasz takie rzeczy (ten konkretny przykład http://indiegamr.com/generate-repeatable-random-numbers-in-js/ ):
// the initial seed
Math.seed = 6;
// in order to work 'Math.seed' must NOT be undefined,
// so in any case, you HAVE to provide a Math.seed
Math.seededRandom = function(max, min) {
max = max || 1;
min = min || 0;
Math.seed = (Math.seed * 9301 + 49297) % 233280;
var rnd = Math.seed / 233280;
return min + rnd * (max - min);
}
Te konkretne liczby (9301, 49297, 233280) i algorytm są używane w kółko, ale wydaje się, że nikt nie ma na to definitywnego odniesienia. Kto wynalazł ten algorytm i przetestował dystrybucję? Czy jest papier lub coś do cytowania?
Odpowiedzi:
Szybkie wyszukiwanie w Książkach Google pokazuje, że te numery (9301, 49297, 233280) zostały użyte w wielu odnośnikach:
Najstarsze to komputerowe metody obliczeń matematycznych z 1977 r. George Elmer Forsythe, Michael A. Malcolm, Cleve B. Moler (Prentice-Hall), chociaż Google nie pokazuje, gdzie tekst został użyty w książce, więc nie można go zweryfikować.
Najwcześniej pokazano tekst w Recepturach numerycznych w Pascal (pierwsze wydanie): The Art of Scientific Computing , Tom 1 , Press, Teukolsky, Vetterling and Flannery, na pełnej stronie tabeli „Stałe przenośnych generatorów liczb losowych”. Te konkretne liczby podano z przepełnieniem 2 ^ 31.
W Numerical Recipes seria książek są niezwykle popularne, a były w druku od 1986 roku.
źródło