UNIVERSIDAD PRIVADA SAN PEDROFACULTAD DE INGENIERIA CURSO SIMULACION DE SISTEMAS “”NUMEROS PSEUDO ALEATORIOS CONGRUENCIAL Lineal y Multiplicativo” DOCENTE: ING. SANTOS GABRIEL BLAS Simulación de Sistemas 1 21/04/2014 Ing. Santos Gabriel Blas Objetivo de la sesión Exponer los métodos de generación de números aleatorios. 4. 3. Mapa Conceptual Generación de Series de Números Aleatorios. Generadores no congruenciales Generadores congruenciales . 2.Tabla de Contenido 1. Aleato Validación de Series Colas con un servidor Simulación X Eventos Colas en Serie Proyectos Simulación Inventarios Colas en Paralelo Generación de VA .Mapa Conceptual del Curso Modelado y Simulación Series de Nro. Mapa Conceptual Xi+1=(aXi+c) mod m Tabla de Nros.1) Variables Aleatorias . aleatorios Fenómenos Físicos Procedimientos Matemáticos Números Aleatorios Validación de Series de NA Variables U (0. GENERADORES CONGRUENCIALES . Generador Congruenciales Congruencial Lineal (Mixto). . Congruencial Multiplicativo. es decir.aleatorios de tal forma que se puede generar el siguiente a partir del ultimo número derivado. La relación de recurrencia para el método congruencial mixto es: Xn+1 = (aXn + c) mod m Donde: X0 a c m = = = = semilla (X0 >0) multiplicador (a >0) constante aditiva (c >0) módulo (m >X0. m >a y m>c) Ri = Xi/(m-1) . que el número Xn+1 es generado a partir de Xn.Método Congruencial Lineal (MCL) Los generadores congruenciales lineales generan una serie de números pseudo . 2. . (se alcanza con partir desde la misma semilla: X0).Método Congruencial Lineal (MCL) Si se quiere obtener números Uniformes (0. guardando un solo número. Ventajas: 1. si se repite un número ya se repite toda la secuencia. fácil de volver a generar la misma secuencia.1) se normaliza el resultado: Un = Xn / m En el MCL. utiliza poca memoria y es muy rápido. Método Congruencial Lineal (MCL) Ejemplo Generar 4 números entre 0 y 1 con los siguientes parámetros: X0=37. R1 = 36/99 17. R4 = 97/99 = = = = 0.1717 0. a= 19.5656 0. c= 33 y m=100 X1 X2 X3 X4 = = = = (19*37 (19*36 (19*17 (19*56 +33) +33) +33) +33) mod mod mod mod 100 100 100 100 = = = = 36.9797 . R2 = 17/99 56.3636 0. R3 = 56/99 97. Método Congruencial Lineal (MCL) Ejemplo n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 a 1 X(n) 7 1 8 2 9 3 10 4 11 5 12 6 0 7 1 8 c 7 a*X(n)+c 14 8 15 9 16 10 17 11 18 12 19 13 7 14 8 15 m 13 [a*X(n)+c] mod m 1 8 2 9 3 10 4 11 5 12 6 0 7 1 8 2 . Si bien este caso no es crítico si lo es el que se presenta en la Tabla B donde los parámetros toman los valores de a = X0 = c = 7 y m=10 cuyo período es de 4. c = 9.Método Congruencial Lineal (MCL) Análisis Si no se escogen los valores adecuados de los parámetros el período del generador de números pseudo – aleatorios. será menor que m. que es un caso muy critico que nos puede llevar a resultados no deseables y poco confiables . Como puede apreciarse en la tabla el período del generador es 10 que es menor que el módulo que es 11. X0 = 5 y m = 11. En la Tabla A se muestra los valores obtenidos para un generador con parámetros: a = 7. Método Congruencial Lineal (MCL) Tabla A a 7 X(n) 5 0 9 6 7 3 8 10 2 1 5 c 9 a*X(n)+c 44 9 72 51 58 30 65 79 23 16 44 m 11 [a*X(n)+c] mod m 0 9 6 7 3 8 10 2 1 5 0 n 0 1 2 3 4 5 6 7 8 9 10 . Método Congruencial Lineal (MCL) Tabla A a 7 X(n) 7 6 9 0 7 6 9 c 7 a*X(n)+c 56 49 70 7 56 49 70 m 10 [a*X(n)+c] mod m 6 9 0 7 6 9 0 n 0 1 2 3 4 5 6 . a. a.2) Tomar m de tal manera que sea el número primo más grande posible y además que sea menor que pd-1. Por ejemplo una computadora XT que trabaja en el sistema binario entonces se tiene que p = 2 y d = 16. . Existen dos opciones que son las siguientes: a. X0 a) Selección de módulo (m). c.1) Escoger al azar el módulo m. donde p es la base del sistema que se esta usando y d es el número de bits que tiene una palabra de computadora en el sistema que se esta usando.Método Congruencial Lineal (MCL) Selección de m. En ambos casos el valor que se asigne a k deberá ser mayor o igual que 2. a.b) Selección de a. (a-1) mod b = 0 si b es un factor primo de m. Pero además. X0 Generalmente se toma a igual a 2k + 1 cuando se trabaja en el sistema binario. . Método Congruencial Lineal (MCL) Selección de m. el valor que se tome para a deberá escogerse según el siguiente criterio: (a-1) mod 4 = 0 si 4 es un factor de m. c. para asegurarnos que el generador tenga período completo. El valor de a debe ser un número entero impar. que no deberá ser divisible por 3 ó 5. Este parámetro puede tomar cualquier valor. X0 En consecuencia c deberá tomar un valor entero impar y relativamente primo a m. a. Pero para asegurarnos de tener buenos resultados se deberá seleccionar según la siguiente regla: c mod 8 = 5 Método Congruencial Lineal (MCL) Selección de m. .c) Selección de c. c. X0 d) Selección de X0 Se tiene que para el generador congruencial el valor que tome X0 es irrelevante y tiene poca o ninguna influencia sobre las propiedades estadísticas de las series de números pseudo aleatorios que se generen. a.Método Congruencial Lineal (MCL) Selección de m. c. . Método Congruencial Lineal (MCL) Para terminar esta parte se debe señalar que existen otras formas matemáticas de representar este generador. que son las siguientes: Xn = [anX0 + c{(an .1)}] mod m .1)}] mod m Xn+k =[anXk + c{(an .1)/(a .1)/(a . Método Congruencial Lineal (MCL) Determine el ciclo o periodo de vida de los siguientes generadores congruenciales. m = 102 . X0 = 5. c =89. a) b) c) d) e) f) g) h) Xi+1 = (21Xi + 15) mod 32 con X0 = 21 Xi+1 = (13Xi + 9) mod 128 con X0 = 7 Xi+1 = (17Xi) mod 31 con X0 = 23 Xi+1 = (121 + Xi) mod 256 con X0 = 17 Xi+1 = (21Xi + 15Xi-1) mod 64 con X0 = 21 y X1= 43 Xi+1 = (553 + 121Xi) mod 177 con X0 = 23 Xi+1 = (5Xi + 7) mod 8 con X0 = 4 A = 81.