Sie sind auf Seite 1von 12

Unidad 2.

- nmeros pseudoaleatorios
Un nmero pseudo-aleatorio es un nmero generado en un proceso que parece producir
nmeros al azar, pero no lo hace realmente. Las secuencias de nmeros pseudo-aleatorios no
muestran ningn patrn o regularidad aparente desde un punto de vista estadstico, a pesar de
haber sido generadas por un algoritmo completamente determinista, en el que las mismas
condiciones iniciales producen siempre el mismo resultado.
2.1 Mtodos de generacin de nmeros
Pseudoaleatorio
Generador de nmeros pseudoaleatorios
Un generador pseudoaleatorio de nmeros (GPAN) es un algoritmo que produce una sucesin de
nmeros que es una muy buena aproximacin a un conjunto aleatorio de nmeros. La sucesin no es
exactamente aleatoria en el sentido de que queda completamente determinada por un conjunto
relativamente pequeo de valores iniciales, llamados el estado del GPAN. Si bien es posible generar
sucesiones mediante generadores de nmeros aleatorios por dispositivos mecnicos que son mejores
aproximaciones a una sucesin aleatoria, los nmeros pseudo-aleatorios son importantes en la prctica
para simulaciones (por ejemplo, de sistemas fsicos mediante el mtodo de Montecarlo), y desempean
un papel central en la criptografa.
La mayora de los algoritmos de generadores pseudoaleatorios producen sucesiones que poseen
una distribucin uniforme segn varios tipos de pruebas. Las clases ms comunes de estos algoritmos
son generadores lineales congruentes, generadores Fibonacci demorados, desplazamiento de registros
con retroalimentacin lineal y desplazamientos de registros con retroalimentacin generalizada. Entre
los desarrollos ms recientes de algoritmos pseudoaleatorios se encuentran Blum Blum Shub, Fortuna,
y el Mersenne twister.
Se requiere de un cuidadoso anlisis matemtico para tener algn tipo de confianza en que un dado
GPAN genera nmeros que son suficientemente "aleatorios" para ser tiles para el propsito para el que
se los precisa. Robert R. Coveyou del Oak Ridge National Laboratory escribi un artculo titulado, "La
generacin de nmeros aleatorios es demasiado importante como para ser dejado al azar."
1
Y
como John von Neumann deca en broma, "Todo el que desarrolla mtodos aritmticos para producir
dgitos aleatorios esta desde luego en pecado."
2


Las variables independientes en el modelo matemtico para una simulacin son
tratadas con nmeros aleatorios (porque representan las variables que no se pueden
controlar). Conseguir generar nmeros aleatorios no es tan fcil como se cree.
Realmente en los PC no se pueden generar nmeros completamente al azar debido a
que no tienen ningn componente electrnico que presente comportamiento
totalmente aleatorio y enve seales de este comportamiento (todo es determinstico).
Cmo entonces un PC genera nmeros al azar si los lenguajes de programacin
como Java tienen una clase Random?
Los nmeros aletorios en un PC son realmente nmeros pseudos-aleatorios
generados por algoritmos, uno muy conocido es el:
M todo Congruencial
X 1 = (A*X 0 +B)%N
X 2 = (A*X 1 +B)%N
X 3 = (A*X 2 +B)%N
Donde A , B y N son nmeros enteros con valores iniciales (los nmeros se generan
entre 0 y N-1). Y se le da un valor a X 0 al inicio.
Observe la siguiente tabla en la cual se prueba este mtodo:
X A B N
Nmero Pseudo-Aleatorio
Generado
r
Valor Aleatorio usado para calcular el valor de
las variables aleatorias
2 12 90 100 14 0,14
14

58 0,58
58

86 0,86
86

22 0,22
22

54 0,54
54

38 0,38
38

46 0,46
46

42 0,42
42

94 0,94
94

18 0,18
18

6 0,06
6

62 0,62
62

34 0,34
34

98 0,98
98

66 0,66
66

82 0,82
82

74 0,74
74

78 0,78
78

26 0,26
26

2 0,02

