Números Aleatorios y Pseudo Aleatorios
Números Aleatorios y Pseudo Aleatorios
Números Aleatorios y Pseudo Aleatorios
1
1. ¿Qué son los números aleatorios y pseudo aleatorios y para qué sirven?
Los números aleatorios tienen la propiedad de ser obtenidos al azar, es decir, son resultado de un
proceso en el cual su resultado no es predecible ya que todo número tiene la misma probabilidad
de ser elegido y la elección de uno no depende de la elección del otro. La palabra aleatorio se usa
para expresar una aparente carencia de propósito, causa, u orden. El ejemplo clásico más utilizado
para generarlos es el lanzamiento repetitivo de una moneda o dado.
Los números pseudo aleatorios son números generados en un proceso que parece producir
números al azar, pero no lo hace realmente, de aquí el prefijo pseudo que quiere decir falso, ya que
su generación parte de algoritmos determinísticos, lo cual nos quiere decir que obtendremos
siempre el mismo resultado bajo las mismas condiciones iniciales. Estas condiciones se refieren a
varios parámetros de arranque, siendo el valor inicial, también llamado semilla, el denominador
común de todos los algoritmos.
Estos números tienen la característica de que deben seguir una distribución Uniforme, es decir que
pueden tomar cualquier valor dentro del intervalo (0, 1), entonces podemos decir que los números
pseudo aleatorios son números entre 0 y 1 que han pasado por un tamizado de pruebas para poder
determinar que tendrán una función aproximada a la realidad es decir, haya aleatoriedad. La función
de los números pseudo aleatorios es que a partir de ellos podemos generar variables aleatorias las
cuales están sujetas en el mayor de los casos, a distribuciones estadísticas que son las que se usan
para establecer el comportamiento de materiales, sucesos, personas, etc., en todo proceso de
simulación.
Se usan como una fuente confiable de variabilidad dentro de los modelos de simulación
fundamentalmente porque las sucesiones de números pseudo aleatorios son más rápidas de
generar que las de números aleatorios.
ITSP
La simulación es el proceso de diseñar un modelo de un sistema real, que servirá para dirigir
experimentos con el propósito de entender, explicar, analizar o mejorar el comportamiento del
sistema.
Para simular el comportamiento de una o más variables aleatorias es necesario contar con un
conjunto suficientemente grande de números aleatorios, pero por desgracia generar una sucesión 2
de números que sean completamente aleatorios resulta muy complicado, ya que tendríamos que
generar una sucesión infinita de valores que nos permitiera comprobar la inexistencia de
correlaciones entre ellos, lo que sería costoso y tardado volviendo impráctica la simulación; por ello
es necesario utilizar los números pseudo aleatorios de los cuales podemos asegurar con un nivel
alto de confiabilidad que se comportan de manera similar a un conjunto de números aleatorios.
La experimentación directa sobre la realidad puede algunos tipos de problemas como: costo muy
alto, gran lentitud, en ocasiones las pruebas son destructivas, puede no ser ética (sobre todo si están
involucrados seres humanos), puede resultar imposible, por ejemplo, para predecir sucesos futuros.
Los números pseudo aleatorios se generan mediante algoritmos determinísticos, es decir aquellos
en que se obtiene el mismo resultado bajo las mismas condiciones iniciales, por lo cual requieren
parámetros de arranque. Sea una secuencia = , , ,…, con valores distintos, se le
conoce como el conjunto necesario de números entre 0 y 1 para realizar una simulación, siendo
el periodo o ciclo de vida. Esta secuencia forma la parte principal de la simulación de procesos
estocásticos (basado en probabilidades) y son usados para generar la conducta de variables
aleatorias, continuas o discretas. Estos números se consideran pseudo aleatorios porque es
imposible el generar números realmente aleatorios. Es preciso contar con un conjunto grande,
esto con la finalidad desimular el comportamiento de una o más variables aleatorias, además el
periodo de vida debe ser amplio debido a que es conveniente realizar varias réplicas de simulación,
corriendo cada una con números pseudo aleatorios distintos. Es importante señalar que se
considera satisfactorio si pasa sin problema las pruebas de uniformidad e independencia, solo así
podrá ser usado en la simulación.
ITSP
UNIDAD 2: SIMULACIÓN DE VARIABLES ALEATORIAS
Se han utilizado cuatro métodos alternativos para generar las sucesiones de números aleatorios, los
cuales son:
3
• Métodos manuales
• Tablas de biblioteca
• Métodos de computación analógica
• Métodos de computación digital
Métodos manuales
Tablas de biblioteca
Son tablas de números aleatorios, desarrolladas por métodos aleatorios diversos y de varios
autores, estas listas se encuentran en libros de probabilidad, tablas matemáticas, y publicaciones
web.
Los métodos de computación analógica dependen de ciertos procesos físicos aleatorios (por
ejemplo, el comportamiento de una corriente eléctrica), por lo que se considera que conducen
verdaderos números aleatorios.
ITSP
Ventajas: Aleatorios
Desventajas: No reproducible
Existen varios métodos para generar números aleatorios cuando se usa la computación digital, estos 4
son:
Provisión externa: consiste en grabar en la memoria de la computadora, las tablas randa, a fin de
tratar estos números como datos de entrada para un determinado problema.
Generación por medio de procesos físicos aleatorios: Consiste en usar algún aditamento especial de
la computadora, para registrar los resultados de algún proceso aleatorio y además, reducir estos
resultados a sucesiones de dígitos.
ITSP
UNIDAD 2: SIMULACIÓN DE VARIABLES ALEATORIAS
Nota: si no es posible obtener los dígitos del centro del número , agrega ceros a la izquierda del
número .
Ejemplo
*Para obtener los dígitos del centro del número , se agregó un cero a la izquierda.
Nota: si no es posible obtener los dígitos del centro del número , agrega ceros a la izquierda del
número .
ITSP
Ejemplo
Generar 5 números a partir de las semillas = 321 y = 456 donde = 3 dígitos. (Ambas
semillas deben tener el mismo número de dígitos).
Respuesta:
Nota: si no es posible obtener los dígitos del centro del número , agrega ceros a la izquierda del
número .
Ejemplo
Generar los primeros 5 números a partir de la semilla = 8521 y con la constante = 9632,
donde = 4 dígitos.
Respuesta:
Algoritmo lineal
El algoritmo congruencial lineal genera una secuencia de números por medio de la siguiente
ecuación recursiva:
ITSP
Donde:
Condiciones
Semilla >0
La operación “mod &” significa dividir el resultado entre & para obtener el residuo . La
ecuación recursiva del algoritmo congruencial lineal genera una secuencia de números enteros ,,
por lo que para obtener números pseudo aleatorios en el intervalo (0, 1) se requiere la siguiente
ecuación:
-
= /0. = 0,1, 2,…,
Ejemplo
Respuesta:
= 1 + 4!3$ = 13 y & = 2 = 8
=6
=(13*6+7)mod 8=5 = 5/7= 0.714
=(13*5+7)mod 8=0 = 0/7= 0.000
=(13*0+7)mod 8=7 = 7/7= 1.000
=(13*7+7)mod 8=2 = 2/7= 0.285
=(13*2+7)mod 8=1 = 1/7= 0.142
=(13*1+7)mod 8=4 = 4/7= 0.571
3 =(13*4+7)mod 8=3 3= 3/7= 0.428
4 =(13*3+7)mod 8=6 4= 6/7= 0.857
ITSP
Notas:
Para el cálculo de
= (13*6+7) mod 8
= (85) mod 8
2= &
Donde:
Condiciones
Semilla >0, impar
La operación “mod &” significa dividir el resultado entre & para obtener el residuo . La
ecuación recursiva del algoritmo congruencial lineal genera una secuencia de números enteros ,,
por lo que para obtener números pseudo aleatorios en el intervalo (0, 1) se requiere la siguiente
ecuación:
-
= /0. = 0,1, 2,…,
Ejemplo
ITSP
Respuesta:
= 5 + 8!2$ = 21 y & = 2 = 32
= 17
=(21*17)mod 32=5 = 5/31= 0.1612
=(21*5)mod 32=9 = 9/31= 0.2903
9
=(21*9)mod 32=29 = 29/31= 0.9354
=(21*29)mod 32=1 = 1/31= 0.0322
=(21*1)mod 32=21 = 21/31= 0.6774
=(21*21)mod 32=25 = 25/31= 0.8064
3 =(21*25)mod 32=13 3= 13/31= 0.4193
4 =(21*13)mod 32=17 4= 17/31= 0.5483
Notas:
Toda vez que la semilla se repite, volverán a generar los mismos números. Por lo tanto, el periodo
de vida es = 8, el cual corresponde a 2= )/4 = 32/4= 8.
=! 0 + 0 $ &'(!&$ = + 1, + 2, + 3, … , 2
= 6 /!& − 1$
Ejemplo
Generar 7 números pseudoaleatorios entre cero y uno a partir de la siguiente secuencia de números
enteros: 65, 89, 98, 03, 69; & = 100.
Solución:
ITSP
=! 4 + $&'( 100 = !21 + 03$&'( 100 = 24 = 24/99= 0.2424
=! 9 + $&'( 100 = !24 + 69$&'( 100 = 93 = 93/99= 0.9393
=! + $&'( 100 = !93 + 34$&'( 100 = 27 = 27/99= 0.2727
=! + 3 $&'( 100 = !27 + 23$&'( 100 = 50 3= 50/99= 0.5050
10
ITSP
UNIDAD 2: SIMULACIÓN DE VARIABLES ALEATORIAS
METODOLOGÍA
Paso 1 11
Selecciona una columna y fila al azar en la TABLA DE NÚMEROS ALEATORIOS (ANEXO 1).
Columna: 8
Fila: 6
Paso 2
Dirección
seleccionada
ITSP
Paso 3
Define la cantidad de dígitos que requerirás por cada número aleatorio . De la dirección
seleccionada toma los dígitos requeridos y antepón “0.” para formar el primer número aleatorio
entre 0 y 1.
12
=3
= 0.882
Paso 4
Continúa con los siguientes números de la dirección seleccionada hasta obtener todos los números
aleatorios requeridos.
= 0.882
= 0.625
Nota. En caso de que los números de la dirección seleccionada se agoten, elegir una nueva posición
y continuar desde ahí.
ITSP
= 0.882 13
= 0.625
= 0.708
…
= 0. &&&
ITSP
UNIDAD 2: SIMULACIÓN DE VARIABLES ALEATORIAS
METODOLOGÍA
Paso 1
Abrir un Libro nuevo en Excel, y seleccionar la primera celda donde desees que aparezca el primer 14
Paso 2
Inserta la función ALEATORIO(), precedida del signo =, como se muestra en la siguiente imagen
Una vez definida la formula presiona la tecla ENTER y obtendrás un número pseudo aleatorio
ITSP
15
Paso 3
Arrastra la formula tantas veces como números requieras. Recuerda que los puedes enumerar
para un mejor control y ajustar el número de decimales, de acuerdo a tus necesidades, mediante
las herramientas Aumentar decimales o Disminuir decimales del menú INICIO.
Notas
Excel cuenta con su propio algoritmo para generar números pseudo aleatorios que cumplen con las
propiedades estadísticas para considerarse aleatorios.
La función utilizada ALEATORIO “devuelve un número aleatorio mayor o igual que 0 y menor que 1,
distribuido” y cambia al actualizar algún valor en la Hoja de cálculo, sin embargo Excel, y cualquier
otro software estadístico, puede generar números pseudo aleatorios en otro rango de valores en el
que sean requeridos.
ITSP
ANEXO 1 TABLA DE NÚMEROS ALEATORIOS
16
ITSP