Вы находитесь на странице: 1из 61

Simulación de Sistemas

Tema 02
Números Pseudo
Aleatorios
Los números pseudo aleatorios
 Son necesarios para acreditar la variabilidad
dentro de los eventos de una simulación
 Casi todos los simuladores tienen generadores
de números aleatorios
 Estos aunque no se pueden comprobar con total
certeza (pues se necesitaría generar un numero
infinito de valores para probara la NO
correlación entre ellos) pues resulta muy
costoso e impractico en simulación.
Generación de números aleatorios
 Se necesitan un valor X de números en el
intervalo : (0,1) a los que se les referencia con ri
es decir una secuencia ri = {r1, r2, r3,…rn}
 Los generadores de números aleatorios en los
simuladores pueden generar secuencias de hasta
n=2200, lo mínimo exigido es n=231, aunque según
L’Ecuyer esta secuencias son relativamente
pequeñas
¿Por qué números aleatorios?
 Supongamos que se desea simular el tiempo de atención a clientes en un banco
que tiene 5 cajeros en paralelo, cada uno atiende 50 clientes aprox. De manera
diaria.
 Para simular el tiempo de atención se requiere de una función de variable
aleatoria en referencia a ri, por ejemplo Ti=5+2ri , expresado en minutos para
toda i=1,2,3…n.
 Si se simula el tiempo de atención de manera aislada (sin considerar el tiempo
desde la llegada de los clientes) se necesitarán 5(50) = 250 números ri , para
simular un día, en 5 días se necesitan 250(5)=1250 ri
 si se considera el tiempo de llegada de los clientes se pensaría en 250ri para
simular el tiempo de llegada de los 250 clientes al banco por día y 1250ri
(250x5) para simular el total de atenciones en 5 días.
 Por tanto se necesitan 2500 números pseudo aleatorios para poder diseñar el
modelo
Algoritmos para generar números
aleatorios
Algoritmo de cuadrados medios

 Propuesto en la década de los 40’ por Von Neumann


y Metropolis.
 Requiere de un numero “detonador” llamado semilla
de D dígitos.
 Este algoritmo es incapaz de generar una secuencia con
periodo de vida grande.
 Presenta algunos problemas cuando semilla = 1000
 Se dice que el algoritmo se degenera con
semilla = 1000
Algoritmos para generar números
aleatorios
Algoritmo de cuadrados medios

 Diagrama de actividad Ejemplo: generar los 5


primeros números ri a
contador <= N
partir de la semilla 5735
SI
NO donde existen 4 dígitos:
seleccionar cantidad Y = semilla ^ 2
de digitos D (D>3)

ancho Y es impar colocar 0 (cero) a


seleccionar semilla
SI la izquierda
de D digitos X
NO

Valor = D digitos del


seleccionar cantidad de medio de Y
numeros a generar N
Y0=57352=32890225 X0=8902 r0=0.8902
R = concatenar (0. y Valor)
contador = 1 Y1=89022=79245604 X1=2456 r1=0.2456
Mostrar R Y2=24562=06031936 X2=0319 r2=0.0319
Y3=03192= 101761 X3=0176 r3=0.0176
contador ++
Y4=01762= 030976 X4=3097 r4=0.3097
Algoritmos para generar números
aleatorios
Algoritmo de cuadrados medios
Algoritmos para generar números
aleatorios
Algoritmo de productos medios

 Este algoritmo presenta similitudes al anterior.


 Se necesitan dos semillas de D dígitos (D>3)
para multiplicarse y generar un numero que
pasará a ser la nueva segunda semilla mientras
que la primara tomará el valor de la antigua
segunda para la generar el nuevo numero.
 r se obtendrá colocando 0. delante de todo
numero generado.
Algoritmos para generar números
aleatorios
Algoritmo de productos medios

 Diagrama de actividades
contador <= N
Generar 5 números ri a
Seleccionar cantidad SI
NO partir de las semillas
de Digitos D (D>3)
Y = Semilla A * Semilla B X0 = 5015 y X1 = 5734
Seleccionar Semilla A de
D digitos ancho de Y es impar colocar un 0 (cero)
SI a la izquierda
NO
Seleccionar Semilla B de
D digitos valor = D digitos
del medio de Y
Seleccionar cantidad de
numeros a generar N R = concatenar (0. y valor)

contador = 1
mostar R

