Numeros Aleatorios

UTH Universidad Tecnológica de Honduras Catedrática: Ing. Merary Ayala Presentado Por: Christian Leodan Lopez Santos

Views 139 Downloads 3 File size 672KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UTH Universidad Tecnológica de Honduras

Catedrática: Ing. Merary Ayala

Presentado Por: Christian Leodan Lopez Santos

Cuenta: 210520020117

Clase: Modelación y Simulación de sistemas

Fecha Limite: 22 de JUNIO del 2019.

MODELACION Y SIMULACION DE SISTEMAS

CL

Tabla de contenido objetivos ....................................................................................................................................... 3 introducción: ................................................................................................................................ 4 números aleatorios y pseduoaleatorios .................................................................................. 5 números aleatorios ................................................................................................................. 5 ¿para qué sirven?............................................................................................................... 5 propiedades y generadores de números aleatorios...................................................... 5 ¿cómo puedo generar números aleatorios? .................................................................. 6 ¿qué son los números pseudoaleatorios?.......................................................................... 7 propiedades de los números pseudoaleatorios ............................................................. 7 ¿por qué hay que recurrir a los números pseudoaleatorios? ...................................... 8 aplicaciones en la criptografía .......................................................................................... 8 que son generadores de números aleatorios y psudoaleatorios ........................................ 9 generador de numeros aleatorios ........................................................................................ 9 generador de números pseudoaleatorios ........................................................................... 9 generadores de numeros aleatorios y pseudoaleatorios ................................................... 10 el método de centros al cuadrado (método de los cuadrados medios) ....................... 10 desventaja del método de centros al cuadrado: .............................................................. 10 método de lehmer................................................................................................................. 11 método congruencia mixto lineal........................................................................................ 11 el método congruencial multiplicativo................................................................................ 11 pruebas estadísticas o de aleatoriedad para los números pseudoaleatorios. ............ 12 prueba de los promedios ..................................................................................................... 12 prueba de las frecuencias ................................................................................................... 12 prueba de series ................................................................................................................... 12 prueba de las corridas ......................................................................................................... 13 método de montecarlo ......................................................................................................... 13 conclusion ................................................................................................................................... 14

MODELACION Y SIMULACION DE SISTEMAS

CL

Objetivos Conocer sobre los números aleatorios, que, son aquellos que pueden ser generados a partir de fuentes de aleatoriedad, las cuales, generalmente, son de naturaleza física (dados, ruletas, mecanismos electrónicos o mecánicos), y son gobernados por las leyes del azar; éstos exhiben verdadera aleatoriedad en la realización de experimentos. Por su parte, los números pseudo-aleatorios son aquellas que tienen un comportamiento similar a la naturaleza aleatoria, pero están ceñidos a un patrón, generalmente de naturaleza matemática, que hace que su comportamiento sea determinantico.

MODELACION Y SIMULACION DE SISTEMAS

CL

Introducción:

Los sistemas reales frecuentemente tienen valores de tiempo y cantidades que varían dentro de un rango y de acuerdo a una función específica de densidad, definida por una distribución de probabilidad. Por ejemplo, si el tiempo que se tarda una máquina en procesar una pieza se distribuye entre 2.2 minutos y 4.5 minutos, esto se definirá como una distribución de probabilidad en el modelo de simulación. Durante la simulación, cada vez que una pieza entre a esta máquina y sea procesada, el simulador generará un número al azar entre 2.2 y 4.5 minutos para simular el tiempo de procesamiento de esa pieza. Cada vez que generamos un valor a partir de una distribución, a ese valor se le llama variable aleatoria. Para generar variables aleatorias, es necesario utilizar números aleatorios.

