GENERADORES DE NUMEROS ALEATORIOS Catedra: MODELOS Y SIMULACION ¿Qué entienden por Simulación? Es el proceso de diseñar un modelo de un sistema y llevar a cabo experiencias con él, con el fin de analizar su comportamiento y/o evaluar diversas estrategias para su mejor funcionamiento. Modelo • cuando nos enfrentamos a situaciones donde no es posible obtener una información satisfactoria o es muy costosa su investigación • cuando el sistema real es muy complejo Generar múltiples escenarios, porque estamos expuestos a múltiples variaciones de los elementos de mi modelo Necesitamos diseñar experimentos y simular las situaciones que repliquen la realidad a través de un modelo simple Un modelo numérico puede permitir esas simulaciones sobre un numero x de hipótesis ¿QUE ES UN MODELO? Es una representación simplificada de la realidad diseñada para representar, conocer, predecir, propiedades del objeto real Se construyen con una finalidad: estudiar el objeto real con mas facilidad y deducir propiedades difíciles de observar en la realidad •Eliminando o simplificando componentes •Cambiando las escalas espaciales o temporales •Variando las condiciones del entorno •Evitando la actuación sobre el sistema real Pueden representar objetos o procesos Sistema Variable Interés de Continua Discreta / Estocástica/ Determinística Estática/ Dinámica Control de inventarios Control de peaje Ingreso de personal VARIABLE DE INTERES CONTINUA cambian continuamente en el tiempo, una característica importante de estas variables es que los eventos pueden ser medidas ESTOCASTICA Posee valores al azar definidos por funciones de probabilidad ESTATICA Sus relaciones no dependen del comportamiento del sistema y no cambian al corto plazo. Ej. Lanzar un dado DISCRETA variables enteras, los eventos pueden ser contados. Ej. Nro. de pers con covid-19 DETERMINISTICA El valor de conoce con cierta certeza DINAMICA Son reiterativos y cambian con el tiempo. Ej, el flujo de efectivo que circula en un sistema financiero Pautas para plantear un modelo Comprender claramente el problema a resolver Objetivos?? Identificar variables de decisión Variables de salida (predicción): métricas para comparar los resultados obtenidos para distintos valores de las variables de decisión Que elementos presentan incertidumbre? Identificar variables aleatorias Determinar la secuencia de cálculos que nos permita obtener los valores de las variables de salida a partir de los parámetros, variables de decisión y variables aleatorias del modelo Una vez construido un modelo, debemos experimentar sobre él y para poder ejecutarlo necesitamos dar valores a las v a r i a b l e s . De esta forma podremos obtener valores de salida y para realizar un análisis de los mismos. Algunas de las v a r i a b l e s de entrada son de tipo a l e a t o r i o por lo que se tendrán que generar valores que simulen dichas entradas. Los números aleatorios son un resultado de una variable al azar especificada por una función de distribución. Cuando no se especifica ninguna distribución, se presume que se utiliza la distribución uniforme Ejemplo Lanzar un dado Posible resultado 5 Tiene un comportamiento probabilístico Variable aleatoria Número aleatorio Los números aleatorios se generan mediante métodos físicos Corta 10 papelitos con numero del 0 al 9 Son números verdaderamente aleatorios Tipos de generación de números aleatorios • Manual. Por ejemplo , lanzar un dado o realizar extracciones con reemplazo de bolas numeradas dentro de una urna. • Ventajas: – - Las series obtenidas son realmente aleatorias. • Inconvenientes: – - Lentitud. – - Las series obtenidas no son reproducibles. – - Requieren gran cantidad de almacenamiento. • Tablas. (De hasta 100000 números). • Ventajas: – - Las series obtenidas son reproducibles. • Inconvenientes: – - Lentitud. – - Requieren gran cantidad de almacenamiento. • Computación analógica. Las series se obtienen mediante fenómenos físicos. • Ventajas: – Las series obtenidas son realmente aleatorias. – Rapidez. • Inconvenientes: – Las series obtenidas no son reproducibles. • Ejemplos: sistemas basados en excitación de átomos radiactivos, el recuento de partículas emitidas, el ruido blanco producido por circuitos electrónicos. Computación digital. Dada una función y una semilla, se van generando los números aleatorios. • Ventajas: – Rapidez. – Pocos requerimientos de almacenamiento. – Las series obtenidas son reproducibles. • Inconvenientes: – Los números obtenidos no son independientes. Xi+1=(aXi+c) mod m MÉTODOS VENTAJAS Manuales Facil generación Lentos, simples y poco prácticos Fácil Lentos y no implementación reproducibles Rápidos No reproducibles “ verdaderos” Rápidos No son verdaderos Tablas Comp Analógica Comp Digital DESVENTAJAS Hay que aclarar que los números producidos por un generador de números aleatorios (algoritmo computacional) no son aleatorios en el verdadero sentido de la palabra, ya que el generador puede reproducir la misma secuencia de números una y otra vez, lo cual no indica un comportamiento a l e a t o r i o . Por esta razón, a los números producidos por un generador (algoritmo) pseudoaleatorios. se les llama CARACTERISTICAS DE LOS NUMEROS PSEUDO ALEATORIOS 1. Uniformemente distribuidos. 2. Estadísticamente independientes (no correlación). 3. Periodo largo (sin repetición). 4. Reproducibles y mutables. 5. Sencillo en su implementación. 6. Portabilidad. 7. Método rápido de generación. 8. Poca memoria para la generación. METODOS DE GENERACION DE NUMEROS PSEUDOALEATORIOS Generadores con Valor Histórico Números Aleatorios Método de la Parte Central del Cuadrado Método de Lehmer Generadores Congruenciales Lineales Validación de Series de NA Mixto Multiplicativo Aditivo Variables U (0,1) Generación de Variables Aleatorias Pruebas de Uniformidad Frecuencia Promedio K-S Pruebas de Independencia Corridas Serie Método de la Parte Central del Cuadrado X2 15542608 9 181476 21609 25600 313600 129600 921600 25600 313600 X 12467 426 147 160 560 360 960 160 560 N Ui Xi ORDEN 426 0.426 426 1 147 160 560 360 960 160 560 360 0.147 0.16 0.56 0.36 0.96 0.16 0.56 0.36 147 160 560 360 960 160 560 360 2 3 4 5 6 7 8 9 Método de Lemher X T 31528 79 90688 X*T N-K Ui Ni ORDEN k N N-K 2490712 90688 0.90688 90688 1 24 90712 90688 79 7164352 64281 0.64281 64281 2 71 64352 64281 64281 79 5078199 78149 0.78149 78149 3 50 78199 78149 78149 79 6173771 73710 0.7371 73710 4 61 73771 73710 73710 79 5823090 23032 0.23032 23032 5 58 23090 23032 23032 79 1819528 19510 0.1951 19510 6 18 19528 19510 19510 79 1541290 41275 0.41275 41275 7 15 41290 41275 41275 79 3260725 60693 0.60693 60693 8 32 60725 60693 Método de Congruencia Lineal 17 X 17 289 4913 83521 19857 37569 38673 57441 76497 449 4309 17 (A*X)MOD (A*X) M 289 289 4913 4913 83521 83521 1419857 19857 337569 37569 638673 38673 657441 57441 976497 76497 1300449 449 7633 7633 1237 100000 Ui 0.00289 0.04913 0.83521 0.19857 0.37569 0.38673 0.57441 0.76497 0.00449 0.07633 Ni 289 4913 83521 19857 37569 38673 57441 76497 449 7633 2311 ORDEN 1 2 3 4 5 6 7 8 9 10 6031 X (A*X+C) (A*X+C)MOD M Ui=((A*X+C)MOD M)/M Ni 1237 1140 5337 3241 6015 5739 4562 4940 5372 3281 5332544 4914571 22999444 13967780 25920946 24731662 19659969 21288771 23150259 14140140 1140 5337 3241 6015 5739 4562 4940 5372 3281 3476 0,189 0.885 0.537 0.997 0.952 0.756 0.819 0.891 0.544 0.576 1140 5337 3241 6015 5739 4562 4940 5372 3281 3476 ORDEN 1 2 3 4 5 6 7 8 9 10 35 26 X Xo-K 52 87 13 52 95 47 34 47 99 94 41 75 22 21 15 35 26 39 43 52 87 13 52 95 47 34 47 99 94 41 39 43 (Xo+Xo- (Xo+Xo-k)MOD k) M 87 113 52 95 147 134 47 99 194 141 75 122 121 115 56 87 13 52 95 47 34 47 99 94 41 75 22 21 15 56 52 100 Ui Ni ORDEN 0.87 0.13 0.52 0.95 0.47 0.34 0.47 0.99 0.94 0.41 0.75 0.22 0.21 0.15 0.56 87 13 52 95 47 34 47 99 94 41 75 22 21 15 56 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ACTIVIDAD Descripción 1) Generadores de valor histórico. Realiza serie de números pseudoaleatorios con cada método, que cumplan las siguientes condiciones: a) Genere una serie de 50 o más números b) Genere una serie que se corte c) Genere una serie donde la semilla se repita 2) Generadores de congruencia lineal. Realiza serie de números pseudoaleatorios con cada método, que cumplan las siguientes condiciones: a) Genere una serie de 50 o más números b) Genere una serie donde la semilla se repita c) Genere una serie con tendencia a la correlación serial Fecha de presentación: 30/08/2022 LABORATORIO Descripción a) Utilizando un lenguaje de programación a elección, realiza un generador de números aleatorios con un método de congruencia lineal. El aplicativo deberá permitir el ingreso de parámetros según el tipo de generador a aplicar b) Realiza un programa que efectúe una prueba de uniformidad o independencia sobre la serie generada en el punto anterior. Debe permitir el ingreso de los parámetros del método y la salida generada deberá incluir una gráfica que represente las frecuencias observadas y esperadas (la gráfica se aceptará que se genere en base a un archivo de salida del programa, en Excel). c) Realiza un programa que permita aplicar la serie generada y validada con la prueba estadística en una situación de la vida cotidiana, por ejemplo, un juego de azar . d) Presentar diagrama de flujo y ejecutable. Fecha de presentación: 20/09/2022