Jakie algorytmy są stosowane w nowoczesnych generatorach liczb losowych dobrej jakości?
Jakie algorytmy są stosowane w nowoczesnych generatorach liczb losowych dobrej jakości?
Odpowiedzi:
W R domyślnymi ustawieniami dla generowania liczb losowych są:
Możesz to łatwo sprawdzić, mianowicie.
> RNGkind()
[1] "Mersenne-Twister" "Inversion"
Można zmienić domyślny generator na inne PRNG, takie jak Super-Duper, Wichmann-Hill, Marsaglia-Multicarry, a nawet dostarczony przez użytkownika PRNG. Zobacz? RNGkind, aby uzyskać więcej informacji. Nigdy nie potrzebowałem zmieniać domyślnego PRNG.
Biblioteka C GSL domyślnie używa również Mersenne-Twister .
Mersenne Twister jest jednym Natknąłem i używane przedtem.
Xorshift PNG zaprojektowany przez George'a Marsaglia. Jego okres (2 ^ 128-1) jest znacznie krótszy niż Mersenne-Twister, ale algorytm jest bardzo prosty do wdrożenia i nadaje się do równoległości. Działa dobrze na architekturach wielordzeniowych, takich jak układy DSP i Tesla Nvidii.
Na stronie http://prng.di.unimi.it/ można znaleźć strzelaninę z kilkoma generatorami liczb losowych przetestowanymi za pomocą TestU01, nowoczesnego zestawu testów dla generatorów liczb pseudolosowych, które zastąpiły diehard i dieharder. Możesz wybrać i wybrać.