Casi todas las aplicaciones comerciales tienen varios generadores de números pseudoaleatorios que pueden generar un conjunto muy grande de números sin mostrar correlación entre ellos, para ello se utilizan métodos preestablecidos que garantizan esta demanda. 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 sí mismos, y que su aleatoriedad se extrapole al modelo de simulación que se está construyendo. En la construcción del modelo los números aleatorios juegan un papel relevante. Unas de las primeras tareas que es necesario llevar a cabo consiste en analizar si los números que se utilizaran para “correr” o ejecutar la simulación son realmente aleatorios o no; por desgracia, precisar lo anterior con absoluta certidumbre resulta muy complicado, ya que para ello se tendría que generar un número infinito de valores que permitan comprobar la existencia de correlaciones entre ellos. Esta actividad sería muy costosa y tardada, volviendo impráctico el uso de la simulación aun con las computadoras más avanzadas.

MODELACION Y SIMULACION DE SISTEMAS

CL

NÚMEROS ALEATORIOS Y PSEDUOALEATORIOS

NÚMEROS ALEATORIOS Un número aleatorio es aquel obtenido al azar, es decir, que todo número tenga la misma probabilidad de ser elegido y que la elección de uno no dependa de la elección del otro. El ejemplo clásico más utilizado para generarlos es el lanzamiento repetitivo de una moneda o dado ideal no trucado. ¿PARA QUÉ SIRVEN? Los números aleatorios permiten a los modelos matemáticos representar la realidad. En general cuando se requiere una impredecibilidad en unos determinados datos, se utilizan números aleatorios Los seres humanos vivimos en un medio aleatorio y nuestro comportamiento lo es también. Si deseamos predecir el comportamiento de un material, de un fenómeno climatológico o de un grupo humano podemos inferir a partir de datos estadísticos. Para lograr una mejor aproximación a la realidad nuestra herramienta predictiva debe funcionar de manera similar: aleatoriamente. De esa necesidad surgieron los modelos de simulación. En la vida cotidiana se utilizan números aleatorios en situaciones tan dispares como pueden ser los juegos de azar, 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. PROPIEDADES Y GENERADORES DE NÚMEROS ALEATORIOS. 1. Su generación se basa en el uso de mecanismos físicos. Entre las distintas propuestas se incluyen el recuento de partículas emitidas por una explosión, el lanzamiento de monedas, aparatos mecánicos basadas en ruedas de la fortuna, etc. 2. Tienen el inconveniente de ser generados lentamente. Además, los números aleatorios no pueden almacenarse de forma automática. Por tanto, se deben buscar procedimientos algorítmicos computacionales que generen números

MODELACION Y SIMULACION DE SISTEMAS

CL

aleatorios de forma muy rápida y los puedan almacenar sin utilizar mucha capacidad de memoria. Una de las características más poderosas de la simulación es la habilidad de imitar el comportamiento aleatorio que es característico de la mayoría de los sistemas reales. Para poder imitar este comportamiento aleatorio la simulación necesita utilizar un generador de números aleatorios, el cual es responsable de producir un ciclo grandísimo e independiente de números aleatorios. Hay que aclarar que los números U(0,1) 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 aleatorio. Por esta razón, a los números U(0,1) producidos por un generador (algoritmo) se les llama pseudoaleatorios. ¿CÓMO PUEDO GENERAR NÚMEROS ALEATORIOS? La lógica nos hace pensar que las personas somos generadores aleatorios imperfectos, hay estudios que demuestran que existen tendencias claras en los humanos para la elaboración de secuencias sesgadas y están relacionadas con características personales, con los conocimientos o informaciones previas o con la edad Podemos aprovecharnos de situaciones reales para obtener una tabla de números aleatorios, como la lista de los números de Lotería Nacional premiados a lo largo de su historia, pues se caracterizan por que cada dígito tiene la misma probabilidad de ser elegido, y su elección es independiente de las demás extracciones. Métodos manuales, lanzamiento de monedas, lanzamientos de dados, dispositivos mecánicos, dispositivos electrónicos Métodos de computación analógica, son métodos que dependen de ciertos procesos físicos aleatorios, por ejemplo, el comportamiento de una corriente eléctrica. Métodos de computación digital, cuando se usa el ordenador digital.

