Está en la página 1de 65

CAPÍTULO 2

GENERACIÓN DE NÚMEROS ALEATORIOS

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

Capítulo 2

Generación de Números Aleatorios

Competencias de la Unidad

· Conocer la diferencia entre números aleatorios y pseudoaleatorios.


· Generar, a través de varias técnicas matemáticas, números pseudoaleatorios.
· Realizar las pruebas estadísticas de aleatoriedad y establecer las
conclusiones correspondientes para los números pseudoaleatorios generados.
· Explicar, con base en las pruebas estadísticas, por qué algunos métodos o
parámetros para la generación de números pseudoaleatorios no son
confiables.

SUMARIO

· Números aleatorios: definición, propiedades, generadores y tablas


· Propiedades de los números pseudoaleatorios.
· Generación de números pseudoaleatorios
· Pruebas estadísticas de aleatoriedad para los números pseudoaleatorios: de
medias, de varianza, de independencia y de bondad de ajuste.
· Obtención de números pseudoaleatorios utilizando paquetes computacionales.
· Método de Monte Carlo

40
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

2. Generación de números aleatorios


2.1. Números aleatorios: definición, propiedades, generadores y tablas

Este capítulo trata de un elemento de suma importancia para la realización de una


simulación, la generación de números aleatorios. En capítulo 1 quedó asentado de
que la simulación es una herramienta poderosa es porque imita el comportamiento
aleatorio de los sistemas estocásticos, que son los que vamos a simular en un
momento dado.

Para lograr esta imitación del comportamiento aleatorio se requiere de una fuente de
números aleatorios así como rutinas para generar variables aleatorias basadas en
alguna distribución de probabilidad. Se preguntará por qué es necesario esto. En un
banco, por ejemplo, se tienen varias cajas para atender a sus clientes ya sean
habituales o esporádicos. La llegada de cualquier cliente no se puede prever ya que
ésta ocurrirá de manera aleatoria. A la llegada de este cliente puede haber o no
clientes esperando el servicio. Las siguientes llegadas de clientes son también
aleatorias. En el caso de los tiempos de servicio, es decir, el tiempo que los clientes
permanecerán realizando sus transacciones con el cajero, también tiene un
comportamiento aleatorio ya que dependerá del número y características de las
transacciones que tiene que realizar. En consecuencia, el tipo de llegadas de los
clientes y las características de los tiempos de servicio harán que se formen o no
colas para la espera del servicio.

Un número aleatorio es un número generado por un proceso, cuyo resultado es


impredecible, y que no puede ser reproducido subsecuentemente de manera
confiable. Un número aleatorio es un resultado de una variable al azar especificada
por una función de distribución. En el ejemplo anterior, una variable aleatoria es el
tiempo entre llegadas de los clientes al banco.

Si deseamos imitar este comportamiento necesitamos de generadores de números


aleatorios y de las rutinas para la generación de variables aleatorias. Este capítulo
muestra cómo generar números aleatorios y cómo asegurarnos de que son aptos
para su uso en la simulación, en tanto en el capítulo 3 se trata de cómo generar
41

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

variables aleatorias y las pruebas a que deben someterse para comprobar su


idoneidad.

Un número aleatorio ya que se obtiene al azar, tiene la misma probabilidad de ser


elegido y su elección no depende de la elección de algún otro. Por ejemplo, al lanzar
un dado el número que aparece en la cara superior no depende del número que haya
salido en el lanzamiento previo ni el resultado del próximo depende del resultado
actual. El lanzamiento de dados es un ejemplo de generador físico de números
aleatorios.

Un generador de números aleatorios es un dispositivo que produce secuencias de


números que estadísticamente cumplan con las condiciones de aleatoriedad. Existen
dos clases principales de generadores: generadores de físicos y de software.

Dispositivos físicos. Dutang, Christophe and Wuertz, Diethelm (2009) sostienen que
“las únicas cosas que son realmente aleatorias, son la medición de los fenómenos
físicos, tales como ruidos térmicos de chips semiconductores o fuentes radiactivas.”
En el caso de los generadores físicos L’Ecuyer (1998), menciona que “los números
aleatorios se pueden generar a través de mecanismos físicos tales como el tiempo
entre eventos sucesivos en la desintegración atómica, el ruido térmico en los
semiconductores, y otros similares”. De forma que si el dispositivo genera una
corriente de bits, 0 o 1, éstos tienen la misma probabilidad de aparecer y ser
independientes de los demás bits.

Desde el punto de la estadística computacional, los dispositivos físicos tienen ciertas


desventajas sobre los generados por un generador de números aleatorios. Estas
desventajas las resume L’Ecuyer (1998) como sigue:

a) Son más complicados de instalar y ejecutar.


b) Son más costosos
c) Son más lentos
d) No se pueden reproducir exactamente en la misma secuencia dos veces.

42
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

Las aplicaciones de este tipo de dispositivos físicos se encuentran principalmente


para generar semillas de generadores algorítmicos, criptografía y máquinas de juego.

Un método para generar estos números consiste en utilizar un dispositivo físico,


como se mencionó anteriormente, pero también puede hacerse usando un
aleatorizador electrónico. De esta manera se han generado varias tablas de números
aleatorios, entre las que se encuentra una que contiene un millón de dígitos
aleatorios, publicada por Rand Corporation.

2.2. Propiedades de los números pseudoaleatorios.

El uso de las computadoras posibilitó el desarrollo de métodos de generación de


números aleatorios. La única manera de simular algo de aleatoriedad en las
computadoras se lleva a cabo por medio de algoritmos determinísticos. (Dutang,
Christophe and Wuertz, Diethelm, 2009).

Los números aleatorios son un elemento básico en la simulación de casi todos los
sistemas discretos. La mayoría de los lenguajes y simuladores incorporan una
subrutina o función que generará una secuencia de números aleatorios que se usan
para generar las variables aleatorias necesarias para la simulación.

En realidad la secuencia de números aleatorios que se producen a través de un


generador de números aleatorios no son estrictamente aleatorios porque al ser
generados por un algoritmo, pueden ser reproducidos tantas veces como se desee.
Por esta razón se conocen como números pseudoaleatorios, (pseudo proviene del
griego y significa “falso”). ¿Esto quiere decir que para realizar una simulación vamos
a utilizar números aleatoriamente falsos? En términos prácticos, se puede decir que
estos números se generan en grandes secuencias que, si pasan las pruebas
estadísticas de aleatoriedad de uniformidad y de independencia, se pueden utilizar
con seguridad. Además, el hecho de que sean reproducibles nos posibilita hacer las
depuraciones necesarias en los modelos de simulación y podemos hacer
comparaciones entre distintos modelos de simulación utilizando la misma secuencia
de números pseudoaleatorios.

43

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

Toda simulación requiere de un generador de números aleatorios, Harrell, et al


(2003), lo comparan como el corazón del modelo de simulación bombeando un
conjunto de números aleatorios, según se vayan requiriendo. Ese conjunto de
números aleatorios deben estar en el intervalo (0,1). Aquí se denotan por ri . Un

conjunto ri = r1, r2 ,L, rn debe seguir una distribución uniforme continua. La figura 2.1
muestra la función de densidad de probabilidad de esta distribución.

Los generadores de números aleatorios proporcionan una secuencia de números


r1, r2 , r3 L que deben satisfacer dos condiciones:

1. Uniformidad. Estar uniformemente distribuidos entre cero y uno [0 £ x £ 1], los


cuales se ajustan a la función de densidad de probabilidad uniforme continua.
2. Independencia. Los números deben ser independientes entre sí. Esta
propiedad es muy importante ya que los números no deben estar
correlacionados.

f (x)

x
0 1
ì1 si 0 £ x £ 1
f ( x) = í
î0 de otro mod o

Figura 2.1 Distribución uniforme continua (0,1) de un generador de números


aleatorios.

Media de los números aleatorios uniformes entre 0 y 1. La función de densidad de


probabilidad de la figura 2.1 indica que los números ri deben tener la misma
probabilidad de ocurrencia. La media o valor esperado de los números aleatorios
entre cero y uno está dada por

44
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

E (r ) = ò x dx = é x ù
1 2 1
=
0
êë 2 úû 0
2

y la varianza está dada por

2 1
é x3 ù æ 1 ö 1 1 1
1 2

V (r ) = ò x dx - [E (r ) ] = ê ú - ç ÷ = - =
2

0 ë 3 û 0 è 2 ø 3 4 12

2.3. Generación de números pseudoaleatorios

Aunque en la sección 2.5 se abordará el tema sobre la obtención de números


pseudoaleatorios utilizando paquetes computacionales, y con el propósito de darle
cohesión a la exposición del tema, es conveniente que en este punto discutamos
cómo generar secuencias de números pseudoaleatorios para posteriormente
proceder a la discusión de las distintas pruebas que se pueden utilizar para
comprobar la idoneidad de las secuencias para su uso en un modelo de simulación.

Generador de números pseudoaleatorios. Un generador de números


pseudoaleatorios tiene como propósito producir una secuencia de número en el
intervalo [0,1] que imite las propiedades ideales de la distribución uniforme e
independencia tanto como sea posible.

Se mencionó anteriormente que le generación de números pseudoaleatorios actúa


como el corazón de la simulación que debe bombear una gran secuencia de estos
números. Existen muchos métodos para generar números pseudoaleatorios, sin
embargo, no todas ellas son eficientes, por lo que se deben considerar aspectos
importantes como los siguientes:

1. Rapidez. La rutina o programa de computadora debe ser rápida, es decir, que


debe generar un número en el menor tiempo posible.
2. Portabilidad. La rutina debe poderse exportar a cualquier computadora y a
cualquier lenguaje de programación. Esto asegura que se obtendrán los
mismos resultados independientemente en dónde se ejecute.

45

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

3. Longitud. La rutina debe tener un largo periodo, esto se conoce como longitud
de ciclo o periodo, y representa la longitud de la secuencia de números
pseudoaleatorios (en adelante los denominaremos aleatorios o
pseudoaletorios de manera indistinta). Schmidt y Taylor (1979) definen la
longitud de ciclo como “una medida de la cantidad de números que se
generan antes que reaparezca la misma secuencia de números.”
4. Reproducibilidad. Ya que se desea ensayar el experimento varias veces, el
generador debe ser apto para reproducir las mismas series de número que se
desee. Cuando se está depurando un modelo de simulación es deseable
hacerlo con la misma secuencia de números aleatorios con el fin de facilitar
las comparaciones entre distintos sistemas o modelos.
5. No degeneración. El generador no debe ser degenerativo, es decir, que no
produzca continuamente el mismo número.

Un generador debe ser de naturaleza algorítmica, es decir, que se debe utilizar el


término i de la secuencia para calcular el i+1; el i+1 se utiliza para calcular el i+2, y
así sucesivamente. La mayoría de los generadores utilizan un algoritmo, lo que les
permite funcionar de manera independiente de todas las demás partes del programa
de simulación (Schmidt y Taylor, 1979).

Para entender la naturaleza del problema de generación de números aleatorios,


incluimos aquí varios algoritmos en el entendido que los paquetes de lenguajes de
simulación y los simuladores llevan incorporado alguno de ellos.

En este texto se discuten algunos algoritmos no congruenciales como el de


cuadrados medios, el de productos medios y el de multiplicador constante sólo para
que el lector reflexione sobre los problemas que pueden presentar este tipo de
problemas. Después se presentan tres algoritmos congruenciales: el mixto, el
multiplicativo y el aditivo. Finalmente se muestra el congruencial cuadrático que es
no lineal.

46
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

2.3.1. Algoritmos no congruenciales

Cuadrados medios. Propuesto por Van Neuman y Metropolis en 1946. Este método
es ineficiente porque tiende degenerar con rapidez y, dependiendo de su valor inicial,
pierde rapidez.

