Generación de números aleatorios con distribución uniforme

Texto completo

(1)

Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..

Existen en la actualidad innumerables métodos para generar números aleatorios

En la literatura disponible se pueden En la literatura disponible se pueden encontrar gran cantidad de algoritmos.

encontrar gran cantidad de algoritmos.

2

Generación de números aleatorios

2

con distribución uniforme

Generación de números aleatorios con distribución uniforme

Requisitos para un buen generador de números aleatorios con distribución uniforme:

*

*

La distribución de los números debe ser uniforme La distribución de los números debe ser uniforme en todo el intervalo

en todo el intervalo [ [ 0,1 0,1 ] ] . .

*

*

Los números deben ser independientes dentro de Los números deben ser independientes dentro de toda la serie generada.

toda la serie generada.

*

*

El ciclo del generador debe ser bastante grande. El ciclo del generador debe ser bastante grande.

(2)

Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..

§

§

L L a serie debe volverse a repetir. a serie debe volverse a repetir.

§

§

El generador debe ser rápido y usar poco espacio El generador debe ser rápido y usar poco espacio en la memoria.

en la memoria.

§

§

Los más usados pertenecen Los más usados pertenecen a los a los denominados denominados m

étodos de congruencia todos de congruencia

4 4

Si

Si r r

11

, r , r

22

, r , r

33

, r , r

44

, , ...son los n ...son los nú úmeros de la serie deseadas, meros de la serie deseadas, entonces la f

entonces la fó órmula (aditiva) de congruencia rmula (aditiva) de congruencia correspondiente es:

correspondiente es:

z

z

i+1i+1

= ( = (A z A z

i i

+ B + B) (mod C) ) (mod C) r

r

i+1 i+1

= = z z

i+1i+1

/C /C i = 0,1,2,3,

i = 0,1,2,3,... ...

Con

Con z z

00

valor inicial(dado), y A, B, C son constantes valor inicial(dado), y A, B, C son constantes

(3)

Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..

Estos generadores en realidad no lo son, sin embargo las Estos generadores en realidad no lo son, sin embargo las

series pseudo

series pseudo- -aleatorias poseen ciclos bastante grandes aleatorias poseen ciclos bastante grandes y se aproximan satisfactoriamente.

y se aproximan satisfactoriamente.

Un algoritmo sencillo para generar números con Un algoritmo sencillo para generar números con

distribución uniforme en un intervalo

distribución uniforme en un intervalo [ [ a,b a,b ], ], es: es:

Multiplicar un número aleatorio

Multiplicar un número aleatorio R R (uniforme en (uniforme en [ [ 0,1 0,1 ] ] ) ) por

por (b (b- - a) a) y sumar el valor de y sumar el valor de a. a.

6 6

La siguiente función en Pascal lo realiza:

La siguiente función en Pascal lo realiza:

FUNCTION NUMALEAT(a,b:REAL):real;

FUNCTION NUMALEAT(a,b:REAL):real;

begin begin

numaleat := a + (b

numaleat := a + (b - - a) * random a) * random end;

end;

donde Random es una función sin parámetros que donde Random es una función sin parámetros que

devuelve un valor aleatorio en

devuelve un valor aleatorio en [ [ 0,1 0,1 ] ] ) )

(4)

Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..

Distribución exponencial Distribución exponencial

La función de densidad para variables con esta La función de densidad para variables con esta distribución, se puede expresar:

distribución, se puede expresar:

f(x) = A

f(x) = A Exp Exp ( (- -Ax Ax) )

y la función de distribución acumulativa es:

y la función de distribución acumulativa es:

F(x) = 1

F(x) = 1 - - Exp Exp ( (- -Ax Ax) donde A es una constante ) donde A es una constante denotada como

denotada como 1/ 1/ λλ λλ el valor esperado = el valor esperado = 1/A 1/A la Varianza = 1/(A la Varianza = 1/(A

22

) )

8 8

f(x) f(x)

x x A

A

11

A

A

22