MODELACION Y SIMULACION DE SISTEMAS

CL

Tablas de bibliotecas, son números aleatorios que se han publicado; de los cuales podemos encontrar listas en los libros de probabilidad y tablas de matemáticas. Estos números fueron generados por alguno de los métodos de computación analógica. ¿QUÉ SON LOS NÚMEROS PSEUDOALEATORIOS? Son unos números generados por medio de una función (determinista, no aleatoria) y que aparentan ser aleatorios. Estos números pseudoaleatorios se generan a partir de un valor inicial aplicando iterativamente la función. La sucesión de números pseudoaleatorios es sometida a diversos tests para medir hasta qué punto se asemeja a una sucesión aleatoria. PROPIEDADES DE LOS NÚMEROS PSEUDOALEATORIOS Es deseable que los números pseudoaleatorios uniformes posean las siguientes características: 

Uniformemente distribuidos.



Estadísticamente independientes.



Reproducibles.



Periodo largo.



Generados mediante un método rápido.



Generados mediante un método que no requiera mucha capacidad de almacenamiento de la computadora.

Generar un conjunto de números pseudoaleatorios es una tarea relativamente sencilla, para ello, el lector sólo tiene que diseñar su propio algoritmo de generación. Lo que resulta difícil es diseñar un algoritmo que genere un conjunto de números pseudoaleatorios con periodo de vida suficientemente grande (N) y además pase sin problema las pruebas de uniformidad e independencia, lo cual implica evitar problemas como éstos: 

Que los números del conjunto no estén uniformemente distribuidos, es decir, que haya demasiados números en un subintervalo y otro muy pocos o ninguno.



Que los números pseudoaleatorios sean discretos en lugar de continuos.



Que la media del conjunto sea muy alta o muy baja, es decir, que esté por arriba o por debajo de ½.

MODELACION Y SIMULACION DE SISTEMAS

CL



Que la varianza del conjunto sea muy alta o muy baja, es decir, que se localice por arriba o por debajo de 1/12.

En ocasiones se presentan también anomalías como números pseudoaleatorios seguidos por arriba o por debajo de la media; secuencia de números por arriba de la media, seguida por una secuencia por debajo de la media, y viceversa, o varios números seguidos en forma ascendente o descendente. Existen varios métodos para generar números pseudoaleatorios.

¿POR

QUÉ

HAY

QUE

RECURRIR

A

LOS

NÚMEROS

PSEUDOALEATORIOS? Fundamentalmente porque las sucesiones de números pseudoaleatorios son más rápidas de generar que las de números aleatorios. Si las personas tenemos dificultad en generar números aleatorios, mucho más la tiene un ordenador, la dificultad está en que un ordenador es tan "torpe" que no sabe generarlos. Por eso usan números pseudoaleatorios, que para nuestro fin es lo mismo, pues nadie los puede predecir. APLICACIONES EN LA CRIPTOGRAFÍA En el corazón de todos los sistemas criptográficos, está la generación de números secretos que no puedan ser adivinados por otra persona, es decir aleatorios. La generación de números aleatorios es necesaria en diversos sistemas criptográficos, como por ejemplo en la telefonía móvil digital GSM se utilizan para la asignación de una clave aleatoria que sirve para autenticar al usuario o también para dar cierta seguridad a la asignación inicial de números secretos a las tarjetas de crédito.

MODELACION Y SIMULACION DE SISTEMAS

CL

QUE

SON

GENERADORES

DE

NÚMEROS

ALEATORIOS

Y

PSUDOALEATORIOS GENERADOR DE NUMEROS ALEATORIOS Una vez construido un modelo, debemos experimentar sobre él y para poder ejecutarlo necesitamos dar valores a las variables de tipo exógeno. De esta forma podremos obtener valores de salida y pasaremos a realizar un análisis de los mismos. Algunas de las variables de entrada son de tipo aleatorio por lo que se tendrán que generar valores que simulen dichas entradas. Para generar variables aleatorias que sigan determinadas funciones de probabilidad necesitamos partir de series de números que cumplan ciertas características de aleatoriedad. La generación de dichos números es lo que se va a abordar en este tema.

