Вы находитесь на странице: 1из 24

Números

Pseudoaleatorios
Para realizar una simulación se requiere de
números aleatorios en el intervalo (0,1), a los
cuales les llamaremos ri. Donde los ri’s son una
secuencia de números que contiene n números;
En este caso todos los números ri’s en la
secuencia son diferentes y n recibe el nombre de
periodo o ciclo de vida del generador que creó
la secuencia.
Los ri’s son el ingrediente básico de la simulación
de procesos estocásticos y generalmente se usan
para generar el comportamiento de variables
aleatorias tanto continuas como discretas.
Estrictamente los ri’s son números pseudo
aleatorios, debido a que no es posible generar
números realmente aleatorios. La razón por la que
los ri’s no son realmente aleatorios es porque son
generados por medio de algoritmos
determinísticos que requieren de ciertos
parámetros.
Existen una gran variedad de algoritmos para
generar números aleatorios entre cero y uno, tales
como congruencial lineal, congruencial
multiplicativo, congruencial mixto, multiplicador
constante, productos medios, cuadrados medios,
entre otros. Cabe mencionar que los lenguajes de
programación, lenguajes de simulación, paquetes
de simualción y hojas de cálculo contienen una
función para generar números entre cero y uno
de manera automática. Por ejemplo, en Excel se
usa la función =aleatorio( ) ó =rand( ).
Ahora, se presenta el algoritmo congruencial
lineal, el cual fue propuesto por D.H. Lehmer en
1951, siendo este algoritmo el más ampliamente
usado. Este algoritmo genera una serie de
números enteros por medio de la siguiente
ecuación recursiva:

 aX i  c  mod  m  , i  01, 2, ,n

Donde Xo es la semilla, a es la constante


multiplicativa, c es una constante aditiva y m es el
módulo. Xo > 0, a > 0, c > 0 y m > 0 deben ser
números enteros.
La operación “mod m” significa multiplicar Xi por
a, sumar c, dividir el resultado entre m y Xi+1 será
el residuo. Es importante señalar que la ecuación
recursiva del algoritmo congruencial lineal genera
una secuencia de números enteros {0,...,m-1} y
para obtener números aleatorios en el intervalo
[0,1] se requiere de la siguiente ecuación:
Problema:
Generar 4 números entre 0 y 1 con los siguientes
parámetros: Xo=37, a=19, c=33 y m=100.
SOLUCIÓN
19  37   33 36
 7.36  X 1  residuo  36  r1   0.3636
100 99

Por lo tanto, r1 = 0.3636 es nuestro primer número


aleatorio generado. Para obtener los demás
números aleatorios pedidos se procede en forma
similar y la obtención de estos se muestra en la
siguiente tabla:
X1 =(19*37+33)mod 100=36 r1 =36/99 = 0.3636

X2 =(19*36+33)mod 100=17 r2 =17/99 = 0.1717

X3 =(19*17+33)mod 100=56 r3 =56/99 = 0.5656

X4 =(19*56+33)mod 100=97 r4 =97/99 = 0.9797


Es importante mencionar que los generadores
de números simplemente generan un conjunto de
números, después hay que verificar que dichos
números cumplan con una serie de propiedades
tales como: media de 1/2, varianza de 1/12,
uniformidad e independencia. Para demostrar las
propiedades anteriores existen la prueba de
medias, la prueba de varianza, la prueba de
uniformidad, y la prueba de independencia,
respectivamente.
Con respecto a las pruebas de uniformidad e
independencia existen varias opciones de pruebas.
Por ejemplo, las pruebas de Kolmogorov-Smirnov y
Chi-cuadrada son útiles para demostrar la uniformidad
de los números ri’s. En cuanto a la prueba de
independencia existen las pruebas de poker, corridas
arriba y abajo, corridas arriba y abajo de la media,
series, huecos, entre otras. Una vez que los números
ri’s cumplen con las pruebas, el siguiente paso es
usarlos en un generador de variable aleatoria.
Generador de variables aleatorias.
Un generador de variable aleatoria es una expresión
matemática que está en función de los números aleatorios ri ´s .
Por ejemplo:
Temperatura i = 35 + 10(ri) grados centígrados. Si
contamos con ri = 0.25
Entonces podemos simular el comportamiento de la
temperatura, en este caso, la temperatura simulada es de 37.5
grados centígrados. Si ahora el número aleatorio es ri = 0.75,
entonces la temperatura es 42.5 grados centígrados, y así
podemos repetir el proceso hasta obtener el número de veces
que deseamos simular la variable temperatura.
Para construir un generador de variable aleatoria, es
necesario contar con la función de densidad de
probabilidad de la variable. Posteriormente, se
construye el generador de variable aleatoria por
medio de alguno de los métodos disponibles tales
como:
 Método de la transformada inversa
 Método de composición
 Método de convolución
 Método de aceptación y rechazo
Método de la Transformada Inversa
El método de la transformada inversa consiste
básicamente en 4 pasos:
1) obtener la función de densidad de probabilidad f(x),
2) calcular la distribución de probabilidad acumulada F(x)
3) igualar la función de probabilidad acumulada F(x) a ri.
4) despejar la variable aleatoria x.

Con los pasos anteriores se obtiene el generador de


variable aleatoria que debe ser usado para simular el
comportamiento de la variable.
Problema
Si la función de densidad de probabilidad del
tiempo de proceso de una pieza en una máquina
tiene la distribución de probabilidad uniforme:
Solución
Ya conocemos la función de densidad de
probabilidad.
la distribución de probabilidad acumulada F(t),
es:
. igualar la función de probabilidad acumulada F  t  a ri

ti  10
 ri
30

despejar la variable aleatoria ti

ti  10  30ri

donde ri es un número aleatorio entre cero y uno.


Una vez obtenido el generador de variable
aleatoria, ahora hay que simular.
Considerando los 4 números generados
anteriormente por medio del algoritmo
congruencial lineal:
0.3636, 0.1717, 0.5656, y 0.9797
Simularemos ahora el tiempo de proceso de 4
piezas:
Pieza 1  t  10  30  0.3636  20.908 minutos

Pieza 2  t  10  30  0.1717   15.151 minutos

Pieza 3  t  10  30  0.5656  26.968 minutos

Pieza 4  t  10  30  0.9797   39.391 minutos


Ejercicio
El tiempo, en minutos, que un alumno usa una
terminal de cómputo en una universidad sigue
una distribución exponencial de probabilidad,
con promedio de 36 minutos.
Usando distribución exponencial, genere una
variable aleatoria con el método de la
transformada inversa, para el caso de 20
alumnos. Considere la siguiente lista de números
aleatorios:
0.4849 0.5128 0.2963 0.7793 0.7306
0.4068 0.5486 0.0961 0.2352 0.5319
0.2917 0.5088 0.8877 0.8011 0.1761
0.1011 0.0221 0.4884 0.8534 0.1323
.