Procedimiento

Paso 1. Selección de la semilla, a la que se denomina X 0 , con d dígitos mayores a 3.

Paso 2.

a) Determinar Y0 = ( X 0 )2

b) Definir X 1 = los d dígitos del centro1

c) Defina ri = 0. X1

Paso 3

a) Determine Yi = ( X i )2

b) Defina X i +1 = los d dígitos del centro.

c) Defina ri = 0. X i +1 para toda i = 1, 2,…, n

Paso 4. Repita el paso 3 hasta obtener los n números aleatorios deseados.

Ejemplo 2.1

Usando el algoritmo de cuadrados medios genere los primeros cinco números


aleatorios si se tiene la semilla X 0 = 9230.

Solución

La tabla 2.1 muestra los resultados de cada uno de los pasos del procedimiento
antes descrito. Los números que se subrayan son los dígitos que se suprimen para

1
En ocasiones no es posible obtener los d dígitos del centro de Y0 o de Yi en esos casos agregue ceros al
lado izquierdo de estos valores.
47

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

obtener los D dígitos del centro. Para Y0 se suprimen el 85 de lado izquierdo y el 00


de lado derecho.

i Yi-1 Xi ri Comentarios
1 (9230)2 = 85192900 1929 0.1929

2 (1929)2 = 03721041 7210 0.7210 Se agrega un cero a la izquierda


de Yi-1
3 (7210)2 = 51984100 9841 0.9841

4 (9841)2 = 96845281 8452 0.8452

5 (8452)2 = 71436304 4363 0.4363

Tabla 2.1 Procedimiento del algoritmo de cuadrados medios para el ejemplo 2.1

Productos medios. El procedimiento de este algoritmo se similar al anterior, sólo


que aquí se utilizan dos semillas: X 0 y X1 las cuales se multiplican para obtener el

valor de Y0 . Para obtener X 2 se extraen los d dígitos del centro del valor de Y0 el cual

servirá para obtener r1 = 0. X 2 . Enseguida se determina el valor de Yi = ( X i )( X i +1 ), y se

extraen los d dígitos del centro para obtener el valor de X i + 2 y de ahí ri . Se repite el
procedimiento hasta obtener los n números deseados.

Procedimiento

Paso 1. Selección de las semillas, a las que se les denomina X 0 y X1 , con d dígitos
mayores a 3.

Paso 2.

a) Determinar Y0 = ( X 0 )( X1 )

48
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

b) Definir X 2 = los d dígitos del centro2

c) Defina ri = 0. X 2

Paso 3

a) Determine Yi = ( X i )( X i +1 )

b) Defina X i +2 = los d dígitos del centro.

c) Defina ri = 0. X i + 2 para toda i = 1, 2,…, n

Paso 4. Repita el paso 3 hasta obtener los n números aleatorios deseados.

Ejemplo 2.2

Usando el algoritmo de productos medios genere los primeros cinco números


aleatorios si se tienen las semillas X 0 = 9230 y 2449.

Solución

La tabla 2.2 muestra los resultados de cada uno de los pasos del procedimiento
antes descrito.

I Yi-1 Xi ri Comentarios
1 (9230)(2449) = 22604270 6042 0.6042
2 (2449 )(6042 ) = 14796858 7968 0.7968
3 (6042 )(7968 ) = 48142656 1426 0.1426
4 (7968)(1426) = 11362368 3623 0.3623
5 (1426 )(3623) = 05166398 1663 0.1663 Se agrega un cero a la izquierda
de Yi-1

Tabla 2.2 Procedimiento del algoritmo de productos medios para el ejemplo 2.2

2
En ocasiones no es posible obtener los d dígitos del centro de Y0 o de Yi en esos casos agregue ceros al
lado izquierdo de estos valores.
49

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

Multiplicador constante. El procedimiento de este algoritmo se similar al anterior,


sólo que aquí se una semilla y un multiplicador constante: X 0 y a, respectivamente,

los cuales se multiplican para obtener el valor de Y0 . Para obtener X1 se extraen los d

dígitos del centro del valor de Y0 el cual servirá para obtener r1 = 0. X 1 . Enseguida se

determina el valor de Yi = (a )( X i ), y se extraen los d dígitos del centro para obtener el

valor de X i +1 y de ahí ri . Se repite el procedimiento hasta obtener los n números


deseados.

Procedimiento

Paso 1. Selección de la semilla, X 0 , y el valor del multiplicador constante a , con d


dígitos mayores a 3.

Paso 2.

a) Determinar Y0 = (a )( X 0 )

b) Definir X 1 = los d dígitos del centro3

c) Defina ri = 0.X1

Paso 3

a) Determine Yi = a( X i )

b) Defina X i +1 = los d dígitos del centro.

c) Defina ri = 0. X i + 2 para toda i = 1, 2,…, n

Paso 4. Repita el paso 3 hasta obtener los n números aleatorios deseados.

Ejemplo 2.3

Usando el algoritmo del multiplicador constante genere los primeros cinco números
aleatorios si se tiene la semilla X 0 = 9230 y el multiplicador constante a = 2449.

3
En ocasiones no es posible obtener los d dígitos del centro de Y0 o de Yi en esos casos agregue ceros al
lado izquierdo de estos valores.

50
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

Solución

La tabla 2.3 muestra los resultados de cada uno de los pasos del procedimiento
antes descrito.

i Yi-1 Xi ri Comentarios
1 (2449 )(9230 ) = 226042 70 6042 0.6042
2 (2449 )(6042 ) = 14796858 7968 0.7968

3 (2449 )(7968 ) = 19 498938 4989 0.4989


4 (2449 )(4989 ) = 12 218061 2180 0.2180
5 (2449 )(2180 ) = 05338820 3388 0.3388 Se agrega un cero a la izquierda
de Yi-1

Tabla 2.3 Procedimiento del algoritmo del multiplicador constante para el ejemplo
2.3.

2.3.2. Algoritmos congruenciales lineales

En la subsección 2.3.1 se estableció que los métodos presentados ahí son


ineficientes por dos razones principales, primero porque degeneran rápidamente y no
aseguran obtener ciclos muy grandes y, en segundo lugar, porque tienden a ser
lentos en su procesamiento.

La mayoría del software de simulación está basado en los generadores


congruenciales lineales (LCG, por su sigla en inglés). Este generador es eficiente ya
que produce rápidamente una secuencia de números aleatorios sin requerir muchos
recursos computacionales, (Harrell, et al, 2003). A continuación se presentan tres de
los más representativos: el mixto, el multiplicativo y el aditivo.

Algoritmo congruencial lineal mixto. Produce una secuencia de enteros x1, x2,…
entre cero y m-1 por medio de la ecuación recursiva siguiente

51

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

xi +1 = (axi + c ) mod m i = 1, 2,L (2.1)

Donde:

x0 = valor inicial llamado semilla

a = constante multiplicativa

c = constante aditiva

m = módulo

x0, a, c, m ≥ 0, enteros y m > a, m > c, m > x0

En la ecuación recursiva 2.1, mod m representa la operación aritmética módulo la


cual arroja como resultado el residuo entero de la división de (axi + c) entre m.

La ecuación recursiva 2.1 produce números aleatorios enteros discretos por lo que
es necesario convertirlos a números aleatorios uniformes en el intervalo [0,1], lo cual
se logra haciendo

xi
ri = i = 1, 2,L (2.2)
m

Banks, Carson II, Nelson y Nicol (2005), hacen notar que con la aplicación de la
ecuación recursiva 2.1 se tienen los siguientes resultados:

· “Los números generados sólo pueden asumir valores del conjunto


I = {0, 1 / m, 2 / m, L, ( m - 1) / m}, por lo tanto, cada xi es un entero del conjunto

{0, 1, 2,L , m - 1}, ” y concluyen que si bien ri “es discreta en I y no continua en el


intervalo [0, 1], no tiene importancia siempre y cuando el módulo sea un
entero muy grande.”
· En cuanto al periodo del generador mencionan que “para ayudar a alcanzar la
densidad máxima (que los valores asumidos por ri, i = 1, 2,…, no tienen
grandes huecos en [0, 1]) y prevenir el reciclamiento en aplicaciones prácticas,
el generador debe tener el mayor periodo posible.”

52
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

Debe tenerse mucho cuidado en la selección de los valores x0, a, c, m ya que esta
decisión influye de manera notable en las propiedades estadísticas y la longitud del
ciclo que se genere a partir de la ecuación recursiva. Esto lo observaremos a través
de los distintos ejemplos ilustrativos.

El ejemplo 2.4 muestra los cálculos del algoritmo congruencial mixto. Los parámetros
que se eligieron lo hacen ideal para mostrar que se alcanza el periodo completo, P =
m = 8, aunque este periodo no nos serviría en una simulación ya que su longitud es
muy pequeña. Se obtiene un periodo completo cuando la longitud de la secuencia de
números es igual a m, la longitud del ciclo nunca excederá este valor.

Ejemplo 2.4

Use el método congruencial lineal mixto para generar una secuencia de números
aleatorios, tantos como sea posible, con los siguientes parámetros:

x0 = 4, a = 5, c = 7, m = 8.

Solución

Sustituyendo los valores de los parámetros en la ecuación 2.1 se tiene:

x1 = (5 * 4 + 7 ) mod 8 = 3 r1 = 3 = 0.375
8

Ahora se sustituye el valor de x1 en la ecuación 2.1, los demás valores permanecen


igual, dando como resultado

x2 = (5 * 3 + 7 ) mod 8 = 6 r2 = 6 = 0.750
8

La tabla 2.4 muestra los cálculos para el resto de los valores. Observe que cuando
se genera x9 se repite el mismo valor obtenido para x1 , lo cual muestra que se ha
obtenido el máximo periodo, en este caso, de ocho números aleatorios.

Periodo completo o ciclo completo. En 1966 Hull y Dobell presentaron un teorema


para obtener el periodo completo:

53

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

El LCG xi +1 = (axi + c ) mod m i = 1, 2,L tiene un periodo completo si y sólo si se


cumplen las tres condiciones siguientes:

1. c y m son relativamente primos (por ejemplo, el único entero positivo que


divide a c y a m es 1).
2. Si q es cualquier número primo que divide a m, entonces q también divide a

a - 1.

3. Si 4 divide a m, entonces 4 divide a a - 1

Selección adecuada de los parámetros. Otros autores mencionan que para m una
potencia de 2, m = 2b donde b es un entero y c ≠ 0. El periodo más grande posible P
= m = 2b, se logra si c es relativamente primo a m y a = 1 + 4k donde k es un entero.

En ejemplo 4 se cumplen las condiciones marcadas por el teorema de Hull y Dobell


ya que se observa que:

· c y m son relativamente primos


· m = 8 puede dividirse entre 2, también (a -1) = (5 – 1)/2
· m/4 = 8/4 = 2 y (a – 1)/4 = (5 – 1)/ 4 = 1
· b = 3, es decir m = 23 = 8.
· a = 1 + 4k = 1 + (4*1) = 5

CONGRUENCIAL LINEAL MIXTO


X0 4
a 5
c 7
m 8
i X(i+1) ri
1 3 0.375
2 6 0.750 ---
3 5 0.625 ---
4 0 0.000 ---
5 7 0.875 ---Se repite la secuencia
6 2 0.250 ---
7 1 0.125 ---
8 4 0.500 ---
9 3 0.375 ciclo

Tabla 2.4 Aplicación del algoritmo congruencial lineal mixto para el ejemplo 2.4

54
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

Algoritmo congruencial multiplicativo. Este algoritmo es un caso especial del


algoritmo congruencial lineal mixto, en la ecuación 2.1 el valor de c = 0, entonces la
ecuación recursiva es:

xi+1 = (axi ) mod m i = 1, 2,L (2.3)

Este algoritmo tiene como ventaja ser más rápido, ya que requiere menos
operaciones. La sucesión de números aleatorios generados tienen buen
comportamiento estadístico, es decir, están uniformemente distribuidos y son
independientes. Sin embargo, las condiciones para obtener el periodo completo que
vimos en el mixto no aplican. Si usamos la ecuación 2.3 para los parámetros x0 = 4,
a = 5 y m = 8, el resultado que obtenemos es una condición degenerada, es decir, se
repite o recicla el mismo resultado.

x1 = (5 * 4) mod 8 = 4 r1 = 4 = 0.500
8

Para la siguiente iteración se observa que x1 = x2 = 4, por lo que vamos a obtener el


mismo resultado. Banks, et al, (2005), aconsejan que para obtener el periodo más
grande posible, P = m / 4 = 2 b-2 , se deben cumplir las condiciones siguientes:

· m = 2b, b debe ser un entero


· a = 3 + 8k o a = 5 + 8k, k = 0, 1, 2, 3,…
· x0 debe ser impar

Ejemplo 2.5

Utilice el algoritmo congruencial lineal multiplicativo para generar tantos números


aleatorios como sea posible si se utilizan los siguientes parámetros: b = 6, k = 5 y
una semilla x0 = 145.

Solución

Aplicando la ecuación 2.3 se obtienen los siguientes resultados para x1 y x2, como
sigue. La tabla 2.5 muestra que no se tiene un periodo completo, sólo se generaron

55

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

16 números, esto corresponde a m/4 = 64/4 = 16, que confirma que respetando las
condiciones aconsejadas, se obtiene el máximo periodo P.

m = 2b = 26 = 64

a = 5 + 8k = 5 + 8*5 = 45

x1 = (45 *145) mod 64 = 61 r1 = 61 = 0.9531


64

x2 = (45 * 61) mod 64 = 57 r2 = 57 = 0.8906


64

CONGRUENCIAL LINEAL MULTIPLICATIVO


X0 145
a 45
m 64

i X(i+1) ri Observaciones
1 61 0.9531
2 57 0.8906
3 5 0.0781
4 33 0.5156
5 13 0.2031
6 9 0.1406
7 21 0.3281
8 49 0.7656
9 29 0.4531
10 25 0.3906
11 37 0.5781
12 1 0.0156
13 45 0.7031
14 41 0.6406
15 53 0.8281
16 17 0.2656
17 61 0.9531 Alcanzó máximo peridodo

Tabla 2.5 Números aleatorios generados a través del algoritmo congruencial lineal
multiplicativo para el ejemplo 2.5

56
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

Algoritmo congruencial aditivo. A diferencia de los anteriores, el método requiere


que se genere previamente una secuencia de números enteros aleatorios x1 , x2 L xn

que tienen el propósito de obtener una nueva secuencia de enteros xn+1 , xn+2 , xn+3 L ,
estos dos conjuntos se utilizan en la ecuación recursiva 2.4 para obtener los números
enteros aleatorios que servirán para obtener los números aleatorios entre 0 y 1,
mediante la ecuación 2.2.

( xi = xi-1 + xi-n ) mod m i = n + 1, n + 2 + L, N (2.4)

Ejemplo 2.6

Mediante el algoritmo congruencial lineal aditivo, genere 5 números aleatorios entre 0


y 1, si tiene la siguiente secuencia de enteros aleatorios: 4, 51, 39, 93, 69. Utilice un
módulo m = 32.

Solución

Conservando el orden en que fueron generados se tiene:

x1 = 24, x2 = 51, x3 = 39, x4 = 93, x5 = 69

Aplicando la ecuación recursiva 2.4, se obtienen los siguientes resultados:

x6 = ( x5 + x1 ) mod 32 = (69 + 24) mod 32 = 29, r1 = 29 / 32 = 0.90625


x7 = (x6 + x2 ) mod 32 = (29 + 51) mod 32 = 16, r2 = 16 / 32 = 0.50000
x8 = (x7 + x3 ) mod 32 = (16 + 39) mod 32 = 23, r3 = 23 / 32 = 0.71875
x9 = (x8 + x4 ) mod 32 = (23 + 93) mod 32 = 20, r1 = 20 / 32 = 0.62500
x10 = (x9 + x5 ) mod 32 = (20 + 69) mod 32 = 25, r1 = 25 / 32 = 0.78125

2.3.3. Algoritmos congruenciales no lineales

En esta subsección sólo se ilustrará un ejemplo del algoritmo congruencial


cuadrático. Este algoritmo es una forma de remover la estructura lineal de los
algoritmos vistos en la subsección anterior y utiliza la siguiente ecuación recursiva:

( )
xi+1 = axi2 + bxi + c mod m i = 0, 1, 2, 3, L , N (2.5)

57

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

L’Ecuyer (1998), menciona que si m es una potencia de 2, este tiene periodo


completo (P = m) si y sólo si a es par, (b-a) mod 4 = 1 y c es impar.

Ejemplo 2.7

Genere 5 números aleatorios utilizando el algoritmo congruencial cuadrático si se


tienen los siguientes parámetros: a = 2, b = 19, c = 13 y m = 32.

Solución

A continuación se muestran los cálculos de x1 y x2 y, en la tabla 2.6, los resultados


para los cinco números generados por este algoritmo.

( )
x1 = 2 * 5 2 + 19 * 5 + 13 mod 32 = (50 + 95 + 13) mod 32 = 30, r1 = 30 / 32 = 0.9375
x2 = (2 * 30 2
)
+ 19 * 30 + 13 mod 32 = (1800 + 570 + 13) mod 32 = 15, r2 = 15 / 32 = 0.46875

CONGRUENCIAL CUADRÁTICO
x0 5
a 2
b 19
c 13
m 32
i x(i+1) ri
1 30 0.9375
2 15 0.46875
3 12 0.375
4 17 0.53125
5 18 0.5625

Tabla 2.6 Cinco números pseudoaleatorios generados mediante el algoritmo


congruencial cuadrático para el ejemplo 2.7

Existe un gran desarrollo en el ámbito de la generación de números


pseudoaleatorios, por ejemplo, Dutang y Wuertz (2009) hacen una revisión de los
distintos tipos de áreas y las clasifican en: generadores congruenciales lineales,
generadores recursivos múltiples en los que destaca Knuth-TAOCP-2002, Mersenne-
Twister, generadores congruenciales bien equidistribuidos de largo periodo, SMID-
Oriented fast Mersenne-Twister Algorithms y la generación de números cuasi

58
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

aleatorios. En la sección 2.5 retomaremos el tema pero ahora con el enfoque de qué
generadores de números pseudoaleatorios utiliza el software comercial.

2.4. Pruebas estadísticas de aleatoriedad

Banks, Carson II, Nelson y Nicol (2005) previenen sobre los problemas que se deben
evitar al momento de generar una secuencia de números aleatorios:

· Los números generados pueden no estar distribuidos uniformemente.


· Los números generados pueden ser valores discretos en lugar de valores
continuos.
· La media de los números generados puede ser muy alta o muy baja.
· La varianza de los números generados puede ser muy alta o muy baja.
· Puede haber variaciones cíclicas. Por ejemplo:
o Auto correlación entre los números.
o Números sucesivamente más altos o más bajos que los números
adyacentes.
o Varios números arriba de la media seguidos de varios números debajo
de la media.

Estas son las razones principales que tienen que ver con las dos propiedades
estadísticas de interés que ya se han mencionado: la uniformidad y la independencia.
Al generar números pseudoaleatorios es conveniente asegurarnos que los números
tienen comportamiento aleatorio, para ello tomamos una muestra y con ella le
realizamos una serie de pruebas estadísticas generalmente usando algún paquete
estadístico. Sin embargo, en esta sección revisaremos las pruebas sin el auxilio del
software para entender mejor qué hacen, cómo lo hacen y la manera de interpretar
sus resultados.

Las pruebas que se muestran son pruebas de hipótesis, por lo tanto, siguen un
procedimiento estándar como el que sugieren Walpole y Myers (1984) que se
describe a continuación:

1. H 0 : q = q 0
59

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

2. H1 : las alternativas son q < q 0 , q > q 0 ó q ¹ q 0

3. Escoja un nivel de significancia igual a a .


4. Seleccione la estadística de prueba apropiada y establezca una región crítica
n.
5. Calcule el valor de la estadística partiendo de una muestra aleatoria de
tamaño n.
6. Conclusión: rechace H0 si la estadística tiene un valor en la región crítica; si no
es así, acepte H0.

Todas las pruebas que se consideran aquí se realizarán con la misma muestra de
números pseudoaleatorios generados mediante un algoritmo congruencial lineal. Las
pruebas incluidas son las siguientes:

· Pruebas para la uniformidad


o Prueba de promedios
o Prueba de varianza
o Prueba Chi-cuadrada de bondad de ajuste
o Prueba Kolgomorov-Smirnov
· Pruebas de independencia
o Prueba de corridas ascendentes y descendentes
o Pruebas de corridas arriba y debajo de la media
o Prueba de series
2.4.1. Pruebas de uniformidad
2.4.1.1. Prueba de medias

En la sección 2.2 se estableció que una de las propiedades de los números


pseudoaleatorios uniformes es que para un conjunto ri el valor esperado (la media)
es 0.5. El ejemplo 2.8 muestra el procedimiento para realizar la prueba de medias.

Ejemplo 2.8

Los datos de la tabla 2.7 son una muestra de los primeros 36 números aleatorios
obtenida a partir de un generador de números aleatorios congruencial lineal mixto

60
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

que tiene como parámetros x0 = 27, a = 17, c = 43 y m = 64. Determine si el valor


esperado de la muestra es 0.5 para un nivel de significancia a = 0.05.

TABLA CON MUESTRA DE NÚMEROS PSEUDOALEATORIOS


0.844 0.016 0.938 0.609 0.031 0.203
0.125 0.797 0.219 0.391 0.313 0.984
0.406 0.578 0.500 0.172 0.594 0.766
0.688 0.359 0.781 0.953 0.875 0.547
0.969 0.141 0.063 0.734 0.156 0.328
0.250 0.922 0.344 0.516 0.438 0.109

Tabla 2.7. Muestra de números pseudoaleatorios que se usa en las pruebas de


aleatoriedad.

Solución

1. H 0 : m ri = 0.5

2. H1 : m r ¹ 0.5
i

3. Nivel de significancia a = 0.05


4. Para este caso, la región crítica se establece a partir de los siguientes límites
de aceptación:

1 za / 2
LI r = - 2.6 (a)
2 12 n

1 z
LS r = + a /2 2.6 (b)
2 12n

Los límites de aceptación indican que si la media de la muestra cae dentro de


ellos, entonces no se puede rechazar la hipótesis nula de que el valor esperado
del conjunto ri es ½, en caso contrario se rechaza la hipótesis nula.

Sustituyendo los valores en las ecuaciones 2.6 (a) y 2.6 (b), se obtienen los
límites de aceptación para un nivel de significancia de 0.05.

za / 2 = 1.96

61

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

1 za / 2 1.96
LI r = - = 0 .5 - = 0.406
2 12 n 12 * 36

1 za / 2 1.96
LI r = - = 0.5 + = 0.594
2 12 n 12 * 36

5. Se calcula la media de la muestra de números pseudoaleatorios de la tabla


2.7 mediante la ecuación 2.7.

år i
r= 1=1
2.7
n

Sustituyendo los valores ri se tiene que

år i
0.844 + 0.016 + 0.938 + L + 0.109
r= 1=1
= = 0.490
n 36

6. Conclusión. No se puede rechazar que el valor esperado del conjunto de