Ejemplo de función de Ejemplo de función de densidad para distribución densidad para distribución exponencial

exponencial

(5)

Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..

Distribución que tiene muchas aplicaciones en la Distribución que tiene muchas aplicaciones en la simulación de eventos aleatorios, usualmente los simulación de eventos aleatorios, usualmente los flujos de entrada y tiempos de servicio en modelos flujos de entrada y tiempos de servicio en modelos de sistemas de servicio masivo están relacionados de sistemas de servicio masivo están relacionados a la distribución exponencial.

a la distribución exponencial.

Ejemplo Ejemplo

10 10

Los tiempos de llegada son completamente independientes Los tiempos de llegada son completamente independientes

entre sí

entre sí y el intervalo de tiempo entre llegadas el intervalo de tiempo entre llegadas consecutivas tiene distribución exponencial.

consecutivas tiene distribución exponencial.

Este flujo se denomina flujo de tipo Poisson.

Este flujo se denomina flujo de tipo Poisson.

Una propiedad interesante del

Una propiedad interesante del flujo de Poisson flujo de Poisson es que es que cualquiera que sea el momento inicial de la observación cualquiera que sea el momento inicial de la observación el tiempo hasta la próxima llegada tiene

el tiempo hasta la próxima llegada tiene la misma la misma distribución

distribución, independiente del instante de llegada , independiente del instante de llegada anterior.

anterior.

(6)

Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..

Empleando un generador de números aleatorios con Empleando un generador de números aleatorios con

distribución uniforme en

distribución uniforme en [0,1], [0,1], se puede generar se puede generar números con distribución exponencial, por el números con distribución exponencial, por el método de transformación inversa:

método de transformación inversa:

FUNCTION EX(a:real):real;

FUNCTION EX(a:real):real;

begin begin

EX :=

EX := - -A*LN( A*LN(Random Random) ) end

end; ;

12 12

Distribución de Poisson Distribución de Poisson

Si consideramos una secuencia de eventos, y ellos son Si consideramos una secuencia de eventos, y ellos son independientes entre sí( ejemplo llegada de clientes a un independientes entre sí( ejemplo llegada de clientes a un servicio), que constituyen un flujo de Poisson, entonces servicio), que constituyen un flujo de Poisson, entonces el intervalo de tiempo entre la ocurrencia de los eventos el intervalo de tiempo entre la ocurrencia de los eventos tiene distribución exponencial, sí calculamos la

tiene distribución exponencial, sí calculamos la probabilidad

probabilidad P P de ocurrencia de de ocurrencia de x x eventos dentro de un eventos dentro de un intervalo

intervalo T T P =

P = Exp Exp( (- -T/A)(T/A) T/A)(T/A)

x x

/ x! f(x) = / x! f(x) = Exp Exp( (- -1/A)(1/A) 1/A)(1/A)

x x

/ x! / x!

en intervalo T=1

en intervalo T=1

(7)

Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..

El valor de una variable aleatoria con

El valor de una variable aleatoria con distribución distribución de Poisson

de Poisson es, por definición, el número de es, por definición, el número de ocurrencias de un evento descrito con el

ocurrencias de un evento descrito con el flujo de flujo de Poisson

Poisson, dentro de un intervalo de tiempo , dentro de un intervalo de tiempo T. T.

Para generar estos números, es posible simular dicho Para generar estos números, es posible simular dicho proceso de ocurrencia o llegadas, Así encontramos proceso de ocurrencia o llegadas, Así encontramos que el número deseado N tiene que cumplir con:

que el número deseado N tiene que cumplir con:

14 14

+

=

=

1

1 T

1

N

i

i i

N

i

v v

La siguiente desigualdad La siguiente desigualdad donde

donde v v

ii

tiene distribución exponencial tiene distribución exponencial

(8)

Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..

Para generar

Para generar v v

ii

se puede usar un generador de se puede usar un generador de variables

variables r r

i i

con distribución uniforme en con distribución uniforme en [0,1] [0,1]

