Está en la página 1de 13

SIMULACIÓN - GENERACIÓN DE NÚMEROS ALEATORIOS

Y PSEUDOALEATORIOS
INDICE
INTRODUCCIÓN..................................................................................................................................
1. OBJETIVO......................................................................................................................................2
2. NÚMEROS ALEATORIOS...........................................................................................................2
2.1 Secuencia de números aleatorios......................................................................................2
2.2 Propiedades de los números aleatorios...........................................................................3
2.3 Principios generales de un generador:............................................................................3
3. METODOS DE GENRACIÓN DE NÚMEROS ALEATORIOS................................................3
3.1 Métodos manuales.................................................................................................................3
3.2 Tablas de números aleatorios............................................................................................3
3.3 Métodos de computadora analógica.................................................................................3
3.4 Métodos de computadora digital.......................................................................................3
4. NÚMEROS PSEUDO-ALEATORIOS.........................................................................................4
4.1 CARACTERÍSTICAS QUE DEBEN DE CUMPLIR LOS MÉTODOS DE
GENERACIÓN DE NÚMEROS PSEUDOALEATORIOS.........................................................4
5. MÉTODOS PARA LA GENERACIÓN DE NUMEROS PSEUDOALEATORIOS.................5
5.1 Método de algoritmo de cuadrados medios:...................................................................5
5.2 Método de algoritmo multiplicador constante................................................................5
5.3 Método congruencial:...........................................................................................................6
5.4 Método Monte Carlo:.............................................................................................................6
6. EJEMPLOS PRÁCTICOS PARA LA GENERACIÓN DE VARIABLES ALEATORIAS....6
6.1 Ejemplo por Algoritmo de Cuadrados Medios................................................................7
6.2 Ejemplo por Algoritmo de Multiplicador Constante......................................................7
6.3 Ejemplo Método Congruencial Multiplicativo.................................................................8
6.4 Ejemplo Método Congruencial Lineal...............................................................................8
CONCLUSIONES.............................................................................................................................10
REFERENCIAS....................................................................................................................................
INTRODUCCIÓN

La generación de números aleatorios y pseudoaleatorios es un tema de gran


importancia en la investigación en cómputo, simulación y en muchas otras áreas,
incluyendo criptografía, simulación, juegos y estadísticas.
Los números aleatorios son aquellos que no siguen un patrón o secuencia
predecible y se pueden utilizar para simular situaciones impredecibles en una
computadora. Sin embargo, es difícil generar verdaderos números aleatorios en una
computadora debido a su naturaleza determinista.
Por lo tanto, se utilizan números pseudoaleatorios, que son números generados por
un algoritmo que imita la aleatoriedad pero que en realidad sigue un patrón o
secuencia determinada.
En este proyecto se abarcarán los temas de los números aleatorios y
pseudoaleatorios, abarcando una breve introducción donde se presentan sus
características, categorías en las que se dividen, etc. Dicha información se da a
conocer de una manera clara para el entendimiento del lector.
Por otro lado, se podrán visualizar los diferentes métodos de generación de
variables aleatoria y pseudoaleatorias, en las que se incluye una breve explicación.
Así mismo se presenta en este proyecto ejemplos prácticos sobre la generación de
variables aleatorias, con las que se busca comprender sobre la aplicación de estos
métodos, en los diferentes campos.
Finalmente se encuentra la conclusión de este proyecto, para alcanzar una mejor
comprensión.

1
1. OBJETIVO

 Conocer los diferentes métodos de aplicación de la generación de números


aleatorios y pseudoaleatorios, a través de ejemplos prácticos sobre la
generación de variables aleatorias, así como también el uso de su aplicación.

2. NÚMEROS ALEATORIOS

Un número aleatorio es un resultado de una combinación variable al azar


especificada por una función de distribución Cuando no se especifica ninguna
distribución, se presupone que se utiliza la distribución uniforme continua en el
intervalo [0,1).
En otros términos, los números aleatorios son aquellos números que se generan,
presentando estos la misma probabilidad de ser elegidos o seleccionados.
Los números aleatorios se pueden dividir en dos categorías principales:
° Números aleatorios enteros. Es una observación aleatoria de una distribución
uniforme discretizada en el intervalo n, n+1…
Por lo general, n =0 ó 1 donde estos son valores convenientes para la mayoría de
las aplicaciones.
° Números aleatorios uniformes. Es una observación aleatoria a partir de una
distribución uniforme (continua) en un intervalo [a,b]