números ri sea 0.5 ya que la media de estos cae dentro de los límites de
aceptación, 0.406 < r < 0.594, para un nivel de confianza de 0.95.

2.4.1.2. Prueba de la varianza

Ejemplo 2.9

Con los datos de la tabla 2.7 determine si el conjunto de números ri tiene una
varianza de 1/12, para un nivel de confianza de 95%.

Solución

1. H 0 : s r2 = 1 / 12
i

2. H1 : s r2 ¹ 1 / 12
i

3. Nivel de significancia a = 0.05

62
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

4. Para este caso, la región crítica se establece a partir de los siguientes límites
de aceptación:

c12-a / 2 ,n -1
LI a 2 = 2.8 (a)
r
12(n - 1)

ca2 / 2 ,n -1
LSa 2 = 2.8 (b)
r
12(n - 1)

Primero obtenemos los valores de la chi-cuadrada para un nivel de significancia


de 0.05 y (36-1) grados de libertad.

c12-a / 2,n-1 = 20.5694 y c a2 / 2 ,n-1 = 53.2033

Sustituyendo los valores en las ecuaciones 2.8 (a) y 2.8 (b) se tiene

c12-a / 2 ,n-1 20.5694


LI a 2 = = = 0.0490
r
12(n - 1) 12(36 - 1)

ca2 / 2 ,n -1 53.2033
LSa 2 = = = 0.1267
r
12(n - 1) 12(36 - 1)

5. Para calcular el valor de la varianza de la muestra de los números ri se utiliza


la ecuación 2.9.

å (r - r )
n
2
i
s2 = i =1
2.9
r
i n -1

Sustituyendo los valores en la ecuación 2.9 se obtiene el siguiente resultado

35

å (r - 0.490)
2
i
s2 = i =1
= 0.0916
r
i 36 - 1

63

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

Conclusión. Como el valor de la varianza es 0.0916 queda dentro de los límites


inferior y superior, no se puede rechazar la hipótesis de que los números tienen
una varianza de 1/12, para un nivel de confianza de 95%.

2.4.1.3. Prueba de Kolgomorov-Smirnov

Esta prueba se puede usar para determinar si un conjunto de números


pseudoaleatorios ri se distribuyen uniformemente en el intervalo [0, 1]. La prueba
compara la función de distribución acumulada, F(x), de la distribución uniforme, con
la función de distribución acumulada empírica, Sn(x), de la muestra.

La prueba K-S está basada en la mayor desviación absoluta entre F(x) y Sn(x) en el
intervalo de la variable aleatoria. El ejemplo 2.10 muestra el procedimiento para
realizar la prueba.

Ejemplo 2.10

Tome los 10 primeros números pseudoaleatorios de la tabla 2.7 y realícese la prueba


de Kolgomorov-Smirnov para verificar si se distribuyen uniformemente en el intervalo
[0, 1], para un nivel de significancia de 0.10.

Los primeros diez números de la tabla (tomándolos fila por fila de izquierda a
derecha) son los siguientes: 0.844, 0.016, 0.938, 0.609, 0.031, 0.203, 0.125, 0.797,
0.219, 0.391.

1. H 0 : ri se distribuyen uniformemente en [0, 1]

2. H1 : ri no se distribuyen uniformemente en [0, 1]

3. Nivel de significancia a = 0.05


4. Determinar el valor crítico, Da ,n de la tabla 2.x para el nivel de significancia

especificada y el tamaño de muestra n. En este caso para a = 0.05 y n = 10,


Da ,n = D0.05,10 = 0.410

5. Para realizar la prueba se siguen los siguientes pasos:

64
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

Paso 1. Ordenar los datos desde el menor hasta el mayor. Sea r(i) la iésima
observación menor, tal que
r(1) £ r(2 ) £ r(3 ) L £ r( n )

Ordenando los números de menor a mayor se tiene el siguiente conjunto:


0.016, 0.031, 0.125, 0.203, 0.219, 0.391, 0.609, 0.797, 0.844, 0.938
Paso 2. Calcule
ìi ü
D + = máx í - r(i ) ý 2.10 (a)
1£i £ n î n þ

ì i - 1ü
D - = máx ír(i ) - ý 2.10 (b)
1£i £ n î n þ
Paso 3. Calcule
{
D = máx D+ , D- } 2.11
La tabla 2.8 muestra los pasos 1 a 3 del procedimiento, una vez obtenida el valor
de D, procedemos a su comparación con el valor en tablas para definir si se
acepta o no la hipótesis de uniformidad.

PRUEBA DE KOLGOMOROV-SMIRNOV
I 1 2 3 4 5 6 7 8 9 10
i
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
n
r (i) 0.016 0.031 0.125 0.203 0.219 0.391 0.609 0.797 0.844 0.938
i -1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
n
i
- r(i ) 0.084 0.169 0.175 0.197 0.281 0.209 0.091 0.003 0.056 0.063
n
i -1
r(i ) - 0.016 -0.069 -0.075 -0.097 -0.181 -0.109 0.009 0.097 0.044 0.038
n
D+ 0.281 D- 0.097 {
D = máx D + , D - } 0.281

Tabla 2.8 Cálculo de los valores D+ , D- y D para el ejemplo 2.10

6. Conclusión. Como el valor de D = 0.281 < D0.5,10 = 0.410 no se puede rechazar

la hipótesis de uniformidad para la muestra de los 10 números del ejemplo 2.

65

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

2.4.1.4. Prueba de la Chi-cuadrada de bondad de ajuste

Al igual que la prueba de Kolgomorov-Smirnov, la prueba de la chi-cuadrada tiene


como propósito comprobar la hipótesis de que no existe diferencia entre la
distribución de frecuencias de la muestra y la distribución uniforme teórica. El
ejemplo 2.11 ilustra el procedimiento para realizar la prueba.

Ejemplo 2.11

Utilice los datos de la tabla 2.7 para probar la uniformidad de los números ri de la
muestra, mediante la prueba de la chi-cuadrada con un nivel de significancia de 0.05.

1. H 0 : ri se distribuyen uniformemente en [0, 1]

2. H1 : ri no se distribuyen uniformemente en [0, 1]

3. Nivel de significancia a = 0.05


4. La estadística de prueba es la ecuación 2.12. La prueba usa la distribución
chi-cuadrada para probar la bondad de ajuste de la distribución uniforme, en
este caso particular, al comparar el estadístico de prueba c 02 el cual representa

una medida de la desviación de las frecuencias observadas, Oi, con respecto


a las frecuencias esperadas por el modelo teórico de la distribución uniforme,
Ei, con el valor en tablas con m -1 grados de libertad y un nivel de significancia
a.

c =å
2
m
(Ei - Oi )2 2.12
0
i =1 Ei

Donde:

Ei = frecuencia esperada en el subintervalo m

Oi = frecuencia observada en el subintervalo m

m = n , n = tamaño de la muestra

5. El procedimiento de la prueba es el siguiente:

66
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

· Generar la muestra, n, de números pseudoaleatorios ri.

Recuerde que tabla 2.7 muestra los 36 números que están siendo sometidos a la
prueba.

· Subdividir el intervalo [0, 1] en m subintervalos.

En el ejemplo n = 36 por lo tanto, m = 36 = 6, esto quiere decir que dividiremos el


intervalo [0, 1] en seis subintervalos, lo que equivale a 0.166.

· Contar la frecuencia observada y calcular la frecuencia esperada para


cada subintervalo.
· Calcular el estadístico de prueba.

La tabla 2.9 muestra el cálculo del estadístico de prueba.

El valor crítico para la prueba se obtiene con

c2 2.13
a , m -1

Sustituyendo los valores de a = 0.05 y m - 1 = 6 - 1 = 5 grados de libertad.

c2 = c2 = 11.070
a, m -1 0.05,5

PRUEBA CHI-CUADRADA DE BONDAD DE AJUSTE


(Ei - Oi )2
Subintervalo Ei Oi Ei

0 - 0.167 6 7 0.167
0.168 - 0.334 6 6 0.000
0.335 - 0.501 6 6 0.000
0.502 - 0.668 6 5 0.167
0.669 -0.885 6 7 0.167
0.886 - 1.000 6 5 0.167
36 36 0.667

c2 11.070
0.05,5

Tabla 2.9 Cálculos de la estadística de prueba de la Chi-cuadrada para el ejemplo


2.11
67

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

6. Conclusión. No se puede rechazar la hipótesis de uniformidad para el


conjunto de números ri de la muestra ya que el valor de la estadística de
prueba es menor al valor crítico de la prueba, es decir:

c =å
2
m
(Ei - Oi )2 = 0.667 < c 02.05, 5 = 11.70
0
i =1 Ei

2.4.2. Pruebas de independencia

Las pruebas precedentes se usaron para comprobar la uniformidad, ahora se


discutirán algunas para probar la independencia de los números. Antes es de utilidad
definir el concepto de corrida.

Corrida. Sea B una sucesión binaria compuesta por los bits 0 y 1. Una subsucesión
de nj unos, enmarcada por unos en cada extremo, recibe el nombre de unos de
longitud nj; de manera análoga se definen las corridas de ceros. (García, Sierra y
Guzmán, 2005).

La tabla 2.10 muestra un conjunto binario, compuesto por unos y ceros. Si se leen
los números por filas, empezando por la posición (1,1) se encuentra un uno seguido
de un cero, por lo que se dice que esta es una corrida de unos de longitud 1. Si
vemos la posición (2,3) vemos una corrida de 6 ceros, que van desde (2,3) hasta
(3,2) ya que a su derecha se encuentra un uno. En la posición (5,5) inicia una corrida
de dos unos que termina en (5,6).

Este concepto de corrida es muy importante en algunas de las pruebas que se van a
presentar para comprobar la independencia de los números pseudoaleatorios
generados por algún algoritmo.

Ejemplo 2.12

Una vez más tome los datos de la tabla 2.7 para comprobar la independencia de los
números mediante la prueba de corridas ascendentes y descendentes. Considere un
nivel de confianza del 95%.

68
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

1 2 3 4 5 6
1 1 0 1 1 1 0
2 0 1 0 0 0 0
3 0 0 1 0 1 1
4 0 0 0 1 0 0
5 0 1 1 0 1 1

Tabla 2.10 Sucesión binaria compuesta por ceros y unos

2.4.2.1. Corridas ascendentes y descendentes


1. H 0 : los númerosdel conjunto ri son independientes

2. H 0 : los números del conjunto ri no son independientes

3. Nivel de significancia a = 0.05


4. Para esta prueba se tiene que construir una secuencia de números, S, que
sólo contenga unos y ceros de acuerdo al siguiente criterio:
a. Si ri < ri +1 , entonces asignar a ri el símbolo 0.

b. Si ri > ri +1 , entonces asignar a ri el símbolo 1.

Para realizar la prueba se requiere calcular los valores del número de corridas, el
valor esperado de las corridas y la varianza del número de corridas usando las
ecuaciones 2.14 y 2.15, respectivamente, después se calcula la estadística de
prueba mediante la ecuación 2.16. El valor de la estadística de prueba se
contrasta con el valor crítico de la prueba za / 2 para un determinado nivel de
significancia.

Sea c el número de corridas y n el tamaño de la muestra, entonces la media y la


varianza de las corridas están dadas por:

2n - 1
mc = 2.14
3

16n - 29
s c2 = 2.15
90

69

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

La estadística de prueba es

c - mc
z0 = 2.16
sc

5. Cálculo de la estadística de prueba.

Se presenta nuevamente la tabla 2.7 para facilitar la lectura del tema. Primero se
convierten los números pseudoaleatorios en ceros y unos según el criterio
expuesto. La tabla 2.11 muestra dicha conversión.

En este ejemplo, el número esperado de corridas es