y calcular y calcular

v

v

ii

= = - -A ln A ln r r

i i

simplificando la desigualdad simplificando la desigualdad anterior se convierte en:

anterior se convierte en:

∏ ∏

=

+

=

N

i

N

i

i

i r

r

1

1

1 (-T/A)

Exp

16 16

Función para generar los valores de Función para generar los valores de N. N.

FUNCTION Poisson(A:Real):

FUNCTION Poisson(A:Real):integer integer; ;

VAR Y, V : Real; N :

VAR Y, V : Real; N : IntegerInteger;; Begin

Begin

Y := 1.0; V :=

Y := 1.0; V := Exp Exp( (- -1.0/A); N := 0; 1.0/A); N := 0;

While

While Y >= V Do Y >= V Do begin begin Y := Y *

Y := Y * Random Random; N := N + 1; ; N := N + 1; end end; ; Poisson := N

Poisson := N

End End;;

(9)

Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..

Distribución que es la suma de un número de Distribución que es la suma de un número de

variables aleatorias independientes que poseen la variables aleatorias independientes que poseen la misma distribución exponencial.

misma distribución exponencial.

x x F(x)

F(x)

18 18

Se aplica en modelos de sistemas de servicio masivo, Se aplica en modelos de sistemas de servicio masivo,

ejemplo: En situaciones donde el servicio tiene ejemplo: En situaciones donde el servicio tiene que realizar dos operaciones c/u con tiempo de que realizar dos operaciones c/u con tiempo de servicio exponencial.

servicio exponencial.

Un generador de valores aleatorios con distribución Un generador de valores aleatorios con distribución

de

de Erlang Erlang, para el caso de la suma de N variables , para el caso de la suma de N variables puede ser:

puede ser:

(10)

Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..

FUNCTION

FUNCTION Erlang Erlang (N: (N:I Integer nteger; A: ; A:R Real eal): ):Real Real; ; VAR

VAR K : K : Integer Integer; S : ; S : Real Real; ; Begin

Begin S:= 0.0;

S:= 0.0;

FOR

FOR K:= 1 K:= 1 to to N N DO DO S:=S +

S:=S + Exp Exp(A); (A);

Erlang Erlang := S := S End

End; ; [ valor esperado [ valor esperado 1/A 1/A] ]

20 20

Distribución Normal Distribución Normal

Es una de las más importantes distribuciones de Es una de las más importantes distribuciones de probabilidad.

probabilidad.

El teorema del límite dice:

El teorema del límite dice:La distribución de la suma de La distribución de la suma de unas variables aleatorias independientes tiende a la unas variables aleatorias independientes tiende a la distribución normal si el número de las variables tiende distribución normal si el número de las variables tiende a infinito. (Cualquiera sea la distribución de c/u de a infinito. (Cualquiera sea la distribución de c/u de dichas variables)

dichas variables)

(11)

Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..

( ) ( ( ) )

[ ]

π 2 S

- - - - - - - f(x)

1

S V - x 1/2

- /

2

=

Donde S es el valor esperado y V

Donde S es el valor esperado y V

22

Varianza Varianza

22 22

Función de densidad Función de densidad

f(x) f(x)

x

x

(12)

Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..

Distribución Gamma Distribución Gamma

Generalización de la distribución de

Generalización de la distribución de Erlang Erlang, en , en donde el número de las variables a sumar (con donde el número de las variables a sumar (con distribución exponencial ya no es un entero) distribución exponencial ya no es un entero) La función de densidad para esta distribución, La función de densidad para esta distribución,

puede tener una variedad de formas según sus puede tener una variedad de formas según sus parámetros.

parámetros.

24 24

Distribución Empírica Distribución Empírica

A menudo la distribución de una variable del modelo, A menudo la distribución de una variable del modelo,

no puede calificarse como ninguna de las no puede calificarse como ninguna de las distribuciones conocidas, y no es posible de distribuciones conocidas, y no es posible de representar por ninguna expresión determinada.

