Sei sulla pagina 1di 20

UNIVERSIDAD PRIVADA SAN PEDRO

FACULTAD DE INGENIERIA

CURSO

SIMULACION DE SISTEMAS
NUMEROS PSEUDO ALEATORIOS CONGRUENCIAL Lineal y Multiplicativo
DOCENTE: ING. SANTOS GABRIEL BLAS
Simulacin de Sistemas 1 21/04/2014 Ing. Santos Gabriel Blas

Objetivo de la sesin
Exponer

los mtodos de generacin de nmeros aleatorios.

Tabla de Contenido
1. 2. 3.

4.

Mapa Conceptual Generacin de Series de Nmeros Aleatorios. Generadores no congruenciales Generadores congruenciales

Mapa Conceptual del Curso


Modelado y Simulacin
Series de Nro. Aleato Validacin de Series Colas con un servidor Simulacin X Eventos Colas en Serie

Proyectos Simulacin

Inventarios

Colas en Paralelo

Generacin de VA

Mapa Conceptual
Xi+1=(aXi+c) mod m
Tabla de Nros. aleatorios
Fenmenos Fsicos

Procedimientos Matemticos

Nmeros Aleatorios

Validacin de Series de NA

Variables U (0,1) Variables Aleatorias

GENERADORES CONGRUENCIALES

Generador Congruenciales Congruencial 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 m Donde: X0 a c m = = = = semilla (X0 >0) multiplicador (a >0) constante aditiva (c >0) 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:
1. utiliza poca memoria y es muy rpido. 2. 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)


Ejemplo Generar 4 nmeros entre 0 y 1 con los siguientes parmetros: X0=37, a= 19, 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, R1 = 36/99 17, R2 = 17/99 56, R3 = 56/99 97, R4 = 97/99

= = = =

0.3636 0.1717 0.5656 0.9797

Mtodo 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

Mtodo Congruencial Lineal (MCL) Anlisis

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

Mtodo 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

Mtodo 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

Mtodo Congruencial Lineal (MCL) Seleccin de m, a, c, X0


a)

Seleccin 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.

b) 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.

Mtodo Congruencial Lineal (MCL) Seleccin de m, a, c, X0

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.

c) 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

Mtodo Congruencial Lineal (MCL) Seleccin de m, a, c, X0

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

Mtodo Congruencial Lineal (MCL) Seleccin de m, a, c, X0


d) Seleccin 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 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.
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, c =89, X0 = 5, m = 102

Potrebbero piacerti anche