2n - 1 2 * 36 - 1
mc = = = 24.667
3 3

Y la varianza de las corridas

16 n - 29 16 * 36 - 29
s c2 = = = 6.077
90 90

Como ya se conoce el número de corridas, c = 27, ahora se puede calcular el


estadístico de prueba, z0.

c - mc 27 - 24.667
z0 = = = 0.946
sc 6.077

El valor crítico de la prueba se determina mediante za / 2 = z0.025 = 1.96. (En la tabla

de distribución normal estándar).

6. Conclusión. Como z0 = 0.946 < z 0.025 = 1.96 no se rechaza la hipótesis de que

los números ri son independientes.

70
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

TABLA CON MUESTRA DE NÚMEROS PSEUDOALEATORIOS


0.844 0.016 0.938 0.609 0.031 0.203
0.125 0.797 0.219 0.391 0.313 0.984
0.406 0.578 0.500 0.172 0.594 0.766
0.688 0.359 0.781 0.953 0.875 0.547
0.969 0.141 0.063 0.734 0.156 0.328
0.250 0.922 0.344 0.516 0.438 0.109

Corridas ascendentes y descendentes


ri 0ó1 Corridas c Comentarios
0.844 No tiene precedente, no se indica 0 ó 1
0.016 0 1 Esta es una corrida de un cero
0.938 1 1 Como es menor a su precedente se anota 0
0.609 0 1
Aquí se tiene una corrida de dos ceros
0.031 0
0.203 1 1
0.125 0 1
0.797 1 1
0.219 0 1
0.391 1 1
0.313 0 1
0.984 1 1
0.406 0 1
0.578 1 1
0.500 0 1
0.172 0
0.594 1 1
0.766 1
0.688 0 1
0.359 0
0.781 1 1
0.953 1
0.875 0 1
0.547 0
0.969 1 1
0.141 0 1
0.063 0
0.734 1 1
0.156 0 1
0.328 1 1
0.250 0 1
0.922 1 1
0.344 0 1
0.516 1 1
0.438 0 1
0.109 0
c= 27 Número total de corridas

Tabla 2.11 Prueba de corridas ascendentes y descendentes para el ejemplo 2.12

71

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

2.4.2.2. Corridas arriba y por abajo de la media

Esta prueba es similar a la anterior, sólo que ahora se formarán las corridas
atendiendo si los números pseudoleatorios están por arriba o por debajo de la media
de la distribución uniforme (0.5).

Ejemplo 2.13

Nuevamente se hace referencia a los datos de la tabla 2.7 para comprobar la


independencia de los números mediante la prueba de corridas arriba y por debajo de
la media. Considere un nivel de confianza del 95%.

1. H 0 : los númerosdel conjunto ri son independientes

2. H 0 : los númerosdel conjunto ri no son independientes


3. Nivel de significancia a = 0.05
4. Para esta prueba se tiene que construir una secuencia de números, S, que
sólo contenga unos y ceros de acuerdo al siguiente criterio:
a. Si ri ≤ 0.5 asignar un símbolo 0.
b. Si ri > 0.5 asignar un símbolo 1.

Una vez que se determina el conjunto S formado por ceros y unos, se determina el
número de ceros, n0, y el número de unos, n1, de forma que n = n0 + n1 y se
identifican las corridas y su número, c. Después se calcula el valor esperado de las
corridas, la varianza del número de corridas y la estadística de prueba z0.

Valor esperado del número de corridas:

2n0 n1 1
mc = + 2.17
n 2

Varianza del número de corridas

2n0 n1 (2n0 n1 - n )
s c2 = 2.18
n 2 (n - 1)

Estadística de prueba

72
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

c - mc
z0 = 2.19
s c2

5. Cálculo de la estadística de prueba. Se presenta nuevamente la tabla 2.7 para


facilitar la lectura del tema. Primero se convierten los números
pseudoaleatorios en ceros y unos según el criterio expuesto. La tabla 2.12
muestra dicha conversión.

TABLA CON MUESTRA DE NÚMEROS PSEUDOALEATORIOS


0.844 0.016 0.938 0.609 0.031 0.203
0.125 0.797 0.219 0.391 0.313 0.984
0.406 0.578 0.500 0.172 0.594 0.766
0.688 0.359 0.781 0.953 0.875 0.547
0.969 0.141 0.063 0.734 0.156 0.328
0.250 0.922 0.344 0.516 0.438 0.109

Corridas arriba y debajo de la media


ri 0ó1 Corridas c Comentarios
0.844 1 1
0.016 0 1
0.938 1 1
0.609 1 Esta es una corrida de dos unos
0.031 0 1
0.203 0
0.125 0
0.797 1 1
0.219 0 1
0.391 0
0.313 0 Esta es una corrida de tres ceros
0.984 1 1
0.406 0 1
0.578 1 1
0.500 0 1
0.172 0
0.594 1 1
0.766 1
0.688 1
0.359 0 1
0.781 1 1
0.953 1
0.875 1
0.547 1
0.969 1
0.141 0 1
0.063 0
0.734 1 1
0.156 0 1
0.328 0
0.250 0
0.922 1 1
0.344 0 1
0.516 1 1
0.438 0 1
0.109 0
c= 20 Número total de corridas

Tabla 2.12 Corridas arriba y debajo de la media para el ejemplo 2.13

73

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

Ahora ya se pueden calcular los valores necesarios para la estadística de prueba. De


la tabla 2.13 se tiene que n0 = 19 y n1 = 17, de forma que su suma es n = 36. El
número de corridas, c = 20. La tabla 2.13 muestra un resumen de los resultados de
esta prueba.

Valor esperado del número de corridas:

2n0 n1 1 2 *19 *17


mc = + = + 0.5 = 18.444
n 2 36

Varianza del número de corridas

2n0 n1 (2n0 n1 - n ) (2 *19 *17)( 2 *19 *17 - 36)


s c2 = = = 8.6874
n 2 (n - 1) 36 2 (36 - 1)

Estadística de prueba

c - mc 20 *18.444
z0 = = = 0.5278
s 2
c 8.6874

n0 19
2n0 n1 1 2n0 n1 (2n0 n1 - n ) c - mc
mc = + s c2 = z0 =
n1 17
n 2 n 2 (n - 1) s c2
n 36
c 20 18.444 8.6874 0.5278
Valor crítico 1.96 CONCLUSIÓN Aceptar

Tabla 2.13 Resultados de la prueba de corridas arriba y debajo de la media para el


ejemplo 2.13

6. Conclusión: No se puede rechazar la hipótesis de independencia de los


números ya que z0 = 0.5278 < z0.025 = 1.96

2.4.2.3. Prueba de series

Esta prueba se utiliza para comprobar el grado de aleatoriedad entre números


sucesivos. (Coss, 1986). Se trata de formar parejas de números que serán
consideradas como coordenadas en un cuadrado unitario dividido en n2 celdas.

74
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

Ejemplo 2.14

Utilizamos una vez más la muestra de 36 números pseudoaleatorios de la tabla 2.7


para probar la independencia de éstos, con un nivel de significancia de 0.05,
mediante la prueba de series.

1. H 0 : los númerosdel conjunto ri son independientes

2. H 0 : los númerosdel conjunto ri no son independientes

3. Nivel de significancia a = 0.05


4. El procedimiento para desarrollar la prueba consiste en generar n números

pseudoaleatorios con los que se forman parejas aleatorias entre ri y ri +1 , de

forma que (r1, ri+1 ), (r1+1 , ri+2 ),L, (rn-1, rn ). Con estas duplas se crea una gráfica de

dispersión dividida en m casillas, siendo m el valor más cercano n.


Posteriormente se realiza la prueba de la chi-cuadrada considerando que la
frecuencia observada, Oi, es el número de puntos que se observó en cada
casilla. La frecuencia esperada, Ei, se determina con n - 1 / m, donde n - 1 es el
número total de los puntos de la gráfica de dispersión.

Después se calcula el estadístico de la prueba con

c =å
2
m
(Ei - Oi )2
0
i =1 Ei

Y se establece el valor de c a2 ,m-1 , para compararse con la estadística de

prueba.

5. La tabla 2.14 muestra los pares de puntos ordenados según el criterio


expuesto en el punto 4. De acuerdo a esto se formaron los pares de puntos
ordenados (0.844,0.016), (0.016,0.938), (0.938,0.609)...(0.516,0.438),
(0.516,0.109).

La figura 2.2 muestra la gráfica de dispersión para estos pares ordenados de


números aleatorios. Se dividió en m = 9 casillas en las que se contabilizó el
75

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

número de puntos que cayeron dentro de cada una de ellas. Esto nos da el
valor de la frecuencia observada, Oi, en este caso, O1 = 3, O2 = 5, O3 = 7, O4 =
2, O5 = 5, O6 = 6, O7 = 1, O8 = 3 y O1 = 3.

La tabla 2.14 muestra la prueba chi-cuadrada. Observe que el valor de la


frecuencia esperada es Ei = 35/9 = 3.9. El valor crítico se determinó con el
valor en tablas para c 02.05,8 = 15.507 el cual servirá para comparar con el del

estadístico de prueba que es c 02 = 7.943 .

TABLA CON MUESTRA DE NÚMEROS PSEUDOALEATORIOS


0.844 0.016 0.938 0.609 0.031 0.203
0.125 0.797 0.219 0.391 0.313 0.984
0.406 0.578 0.500 0.172 0.594 0.766
0.688 0.359 0.781 0.953 0.875 0.547
0.969 0.141 0.063 0.734 0.156 0.328
0.250 0.922 0.344 0.516 0.438 0.109

Formación de las coordenadas


ri ri ri +1
1 0.844 0.844 0.016
2 0.016 0.016 0.938
3 0.938 0.938 0.609
4 0.609 0.609 0.031
5 0.031 0.031 0.203
6 0.203 0.203 0.125
7 0.125 0.125 0.797
8 0.797 0.797 0.219
9 0.219 0.219 0.391
10 0.391 0.391 0.313
11 0.313 0.313 0.984
12 0.984 0.984 0.406
13 0.406 0.406 0.578
14 0.578 0.578 0.500
15 0.500 0.500 0.172
16 0.172 0.172 0.594
17 0.594 0.594 0.766
18 0.766 0.766 0.688
19 0.688 0.688 0.359
20 0.359 0.359 0.781
21 0.781 0.781 0.953
22 0.953 0.953 0.875
23 0.875 0.875 0.547
24 0.547 0.547 0.969
25 0.969 0.969 0.141

Tabla 2.14. Pares de puntos para el ejemplo 2.14 (Parcial).

76
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

Figura 2.2 Gráfica de dispersión

(Ei - Oi )2
Intervalo Ei Oi Ei

1 3.9 3 0.203
2 3.9 5 0.317
3 3.9 7 2.489
4 3.9 2 0.917
5 3.9 5 0.317
6 3.9 6 1.146
7 3.9 1 2.146
8 3.9 3 0.203
9 3.9 3 0.203
c 02 = 7.943
c 02.05,8 = 15.507

Tabla 2.15 Prueba chi-cuadrada para el ejemplo 2.14

6. Conclusión. Como el valor del estadístico de prueba es menor al valor crítico


de la prueba, no se puede rechazar la hipótesis de independencia de los
números de la tabla 2.7.
2.5. Obtención de números pseudoaleatorios utilizando paquetes
computacionales

Después de la lectura de la sección precedente debió haberle quedado claro que


existen muchos algoritmos para generar números aleatorios y la importancia que las
secuencias generadas pasen las pruebas estadísticas de uniformidad e
independencia. L’Ecuyer (1997, 2001) advierte sobre el cuidado que debe tenerse al
77

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

utilizar un generador de números pseudoaleatorios. Dice “Cuando aplicamos


