Instituto Tecnológico de Ciudad Madero
Simulación
Profesora: Ing. Mora Otero Graciela
Equipo 4
Integrantes:
Diaz Zúñiga José Manuel No. Control: 18070536
González Carbajal Daniela No. Control: 18070544
Govea Turrubiates Vianey Sarahi No. Control: 18070595
Rogelio Reyes Luevano No. Control: 18070539
Semestre: 5to Grupo: “A”
Carrera:
Ing. Sistemas Computacionales
Hora: 10:00 a.m. – 11:00 a.m.
22 de Octubre del 2020
pág. 1
Índice
MARCO TEÓRICO ...................................................................................................................................3
ANÁLISIS DE LA SOLUCIÓN ................................................................................................................5
DISEÑO DE SOLUCIÓN .........................................................................................................................6
CONCLUSIÓN ..........................................................................................................................................8
BIBLIOGRAFÍA .......................................................................................................................................8
pág. 2
Marco Teórico
Método de los cuadrados medios
El método comienza tomando un número al azar, Xo, de 2n cifras (originalmente los
autores proponían 4 cifras) que al elevarlo al cuadrado resulta un número de hasta 4n
cifras. Si es necesario se añaden ceros a la izquierda para que el número resultante tenga
exactamente 4n cifras. Sea X1 el número resultante de seleccionar las 2n cifras centrales
de X; el primer número aleatorio U1 se obtiene poniendo un punto decimal delante las 2n
cifras de X1. A continuación X2 y U2 se generan a partir de X1 del mismo modo. Así
sucesivamente.
Este método tiene dos inconvenientes principales:
1. Tiene una fuerte tendencia a degenerar a cero rápidamente (probar por ejemplo con
x0 = 1009).
2. Los números generados pueden repetirse cíclicamente después de una secuencia
corta
Método de producto medio
Se comienza con dos semillas, cada una con N dígitos, y el número resultante se toma
como las cifras centrales del producto de los dos números anteriores.
Método de producto medio modificado
Se usa una constante multiplicativa en lugar de una variable, es decir Xn+1=(k*Xn).
Métodos congruenciales
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.
➢ Congruencial Aditivo
Calcula una sucesión de números mediante la relación Xn+1=Xn + Xn-k (mod M). Se
necesitan K valores iniciales, siendo K entero. Las propiedades estadísticas de la
secuencia mejoran a medida de que K incrementa.
➢ Método congruencial Multiplicativo
Calcula una sucesión Xn de enteros no negativo. En caso de la relación de congruencia
en que c=0, este método se comporta de manera satisfactoria, es decir los números
generados están uniformemente distribuidos y no están correlacionados.
pág. 3
➢ Método congruencial mixto o lineal
Genera una secuencia de números pseudoaleatorios en la cual el número próximo es
determinado a partir del último número generado.
Un generador congruencial tiene periodo completo si y sólo si se cumplen las siguientes
condiciones:
1. m y b son primos entre sí.
2. Si q es un número primo que divide a m, entonces q divide a a − 1.
3. Si 4 divide a m, entonces 4 divide a a − 1.
Combinación de algoritmos congruenciales
Los algoritmos congruenciales se pueden combinar para aumentar el periodo del
ciclo de generación. Estas combinaciones se basan en los siguientes resultados:
Si U1, . . . Uk son variables aleatorias iid U(0, 1), entonces la parte fraccional de U1 + . .
. Uk también sigue una distribución U(0, 1)
U1 + U2 + · · · + Uk − [U1 + U2 + . . . Uk] ∼ U(0, 1)
Si u1, u2, . . . , uk están generados por algoritmos congruenciales con ciclos de periodo
c1, c2, . . . , ck, respectivamente, entonces la parte fraccional de u1+u2+· · ·+uk tiene un
ciclo de periodo m.c.m.{c1, c2, . . . , ck}.
Como equipo hemos decidido que haremos uso del lenguaje JAVA para la elaboración
de nuestro método de generación de números pseudoaleatorios el cual será un método de
los cuadrados medios. Nos inclinamos más por Java ya que para la mayoría de los que
formas el equipo estamos mucho más relacionados con este entorno de programación,
porque es el lenguaje que hemos implementado desde preparatoria en unos casos y en la
universidad, sin mencionar la variedad de herramientas que poseen diferentes ID´S que se
desarrollan en Java y es menos
complicado al crear nuestro software,
debido a que podemos afrontar diferentes
escenarios que sean necesarios para el
desarrollo del mismo.
pág. 4
ANÁLISIS DE LA SOLUCIÓN
Paso 1: Valor Inicial X (semilla) y se determina su tamaño “n”
Paso 2: Se eleva al cuadrado ese valor X
Paso 3: Se extrae los “n” dígitos centrales
Paso 4: Se convierte a un valor entre 0 y 1 dividiendo el numero
central obtenido entre 10n
Paso 5: Usar el nuevo valor como X y volver al Paso
pág. 5
DISEÑO DE LA SOLUCIÓN
pág. 6
Ejecución
pág. 7
CONCLUSIÓN:
Con este programa podemos generar números aleatorios a partir de una semilla de más de
3 dígitos, así como decidir cuantas corridas deseamos de una manera sencilla pues al
mostrarlo en un archivo txt, es más fácil para el usuario que este entienda su
funcionamiento y sea a simple vista sus resultados.
El usar el método de los cuadrados medios nos ayuda a que cada número sucesivo se
genere tomando los dígitos centrales del anterior, esto nos da una vista de si existe una
relación en su generación pues por ello son números pseudoaleatorios.
Al estar realizando la practica implementamos el método para determinar valores entre
intervalos 0,1 para generar números pseudoaleatorios y así facilitar su creación,
implementar un método a un lenguaje de programación en este caso Java y para realizar
el diagrama utilizamos el programa PSeint para mayor entendimiento, logrando tener una
gran percepción sobre el mismo tema en un ámbito orientado a nuestra carrera.
Los números pseudoaleatorios constituyen una parte realmente importante en la
simulación de procesos estocásticos y generalmente se usan para generar el
comportamiento de variables aleatorias, tanto continuas como discretas. Por lo tanto
hemos aprendido a implementar un método para la generación de números
pseudoaleatorios con ayuda de los programas ya mencionados, nos ayudó a comprender
aún más el cómo se generan dichos números.
BIBLIOGRAFÍA:
❖ Andrea, G.. (2016). Números Pseudoaleatorios. octubre 17, 2020, de WordPress
Sitio web: https://gbandrea24.wordpress.com/2016/09/14/numeros-
pseudoaleatorios/
❖ Coss, R.(1993).Simulación, un enfoque práctico.(pp.19-23).México: Limusa.
❖ Fetch. (2016). Generación de números aleatorios. octubre 19, 2020, de WEBS Sitio
web:
https://webs.um.es/mpulido/miwiki/lib/exe/fetch.php?id=amio&cache=cache&me
dia=wiki:simt1b.pdf
❖ Reza M. y García, E.(1996).Simulación y análisis de modelos estocásticos.(pp. 69-
70).México: MacGraw-Hill.
pág. 8