Sunteți pe pagina 1din 43

E.

Raffo Lecca
Lima-Perú
2017
Números Aleatorios
El término aleatorio, viene de una
característica que atribuye a cierta clase
de procesos, en el que no se puede
reconocer ningún orden, por lo cual no
es posible predecir su estado.
Los números aleatorios, son
números de una sucesión que cumplen
con ser:
• Uniformemente distribuidos
• Ser aleatorios en su aparición

Estos números son útiles en una gran


variedad de aplicaciones:
1. Programación de computadoras
2. Análisis Numérico
3. Muestreo
4. Simulación
5. Teoría de decisiones
6. Juegos de computadoras
Generadores de Números
Aleatorios

Una distribución uniforme, es una


distribución en la cual cada posible
número es igualmente probable. Así en
un dado el obtener cualquiera de las
caras entre 1 y 6 ocurre 1/6 en una
secuencia uniforme.
Número aleatorio

0 1/6 2/6 3/6 4/6 5/6 1


Valor de la cara del dado
La historia de los números aleatorios en el
trabajo científico se remonta a los bolos,
ruletas y cartas.
En 1927, L.C. Tippett había conseguido
una tabla de cerca de 40,000 dígitos
aleatorios.
En 1939, la Rand Corporation produjo una
tabla de un millón de dígitos al azar, realizada
con la ERNIE.
Con la llegada de la computadora se pensó
usar su memoria como almacén de las tablas.
Opción no práctica, que terminó con el uso de
operaciones aritméticas.
Cuadrado Central

John Von Neumann y Metrópolis fueron


los primeros en proponer el uso de las
operaciones aritméticas en una
computadora (en 1946), creando el
método del cuadrado central o medio.
La idea es tomar el cuadrado del
número aleatorio anterior y extraer los
dígitos centrales; por ejemplo si el
número aleatorio anterior es 694, su
cuadrado es 481636, y el número
siguiente es 816.
Siendo el número aleatorio generado
completamente por procesos
determinísticos desde su predecesor; la
secuencia generada de esta manera es
denominada pseudoaleatoria, cuasi
aleatoria o pseudo-casual.

Un generador de números aleatorios


debe cumplir con las siguientes
propiedades:
 Ser breve en el uso de memoria.
 Tener periodo largo.
 Ser rápido en ejecución.
Generadores Congruenciales
Lineales (LCG)
Sea un entero xn, entre cero y menor
que m, la fracción
Rn= Xn/ m
se encuentra entre cero y uno.
Lehmer en 1948 presentó la formula
para generar la secuencia {Xn}
Xn+1 ≡ aXn+c (mod m)
conocida como secuencia congruencial
lineal; siendo:
X0= la semilla
a= el multiplicador, a=>0
c= el incremento, c=>0
m= el módulo m=>a, m>c, m>x0
Por ejemplo la secuencia obtenida con
x0=a=c=4 y m=10, es 0,4,0,4,0,4,0,4,...
Teorema de Hull & Dobell
Generadores en Pc
Con la introducción de las PCs. La laborar
de generar números aleatorios se ha hecho
más familiar; sin embargo el tamaño de la
palabra ha hecho los generadores tengan
que adecuarse al hardware de la
instalación.
Desde la época en que el desarrollador
incluía una rutina aleatoria a sus programas
(como ocurría en FORTRAN IV) hasta la
actual donde las compañías de Software
incluyen en la librería de un lenguaje de alto
nivel esta función, han existido muchas
propuestas de generadores aleatorias para
computadoras.
Generación de variables aleatorias
En muestreo simulado, no solo se
requiere de números aleatorios; también
de procesos aleatorios.
Existen diversos algoritmos para ser
usados para una variable aleatoria dado
una distribución; existiendo una métrica
que evalúa los factores de: eficiencia,
complejidad y robustez.
Distribución discreta
Para generar un entero entre 0 y k-1,
multiplicar el número aleatorio R por k y
hacer x=[kR] el entero del producto.
Este método arroja un entero el que es
obtenido desde igual probabilidad.
Suponga que diferentes enteros
poseen; es decir X=x1 con la
probabilidad p1,X=x2 con la probabilidad
p2,...,y X=xn con la probabilidad pn;
equivalente a la distribución.
x x1 x2 xn
P(x) p1 p2 pn
con p1+p2+...+pn=1
El proceso de generación de esta
distribución discreta (conocida como
empírica) viene dado por
1.- Generar RU(0,1)
2.- Determinar X.
 x1...si...0  R  p1
 x ...si... p  R  p  p
 2
X  1 1 2

...

 xn ... p1  p2  ...  pn 1  R  1
equivalente
I 1 I

 p( j )  R   p( j )
J 1 J 1

Sea la distribución de probabilidades


xi 3 4 5 6

P(xi) .10 .30 .35 .25