Tcnicas de generacin de nmeros aleatorios
1. Algoritmo de Cuadrados Medios
Paso 1: Valor Inicial X (semilla)
Paso 2: Se eleva al cuadrado ese valor X
Paso 3: Se extrae los dgitos centrales
Paso 4: Se convierte a un valor entre 0 y 1
Paso 5: Usar el nuevo valor como X y volver al Paso 2
Ejemplo
Semilla = 4561 (r=0,4561)
Valor Cuadrado
r
Valor Aleatorio usado para calcular el valor de las variables aleatorias
4561 20 802721 0,8027
8027 64 432729 0,4327
4327 18 722929 0,7229
7229 52 258441 0,2584
2. Algoritmo de Producto Medio
X 0 =17, X 1 =23
X 2 =X 0 *X 1 =17*23= 39 1
X 3 =X 1 *X 2 =23*39= 89 7
X 4 =X 2 *X 3 =39*89=3 47 1
X n =X n -2 *X n-1
X 0 X 1 X 2
r
Valor Aleatorio usado para calcular el valor de
las variables aleatorias
17 23 39 1 0,39
23 39 89 7 0,89
39 89 3 47 1 0,47
89 47 4 18 3 0,18
3. Algoritmo de Producto Medio modificado
X n+1 =K*X n
X 0 =17, K=23
X 1 =K*X 0 =23*17= 39 1
X 2 =K*X 1 =23*39= 89 7
K X 0 X 1
r
Valor Aleatorio usado para calcular el valor de
las variables aleatorias
23 17 39 1 0,39
23 39 89 7 0,89
23 89 2 04 7 0,04
23 4 92 0,92
4. Mtodo congruencial aditivo
X n+1 =(X n +X n-k ) Modulo M
k=2, X 0 =987, X 1 =173, X 2 =451, M=1000
k n X n-k X n M X n+1
r
Valor Aleatorio usado para calcular el valor de
las variables aleatorias
2 2 987 (X0) 451 (X2) 1000 438 (X3) 0,438
2 3 173 438 1000 611 0,611
2 4 451 611 1000 62 0,62
2 5 438 62 1000 500 0,5
2 6 611 500 1000 111 0,111
5. Mtodo congruencial multiplicativo
X n+1 =(K*X n ) Modulo M
k X 0 M X n+1
r
Valor Aleatorio usado para calcular el valor de
las variables aleatorias
3 56 679 168 168/679=0,2474

168

504 0,7422

504

154 0,2268

154

462 0,6804

462

28 0,0412

2.2 Pruebas estadsticas
Puesto que en el muestreo Monte Carlo cualquier variable aleatoria no
uniforme (normal, exponencial, Poisson, etc.), es obtenida a partir de
nmeros aleatorios uniformes (0,1), el principal nfasis en las pruebas
estadsticas debern ser con respecto al generador de los nmeros
aleatorios, ya que cualquier deficiencia estadstica en la distribucin de la
variable aleatoria no uniforme, se deber exclusivamente a la utilizacin
de un deficiente generador de nmeros aleatorios. Por ello se aplicarn
algunas de las muchas pruebas estadsticas que han sido desarrolladas
para probar la uniformidad y aleatoriedad o independencia de los
mismos, lo cual significa que la ocurrencia de un nmero aleatorio no
determina la ocurrencia del siguiente y as sucesivamente.
Para la uniformidad
Bondad de ajuste o Ji-cuadrada: X
2

Bondad de ajuste Kolmogorov-Smirnov
Para la aleatoriedad o independencia
Corridas por arriba y por abajo del promedio
Corridas ascendentes y descendentes
PRUEBA DE BONDAD DE AJUSTE JI CUADRADA.
Procedimiento:
1. Generar la muestra de nmeros aleatorios de tamao N.
2. Subdividir el intervalo [0,1] en n subintervalos.
3. Para cada subintervalo contar la frecuencia observada F0 y calcular la
frecuencia esperada FE de nmeros aleatorios, la cual se obtiene
dividiendo N/n.
4. Calcular el estadstico de prueba.

