Está en la página 1de 30

Simulación de Sistemas

Generadores de Números Aleatorios


CONTENIDOS

Operaciones Base, Techo y Módulo

Generadores de Números Aleatorios.

Periodo del generador de números


aleatorios.

Pruebas de validación de números


aleatorios.
Objetivos de la Sesión
• Revisar los métodos de generación de números aleatorios.
• Validar la secuencia de números aleatorios.
Operaciones Base,
Techo y Módulo
Base de x: x 
Base de x: El mayor de los enteros que sean menores o iguales que x

x Mayor entero <= x (base de x)

Si x = 2.7
2.7

-3 -2 -1 0 1 2 3 4 5

Menores o iguales que 2.7 Mayor de los menores

2.7  2
Techo de x: x
Techo de x: El menor de los enteros que sean mayores o iguales que x

x Menor entero >= x (techo de x)

Si x = 2.7
2.7

-3 -2 -1 0 1 2 3 4 5

Menor de los mayores Mayores o iguales que 2.7

2.7  3
Ejercicio
Hallar la base y techo de los siguientes números:

2.7  2 2.7  3
 2.7  3  2.7  2
1 / 3  ?? 1 / 3  ??
 1 / 3  ??  1 / 3  ??
5.5  ?? 5.5  ??
Operación Módulo
Dados dos números enteros, definimos la siguiente operación:

x mod y  x  y x / y , si y  0

x mod y  x, si y  0
• Si y ≠ 0 

x  x  x mod y
0    1
y  y y

• Si y > 0  0 ≤ x mod y < y

• Si y < 0  y < x mod y ≤ 0


Ejercicio
Demostrar que:
(x mod y) mod y = x mod y
Ejercicio
Hallar el valor de:
( 5 mod 3) = 5  35 / 3  5  3(1)  2

(18 mod 3) = 18  318 / 3  18  3(6)  0

( 6 mod 8) =

(-2 mod 8) =

(-2 mod 3) =

(10 mod 2) =

(-8 mod -5) =


Generación de
Números Aleatorios
Números Aleatorios
• Hacer girar una ruleta permite obtener números aleatorios.
• ¿Podemos decir que en ambas ruletas los números tienen la misma
probabilidad de ocurrir?
Números Aleatorios
• En la simulación de sistemas es necesario crear secuencias de
números cuyos valores sucesivos son aleatorios y tienen una
distribución que describe la variable aleatoria de interés.

• Existen diversas formas de generar números aleatorios como


ruletas o dados.

• La corporación RAND utilizó un generador de impulsos electrónicos


producido por una fuente de ruido, generándose así 1 millón de
números aleatorios, creándose las tablas de números aleatorios.
Números Aleatorios
• El problema de la generación de números aleatorios ha sido
resuelto mediante la generación de números Pseudo aleatorios que
se realizan usando relaciones matemáticas recursivas.

• Son llamados Pseudo aleatorios por que son totalmente


determinados ya que dados ciertos valores de entrada, la secuencia
es totalmente determinada

• Satisfacen ciertas pruebas estadísticas.


Números Aleatorios
• Tenemos diversos métodos para generar los números aleatorios
entre 0 y 1.
• Método de cuadrados medios.
• Método congruencial lineal.
• Estos números deben cumplir ciertas características para que sean
validos.
– Uniformemente distribuidos.
– Estadísticamente independientes.
– Su media debe ser estadísticamente igual a 1/2.
– Su varianza debe ser estadísticamente igual a 1/12.
– Su periodo o ciclo de vida debe ser largo.
Método del Cuadrado Medio
• Cada número de la secuencia se obtiene tomando las M cifras
centrales del cuadrado del número precedente.

• Este método es difícil de analizar, relativamente lento, y


estadísticamente ineficiente.

• Frecuentemente ocurre que la secuencia generada resulta muy


corta.

• Es decir, se repite y se degenera rápidamente, repitiéndose el


mismo número o se genera cero.
Método del Cuadrado Medio
El Algoritmo
• Seleccionar un número (raíz) X0 arbitrario de M dígitos
• Elevar X0 al cuadrado
• Sea X0+1 el siguiente número de la secuencia formando por los M
dígitos centrales de (X0)2 y así sucesivamente.

X0 es denominado la semilla, M = 4 dígitos

i Xi Xi2 ri
0 6375 40640625 0.6406
1 6406 41036836 0.0368
2 368 00135424 0.1354
3
4
Método de Multiplicación de una
Constante
Constante K = 1641
Semilla X0 = 8756

i Xi KXi ri
0 8756 14368596 3685
1 3685 06047085 0470
2 470 00771270 7712
3
4
Método Congruencial Lineal
Para la generación de números aleatorios de una distribución
uniforme se parte de un valor inicial X0 y se genera una secuencia de
valores aleatorios

X n   X 1 , X 2 ,..., X n ,...
Para generar dicha secuencia, se usa la siguiente relación recursiva

X n 1  (aX n  c) mod m n =0,1,2,…

