Page 1
7/24/2019 Capitulo VI Números Aleatorios
http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 1/16
26/10/20
Facultad de Ingeniería Estadística e Informática
Campus Universitario - Puno Ing. Alcides RAMOS CALCINA
PUNO 2015
PROGRAMACIÓN Y SIMULACIÓN DE
PROCESOS METALURGICOS
NÚMEROS PSEUDOALEATORIOS
Page 2
7/24/2019 Capitulo VI Números Aleatorios
http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 2/16
26/10/20
1. INTRODUCCIÓN
• Una vez construido un modelo, debemos experimentar sobre él y para
poder ejecutarlo necesitamos dar valores a las variables de tipo
exógeno.
• Algunas de las variables de entrada son de tipo aleatorio por lo que se
tendrán que generar valores que simulen dichas entradas.
• Para generar variables aleatorias que sigan determinadas funciones de
probabilidad necesitamos partir de series de números que cumplan
ciertas características de aleatoriedad.
• Es grande la necesidad de usar números aleatorios y son muchas las
aplicaciones que requieren de ellos, tales como:
– Simulación: para simular las entradas de aquellas variables
aleatorias (no determinísticas).
– Juegos o teoría de decisiones.
– Cálculo numérico: por ejemplo en la resolución de integrales.
– Teoría del muestreo: aquellos casos en los que sea demasiado
costoso realizar la muestra.
– Programación: generación de entradas para realizar las pruebas
de los algoritmos y programas.
2. GENERADORES DE NÚMEROSLas características deseables para los generadores de números aleatorios
son las siguientes:
– Los números generados no se deben repetir frecuentemente (en
ciclos).
– Las series generadas deben ser reproducibles.
– Rapidez en la obtención de los números.
– Almacenamiento mínimo. Tanto el propio generador como los
números por el generados.
– Los números generados han de estar uniformemente
distribuidos (todos deben tener la misma probabilidad de salir).
– Los valores generados deben ser independientes unos de otros,
es decir, que la obtención de cierto valor no esté condicionadopor los valores obtenidos anteriormente.
Vamos a ver distintos métodos y para cada uno evaluaremos cuáles de las
características descritas arriba cumple y cuáles no.
Page 3
7/24/2019 Capitulo VI Números Aleatorios
http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 3/16
26/10/20
2. GENERADORES DE NÚMEROS
1) Manual. Por ejemplo, lanzar un dado o realizar extracciones con
reemplazamiento de bolas numeradas dentro de una urna.
Ventajas:
• Las series obtenidas son
realmente aleatorias.
Inconvenientes:
• Lentitud.
• Las series obtenidas son
irreproducibles.
• Requieren gran cantidad de
almacenamiento ya que habría
que almacenar la serie
obtenida.
2. GENERADORES DE NÚMEROS2) Tablas. (De hasta 100000 números).
Ventajas:
• Las series obtenidas son
reproducibles.
Inconvenientes:
• Lentitud.
• Requieren gran cantidad de
almacenamiento.
Page 4
7/24/2019 Capitulo VI Números Aleatorios
http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 4/16
26/10/20
2. GENERADORES DE NÚMEROS
3) Computación analógica. Las series se obtienen mediante
fenómenos físicos.
Ventajas:
• Las series obtenidas son realmente aleatorias.
• Rapidez.
Inconvenientes:
• Las series obtenidas son irreproducibles.
2. GENERADORES DE NÚMEROS4) Computación digital. Dada una función y una semilla, se van
generando los números aleatorios.
Ventajas:
• Rapidez.
• Pocos requerimientos de almacenamiento.
• Las series obtenidas son reproducibles.
Inconvenientes:
• Los números obtenidos no son independientes.
Page 5
7/24/2019 Capitulo VI Números Aleatorios
http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 5/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
A los números obtenidos mediante métodos de computación digital se les
conoce como números pseudoaleatorios, los números obtenidos están
uniformemente distribuidos pero no son independientes. Vamos a
generar números uniformemente distribuidos en el intervalo [0,1]
(U(0,1)).
Hacia 1949, Lehmer introduce un método de generación de números
aleatorios mediante el cual un término de la serie se obtiene como
función d el t érmino inmediatamente a nterior ( ).
La función aplicadaes la siguiente:
siendo 0 xn < m n
En el generador distinguimos cuatro elementos:
– x0, es el valor inicial o semilla.
– a, multiplicador, siendo 0 a < m.
– c, incremento, siendo 0 c < m.
– m, módulo.
1n n x f x
1 modn n x ax c m
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
3.1. Congruencial Mixto
Los generadores congruenciales lineales generan una secuencia de
números pseudoaleatorios en la cual el próximo número psudoaleatorio
es determinado a partir del último número generado, es decir, el número
psudoaleatorio x n+1 es derivado a partir del número pseudoaleatorio x n.
Para el caso particular del generador congruencial mixto, la relación de
recurrencia es la siguiente:
donde: x0, la semilla ( x0 > 0).
Esta relación de recurrencia nos dice que xn+1 es el residuo de dividir axn +
c entre el modulo. Lo anterior significa que losvalores posibles de xn+1 son
0, 1, 2, 3, …, m-1, es decir, m representa el número posible de valores
diferentes que pueden ser generados.
1 modn n x ax c m
Page 6
7/24/2019 Capitulo VI Números Aleatorios
http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 6/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
Ejemplo 1. Suponga que m = 8, a = 5, c = 7 y xo = 4. Para estos valores,
la secuencia de números psudoaleatorios y números uniformes
(U n = xn+1 /m) son mostrados en la tabla 2.1. Como se puede apreciar en
esta tabla,el periodo del generador es 8.
Tabla 2.1: Números psudoaleatorios del generador
n xn xn+1 Un n xn xn+1 Un
0 4 3 0.38 8 4 3 0.38
1 3 6 0.75 9 3 6 0.75
2 6 5 0.63 10 6 5 0.63
3 5 0 0.00 11 5 0 0.00
4 0 7 0.88 12 0 7 0.88
5 7 2 0.25 13 7 2 0.25
6 2 1 0.13 14 2 1 0.13
7 1 4 0.50 15 1 4 0.50
15 7 mod 8
n n x x
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
Ejemplo 2. En caso que se presente un periodo > m, suponga que se
tiene un generador en el cual los valores de sus parámetros son: a = xo = c
= 7 y m = 10. Los valores semuestran en la tabla 2.2.
Tabla 2.2: Números psudoaleatorios del generador
n xn xn+1 Un n xn xn+1 Un
0 7 6 0.75 8 7 6 0.75
1 6 9 1.13 9 6 9 1.13
2 9 0 0.00 10 9 0 0.00
3 0 7 0.88 11 0 7 0.88
4 7 6 0.75 12 7 6 0.75
5 6 9 1.13 13 6 9 1.13
6 9 0 0.00 14 9 0 0.00
7 0 7 0.88 15 0 7 0.88
17 7 mod 10
n n x x
Page 7
7/24/2019 Capitulo VI Números Aleatorios
http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 7/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
Graficando podemos claramente el patrón de comportamiento de la
generación de los números pseudoaleatorios en cada caso.
Generador 1 5 7 mod 8n n x x
0 5 10 150
1
2
3
4
5
6
7
Xn+1
n
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
17 7 mod 10
n n x x
0 5 10 150
2
4
6
8
10
n
Xn+1
Generador
Observación: Si un generador tiene el periodo máximo posible se llama
generador de periodo completo.
Page 8
7/24/2019 Capitulo VI Números Aleatorios
http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 8/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
Reglas que puedan ser utilizadas en la selección de los valores delos parámetros, para que el generador resultante tenga periodocompleto.
a) Selección de módulo “m”
Existen dos opciones para seleccionar el valor apropiado del módulo:
1. Seleccionar m de modo que sea el número primo más grande posible
y a su vez sea menor que pd , es decir:
donde:
p: es la base del sistema (binario, decimal, etc.) que está utilizando.
d: es el número de bits del sistema en la computadora.
Por ejemplo, si se tiene una computadora IBM 370 que trabaja en
binario, entonces p = 2 y d = 32.
2. Seleccionar m = pd . Cuando m toma este valor se facilita el calculo de
número uniforme (Un = x n+1/m), ya que solo se corre el punto binario
o decimal a la izquierda del número.
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
b) Selección del multiplicador “a”
El valor seleccionado de a debe ser entero impar, y además no deben ser
divisibles por 3 ó 5. Sin embargo, si queremos asegurar que el generador
tenga periodo completo, el valor de a se debe seleccionar de acuerdo al
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.
Usualmente se selecciona a como:
• a = 2k +1 sistema binario, k 2.
• a = 10k +1 sistema decimal, k 2.
Page 9
7/24/2019 Capitulo VI Números Aleatorios
http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 9/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
c) Selección del incremento “c ”
El valor seleccionado para este parámetro puede ser cualquier constante.
Sin embargo, si se desea asegurar buenos resultados el valor de c debe
ser:
• c mod 8 = 5 sistema binario.
• c mod 200 = 21 sistema decimal.
Más específicamente el valor de c debe ser un entero impar y
relativamente primo a m.
d) Selección de la semilla “ x o”
En principio la semilla no debería afectar los resultados de la simulación.Sin embargo, una mala combinación de semilla y generador pueden
producir conclusiones erróneas.
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
Recomendaciones para la selección de las semillas:
No use cero. Cero funciona para generadores GCL mixtos pero hace
que los multiplicativos se queden en cero.
Evite valores pares. Si un generador no es de periodo completo (por
ejemplo GCL multiplicativo con modulo m = 2k ) la semilla debe ser
impar. En otros casos no importa.
No use semillas aleatorias. Semillas aleatorias, como por ejemplo la
hora del día, causan dos problemas:
La simulación no puede ser reproducida.
No se puede garantizar que secuencias múltiples no se solapen.
Page 10
7/24/2019 Capitulo VI Números Aleatorios
http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 10/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
3.2. Congruencial Multiplicativo
Al igual que el generador congruencial mixto, el generador congruencial
multiplicativo determina el próximo número pseudoaleatorio a partir del
último número generado, de acuerdo a la siguiente relación de
recurrencia:
• Se recomienda también seleccionar adecuadamente los valores de los
parámetros a, x o y m, con el fin de asegurar un periodo máximo para
las sucesiones generadas por este método.
• Los valores de estos parámetros dependerán del sistema en que setrabaje.
1mod
n n x ax m
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
a) Sistema decimal
i. El valor de la semilla puede ser cualquier entero impar no divisible
entre 2 ó 5 y debe ser relativamente primo a m.
ii. El valor seleccionado de a debe ser obtenido de acuerdo a la
siguiente identidad:
donde
t : es cualquier valor entero
p: es cualquiera de los siguientes valores:
3, 11, 13, 19, 21, 27, 37, 53, 59, 61, 67, 69, 77, 83, 91.
iii. El valor seleccionado de m puede ser 10d . Si m = 10 y d 5 el periodo
del generador es 5x10d -2.
Page 11
7/24/2019 Capitulo VI Números Aleatorios
http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 11/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
b) Sistema binario
i. El valor de la semilla puede ser cualquier entero impar relativamente
primoa m.
ii . El valor seleccionado de a debe ser obtenido a partir de la siguiente
expresión:
donde
t : es cualquier valor entero
iii. El valor seleccionado de m puede 2d . Si m = 2d el periodo del
generador es 2d -2 ó m/4.
A pesar de su aparente simplicidad y previsibilidad, una selección
cuidadosa de los parámetros (a, m), permite obtener de manera eficientesucesiones de números suficientemente largas y aleatorias para algún
propósito.
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
Como ejemplo, consideremos la salida del generador para ciertas
selecciones de a, m y x o (tabla 2.4).
Podemos realizar observaciones que se derivan de las salidas anteriores
(ver gráficos) y que centran la discusión sobre este tipo de generadoresson:
– Un generador congruencial tiene ciclos
– La longitud del ciclo del generador depende de la selección de los
parámetros
Tabla 2.4: Ejemplos del generador congruencial multiplicativo
Caso a m x o
Salidas
1 6 13 1 6 10 8 9 2 12 7 3 5 4 11 1
2 7 13 10 5 9 11 12 6 3 8 4 2 1 7 10
3 5 13 5 12 8 1 5 12 8 1 5 12 8 1 5
4 7 11 5 2 3 10 4 6 9 8 1 7 5 2 3
5 6 11 3 7 9 10 5 8 4 2 1 6 3 7 9
Page 12
7/24/2019 Capitulo VI Números Aleatorios
http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 12/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
Representación de los pares(n, x n+1) en los casos.
0 5 10 150
5
10
15
Caso 1
0 5 10 150
5
10
15
Caso 2
0 5 10 150
5
10
15
Caso 3
0 5 10 150
5
10
Caso 4
0 5 10 150
5
10
Caso 5
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
3.3. Otros métodos
3.3.1. Generadores Cogruenciales Cuadráticos
Son del tipo:
La longitud de periodo máxima que se alcanza con ellos es m, igual que en
el caso del GCL mixto y sin embargo ha de realizar más operaciones que
éste.
Se puede definir también el G.C.L. generalizado como
La filosofía de dicho método consiste en utilizar más de un elemento de la
sucesión para generar un nuevo término.
2
1 modn n n x dx ax c m
1 1 1 2 2 3 3 modn n n n k n k x a x a x a x a x m
Page 13
7/24/2019 Capitulo VI Números Aleatorios
http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 13/16
26/10/20
3. GENERADORES CONGRUENCIALESLINEALES (GCL)
3.3.2. Métodos Aditivos
En este caso la longitud máxima de periodo que se puede alcanzar es
mayor, dado que para que se produzca un ciclo es necesario que se
repitan parejas de números.
El primer generador de este tipo fue creado en los años 1950 y es la
sucesión de Fibonacci:
Ofrece una longitud de periodo mayor que m, pero los test handemostrado que los números producidos no son satisfactoriamente
aleatorios.
2
1 1
longitud máxima de periodo =n n k
n n k
x xm
x x
1 1 modn n n x x x m
3. GENERADORES CONGRUENCIALES
LINEALES (GCL)
Green introdujo el siguiente generador:
Demostró que para k 15 dicho generador no pasaba bien los test de
aleatoriedad pero que para k 16 sí se portaba bien.
Mitchell y Moore (1958) introdujeron el siguiente generador:
; n 55
Se ha de cumplir:
– m debe ser par.
– Se han de generar de forma aleatoria 55 semillas, desde x 0 hasta x 54,
de forma que todos ellasno sean pares.
Este método tiene una longitud de periodo grande y al ser simplemente
aditivo y no utilizar multiplicadores, es rápido.
1 modn n n k x x m
1 24 55 modn n n x x m
Page 14
7/24/2019 Capitulo VI Números Aleatorios
http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 14/16
26/10/20
4. ALGUNOS GENERADORES DENUMEROS ALEATORIOS
• Un generador GCL muy popular y que ya hemos mencionado varias
veces es:
Este es usado en el sistema SIMPL/I de IBM (1972), APL de IBM (1971),
el sistema operativo PRIMOS de Prime Computer (1984), y la librería
científica de IMSL (1987). Tiene buenas propiedades aleatorias y es
recomendado como un estándar mínimo.
• Un estudio de generadores multiplicativos GCL con modulo m = 231 - 1
que comparo su eficiencia y aleatoriedad, recomienda los dos
siguientes como los mejores:
5 31
1 7 mod 2 1n n x x
311 48271 mod 2 1n n x x
31
169621 mod 2 1
n n x x
4. ALGUNOS GENERADORES DE
NUMEROS ALEATORIOS
• El siguiente generador es usado enSIMSCRIPT II.5 y enFORTRAN DEC-
20:
• El siguiente generador es usado en el sistema Pascal de la Universidad
de Sheffield para computadores Prime:
• SIMULA enUNIVAC usa:
Algunos autores dicen que no tiene buenas propiedades aleatorias.
• El sistema operativo UNIX soporta ensiguiente GCL mixto:
31
1 630360016 mod 2 1n n x x
31
1 16807 mod 2n n x x
13 35
1 5 mod 2n n x x
32
1 1103515245 12345 mod 2n n x x
Page 15
7/24/2019 Capitulo VI Números Aleatorios
http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 15/16
26/10/20
4. ALGUNOS GENERADORES DENUMEROS ALEATORIOS
• En Visual Basic se emplea elgenerador congruencial
• EnExcel-97 seemplea elgenerador
Con aritmética de punto flotante, mientras que en Excel-03 y Excel-07
se emplea el generador de Wichman y Hill (1982)definido mediante:
Con salida:
24
1 1140671485 12820163 mod 2n n x x 242
n
n
xU
1 9821.0 0.211327 mod 1n nU U
1 171 mod 30269n n x x
1172 mod 30307
n n y y
1 170 mod 30323n n z z
mod130269 30307 30323
n n nn
x y z U
5. MITOS SOBRE LA GENERACIÓN DE
NÚMEROS ALEATORIOS
1. Un conjunto de operaciones complejas lleva a resultados aleatorios.
2. Una sola prueba como la chi-cuadrado es suficiente para probar si el
generador es bueno.
3. Números aleatorios son impredecibles.
4. Algunas semillas son mejores que otras.
5. Implementación exacta no es relevante.
Page 16
7/24/2019 Capitulo VI Números Aleatorios
http://slidepdf.com/reader/full/capitulo-vi-numeros-aleatorios 16/16
26/10/20
GRACIAS