Come seminare correttamente un Mersenne Twister RNG?
-
28-10-2019 - |
Domanda
Questo in realtà non è così semplice come ho pensato per la prima volta.
In assenza di un RNG hardware, qual è il modo migliore per seminare un twister di Mersenne?
O dovrei dire, qual è un modo accettabile per seminare un RNG Twister che viene usato per generare Uuid?
Soluzione
C'è una bella discussione sui generatori di numeri pseudo-casuali qui compresa una sezione sulla corretta semina dei PRNG (vedi regola 3), che usa md5sum
e /dev/random
o /dev/urandom
per generare semi.
Ciò include anche una serie di alogritmi PRNG che sono molto più facili da codificare (<10 righe di codice) rispetto al MT ma sono probabilmente altrettanto buoni (lunghi periodi e superano tutti i test divagamenti per la casualità).
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow