10 votos

Generación de números pseudoaleatorios algoritmos

¿Qué son los algoritmos utilizados en los modernos y de buena calidad, generadores de números aleatorios?

14voto

Matt Puntos 2336

El Xorshift PNG diseñado por George Marsaglia. Su período de (2^128-1) es mucho más corta que la de Mersenne-Twister pero el algoritmo es muy simple de implementar y se presta a la paralelización. Funciona bien en muchos núcleo de arquitecturas, tales como chips DSP y Nvidia Tesla.

10voto

Eggs McLaren Puntos 945

En R, el valor predeterminado para la generación de números aleatorios son:

  1. Por U(0,1), el uso de la Mersenne-Twister el algoritmo de
  2. Para Guassian uso de números numérica de inversión de la función de distribución normal estándar.

Usted puede fácilmente verificar esta, a saber.

> RNGkind()
[1] "Mersenne-Twister" "Inversion"

Es posible cambiar el generador por defecto a otros PRNGs, tales como Super-Duper,Wichmann-Hill, Marsaglia-Multicarry o incluso un usuario suministrado por el PRNG. Ver el ?RNGkind para más detalles. Nunca he necesitado para cambiar el valor predeterminado PRNG.

El C GSL biblioteca también utiliza la Mersenne-Twister por defecto.

4voto

Ryan Fox Puntos 5181

El Mersenne Twister es uno que he encontrado y utilizado antes de ahora.

2voto

Phil Cloarec Puntos 11

En http://prng.di.unimi.it/ usted puede encontrar un tiroteo de varios generadores de números aleatorios probado usando TestU01, la moderna suite de prueba para los generadores de números pseudoaleatorios que sustituye diehard y dieharder. Usted puede escoger y elegir.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X