5. Comparar el valor calculado X0
2
contra el valor tabulado de la
distribucin X
2
, con (n-1) grados de libertad y una significancia ?.
Si X0
2
es menor que X
2
(n-1),? entonces no se puede rechazar la
uniformidad de los nmeros aleatorios.
EJEMPLO 4. Realizar la prueba de bondad de ajuste Ji-cuadrada a la
siguiente muestra de tamao 30 de nmeros aleatorios uniformes
0.15 0.31 0.81 0.48 0.01 0.60
0.26 0.34 0.70 0.31 0.07 0.06
0.33 0.49 0.77 0.04 0.43 0.92
0.25 0.83 0.68 0.97 0.11 0.00
0.18 0.11 0.03 0.59 0.25 0.55

INTERVALO FE FO (FE-FO)
2
/FE
0.00 - 0.20 6 10 2.67
0.21 - 0.40 6 7 0.17
0.41 - 0.60 6 6 0.00
0.61 - 0.80 6 3 1.50
0.81 - 1.00 6 4 0.67

X
2
0=5.01

Sea alfa= 5%. Tenemos (5-1) grados de libertad, es decir V=4. El valor
en tablas de la distribucin Ji cuadrada es:
X
2
4.5%
= 9.49
Como X0
2
es menor que X
2
4.5%
es decir; 5.01 es menor que 9.49.
entonces no se puede rechazar la uniformidad de los nmeros aleatorios.

PRUEBA DE BONDAD DE AJUSTE DE KOLMOGOROV-SMIRNOV
Procedimiento
1. Generar una muestra de nmeros aleatorios uniformes de tamao N.
2. Ordenar dichos nmeros en orden ascendente.
3. Calcular la distribucin acumulada de los nmeros generados con la
siguiente
expresin

Donde i es la posicin que ocupa el nmero aleatorio Xi en el vector
ordenado obtenido en el paso 2.
4. Calcular el estado de prueba Kolmogorov-Smirnov del modo siguiente
D
n
= mx | F
n
(X
i
) X
i
| para toda X
i


5. Si D
n
es menor d
alfa,n
, entonces no se puede rechazar la hiptesis de
que los nmeros generados provienen de una distribucin uniforme. La
distribucin de D
n
ha sido tabulada como una funcin de n y alfa para
cuando F
n
(x) = F
0
(x).

EJEMPLO 5. Efectuar la prueba de Kolmogorov Smirnov a la siguiente
muestra de nmeros aleatorios uniformes.
0.15 0.31 0.81 0.48 0.01 0.60
0.26 0.34 0.70 0.31 0.07 0.06
0.33 0.49 0.77 0.04 0.43 0.92
0.25 0.83 0.68 0.97 0.11 0.00
0.18 0.11 0.03 0.59 0.25 0.55
Sustituyendo los valores en las frmulas correspondientes se tiene que:
i RNDi F(RNDi) RNDi- F (RNDi)
1 0.00 0.03 0.03
2 0.01 0.07 0.06
3 0.03 0.10 0.07
4 0.04 0.13 0.09
5 0.06 0.17 0.11
6 0.07 0.20 0.13
7 0.11 0.23 0.12
8 0.11 0.27 0.16
9 0.15 0.30 0.15
10 0.18 0.33 0.15
11 0.25 0.36 0.11
12 0.25 0.40 0.15
13 0.26 0.43 0.17
14 0.31 0.47 0.16
15 0.33 0.50 0.17
16 0.34 0.53 0.19
17 0.34 0.57 0.23
18 0.43 0.60 0.17
19 0.48 0.63 0.15
20 0.49 0.67 0.18
21 0.55 0.70 0.15
22 0.59 0.73 0.14
23 0.60 0.77 0.17
24 0.68 0.80 0.12
25 0.70 0.83 0.13
26 0.77 0.87 0.1
27 0.81 0.90 0.09
28 0.83 0.93 0.1
29 0.92 0.97 0.05
30 0.97 1.00 0.03
siguiendo con el paso 4
Dn = Max |RNDi F(RNDi)| = 0.23
Comparamos el valor Dn (calculado) contra el valor en tablas de la
distribucin Kolmogorov-Smirnov con n = 30 y un nivel de
significancia alfa = 5%, el cual es d
30.5%
= 0.242. como 0.23 es menor
que 0.242, entonces, no se puede rechazar la uniformidad de los
nmeros aleatorios.

