Está en la página 1de 35

SIMULACION DE SISTEMAS DISCRETOS

Generacin de nmeros pseudoaleatorios

Objetivo de la Sesin
Exponer los mtodos de generacin de nmeros aleatorios.

2 /41

Tabla de Contenido
1. 2. 3. 4. Mapa Conceptual Generacin de Series de Nmeros Aleatorios. Generadores no congruenciales Generadores congruenciales

3 /41

Mapa Conceptual del Curso


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

Inventarios

4 /41

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


5 /41

GENERACIN DE SERIES DE NMEROS ALEATORIOS

6 /41

Generacin de Nmeros Aleatorios


Rol preponderante en el proceso de simulacin. Para simular necesitamos de nmeros aleatorios como semillas para generar muestras de V.A. Caractersticas de un generador de nros aleatorios: 1) Muestrea valores de Distribucin Uniforme. 2) Asegura la NO Correlacin Serial.

7 /41

Algunas Propiedades de Nros Aleatorios


1. Distribucin Uniforme. Cualquier nmero que pertenezca al rango de inters debe tener la misma probabilidad de resultar sorteado.

2. NO Correlacin Serial. La aparicin de un nmero en la secuencia, no afecta la probabilidad de que aparesca otro (o el mismo) nmero.
8 /41

Ejemplo
La sucesin 1,2,3,4,5,1,2,3,4,5,1,2,3,4,5... es uniforme pero est correlacionada.

Existen Tests que verifican las condiciones de uniformidad y correlacin serial, temas que veremos mas adelante.

9 /41

Series de nmeros aleatorios


No tiene sentido el concepto de nmero aleatorios. Se usa el concepto de serie de nmeros aleatorios Una sucesin de nmeros es aleatoria si no puede reproducirse eficientemente mediante un programa ms corto que la propia serie Una sucesin de nmeros es aleatoria si nadie que utilice recursos computacionales razonables en tiempo razonable puede distinguir entre la serie y una sucesin verdaderamente aleatoria de una forma mejor que tirando una moneda fiel para decidir cul es cul Definiciones provenientes de la teora computacional

Serie de Nmeros Aleatorios


Son nmeros que deben de cumplir los requisitos de espacio equiprobable, es decir, que todo elemento tenga la misma probabilidad de ser elegido y que la eleccin de uno no dependa de la eleccin del otro.

11 /41

Propiedades deseables
1. Uniformemente distribuidos. 2. Estadsticamente independientes (no correlacin). 3. Periodo largo (sin repeticin).

4. Reproducibles y mutables. 5. Sencillo en su implementacin. 6. Portabilidad.


7. Mtodo rpido de generacin. 8. Poca memoria para la generacin.
12 /41

Mecanismos de generacin
Tablas de nmeros aleatorios
RAND (1955), 100,000 nmeros aleatorios (ruido electrnico)
1. Uniformemente distribuidos. 2. Estadsticamente independientes. 3. Periodo largo (sin repeticin).

Fenmenos fsicos
Ruido blanco producido por circuitos electrnicos Recuento de partculas emitidas Lanzamiento de monedas Rueda de la fortuna

Procedimientos matemticos
Se usa algoritmos para la generacin de nmeros aparentemente aleatorios, se entrega una semilla y se generan los sucesores mediante una funcin

4. Reproducibles y mutables. 5. Sencillo en su implementacin. 6. Portabilidad.


7. Mtodo rpido de generacin. 8. Poca memoria para la generacin.

13 /41

Generacin de Series de # Aleatorios


Es un proceso fundamental en la simulacin. Por qu? Para simular el comportamiento de variables aleatorias.
El comportamiento de un sistema depende del comportamiento de sus variables (variables aleatorias).

Qu sucede si en un modelo en lugar de usar una distribucin Normal usamos una Poisson?

14 /41

GENERADORES NO CONGRUENCIALES

15 /41

Mtodo del cuadrado medio


