17
Ing. Adam Francisco Parede Ing. Adam Francisco Parede Universidad Nacional Hermilio Valdizán Simulación Simulación Generación de Números Generación de Números Pseudo Aleatorios Pseudo Aleatorios Semana 05-01 Semana 05-01

generacion de numero pseudoaleatorio

Embed Size (px)

DESCRIPTION

como generasr numeros pseudoaleatorio

Citation preview

Page 1: generacion de numero pseudoaleatorio

Ing. Adam Francisco ParedesIng. Adam Francisco Paredes

Universidad Nacional Hermilio Valdizán

SimulaciónSimulación

Generación de NúmerosGeneración de NúmerosPseudo AleatoriosPseudo Aleatorios

Semana 05-01Semana 05-01

Page 2: generacion de numero pseudoaleatorio

Objetivos del Curso:Objetivos del Curso:El estudiante deberá encontrarse en la capacidad de desarrollar Modelos de casos reales y simularlos.

Objetivos de la Clase:Objetivos de la Clase:Generar números pseudo-aleatorios con métodos no congruenciales

II. OJETIVOSII. OJETIVOS

Page 3: generacion de numero pseudoaleatorio

INDICEINDICE

PRINCIPIOS BASICOS DE LA SIMULACIONObjetivos2.1 Números pseudo aleatorios2.2 Generación de números pseudo aleatorios2.3 Algoritmo de cuadrados medios2.4 Algoritmo de productos medios2.5 Algoritmo de multiplicador constante2.6 Algoritmo linealRecomendacionesBibliografía

INTRODUCCION A LA SIMULACIÓNINTRODUCCION A LA SIMULACIÓN

Page 4: generacion de numero pseudoaleatorio

2.1. NÚMEROS PSEUDO-ALEATORIOS2.1. NÚMEROS PSEUDO-ALEATORIOS

Para poder realizar una simulación que incluya variabilidad dentro de sus eventos, es preciso generar una serie de números que sean aleatorios por si mismos.

Una de las primeras tareas que es necesario llevar a cabo consiste en determinar si los números que utilizaremos para ejecutar la simulación son realmente aleatorios o no.

Para lograr números completamente aleatorio con absoluta certidumbre resulta muy complicado ya que para ello tendríamos que generar un número infinito de valores que nos permita comprobar la inexistencia de correlaciones entre ellos.Pero podemos asegurar con altos niveles de confiabilidad que el conjunto de números que utilizaremos en una simulación se comporta de manera muy similar al conjunto de números totalmente aleatorios. Por eso es que se les denomina números pseudo aleatorios.

Page 5: generacion de numero pseudoaleatorio

2.2. GENERACION DE NÚMEROS PSEUDO ALEATORIOS2.2. GENERACION DE NÚMEROS PSEUDO ALEATORIOS

Para realizar una simulación se requiere números aleatorios en el intervalo (0,1) a los cuales se hará referencia como ri , es decir ri={r1,r2,r3, … , rn} que contiene n números todos ellos diferentes.

Donde n es el periodo o ciclo de vida del generador que creó la secuencia ri

Los ri se usan para generar el comportamiento de variables aleatorias tanto Continuas como Discretas

Los ri se generan por medio de algoritmos determinísticos que requieren parámetros de arranque.

Por ejemplo para simular el tiempo de atención en 5 días a clientes de un banco que tiene 5 cajeros en paralelo, cada uno de los cuales atiende aproximadamente 50 clientes diarios y solamente considerando una sola variable; se requiere 2500 números pseudo aleatorios

Page 6: generacion de numero pseudoaleatorio

2.2. GENERACION DE NÚMEROS PSEUDO ALEATORIOS2.2. GENERACION DE NÚMEROS PSEUDO ALEATORIOS

Para generar un conjunto de ri solo tienes que diseñar tu propio algoritmo de generación.

Lo que resulta difícil es diseñar un algoritmo que genere un conjunto de r i grande (N) y que además pase sin problema las pruebas de uniformidad e independencia. Como:-Uniformemente distribuido-Sean discretos en lugar de continuos-La media del conjunto no sea muy alta o muy baja, es decir que esté por arriba o por debajo de ½-La varianza no sea muy alta o muy baja, es decir, que se localice por arriba o por debajo de 1/12

A continuación presentamos algoritmos no congruenciales y congruenciales para generar números pseudo aleatorios

Page 7: generacion de numero pseudoaleatorio

2.3. ALGORITMOS2.3. ALGORITMOS

Algoritmos no congruenciales-Algoritmo de cuadrados medios-Algoritmo de productos medios-Algoritmo de multiplicador constante

Algoritmos congruenciales-Algoritmo lineal-Algoritmo congruencial multiplicativo-Algoritmo congruencial aditivo-Algoritmo congruencial aditivo

Algoritmos congruenciales no lineales-Algoritmo congruencial cuadrático-Algoritmo de Blum, Blum y Shub

Page 8: generacion de numero pseudoaleatorio

2.3. ALGORITMO DE CUADRADOS MEDIOS2.3. ALGORITMO DE CUADRADOS MEDIOS

Page 9: generacion de numero pseudoaleatorio

2.3. ALGORITMO DE CUADRADOS MEDIOS2.3. ALGORITMO DE CUADRADOS MEDIOS

Ejemplo:Generar los 5 primeros números ri a partir de una semilla x0=5735, donde se puede observar que D = 4 dígitos

Page 10: generacion de numero pseudoaleatorio

2.4. ALGORITMO DE PRODUCTOS MEDIOS2.4. ALGORITMO DE PRODUCTOS MEDIOS

Page 11: generacion de numero pseudoaleatorio

2.4. ALGORITMO DE PRODUCTOS MEDIOS2.4. ALGORITMO DE PRODUCTOS MEDIOS

Ejemplo:Generar los 5 primeros números ri a partir de una semilla x0=5015 y x1=5734, donde se puede observar que ambas semillas tienen D = 4 dígitos

Page 12: generacion de numero pseudoaleatorio

2.3. ALGORITMO DE CUADRADOS MEDIOS2.3. ALGORITMO DE CUADRADOS MEDIOS

Page 13: generacion de numero pseudoaleatorio
Page 14: generacion de numero pseudoaleatorio

2.5. ALGORITMO DEL MULTIPLICADOR CONSTANTE2.5. ALGORITMO DEL MULTIPLICADOR CONSTANTE

Page 15: generacion de numero pseudoaleatorio

Ejemplo:Generar los 5 primeros números ri a partir de una semilla x0=9803 y con una constante a=6965, donde se puede observar que tanto la semilla como la constante tienen D = 4 dígitos

2.5. ALGORITMO DEL MULTIPLICADOR CONSTANTE2.5. ALGORITMO DEL MULTIPLICADOR CONSTANTE

Page 16: generacion de numero pseudoaleatorio

2.6. ALGORITMO LINEAL2.6. ALGORITMO LINEAL

Page 17: generacion de numero pseudoaleatorio

Ejemplo:Generar los 4 primeros números ri con los siguientes parámetros: x0=37, a=19, c=33, y m=100

2.6. ALGORITMO LINEAL2.6. ALGORITMO LINEAL