Anda di halaman 1dari 3

Algoritmos Generadores de Nmeros Pseudoaleatorios ALGORITMOS GENERADORES NO CONGRUENCIALES Algoritmo de Cuadrados Medios Este algoritmo no congruencial fue propuesto

en la dcada de los cuarenta del siglo XX, por Von Neuman y Metropolis. Para generar nmeros aleatorios de cuadrados medios se siguen los siguientes pasos: Seleccionar una semilla (Xo) con D dgitos (D>3). Sea Xo = resultado de elevar Xo al cuadraado; sea X1 = los D dgitos del centro y sea ri = 0.D dgitos del centro. Sea Yi = resultado de elevar Xi al cuadrado; sea Xi+1 =los D dgitos del centro y sea ri = 0.D dgitos del centro para toda i = 1,2,3n. Repetir el paso anterior hasta obtener los n nmeros ri deseados. Si no es posible obtener los D dgitos del centro del nmero Yi , agregue ceros a la izquierda del nmero Yi EJEMPLO Generar los primeros 4 nmeros ri a partir de una semilla Xo = 5735 de donde se puede observar que D = 4 dgitos SOLUCIN Y0 = (5735)2 = 32890225 X1 = 8902 r1 = 0.8902 Y1 = (8902)2 = 79245604 X2 = 2456 r2 = 0. 2456 Y2 = (2456)2 = 06031936 X3 = 0319 r3 = 0. 0319 Y3 = (0319)2 = 101761 X4 = 0176 r4 = 0. 0176 Algoritmos de Productos Medios La diferencia radica en que el algoritmo de productos medios requiere dos semillas ambas con D dgitos adems en lugar de elevarlas al cuadrado, las semillas se multiplican y del producto se seleccionan los D dgitos del centro, los cuales formarn el primer nmero pseudo aleatorio ri = 0.D dgitos. Despus se elimina una semilla y la otra se multiplica por el primer nmero de D dgitos para luego seleccionar del producto de los D dgitos que conformarn un segundo nmero ri .Entonces se elimina la segunda semilla y se multiplican el primer nmero de D dgitos por el segundo nmero de D dgitos del producto se obtiene el tercer nmero ri. .Siempre se ir eliminando el nmero ms antiguo y el procedimiento se repetir hasta generar los n nmeros pseudo aleatorios. Los pasos a seguir son los siguientes: Seleccionar una semilla (Xo) con D dgitos (D>3). Seleccionar una semilla (X1) con D dgitos (D>3).Sea Yo = Xo * X1 ;sea X2 los D dgitos del centro y sea ri = 0.D dgitos del centro. Sea Yi = Xi * X1+1 ;sea Xi+2 los D dgitos del centro y sea ri +1= 0.D dgitos del centro para toda i = 1,2,3n. Repetir el paso anterior hasta obtener los n nmeros ri deseados. Si no es posible obtener los D dgitos del centro del nmero Yi , agregue ceros a la izquierda del nmero Yi Algoritmo Multiplicador Constante Los pasos para desarrolar este algoritmo son los siguientes: Seleccionar una semilla (Xo) con D dgitos (D>3).

Seleccionar una semilla (X1) con D dgitos (D>3). Sea Yo = Xo * X1 ;sea X2 los D dgitos del centro y sea ri = 0.D dgitos del centro. Sea Yi = Xi * X1+1 ;sea Xi+2 los D dgitos del centro y sea ri +1= 0.D dgitos del centro para toda i = 1,2,3n. Repetir el paso anterior hasta obtener los n nmeros ri deseados. Si no es posible obtener los D dgitos del centro del nmero Yi , agregue ceros a la izquierda del nmero Yi La X i+1 Las condiciones m= a= k= X0 debe g debe ser entero Algoritmo Congruencial Multiplicativo ecuacin recursiva = (aXi)mod(m) para el alcance de su mximo 3+8k ser un o nmero es: i=0,1,2,3,,n periodo es: 2g 5+8k 0,1,2,3, impar

Algoritmo Congruencial Aditivo La ecuacin recursiva X i = (Xi-1 + Xi-n)mod(m) i=n+1,n+2,n+3,,N Los nmeros ri pueden ser generados mediante la ecuacin: ri = xi / (m-1) Algoritmo Congruencial no Lineales La ecuacin recursiva X i+1 = (aX2i + bXi +c)mod(m) i=0,1,2,3,,N Las condiciones para el alcance de su mximo periodo es: m = 2g a debe ser un numero par c debe ser un numero impar g debe ser entero (b 1) mod 4 = 1

es:

es:

Anda mungkin juga menyukai