conjuntos de pruebas a los generadores de números aleatorios que actualmente se
encuentran en el software comercial (software estadístico y simulación, hojas de
cálculo, etc.), nos encontramos con que muchos de ellos fallan las pruebas
espectacularmente.” Algunos de los que se tiene que desconfiar son los que a
continuación se listan, Ríos, David; Ríos, Sixto; Martín y Jacinto, (2009)

· La biblioteca de Unix utiliza el generador congruencial

xn +1 = (25214903917 xn + 11) mod 2 48 , un = xn


2 48

· Java utiliza el mismo generador pero usa

( [ ] [ ])
u n = 2 27 x2 n / 2 22 + x2 n+1 + 1 / 2 21 / 2 53

· En el caso de Visual Basic se emplea el generador congruencial siguiente

xn +1 = (1140671485xn + 12820163) mod 2 24 ,

u n = xn
2 24

· Excel 2003 y 2007 emplean el generador de Wichman y Hill

xn+1 = 171xn mod 30269


yn+1 = 172 yn mod 30307
zn+1 = 170 xn mod 30323
u n = (x / 30269 + yn / 30307 + z n / 30323) mod 1

L’Ecuyer tiene razón al afirmar que actualmente existen varios generadores que son
rápidos, portátiles y pasan el conjunto de pruebas estadísticas exitosamente, por lo
que se puede confiar en ellos.

Ríos, et al, (2009), hacen una revisión del software comercial en el que destacan lo
siguiente:

78
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

· Los principales generadores utilizan los lineales congruenciales mixtos y


multiplicativos, así como sus combinaciones.
· Los de mayor calidad son MT19937 y MRG32k3a.
· IMSL implementa generadores multiplicativos de módulo m = 231 – 1 y
multiplicadores a = 16807, 397204094, 950706376. SIMSCRIPT II.5 lo usa
pero con un multiplicador a = 630360016.
· El entorno estadístico S-PLUS implementa el algoritmo Super-Druper de
Marsaglia, basado en un generador multiplicativo y un generador de
Taustworth.
· Los principales lenguajes de simulación incluyen generadores que son estado
del arte.
· Arena, Automod y Witness utilizan el algoritmo MRG32k3a.

En el caso de ProModel, usa un generador congruencial lineal multiplicativo con


módulo primo (PMMLCG, por sus siglas en inglés) con a = 630,360,016, c = 0 y
m=231-1. El cual ha sido probado profusamente y se le reconoce como un generador
de números aleatorios confiable para la simulación, Harrell et al, (2003). El generador
es el siguiente:

( )
zi = (630,360,016 zi -1 ) mod 2 31 - 1

Al obtener una secuencia de números pseudoaleatorios que no sea del todo


confiable habrá que hacer un conjunto de prueba, como las vistas en el apartado
anterior antes de usarla.

En los ejercicios de final de capítulo se le pedirá que realice un conjunto de pruebas


a números pseudoaleatorios obtenidos a partir de diferentes paquetes
computacionales y usted juzgará cuáles son confiables y cuáles no.

2.6. Método Montecarlo

En la primera unidad se discutió acerca de los tipos de simulación y se estableció


que se puede clasificar como estática o dinámica, estocástica o determinística y de
eventos discretos o continua. En esta sección se abordará la simulación Monte Carlo
79

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

que es una simulación estocástica estática, es decir, que no está basada en el


tiempo y basada en sucesos aleatorios.

El origen de la simulación proviene de esta técnica que fue utilizada por J. von
Neumann y otros investigadores a mediados de la década de 1940. Es un proceso
que utiliza en forma aleatoria para elegir valores de la muestra a partir de una
distribución probabilística, luego estos valores muestrales se utilizan como entradas
para el modelo de simulación. Por esta razón la simulación no es estrictamente una
simulación sino un procedimiento o método que se utiliza con modelos probabilísticos
de simulación. (Davis y McKeown, 1986).

La técnica puede emplearse en dos tipos generales de problemas:

· Procesos estocásticos. Como los tiempos de trabajo variables, la demanda


desconocida, las fallas de equipo, la prioridad en la producción, la inversión
total necesaria para la expansión de plantas industriales en condiciones de
incertidumbre, etc.
· Problemas matemáticos determinísticos. Son para problemas que no son
fáciles de resolver, si es que tienen solución, mediante métodos
determinísticos, tal como la evaluación de ciertas integrales.

El procedimiento del método Monte Carlo es el siguiente:

1. Identificación del sistema o área problemática.


2. Establecer una distribución de probabilidad para las variables aleatorias
importantes.
3. Construir una distribución acumulada de probabilidad para cada variable
aleatoria.
4. Establecer un intervalo de números aleatorios para cada variable. Esto se
hace mediante la construcción de una tabla de transformación inversa de la
función acumulada de probabilidad. Ya que la función acumulada está definida
en el intervalo [0, 1], se puede generar un número pseudoaleatorio uniforme
en el intervalo [0, 1] y determinar el valor de la variable aleatoria para la cual
su distribución acumulada es igual al valor del número aleatorio ri.

80
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

5. Generar suficientes números aleatorios.


6. Simular una serie de ensayos.

Ejemplo 2.15

La compañía Tran, S. A., está desarrollando planes para la introducción de un nuevo


producto. Esto generará nuevas necesidades de manejo de materiales y de espacio
de almacén. La demanda de ese producto es incierta, sin embargo, se estima que
tendrá un comportamiento similar a otro producto que ya está en el mercado. Se
tomó la decisión de utilizar los datos históricos del producto existente para realizar el
estudio. Se ha juzgado conveniente utilizar el método Monte Carlo para determinar
sobre qué nivel de demanda realizar los planes.

La tabla 2.16 muestra la demanda histórica del producto existente, la cual abarca un
periodo de 180 días.

a. ¿Cuál es la demanda promedio en la que se basarán los planes?


b. Utilizando un método analítico y no de simulación Monte Carlo ¿Cuál es la
demanda esperada para el nuevo producto? ¿Cómo se compara con la
respuesta en (a)?

Demanda (x) Frecuencia


(Toneladas/día) (número de días)
4 10
5 35
6 40
7 25
8 30
9 25
10 15

Tabla 2.16 Demanda histórica de un producto existente para el ejemplo 2.15.

81

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

Solución

a. Método Montecarlo

Identificación de la variable aleatoria. La variable aleatoria es la demanda, X = 4, 5, 6,


7, 8, 9, 10.

Construcción de la distribución acumulativa de probabilidad para la variable aleatoria.


La tabla 2.17 muestra la demanda, la frecuencia, la probabilidad de la demanda p(X)
y la probabilidad acumulativa, P(X).

Probabilidad
Demanda (x) Frecuencia Probabilidad
acumulativa
(Toneladas/día) (número de días) p(X)*
P(X)
4 10 0.06 0.06
5 35 0.19 0.25
6 40 0.22 0.47
7 25 0.14 0.61
8 30 0.17 0.78
9 25 0.14 0.92
10 15 0.08 1.00

Tabla 2.17. Probabilidades p(X) y P(X) para la demanda del ejemplo 2.15. *Valores
redondeados a centésimos.

Dado que para cualquier distribución de probabilidad acumulada las probabilidades


caen en el intervalos [0, 1], es posible generar una ocurrencia aleatoria
correspondiente a una distribución probabilística específica, seleccionando un
número aleatorio en el intervalo [0, 1], encontrando el intervalo de la distribución
acumulativa dentro del cual cae el número aleatorio e identificando el valor asociado
de la demanda. La tabla 2.18 muestra los intervalos en los que puede caer el número
aleatorio y su demanda asociada.

82
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

Demanda (X)
Intervalo
Ton/día
0 ≤ ri ≤ 0.06 4
0.06 < ri ≤ 0.25 5
0.25 < ri ≤ 0.47 6
0.47 < ri ≤ 0.61 7
0.61 < ri ≤ 0.78 8
0.78 < ri ≤ 0.92 9
92 < ri ≤ 1.00 10

Tabla 2.18. Definición de los intervalos asociados a la demanda diaria.

Generación de los números aleatorios. Los números aleatorios se pueden obtener a


partir de una tabla de números aleatorios o por medio de una calculadora. Estos
números sirven para determinar la demanda simulada. En este ejemplo, utilizaremos
sólo 20 números, aunque no quizás no sean suficientes para ser una muestra
representativa, si servirán para ilustrar el procedimiento de la simulación. La tabla
2.19 muestra los resultados de la ocurrencia de los números aleatorios y su
correspondiente demanda. Por ejemplo, el primer número aleatorios es 0.45,
entonces buscamos en la tabla 2.18 en que intervalo cae. En este caso cae en el
intervalo 0.25 0.25 < ri ≤ 0.47 y la demanda asociada a éste es 6 toneladas/día. El
segundo número es 0.79 que cae en el intervalo 0.78 < ri ≤ 0.92 y así sucesivamente.

ri Xi ri Xi ri Xi ri Xi
0.45 6 0.82 9 0.91 9 0.26 6
0.79 9 0.22 5 0.17 5 0.03 4
0.59 7 0.40 6 0.77 8 0.52 7
0.53 7 0.27 6 0.84 9 0.19 5
0.72 8 0.55 7 0.31 6 0.44 6

Tabla 2.18. Simulación Monte Carlo para el ejemplo 2.15


83

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

La figura 2.3 muestra estos dos valores en la gráfica de distribución acumulativa. Se


observa que, proyectando el valor de r1 = 0.45 intersecta con el valor de 6 toneladas
y para r2 = 0.79 se intersecta con 9 toneladas.

r2 =0.79

r1 =0.45

Demanda, X

Figura 2.3. Muestreo Monte Carlo para los dos primeros números aleatorios del
ejemplo 2.15.

De acuerdo con los resultados del muestreo Monte Carlo, la demanda promedio es la
siguiente:

20

åX i
135
X= i =1
= = 6.75 Ton/día
20 20

Y la desviación estándar es

s X = 1.517 Ton/día

b. Método analítico

En realidad la solución de este problema es mucho más sencilla que mediante la


simulación Monte Carlo. Esto se puede determinar a través del concepto de valor
esperado de la variable aleatoria, como sigue:

84
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

20
E ( X ) = å P( X i )( X i ) = (0.06)(4) + (0.19)(5) + (0.22)(6) + (0.14)(7 ) + (0.17)(8)
i =1

+ (0.14)(8) + (0.14)(9) + (0.08)(10) = 6.91 Ton/día

c. Conclusión. El método Monte Carlo dio una buena aproximación de la


demanda esperada calculada mediante el método analítico. Entre mayor sea
el tamaño de la muestra para el método Monte Carlo más nos aproximaremos
al resultado del método analítico.

Ejemplo 2.16

Utilice los datos del ejemplo 2.15 para aplicar el método Monte Carlo mediante una
hoja de cálculo (Excel), pero ahora con un tamaño de muestra de 50 días.

Solución

En la hoja de cálculo defina los intervalos inferior y superior y asócielos con sus
respectivas demandas como se muestra en la tabla de la figura 2.4.

Figura 2.4 Intervalos superior e inferior asociados a sus respectivas demandas.

La tabla de la figura 2.4 servirá para realizar la simulación Monte Carlo junto con la
función =BUSCARV(ALEATORIO(),$B$4:$D$10,3), en la que estamos generando un
número aleatorio que comparamos con los intervalos inferior y superior de la tabla de
la figura 2.4 y nos devuelve el valor de la demanda.

85

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

Figura 2.5. Tabla donde se muestran los resultados de la simulación Monte Carlo
para el ejemplo 2.16

Los resultados presentados en la figura 2.5 muestran que ahora el promedio es 6.94
Ton/día que se aproxima más al valor esperado calculado mediante el método
analítico, sin embargo, este resultado fue producto del azar ya que cada vez que
efectuamos alguna otra operación el resultado cambiará. Esto también sería posible
hacerlo una secuencia fija de números aleatorios como lo hicimos en el ejemplo 2.15