CORRIDAS POR ARRIBA Y POR ABAJO DEL PROMEDIO
Procedimiento
Generar la muestra de tamao N de nmeros aleatorios.
Con base en esta muestra, obtener una nueva sucesin binaria, segn el
criterio siguiente:
Si r
j
es menor o igual a 0.50 entonces asignarle a r
j
el smbolo 0.
Si r
j
es mayor a 0.50 entonces asignarle a r
j
el smbolo 1.
La frecuencia esperada para cada longitud de corrida i, es:

EJEMPLO 6. Dada la siguiente muestra de tamao 30 de nmeros
aleatorios, aplicar la prueba de corridas, para la independencia
0.15 0.31 0.81 0.48 0.01 0.60
0.26 0.34 0.70 0.31 0.07 0.06
0.33 0.49 0.77 0.04 0.43 0.92
0.25 0.83 0.68 0.97 0.11 0.00
0.18 0.11 0.03 0.59 0.25 0.55
Comparando los nmeros aleatorios segn el criterio establecido, se
obtiene la siguiente sucesin binaria. Leyendo de izquierda a derecha se
agrupan los smbolos del mismo tipo para formar las corridas.
0 0 1 0 0 1
0 0 0 1 0 0
0 0 1 0 0 1
0 1 1 1 0 0
0 0 0 1 0 1
En la siguiente tabla se resume la informacin necesaria para el clculo
de la Ji-cuadrada
Longitud
de corrida
i
FE FO
(FE-
FO)2/FE
1 8.000 9 0.125
2 3.875 3 0.197
3 1.875 2 0.008
4 0.906 1 0.010
5 0.438 1 0.721

Como para las longitudes de corrida i = 2, 3, 4, 5; las frecuencias
observadas son menores o igual a cinco, agrupamos estas longitudes de
corridas en una sola longitud de corrida ? 2.
i FE FO (FE-FO)2/FE
1 8 9 0.125
>=2 7.04 7 0.936

X
0
2
= 1.061
El valor en tablas de X
2
1.5%
= 3.84; entonces no se puede rechazar la
independencia de los nmeros aleatorios.

CORRIDAS ASCENDENTES Y DESCENDENTES
Procedimiento
1. Generar la muestra de tamao N de nmeros aleatorios.
2. Construir la sucesin binaria de acuerdo al siguiente criterio:
Si rj es menor o igual a r
j+1
entonces asignarle a r
j
el smbolo 0.
Si rj es mayor que r
j+1
entonces asignarle a r
j
el smbolo 1.
3. Con base en la distribucin X
2
, efectuar la prueba, donde la frecuencia
esperada de las longitudes de corrida i se calcular con:

EJEMPLO 7. Aplicar la prueba de las corridas ascendentes y
descendentes a la muestra de nmeros aleatorios del ejemplo anterior.
Compararemos a los nmeros por fila, pero es indistinto hacerlo por
columna.
0.15 0.31 0.81 0.48 0.01 0.60
0.26 0.34 0.70 0.31 0.07 0.06
0.33 0.49 0.77 0.04 0.43 0.92
0.25 0.83 0.68 0.97 0.11 0.00
0.18 0.11 0.03 0.59 0.25 0.55
ahora la sucesin binaria es
0 0 1 1 0 1
0 0 0 1 1 0
0 0 1 0 1 1
0 1 0 1 1 0
1 1 0 1 0


obsrvese que la ltima celda se deja en blanco, pues no hay con que
nmero comparar. (aqu N = 29)
Longitud
de corrida i
FE FO (FE-FO)
2
/FE
1 11.500 11 0.020
2 5.083 5 0.001
3 1.400 2 0.257
4 0.292 -

5 0.005 -


i FE FO (FE-FO)
2
/FE
1 11.500 11 0.020
>=2 6.483 7 0.004

X
0
2
= 0.024
como el valor calculado de 0.024 es menor que el valor en tablas de Ji-
cuadrada X
2
1.5%
= 3.84, no se puede rechazar la independencia de los
nmeros aleatorios.

Das könnte Ihnen auch gefallen