2.1 Secuencia de números aleatorios


Una secuencia de números aleatorios significa que el algoritmo produce muchos
números aleatorios en serie.
La secuencia de números generados debe cumplir con las 2 hipótesis siguientes:
1) Distribución Uniforme
2) Independencia (no correlacionados)
Son importantes los siguientes aspectos:
a) Las subsecuencias también deben cumplir 1) y 2)
b) deben ser secuencias largas y sin huecos (densas)
c) algoritmos rápidos y que no ocupen mucha memoria.

En la simulación las secuencias con distribución uniforme en [0,1] se utilizan:

2
 En forma directa
 Para generar distribuciones directas y continuas
 Para generar valores de variables aleatorias dependientes

2.2 Propiedades de los números aleatorios


Un generador de números aleatorios debe cumplir con las siguientes propiedades
las cuales son:
 Repetibilidad: Al repetir los parámetros del generador, se repite la
secuencia.
 Portabilidad: La secuencia no debe depender del lenguaje computacional.
 Velocidad computacional: Puede ser conveniente utilizar lenguajes de bajo
nivel.
2.3 Principios generales de un generador:
 La secuencia generada debe ser intuitivamente aleatoria
 Se deben conocer las propiedades del generador

3. METODOS DE GENRACIÓN DE NÚMEROS ALEATORIOS


Un generador de números aleatorios es un algoritmo que produce secuencias de
números que siguen una distribución de probabilidad especifica y tienen la
apariencia de aleatoriedad.
Se debe tomar en cuenta que la generación de números aleatorios se utiliza para
generar números pseudoaleatorios, que imitan la apariencia de los números
verdaderamente aleatorios. Estos métodos se utilizan en una amplia gama de
aplicaciones, desde la simulación y la optimización hasta la criptografía y los juegos
de azar.

3.1 Métodos manuales. Se pueden obtener números aleatorios extrayendo (con


reposición) bolillas numeradas consecutivamente desde un bolillero, arrojando
dados, sacando con reposición naipes desde una baraja, etc.
3.2 Tablas de números aleatorios. Varios libros de texto de estadística contienen
grandes tablas de números aleatorios que se pueden utilizar conforme se haga
necesario.
3.3 Métodos de computadora analógica.Consiste en la generación de números
aleatorios mediante el uso de computadoras analógicas diseñadas específicamente
para ello. Esta técnica para la creación de variables aleatorias está actualmente en
desuso.
3.4 Métodos de computadora digital. Son los generados mediante relaciones
matemáticas que pueden ser manifestadas o representadas por medio de una serie
de proposiciones en lenguaje de computadoras digitales, las cuales cuando son

3
ejecutadas, causen que un número sea creado a partir de la distribución uniforme de
probabilidad.

4. NÚMEROS PSEUDO-ALEATORIOS
Se llama números pseudoaleatorios a una sucesión determinística de números en el
intervalo [0,1] que tiene las mismas propiedades estadísticas que una sucesión de
números aleatorios. Una forma general de obtener números pseudoaleatorios es
partir de una semilla de p números y aplicar una función d.
Formalmente se definen por:
 Función de inicialización: Recibe un número (semilla) y pone al generador
en su estado inicial.
 Función de transición: Transforma el estado del generador
 Función de salida: Transforma el estado para producir un número fijo de bits
(0 o 1). Una sucesión de bits pseudoaleatorias se obtiene definiendo la
semilla y llamando repetidamente la función de transición y a función de
salida.
4.1 CARACTERÍSTICAS QUE DEBEN DE CUMPLIR LOS MÉTODOS DE
GENERACIÓN DE NÚMEROS PSEUDOALEATORIOS

 Equidistribución: Los números pseudoaleatorios deben repetirse por igual,


como correspondería a una verdadera distribución uniforme.
 Largo periodo: Todos los generadores de números pseudo aleatorios tienen
un periodo a partir del cual la secuencia de números se vuelve a repetir. Para
evitar correlaciones no deseadas es importante que el periodo sea largo para
no llegar a agotar la secuencia en un cálculo concreto.
 Repetibilidad: A veces se necesita repetir el cálculo con exactamente los
mismos números pseuso aleatorios (para hacer una comprobación, por
ejemplo). Así que conviene el generador permite almacenar su estado.
 Largas subsecuencias disjuntas: Si la simulación es muy extensa resulta
conveniente que sean estadísticamente independientes y así se puedan
recombinar sin introducir correlaciones.
 Portabilidad: La rutina debe generar exactamente la misma secuencia de