Y0 = (5015)(5734) = 28756010 X2 = 7560 r1 = 0.7560


Semilla A = Semilla B
Y1 = (5734)(7560) = 43349040 X3 = 3490 r2 = 0.3490

Semilla B = valor Y2 = (7560)(3490) = 26384400 X4 = 3844 r3 = 0.3844


Y3 = (3490)(3844) = 13415560 X5 = 4155 r4 = 0.4155
contador ++
Y4 = (3844)(4155) = 15971820 X6 = 9718 r5 = 0.9718
Algoritmos para generar números
aleatorios
Algoritmo de productos medios
Algoritmos para generar números
aleatorios
Algoritmo de multiplicador constante
Este algoritmo de
 Diagrama de actividad mecánica similar a los
anteriores en lugar de una
contador <= N segunda semilla requiere
Seleccionar cantidad NO de un valor constante
SI
de digitos D (D>3)
Y=A*S
selccionar constante A
con D digitos
ancho de Y es impar agregar cero (0) a la
SI izquierda de Y
Seleccionar semilla S NO
con D digitos
valor = D digitos
selccionar cantidad del medio de Y
de numeros N Generar 5 números ri a partir de la semilla
R = conactenar (0. y valor) S = 9803 y la constante A= 6965
contador = 1
Y0 = (6965)(9803) = 68277895 X1 = 2778 r1 = 0. 2778
Mostrar R
Y1 = (6965)(2778) = 19348770 X2 = 3487 r2 = 0. 3487

S = valor Y2 = (6965)(3487) = 24286955 X3 = 2869 r3 = 0. 2869


Y3 = (6965)(2869) = 19982585 X4 = 9825 r4 = 0. 9825
contador ++
Y4 = (6965)(9825) = 68431125 X5 = 4311 r5 = 0. 4311
Algoritmos para generar números
aleatorios
Algoritmo de multiplicador constante
Algoritmos para generar números
aleatorios
Algoritmo lineal

 Fue propuesto por D.H. Lehmer en 1951.


 Según Law y Kelton, este algoritmo ha sido el mas usado.

X i +1 = (aX i + c) mod(m) i = 1,2,3,4…,n

 Donde X0 es la semilla
 a es constante multiplicativa
 c es constante aditiva
 m es modulo
 X0 > 0, a > 0, c > 0, m > 0 y todos deben ser enteros
Algoritmos para generar números
aleatorios
Algoritmo lineal

 Para obtener números pseudo aleatorios se emplea la


siguiente ecuación

Xi
ri =
m −1
Para todo i = 1,2,3…,n
Algoritmos para generar números
aleatorios
Algoritmo lineal

 Diagrama de actividad

Generar 4 números ri con semilla 37, a = 19,


c = 33 y m = 100

Y1 = (19 * 37 + 33) mod 100= 36 r1 = 36/99 =0.3636


Y2 = (19 * 36 + 33) mod 100= 17 r2 = 17/99 =0.1717
Y3 = (19 * 17 + 33) mod 100= 56 r3 = 56/99 =0.5656
Y4 = (19 * 56 + 33) mod 100= 97 r4 = 97/99 =0.9797
Algoritmos para generar números
aleatorios
Algoritmo lineal
Algoritmos para generar números
aleatorios
Algoritmo lineal

 En el ejemplo anterior los parámetros se dieron de manera


arbitraria.
 Según Banks, Carson, Nelson y Nicol, para que el
algoritmo logre el máximo periodo de vida n, es necesario
que:
 m = 2g
 a = 1 + 4k
 k es entero
 c es relativamente primo a m
 g es entero
 Bajo estas condiciones se obtiene un periodo de vida
máximo n = m = 2g
Algoritmos para generar números
aleatorios
Algoritmo lineal

 Generar suficientes números entre 0 y 1 con


parámetros: semilla X=6, k=3, g=3, c=7; hasta
encontrar el periodo máximo de vida n.
 a = 1 + 4(3) = 13
 m = 2g = 8
