Download 6 - MSc. Ing. Julio Rito Vargas Avilés

Document related concepts

Generador de números pseudoaleatorios wikipedia , lookup

Aleatoriedad estadística wikipedia , lookup

Transcript
Modelación y
Simulación de
Sistemas
Conferencia 2
www.norte.uni.edu.ni
Maestro
Julio Rito Vargas Avilés
LOGO
Qué es un número aleatorio
LOGO
Son números 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. Es decir que sean
independientes.
Generación de números aleatorios
LOGO
 Para determinar si una
secuencia de números
generados por una fuente son aleatorios, deben pasar
por una batería de test estadísticos; x2, KolmogorovSmirnov, etc.) que miden el grado de independencia y
de uniforimidad de los dígitos.
 Método propuesto para generar números
aleatorios, según Von Neuman[1951]
 Es el método de los cuadrados medios, se parte de
un número cualesquiera (es recomentable un número
par) de n digitos xo, se eleva la cuadrado y se extrae los
n dígitos del medio, con lo que se obtiene un nuevo
número, y así sucesivamente se obtiene el resto...
Generación de números aleatorios
LOGO
 Ejemplo:
 Se coge un número al azar (preferible par) de 4 dígitos
 xo=5729
 Lo elevamos al cuadrado (32821441)
 Al número que de cómo resultado se le van a
aumentar hacia la izquierda todos los ceros
posibles hasta que éste número se convierta
en un número de 8 dígitos
 8 7 6 5 4 321
 3 2 82 1441

Generación de números aleatorios
 Ejemplo:
 Se escoge los 4 números del medio
 Xo = 5729
X1 = 8214
3 2 82 1441
 Xo = 8279
X1 = 5418
 6 8 54 1841
 Xo = 5418
X1 = 3547
 2 9 35 4724
LOGO
Generación de números aleatorios
8214
9062
2728
9230
3690
1289
4697
1198
4419
1929
6161
6615
0618
4352
5275
7210
9579
7582
8192
9399
8256
9841
7572
4867
1088
3412
1615
8452
3351
6876
1837
6417
6082
4363
2292
2793
3745
1778
9907
0357
2532
8008
0250
1612
1486
2744
4110
1280
6250
5985
2081
5295
8921
6384
0625
8202
3305
0370
5842
7554
LOGO
Frecuencias observadas y esperadas
Dígito
0
Frecuenci Frecuenci
a
a
observada esperada
(OI)
(ei)
22
24
1
29
24
2
3
35
18
24
24
4
19
24
(Oi - ei)
-2
5
11
-6
-5
1
LOGO
(Oi - ei)2 (Oi - ei)2/ei
4
25
121
36
25
0.1666666
7
1.0416666
7
5.0416666
7
1.5
1.0416666
7
0.0416666
Generación de numéros aleatorios
LOGO
 Los dígitos deben aparecer con la misma
frecuencia, puesto que hay 60 números de
cuatro dígitos, hay un total de 240 dígitos y
por lo tanto cada uno tendría que aparecer
24 veces. Aplicando el test Ji-cuadrada.
(oi  ei )
2
x 
 10
ei
i 0
X
2
9
2
0.95,9
 16.919
