Está en la página 1de 29

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) =
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 X i2 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 Notar que:
1 2 2*6+6 = 18 18 mod 10 = 8
X0 = X5
2 8 8*6+6 = 54 54 mod 10 = 4
Por lo tanto, el
3 4 30 0
periodo p = 5
4 0 6 6
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, 7 y 9
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

 Bibliográficas: LAW, Averill M. y David Kelton (2014).


Simulation Modeling and Analysis.

También podría gustarte