Académique Documents
Professionnel Documents
Culture Documents
PSEUDOALEATORIOS
ISCCAMC
ISC
ITZ
Introducción & Definición
• Pseudo-aleatorio ?
• Generado en un proceso que parece producirlos al azar
• No muestran ningún patrón
• No regularidad aparente desde un punto de vista estadístico
• Generadas por un Algoritmo completamente determinista
• Las mismas condiciones iniciales producen siempre el mismo resultado
• S– E - C
2.1 Métodos de generación de números
Pseudoaleatorio
• Ejercicio 1
• DEF ?
• Un GNPA (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.
• Ejercicio 2
• 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.
Cont. Métodos de GNPA
• Si bien es posible generar sucesiones mediante generadores de números
aleatorios por dispositivos mecánicos (GNADM) 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 Monte Carlo), y desempeñan un papel central en la CRIPTOGRAFIA.
G. Desplazamiento de G. Desplazamientos de
registros con registros con
retroalimentación retroalimentación
lineal generalizada
Desarrollos mas recientes de algoritmos
GNPA
Blum Blum Shub
• BBS Xi+1 = Xn ^2 mod m (p*q)
• p=11, q=19 y s=3 x0, x1, x2,... x5= 9, 81, 82, 36, 42, 92
Fortuna
Mersenne twister.
MÉTODOS DE GENERACIÓN
DE NÚMEROS
“MAS IMPORTANTES”
El Método de BBS Blum
Centros al Blum Shub
Cuadrado
Congruencial Congruencial
mixto multiplicativo
(Lehmer) (Lehmer)
Característica de la mayoría de los
métodos
1. Todos los métodos generadores comienzan con un numero inicial
• SEMILLA
• Hacer la multiplicación de Xo * C
(cuh) • Res. Mult. = 7768434
• Separacion de k(3) cifras izq y resto • Digitos izquierdos 776
• Resta del numero de K cifras al N° • Res. Resta 7658 X1
restante
• …… ….. …..
Ejemplo grupal unificado por el método
de Lehmer
• Si se tiene que Xo =647382 y
además se tiene que C es 785,
encuentre la sucesión de los
primeros 10 dígitos generados en • Quien es el afortunado de ese
forma aleatoria. huummm ?
• Que pasa al cambiar A ? Que pasa al cambiar C ? Que pasa al cambiar la semilla ?
• Conclusión m es el valor central de este método.
Blum Blum Shup
• METODOLOGIA • Lenore Blum
1. Escoger dos números primos • Manuel Blum
1. P=
• Michael Shub 1986
2. Q=
2. Sembrar una semilla como valor
inicial • En caso de necesitar un solo
1. S= elemento directo se encontraría por
medio de :
3. Generar los números aleatorios
aplicando la formula 2𝑖 𝑚𝑜𝑑 (𝑝−1)(𝑞−1)
• 𝑋𝑖 = 𝑋𝑜 𝑚𝑜𝑑 𝑀
1. Xi+1 = Xn ^2 mod m
4.
Reglas de selección de valores del método
Congruencial Mixto Lineal
C
k debe ser relativam g debe ser
m= 2g a= 1 + 4k
entero ente entero
primo a m
Método congruencial multiplicativo
• 𝑋𝑛+1 = 𝑎 𝑋𝑛 𝑚𝑜𝑑 𝑚
• Reglas
• Xo Entero Impar No divisible entre 2 y 5 Relativamente primo a m.
• a = 200t ± p
• t = any int
• p = 3,11,13,19,21,27,29,37,53,59,61,67,69,77,83,91,
• Que pasa con esas columnas ? Que muestran ? Que podemos decir de ello ?
• PERIODO
• Si necesitamos generar solo 20 #’s es perfecto, pero si no
• Como sabemos que periodo tiene ?
Calculo del periodo
• Periodo *
• Caso 1 cuando m es 10𝑑 d ≥ 5 5 x 10𝑑−2 .
• Caso 2 cuando m es 10𝑑 d < 5 Mín. común múltiplo { λ(𝑃1 𝑑1), λ(𝑃2 𝑑2 ),….λ(
𝑃𝑛 𝑑𝑛 )}
• Donde
• λ (2) = 1 λ (4) = 2
• λ ( 2𝑑 ) = 2𝑑−2 𝑠𝑖 𝑑 ≥ 3
• λ ( 𝑝𝑑 ) = 𝑝𝑑−1 𝑝 − 1 𝑠𝑖 𝑝 ≥ 2
• Ejemplo
• Si m = 100 (22 )(52 )
• Periodo = mínimo común múltiplo ((22 )(52 )) { 2, 20 }
Recordatorio m.c.m.
• Al tener 2 o mas números, cada uno de ellos se factoriza en factores consecutivos
hasta llegar a la unidad.
• Cuando ya los n números están factorizados, el m.c.m es la multiplicación de
todos los factores de todos los números sin repetir el mismo factor.
• Ejemplo:
Ejemplos de calculo de periodo
• Ecuaciones • Resultado de periodo **
• Conclusiones
Operaciones
1. Mod 105 5 x 10𝑑−2 −≺ 4. Mod 64 = 26 = 2𝑑−2 = 26−2 =
5 𝑋105−2 = 5 𝑋 103 → 5 x 1000 = 24 = 16
5000
5. Mod 128 == 27 == 25 = =
2. Mod 108 5 x 108−2 → 5 x 106 = 25 = 32
5 x 1000000 = 5 000 000 = 5 mills.
3. Mod 103 → Caso 2 (Factores
primos) 1000 (2 2 2 5 5 5 ) =
23 , 53 23 =23−2 = 21 & 53 =
53−1 5 − 1 = 25 4 = 100 =
2,100 = 200.
Calculo de periodo
• Solución y operaciones
• 𝑋𝑛+1 = ( 8 𝑋𝑛 + 16) mod 100 1. Mod =100 = 4(25) = 22 , 55 primer
factor da como resultado 2,
• 𝑋𝑛+1 = ( 50𝑋𝑛 + 17 ) mod 64 segundo factor provoca 20, …
• 𝑋𝑛+1 = ( 5𝑋𝑛 + 24) mod 32 Periodo es 40
• 𝑋𝑛+1 = ( 5𝑋𝑛 + 21 ) mod 100 2. =16 ítem
• 𝑋𝑛+1 = ( 9𝑋𝑛 + 13 ) mod 32 3. =8 por lógica
4. Item
5. 8 de nuevo
NOTA / ACLARACION
•Cuando el valor de
m es una potencia
𝒏
equivalente a 𝟐 , el
periodo del
𝒅−𝟐
generador es 𝟐 o
m/4.
2.2 Pruebas estadísticas para los números
aleatorios
• Porque utilizar mínimo una prueba estadística ?
Prueba de
Prueba del Prueba de las
Kolmogorov- Etc..
Poker corridas
Smirnov
PRUEBA DE LOS PROMEDIOS
• Como saber que los números están distribuidos uniformemente (rectangular) ?
• R: Cumpliendo con la función de densidad
1 𝑠𝑖 0 ≤ 𝑋 ≤ 1
𝑓𝑥 =
0 𝑠𝑖 0 > 𝑋 > 1
• Hipótesis nula Ho : u = ½
• Hipótesis alternativa H1 : u ≠ ½
𝑈1+𝑈2+𝑈3……+𝑈𝑛 ത
𝑋−1/2 𝑁
• 𝑥ҧ = 𝑍0 =
𝑁 1/12
Ejemplo de uniformidad PRUEBA DE LOS
PROMEDIOS Que encuentra ? Que concluye ?
• Considere los 100 números aleatorios de la tabla siguiente
94 84 74 64 54 44 34 24 14 04
03 93 83 73 63 53 43 33 23 13
32 22 12 02 92 82 72 62 52 42
81 71 61 51 41 31 21 11 01 91
50 40 30 20 10 00 90 80 70 60
39 29 19 09 99 89 79 69 59 49
48 38 28 18 08 98 88 78 68 58
77 67 57 47 37 27 17 07 97 87
26 16 06 96 86 76 66 56 46 36
95 85 75 65 55 45 35 25 15 05
Números aleatorios validos para ejercicio
.78961 .29931 .05230 .30861 .10699 .83358 .55877 .51781 .14151 .03272
.76086 .57410 .12079 .26593 .27738 .85903 .65726 .43308 .79269 .35286
.80548 .24000 .82654 .65559 .29453 .38507 .20852 .90829 .42989 .94187
.58518 .93655 .98611 .88809 .34488 .81772 .34358 .36982 .11537 .19904
.89898 .54325 .57880 .62400 .67621 .09133 .05010 .41678 .00121 .33954
.28269 .58244 .73059 .85853 .70119 .88752 .18284 .33729 .49962 .15506
.38618 .23949 .76910 .53559 .68334 .33381 .55170 .49383 .10850 .75103
.79982 .19962 .45679 .65002 .21631 .74579 .87616 .79113 .55743 .63453
.58962 .19147 .33216 .40644 .03185 .08128 .61168 .73435 .09264 .22724
.69623 .22287 .17028 .07281 .05475 .64183 .91512 .44267 .76262 .72102
Operaciones ejercicio de uniformidad
• Encuentre el valor de la media
• Respuesta : Paso 1 = 0.48234
ത
𝑋−1/2 𝑁 0.48234 −0.5 100
• Paso 2 𝑍0 = = = -0.61
1/12 1/12
• Si ∞= 10 %
• Entonces 𝑍∞/2 tiene un valor de 1.65
• Si ∞= 2 %
• Entonces 𝑍∞/2 tiene un valor de 2.33
• En cualquier caso |Z0| < ҈ NO PODEMOS RECHAR LA Ho y son ACK
Prueba de frecuencias
• VIPr
• En que consiste:
• Dividir el intervalo (0;1) en n sub-intervalos
• Comparar para cada sub-intervalo F(x)esp Vs F(x)obs
• Si F(x)e ≈ F(x)o
• Distribución Uniforme
• Estadístico a utilizar 𝑿𝟐𝟎
𝑛 𝐹𝑂𝑖 −𝐹𝐸𝑖 2
𝑋02 = σ𝑖=1
𝐹𝐸𝑖
Cont. Prueba de frecuencias
• Donde :
• FOi = Frecuencia observada del 𝑖 𝑡ℎ subintervalo
• FEi = Frecuencia esperada del 𝑖 𝑡ℎ subintervalo (N/n)
• N = Tamaño de la muestra
• n = numero de sub-intervalos
Frecuencia 𝑵 𝑵 𝑵 ……… 𝑵 𝑵
esperada 𝒏 𝒏 𝒏 𝒏 𝒏
Frecuencia 𝐹𝑂1 𝐹𝑂2 𝐹𝑂3 ……… 𝐹𝑂𝑛−1 𝐹𝑂𝑛
observada
Ejemplo: Prueba de frecuencias
• Considere la tabla de números pseudoaleatorios ya generada y adicional a ello
que el numero de subintervalos es 5.
• Encuentre la frecuencia esperada para cada subintervalo
• Encuentre la frecuencia observada para cada subintervalo
• Encuentre la distribución X2
1
𝑋02
= 21 − 20 2
+ 22 − 20 2
+ 19 − 20 2
+ 23 − 20 2
+ 15 − 20 2
20
• 𝑿𝟐
𝟎= 2
Y=?
Cont. Ejemplo prueba de frecuencias
• Determinar / escoger Grado de confianza
• Adicional a ello los grados de libertad
• P. ej .05
• Gdl=4
• Entonces utilizando la tabla de distribución X (Chi cuadrada – ji cuadrada –
Pearson) buscamos el valor correspondiente y comparamos
• ?
• 2 Vs 9.49
• Que nos dice ?
Prueba de la distancia
• A) NPA Como dígitos
• B) NPA Numeros reales
∞
𝑚+𝑛 𝑛
𝑃𝑖≥𝑛 = 0.1 0.9 = 0.9
𝑚=0
• Si aplicamos las formulas se obtienen las Fe (X) p/c/tam/hueco
Tabla de Fe(X) y Fo(X) p/dif/tam/huecos
i Pi FOi FEi
0 0.1 0.1 FO 0 ∑ FO i (0.1)
1 0.1 (0.9) 0.0900 FO 1 ∑ FO i (0.1) (0.9)2
2 0.1 (0.9)2 0.0810 FO 2 ∑ FO i (0.1) (0.9)3
. . . .
5 0.1 (0.9)5 0.0656 FO 5 ∑ FO i (0.1) (0.9)5
. . . .
i 0.1 (0.9)i 0.0 i i i FO i ∑ FO i (0.1) (0.9)i
10 0.1 (0.9)10 0.0387 FO 10 ∑ FO i (0.1) (0.9)10
. . .
20 0.1 (0.9)20 0.0135 FO 20 ∑ FO i (0.1) (0.9)20
≥n (0.9) n 0.0 n n n FO n ∑ FO i (0.1) (0.9)n
Total 1.0 ∑ FO i (N)
Cont. Prueba de las distancias
• Si las frecuencias esperadas y observadas para cada tamaño de hueco son
bastantes parecidas , entonces se puede decir que los números pseudoaleatorios
generados pasan la prueba de la distancia.
• El estadístico que se usa en esta prueba se obtiene de:
𝑛 𝐹𝑂𝑖 −𝐹𝐸𝑖 2
• 𝑋02 = σ𝑖=0
𝐹𝐸𝑖
• NOTA:
Es muy importante señalar que el valor seleccionado de n, debe ser tal que la
suma de las frecuencias esperadas de todos los tamaños de huecos agrupados,
sea mayor de 5.
Cont. Prueba de las distancias B)
• B) NUMEROS PSEUDOALEATORIOS CONSIDERADOS COMO NUMEROS
REALES
• Para realizar esta prueba con esta variante :
1. Seleccionar un intervalo ( 𝝰, 𝝱) (DeEsCoEnElInt (0;1) ). 0 ≤ 𝝰≤ 𝝱 ≤1
2. P/c 𝑈𝑗 Є ( 𝝰, 𝝱)
3. Si 𝑈𝑗 (Num. Unif. generado) es elemento de (𝝰, 𝝱) , 𝑈𝑗+1 hasta 𝑈𝑗+𝑖 no
Є ( 𝝰, 𝝱) pero 𝑈𝑗+𝑖+1 hueco de tamaño i.
4. P. ej 𝝰 = .3 y 𝝱=.5 (0.32415, 0.22257, 0.19147, 0.75103, 0.49383)
hueco tamaño 3.
Cont. B) Números pseudoaleatorios como
números reales
• La distribución de probabilidad del tamaño del hueco es :
𝑛 2
𝐹𝑂𝑖 − 𝐹𝐸𝑖
𝑋02 =
𝐹𝐸𝑖
𝑖=0
• Si p. ej. Se toma un valor arbitrario de =0.05 entonces nuestro valor es 7.81 , por lo tanto
…
Prueba de series
• Permite comprobar el grado de aleatoriedad entre números sucesivos.
1. Formar parejas de números
2. Coordenadas en un cuadrado unitario dividido en 𝑛2 celdas.
3. Ternas Puntos 𝑛3 en cubo unitario.
4. Si se tienen N #’s aleatorios (N-1) parejas
5. Se determina celda a la que Є (Uj,Uj+1). Esto nos determina la FO de c/celda
6. Se obtienen las frecuencias esperadas FEi (N-1)/ (𝑛2 )
Cont. Prueba de series
• Conocidas las frecuencias observadas y esperadas de c/ celda 𝑋02
2 𝑛
𝑛 𝑛
2
𝑋02 = 𝐹𝑂𝑖𝑗 − 𝑁 − 1 /𝑛2
𝑁 − 1 𝑖=1
𝑗=1
Uj+1
1 3 3 3 4 2
.8 4 5 5 6 2
.6 3 3 2 6 5
.4 5 5 4 4 4
.2 6 6 5 2 2
.2 .4 .6 .8 1
Cont. Solución ejemplo prueba de series
• Necesitamos determinar el valor de las frecuencias esperadas
𝑁−1 100−1 99
𝐹𝐸 𝑖 = = = = 3.96
𝑛2 52 25
• Para cada una de las celdas.
• Por lo tanto el valor de la chi-cuadrada
𝑛
es :
𝑛 2 𝑛
2 2
𝑋0 = 𝐹𝑂𝑖𝑗 − 𝑁 − 1 /𝑛2
𝑁 − 1 𝑖=1
𝑗=1
25
• 𝑋02 = ሾ5 2 − 3.96 2 + 5 3 − 3.96 2 + 5 4 − 3.96 2 + 6 5 − 3.96 2 +
99
Prueba de uniformidad.
kolmogorov-Smirnov.
• Prueba la Ho de que la distribución acumulada de una variable aleatoria x es F0(x).
• Pasos
1. Una muestra de tamaño N es obtenida de una distribución continua F(x).
2. Determinar la distribución acumulada de la muestra ( 𝐹𝑛 (𝑥) )
3. Comparar con la distribución acumulada hipotética F0 (x).
Si Fn (X) difiere demasiado de F0 (X), entonces esto es una amplia evidencia de que Fn(X) no es
igual a F0 (X).
• En otras palabras :
Descrito en palabras mas “formales”
3 Calcular la distribución
acumulada de los
números generados con
1 Generar n números 2 Ordenar dichos la siguiente expresión: 4 Calcular el estadístico
𝑖
pseudo aleatorios números en orden • 𝐹𝑛 𝑋 =
𝑛
Kolmogorov-Smirnov
uniformes ascendente • i = posición que ocupa el del modo siguiente:
numero Xi en el vector
obtenido en (2)
• 𝐷𝑛 = max |𝐹𝑛 𝑋𝑖 − 𝑋𝑖 |
• Si 𝐷𝑛< 𝐷∝,𝑛 , entonces no se puede rechazar la Ho de que los números generados
provienen de una distribución uniforme.
Comparación
de Fo(X) para
cada valor de
x generada
Ejemplo para (números 100)
PRUEBA DEL POKER
• Examina en forma individual los dígitos del numero pseudoaleatorio.
• Se realiza tomando 5 dígitos a la vez
• Posteriormente se clasifican como:
• Par, dos pares, tercia, póker, quintilla, full y todos diferentes ( * ).
• Las probabilidades para cada una de las manos de póker posibles son :
Posibilidades de obtención (3,4,5).
Todos
Un par Dos pares Tercia
diferentes