ALGORITMOS PSEUDOALEATORIOS

12
  UN SISTEMA GENERADOR DE NÚMEROS PSEUDO ALEATORIOS Guillermo Becerra Córdova 1 1  Universidad Autónoma Chapingo, D pto. de Preparatoria Agrícola, Área de Física. E-mail: [email protected] México  Ab st rac t  The simulation is a numeric technique to carry out experiments in a computer. These experiments involve certain types of mathematical and logical models that describe systems of business, economic, social, biological, physical or chemical through long periods of time. To be able to carry out a simulation that includes variability inside their events, it is necessary to generate a series of numbers that they are aleatory for themselves, and that their randomness is extrapolated to the simulation pattern that is building. The aleatory numbers constitute the main part of the simulation of stochastic processes and they are generally used to generate the behavior of aleatory variables, so much continuous as discreet. Because it is not possible to generate really aleatory numbers, we consider them as pseudo aleatory numbers, generated by means of algorithms deterministics that require outburst parameters. In this work a system is presented that generates pseudo aleatory numbers by means of different algorithms. The algorithms that are used in the system are the congruential and the non congruential. To verify that they are really independent and uniform the generated numbers, the system has routines that make possible to subject them to a series of tests. If the pseudo aleatory numbers overcome the tests, they will be been able to use in some simulation; otherwise they won't be considered. To use the numbers that have been generated and they have been accepted, the system has an option to export them to some calculation leaf. Keywords. Simulation, pseudo aleatory numbers, stochastic processes, continuous and discreet variables. Resumen La simulación es una técnica numérica para realizar experimentos en una computadora. Estos experimentos involucran ciertos tipos de modelos matemáticos y lógicos que describen sistemas de negocios, económicos, sociales, biológicos, físicos o químicos a través de largos períodos de tiempo. Para poder realizar una simulación que incluya variabilidad dentro de sus eventos, es preciso generar una serie de números que sean aleatorios por sí mismos, y que su aleatoriedad se extrapole al modelo de simulación que se está construyendo. Los números aleatorios constituyen la parte principal de la simulación de procesos estocásticos y generalmente se usan para generar el comportamiento de variables aleatorias, tanto continuas como discretas. Debido a que no es posible generar números realmente aleatorios, los consideramos como números pseudo aleatorios, generados por medio de algoritmos determinísticos que requieren parámetros de arranque. En este trabajo se presenta un sistema que genera números pseudo aleatorios por medio de diferentes algoritmos. Los algoritmos que se utilizan en el sistema son los congruenciales y los no congruenciales. Para verificar que realmente son independientes y uniformes los números generados, el sistema tiene rutinas que hacen posible someterlos a una serie de pruebas. Si los números pseudo aleatorios superan las pruebas, podrán utilizarse en alguna simulación; de lo contrario no se deberán considerar. Para utilizar los números que se han generado y han sido aceptados, el sistema tiene una opción para exportarlos a alguna hoja de cálculo. Palabras Clave. Simulación, números pseudo aleatorios, procesos estocásticos, variables continuas y discretas.

Transcript of ALGORITMOS PSEUDOALEATORIOS

5/8/2018 ALGORITMOS PSEUDOALEATORIOS - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-pseudoaleatorios-559abe6daaa55 1/12

 

 

UN SISTEMA GENERADOR DE NÚMEROS PSEUDO ALEATORIOSGuillermo Becerra Córdova1

1 Universidad Autónoma Chapingo, Dpto. de Preparatoria Agrícola, Área de Física.

E-mail: [email protected]

México

Abstract 

