Vous êtes sur la page 1sur 26

Nmeros Aleatorios

Introduccin

Aplicaciones de los nmeros aleatorios:

Simulacin, con entradas no determinsticas.

Juegos o teora de decisiones.

Clculo numrico (p.e.: resolucin de


integrales).

Teora del muestreo.

Programacin.

Nmero aleatorio: La aleatoriedad es


una caracterstica que posee o no una
serie de nmeros, no un nmero aislado.

Generadores de nmeros.
Tipos

Caractersticas deseables:

Los nmeros generados no se deben repetir


frecuentemente (en ciclos).

Las series generadas deben ser reproducibles.

Rapidez en la obtencin de los nmeros.

Almacenamiento mnimo.

Los nmeros generados han de estar


uniformemente distribuidos.

Los valores deben ser independientes unos de


otros.

Generadores de nmeros.
Mtodos

Manual (p.e., dado, bombo).

Las series obtenidas son realmente aleatorias.


Lentitud.
Las series obtenidas son irreproducibles.
Requieren gran cantidad de almacenamiento.

Tablas (p.e., hasta 100000 nmeros).

Las series obtenidas son reproducibles.


Lentitud.
Requieren gran cantidad de almacenamiento.

Generadores de nmeros.
Mtodos

Computacin analgica (p.e., fenmenos


fsicos).

Las series obtenidas son realmente aleatorias.

Rapidez.

Las series obtenidas son irreproducibles.

Computacin digital (p.e., funcin y semilla).

Rapidez.

Pocos requerimientos de almacenamiento.

Las series obtenidas son reproducibles.

Los nmeros obtenidos no son independientes.

Generadores de nmeros.
Mtodos

Generadores de nmeros aleatorios:

Primera aproximacin (Von Neumann,


1946): Mtodo de los cuadrados
centrales.

Genera nmeros aleatorios de k cifras.


Parte de una semilla, la eleva al cuadrado y
toma como resultado las k cifras centrales
de lo obtenido.
Se generan ciclos rpidamente.

Mtodo de los cuadrados


centrales

Mtodo de los cuadrados


centrales

Mtodo de los cuadrados


centrales

El problema con este mtodo es que


tiende a degenerar rpidamente.
Dependiendo del valor inicial el
mtodo puede degenerar al cabo de
20 trminos.
Se puede observar que, en las ltimas
lneas, se llega a una condicin
degenerada. Por la tanto, es necesario
verificar siempre la serie de nmeros
y protegerse contra este fenmeno

Generadores
congruenciales
lineales

Generan nmeros pseudoaleatorios:


uniformemente distribuidos pero no
independientes.
Introduccin.

(Lehmer, 1949): xn+1 = (axn + c) mod m, con


0xn<m
n

x0, valor inicial o semilla.


a, multiplicador, 0a<m
c, incremento, 0c<m
m, mdulo.

Generadores
congruenciales
lineales

xn+1 = (axn + c) mod m

Periodo: subcadena de la serie en la


que no hay repeticiones de nmeros.

Longitud de periodo: nmero de


elementos de dicha subcadena.

Interesan mtodos con alta longitud


de periodo.

Generadores
congruenciales
lineales

Si se quiere obtener nmeros Uniformes (0,1)


se normaliza el resultado:
Un = Xn /

En el MCL, si se repite un nmero ya se repite


toda la secuencia.
Ventajas:
1.
2.

utiliza poca memoria y es muy rpido.


fcil de volver a generar la misma secuencia,
guardando un solo nmero, (se alcanza con partir
desde la misma semilla: X0).

Generadores
congruenciales
lineales

Tipos de Generadores
congruenciales
lineales
Multiplicativos (Lehmer): El
incremento c es 0 (c=0).
xn+1 = axn mod m
Son ms rpidos.

Mixtos (Thomson, 1958): El


incremento c es distinto de 0 (c!=0).
xn+1 = (axn + c) mod m
La longitud de periodo es mayor.

Tipos de Generadores
congruenciales
lineales

Los valores a=0 y a=1 producen series no


aleatorias.

(a=0)
xn+1 = c mod m, siempre saldra la constante c.

(a=1)
xn+1 = (xn + c) mod m. Desarrollando,
x1 = (x0 + c) mod m,
x2 = (x1 + c) mod m = (((x0 + c) mod m) + c)
mod m =
(x0 + 2c) mod m,
x3 = (x0 + 3c) mod m, etc.

Generadores
congruenciales
lineales.

La seleccin de a, c, y m afectan el periodo


y la aleatoriedad en la secuencia.
Entre los resultados de los estudios
realizados con estos generadores tenemos:
1.

2.

El modulo m debe ser grande. Dado que los x