Y1 = (13 * 6 + 7) mod 8 = 5 r1 = 5/7 =0.714 Y5 = (13 * 2 + 7) mod 8= 1 r5 = 1/7 =0.142
Y2 = (13 * 5 + 7) mod 8 = 0 r2 = 0/7 =0.000 Y6 = (13 * 1 + 7) mod 8= 4 r6 = 4/7 =0.571
Y3 = (13 * 0 + 7) mod 8= 7 r3 = 7/7 =1.000 Y7 = (13 * 4 + 7) mod 8= 3 r7 = 3/7 =0.428
Y4 = (13 * 7 + 7) mod 8= 2 r4 = 2/7 =0.285 Y8 = (13 * 3 + 7) mod 8= 6 r8 = 6/7 =0.857
Algoritmos para generar números
aleatorios
Algoritmo lineal

•El numero generado para X[8] es 6, es


decir es igual a el valor inicial de la semilla.
•Si se siguen generando valores repetirían
la secuencia
Algoritmos para generar números
aleatorios
Algoritmo lineal

 Considerando el ejemplo anterior y tratando de pasar por alto las


observaciones mencionadas se pide generar valores con:
 a = 12
 Recuerda que k debe ser entero, si a = 1 + 4k no se cumpliría esto
Y1 = (12 * 6 + 7) mod 8 = 7 r1 = 7/7 =1.000
Y2 = (12 * 7 + 7) mod 8 = 3 r2 = 3/7 =0.428
Y3 = (12 * 3 + 7) mod 8 = 3 r3 = 3/7 =0.428

• En resultado del programa de computadora puede apreciarse que a partir del tercer valor se
repiten lo números generados, por tanto no se logra su máximo periodo de vida n.
• Se concluye que si los parámetros no cumplen con las observaciones mencionadas no se
logrará n
Algoritmos para generar números
aleatorios
Algoritmo congruencial multiplicativo

 Este algoritmo surge del lineal cuando c = 0,


X i +1 = (aX i ) mod(m) i = 1,2,3,4…,n

 La ventaja es existe una operación menos que realizar.


 Los parámetros de arranque son la semilla X, a y m los que deben ser enteros y mayores a 0.
 Para generar los numero ri se emplea la siguiente ecuación:

Xi
ri = Para todo i = 1,2,3…,n
m −1
Algoritmos para generar números
aleatorios
Algoritmo congruencial multiplicativo

 Según Banks, Carson, Nelson y Nicol, las


condiciones que deben cumplir los parámetros
para que este algoritmo alcance su periodo
máximo de vida n son:
 m = 2g
 a = 3 + 8k o 5 + 8k
Periodo de vida
 k = 0,1,2…
 X (semilla) debe ser impar n= 2g-2
 g es entero
Algoritmos para generar números
aleatorios
Algoritmo congruencial multiplicativo
Generar suficientes
Diagrama de actividad

números ri con: semilla


17, k=2 y g=5 lograr el
ciclo máximo de vida
a = 5 + 8(2) = 21
m = 2 ^ 5 = 32
Y1 = (21 * 17) mod 32 = 5 r1 =5/31 =0.1612
Y2 = (21 * 5) mod 32 = 9 r2 = 9/31 =0.2903
Y3 = (21 * 9) mod 32 =29 r3 =29/31 =0.9364
Y4 = (21 * 29) mod 32=1 r4 = 1/31 =0.3225
Y5 = (21 * 1) mod 32= 21 r5 = 21/31=0.6774
Y6 = (21 * 21) mod 32=25 r6 =25/31=0.8064
Y7 = (21 * 25) mod 32=13 r7 =13/31=0.4193
Y8 = (21 * 13) mod 32=17 r8 =17/31=0.5483
Algoritmos para generar números
aleatorios
Algoritmo congruencial multiplicativo

OBS: la condición del proceso


repetitivo puede darse en función a
que el nuevo valor de X y la
primera semilla coincidan o no
Algoritmos para generar números aleatorios
Algoritmos congruenciales no lineales
Congruencial cuadrático

 Este algoritmo emplea la siguiente ecuación recursiva:


X i +1 = (aX i2 + bX i + c) mod m i= 1,2,3…,N

Se emplea: Xi para generar los numero ri


 ri =
(m − 1)
Según L’Ecuyer, las condiciones que se cumplen para alcanzar un periodo de vida máximo = N = m, son:

m = 2g

a es par

c es impar

g es entero

(b - 1) mod 4 != 1

Algoritmos para generar números aleatorios
Algoritmos congruenciales no lineales
Congruencial cuadrático
Diagrama de actividad

Generar suficientes números ri


con los siguientes parámetros:
Semilla X=13, g=3, a=26, b=27
y c=27 ; (b-1) mod 4 <> 1
=> m = 2 ^g = 8 =N

