NUMEROS ALEATORIOS Por Gabriela Correa Correa Juan Pablo Gil Restrepo Santiago Hoyos
Que son? Son numeros que deben de cumplir los requisitos de espacio equiprobable, es decir, que todo elemento tenga la misma probabilidad de ser elegido y que la elección de uno no dependa de la elección del otro.
¿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.
¿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.
Generación de Semillas es una tarea difícil de llevar a cabo, por lo que se opta por generar números pseudoaleatorios, es decir, números que están cerca de ser aleatorios
Aplicaciones En la vida cotidiana se utilizan números aleatorios en situaciones como pueden ser los juegos de azar, Matemática Aplicada, Análisis Numérico, criptografía, etc.
ALGORITMO GENERADOR DE BITS PSEUDOALEATORIOS Entrada: Dos primos p,q , elegir e, tal que mcd (e, )=1, donde =(p-1)(q-1) . Una semilla x0 [1,n-1] Algoritmo: a) Para j=1 hasta k: a1) xj=(xj-1)e mod n a2) zj=el menor bit significativo de xj Salida: La sucesión z1, z2, …, zk.
EL GENERADOR BBS (BLUM BLUM SHUB) Elegir dos grandes primos p y q que al ser divididos por 4 den residuo 3 Sea n el producto de p por q Se elige un número aleatorio x primo como la semilla inicial para el generador s0 = x2 mod n si+1 = si2 mod n Se toman unos pocos bits del final de si Se recomienda no usar log 2(log2 si)
GENERADOR DE DSA (DIGITAL SIGNATURE STANDARD) Toda la aritmética se puede realizar en módulo 2N, donde 160<=N<=512 El generador mantiene un estado interno xi que varía constantemente El generador admite una entrada opcional Wi, se asumirá que es cero cuando no se produzca Cada salida se produce de la siguiente manera: a) Salida (i) = hash (Wi + xi mod 2 160) xi+1= xi + salida (i) + 1 mod 2 160
GENERADOR DE CONGRUENCIA INVERSA Xn= a (Xn-1)-1+ b Mod m donde X-1 denota el inverso multiplicativo, es decir X(X-1)=1 El periodo máximo es m X2-bX- a es un polinomio primitivo, el generador devuelve una secuencia de periodo máximo
GENERADOR DE CONGRUENCIA LINEAL COMBINADA Toma la salida de dos generadores diferentes básicos, para crear una nueva secuencia aleatoria. Xi=(A1Xi-1+C1) mod M1 Yi=(A2 Yi-1+C2) mod M2 Zi =(Xi +Yi) mod max (M1,M2) Donde X, Y son secuencias de dos generadores de congruencia lineal independientes
GENERADOR LAGGED - FIBONNACI Xn=(Xn-j Xn-k ) mod M donde j < k, M = 2m es cualquier operador binario Periodo maximo (2k – 1) 2m-1
CONSIDERACIONES MÉTODOS VENTAJAS DESVENTAJAS Manuales Facil generación Lentos, simples y poco prácticos Tablas Fácil implementación Lentos y no reproducibles Comp Analógica Rápidos “ verdaderos” No reproducibles Comp Digital No son verdaderos
Métodos Ventajas Desventajas Lagged - Fibonnaci Popular en procesamiento serial y paralelo, reduce la correlaciones, e incrementa el periodo de los GLC, se puede implementar con números en punto flotante. Necesita almacenar una tabla con parte de la serie de números Generador de Congruencia Inversa. Fácil escogencia de los parámetros costoso para realizar el proceso del inverso modular y desconocimiento Generador Congruencial Lineal Combinada Fácil de implementar Velocidad y consumo de memoria en comparación con el GLC Generación Decimal Rápido, fácil de programar Correlaciones de series y múltiplos Blum-Blum-Shub Estadísticamente bueno, simple, se puede calcular cualquier valor sin necesidad del anterior. Requiere de varios cálculos, consumo alto de memoria
Métodos Ventajas Desventajas Cuadrados centrales Fácil generación Difícil de analizar, lento, presenta problemas estadísticos Congruenciales lineales Programación, Uniformidad Independencia, reproducibles, bajo consumo de memoria Prueba estadística, totalmente determinísticos, presenta ciclos – este depende de la selección de los parámetros - Aditivo Rápido y fácil de implementar Periodos mayores que el módulo Multiplicativo Satisface estadísticamente, rápido, y bajo consumo de memoria, mayor grado de aleatoriedad. Presenta un periodo inferior al Mixto. Mixto –Lethmer- Mejor que el anterior, pérdida de periodicidad de los últimos dígitos. Es decir de periodo completo Tiene ciclos, algunas salidas parecen más aleatorias que otras