representar por ninguna expresión determinada.

La única información que se dispone sobre la variable La única información que se dispone sobre la variable

son los valores de un número de sus realizaciones.

son los valores de un número de sus realizaciones.

(13)

Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..

Por ejemplo: En un servicio se registraron los tiempos Por ejemplo: En un servicio se registraron los tiempos de servicio durante un intervalo de tiempo muy largo.

de servicio durante un intervalo de tiempo muy largo.

Observaciones: Tiempo de servicio Observaciones: Tiempo de servicio

x

x

1 1

menor de 5 menor de 5 minutos minutos x

x

2 2

entre 5 y 10 minutos entre 5 y 10 minutos x

x

3 3

entre 10 y 15 minutos, etc.... entre 10 y 15 minutos, etc....

Al primer intervalo se asigna su valor promedio

Al primer intervalo se asigna su valor promedio y y

1 1

= 2.5 = 2.5

26 26

Al segundo intervalo(su valor promedio)

Al segundo intervalo(su valor promedio) y y

2 2

= 7.5 = 7.5 Al tercer intervalo (su valor promedio)

Al tercer intervalo (su valor promedio) y y

3 3

= 12.5 etc. = 12.5 etc.

Así los resultados de las observaciones forman dos Así los resultados de las observaciones forman dos

arreglos arreglos X = (x

X = (x

1 1

, , x x

2 2

, ... , ... x x

nn

) ) Y = (y Y = (y

1 1

, , y y

2 2

,.... ,.... y y

nn

) ) n =

n = número de intervalos posibles. número de intervalos posibles.

Para hallar la función de densidad (tiempos de servicio) se Para hallar la función de densidad (tiempos de servicio) se

debe normalizar el arreglo

debe normalizar el arreglo X X (cada componente se divide (cada componente se divide por la

por la ΣΣ ΣΣ de los de los x x) )

(14)

Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..

La serie normalizada

La serie normalizada X X, tratada como la función , tratada como la función de tiempo de servicio, es una aproximación de la de tiempo de servicio, es una aproximación de la función de densidad para el tiempo de servicio, función de densidad para el tiempo de servicio, moderado con el incremento 5 minutos.

moderado con el incremento 5 minutos.

Luego determinar la función acumulativa Luego determinar la función acumulativa F(T), F(T),

sumando los valores de sumando los valores de f(T). f(T).

Ver figura 3 Ver figura 3

28 28

Función densidad y función acumulativa (distrib. Empírica Función densidad y función acumulativa (distrib. Empírica) )

f(x) f(x)

x x

F(X) F(X)

1.0 1.0

X

Figura Nº 3

X

(15)

Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..

La generación de los valores de tiempo de servicio T, La generación de los valores de tiempo de servicio T,

aplicaremos el

aplicaremos el método de transformación inversa. método de transformación inversa.

La función proporciona las realizaciones de la variable La función proporciona las realizaciones de la variable

aleatoria

aleatoria T T con la función acumulativa con la función acumulativa F F, dada por , dada por el arreglo

el arreglo H. H.

30 30

Function

Function Simple(N:

Simple(N:IntegerInteger; ; H,Y:H,Y:TablaTabla):):RealReal;; VAR

VAR

J:

J:IntegerInteger; ; S, SS, S11

:

:RealReal;;

B :

B :BooleanBoolean;;

BEGIN

BEGIN

B:=

B:= TrueTrue; S:= ; S:= RandomRandom; S; S11

:= Y[N

:= Y[N

]; J:= 1; ]; J:= 1;

While

While

B

B ANDAND

(J<M)

(J<M) Do Do

Begin

Begin IF

IF

H[J] >= S

H[J] >= S ThenThen

Begin

Begin

S

S11

:= Y[K]; K := K +1;

:= Y[K]; K := K +1;

B :=

B := False False EndEnd;;

Simple := S

Simple := S11

End

End

END;

END;

Figure

Actualización...

Referencias

Actualización...

Related subjects :