01.03 - Métodos Congruenciales Lineales
Modelos de Simualción
Los métodos congruenciales lineales (LCG, por sus siglas en inglés) son una clase de generadores de números pseudoaleatorios ampliamente utilizados debido a su simplicidad y eficiencia. Estos generadores producen secuencias de números pseudoaleatorios utilizando una relación de recurrencia lineal.
La fórmula general para un generador congruencial lineal es:
Donde:
es el siguiente número en la secuencia. es el número actual en la secuencia (también conocido como el estado actual del generador). es la constante multiplicativa, un número entero positivo. es la constante aditiva, un número entero no negativo. es el módulo, un número entero positivo.
El generador también requiere un valor inicial (o semilla) para comenzar la secuencia, llamado . La elección de la semilla afecta la secuencia de números generados.
Los números generados por un LCG están en el rango . Para obtener números en el intervalo , se pueden dividir los números generados por .
La calidad y las propiedades estadísticas de los números generados por un LCG dependen de la elección de los parámetros , , y . Para obtener un LCG con un buen comportamiento, se deben seguir algunas reglas al seleccionar estos parámetros. Por ejemplo, el período de un LCG (la longitud de la secuencia antes de que comience a repetirse) puede ser de hasta si se eligen los parámetros adecuadamente.
En general, para obtener un período largo, se deben cumplir las siguientes condiciones:
Si es diferente de 0, el LCG se llama "método congruencial mixto". Si es 0, se llama "método congruencial multiplicativo".
El período máximo alcanzable es , y se obtiene si:
- y son primos entre sí (su máximo común divisor es 1).
- es divisible por todos los factores primos de .
- Si es divisible por 4, también debe ser divisible por 4.
Tener en cuenta que los LCG son generadores de números pseudoaleatorios bastante simples y no son adecuados para aplicaciones criptográficas o de alta seguridad. Sin embargo, pueden ser útiles para aplicaciones básicas de simulación y muestreo, siempre que se elijan parámetros adecuados.
La expresión "'a - 1' es divisible por todos los factores primos de 'm'" significa que, cuando se resta 1 al valor de , el resultado es un número que puede ser dividido exactamente por todos los factores primos que conforman el número . Es decir, no hay residuo al dividir por cualquiera de los factores primos de .
Por ejemplo, supongamos que tiene los siguientes factores primos: 2, 3 y 5. Si es 61, entonces es 60. Como 60 puede ser dividido exactamente por 2, 3 y 5 (sin residuos), entonces es divisible por todos los factores primos de .
Esta condición es parte de los criterios de Hull-Dobell para garantizar un período completo en un generador congruencial lineal (LCG). Si se cumplen estos criterios, el LCG generará una secuencia de números pseudoaleatorios con un período lo más largo posible antes de que comience a repetirse.
Factores primos
Los factores primos son los números primos que, multiplicados entre sí, dan como resultado un número específico.
Un número primo es un número entero mayor que 1 que solo tiene dos factores: él mismo y 1.
En otras palabras, un número primo no puede ser dividido exactamente por ningún otro número, excepto por 1 y por sí mismo.
Cuando se descompone un número en sus factores primos, se obtiene la lista de números primos que, multiplicados juntos, resultan en ese número original.
La descomposición en factores primos es única para cada número (excepto el orden de los factores).
Por ejemplo, el número 60 se puede descomponer en factores primos de la siguiente manera:
60 = 2 × 2 × 3 × 5
Aquí, 2, 3 y 5 son los factores primos de 60. Como se puede observar, al multiplicar estos números primos (2 × 2 × 3 × 5) se obtiene nuevamente el número original, que es 60.