Fue propuesto inicialmente por Von Newman y Metrpolis en el ao 1946. Para generar el siguiente nmero pseudo-aleatorio, se toman los n dgitos centrales del cuadrado del nmero anterior de n dgitos. Se requiere una semilla.

16 /41

Mtodo del cuadrado medio


n 0 1 2 R(n) 154 371 376 R(n)2 23,716 137,641 141,376 M.R(n)2 371 3,764 4,137 Val 1 371 376 413 Val 2 0 764 137

3
4

413
705

170,569
497,025

7,056
9,702

705
970

056
702

5
6 7 8 9 10 11 12

970
409 672 515 652 251 300 0

940,900
167,281 451,584 265,225 425,104 63,001 90,000 0

4,090
6,728 5,158 6,522 2,510 300 0 0

409
672 515 652 251 300 0 0

090
728 158 522 510 0 0 0
17 /41

Anlisis
El problema con este mtodo es que tiende a degenerar rpidamente. Dependiendo del valor inicial el mtodo puede degenerar al cabo de 20 trminos. Por ejemplo, supngase que se quiere generar una serie de nmeros pseudo-aleatorios de cuatro dgitos y se tiene como i-simo termino generado es 3500, luego se tendr:
n i R(n) 3500 R(n)2 12250000 M.R(n)2 2500 Random 1 0 Random 2 2500

i+1

2500

6250000

2500

2500

Se puede observar que hemos llegado a una condicin degenerada. Por la tanto, es necesario verificar siempre la serie de nmeros y protegerse contra este fenmeno
18 /41

Mtodo del Producto Medio


Este mtodo es muy similar al anterior ya que se tomar como nmero aleatorio siguiente de la serie, a los n dgitos centrales del resultado de una multiplicacin previa. Se requiere dos semillas.

19 /41

Mtodo del Producto Medio


n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 R(n) 151 155 340 270 180 860 548 712 901 415 739 668 936 252 358 21 51 7 5 R(n+1) 155 340 270 180 860 548 712 901 415 739 668 936 252 358 21 51 7 5 0 R(n)2 23,405 52,700 91,800 48,600 154,800 471,280 390,176 641,512 373,915 306,685 493,652 625,248 235,872 90,216 7,518 1,071 357 35 0 M.R(n)2 340 270 180 860 5,480 7,128 9,017 4,151 7,391 668 9,365 2,524 3,587 21 51 7 5 0 0 Val 1 340 270 180 860 548 712 901 415 739 668 936 252 358 21 51 7 5 0 0 Val 2 0 0 0 0 480 128 017 151 391 0 365 524 587 0 0 0 0 0 0

Anlisis
Una modificacin para este mtodo consiste en utilizar un multiplicador constante, en lugar de dos nmeros aleatorios como se muestra a continuacin: Rn+1 = K * Rn Estos mtodos son similares al cuadrado medio. Sin embargo los dos tienen periodos ms extensos y los nmeros parecen estar distribuidos uniformemente. Este mtodo tiende a degenerar a un valor constante. Tanto el mtodo de cuadrados medios como el de producto medio tienen un periodo corto para la cantidad de nmeros aleatorios que vamos a necesitaremos generar en cada uno de nuestros Modelos.
21 /41

GENERADORES CONGRUENCIALES

22 /41

Generadores Congruenciales
Congruencial Lineal (Mixto). Congruencial Multiplicativo.

23 /41

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)
24 /41

Mtodo Congruencial Lineal (MCL)


Si se quiere obtener nmeros Uniformes (0,1) normaliza el resultado: Un = Xn / m se

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

25 /41

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
26 /41

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
27 /41

Tabla A
n 0 1 2 3 4 5 6 7 8 9 10 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

28 /41

Tabla B
n 0 1 2 3 4 5 6 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

29 /41

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.
30 /41

Seleccin de m, a, c, X0
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.

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.
31 /41

Seleccin de m, a, c, X0
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 En consecuencia c deber tomar un valor entero impar y relativamente primo a m.

32 /41

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.

33 /41

34 /41

35 /41