Está en la página 1de 28

Generación de Números

Aleatorios

1
Objetivos de la Sesión
• Usar métodos para obtener números
aleatorios.
• Ejecutar las pruebas de validación de la
secuencia de números aleatorios.

2
Tabla de Contenido

• Generación de números aleatorios


– Método de cuadrado medios
– Método de Congruencia Lineal
• Validación de los números aleatorios
– Determinación del periodo.
– Prueba de medias.
– Prueba de independencia.

3
Números Aleatorios

Tabla de Xi+1=(aXi+c) mod m


Manual o mecánico. Números aleatorios Computador

4
Conceptos
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 5
Conceptos
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
6
Conceptos

2.7 = 2 2.7  = 3
− 2.7 = −3 − 2.7  = −2
1 / 3 = ?? 1 / 3 = ??
− 1 / 3 = ?? − 1 / 3 = ??
5.5 = ?? 5.5 = ??

7
Conceptos
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

8
Ejercicio Para el Alumno
Demostrar que:
(x mod y) mod y = x mod y

9
Ejercicio Para el Alumno
Calcular
( 5 mod 3) =

(18 mod 3) =

( 6 mod 8) =

(-2 mod 8) =

(-2 mod 3) =

10
Solución del Ejercicio
Calcular
( 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) = 6 − 86 / 8 = 6 − 8(0) = 6

(-2 mod 8) = − 2 − 8− 2 / 8 = −2 − 8(−1) = 6

(-2 mod 3) = − 2 − 3− 2 / 3 = −2 − 3(−1) = 1

11
Números aleatorios
• Giremos una ruleta y apunte el número del
sector que coincide con la flecha

12
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.
13
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

14
Propiedades de los números
aleatorios
• Existen varios métodos para generar los números
aleatorios entre 0 y 1.
• 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.

15
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.
• Ocurre con frecuencia 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.

16
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 las M dígitos centrales de (X0)2 y así sucesivamente.

17
Método del Cuadrado Medio
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

18
Métodos Congruenciales Lineales
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
n =0,1,2,…
X n+1  (aX n + c) mod m
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
20
Métodos Congruenciales Lineales
• 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

21
Métodos Congruenciales Lineales
Ejm.
X0 = a = c = 6, m=10

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


0 6 42 2
1 2 18 8
2
3
Completar
4 este cuadro
5
6

22
Métodos Congruenciales Lineales
Ejm.
X0 = a = c = 6, m=10

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


0 6 42 2
1 2 18 8
2 8 54 4 Notar que:
3 4 30 0 X0 = X5
4 0 6 6
5 6 42 2
6 2 18 8

23
Métodos Congruenciales Lineales
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
24
Ejercicio Para el Alumno
Hallar la secuencia de números aleatorios y el periodo si:
m = 16, 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
25
Ejercicio Para el Alumno
Hallar la secuencia de números aleatorios y el periodo si:
m = 16, 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 0
1 6 12 3
2 1 13 2
3 8 14 13
4 11 15 4
5 10 16 7
6 5 17 6
7 12 18
8 15 19
9 14 20
10 9 21
26
Métodos Congruenciales Lineales
Observación:
• Los métodos congruenciales nos permiten obtener una
secuencia uniforme 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 (esta secuencia es uniforme)

 X 0 X1 Xp 
rn  =  , ,..., ,...
m m m 

27
Reglas para obtener un Periodo Máximo
en un Generador Congruencial Lineal

• Para “m” una potencia de 2 (m=2b), y c≠0, el


periodo máximo posible es P=m=2b, el cual
es obtenido con la condición de que “c” y “m”
deben ser primos entre si, y a=1+4k, donde k
es un entero.

28
EL GENERADOR EN PROMODEL

• El generador de números aleatorios usado


en Promodel es un generador congruencial
lineal multiplicativo con modulo primo.

Zi = (630´360,016 * Zi-1) mod (231-1)

El periodo del generador usado en


Promodel esta sobre los 2.1 billones de
números aleatorios diferentes. 29

También podría gustarte