Aleatorios congruenciales

Embed Size (px)

Text of Aleatorios congruenciales

  • **Simulacin de Sistemas Ing. Santos Gabriel BlasUNIVERSIDAD PRIVADA SAN PEDROFACULTAD DE INGENIERIACURSOSIMULACION DE SISTEMAS

    NUMEROS PSEUDO ALEATORIOSCONGRUENCIAL Lineal y Multiplicativo

    DOCENTE:ING. SANTOS GABRIEL BLAS

  • Objetivo de la sesinExponer los mtodos de generacin de nmeros aleatorios.

  • Tabla de ContenidoMapa ConceptualGeneracin de Series de Nmeros Aleatorios.Generadores no congruencialesGeneradores congruenciales

  • Mapa Conceptual del Curso

  • Mapa ConceptualFenmenos FsicosProcedimientos MatemticosNmerosAleatoriosValidacin deSeries de NAVariablesU (0,1)VariablesAleatoriasTabla de Nros. aleatoriosXi+1=(aXi+c) mod m

  • GENERADORES CONGRUENCIALES

  • Generador CongruencialesCongruencial Lineal (Mixto).Congruencial Multiplicativo.

  • Mtodo Congruencial Lineal (MCL)Los generadores congruenciales lineales generan una serie de nmeros pseudo - aleatorios de tal forma que se puede generar el siguiente a partir del ultimo nmero derivado, es decir, que el nmero Xn+1 es generado a partir de Xn.

    La relacin de recurrencia para el mtodo congruencial mixto es:

    Xn+1 = (aXn + c) mod mDonde:X0= semilla (X0 >0)a= multiplicador (a >0)c= constante aditiva (c >0)m= mdulo (m >X0, m >a y m>c)

    Ri = Xi/(m-1)

  • Mtodo Congruencial Lineal (MCL)Si se quiere obtener nmeros Uniformes (0,1) se normaliza el resultado:

    Un = Xn / m

    En el MCL, si se repite un nmero ya se repite toda la secuencia.

    Ventajas:utiliza poca memoria y es muy rpido. fcil de volver a generar la misma secuencia, guardando un solo nmero, (se alcanza con partir desde la misma semilla: X0).

  • Mtodo Congruencial Lineal (MCL)EjemploGenerar 4 nmeros entre 0 y 1 con los siguientes parmetros: X0=37, a= 19, c= 33 y m=100

    X1 = (19*37 +33) mod 100 = 36, R1 = 36/99= 0.3636X2 = (19*36 +33) mod 100 = 17, R2 = 17/99 = 0.1717X3 = (19*17 +33) mod 100 = 56, R3 = 56/99= 0.5656X4 = (19*56 +33) mod 100 = 97, R4 = 97/99 = 0.9797

  • Mtodo Congruencial Lineal (MCL)Ejemplo

  • Mtodo Congruencial Lineal (MCL)Si no se escogen los valores adecuados de los parmetros el perodo del generador de nmeros pseudo aleatorios, ser menor que m.

    En la Tabla A se muestra los valores obtenidos para un generador con parmetros: a = 7, c = 9, X0 = 5 y m = 11. Como puede apreciarse en la tabla el perodo del generador es 10 que es menor que el mdulo que es 11.

    Si bien este caso no es crtico si lo es el que se presenta en la Tabla B donde los parmetros toman los valores de a = X0 = c = 7 y m=10 cuyo perodo es de 4, que es un caso muy critico que nos puede llevar a resultados no deseables y poco confiables Anlisis

  • Mtodo Congruencial Lineal (MCL)Tabla A

  • Mtodo Congruencial Lineal (MCL)Tabla A

  • Mtodo Congruencial Lineal (MCL)Seleccin de m, a, c, X0Seleccin de mdulo (m). Existen dos opciones que son las siguientes:

    a.1) Escoger al azar el mdulo m.

    a.2) Tomar m de tal manera que sea el nmero primo ms grande posible y adems que sea menor que pd-1, donde p es la base del sistema que se esta usando y d es el nmero de bits que tiene una palabra de computadora en el sistema que se esta usando.Por ejemplo una computadora XT que trabaja en el sistema binario entonces se tiene que p = 2 y d = 16.

  • Mtodo Congruencial Lineal (MCL)Seleccin de m, a, c, X0b) Seleccin de a.El valor de a debe ser un nmero entero impar, que no deber ser divisible por 3 5. Pero adems, para asegurarnos que el generador tenga perodo completo, el valor que se tome para a deber escogerse segn el siguiente criterio:

    (a-1) mod 4 = 0 si 4 es un factor de m.(a-1) mod b = 0 si b es un factor primo de m.

    Generalmente se toma a igual a 2k + 1 cuando se trabaja en el sistema binario. En ambos casos el valor que se asigne a k deber ser mayor o igual que 2.

  • Mtodo Congruencial Lineal (MCL)Seleccin de m, a, c, X0c) Seleccin de c.Este parmetro puede tomar cualquier valor. Pero para asegurarnos de tener buenos resultados se deber seleccionar segn la siguiente regla:

    c mod 8 = 5

    En consecuencia c deber tomar un valor entero impar y relativamente primo a m.

  • Mtodo Congruencial Lineal (MCL)Seleccin de m, a, c, X0d) Seleccin de X0Se tiene que para el generador congruencial el valor que tome X0 es irrelevante y tiene poca o ninguna influencia sobre las propiedades estadsticas de las series de nmeros pseudo - aleatorios que se generen.

  • Mtodo Congruencial Lineal (MCL)Para terminar esta parte se debe sealar que existen otras formas matemticas de representar este generador, que son las siguientes:

    Xn = [anX0 + c{(an - 1)/(a - 1)}] mod m

    Xn+k =[anXk + c{(an - 1)/(a - 1)}] mod m

  • Mtodo Congruencial Lineal (MCL)Determine el ciclo o periodo de vida de los siguientes generadores congruenciales.

    Xi+1 = (21Xi + 15) mod 32 con X0 = 21Xi+1 = (13Xi + 9) mod 128 con X0 = 7Xi+1 = (17Xi) mod 31 con X0 = 23Xi+1 = (121 + Xi) mod 256 con X0 = 17Xi+1 = (21Xi + 15Xi-1) mod 64 con X0 = 21 y X1= 43Xi+1 = (553 + 121Xi) mod 177 con X0 = 23Xi+1 = (5Xi + 7) mod 8 con X0 = 4A = 81, c =89, X0 = 5, m = 102