The simulation is a numeric technique to carry out experiments in a computer. These experiments involve certain types of mathematical and logical models that describe systems of business,economic, social, biological, physical or chemical through long periods of time. To be able to carry out a simulation that includes variability inside their events, it is necessary to generate a series of numbers that they are aleatory for themselves, and that their randomness is extrapolated to the simulation pattern that is building. The aleatory numbers constitute the main part of the simulation of stochastic processes and they are generally used to generate the behavior of aleatory variables, so much continuous as discreet. Because it is not possible to generate really aleatory numbers, we consider them as pseudo aleatory numbers, generated by means of algorithms deterministics that require outburst parameters. In this work a system is presented that generates pseudo aleatory numbers by means of different algorithms. The algorithms that are used in the system are the congruential and the non congruential. To verify that they are really independent and uniform the generated numbers, the system has routines that make possible to subject them to a series of tests.If the pseudo aleatory numbers overcome the tests, they will be been able to use in some simulation; otherwise they won't be considered. To use the numbers that have been generated and they have been accepted, the system has an option to export them to some calculation leaf.

Keywords. Simulation, pseudo aleatory numbers, stochastic processes, continuous and discreetvariables. 

Resumen La simulación es una técnica numérica para realizar experimentos en una computadora. Estos experimentos involucran ciertos tipos de modelos matemáticos y lógicos que describen sistemas de negocios, económicos, sociales, biológicos, físicos o químicos a través de largos períodos de tiempo. Para poder realizar una simulación que incluya variabilidad dentro de sus eventos, es preciso generar una serie de números que sean aleatorios por sí mismos, y que su aleatoriedad se extrapole al modelo de simulación que se está construyendo. Los números aleatorios constituyen la parte principal de la simulación de procesos estocásticos y generalmente se usan para generar el comportamiento de variables aleatorias, tanto continuas como discretas. Debido a que no es posible generar números realmente aleatorios, los consideramos como números pseudo aleatorios,generados por medio de algoritmos determinísticos que requieren parámetros de arranque. En este 

trabajo se presenta un sistema que genera números pseudo aleatorios por medio de diferentes algoritmos. Los algoritmos que se utilizan en el sistema son los congruenciales y los no congruenciales. Para verificar que realmente son independientes y uniformes los números generados, el sistema tiene rutinas que hacen posible someterlos a una serie de pruebas. Si los números pseudo aleatorios superan las pruebas, podrán utilizarse en alguna simulación; de lo contrario no se deberán considerar. Para utilizar los números que se han generado y han sido aceptados, el sistema tiene una opción para exportarlos a alguna hoja de cálculo.

Palabras Clave. Simulación, números pseudo aleatorios, procesos estocásticos, variables continuasy discretas.

5/8/2018 ALGORITMOS PSEUDOALEATORIOS - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-pseudoaleatorios-559abe6daaa55 2/12

 

 

2

IntroducciónPara poder realizar una simulación que incluya variabilidad dentro de sus eventos, es precisogenerar una serie de números que sean aleatorios por sí mismos, y que su aleatoriedad seextrapole al modelo de simulación que se está construyendo. En la construcción de un modelo

de simulación, los números aleatorios juegan un papel importante.Así, una de la primeras tareas que es necesario llevar a cabo consiste en determinar si losnúmeros que utilizaremos para ejecutar la simulación son realmente aleatorios o no; precisar loanterior con absoluta certidumbre resulta muy complicado, ya que para ello se tendría quegenerar un número infinito de valores que nos permitiera comprobar la inexistencia decorrelaciones entre ellos. Esto sería muy costoso y tardado, volviendo impráctico el uso de lasimulación aun con las computadoras más avanzadas.

A pesar de lo anterior, podemos asegurar con altos niveles de confiabilidad que el conjunto denúmeros que utilizaremos en una simulación se comportan de manera muy similar a unconjunto de números totalmente aleatorios; por ello es que se les denomina números pseudoaleatorios. Casi todas las aplicaciones comerciales tienen varios generadores de números

