top of page

2.8 Algortimos congruenciales no lineales

Este algoritmo tiene la ecuación recursiva:

Xi+1 = (a Xi2  +  b X i + c) mod (m)

Con i = 0,1, 2, 3,..., n.

 

En este caso, los números ir pueden ser generados por la ecuación:

Ri = Xi / m-1

 

De acuerdo con L’Ecuyer, las condiciones que deben cumplir los parámetros m, a, b y c para alcanzar un período máximo de N = m son: 
•    m debe ser múltiplo de g 2, donde g debe ser entero, 
•    a debe ser un número par, 
•    m debe ser un número impar
•    (b−1)mod4 =1. 

 

De esta manera se logra un período de vida máximo N = m.
Este algoritmo no congruencial fue propuesto en la década de los cuarenta del siglo XX por Von Neumann y Metrópolis. Requiere un número entero detonador con D dígitos, el cual es elevado al cuadrado para seleccionar del resultado los D dígitos del centro; el primer número se determina simplemente anteponiendo el “0.” a esos dígitos. Para obtener el segundo numero se sigue el mismo procedimiento, solo que ahora se eleva al cuadrado los D dígitos del centro que se seleccionaron para obtener el primer número.
Este método se repite hasta obtener n números. 

 

Pasos para la generación de números aleatorios con este algoritmo:
1.    Seleccionar la semilla ( X 0 ) con D dígitos (D > 3) .
2.    Sea Y0 = resultado de elevar X0 al cuadrado; sea X1 = los D dígitos del centro y sea r = 0.D dígitos del centro. 1
3.    Sea Yi = resultado de elevar Xi al cuadrado; sea Xi+1 = los D dígitos del centro y sea ri +1 = 0.D dígitos del centro para toda i = 1, 2, 3,..., n .
4.    Repetir el paso 3 hasta obtener los n números ri deseados.

 

Nota: El algoritmo de cuadrados medios generalmente es incapaz de generar una secuencia de números con periodo de vida n grande. Además, en ocasiones solo es capaz de generar un solo numero.
 

Bibliografía

  1. Anon, (2017). [online] Available at: http://virtual.chapingo.mx/fis/aleato.pdf [Accessed 7 Mar. 2017].

Ejemplo

© 2017 por Instituto Tecnologico de Toluca . Creado con Wix.com

  • w-facebook
  • shape-vimeo-invert.png
  • Twitter Clean
bottom of page