Y1 = (26 * 32 + 27 *13 + 27) mod(8) = 4 → R1 = 4 / 7 = 0.5414


Y2 = (26 * 4 2 + 27 * 4 + 27) mod(8) = 7 → R2 = 7 / 7 = 1.0000
Y3 = (26 * 7 2 + 27 * 7 + 27) mod(8) = 2 → R3 = 2 / 7 = 0.2857
Y4 = (26 * 2 2 + 27 * 2 + 27) mod(8) = 1 → R4 = 1 / 7 = 0.1429
Y5 = (26 *12 + 27 *1 + 27) mod(8) = 0 → R5 = 0 / 7 = 0.0000
Y6 = (26 * 0 2 + 27 * 0 + 27) mod(8) = 3 → R6 = 3 / 7 = 0.4286
Y7 = (26 * 32 + 27 * 3 + 27) mod(8) = 6 → R7 = 1 / 7 = 0.8571
Y8 = (26 * 6 2 + 27 * 6 + 27) mod(8) = 5 → R8 = 5 / 7 = 0.7143
Algoritmos para generar números aleatorios
Algoritmos congruenciales no lineales
Congruencial cuadrático
Propiedades de los números Pseudo
aleatorios entre 0 y 1
 Como los números aleatorios se emplearán en
la simulación para generar valores de cualquier
variable aleatoria, debe asegurarse que cumplan
con ciertas características.
 Es la forma de garantizar una buena simulación
Propiedades de los números
Pseudo aleatorios entre 0 y 1
 Media de los aleatorios [0,1] : como los números tienen la
misma probabilidad de presentarse, su comportamiento deberá
presentar una distribución de probabilidad uniforme continua,
con límite inferior CERO y límite superior UNO.
 La función de densidad de una distribución uniforme es:
Forma general de la

1 f(x) distribución uniforme

f ( x) = entre a y b

b−a
Donde a≤x≤b
x
En este caso a=0 y b=1 a b
Propiedades de los números
Pseudo aleatorios entre 0 y 1
 Para obtener la media de la distribución se multiplica
la función de densidad por x, y se integra en todo el
rango de la misma distribución:
b 2
1 x
E ( x) = ∫ x=
a
b−a 2(b − a )
Evaluando en a y b

E ( x) =
1
2
µ = 0.5
Propiedades de los números
Pseudo aleatorios entre 0 y 1
 Varianza de los números aleatorios[0,1]: partiendo de la misma
distribución uniforme continua, obtenemos la varianza de la
distribución por medio de la ecuación:

V ( x) = σ = E ( x ) − µ
2 2 2

 Calculando E(x2):
b 3
1 x 1
E(x2 ) = ∫ x2 = Por lo tanto al E(x ) =
2

a
b−a 3(b − a ) evaluar en a y b: 3
2
1 1 1
 Entonces: V ( x) = −   =
3  2  12
Propiedades de los números
Pseudo aleatorios entre 0 y 1
 Observación:
 De lo anterior trabajado se concluye que los números
aleatorios comprendidos en el intervalo [0,1] deben
tener:

1
µ=
2
y

1
σ =2

12
Propiedades de los números
Pseudo aleatorios entre 0 y 1
 Independencia: esta propiedad implica que los números aleatorios no deben
tener correlación entre si.

Valores unifórmenle dispersos Valores correlacionados


no correlacionados
Pruebas estadísticas para los
números Pseudo aleatorios
 Existen diversas pruebas que se emplean para
garantizar que los números ri generados con los
algoritmos anteriores cumplen con las
propiedades de uniformidad e independencia.
 Observación: el generar los números ri es solo
el primer paso.
Pruebas estadísticas para los
números Pseudo aleatorios
 Prueba de medias:
 Se debe cumplir que la media (μ) de los valores = 0.5
 Esta prueba consiste en determinar el promedio de los n
números que contiene el conjunto ri mediante la siguiente
ecuación: 1 n
r = ∑ ri
n i =1
 Luego se calculan los límites de aceptación inferior y
superior con las siguientes ecuaciones:

1  1  1  1 
Lir = − Zα / 2   Lsr = + Zα / 2  
2  12n  2  12n 
Pruebas estadísticas para los
números Pseudo aleatorios
 Si el valor r se encuentra dentro de los límites