Donde:
X0 = es el valor inicial o raíz, X0 0
a = es el multiplicador a  0, m  X0
c = es el incremento c  0, m>a
m = es el modulo, m>c
Método Congruencial Lineal
• La secuencia {Xn} es congruente lineal y se obtiene aplicando la
relación:

X n 1  (aX n  c) mod m n = 0, 1, 2,...

• Cuando a ≠ 1 y c ≠ 0 el método se denomina Método congruencial


Mixto
• Si c = 0 se denomina Método Congruencial Multiplicativo
Ejercicio
• Dados los siguientes parámetros, desarrollar la secuencia de
números aleatorios:
X0 = a = c = 6, m=10

i Xi (aXi + c) (aXi + c) mod m


0 6 6*6+6 = 42 42 mod 10 = 2
1 2 2*6+6 = 18 18 mod 10 = 8 Notar que:
2 8 8*6+6 = 54 54 mod 10 = 4 X0 = X5
3 4 30 0 Por lo tanto, el
4 0 6 6 periodo p = 5
5 6 42 2
6 2 18 8
Método Congruencial Lineal
Definición:
Si Xn = X0, para algun n  Xn+1 = X1

En general, dada la secuencia:

X1, X2, ..., Xp, Xp+1, ..., X2p, ...

• Si Xp = X0, es el valor a partir del cual la secuencia se repite, se


dice que p es su periodo.

En ejm. anterior:
• La secuencia tiene periodo corto p = 5
• La secuencia no es uniforme, pues no contiene los valores 1, 3, 5,
7y9
Ejercicio
Hallar la secuencia de números aleatorios y el periodo si:
m = 8, a = 5, c = 3, X0 = 7

i Xi (aXi + c) (aXi + c) mod m i Xi (aXi + c) (aXi + c) mod m


0 7 11
1 12
2 13
3 14
4 15
5 16
6 17
7 18
8 19
9 20
10 21
Método Congruencial Lineal
• Los métodos congruenciales nos permiten obtener una secuencia
uniforme (tienen la misma probabilidad) de números enteros
generados con modulo m.

• A partir de estos números, es posible obtener una secuencia de


números racionales entre 0 y 1 dividiendolos entre m (ningún valor
es mayor que m, ya que el módulo es el residuo de la división).

 X 0 X1 Xp 
rn    , ,..., ,...
m m m 
Ejercicio
• Implementar en Excel el
GNA, generar una
secuencia de 1200
números:
m = 8, a = 5, c = 3, X0 = 7
Reglas Para un Periodo Largo
• Para obtener un GNA con un periodo deseado, los parámetros del
GNA deben satisfacer las siguientes propiedades:
– El parámetro “m” debe ser una potencia de 2 (m=2b).
– C y m deben ser Primos Entre Si – PESi, esto implica que el único divisor
común a ambos debe ser la unidad.
– a debe ser obtenido considerando la siguiente relación a = 1 + 4k, donde k es
un entero.
– Si satisface estas condiciones el periodo p = m.

• Dados los siguientes parámetros: m = 8, a = 5, c = 3, X0 = 7


– m = 8 = 2^3, por lo tanto, m es una potencai de 2
– Los divisores de m = 8 son: 1, 2, 4, 8
– Los divisores de c = 5 son: 1, 5
– El único divisor común es 1, por lo tanto c y m son PESi.
– a = 5 = 1 + 4k, donde k = 1, satisface la condición.

– La secuencia es Xn = {7,6,1,0,3,2,5,4,7} podemos verificar que el periodo es 8


Ejercicio
• Determinar los parámetros para un GNA con periodo
inmediatamente mayor a 500 y validar esta secuencia en el GNA
construido en Excel
m= ,a= ,c= , X0 =

• Determinar los parámetros para un GNA con periodo


inmediatamente mayor a 1000 y validar esta secuencia en el
GNA construido en Excel
m= ,a= ,c= , X0 =

• Determinar los parámetros para un GNA con periodo


inmediatamente mayor a 60 millones y validar esta secuencia en
el GNA construido en Excel
m= ,a= ,c= , X0 =
CONCLUSIONES

01 El periodo de un GNA no depende del valor de la semilla.

02 Para tener números aleatorios válidos, deben satisfacer las propiedades: Uniformemente distribuidos
U(0,1), estadísticamente independientes, promedio = 1/2 , varianza = 1/12 y el periodo largo.

03 Los métodos para generar números aleatorios son: Congruencial lineal, Cuadrados medios,
multiplicación por una constante.

04 El parámetro que determina el periodo de un GNA es m y debe ser una potencia de 2

05 La relación entre c y m es que deben ser primos entre si - PESi


REFERENCIAS

Cite adecuadamente la información utilizada en los


materiales de aprendizaje.
Las referencias pertenecen exclusivamente a los
contenidos de esta diapositiva.
Ejemplo:
 Bibliográficas: LAW, Averill M. y David Kelton (2014).
Simulation Modeling and Analysis.

También podría gustarte