pseudo aleatorios que pueden generar un conjunto de números sin mostrar correlación entreellos. En el presente trabajo discutiremos algunos de los métodos de generación de númerospseudo aleatorios y las características que deben tener para emplearlos como una fuenteconfiable de variabilidad dentro de los modelos. Asimismo, se mostrarán algunas de laspruebas más comunes para comprobar qué tan aleatorios son los números obtenidos condichos generadores.

Para realizar una simulación se requieren números pseudo aleatorios en el intervalo )1,0( , es

decir, una secuencia de números },...,,{ 321 ni r r r r r  = que contenga n números, todos ellos

diferentes; n recibe el nombre de período o ciclo de vida del generador que creó la secuencia.

Los números pseudo aleatorios constituyen la parte medular de la simulación de procesosestocásticos y generalmente se usan para generar el comportamiento de variables aleatorias,

tanto continuas como discretas. Debido a que no es posible generar números realmentealeatorios, los consideramos como pseudo aleatorios, generados por medio de algoritmosdeterminísticos que requieren parámetros de arranque.

Dada la importancia de contar con un conjunto de números pseudo aleatorios suficientementegrande, en este trabajo se presentan diferentes algoritmos determinísticos para obtenerlos. Por otra parte, es conveniente señalar que el conjunto de número pseudo aleatorios debe ser sometido a una variedad de pruebas para verificar si son realmente independientes yuniformes. Si las pruebas son superadas, podrán utilizarse en la simulación; de lo contrario,simplemente debemos desecharlos.

Generar un conjunto de números pseudo aleatorios es una tarea relativamente sencilla, sólo esnecesario diseñar un algoritmo de generación. Lo que resulta difícil es diseñar un algoritmo que

genere un conjunto de números pseudo aleatorios con período de vida suficientemente grandey además pase sin problemas las pruebas de uniformidad e independencia, lo cual implicaevitar problemas como éstos:

• Que los números pseudo aleatorios no estén uniformemente distribuidos, es decir, quehaya demasiados números en un subintervalo y en otro muy pocos o ninguno.

• Que los números pseudo aleatorios generados sean discretos en lugar de continuos.

5/8/2018 ALGORITMOS PSEUDOALEATORIOS - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-pseudoaleatorios-559abe6daaa55 3/12

 

 

3

• Que la media del conjunto sea muy alta o muy baja, es decir, que esté por arriba o por debajo de ½.

• Que la varianza del conjunto sea muy alta o muy baja, es decir, que se localice por arriba o por debajo del 1/12.

Materiales y MétodosA continuación se presentan diferentes algoritmos determinísticos para generar númerospseudo aleatorios, los cuales se clasifican en congruenciales y no congruenciales.

Algoritmos no congruenciales 

Los algoritmos no congruenciales que se incluyen en este proyecto son cuadrados medios,productos medios y multiplicador constante.

Algoritmo de cuadrados medios

Este algoritmo no congruencial fue propuesto en la década de los cuarenta del siglo XX por Von Neumann y Metropolis. Requiere un número entero detonador con  D dígitos, el cual eselevado al cuadrado para seleccionar del resultado los  D dígitos del centro; el primer númerose determina simplemente anteponiendo el “0.” a esos dígitos. Para obtener el segundo númerose sigue el mismo procedimiento, solo que ahora se eleva al cuadrado los  D dígitos del centroque se seleccionaron para obtener el primer número.

Este método se repite hasta obtener n números. A continuación se presentan con más detallelos pasos para generar números con el algoritmo de cuadrados medios.

1. Seleccionar la semilla )(0 X  con  D dígitos )3( > D .

2. Sea 0Y  = resultado de elevar  0 X  al cuadrado; sea 1 X  = los  D dígitos del centro y sea Dr  .01 = dígitos del centro.

3. Sea iY  = resultado de elevar  i X  al cuadrado; sea1+i

 X  = los  D dígitos del centro y sea

 Dr i .01 =+dígitos del centro para toda ni ,...,3,2,1= .

4. Repetir el paso 3 hasta obtener los n números ir  deseados.

El algoritmo de cuadrados medios generalmente es incapaz de generar una secuencia denúmeros con período de vida n grande. Además, en ocasiones solo es capaz de generar unsolo número.

Algoritmo de productos medios

La mecánica de generación de números pseudo aleatorios de este algoritmo no congruenciales similar a la del algoritmo de cuadrados medios. La diferencia entre ambos radica en que elalgoritmo de productos medios requiere dos semillas, ambas con  D dígitos; además, en lugar de elevarlas al cuadrado, las semillas se multiplican y del producto se seleccionan los  D  dígitos del centro, los cuales formarán el primer número pseudo aleatorio  Dr i .0= . Después se

elimina una semilla y la otra se multiplica por el primer número de  D dígitos, para luego

5/8/2018 ALGORITMOS PSEUDOALEATORIOS - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-pseudoaleatorios-559abe6daaa55 4/12

 

 

4

seleccionar del producto los  D dígitos que conformarán un segundo número ir  . Entonces se

elimina la segunda semilla y se multiplican el primer número de  D dígitos por el segundonúmero de  D dígitos; del producto se obtiene el tercer número ir  . Siempre se irá eliminando el

número más antiguo, y el procedimiento se repetirá hasta generar los n números pseudoaleatorios. A continuación se presentan con más detalle los pasos del método para generar 

números con el algoritmo de productos medios.

1. Seleccionar una semilla )(0

 X  con  D dígitos.

2. Seleccionar una semilla )( 1 X  con  D dígitos.

3. Sea 100* X  X Y  = ; sea 2 X  = los  D dígitos del centro y sea  Dr  .01 = dígitos del centro.

4. Sea1+

= iii X  X Y  : sea2+i X  = los  D dígitos del centro y sea  Dr i .0

1=

+dígitos del

centro para toda ni ,...,3,2,1= .

5. Repetir el paso 4 hasta obtener los n números ir  deseados.

Algoritmo de multiplicador constante

Este algoritmo no congruencial es similar al algoritmo de productos medios. Los siguientes sonlos pasos necesarios para generar números pseudo aleatorios con el algoritmo de multiplicador constante.

1. Selecciona una semilla )(0 X  con  D dígitos )3( > D .

2. Seleccionar una constante )(a con  D dígitos )3( > D .

3. Sea 00 * X aY  = ; sea 1 X  = los  D dígitos del centro y sea  Dr  .01 = dígitos del centro.

4. Sea ii X aY  *= ; sea 1+i X  = los  D dígitos del centro y sea  Dr i .01 =+ dígitos del centro

para toda ni ,...,3,2,1= .

5. Repetir el paso 4 hasta obtener los n números ir  deseados.

Algoritmos congruenciales 

Entre los algoritmos congruenciales se encuentran los algoritmos congruenciales lineales y losno lineales.

Algoritmos congruenciales lineales 

En este trabajo abordaremos los algoritmos congruenciales lineales como el algoritmocongruencial lineal, el multiplicativo y el aditivo.

5/8/2018 ALGORITMOS PSEUDOALEATORIOS - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-pseudoaleatorios-559abe6daaa55 5/12

 

 

5

Algoritmo Lineal

Este algoritmo congruencial fue propuesto por D. H. Lehmer en 1955. Según Law y Kelton, estealgoritmo ha sido el más utilizado. El algoritmo congruencial lineal genera una secuencia denúmeros enteros por medio de la siguiente ecuación recursiva:

)mod()(1 mc X a X  ii +=+

 

Con ni ,...,3,2,1=  

Donde 0 X  es la semilla, a es la constante multiplicativa, c es una constante aditiva y m es el

módulo: 00> X  , 0>a , 0>c y 0>m deben ser números enteros. La operación “ mmod ”

significa multiplicar  i X  por  a , sumar  c y dividir el resultado entre m para obtener el residuo

1+i X  . Es importante señalar que la ecuación recursiva del algoritmo congruencial lineal genera

una secuencia de números enteros y que para obtener números pseudo aleatorios en elintervalo (0, 1) se requiere de la siguiente ecuación:

1−= m

 X 

r i

i  

Con ni ,...,3,2,1=  

Para que el algoritmo sea capaz de lograr el máximo período de vida n , es preciso que losparámetros 0 X  , a , y m cumplan con ciertas condiciones. Banks, Carson, Nelson y Nicol

sugieren lo siguiente: m debe ser múltiplo de g2 , donde g debe ser entero, k a 41+= , donde

k  debe ser entero y c debe ser relativamente primo a m .

Bajo estas condiciones se obtiene un período de vida máximo: gm N  2== .

Algoritmo congruencial multiplicativo

El algoritmo congruencial multiplicativo surge del algoritmo lineal cuando 0=c . Entonces laecuación recursiva es:

)mod()(1

m X a X  ii =+

 

Con ni ,...,3,2,1,0=  

En comparación con el algoritmo congruencial lineal, la ventaja del algoritmo multiplicativo esque implica una operación menos a realizar. Los parámetros de arranque de este algoritmo son

0 X  , a y m , los cuales deben ser enteros y mayores que cero. Para transformar los números

i X  en el intervalo (0, 1) se usa la ecuación:

1−=m

 X r  i

i  

Con ni ,...,3,2,1,0=  

De acuerdo con Banks, Carson, Nelson y Nicol, las condiciones que deben cumplir losparámetros para que el algoritmo congruencial multiplicativo alcance su máximo período son:

5/8/2018 ALGORITMOS PSEUDOALEATORIOS - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-pseudoaleatorios-559abe6daaa55 6/12

 

 

6

m debe ser múltiplo de g2 , donde g debe ser entero, k a 83+= , donde ,...3,2,1,0=k  , 0 X   

debe ser un número impar.

Bajo estas condiciones se logra un período de vida máximo: 224 / 

−==

gk  N  .

Algoritmo congruencial aditivo

Este algoritmo requiere una secuencia previa de n números aleatorios n X  X  X  X  X  ,...,,, 4321  

para generar una secuencia de números enteros que empiezan en ,...,,,4321 ++++ nnnn X  X  X  X   

Su ecuación recursiva es:

)mod()(21 m X  X  X  iii −−

+=  

Con  N nnni ,...,3,2,1 +++=  

1−=m

 X r  i

i  

Algoritmos congruenciales no lineales 

Dentro de los algoritmos congruenciales no lineales se tiene el algoritmo congruencialcuadrático y el de Blum, Blum, y Shub.

Algoritmo congruencial cuadrático

Este algoritmo tiene la ecuación recursiva:

)mod()(2

1 mcbX  X a X  iii ++=+

 

Con ni ,...,3,2,1,0=  

En este caso, los números ir  pueden ser generados por la ecuación

1−=m

 X r  i

i  

De acuerdo con L’Ecuyer, las condiciones que deben cumplir los parámetros m , a , b y c  

para alcanzar un período máximo de m N  = son: m debe ser múltiplo de g2 , donde g debe

ser entero, a debe ser un número par, m debe ser un número impar, y 14mod)1( =−b . De

esta manera se logra un período de vida máximo m N  = .

Algoritmo de Blum, Blum y Shub

Si en el algoritmo congruencial cuadrático 1=a , 0=b y 0=c , entonces se construye unanueva ecuación recursiva:

)mod()(2

1 m X  X  ii =+

 

5/8/2018 ALGORITMOS PSEUDOALEATORIOS - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-pseudoaleatorios-559abe6daaa55 7/12

 

 

7

Con ni ,...,3,2,1,0=  

La anterior ecuación fue propuesta por Blum, Blum y Shub como Nuevo método para generar números que no tienen un comportamiento predecible.

PRUEBAS ESTADÍSTICAS PARA LOS NÚMEROS PSEUDO ALEATORIOS En la sección anterior se presentaron diversos algoritmos para construir un conjunto denúmeros pseudo aleatorios, pero eso sólo es el primer paso, ya que el conjunto resultante debeser sometido a una serie de pruebas para validar si los números que los integran son aptospara usarse en un estudio de simulación.

A continuación se presentan las pruebas estadísticas básicas que se emplean generalmentepara determinar si un conjunto de números pseudo aleatorios entre cero y uno cumplen con laspropiedades básicas de independencia y uniformidad. El objetivo es validar que el conjuntorealmente está conformado por números aleatorios.

Prueba de Medias

Una de las propiedades que deben cumplir los números generados, es que el valor esperadosea igual a 0.5. La prueba que busca determinar lo anterior es la llamada prueba de medias, enla cual se plantean las siguientes hipótesis:

5.0:0=

ir  H  μ   

y

5.0:1≠

ir  H  μ   

La prueba de medias consiste en determinar el promedio de los n números generadosmediante la ecuación siguiente:

∑=

=n

i

ir n

r 1

Posteriormente, se calcula los límites inferior y superior con las ecuaciones siguientes:

)12