de aceptación, se concluye que no se puede
rechazar el conjunto ri, pues tiene:
 μ = 0.5
 Nivel de aceptación de 1 – α
Pruebas estadísticas para los
números Pseudo aleatorios
 Ejemplo:
 Determinar un valor de r esperado (1/2) con un nivel de
aceptación del 95%

0.0449 0.1733 0.5746 0.049 0.8349 0.92 0.2564


0.6015 0.6694 0.3972 0.7025 0.1247 0.1977 0.0125
0.63 0.2531 0.8297 0.6486 0.9582 0.9085 0.8524
0.5514 0.0316 0.3587 0.7041 0.2523 0.2545 0.3044
0.0207 0.1067 0.3587 0.1746 0.1589 0.3727 0.4145

n = 40 1
r= ( 0.0449 + 0.1733 + 0.5746... + 0.4145) = 0.43184
α = 5% 40
Pruebas estadísticas para los
números Pseudo aleatorios
 Calculando los límites:
1  1 

Lir = − Z 0.05 / 2  
2 
 12(40) 
Como el promedio r = 0.43184
1  1  esta dentro de los límites de

Lir = − (1.96)  = 0.410538649
2 
 12(40)  aceptación se concluye que el
conjunto ri estudiado tiene un
valor u = 0.5 con un nivel de
1  1 

Lsr = + Z 0.05 / 2   aceptación del 95%
2 
 12(40) 
1  1 

Lsr = + (1.96)  = 0.589461351
2 
 12(40) 
Pruebas estadísticas para los
números Pseudo aleatorios
 Prueba de varianza:
 Se debe cumplir que la varianza del conjunto de números ri
generado sea 1/12.
 La prueba de varianza emplea la siguiente ecuación:
n
(
∑ ir − r ) 2

V (r ) = i =1
n −1
 Los límites de aceptación inferior y superior se obtienen mediante:

X α2 / 2,n −1 X 12−α / 2,n −1


LiV ( r ) = LsV ( r ) =
12(n − 1) 12(n − 1)
Pruebas estadísticas para los
números Pseudo aleatorios
 Ejemplo:
 Imaginar que en un grupo de 40 números aleatorios se obtiene como r
=0.43250 al 95% de aceptación.
 Hallando V(r):

40

∑ (r − 0.43250)
i
2

V (r ) = i =1
40 − 1
1
V (r ) = [(0.04487 − 0.43250) 2 + (0.17328 − 0.43250) 2 ... + (0.41453 − 0.43250) 2 ]
39
V (r ) = 0.08695062
Pruebas estadísticas para los
números Pseudo aleatorios
 Calculando los límites:
X (20.05 / 2 ),39
58.1200541
LiV ( r ) = = = 0.12418815
12(39) 468
X [(21−0.05) / 2 ],39 23.6543003
LsV ( r ) = = = 0.05054338
12(39) 468
 Como V(r)=0.8695062 está dentro de los límites de aceptación no se rechaza el conjunto de 40
números ri, pues tienen una varianza de 1/12 = 0.0833333
Pruebas estadísticas para los
números Pseudo aleatorios
 Pruebas de uniformidad:
 Una de las propiedades que deben cumplir un
conjunto de números ri es la uniformidad.
 Para comprobar el cumplimiento de esta propiedad
se empleará la prueba de Kolmogorov-Smirnov y la
prueba Chi cuadrada.
Pruebas estadísticas para los
números Pseudo aleatorios
 prueba de Kolmogorov-Smirnov:
 Es una prueba estadística que sirve para determinar si se cumple o no
con la uniformidad.
 Se recomienda emplear esta prueba en conjuntos ri pequeños, v.g. n <
20
 Procedimiento:
 Ordenar de mayor a menor los números del conjunto ri:
 Determinar los valores de D+, D- y D
 Determinar el valor critico de Dα,n de acuerdo con los valores críticos de
Kolmogorov-Smirnov para un grado de confianza α y según el tamaño de la
muestra n
 Si el valor de D es mayor que el valor critico de Dα,n se concluye que el
conjunto ri no cumple con la uniformidad, de lo contrario se dice que no se
ha detectado una diferencia significativa entre los ri y la distribución
uniforme
Pruebas estadísticas para los
números Pseudo aleatorios
 Prueba de Kolmogorov-Smirnov:
 Las ecuaciones para hallar D+, D- y D son:

+ 1 
D = Max  − ri 
1<i < n  n 
−  i − 1
D = Max ri −
1<i < n  n 
+ −
D = Max( D , D )
Pruebas estadísticas para los
números Pseudo aleatorios
 Prueba de Kolmogorov-Smirnov:
 Realizar la prueba a los siguientes números con un nivel de confianza del 90%

ri = 0.97,0.11,0.65,0.26,0.98,0.03,0.13,0.89,0.21,0.69
 α =10%, ordenado los números:

ri = 0.03,0.11,0.13,0.21,0.26,0.65,0.69,0.89,0.97,0.98
Pruebas estadísticas para los
números Pseudo aleatorios
 Prueba de Kolmogorov-Smirnov: n=10
i 1 2 3 4 5 6 7 8 9 10
i 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
n
0.03 0.11 0.13 0.21 0.26 0.65 0.69 0.89 0.97 0.98
ri
i −1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
n
i 0.07 0.09 0.17 0.19 0.24 -0.05 0.01 -0.09 -0.07 0.02
− ri
n
i − 1 -0.04 0.02 -0.04 0.02 0.02 0.7 0.68 0.98 1.04 0.96
ri −
n
10
n
0.24 1.04 1.04
D+ D− D
Pruebas estadísticas para los
números Pseudo aleatorios
 Prueba de Kolmogorov-Smirnov:
 De acuerdo a la tabla de valores para la prueba
pedida, el valor critico de D0.10,10 correspondiente a n
= 10 es 0.368
 El valor encontrado D =1.04 es mayor, por lo tanto
se concluye que los valores no se distribuyen
uniformemente
Pruebas estadísticas para los
números Pseudo aleatorios
 Prueba Chi-cuadrada:
 También busca determinar si los números generados se distribuyen
uniformemente en el intervalo [1,0]
 Para ello es necesario dividir el intervalo [1,0] en m sub intervalos,
donde:
m= n
 Luego clasificar cada número en los m intervalos, a la cantidad calculada de números en
cada intervalo se denomina frecuencia observada Oi y a la cantidad de números que se
espera encontrar en cada intervalo m se le llama frecuencia esperada Ei.
 En teoría ri = n/m,
 A partir de los valores Oi y Ei se determina la Chi-cuadrada
Pruebas estadísticas para los
números Pseudo aleatorios
 Prueba Chi-cuadrada:
 La ecuación de este estadístico es:
( Ei − Oi )
m
X =∑
2
0
i =1 Ei
 Si el valor de la Chi-cuadrada calculada con la ecuación anterior es
menor al valor de las tablas de:
X α2 ,m −1
 No se puede rechazar que el conjunto de números evaluado sigue
una distribución uniforme, en caso contrario se rechaza que los
números siguen una distribución uniforme.
Pruebas estadísticas para los
números Pseudo aleatorios
 Realizar la prueba Chi-cuadrada con un nivel de aceptación del 95% a:

0.6731 0.149
0.8653
n = 100 α = 5% m = n = 10
0.641
Pruebas estadísticas para los
números Pseudo aleatorios

n ( Ei − Oi ) 2
Oi Ei =
intervalo m Ei X α2 ,m −1 → X 02.05,9 = 16.9

[0.0-0.1) Como 10.8 < 16.9 no se puede


rechazar el conjunto de
números evaluados, pues
tienen una distribución
uniforme

[0.1-0.2) 10.8
Pruebas estadísticas para los
números Pseudo aleatorios
 Pruebas de independencia:
 Prueba de corrida arriba y abajo: consiste en
determinar una secuencia de números S, que solo
tiene unos y ceros, de acuerdo a la comparación
entre ri y ri-1
 Luego se determina el número de corridas C0 (una
corrida es la cantidad de ceros ó unos consecutivos)
 Posteriormente debe ser calculado el valor
esperado, la varianza del número de corridas y el
estadístico Z0
Pruebas estadísticas para los
números Pseudo aleatorios
 Prueba de corrida arriba y abajo:

2n − 1
µ C0 = Si el estadístico Z0 es
3 mayor que el valor crítico
16n − 29 de Zα/2 , se concluye que
σ C20 = los números observados
90 no son independientes, de
C0 − µ C 0 los contrario se acepta
Z0 = que el conjunto de
σ C0 números es independiente
Pruebas estadísticas para los
números Pseudo aleatorios
 Prueba de corrida arriba y abajo:
Ejecutar la prueba a la siguiente serie de números, con un nivel de aceptación del 95%, n = 40

0.34
La secuencia de unos y ceros se construye de la siguiente manera: se coloca un
cero si ri+1 ≤ ri, en caso contrario se coloca uno; como el primer número de la
0.83
0.67 0.62
serie no tiene anterior no se considera
S = {110110101100110001000100010100110100110}
C0 = 24
α = 5%
Pruebas estadísticas para los
números Pseudo aleatorios
 Prueba de corrida arriba y abajo:
Calculando el valor esperado y la varianza del número de corridas:

2(40) − 1
µ C0 = = 26.33 Z0.05/2 = Z0.025 = 1.96
3
Como Z0 es menor que Zα/2 , se
16(40) − 29
σ C0 =
2
= 6.788 concluye que no se puede rechazar
90 que los números observados son
independientes, están aptos para
24 − 26.33 usarse en la simulación
Z0 = = −0.3437
6.788
Pruebas estadísticas para los
números Pseudo aleatorios
 Prueba de corrida arriba y debajo de la media:
 Este procedimiento consiste en determinar una secuencia de unos y ceros de
acuerdo a la comparación de cada número ri y 0.5.
 Luego se determina el numero de corridas C0 y los valores de n0 y n1

Numero de corridas en la secuencia determinado de manera


C0 = igual que en la prueba de corridas arriba y abajo
n0 = Cantidad de ceros en la secuencia S

n1 = Cantidad de unos en la secuencia S

n = n0 + n1
Pruebas estadísticas para los
números Pseudo aleatorios
 Prueba de corrida arriba y debajo de la media:
 Posteriormente se calcula el valor esperado, la varianza del
número de corridas y el estadístico Z0 con las siguientes
ecuaciones:
2n0 n1 1 Si el estadístico Z0 está fuera del
µ C0 = + intervalo :
n 2
2n0 n1 (2n0 n1 − n) − Zα ≤ Z0 ≤ Zα
σ C0 =
2
2 2
n 2 (n − 1) Se concluye que los números
C0 − µ C 0 evaluados no son independientes,
Z0 = de lo contrario no se rechaza el
σ C0 conjunto
Pruebas estadísticas para los
números Pseudo aleatorios
 Prueba de corrida arriba y debajo de la media:
 Realizar la prueba con un nivel de aceptación de 95% al
siguiente grupo de números:

0.809 0.04
Si el número es mayor o igual a 0.5 se coloca 1, de lo contrario se coloca 0.

S = {10010111010011010010010001111110000001111111100011}

0.397
n = 50 → n0 = 23 → n1 = 27
C0 = 21 0.26
Pruebas estadísticas para los
números Pseudo aleatorios
 Prueba de corrida arriba y debajo de la media:
 Calculando el valor esperado y la varianza del número de corridas

2(23)(27) 1 − 1.96 ≤ Z 0 ≤ 1.96


µ C0 = + = 25.34
50 2 No se rechaza que los
2(23)(27)[2(23)(27) − 50] números son independientes
σ C20 = = 12.08542 con un nivel de confianza
50 (50 − 1)
2

del 95% y por tanto se


21 − 25.34 pueden emplear en la
Z0 = = 1.2484146
12.08542 simulación.
Z 0.05 / 2 = Z 0.025 = 1.96
Investigar
 Existen otras pruebas para comprobar la
independencia de los números aleatorios ri :
 Prueba de Póker
 Prueba de Series
 Prueba de huecos
 Investiga sobre que algoritmo siguen cada una
de las pruebas mencionadas.
Referencias
1. Banks J., Carson J.S., Nelson B.L. y Nicol D.M. “Discrete-Event
System Simulation”. 4ta edición Prentice Hall, 2005.
2. Law A.M. y Kelton W.D. “Simulation Modeling and Analisys”
3ra edición McGraw Hill, 2000.
3. L’Ecuyer P. “Uniform Random Number Generation, Ann. Of
Operations Research”, 53: 77-120, 1994
4. Lehmer D.H. “Proceedings of Second Symposium on Large-
Scale Digital Computing Machinery”, Harvard University Press,
Cambridge 1951
5. García E., García H., Cárdenas L. “Simulación y Análisis de
Sistemas” Prentice Hall 2006

Вам также может понравиться