No puedes O, más bien, no puedes en ningún sentido útil.
Los generadores de números pseudoaleatorios son básicamente máquinas de estados grandes que son lo suficientemente complicadas como para que las conexiones entre estados parezcan aleatorias. En otras palabras, la función podría reemplazarse con una lista de “si el último estado (s) es / son X, el siguiente estado es Y”.
En general, la complejidad se crea mediante el uso de una función de módulo o algo análogo a ella. Esto “envuelve” los valores en un área relativamente pequeña, haciendo que las conexiones entre los valores sean más difíciles de ver al eliminar la información, la escala.
- ¿Cómo funciona el algoritmo de vista en Quora?
- ¿Cómo funciona Swype?
- ¿Por qué el valor de matriz no se incrementa cuando intento rotarlo?
- ¿Cuál es un buen enfoque de aprendizaje automático para recomendar noticias basadas en el historial de lectura de un usuario?
- Cómo aprender la estructura de datos en 1 mes en el albergue
Entonces, para un número de cierto tamaño (digamos, 64 bits) y un número dado de estados anteriores utilizados para calcular el siguiente estado, siempre habrá una duración máxima del ciclo, porque hay un número fijo de estados “actuales” y un número fijo de estados “siguientes”. Podría eliminar el módulo, por supuesto, y dejar que los números crezcan sin límites. Sin embargo, hacerlo hace que los números sean obviamente no aleatorios, ya que crecerían constantemente y no se perdería información.
No hay magia aquí. Finalmente, cada generador vuelve a un estado de entrada anterior, y esa es la duración de su ciclo.