1(

2

12 / 

n z LI 

r α 

−=−  

y

)12

1(

2

12 / 

n z LS

r α 

+=−  

Si el valor de−

r  se encuentra entre los límites de aceptación concluimos que no se puederechazar que el conjunto ir  tiene un valor esperado de 0.5 con un nivel de aceptación de 1-α.

En caso contrario se rechaza que el conjunto ir  tiene un valor esperado de 0.5. Para el cálculo

5/8/2018 ALGORITMOS PSEUDOALEATORIOS - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-pseudoaleatorios-559abe6daaa55 8/12

 

 

8

de los límites de aceptación se utiliza el estadístico 2 / α  Z  , el cual se determina por medio de la

tabla de distribución normal estándar.

Prueba de Varianza

Otra de las propiedades que debe satisfacer el conjunto ir  , es que sus números tengan unavarianza de 1/12. La prueba que busca determinar lo anterior es la prueba de varianza, queestablece las siguientes hipótesis:

5.0:2

0 =ir 

 H  σ   

y

5.0:2

1 =ir 

 H  σ   

La prueba de varianza consiste en determinar la varianza de los n números que contiene el

conjunto ir  , mediante la ecuación siguiente:

1

)(

)( 1

2

=

∑=

n

r r 

r V 

n

i

i

 

Después se calculan los límites de aceptación inferior y superior con las ecuaciones siguientes:

)1(12

2

1,2 / 

)(−

=−

n LI 

n

r V 

α  χ 

 

y

)1(12

2

1,2 / 1

)(−

=−−

n LS

n

r V 

α  χ 

 

Si el valor de )(r V  se encuentra entre los límites de aceptación, decimos que no se puede

rechazar que el conjunto ir  , tiene una varianza de 1/12, con un nivel de aceptación de 1-α; de

lo contrario se rechaza que el conjunto ir  tiene una varianza de 1/12.

Prueba Chi-cuadrada

Una de las propiedades más importantes que debe cumplir un conjunto de números ir  es launiformidad. Para comprobar su acatamiento se han desarrollado pruebas estadísticas como laprueba Chi-cuadrada. Para probar la uniformidad de los números de un conjunto bajo estaprueba es necesario formular las siguientes hipótesis:

)1,0(~:0 U r  H  i  

y

uniformessonnor  H  i:1  

5/8/2018 ALGORITMOS PSEUDOALEATORIOS - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-pseudoaleatorios-559abe6daaa55 9/12

 

 

9

La prueba Chi-cuadrada busca determinar si los números del conjunto ir  se distribuyen

uniformemente en el intervalo )1,0( . Para llevar a cabo esta prueba es necesario dividir el

intervalo en m subintervalos en donde es recomendable que nm = . Posteriormente se

clasifica cada número pseudo aleatorio del conjunto ir  en los m intervalos. A la cantidad de

números ir  que se clasifican en cada intervalo se le denomina frecuencia observada )0( i , y ala cantidad de números ir  que se espera encontrar en cada intervalo se llama frecuencia

esperada )( i E  ; teóricamente, la ir  es igual a mn /  . A partir de los valores de i0 y de i E  se

determina el estadístico 2

0 χ  mediante la ecuación:

∑=

−=

m

i i

ii

 E 

O E 

1

22

0

)( χ   

Si el valor estadístico 2

0 χ  es menor al valor de tablas 2

1, −mα  χ  , entonces no se puede rechazar 

que el conjunto de números ir  sigue una distribución uniforme. En caso contrario, se rechaza

que ir  sigue una distribución uniforme.

Resultados y DiscusiónEn la figura 1 se presenta la ventana principal del sistema que se elaboró como resultado delproyecto. En ella se muestra el nombre del sistema, el lugar donde se realizó y el autor. Si elusuario desea abandonar el sistema, simplemente es necesario hacer click en el botón decomando Salir. Si desea continuar sólo se requiere hacer click en botón Continuar.

Figura 1

Al activar esta opción, aparecerá una ventana similar a la venta que se muestra en la figura 2.En ella se encuentran las diversas formas como se pueden generar números pseudoaleatorios. Los algoritmos que se incluyen en el sistema son: cuadrados medios, productosmedios, multiplicador constante, lineal, congruencial multiplicativo, congruencial aditivo,congruencial cuadrático y Blum, Blum y Shub.

5/8/2018 ALGORITMOS PSEUDOALEATORIOS - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-pseudoaleatorios-559abe6daaa55 10/12

 

 

10

Figura 2

Al hacer click en la opción Cuadrados Medios aparecerá una ventana como la mostrada en lafigura 3. En ella se observa la ventana de despliegue de los números pseudo aleatoriosgenerados por el correspondiente algoritmo, la caja de texto para introducir la semilla, el botón

de que activa la generación de los números pseudo aleatorios y el botón para encontrar elperíodo relacionado con los números pseudo aleatorios. De igual forma se muestra la caja detexto para introducir el nivel de aceptación y la caja de texto para desplegar el promedio que escalculado por el sistema. Al activar la opción Prueba de Medias el sistema desplegará si sonaceptados o rechazados los números generados. El siguiente cuadro de texto despliega lavarianza de los números pseudo aleatorios y los siguientes dos cuadros de texto se utilizanpara introducir los límites inferior y superior para calcular la prueba de varianza. El cuadro detexto correspondiente a esta muestra, despliega si la prueba fue aceptada o rechazada.Finalmente, aparecen otras tres cajas de texto que se utilizan para introducir el valor de laprueba Chi-Cuadrada Teórica. La caja de texto siguiente sirve para desplegar la prueba Chi-Cuadrada Experimental que es calculada por el sistema y finalmente aparece una caja detexto que muestra si la prueba es aceptada o rechazada bajo estos límites.

Figura 3

La figura 3 muestra, a manera de ejemplo, los resultados de una generación de númerospseudo aleatorios por medio del algoritmo de cuadrados medios. En la figura aparecen losvalores de los números pseudo aleatorios generados con el algoritmo de cuadrados medios.Para este caso, el valor de la semilla es de 5735. La primera caja de texto nos indica que no serepite la numeración, por lo que no tiene período. La segunda caja de texto corresponde alvalor de la tabla de distribución normal estándar bajo la prueba de medias. Para ello, el usuario

5/8/2018 ALGORITMOS PSEUDOALEATORIOS - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-pseudoaleatorios-559abe6daaa55 11/12

 

 

11

debe introducir el valor de la tabla de distribución normal estándar al que quiere someter losnúmeros generados. Se introdujo el valor de 1.96 por el nivel de aceptación del 95%. Despuésde introducir este valor, para saber si son aceptados los números pseudo aleatorios, el usuariodebe hacer click en el botón de comando Prueba de Medias. En el ejemplo se muestra que nose rechaza la muestra. Si se redujera el valor del nivel de aceptación o el valor de la tabla dedistribución normal estándar, es posible que no se acepten los números generados. El

siguiente bloque de opciones corresponde a la prueba de varianza. Para ello, el usuario debeintroducir el valor de las tablas de la distribución Ji-cuadrada correspondiente a un nivel deaceptación del 95% y un grado de libertad de 49, ya que son 50 los números generados. Alactivar la opción Prueba de Varianza se puede ver si se rechazan o no los númerosgenerados. Para este caso se tiene que %5=α  y 50=n , por lo que los valores de la tabla Ji-

cuadrada son: 42.712

49,025.0 = χ  y 36.322

49,975.0 = χ  . Al calcular la varianza de los números

generados pseudo aleatoriamente, se observa que el valor no se encuentra dentro de loslímites calculados por el sistema, por lo que no son aceptados. De igual forma, es posibleaumentar el intervalo de prueba para ver si se rechaza o no la serie. Finalmente, el últimobloque corresponde a la prueba Chi-cuadrada, en la cual el usuario puede introducir el valor dela Chi-Cuadrada Teórica para compararla con el valor de la Chi-Cuadrada Experimental para

saber si son aceptados los valores de los números pseudo aleatorios generados por medio deeste algoritmo. Al activar la opción Chi-Cuadrada se puede ver si se rechazan o no losnúmeros generados. En este caso se tiene que el valor de la prueba Chi-cuadrada teórica para

estos datos es de 9.162

9,05.0= χ  , que comparado con el valor del Chi-cuadrada experimental

4.102

0 = χ  , concluimos que se aceptan los números pseudo aleatorios generados por el

algoritmo de cuadrados medios. Al igual que en los casos anteriores, se puede reducir el valor de Chi-cuadrada Teórica, hasta que sean rechazados los números generados pseudoaleatoriamente.

Todas las opciones descritas para el algoritmo de Cuadrados Medios se encuentran en cadauno de los algoritmos de generación de números pseudo aleatorios contenidos en el sistema,por lo que cada algoritmo puede comprobar si los números generados son aceptados o no.

Después de generarse los números pseudo aleatorios, el usuario puede exportarlos a una hojade cálculo para poder ser utilizados en alguna simulación.

Conclusiones• El sistema puede generar números pseudo aleatorios por medio de diferentes

algoritmos congruenciales y no congruenciales.

• Para cada algoritmo, el sistema incluye las pruebas de Medias, de Varianza y de Chicuadrada para saber si los números generados son aceptados o rechazados.

• El sistema tiene la opción de exportar los números pseudo aleatorios a una hoja de

cálculo para que sean utilizados en alguna simulación.• El sistema puede calcular el período de la secuencia de números pseudo aleatorios

generados en cada algoritmo.

• El sistema presenta una interface gráfica de fácil manejo.

• El sistema es un apoyo a la labor docente.

5/8/2018 ALGORITMOS PSEUDOALEATORIOS - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-pseudoaleatorios-559abe6daaa55 12/12

 

 

12

ReferenciasCeballos Sierra, F. J.1996. Enciclopedia de Visual Basic 4, México, D. F.: Alfaomega Grupo

Editor.

García Dunna E.; Gracía Reyes, H. y Cárdenas Barrón, L. E. 2006. Simulación y Análisis de Sistemas con ProModel , México, D. F.: 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, México, D. F.: CECSA.

Kreyszig, Erwin. 1978. Introducción a la Estadística Matemática, México, D. F.: EditorialLimusa.