Anda di halaman 1dari 36

1

GENERACIN DE NMEROS
ALEATORIOS
1- Definicin de Nmeros Aleatorios
2- Nmeros Pseudoaleatorios
3- Generadores de Nmeros Aleatorios
4- Tcnicas para Generar Nmeros Aleatorios
5- Pruebas para chequear la Uniformidad de los
Nmeros Aleatorios
6- Conclusiones
2

NMEROS ALEATORIOS
Los nmeros random son un elemento bsico
en la simulacin de la mayora de los
sistemas discretos.
Cada nmero random Ri es una muestra
independiente de una distribucin uniforme y
continua en el intervalo (0,1).
Distribucin Continua Terica

Fun
cin

NMEROS
ALEATORIOS
de d
ensi
dad
de p
roba
bili

1, 0 x 1

f(x)

dad

f(x)
0, en otro caso

F(x)

0, en otro caso
Fun
c
P(X in de p
<=
r
x) obabilid
ad a
cum
0, x < 0
ulad
a:
x, 0 x 1
1, x > 1

F(x)

NMEROS ALEATORIOS
La probabilidad de observar un valor en un particular
intervalo es independiente del valor previo observado.

Todo punto en el rango tiene igual probabilidad de ser


elegido.

Si el intervalo (0,1) es dividido en n sub-intervalos de


igual longitud, el nmero esperado de observaciones en
cada intervalo es N/n. (N nmero de observaciones
totales).

GENERADOR DE NMEROS ALEATORIOS


El objetivo de cualquier esquema de generacin
(generador), es producir una secuencia de
nmeros entre 0 y 1 que simule las propiedades
ideales de distribucin uniforme y de
independencia.

NMEROS PSEUDO-ALEATORIOS
Los nmeros aleatorios son calculados a partir de
una semilla (seed) y una frmula.
El problema es que si el mtodo es conocido,
entonces la secuencia de nmeros random puede
ser replicada.
En la prctica ninguna funcin produce datos
aleatorios verdaderos -- las funciones producen
nmeros pseudo-aleatorios.
7

TECNICAS PARA GENERAR


NMEROS ALEATORIOS (Randoms)
La mayora de los mtodos (generadores) comienzan
con un nmero inicial (semilla), a este nmero se le
aplica un determinado procedimiento y as se encuentra
el primer nmero random.
Usando este nmero como entrada, el procedimiento es
repetido para lograr un prximo nmero random.
Y as sucesivamente.
8

TECNICAS PARA GENERAR


NUMEROS ALEATORIOS
Algunos mtodos de inters:
Mtodo Del Cuadrado Medio: comienza con un nmero
inicial (semilla). Este nmero es elevado al cuadrado. Se
escogen los dgitos del medio de este nuevo nmero (segn
los dgitos que se deseen) y se colocan despus del punto
decimal.
X0 = 5497
X02 = (5497)2 = 30,217,009 ===> X1 = 2170
1er. random
R1 = 0.2170
X12 = (2170)2 = 04,708,900 ===> X2 = 7089
R2 = 0.7089
2

TECNICAS PARA GENERAR


NUMEROS ALEATORIOS
Este mtodo es muy sensibles a la semilla elegida:
Ej1. MCM ; X0 = 5197.
X0 = 5197
X1 = 51972 =27.008.809
X2 = 00882 =00.007.744

X1 = 0088
X2 = 0077

R1=0.0088
R1=.0.0077

! siempre genera
nmeros que
comienzan con 0.00..

..

Ej2. MCM ; X0 = 6500.


X0 = 6500
X1 = 65002 = 42.250.000
X2 = 25002 = 06.250.000

! siempre genera el
nmero 0.25

X1 = 2500
X2 = 2500

R1=.0.2500
R2=.0.2500

TECNICAS PARA GENERAR


