2011-12-06 41 views
14

Esto no es tan simple como pensé en un principio.¿Cómo sembrar correctamente un twister mersenne RNG?

En ausencia de un hardware RNG, ¿cuál es la mejor manera de sembrar un Mersenne Twister?

O debería decir, ¿cuál es una forma aceptable de sembrar un Mersenne Twister RNG que se utiliza para generar UUID?

+0

google offers http://docstore.mik.ua/orelly/networking/puis/ch23_08.htm –

+2

Hay una agradable discusión de generadores de números pseudoaleatorios [aquí] (http: //www.cs.ucl. ac.uk/staff/d.jones/GoodPracticeRNG.pdf) que incluye una sección sobre la semilla apropiada de PRNG (ver la regla 3), que usa 'md5sum' y'/dev/random' para generar semillas. (Esto también incluye una serie de alogritos de PRNG que son mucho más fáciles de codificar que el MT, pero se podría decir que son igual de buenos). – Chris

+0

@Chris ¿quieres publicar eso como respuesta? Creo que es un artículo muy bueno y es útil para sembrar PRNG en general. – Matt

Respuesta

8

Hay una bonita discusión de generadores de números pseudo-aleatorios here incluyendo una sección sobre la siembra apropiada de PRNGs (ver la regla 3), que utiliza md5sum y /dev/random o /dev/urandom para generar semillas.

Esto también incluye un número de alogritos de PRNG que son mucho más fáciles de codificar (< 10 líneas de código) que el MT, pero son igual de buenos (períodos largos y pasan todas las pruebas de Dieharder por aleatoriedad).

Cuestiones relacionadas