Para un nivel de significación del
95% y con 9 grados de libertad, se
obtiene el valor de Ji-cuadrada de
16.919 es mayor que el Ji-cuadrada
calculado a partir de los valores
observados, por tanto la secuencia
es ALEATORIA.
Calculo estadísticos
0
1
2
3
4
5
6
7
8
9
LOGO
POSICIONES
1(Obs) 1(Esp) 2(Obs) 2(Esp) 3(Obs) 3(Esp) 4(Obs) 4(Esp)
5
6
5
6
4
6
8
6
10
6
4
6
10
6
5
6
6
6
12
6
4
6
13
6
5
6
8
6
3
6
2
6
6
6
5
6
4
6
4
6
4
6
5
6
8
6
8
6
7
6
7
6
4
6
3
6
4
6
5
6
6
6
6
6
7
6
5
6
9
6
6
6
6
6
4
6
8
6
5
6
Aleatoriedad por posición
LOGO
POSICIÓN 1
Dígitos
0
1
2
3
4
5
6
7
8
9
1(Obs)
5
10
6
5
6
4
7
4
7
6
1(Esp)
6
6
6
6
6
6
6
6
6
6
2
(
o

e
)
2
x   i i  4.667
ei
i 0
9
(OI-EI)
-1
4
0
-1
0
-2
1
-2
1
0
(OI-EI)2
1
16
0
1
0
4
1
4
1
0
(OI-EI)2/EI
0.16666667
2.66666667
0
0.16666667
0
0.66666667
0.16666667
0.66666667
0.16666667
0
Puede verse que el cálculo de Ji.cuadrada
es 4.667 que es menor que 16.919, lo que
indica que los dígitos han caído
aleatoriamente en la posición 1.
Aleatoriedad por posición
Dígitos
2(Obs)
0
1
2
3
4
5
6
7
8
9
5
4
12
8
5
5
7
5
5
4
POSICIÓN 2
2(Esp)
(OI-EI)
(OI-EI)2 (OI-EI)2/EI
6
6
6
6
6
6
6
6
6
6
2
(
o

e
)
2
x   i i  9.0
ei
i 0
9
LOGO
-1
-2
6
2
-1
-1
1
-1
-1
-2
1
4
36
4
1
1
1
1
1
4
0.16666667
0.66666667
6
0.66666667
0.16666667
0.16666667
0.16666667
0.16666667
0.16666667
0.66666667
Puede verse que el cálculo de Ji.cuadrada
es 9.0 que es menor que 16.919, lo que
indica que los dígitos han caído
aleatoriamente en la posición 2.
Aleatoriedad por posición
Dígitos
3(Obs)
0
1
2
3
4
5
6
7
8
9
4
10
4
3
4
8
4
6
9
8
POSICIÓN 3
3(Esp)
(OI-EI)
(OI-EI)2
6
6
6
6
6
6
6
6
6
6
2
(
o

e
)
2
x   i i  9.667
ei
i 0
9
-2
4
-2
-3
-2
2
-2
0
3
2
4
16
4
9
4
4
4
0
9
4
LOGO
(OI-EI)2/EI
0.66666667
2.66666667
0.66666667
1.5
0.66666667
0.66666667
0.66666667
0
1.5
0.66666667
Puede verse que el cálculo de Ji.cuadrada
es 9.667 que es menor que 16.919, lo que
indica que los dígitos han caído
aleatoriamente en la posición 3.
LOGO
Aleatoriedad por posición
POSICIÓN 4
Dígitos
0
1
2
3
4
5
6
7
8
9
4(Obs)
8
5
13
2
4
8
3
6
6
5
2
(
o

e
)
2
x   i i  14.667
ei
i 0
9
4(Esp)
6
6
6
6
6
6
6
6
6
6
(OI-EI)
2
-1
7
-4
-2
2
-3
0
0
-1
(OI-EI)2
4
1
49
16
4
4
9
0
0
1
(OI-EI)2/EI
0.66666667
0.16666667
8.16666667
2.66666667
0.66666667
0.66666667
1.5
0
0
0.16666667
Puede verse que el cálculo de Ji.cuadrada
es 14.667 que es menor que 16.919, lo que
indica que los dígitos han caído
aleatoriamente en la posición 4.
LOGO
Observación:
 El principal inconveniente de este método de
generar
números
aleatorios
es
que
proporciona secuencias que a partir de
cierta cantidad se repiten cíclicamente
afectando la aleatoriedad. Ejemplo:
0321
6900
8100
6100
1030
6100
2100
2100
0609
2100
4100
4100
1300
4100
8100
0368
Observación:
LOGO
 La degeneración que representa la presencia de
los ciclos justifica el nombre de números
pseudoaleatorios que se dan a los números
generados
por
cualquiera
de
estos
procedimientos.
El análisis estadístico nos
indica que las secuencias generadas antes de
que empiece el proceso cíclico pueden ser
aceptables estadísticamente como secuencias
aleatorias mientras restringimos a ellas. El
problema en la práctica de la simulación surge
cuando las dimensiones de las muestras que
necesitamos son mayores que las longitudes de
los ciclos.
¿Qué son los números pseudoaleatorios?
LOGO
Son unos números generados por medio de
una función matemática(determinista, no
aleatoria) y que aparentan ser aleatorios es
decir pueden en una sucesión de longitud
m ser aleatorios.
Recurrimos a los números pseudoaleatorios
porque fundamentalmente las sucesiones
de números pseudoaleatorios son más
rápidas de generar que las de números
aleatorios.
Generador Lagged - Fibonacci
Xn=(Xn-j  Xn-k ) mod M donde j < k,
M = 2m
  es cualquier operador binario
Periodo maximo (2k – 1) 2m-1
1,1,2,3,5,8,13…
LOGO
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)
LOGO
EL GENERADOR BBS (BLUM BLUM SHUB)
LOGO
CRITERIOS PARA QUE LAS SECUENCIAS DE
NUMEROS PSEUDOALEATORIAS SEAN
ACEPTABLES:
• Que sean uniformemente distribuidas
• Que sean estadísticamente independientes
• Que sean reproducibles
• Que sean no cíclicas o no periódicas
• Que el método con el cual se genera sea capaz de
obtener números aleatorios a altas velocidades
•Que sea capaz de ocupar el mínimo espacio en la
memoria del computador
U N I - N O R T E - N I C A R A G U A
WWW.NORTE.UNI.EDU.NI