definiendo la distribución acumulada


F ( x)  ( X  x)   p( x )
xi  x
i
xi F(xi)
3 .10
4 .40
5 .75
6 1.00

si U es 0.50, se tiene
F (3  1)  R  F (3)
luego X=x3=5
El proceso para generar estas
distribuciones obtenidas desde
procesos en tablas de frecuencias
(conocidas como distribuciones
empiricas) se basa en una función de
búsqueda en tablas denominada
lookup; presentandose a continuación
el algoritmo: Figura: Empirica con MATLAB
Function p=empirica(x,Fx)
i=1;
R=rand;
while R>=Fx[i]
i=I+1;
end
p=x[i];
Transformación inversa
Un algoritmo para generar una variable
aleatoria X que tiene función F es
1.- Generar RU(0,1)
2.- Retornar x=F-1(R)

La distribución exponencial (ver figura ),


es muy usada para explicar los tiempos
de arribo y servicio en los fenómenos
de espera. La función densidad es:
 x
f ( x)  e ...x  0
y
x
F ( x)   f ( x)dx
0
 x
 1 e ...x  0
Como 1-R esta distribuida uniformemente cuando
Lo esta; entonces
1
X  LnR

Figura: Exponencial en MATLAB

Function p=Expon(ex)
p=-ex*log(rand);
Método del Rechazo
 Sea una función f(x) definida en el
intervalo a x b (figura 7.31); donde su
moda, se encuentra por
f(x) Fig. 7.31

M
f(x)

1
g(x)

a xm b x
 La
función f(x) es escalada a [0,1],
mediante la expresión

y se obtiene una función que mapea


valores entre 0 y 1 tal como ocurre con la
distribución de probabilidad acumulada en
los generadores de variables aleatorias.
 Elalgoritmo para el método del rechazo,
se presenta en las siguientes lineas.

RECHAZO
1.- Generar x distribuido de modo
uniforme .
2.- Evaluar g(x)
3.- Generar R2
4.- If R2  g(x) then
se acepta la muestra
else
se rechaza la muestra
 Porejemplo, para generar los valores de
x, en una función f(x)=3x para x[0,1]; se
observa en la figura 7.32, que

 Dado que f(x) alcanza el valor más


grande, cuando x=1 y f(1)=3; se encuentra
que g(x) es expresado por
Figura

2
f(x)

g(x)

0 1
 Para
aplicar el algoritmo, se tiene que
x~U(0,1), significa

 Cuando en el paso 3 se genera R2 (un


número aleatorio entre 0 y 1); se tiene la
decisión de comparar
R2  R1
y actuar en aceptar o rechazar el valor de
x.
 Para estimar el valor de la constante pi; se
tiene las relaciones que se encuentran en
la figura 7.33, con la función definida por

Figura

r
x2+y2=r2

x
 Una forma de escalar f(x) entre 0 y 1 es
usar el radio r igual a 1.

 Por relaciones de área


El valor de , se estima en base a la cantidad
de puntos que caen en el semicírculo:

 Aplicando el método del rechazo, se tiene


1.- x=a+R1(b-a)
=R1
2.- g(x)=(1-R12)1/2
3.- Generar R2
4.- Tomar decisión con respecto R2g(R1)
En la tabla, se presentan los cálculos para
un muestreo aleatorio de tamaño 10; de
donde  ~4(8/10)=3.2
Muestra R1 R2 Aceptar
1 .80 .20
2 .70 .50
3 .60 .90 --- Tabla
4 .70 .50
5 .70 .30
6 .30 .80
7 .50 .90 ---
8 .40 .85
9 .50 .65
10 .60 .20
8
Integración
 Se quiere evaluar la integral

 Donde g(x) es una función que


analíticamente no es integrable; porque en
otro caso existen técnicas numéricas y de
análisis para este propósito.
 Este problema determinístico puede ser
estimado por la simulación Monte Carlo.
Sea Y una variable aleatorio para el área,
siendo definida como
Figura

g(x)

x
a x b
 Evaluando la esperanza matématica:

 Alestar x distribuida de modo uniforme,


entonces la distribución de x es:
Se ha demostrado que la esperanza de las
áreas es I; por consiguiente en el proceso
de muestreo E(Y) significa la media de
los valores

siendo xi~U(a,b).
La integral
es estimada como:
i Ui Xi F(Xi)
1 0.000 0.000 0.000
2 0.031 0.099 0.098
3 0.861 2.705 0.423
4 0.203 0.636 0.594
5 0.273 0.857 0.756
6 0.672 2.110 0.858
7 0.319 1.001 0.842
8 0.162 0.508 0.487
9 0.372 1.169 0.921
10 0.426 1.337 0.973
Corridas para otros valores pueden
resultar en

n 1000 2000 3000 5000

i 2.011 2.026 1.981 1.993

S-ar putea să vă placă și