El Diario de ACM, Transacciones sobre Matemáticas , tiene un largo historial de generadores y conjuntos de números aleatorios publicados para verificar su aleatoriedad. Si quieres que sea verdaderamente aleatorio, eso es una cosa. Si necesita evitar cualquier patrón en los números, eso es otra cosa. Y si quiere repetibilidad junto con esas necesidades, eso lo hace un poco más complicado.
El mejor generador de números aleatorios, como se señala ampliamente, es un dispositivo periférico que realiza un seguimiento de la descomposición de un material radiactivo. En serio. A falta de eso, solo podemos intentar simular la aleatoriedad.
Semilla: para el aspecto verdaderamente aleatorio, necesitará supervisar los accesos al disco, los retrasos del teclado y las marcas de tiempo en las lecturas de la red, así como usar los nanos del reloj en tiempo real, para que pueda generar una “semilla” aleatoria ”
Acumulador: para minimizar los patrones, deseará conectar en cascada múltiples generadores de números pseudoaleatorios, cada uno utilizando un módulo de número primo de un “acumulador” que se incrementa con un coeficiente principal. La web está llena de ejemplos de cómo hacer esto.
Normalmente puede resembrar el acumulador agregando una nueva semilla en cada acceso o cada tantos accesos. Pero si desea repetibilidad, solo siembre una vez cuando comience, luego realice un seguimiento de esa semilla para volver a usarla cuando quiera repetirla.
Al tratar con un generador de números aleatorios, debes tener cuidado de no vencerlo. Nunca piense que puede obtener un número aleatorio mayor multiplicando dos números aleatorios. Si necesita un número aleatorio mayor, diseñe un nuevo generador de números aleatorios que use una semilla más grande, un acumulador más grande y primos más grandes.
¿Google está trabajando para resolver cualquier problema relacionado con la atención médica?
¿Qué significa el código médico 780.79?
Hay muchas más advertencias, pero creo que esto es suficiente para comenzar.
Buena suerte,