números pseudo aleatorios no solamente por distintos lenguajes de
programación si no también en distintas maquinas.
 Eficiencia: La generación de cada número pseudoaleatorio debe consumir
muy poco tiempo
 Eficiencia. La generación de cada número pseudoaleatorio debe consumir
muy poco tiempo.
 Estadísticamente independientes.
 Continuidad. Los números pseudoaleatorios generados deben ser continuos
en lugar de discretos.

4
5. MÉTODOS PARA LA GENERACIÓN DE NUMEROS PSEUDOALEATORIOS

Los números pseudoaleatorios son aquellos que parecen ser generados de manera
aleatoria, pero en realidad se generan mediante un algoritmo determinista. Estos
números se utilizan ampliamente en muchas áreas, incluyendo la criptografía, la
simulación y los juegos de azar.
La clave para generar números pseudoaleatorios es utilizar un algoritmo que sea
determinista, pero produzca una secuencia de números que parezca ser aleatoria.
Un ejemplo de tal algoritmo es el generador de números pseudoaleatorios lineales
congruencia les, que utiliza una semilla y una fórmula matemática para producir una
secuencia de números.
Es importante tener en cuenta que, aunque los números pseudoaleatorios parecen
ser aleatorios, en realidad no lo son. La secuencia de números puede ser predecible
si se conoce el algoritmo y las semillas utilizadas. Por lo tanto, es importante utilizar
un buen algoritmo de generación de números pseudoaleatorios para garantizar la
seguridad y la privacidad en aplicaciones críticas.

5.1 Método de algoritmo de cuadrados medios:Este algoritmo necesita un


número entero detonador también llamado “Semilla” con D dígitos, el cual es
elevado al cuadrado para seleccionar del resultado los D dígitos del centro; el
primero número ri, es determinado anteponiendo el 0 a estos dígitos.
El segundo ri se obtiene con el mismo procedimiento, solo que en este se elevan al
cuadrado los D dígitos del centro que se seleccionaron para obtener el primero ri.
Este método se repite hasta obtener un n número ri.
Pasos para generar números con algoritmo cuadrados medios:
1. Seleccionar una 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.

5.2 Método de algoritmo multiplicador constante


Este algoritmo no congruencial es similar al algoritmo de productos medios. Los
siguientes son los pasos para generar números pseudoaleatorios con algoritmo de
multiplicador constante.
1. Seleccionar una semilla (Xo)con D dígitos (D >3)
2. Seleccionar una constante (a) con D dígitos (D >3)
5
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*X¡; 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

5.3 Método congruencial:El objetivo de cada uno de los métodos congruenciales


es la generación de un tiempo mínimo, de sucesiones de números aleatorios con
periodos máximos. Los principales generadores de números pseudo-aleatorios son
los generadores congruencia les lineales.

 Congruencial Aditivo: Se calcula una sucesión de números


mediante la relación Xn+1=Xn + Xn-k (Modulo M). Se necesitan
K valores iniciales, siendo K entero. Las propiedades de la
secuencia mejoran a medida que K incrementa.
 Congruencial Multiplicativo: Se calcula una sucesión Xn de
enteros no negativo. En caso de la relación de congruencia en
que c=0, en este método los números generados están
uniformemente distribuidos y no están relacionados.
 Congruencial mixto o lineal: Genera una secuencia de
números pseudoaleatorios en la cual el número proximo es
determinado a partir del último número generado. La relación de
recurrencia para el generador congruencial mixto es Xn+1 =(a
Xn+c) mod m, en donde
 · X0 = es la semilla
 · a =el multiplicador
 · c = constante aditiva
 · m = el modulo (m > X0, a,c)
 · X0, a, c >0

5.4 Método Monte Carlo: Es una técnica matemática que se utiliza para estimar los
posibles resultados de un evento incierto. Este modelo crea posibles resultados
aprovechando una distribución de probabilidades para cualquier variable. A medida
que aumenta el número de entradas, el número de predicciones también crece, lo
que le permite proyectar los resultados con mayor precisión.

6
6. EJEMPLOS PRÁCTICOS PARA LA GENERACIÓN DE VARIABLES
ALEATORIAS

La generación de variables aleatorias es un concepto fundamental y se refiere a la


producción de valores que son inciertos y no determinísticos. Se pueden utilizar
para simular situaciones reales y para entender la distribución de probabilidad de
diferentes eventos.
Generalmente estas variables siguen distribuciones teóricas o empíricas distintas a
la distribución uniforme. Para simular este tipo de variables es necesario trabajar
con un generador de números aleatorios uniformes y una función hallada por un
método especifico, que permita obtener dichos valores.