NUMEROS ALEATORIOS
Tcnica Del Producto Medio: se comienza eligiendo dos nmeros como
semilla (X0 y X0' ambos con igual cantidad de dgitos = D). Se multiplica X0 y
X0' para obtener el nmero U1.
Se seleccionan los D dgitos del medio de U1 (X1) y se ubican luego del
punto decimal. Este nmero conforma el primer NR. El proceso se repite
multiplicando ahora X0 y X1.
Tcnica Del Multiplicador Constante: semejante al anterior, pero en vez
de elegir dos semillas, se elige una semilla (X0) y una constante (K).
Mtodo De Congruencia Aditiva: Se requiere una secuencia de n nmeros
X1, X2,... Xn. Este generador produce una extensin de la secuencia o sea
Xn+1, Xn+2,... El mtodo es el siguiente:
11

Xi = (Xi-1 + Xi-n) mod m

TECNICAS PARA GENERAR


NUMEROS ALEATORIOS
Generadores de Congruencia Lineal: produce una secuencia
de enteros X1, X2,... entre 0 y m-1 de acuerdo a la siguiente
relacin recursiva:

Xi+1= (a * Xi + c) mod m,

i=0,1,2,...

X0 es llamado semilla.
a es llamado el multiplicador constante.
c es el incremento.
m es el mdulo.
El nmero aleatorio se encuentra de la siguiente manera:
Ri=Xi/m (i=1,2,..)

12

TECNICAS PARA GENERAR


NUMEROS ALEATORIOS
Ejemplo: Utilice el mtodo de Congruencia Lineal para generar
nmeros aleatorios con las siguiente constantes:
X0 = 27 , a = 17, c = 43, m = 100 .
La secuencia de Xi y subsecuentes Ri seran:
X0 = 27
X1 = (17 * 27 + 43) mod 100 = 502 mod 100 = 2
R1 = 2/100 = 0.02

1er. random

X2 = (17 * 2 + 43) mod 100 = 77 mod 100 = 77


R2 = 77/100 = 0.77
Si c=0 el mtodo se denomina de Congruencia Multiplicativo

13

TECNICAS PARA GENERAR


NUMEROS ALEATORIOS
Propiedades Secundarias:
Adems del test de independencia y uniformidad hay que testear otras dos
propiedades:
DENSIDAD (significa que los valores asumidos por Ri i=1,2,3,... no dejen huecos
significantes sobre [0,1]).
MXIMO PERIODO (se necesita un perodo grande para evitar los ciclos:
recurrencia de la misma secuencia de nmeros generados.)

14

4-

Usando el mtodo
congruencial
multiplicativo,
encontrar el perodo
de un generador que
utiliza las siguientes
constantes:
a = 13 m= 26 = 64
X0 = 1,2,3 y 4.

La seleccin de los
parmetros
del
generador
afecta
drsticamente
las
propiedades ideales y la
longitud del ciclo

10

Xi

Xi

Xi

Xi

0
2
1
3
4
5
6
7
8
9
9
11
12
13
14
15
16

1
41
13
21
17
29
57
37
33
45

2
18
26
42
34
58
50
10
2

3
59
39
63
51
23
43
47
35
7

4
36
52
20
4

27
53
49
61
25
5
1

31
19
55
11
15
3

15

TECNICAS PARA GENERAR


NUMEROS ALEATORIOS
Propiedades Secundarias:
Estos ejemplos muestran la importancia de una eleccin adecuada de
valores para estas constantes. Las secuencias de la tabla exhiben
perodos cortos y densidades insuficientes.
En general, no es posible predecir cual ser el rendimiento de un
determinado generador el cual se basa en un conjunto de constantes
predeterminadas.

16

TEST PARA EL CHEQUEO DE UNIFORMIDAD


Generador Uniforme

1.25

1.25

0.75

0.75

random

ra ndom

Generador Uniforme

0.5
0.25
0

0.5
0.25
0

-0.25

-0.25

-0.5

-0.5

Generador Uniforme?
1
0.8
0.6
0.4
0.2
0
0

50

100

17

Se denota con:

F(x) a la Probabilidad Acumulada de una


Distribucin Terica, y

SN(x) a la Probabilidad Acumulada de una


Distribucin Emprica

18

Suponga que se necesita conocer la distribucin que tiene la


siguiente secuencia de observaciones (valores observados en
una variable aleatoria): 3-4-5-3-4-5-3-6-4-3

Si NO se conoce de antemano la probabilidad de un fenmeno,


entonces se debe construir su distribucin emprica (basada
en frecuencias)
Valor
observado

Cantidad de
ocurrencias

Frecuencia
relativa

SN(x)

4/10=0.4

4/10=0.4

3/10=0.3

7/10=0.7

2/10=0.2

9/10=0.9

1/10=0.1

10/10=1

Dis
Ac tribu
Em umu cin
pr lada
ica
19

SN(3) se obtiene en base a cuntos casos favorables <=3 sobre el total


SN(4) se obtiene en base a cuntos casos favorables <=4 sobre el total
SN(5) se obtiene en base a cuntos casos favorables <=5 sobre el total
SN(6) se obtiene en base a cuntos casos favorables <=6 sobre el total

20

TEST PARA EL CHEQUEO DE UNIFORMIDAD


Test de Kolmogorov-Smirnov: compara la distribucin de
un conjunto de nmeros generados con una distribucin
uniforme.
El Test KS compara

Funcin de Probabilidad
Acumulada Terica
Continua F(x) de una
Distribucin Uniforme

Funcin de Probabilidad
Acumulada Emprica
SN(x), de una muestra de
N observaciones.

21

TEST DE KOLMOGOROV-SMIRNOV
Por definicin, la Funcin de Probabilidad (o frecuencia) Acumulada
(Terica) UNIFORME entre 0 y 1 tiene:

* F(x) = x,

0<=x<=1

Mientras que una Funcin de Probabilidad (o Frecuencia) Acumulada


Emprica se encuentra:
* SN(x) = (cant. de observaciones generadas<=x ) / N
* SN(x) = (cant.de nmeros randoms <=x ) / N
Este test se basa en la mayor desviacin absoluta entre F(x) y SN(x)
sobre todo el rango de la variable random.
Esto es:
D = max|F(x) - SN(x)|
26
La distribucin de D est tabulada como una funcin de N y de un error

TEST DE KOLMOGOROV-SMIRNOV
Procede de la siguiente manera:

1- Ordena los datos de menor a mayor:


R(1)<=R(2)<=... <= R(N)
(R(1) denota la observacin ms pequea.)
2- Computa:
D+ = max { i/N - R(i)},
D- = max { R(i)- (i-1)/N},

1<=i<=N
1<=i<=N
27

3- Computa la mxima desviacin D = max (D+,D-).

TEST DE KOLMOGOROV-SMIRNOV
Procede de la siguiente manera (continuacin):

4- Determina el valor crtico, D


para el nivel de
significancia alfa y tamao de muestra N, (estos valores
estn tabulados).

5- Si la muestra estadstica D es mas grande que el valor


crtico, D, la muestra es rechazada.
Si D <= D la muestra es aceptada.
28

Ejemplo para ejecutar el Test de


UNIFORMIDAD (KOLMOGOROV - SMIRNOV)
Suponer que se generaron cinco nmeros random y que se
desea ejecutar el test de K.S. para un nivel de significancia
= 0.05
Orden cronolgico:

R1

R2

R3

R3

R5

0.03

0.58

0.87

0.32

0.95

Orden numrico creciente:


R(1)

R(2)

R(3)

R(3)

R(5)

0.03 0.32

0.58

0.87

0.95
29

Ejemplo
(continuacin)

20 randoms distintos:
salto es 1/20=0.05

0.6

F(x)=x

0.5

S(x)

0.4
0.3
0.2
0.1
0

0.10.20.30.40.50.6

0.03
0.58

0.32

30
100 randoms
distintos:
salto es 1/100=0.001
30

Ejemplo
(continuacin)
Evaluacin:
D.Terica
F(x) = R(i)

0.03

0.32

0.58

0.87

0.95

D.Emprica
SN(x)= i/N

0.2

0.4

0.6

0.8

i/N R(i)
(D+ :dif. sup.)

0.17

0.08

0.02

R(i) - (i-1)/N
(D- :dif. inf.)

0.03

0.12

0.18

0.27

0.05

0.15

31

Continuar este ejemplo.....

Ejemplo
(continuacin)
F(x)=x

0.6

S(x)

0.5
0.4

D+

0.3

D-

0.2
0.1
0
0.1 0.2 0.3 0.4 0.5 0.6

0.03

0.32

0.58

32

CONCLUSIONES
Los Nmeros randoms son una herramienta fundamental en la
generacin de variables aleatorias con una determinada probabilidad
(prximo tema). La generacin de variables aleatorias permite
reproducir comportamientos especficos de un sistema real.
Cada nmero random Ri es una muestra independiente de una
distribucin uniforme y continua en el intervalo (0,1).
Adems una secuencia de nmeros randoms debera cumplir
propiedades secundarias como tener una longitud de ciclo aceptable.

33

CONCLUSIONES
La mayora de los generadores utilizan una funcin, que a partir de
una o mas semillas, generan el prximo numero random (NR = f(Xi)).
El valor usado para comenzar la secuencia es llamado semilla.
Se mostraron varios mtodos para generar nmeros randoms. En
todas las tcnicas f es determinstica. Dada la semilla se puede
predecir con probabilidad 1 los nmeros de la secuencia. Por ello son
llamado NUMEROS PSEUDOALEATORIOS.
Si conocemos f podemos generar la secuencia en cualquier momento
si tenemos el valor de Xi.
En muchos casos se prefieren estas secuencias de nmeros ya que
permiten repetir las secuencias de eventos en distintos experimentos.
34
Si deseamos otra secuencia simplemente cambiamos la semilla.

CONCLUSIONES
Sin embargo, los nmeros son aleatorios en el sentido de que pasan
pruebas estadsticas de aleatoriedad.
Se trabajo con un test estadstico para analizar la propiedad de
uniformidad: el Test de Kolmogorov Smirnov.
El test compara la funcin de Probabilidad Acumulada continua F(x) de
una Distribucin Uniforme con la funcin de Probabilidad Acumulada
emprica SN(x), de una muestra de N observaciones (obtenidas de un
generador). Las diferencias estan tabuladas, dependiendo de la
longitud de la muestra (N) y el nivel de significancia admitido().

35

Asignacin 2:

Trabajo de Investigacin (15%)

1. Nmeros Aleatorios: definicin, caractersticas y ejemplos


2. Generadores de nmeros aleatorios: definicin, clasificacin y tipos generadores
3. Pruebas para generadores de nmeros aleatorios: descripcin y uso
4. Aplicacin prctica: construir una aplicacin web que genere nmeros aleatorios
por tres mtodos diferentes y aplicar pruebas estadsticas.
Trabajo en grupo de mximo 3 estudiantes por grupo.
Se evaluar contenido, presentacin, ortografa, referencias
Fecha entrega: 1 / Diciembre / 2016
Presentacin: 15 min. por grupo 8 / Diciembre / 2016

Anda mungkin juga menyukai