estn entre 0 y m-1, el periodo nunca puede ser
mayor que m.
Para que el computo de mod m sea eficiente, m
debe ser una potencia de 2, es decir, 2k. En
este caso mod m puede ser obtenido truncando
el resultado y tomando en k bits a la derecha.

2.

Generadores
congruenciales
lineales.

Para que el computo de mod m sea


eficiente, m debe ser una potencia
de 2, es decir, 2k. En este caso mod
m puede ser obtenido truncando el
resultado y tomando en k bits a la
derecha.

Ejemplo: 45 mod 16 = 45 mod 2^4 =


13

3.

Generadores
congruenciales
lineales

Si c es diferente de cero, el
periodo mximo posible m se
obtiene si y solo si:
a)

b)

c)

Los enteros m y c son primos relativos


( no tengan factores comunes excepto el
1).
Todo nmero primo que sea un factor de
m lo es tambin de a-1.
a-1 es un mltiplo de 4 si m es un
mltiplo de 4.

Generadores
congruenciales
lineales.

Todas estas condiciones se cumplen si


m = 2k , a = 4n + 1, y c es impar,
donde n, c, y k son enteros positivos.
Si un generador tiene el periodo mximo
posible se llama generador de periodo
completo.
Todos los generadores de periodo
completo no son igualmente buenos.
Son preferibles los generadores con
menor autocorrelacin entre nmeros
sucesivos.

Generadores
congruenciales
lineales multiplicativos

GCL multiplicativo y tienen la forma:


Xn= axn1 mod m

Es obvio que estos son ms eficientes


que los mixtos.
Eficiencia adicional puede ser obtenida
tomando m = 2k .
Por lo tanto hay dos tipos de GCL
multiplicativos dependiendo si m = 2k o
no.

Generadores congruenciales
lineales multiplicativos con m
= 2k

El argumento a favor de usar m = 2k esta en la


eficiencia de la operacin mod.
Sin embargo estos generadores no son de
periodo completo.
El mximo periodo posible para estos
generadores es un cuarto del periodo
completo: 2k-2
Se obtiene si el multiplicador es de la forma 8i
3 y la semilla es impar.
A pesar de esto, un cuarto de periodo mximo
posible puede ser suficiente para muchas
aplicaciones.

Generadores congruenciales
lineales multiplicativos con m
= 2k

Ejemplo

Consideremos el siguiente GCL multiplicativo:


xn=5xn-1 mod 25

Si x0 = 1, obtenemos la secuencia 5, 25, 29, 17,


21, 9, 13, 1, 5, ..., con periodo 8 = 32/4.
Si cambiamos x0 = 2, la secuencia es 2, 10, 18,
26, 2, 10,..., con periodo 4.
Para ver que sucede si el multiplicador no es de
la forma 8i 3, consideremos:
xn=7xn-1 mod 25

Si x0 = 1, obtenemos la secuencia 1, 7, 17, 23, 1,


7, ..., y vemos que ambas condiciones son
necesarias para obtener el periodo mximo.

GCL multiplicativos con m


2k

Una solucin para los periodos pequeos es usar


un modulo m que sea nmero primo.
Con un multiplicador a adecuado se puede obtener
un periodo de m - 1, que es casi el mximo
periodo posible.
Note que en este caso xn nunca puede ser cero y
su valor esta entre 1 y m - 1.
Todo GLC multiplicativo con periodo m - 1 se dice
que es de periodo completo.
Se puede demostrar que un GLC multiplicativo es
de periodo completo si y solo si el multiplicador a
es una raz primitiva del modulo m; a es una raz
primitiva de m si y solo si an mod m 1 para n =
1, 2, ..., m-2.

GCL multiplicativos con m


2k

Ejemplo

Consideremos el siguiente GCL multiplicativo:

xn=3xn-1 mod 31
Si x0 = 1, obtenemos la secuencia 1, 3, ..., con
periodo 30 y por lo tanto es de periodo completo.

Si usamos a = 5, obtenemos la secuencia 1, 5,


25, 1, ... que es de periodo 3.
Note que 3 es una raz primitiva de 31 ya que el
menor entero positivo de n tal que 3n mod 31 = 1
es n = 30, y 5 no lo es ya que 53 mod 31 = 1.

Generadores de congruencias
lineales. Ejemplo

Sea la secuencia: Xi+1 = a Xi mod 11, para i= >1; Z 0 = 1

Las races primitivas son 2, 6, 7 y 8.

Los nmeros generado por 2 y 6 son iguales pero en


sentido contrario. Lo mismo ocurre con los generados por
7 y 8. Este tipo de relaciones se producen generalmente
en generadores multiplicativos.

Generadores
congruenciales
lineales

Vous aimerez peut-être aussi