Está en la página 1de 14

INSTITUTO TECNOLÓGICO NACIONAL DE MÉXICO.

CAMPUS LÁZARO CÁRDENAS.

INGENIERÍA INDUSTRIAL.

TEMA:

Algoritmos para generar números aleatorios

PRESENTA:

RAMIREZ VARGAS GEMA NAYELY 19560189

DOCENTE:

ROMÁN OCAMPO DANIEL BENITO

FECHA:

03 DE MARZO DE 2022

Cd. y Puerto de Lázaro Cárdenas, Michoacán.


1. Algoritmos para generar números aleatorios.

Los números aleatorios son la base esencial de la simulación. Usualmente, toda la


aleatoriedad involucrada en el modelo se obtiene a partir de un generador de
números aleatorios que produce una sucesión de valores que supuestamente son
realizaciones de una secuencia de variables aleatorias independientes e
idénticamente distribuidas (i.i.d.) U(0, 1). Posteriormente estos números aleatorios
se transforman convenientemente para simular las diferentes distribuciones de
probabilidad que se requieran en el modelo. En general, la validez de los métodos
de transformación depende fuertemente de la hipótesis de que los valores de
partida son realizaciones de variables aleatorias id U (0, 1), pero esta suposición
realmente no se cumple, puesto que los generadores de números aleatorios son
simplemente programas determinísticos que intentan reproducir una sucesión de
valores que parezca aleatoria.

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 pseudoaleatorios 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 pseudoaleatorios 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.

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.

Los números pseudoaleatorios 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 ri =
{r1 ,r2 ,r3, ..., rn} con n valores distintos, se le conoce como el conjunto necesario de
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.

Los algoritmos determinísticos para generar números pseudoaleatorios se dividen


en no congruenciales y congruenciales (éstos a su vez se dividen en lineales y no
lineales).
2. Método del cuadrado medio.

Es un método propuesto en los años 40 por los matemáticos John von Neumann y
Nicholas Metropolis, siendo utilizado para la generación de números pseudoaleatorios,
Esto para obtener una sucesión de números que básicamente se obtienen a partir de
recurrencia , los cuales son relevantes en los procesos de simulación debido a que con
estos números se hace posible comprobar el correcto funcionamiento de una prueba
mediante la observación del comportamiento de las variables que se puedan encontrar
a lo largo de la simulación.

SIMULACIÓN

Es una técnica numérica para conducir experimentos con relaciones matemáticas y


lógicas, las cuales son necesarias para describir el comportamiento y la estructura de
sistemas complejos del mundo real a través de largos periodos de tiempo.

APLICACION DEL METODO

El método consiste en tomar un número al azar, X° de 2n cifras que al ser elevado al


cuadrado resulta un número de hasta 4n cifras, de no ser así se deben agregar ceros a
la izquierda de dicho resultado para que éste tenga exactamente 4n cifras.

Se denomina X1 al número resultante de seleccionar las 2n cifras centrales del


resultado anterior.

Se genera el número pseudoaleatorio U1 ubicando un punto decimal delante de las 2n


cifras de X1 y así sucesivamente para los demás números pseudoaleatorios.

REQUISITOS DESEABLES

 Producir muestras según una distribución U(0,1).


 Pasar los contrastes de aleatoriedad e independencia.
 La sucesión generada debe ser reproducible a partir de la semilla.
 Tener una longitud de ciclo tan grande como se desee.
 Generar valores a alta velocidad.
 Ocupar poca memoria
Pasos para generar números con el algoritmo de cuadrados medios:

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


2. Sea X0 = resultado de elevar X0 al cuadrado; sea X1 = los D dígitos del centro, y
sea ri = 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 ri = 0.D dígitos del centro para toda i = 1, 2, 3,..., n.
4. Repetir el paso 3 hasta obtener los n números ri 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. Generalmente este algoritmo es incapaz de generar una
secuencia de ri con periodo de vida n grande.

Ejemplo:
3. Método de producto medio.

La mecánica de generación de números pseudo aleatorios de este algoritmo no


congruencia 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, los cuales formarán el primer
número pseudo aleatorio ri = 0. D dígitos.
Después se elimina una semilla, y la otra se multiplica por el primer número de D
dígitos, para luego seleccionar del producto los D dígitos que conformarán un segundo
número ri. Entonces se elimina la segunda semilla y se multiplican el primer número de
D dígitos por el segundo número de D dígitos; del producto se obtiene el tercer número
ri. Siempre se ira eliminando el número más antiguo, y el procedimiento se repetirá
hasta generar los n números pseudo aleatorios.

Pasos para hacer algoritmo de productos medios:

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


2) Seleccionar una semilla (X1) con D dígitos (D>3).
3) Sea Y0 = X0 * X1; sea X2 = los D dígitos del centro, ya sea ri = 0. D dígitos del
centro.
4) Sea Yi = Xi * Xi+1; sea Xi+2 = 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.
Ejemplo:
4. Método del 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.
Pasos para generar números pseudo aleatorios con el algoritmo de multiplicador
constante:

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


2) Seleccionar una constante (a) con D dígitos (D > 3).
3) Sea Y0= a*X0; sea X1= los D dígitos del centro, y sea ri= 0. D dígitos del centro.
4) Sea Yi= a*Xi; sea Xi+1= los D dígitos del centro, y sea ri+1= 0.D dígitos del
centro para toda i= 1,2, 3,…, n.
Repetir el paso 4 hasta obtener los n números ri deseados
Ejemplo:
5. Método de algoritmo 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:

 Donde X0 es la semilla
 a es la constante multiplicativa
 c es una constante aditiva
 mod m es el modulo;
 X0 > 0, a > 0, c > 0 y m > 0 deben ser números enteros.

La operación “mod m” significa multiplicar Xi , por a, sumar c y dividir el resultado


entre m para obtener el residuo i+1.

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:

Ejemplo:
6. ALGORITMO MULTIPLICADO.
Este algoritmo congruencial multiplicativo surge del algoritmo congruencial lineal
cuando c=0. Entonces la ecuación recursiva es:

En comparación con el algoritmo congruencial lineal, la ventaja del algoritmo


multiplicativo es que implica una operación menos a realizar. Los parámetros de
arranque de este algoritmo son X0 , a y m , los cuales deben ser enteros y mayores que
cero. Para transformar los números Xi en el intervalo (0, 1) se usa la ecuación: −1 = m
X r i i Con i = 0, 1, 2, 3,...,n

Condiciones:

Ejemplo:
Ejemplo:
7. Método congruencia aditivo.

Calcula una sucesión de números pseudoaleatorios mediante la relación:


8.

9. Xn+1= Xn +Xn-k (mod M).


10.

Para usar este método se necesitan k valores iniciales, siendo k entero. Las
propiedades estadísticas de la secuencia tienden a mejorarse a medida que k se
incrementa. Este es el único método que produce periodos mayores que M.

Su ecuación es:

11.

Ejemplo:

También podría gustarte