Está en la página 1de 6

UNIDAD II

NÚMEROS ALEATORIOS Y PSEUDO ALEATORIOS

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.

2. ¿Para qué y cómo se usan dichos números?


Se usan como una fuente confiable de variabilidad dentro de los
modelos de simulación fundamentalmente porque las sucesiones de números
pseudoaleatorios son más rápidas de generar que las de números aleatorios.
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 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
pseudoaleatorios 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 tipo de
problemas com o: 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.

3. ¿Cómo se generan los números pseudo aleatorios entre 0 y 1?

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 r = {ri ,n ,rs, rn} con n valores distintos, se le
conoce como el conjunto necesario d^ números entre 0 y 1 para realizar una
simulación, siendo n 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 r grande, esto con la finalidad de


simular 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 r se considera satisfactorio si pasa sin
problema las pruebas de uniformidad e independencia, solo así podrá ser
usado en la simulación.
Los algoritmos determinísticos para generar números pseudo
aleatorios se dividen en no congruenciales y congruenciales, éstos a su vez se
dividen en lineales y no lineales.

Algoritmos No Congruenciales

a) A lgoritm o de cuadrados m edios


Propuesto en la década de los cuarenta del siglo X X por Von Neumann
y Metrópolis, este algoritmo requiere un número entero, llamado semilla, con
D dígitos, este es elevado al cuadrado para seleccionar del resultado los D
dígitos del centro; el primer número r se determina simplemente
anteponiendo el " 0" a esos dígitos. Para obtener el segundo r se sigue el
mismo procedimiento, sólo que ahora se elevan al cuadrado los D dígitos del
centro que se seleccionaron para obtener el primer n. Este método se repite
hasta obtener n números n.

Pasos para generar números con el algoritmo de cuadrados medios:

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


2 . Sea X 0 = resultado de elevar X 0 al cuadrado; sea X i = los D dígitos del
centro, y sea r = 0.D dígitos del centro.
3. Sea Yi = resultado de elevar Xi al cuadrado; sea Xi +1 = los D dígitos del
centro, y sea r = 0.D dígitos del centro para toda i = 1 , 2 , 3,..., n.
4. Repetir el paso 3 hasta obtener los n números r deseados.

Nota: Si no es posible obtener los D dígitos del centro del número Yi,
agregue ceros a la izquierda del número Yi.

Ejemplo
Generar los primeros 5 números r a partir de una semilla X 0 = 5 735, de
donde se puede observar que D = 4 dígitos.

Solución:
Yo = (5735 )2 = 32 890 225 X 1 = 8902 ri = 0.8902
Y 1 = (8902)2 = 79 245 604 X 2 = 2456 ri = 0.2456
Y 2 = (2456)2 = 06 031 936 X 1 = 0319 ri = 0.0319
Y 3 = (0319)2 = 101 761 X 1 = 0176 ri = 0.0176
Y 4 = (0176)2 = 030 976 X 1 = 3097 ri = 0.3097

Generalmente este algoritmo es incapaz de generar una secuencia de ri


con periodo de vida n grande. En ocasiones sólo es capaz de generar un
número, Por ejemplo si X 0 = 1 000, entonces X 1 = 0000; ri = 0.0000 y se dice
que el algoritmo se degenera con la semilla de X 0 = 1 000.

b) A lgoritm o de productos m edios


La mecánica de generación de números pseudo aleatorios de este
algoritmo no congruencial es similar a la del algoritmo de cuadrados medios.
La diferencia entre ambos radica en que el algoritmo 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.
A continuación se presentan con más detalle los pasos del método para
generar números con el algoritmo de producto medios.

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


2 . Seleccionar una semilla ( X ) con D dígitos (D > 3).
3. Sea Y 0 = X 0* X 1; sea X 2 = los D dígitos del centro, y sea r = 0.D dígitos del
centro.
4. Sea Y i = X i* X i+1; sea X i+2 = los D dígitos del centro, y sea ri+1 = 0 .D
dígitos del centro para toda f¡= 1,2,3,...,n;
5. Repetir el paso 4 hasta obtener los n números ri deseados.

Nota: Si no es posible obtener los D dígitos del centro del número Y i agregue
ceros a la izquierda del número Ti.

c) A lgoritm o de multiplicador constante


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

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


2 . Seleccionar una constante (a) con D dígitos (D > 3).
3. Sea Y 0- a*X0; sea X 1 = los D dígitos del centro, y sea ri = 0.D dígitos del
centro.
4. Sea Y i = a*Xi; sea X i+1 = los D dígitos del centro, y sea ri+1 = 0.D dígitos
del centro para toda
i = 1, 2, 3,..., n.
5. Repetir el paso 4 hasta obtener los n números ri deseados.

Nota: Si no es posible obtener los D dígitos del centro del número Y i agregue
ceros a la izquierda del número Y i.
Algoritmos Congruenciales

d) A lgoritm o Lineal
Este algoritmo congruencial fue propuesto por D.H. Lehmer en 1951.
Según Law y Kelton, este algoritmo ha sido el más usado. El algoritmo
congruencial lineal genera una secuencia de números enteros por medio de la
siguiente ecuación recursiva:
X i+1 = (aXi + c) mod (m) i= 0, 1 , 2 , 3... n donde;
X 0 = es la semilla, X 0 >0 y debe ser entero.
a = es la constante multiplicativa, a >0 y debe ser entero.
c = constante aditiva, c >0 y debe ser entero.
mod m = modulo, significa realizar las operaciones anteriores y dividir el
resultado entre el valor de m, para obtener solamente el residuo.
Es importante señalar que la ecuación recursiva del algoritmo
congruencial lineal genera una secuencia de números enteros S= { 0, 1 , 2 ,
3 , . , m -1}, y que para obtener números pseudo aleatorios en el intervalo (0,
1 ) se requiere la siguiente ecuación:
Xi
ri = ---- 7
7 7 1 -1

Para que el algoritmo sea capaz de lograr el máximo periodo de vida n,


es preciso que dichos parámetros cumplan ciertas condiciones, Banks, Carson,
Nelson y Nicol sugieren lo siguiente:
m = 2g
a = 1 + 4k
k, debe ser entero.
c, relativamente primo a m.
g, debe ser entero.
Bajo estas condiciones se obtiene un periodo de vida máximo N = m= 2 g.

Ejemplo:
Generar suficientes números entre 0 y 1 con los parámetros X 0 = 6, k =3,
g =3, c =7, hasta encontrar el periodo de vida máximo (N).

a = 1 + 4(3) = 13 m = 23 = N= 8

X 0= 6
X 1= (13*6+7) mod 8 = 5 n = 5 /7 = 0.714
X 2= (13*5 + 7) mod 8 = 0 r 2 = 0 /7 = 0.000
X 3= (13*0+7) mod 8 = 7 r 3 = 7 /7 = 1.000
X 4= (13*7+7) mod 8= 2 r4 = 2 /7 = 0.214
X 5= (13*2+7) mod 8= 1 r5 = 1/7 = 0.142
Xa = (13*1 + 7) mod 8= 4 ra = 4 /7 = 0.571
X 7= (13*4+7) mod 8= 3 r7= 3 /7 = 0.428
X 8= (13*3 + 7) mod 8= 6 r 8= 6 /7 = 0.857

También podría gustarte