Generador de números aleatorios, pseudoaleatorios, cuasialeatoricos I
1. Universidad Interamericana San Germán Departamento de Matemáticas Generador de números aleatorios,pseudoaleatorios, cuasialeatoricos Roberto Romero Norlan Rodríguez
2. I - Definiciones Números Aleatorios Un resultado de una 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 los computadoras es fácil simular la generación de números aleatorios, mediante mecanismos de generación de númerosseudoaleatorios, que, sin ser aleatorios (siguen una fórmula), lo aparentan.
3. Generador de números aleatorios En componente o funcionalidad que crea números o símbolos para un programa software en una forma que carezca de un patrón evidente, y que así parezcan ser números aleatorios. La mayor parte de los generadores de números aleatorios son, en realidad, pseudoaleatorios: se calcula (o introduce internamente) un valor X0, que llamaremos semilla, y, a partir de él, se van generando X1, X2, X3, ... Siempre que se parta de la misma semilla, se obtendrá la misma secuencia de valores.
4. II – Utilidades Los números de generadores de azar tienen aplicaciones en los juegos de azar , muestreo estadístico , simulación por ordenador , la criptografía , un diseño completamente aleatorizado, y otras áreas donde producir un resultado impredecible es deseable. Tenga en cuenta que, en general, donde lo impredecible es lo más importante - como en aplicaciones de seguridad - generadores de hardware son generalmente preferida, siempre que sea posible, sobre algoritmos pseudo-aleatorios.
5. Los generadores de Números Aleatorios son muy útiles en el desarrollo de método de Monte Carlo simulaciones como la depuración se ve facilitada por la capacidad de ejecutar la misma secuencia de números aleatorios de nuevo a partir de la misma semilla aleatoria . También se utilizan en la criptografía siempre y cuando la semilla es secreta. Del remitente y el receptor puede generar el mismo conjunto de números de forma automática para utilizar como claves. La generación de números pseudo-aleatorios es una tarea importante y común en programación de computadoras. Si bien y algunos algoritmos numéricos criptografía requieren un alto grado de aparente aleatoriedad, muchas otras operaciones sólo necesita una pequeña cantidad de imprevisibilidad. Algunos ejemplos simples pueden ser la presentación de un usuario con un "RandomQuote of theDay", o la determinación de qué manera un adversario controlado por ordenador puede moverse en un juego de ordenador. formas más débiles de azar también están estrechamente asociados con algoritmos hash y en la creación de amortizar la búsqueda y los algoritmos de ordenación .
6. Algunas aplicaciones que aparecen a primera vista, ser adecuado para la asignación al azar son, en realidad no es tan simple. Por ejemplo, un sistema que "al azar", selecciona las pistas de música para un sistema de música de fondo sólo debe aparecer a ser al azar, e incluso puede tener formas de controlar la selección de la música, un sistema al azar cierto habría ninguna restricción en el mismo artículo aparecen dos o tres veces seguidas.
7. Concepto Básico Método de Montecarlos Un método no determinístico o estadístico numérico usado para aproximar expresiones matemáticas complejas y costosas de evaluar con exactitud. El método se llamó así en referencia al Casino de Montecarlo (Principado de Mónaco) por ser “la capital del juego de azar”, al ser la ruleta un generador simple de números aleatorios. El nombre y el desarrollo sistemático de los métodos de Montecarlo datan aproximadamente de 1944 y se mejoraron enormemente con el desarrollo de la computadora.
8. II - Propiedades de un buen generador Una secuencia de números U1, U2, . . . , UN es unamuestra de tamaño N de U(0, 1) si: 1. Son independientes. 2. Son uniformes. Un generador de v.a. uniformes debe cumplir: 1.”repetibilidad” y ”portabilidad”, y 2.”velocidad computacional”.
9. III – Historia Procedimientos físicos (monedas, dados, cartas, urnas, … ) (1927) Tipett: tabla de 40000 dígitos aleatorios (nouniformes). (1939) Kendall y Babbington: dispositivo mecánico.Tabla de 100.000 números aleatorios. (1955) Rand Corporation: ruido electrónico. Tabla de1 millón de números aleatorios.
10. IV - Métodos de producción Métodos físicos Un generador de números aleatorios física se puede basar en una física atómica o subatómica fenómeno aleatorio, esencialmente cuya imprevisibilidad se puede remontar a las leyes de lamecánica cuántica.
11. Métodos computacionales Generadores de números aleatorios-Pseudo (PRNGs) son algoritmos que puede crear automáticamente tandas largas de números con buenas propiedades aleatorias pero con el tiempo se repite la secuencia (o el uso de memoria crece sin límite). La cadena de valores generados por este tipo de algoritmos se determina generalmente por un número fijo llamado semilla. Uno de los más comunes PRNG es el generador de congruencia lineal , que utiliza la repetición Xn+1= (aXn + b) mod m para generar números. El número máximo de números de la fórmula puede producir es el módulo , m . Para evitar ciertas propiedades no-aleatorio de un solo generador de congruencia lineal , generadores de números aleatorios de varios tipo con diferentes valores ligeramente del coeficiente multiplicador uno se puede utilizar en paralelo, con un "maestro" generador de números aleatorios que selecciona de entre los distintos productores de varios .
12. Generadores de congruencia lineal (GCL) Estos generadores son los más utilizados y los más conocidos. Se basan enla relación de recurrencia Ni+1= (a Ni+ c) modm donde a es el multiplicador y m el modulo. - Hay m valores posibles de Ni, entre 0 i m − 1. - La secuencia es periódica: cuando vuelve a aparecer un número por segunda vez, la secuencia se vuelve a repetir. El periodo depende de los valores de a,c y m, as como del valor inicial; nótese que el máximo posible es m.Recordemos que lo que nos interesa para trabajar con un buen generador denúmeros aleatorios es que la distribución de los números obtenidos tiene que seruniforme, no deben de haber correlaciones entre los términos de la secuencia,el periodo debe ser lo mas largo posible, y el algoritmo debe ser de ejecuciónrápida
13. Para mejor los generadores de congruencia lineal, Las limitaciones más importantes de los generadores son su periódica (normalmente el periodo no suele ser más grande de 2^32 ≈ 4 × 10^9) y la posible presencia de correlaciones entre términos consecutivos de la secuencia. Una manera sencilla de suprimir ´estas limitaciones es ”desordenar” un poco la secuencia mediante el siguiente procedimiento: - Se parte de un generador que da enteros aleatorios entre 0 y m − 1, y en primerlugar se genera con el GCL un vector que contiene una lista de N enteros aleatorios jn, asi como un entero aleatorio y. Se determina el índice k = [y ∗ N/m],entre 0 y N − 1. El elemento jk de la lista se da como un nuevo nombre aleatorio, y se reasignaa la variable y el valor jk. El valor de jk se renueva con el GCL, y se vuelve arepetir los pasos desde la determinación del índice k.
14. Ejemplos de como Generar números aleatorios con Excel. Decimales Formula: =RAND()*n + b; n= a – b a – es el numero más grande de conjunto de números b – es el números más pequeño de conjunto Ej. Escoger un numero aleatorio entre 10 y 70
15. Enteros Formula = RANDBETWEEN(a,b); a – es el numero mas pequeño del conjunto b – es el numero más grande del conjunto Ej. Elegir un Numero aleatorio del conjunto de números del 10 – 90.
16. Generación de una distribución de probabilidad Hay un par de métodos para generar un número aleatorio basado en una función de densidad de probabilidad. Estos métodos implican la transformación de un número aleatorio uniforme de alguna manera. Debido a esto, estos métodos funcionan igual de bien tanto en la generación aleatoria de números al azar y verdadero pseudo-. Un método, llamado método de la inversión, involucra la integración de hasta un área mayor que o igual al número al azar (que se debe generar entre 0 y 1 para la distribución propiamente dicha). Un segundo método, llamado método de aceptación-rechazo , implica elegir un valor de x e y, y comprobar si la función de x es mayor que el valor de y. Si es así, el valor de x es aceptada. De lo contrario, el valor de x es rechazada y el algoritmo lo intenta otra vez.
17. Bibliográfica: Random number generator; http://en.wikipedia.org/wiki/Random_number_generation Número aleatorio; http://es.wikipedia.org/wiki/N%C3%BAmero_aleatorio Generador de Números Aleatorios; http://es.wikipedia.org/wiki/Generador_de_n%C3%BAmeros_aleatorios García, M., Generación de números aleatorios, (2004), http://www.bioingenieria.edu.ar/academica/catedras/metestad/num_aleatorios.pdf