2.7. Proyecto Final. Segundo avance

Lea la sección 5.2 Segundo avance del proyecto, Obtención de datos y realice las
actividades que se piden en la tabla 5.2.

2.8. Cuestionario de revisión


1. Explique la diferencia entre un número aleatorio y un número
pseudoaleatorio.
2. ¿Qué dispositivos se pueden utilizar para generar números aleatorios?
3. ¿Cuáles son las características estadísticas de los números
pseudoaleatorios?
4. ¿Cuál es el valor esperado de los números aleatorios uniformes? ¿Su
varianza?

86
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

5. ¿Qué aspectos importantes se deben considerar al momento de elegir un


generador de números pseudoaleatorios?
2.9. Problemas
1. Genere cinco números pseudoaleatorios mediante el método de cuadrados
medios si el valor de la semilla es X 0 = 4233.
2. Si se generan cinco números pseudoaletorios mediante el método de
productos medios, con semillas X 0 = 4233 y X 1 = 2707¿Cuál es el valor de

Y3? ¿Cuál es el valor de X4? ¿Cuál es el valor de r5?


3. Genere cinco números pseudoaleatorios mediante el método del
multiplicador constante si X 0 = 4233 y a = 2707
4. Genere los números pseudoaleatorios utilizando el algoritmo congruencial
lineal mixto hasta alcanzar el periodo completo si se tienen los siguientes
parámetros:

Generador a c X0 m
a. 5 7 16 8
b. 41 31 75 16
c. 41 7 145 32

5. Genere los números pseudoaleatorios utilizando el algoritmo congruencial


lineal multiplicativo hasta alcanzar el periodo máximo si se tienen los
siguientes parámetros:

Generador a c X0 m
a. 5 0 16 8
b. 43 0 75 16
c. 43 0 145 32

87

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

6. Genere 8 números pseudoaleatorios mediante el algoritmo congruencial


lineal aditivo si se tienen los siguientes números aleatorios enteros
x1 = 96, x2 = 14, x3 = 25, x4 = 93, x5 = 54
7. Genere los números pseudoaleatorios utilizando el algoritmo congruencial
cuadrático hasta alcanzar el periodo completo si se tienen los siguientes
parámetros:

Generador A b c X0 m
a. 6 15 13 195 32
b. 16 33 23 1233 16
c. 6 15 9 87 8

8. Prepare una hoja de cálculo en Excel para generar números


pseudoaleatorios usando el algoritmo congruencial lineal mixto en el que
se obtenga un ciclo completo P = m = 128 con los siguientes parámetros:
X 0 = 376, a = 65, c = 17 y m = 128.
9. Prepare una hoja de cálculo en Excel para generar números
pseudoaleatorios usando el algoritmo congruencial lineal multiplicativo en
el que se obtenga un ciclo máximo P = m/4 = 32 con los siguientes
parámetros: X 0 = 145, a = 19, y m = 128.
10. Tome los primeros 36 números generados en la hoja de cálculo del
ejercicio 8 y realice las siguientes pruebas (todas para un nivel de
confianza del 95%)
a. Prueba de la media
b. Prueba de la varianza
c. Prueba de bondad de ajuste para la distribución uniforme mediante
la chi-cuadrada.
d. Prueba de corridas ascendentes y descendentes.
e. Después de realizadas las cuatro pruebas, ¿se puede afirmar que
estos números son confiables para usarse en una simulación?

88
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

11. Tome 10 números (del 40 al 49) del ejercicio 8 y realice la prueba de


Kolgomorov-Smirnov para un nivel de confianza del 90%. ¿Se puede
rechazar la hipótesis de uniformidad? Explique.
12. Tome los 32 números generados en el ejercicio 9 y realice las siguientes
pruebas para un nivel de confianza de 95%.
a. Prueba de la media
b. Prueba de la varianza
c. Prueba de bondad de ajuste para la distribución uniforme mediante
la chi-cuadrada.
d. Prueba de corridas por arriba y por debajo de la media.
e. La prueba de series.
f. Después de realizadas las cinco pruebas, ¿se puede afirmar que
estos números son confiables para usarse en una simulación?
13. El taller de mantenimiento de la compañía Tran, S. A., recopiló los
siguientes datos acerca del número de solicitudes de servicios de
mantenimiento, por día de trabajo, durante un periodo de 60 días.

Número de solicitudes Frecuencia


0 3
1 4
2 7
3 11
4 12
5 10
6 5
7 5
8 3

Utilice el método Monte Carlo para simular 20 días de trabajo de ese taller.
Para la simulación use los primeros 20 números pseudoaleatorios que generó
en el ejercicio 9.
89

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

a. En promedio, ¿cuántas solicitudes de servicio se recibirán en un día


dado?
b. ¿Cuál es el valor esperado de solicitudes en un determinado día si
se usa el método analítico?
14. El jefe de mantenimiento del taller de Tran, S. A., recolectó datos sobre los
tiempos de servicio que se llevan las reparaciones de las máquinas. Desea
hacer una simulación para saber el tiempo promedio que lleva la
reparación de las máquinas.

Tiempo de servicio
Frecuencia
(min)
30 18
40 16
50 15
60 13
70 11
80 10
90 10
100 9
110 6
120 3

a. Utilice el método Monte Carlo para determinar el tiempo promedio


de las reparaciones. Use los últimos 30 números del ejercicio 8.
b. ¿Cuál es el valor esperado de los tiempos de servicio si se usa el
método analítico?
15. Prepare una hoja de cálculo para simular el lanzamiento de un dado legal,
mediante el método Monte Carlo, utilice todos los números generados en
el ejercicio 8.

90
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

2.10. Competencias específicas de la unidad 2.

Esta sección tiene como propósito que usted desarrolle las actividades que se
sugieren para que adquiera las competencias específicas que se incluyen en el
programa de estudios. Es importante que las realice todas ya que cada una de ellas
tiene una cierta ponderación en la evaluación de la unidad. En esta unidad se
incluyen cuatro competencias específicas que son:

· Conocer la diferencia entre números aleatorios y pseudo-aleatorios.


· Generar, a través de varias técnicas matemáticas, números pseudoaleatorios.
· Realizar las pruebas estadísticas de aleatoriedad y establecer las
conclusiones correspondientes para los números pseudo-aleatorios
generados.
· Explicar, con base en las pruebas estadísticas, por qué algunos métodos o
parámetros para la generación de números pseudoaleatorios no son
confiables.

Al igual que en la unidad 1, en esta unidad se proponen una serie de actividades


tendientes a que usted adquiera las competencias deseables en lo concerniente a la
problemática de los números aleatorios y pseudoaleatorios, su generación y pruebas
de aleatoriedad. Las tablas 2.19 a 2.22 corresponden a las cuatro competencias
marcadas en este capítulo. Se le reitera la importancia de realizar todas las
actividades marcadas en cada tabla y elaborar el reporte que se pide.

Competencia a 1. Conocer la diferencia entre números aleatorios y


desarrollar pseudoaleatorios.

Actividades 1.1. Visite el sitio http://www.random.org/. ¿Qué argumentos


dan sobre la diferencia entre los verdaderos números
aleatorios y los números pseudoaleatorios?
1.2. Acceda al apartado Numbers. ¿Qué se utiliza para
generar los números aleatorios verdaderos?
1.3. Genere 100 números aleatorios verdaderos por medio

91

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

de este generador, entre 0 y 100 en cuatro columnas.


Imprima la tabla.
1.4. Aceda al generador de fracciones decimales aleatorias
e imprima un conjunto de 100 números de cuatro
decimales en cinco columnas.
1.5. Acceda al apartado “Introduction to Randomness and
Random Numbers” y haga un resumen de esta lectura.
1.6. Conteste las preguntas 1 a 5 del final del capítulo.
1.7. Presentar el reporte de la investigación documental
atendiendo a las instrucciones que se dan para tal fin.

Instrucciones
· El reporte de investigación guardará la siguiente estructura:
o Portada. Que incluya el nombre de la Institución,
nombre del Departamento Académico, nombre de la
Asignatura correspondiente, Unidad a la que
pertenece la actividad, nombre de la Actividad:
Números aleatorios y pseudoaleatorios, Título del
reporte: Diferencia entre números aleatorios y
números pseudoaleatorios, nombre del profesor,
nombre y número de control de quien lo presenta,
lugar y fecha de presentación.
o Índice. Realizar su índice con el contenido y
paginación del mismo de la siguiente forma: a partir
de los elementos que componen la investigación
documental comienza la numeración y es arábiga,
las páginas anteriores a esto, se enumeran con
romanos minúsculas.
o Introducción. Describir brevemente el tema que se
abordará.
o Contenido. En el que desarrollará, con el apoyo de
las actividades realizadas, un documento que trate

92
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

sobre las áreas generales de aplicación de la


simulación y, dentro de éstas, cuáles han sido las
aplicaciones específicas de la simulación. Cuide
que dentro del mismo texto se hagan las referencias
bibliográficas pertinentes de los autores
consultados que se toman como fuentes de la
investigación documental
o Conclusiones: Mediante el análisis de la información
obtenida escriba las conclusiones personales sobre
el tema de la investigación documental.
o Bibliografía: que deberá contener en orden
alfabético los datos de apellido de autor o autores;
nombre del artículo, destacado en negritas o letra
itálica o subrayado; año de la publicación; editorial;
país donde se editó.
· Presentación
o El tamaño de letra es 12, el tipo de la fuente de la
misma Arial o Times New Roman, con interlineado
de 1.5, texto justificado, sin sangrías y con
márgenes de 2.5 en toda la página, excepto el
margen izquierdo que será de 3.
o La extensión del contenido del reporte tendrá como
mínimo diez cuartillas sin considerar portada, índice
y bibliografía. Como máximo podrá tener diez
cuartillas.

Productos a Reporte de investigación documental:


Entregar Diferencia entre números aleatorios y números
pseudoaleatorios.
Evaluación 1. Entrega oportuna del reporte de la Investigación
Documental solicitada.

93

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

2. Definición clara del propósito de la Investigación


Documental.
3. Descripción organizada y detallada de la ejecución del
trabajo.
4. Presentación de los hallazgos del ejercicio y reflexión
personal sobre la actividad de aprendizaje realizada.
5. Incluir apropiadamente datos bibliográficos. Reportar todas
las fuentes correctamente (APA).
6. Ortografía: sin errores. Redacción: ideas claras, lógicas y
ordenadas.

Tabla 2.19 Competencia: Conocer la diferencia entre números aleatorios y


pseudoaleatorios.

Competencia a 2. Generar, a través de varias técnicas matemáticas, números


desarrollar pseudoaleatorios.

Actividades 2.1. Resuelva los problemas 1 a 9 del final del capítulo 2.


2.2. Presentar el reporte de la solución de los nueve
problemas atendiendo a las instrucciones que se dan
para tal fin.

Instrucciones
· El reporte de investigación guardará la siguiente estructura:
o Portada. Que incluya el nombre de la Institución,
nombre del Departamento Académico, nombre de la
Asignatura correspondiente, Unidad a la que
pertenece la actividad, nombre de la Actividad:
Números aleatorios y pseudoaleatorios, Título del
reporte: Generación de números pseudoaleatorios,
nombre del profesor, nombre y número de control de
quien lo presenta, lugar y fecha de presentación.

94
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

o Índice. Realizar su índice con el contenido y