6.1 Ejemplo por Algoritmo de Cuadrados Medios

Xo= 5356 X3= 4211


Xo ²= 28686736 X3 ²= 17732521
X1= 6867 X4=7325
X1 ²= 47155689 X4 ²= 53655625
X2=1556 X5=6556.
Xo2²= 02421136

6.2 Ejemplo por Algoritmo de Multiplicador Constante.

Generar los primeros 5 numeros partir de la semilla Xₒ=9803 y con la constante


a=6965. Observe que la semilla como la constante tienen D=4 digitos.

ALGORITMO DE MULTIPLICADOR CON CONSTANTE.


Ceros a la
n Xₒ a Xₒ*a X₁ Ri
izquierda
1 9803 6965 68277895 68277895 2778 0.2778
2 2778 6965 19348770 19348770 3487 0.3487
3 3487 6965 24286955 24286955 2869 0.2869
4 2869 6965 19982585 19982585 9825 0.9825
5 9825 6965 68431125 68431125 4311 0.4311

7
6.3 Ejemplo MétodoCongruencial Multiplicativo

Halle el periodo de un generador de números pseudoaleatorios en el intervalo (0, 1)


a partir de los parámetros siguientes: semilla 9, multiplicador 11 y módulo 16.

6.4 Ejemplo Método Congruencial Lineal

Este algoritmo genera una secuencia de números enteros, se calcula por medio de
la siguiente ecuación:

Xi+1=(aXi+C)mod(m)

DondeXoes la semilla, a es la constante multiplicativa, c es la constante aditiva y m


es el módulo. Se requiere que tanto Xo,a,c y m sean mayores de cero. La ecuación
recursiva genera una secuencia de números enteros S=[0,1,2,3....m-1], y para
obtener números pseudoaleatorios en el intervalo (0,1) se requiere de la siguiente
ecuación.
ri= X/m-1 i-1,2,3....

8
supongamos que se tiene un generador en el cual los valores de sus parámetros
son: a = 5, c = 7, X0 = 4 y m = 8. El generador quedará de la siguiente manera:
Xn+1 = (5 Xn + 7) mod 8
En la tabla 2, se muestran los números aleatorios generados por este método.

CONCLUSIONES

Se puede concluir que aplicar este tipo de métodos para arrojar números aleatorios
a través de números pseudoaleatorios, es muy importante, ya que con ellos se
ejecutan programas o simulaciones que nos ayudan a evitar futuros problema,
también nos ayudan representar la realidad a través de la simulación, en
programación ayudan a tomar diferentes caminos en un proceso, en la vida
cotidiana se utilizan números aleatorios en situaciones tan dispares como pueden
ser en el diseño de la caída de los copos de nieve, en una animación por ordenador,
en tests para localización de errores en chips, en la transmisión de datos desde un
satélite o en las finanzas.
Así mismo es de suma importancia conocer los diferentes métodos de aplicación de
la generación de números aleatorios y pseudoaleatorios, a través de ejemplos
prácticos sobre la generación de variables aleatorias para poder aplicarlas de una
forma correcta, y que sean válidos a fin de poder usarse o ejecutarse.

9
Por último, no hay que olvidar que para poder utilizar cualquier método de
generación de variables aleatorias es muy importante tomar en cuenta las
características de cada número aleatorio y pseudoaleatorio.

REFERENCIAS

ABG, S. (2016). Numeros Pseudoaleatorios. Obtenido de:


HTTPS://GBANDREA24.WORDPRESS.COM/2016/09/14/NUMEROS-PSEUDOALEATORIOS/.

Garzón, F. G. (2017). Caso Pratico de Simulacion Monte Carlo. Catalunya, España: Obtenido de:
HTTPS://WWW.OMNIASCIENCE.COM/BOOKS/INDEX.PHP/SCHOLAR/CATALOG/DOWNLOAD/
48/216/214-1?INLINE=1.

GITHUB. (2018). Gneracion de numeros aleatorios. Obtenido de: https://tereom.github.io/est-


computacional-2018/numeros-pseudoaleatorios.

Tecnm. (2021). Numeros Pseudoaleatorios. Obtenido de:


https://hopelchen.tecnm.mx/principal/sylabus/fpdb/recursos/r130711.PDF.

10
11

También podría gustarte