GENERADOR DE NÚMEROS PSEUDOALEATORIOS Un generador pseudoaleatorio de números (GPAN) es un algoritmo que produce una sucesión de números que es una muy buena aproximación a un conjunto aleatorio de números. La sucesión no es exactamente aleatoria en el sentido de que queda completamente determinada por un conjunto relativamente pequeño de valores iniciales, llamados el estado del GPAN. Si bien es posible generar sucesiones mediante generadores de números aleatorios por dispositivos mecánicos que son mejores aproximaciones a una sucesión aleatoria, los números pseudo-aleatorios son importantes en la práctica para simulaciones (por ejemplo, de sistemas físicos mediante el método de Montecarlo), y desempeñan un papel central en la criptografía. La mayoría de los algoritmos de generadores pseudoaleatorios producen sucesiones que poseen una distribución uniforme según varios tipos de pruebas. Las clases más comunes de estos algoritmos son generadores lineales congruentes, generadores Fibonacci demorados, desplazamiento de registros con

retroalimentación

lineal

y

desplazamientos

de

registros

con

retroalimentación generalizada. Entre los desarrollos más recientes de algoritmos pseudoaleatorios se encuentran Blum Blum Shub, Fortuna, y el Mersenne twister.

MODELACION Y SIMULACION DE SISTEMAS

CL

Se requiere de un cuidadoso análisis matemático para tener algún tipo de confianza en que un dado GPAN genera números que son suficientemente "aleatorios" para ser útiles para el propósito para el que se los precisa. Robert R. Coveyou del Oak Ridge National Laboratory escribió un artículo titulado, "La generación de números aleatorios es demasiado importante como para ser dejado al azar."1 Y como John von Neumann decía en broma, "Todo el que desarrolla métodos aritméticos para producir dígitos aleatorios esta desde luego en pecado."2

GENERADORES DE NUMEROS ALEATORIOS Y PSEUDOALEATORIOS EL

MÉTODO

DE

CENTROS

AL

CUADRADO

(MÉTODO

DE

LOS

CUADRADOS MEDIOS) Este método es debido a von Neumann y tiene fundamentalmente sólo interés histórico. El método de centros al cuadrado se apega a la siguiente metodología: 1.

Inicie con un número entero positivo de 4 (2n) dígitos y llámele

Z0 (X0), llamado semilla. 2.

Eleve Z0 (X0) al cuadrado para obtener un número de 8 (4n) dígitos.

Si es necesario, agregue ceros a la izquierda para hacerlo exactamente de 8 dígitos. 3.

Tome los 4 (2n) dígitos centrales como el próximo número de 4 (2n)

dígitos y llámele Z1(X1). 4.

Coloque el punto decimal a la izquierda de Z1(X1) para obtener el

primer número pseudoaleatorio U(0,1). 5.

Continué generando de esta forma números pseudoaleatorios

U(0,1) DESVENTAJA DEL MÉTODO DE CENTROS AL CUADRADO: Tiene una fuerte tendencia a degenerar rápidamente hacia cero, donde permanecerá por siempre.

La gran mayoría de los generadores de números pseudoaleatorios que se usan en la actualidad son generadores congruenciales lineales, introducidos por Lehmer en 1951.

MODELACION Y SIMULACION DE SISTEMAS

CL

Los generadores congruenciales lineales generan una secuencia de números pseudoaleatorios en la cual el próximo número pseudoaleatorio es determinado a partir del último número generado. A continuación, se presentan los dos más importantes: el método congruencial mixto lineal y el método congruencial multiplicativo lineal.

MÉTODO DE LEHMER El método consiste en los siguientes pasos:

1.

Se toma como semilla un número entero, X0, de n cifras.

2.

Se elige otro entero, c, de k cifras. Suele tomarse k