paginación del mismo de la siguiente forma: a partir
de los elementos que componen la investigación
documental comienza la numeración y es arábiga,
las páginas anteriores a esto, se enumeran con
romanos minúsculas.
o Introducción. Describir brevemente el tema que se
abordará.
o Contenido. Solución de los problemas 1.1 a 1.9,
desarrollándolos de acuerdo a los procedimientos
marcados.
o Conclusiones: incluya las conclusiones personales
acerca de esta actividad.
o Bibliografía: que deberá contener en orden
alfabético los datos de apellido de autor o autores;
nombre del artículo, destacado en negritas o letra
itálica o subrayado; año de la publicación; editorial;
país donde se editó.
· Presentación
o El tamaño de letra es 12, el tipo de la fuente de la
misma Arial o Times New Roman, con interlineado
de 1.5, texto justificado, sin sangrías y con
márgenes de 2.5 en toda la página, excepto el
margen izquierdo que será de 3.
o La extensión del trabajo no tiene límite, sólo debe
considerar que se deben entregar todos los
problemas propuestos.

Productos a Reporte resolución de problemas


Entregar Generación de números pseudoaleatorios
Evaluación 1. Entrega oportuna del reporte de la solución de los

95

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

problemas 1.1 a 1.9.


2. Definición clara del propósito de la solución de los
problemas.
3. Descripción organizada y detallada de la ejecución del
trabajo.
4. Presentación de los hallazgos del ejercicio y reflexión
personal sobre la actividad de aprendizaje realizada.
5. Incluir apropiadamente datos bibliográficos. Reportar todas
las fuentes correctamente (APA).
6. Ortografía: sin errores. Redacción: ideas claras, lógicas y
ordenadas.

Tabla 2.20 Actividades concernientes a la competencia: Generar, a través de varias


técnicas matemáticas, números pseudoaleatorios.

Competencia a 3. Realizar las pruebas estadísticas de aleatoriedad y


desarrollar establecer las conclusiones correspondientes para los
números pseudoaleatorios generados.

Actividades 3.1. Resuelva los problemas 10 a 15 del final del capítulo 2.


3.2. Utilice las tablas obtenidas en el sitio
http://www.random.org/, de las actividades de la
competencia 1 de la unidad. En el caso de los números
enteros, conviértalos a decimales en el intervalo [0, 1]
dividiéndolos entre 100. Para las dos series, realice las
pruebas de uniformidad e independencia y saque
conclusiones.
3.3. Presentar el reporte de la solución de los seis
problema (10 a 15) y los de la actividad 3.2, atendiendo
a las instrucciones que se dan para tal fin.

96
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

Instrucciones
· El reporte de investigación guardará la siguiente estructura:
o Portada. Que incluya el nombre de la Institución,
nombre del Departamento Académico, nombre de la
Asignatura correspondiente, Unidad a la que
pertenece la actividad, nombre de la Actividad:
Números aleatorios y pseudoaleatorios, Título del
reporte: Pruebas de aleatoriedad de los números
aleatorios y pseudoaleatorios, nombre del profesor,
nombre y número de control de quien lo presenta,
lugar y fecha de presentación.
o Índice. Realizar su índice con el contenido y
paginación del mismo de la siguiente forma: a partir
de los elementos que componen la investigación
documental comienza la numeración y es arábiga,
las páginas anteriores a esto, se enumeran con
romanos minúsculas.
o Introducción. Describir brevemente el tema que se
abordará.
o Contenido. Solución detallada de los problemas 10 a
15 y los propuestos en la actividad 3.2 de esta
competencia.
o Conclusiones: Después de la resolución de los
problemas, haga una reflexión sobre las actividades
e incluya las conclusiones que éstas le dejaron en
su aprendizaje.
o Bibliografía: que deberá contener en orden
alfabético los datos de apellido de autor o autores;
nombre del artículo, destacado en negritas o letra
itálica o subrayado; año de la publicación; editorial;
país donde se editó.

97

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

· Presentación
o El tamaño de letra es 12, el tipo de la fuente de la
misma Arial o Times New Roman, con interlineado
de 1.5, texto justificado, sin sangrías y con
márgenes de 2.5 en toda la página, excepto el
margen izquierdo que será de 3.
o La extensión del contenido del reporte tendrá como
mínimo diez cuartillas sin considerar portada, índice
y bibliografía. Como máximo podrá tener diez
cuartillas.

Productos a Reporte resolución de problemas


Entregar Pruebas de aleatoriedad de los números aleatorios y
pseudoaleatorios
Evaluación 1. Entrega oportuna del reporte de la Investigación
Documental solicitada.
2. Definición clara del propósito de la solución de los
problemas.
3. Descripción organizada y detallada de la ejecución del
trabajo.
4. Presentación de los hallazgos del ejercicio y reflexión
personal sobre la actividad de aprendizaje realizada.
5. Incluir apropiadamente datos bibliográficos. Reportar todas
las fuentes correctamente (APA).
6. Ortografía: sin errores. Redacción: ideas claras, lógicas y
ordenadas.

Tabla 2.21 Competencia: 3. Realizar las pruebas estadísticas de aleatoriedad y


establecer las conclusiones correspondientes para los números pseudoaleatorios
generados.

98
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

Competencia a 4. Explicar, con base en las pruebas estadísticas, por qué


desarrollar algunos métodos o parámetros para la generación de
números pseudoaleatorios no son confiables.

Actividades 4.1. Ya realizó una serie de problemas para generar


números aleatorios, cambie los valores de los
parámetros y vea los resultados. Reflexione sobre los
periodos completos y periodos máximos obtenidos.
Ahora utilice el algoritmo que usa ProModel para
generar 200 números pseudoaleatorios. Vea los
resultados. Ahora cambie el valor de los parámetros y
observe los resultados.
4.2. En una secuencia de 36 números generados por el
algoritmo usado por ProModel realice las pruebas de
aleatoriedad, reflexione sobre los resultados.
4.3. Revise el documento “A review of pseudorandom
number generators” F. James (2000) en el sitio

http://lammps.sandia.gov/threads/pdfFowF57Qu9A.pdf ahí
se mencionan algunos generadores con mala reputación,
reflexione sobre esto.

4.4. Presentar el reporte de las reflexiones hechas durante


esta actividad.

Instrucciones
· El reporte de investigación guardará la siguiente estructura:
o Portada. Que incluya el nombre de la Institución,
nombre del Departamento Académico, nombre de la
Asignatura correspondiente, Unidad a la que
pertenece la actividad, nombre de la Actividad:
Números aleatorios y pseudoaleatorios, Título del
reporte: Números pseudoaleatorios no confiables,
nombre del profesor, nombre y número de control de

99

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

quien lo presenta, lugar y fecha de presentación.


o Índice. Realizar su índice con el contenido y
paginación del mismo de la siguiente forma: a partir
de los elementos que componen la investigación
documental comienza la numeración y es arábiga,
las páginas anteriores a esto, se enumeran con
romanos minúsculas.
o Introducción. Describir brevemente el tema que se
abordará.
o Contenido. En el que desarrollará, con el apoyo de
las actividades realizadas, un documento que trate
sobre las áreas generales de aplicación de la
simulación y, dentro de éstas, cuáles han sido las
aplicaciones específicas de la simulación. Cuide
que dentro del mismo texto se hagan las referencias
bibliográficas pertinentes de los autores
consultados que se toman como fuentes de la
investigación documental
o Conclusiones: Mediante el análisis de la información
obtenida escriba las conclusiones personales sobre
el tema de la investigación documental.
o Bibliografía: que deberá contener en orden
alfabético los datos de apellido de autor o autores;
nombre del artículo, destacado en negritas o letra
itálica o subrayado; año de la publicación; editorial;
país donde se editó.
· Presentación
o El tamaño de letra es 12, el tipo de la fuente de la
misma Arial o Times New Roman, con interlineado
de 1.5, texto justificado, sin sangrías y con
márgenes de 2.5 en toda la página, excepto el

100
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

margen izquierdo que será de 3.


o La extensión del contenido del reporte tendrá como
mínimo diez cuartillas sin considerar portada, índice
y bibliografía. Como máximo podrá tener diez
cuartillas.

Productos a Reporte resolución de problemas


Entregar Números aleatorios no confiables
Evaluación 1. Entrega oportuna del reporte de la Investigación
Documental solicitada.
2. Definición clara del propósito de la solución de los
problemas.
3. Descripción organizada y detallada de la ejecución del
trabajo.
4. Presentación de los hallazgos del ejercicio y reflexión
personal sobre la actividad de aprendizaje realizada.
5. Incluir apropiadamente datos bibliográficos. Reportar todas
las fuentes correctamente (APA).
6. Ortografía: sin errores. Redacción: ideas claras, lógicas y
ordenadas.

Tabla 2.22 Competencia: Explicar, con base en las pruebas estadísticas, por qué
algunos métodos o parámetros para la generación de números pseudoaleatorios no
son confiables.

101

Instituto Tecnológico de Aguascalientes Ingeniería Industrial


Generación de números aleatorios

2.11. Bibliografía y Referencias

Azarang Esfandiari M. R, García Dunna, E. y González Osuna, M. (1996). Simulación


y Análisis de Modelos Estocásticos, Primera edición, México, McGraw Hill
Interamericana Editores, S. A. de C. V.

Banks, J., Carson II, J., Nelson, B. y Nicol, D. (2005) Discrete-Event System
Simulation, 4th Edition, USA, Prentice Hall, Inc.

Banks, J., Carson II, J. y Nelson, B. (1996). Discrete-Event System Simulation,


Second Edition, USA, Prentice Hall, Inc.

Banks, Jerry. (1998). Handbook of Simulation: Principles, Methodology, Advances,


and Practice, First Edition, USA, John Wiley & Sons Inc.

Coss Bú, R. (1986) Simulación: Un enfoque práctico, Primera edición, segunda


reimpresión, México, Editorial Limusa.

Davis, Roscoe y Mckeown, Patrick. (1986). Modelos Cuantitativos para


Administración, Primera edición, México, Grupo Editorial Iberoamérica.

Dutang, C. y Wuertz, D. (2009). A Note on Random Number Generation recuperado


de http://cran.univ-lyon1.fr/web/packages/randtoolbox/vignettes/fullpres.pdf

García Dunna, E., García Reyes, H y Cárdenas Barrón, L. (2006). Simulación y


Análisis de Sistemas con ProModel, Primera edición, México, Pearson Educación.

García Mora, F., Sierra Acosta, J. y Guzmán Ibarra, V. (2005). Simulación de


sistemas para Administración e Ingeniería, Primera edición, México, CECSA.

Harrell, C., Ghosh, B. y Bowden Jr., R. (2003). Simulation using ProModel, Second
Edition, Singapore, MCGraw Hill Higher Education

L'Ecuyer, P. (2001), Random Number Generation, recuperado de


http://www.iro.umontreal.ca/~lecuyer/myftp/papers/handstat.pdf

102
M. C. Sergio Humberto Romo Picazo
SIMULACIÓN: con enfoque de competencias

L'Ecuyer, P. (1998). Random Number Generation, Capítulo 3, en Handbook of


Simulation, Editor Jerry Banks, primera edición.

Render, Barry y Heizer, Jay. (1995), Principios de Administración de Operaciones,


Primera edición, México, Prentice Hall Hispanoamericana.

Ríos Insúa, D., Ríos Insúa, S., Martín Jiménez, J., y Jiménez Martín, A. (2009),
Simulación: Métodos y Aplicaciones, Segunda edición, México, Alfaomega Grupo
Editor, S. A. de C. V.

Schmidt, J. W y Taylor, R. E. (1979), Análisis y simulación de sistemas industriales,


Primera edición, México, Editorial Trillas.

Shannon, R. (1997), Simulación de Sistemas: Diseño, Desarrollo e Implantación,


Primera edición, México, Trillas.

103

Instituto Tecnológico de Aguascalientes Ingeniería Industrial

También podría gustarte