Vous êtes sur la page 1sur 21

UNIVERSIDAD DE EL SALVADOR

FA C U LTA D M U LT I D I S C I P L I NA R I A O R I E N TA L
D E P. I N G E N I E R I A Y A R Q U I T E C T U R A

M TOD O S
PRO BABI L S TI CO S
GENERADORES DE NUMEROS
ALEATORIOS

Docente:
Lic. Maria del Transito Gutirrez Reyes.
Presentan:
Argueta Ramos Milton No
Benavides Romero Laura Maria
Iraheta Medrano Luis Jos
Jimnez Martnez Junior Mario
Garca Melndez Yenifer Zuleyma

SAN MIGUEL
LUNES 8 DE AGOSTO DE 2016

AR15012
BR15014
IM15005
JM13012
GM15002

INDICE

INDICE.................................................................................................. 2
INTRODUCCIN ................................................................................... 3
QUE DEBEMOS SABER SOBRE LOS GENERADORES DE NUMEROS ALEATORIOS? .......... 3
OBJETIVOS ........................................................................................... 4
GENERADORES DE NUMEROS ALEATORIOS.......................................... 5

NUMEROS PSEUDOALEATORIOS................................................................ 5

PROPIEDADES: ........................................................................................... 6

MTODOS CONGRUENCIALES LINEALES ...................................................... 7


GENEREDORES DE FIBONACCI EXTENDIDOS .................................. 10
GENERADORES COMBINADOS ...................................................... 18
GENERADORES CONGRUENCIALES LINEALES COMBINADOS ......... 18
MTODO DE LOS CUADRADOS MEDIOS - MIDSQUARE METHOD........................... 19
MTODO ACIERTO FALLO. .......................................................................... 19
GENERADORES DE REGISTRO DEFASADO ................................................... 20
CONCLUSION ..................................................................................... 21

INTRODUCCIN
Q U E D E B E M O S S A B E R S O B R E L O S G E N E R A D OR E S D E N U M E R OS
A L E A TOR I O S ?

Un nmero aleatorio es aquel obtenido al azar, es decir, que todo nmero


tenga la misma probabilidad de ser elegido y que la eleccin de uno no
dependa de la eleccin del otro.
El ejemplo clsico ms utilizado para generarlos es el lanzamiento
repetitivo de una moneda o dado ideal no trucado, pero aun as este no sera
un caso totalmente aleatorio para ello necesitaramos recurrir a los diferentes
mtodos que existen que nos ayudan a generar nmeros en verdad aleatorios
un ejemplo puede ser los nmeros pseudoaleatorios que son generados por
medio de una funcin para que aparenten ser aleatorios ya que estos nmeros
se generan a partir de un valor inicial aplicando iterativamente la funcin; para
una persona comn se le es difcil generar nmeros aleatorios y para el caso
de un ordenador podramos decir que es an ms difcil o podramos decir
Torpe ya que este en si no puede generarlos.
Por eso hace uso de distintos mtodos tambin el caso de los nmeros
pseudoaleatorios que para nuestro fin se podra decir que son aleatorios
porque nadie los puede predecir. Cabe mencionar que los Generadores de
estos nmeros se pueden combinar para obtener mejores resultados.
La utilizacin de estos mtodos hace ms fcil al que los utiliza calcular los
valores que se eligen al azar, y en la probabilidad existen mtodos que se
desarrollaran obteniendo conocimientos y desarrollando la habilidad de
manejar estos conceptos claves en la probabilidad.
En cada caso ya sea un generador o un mtodo se podr analizar la
informacin de forma clara y precisa la cual nos ayude al desarrollo de los
ejercicios en los nmeros aleatorios.

OBJETIVOS
Describir y desarrollar algunos mtodos para obtener
nmeros aleatorios, a travs de generadores de dichos
nmeros que sean eficaces y lograr una aleatoriedad
certera.

Definir los diferentes mtodos que existen para los


nmeros pseudoaleatorios para valores utilizados en la
probabilidad.

Comparar los diferentes procedimientos utilizados en


todos los mtodos mencionados en el desarrollo del
escrito.

GENERADORES DE NUMEROS
ALEATORIOS

En los experimentos de simulacin es necesario generar nmeros aleatorios


que representen alguna distribucin de probabilidad. Para tal propsito
tenemos que generar nmeros rectangulares.
Ahora bien, si esos nmeros son generados a travs de reglas
determinsticas
acaso
no
sera
ms
preciso
llamarles
nmeros pseudoaleatorios?
De hecho, pero bien podramos mirar desde el otro lado de la calle y decir
que una sucesin cumple la facultad de aleatoria si satisface las pruebas
estadsticas de aleatoriedad

NUMEROS PSEUDOALEATORIOS.
Si decidisemos realizar el sorteo de Navidad de Lotera Nacional mediante
ordenador, seguramente la gente no conara en la aleatoriedad del ordenador y se
quejara. En su lugar, se prever un mtodo fsico y sencillo de entender, como extraer
bolas de un bombo. Incluso este tipo de mtodos requiere tomar ciertas precauciones:
todas las
bolas debe tener idntico peso, deben de estar bien mezcladas en el bombo y se deben
cambiar regularmente para reducir las posibilidades de que unas aparezcan ms que
otras. Claramente este procedimiento no es prctico para una simulacin
computacional que requiere la generacin de cientos de miles de nmeros aleatorios.
El mtodo ms conveniente y ms able de generar nmeros aleatorios es utilizar
algoritmos determinsticos que posean alguna base matemtica slida.
Estos algoritmos producen una sucesin de nmeros que se asemeja a la de una
sucesin de realizaciones de variables aleatorias iid U (0,1), aunque realmente no lo
sea. Es por ello que este tipo de nmeros se denominan pseudo-aleatorios y el
algoritmo que los produce se llama Generador de nmeros pseudo-aleatorios

U N B U E N G E N E R A D O R D E N M E R O S P S E U D O - A L E A TO R I O S D E B E R A T E N E R
L A S S I G U I E N T E S P R OP I E DA D E S :

Por encima de todo, la sucesin de valores que proporcione debera asemejarse a una
sucesin de realizaciones independientes de una variable aleatoria U (0,1).

Los resultados deben ser reproducibles, en el sentido de que comenzando con las mismas
condiciones iniciales debe ser capaz de reproducir la misma sucesin. Esto nos puede
permitir depurar fallos del modelo o simular diferentes alternativas de modelo en las
mismas condiciones obteniendo una comparacin ms precisa. Los procedimientos fsicos
no permiten que los resultados sean reproducibles.

La sucesin de valores generados debe tener un ciclo no repetitivo tan largo como sea
posible

El generador debe ser rpido y ocupar poca memoria interna

MTODOS CONGRUENCIALES LINEALES


Los generadores de nmeros aleatorios que ms se usan son los generadores Congruenciales
lineales (LCG) ideados por un tal Lehmer.
El chiste de un LCG es generar un valor aleatorio a partir de otro anterior. En este caso
describiremos los dos mtodos Congruenciales lineales ms populares:
Un generador Congruencial tiene periodo completo si y solo si se cumplen
Las siguientes condiciones:
1. m y b son primos entre si
2. Si q es un nmero primo que divide a m, entonces q divide a a1.
3. Si 4 divide a m, entonces 4 divide a a1.
Cororario 1:
Un generador Congruencial multiplicativo no puede tener periodo completo.
Cororario 2:
Un generador Congruencial con m = 2k 4 tiene periodo completo si y solo si b es impar y 1
= a mod 4:
Los generadores multiplicativos tienen la ventaja computacional de que no es necesario la suma de
la constante b, pero, como hemos visto, no pueden tener periodo completo. Afortunadamente, es
posible obtener periodo m1 si m y a se eligen adecuadamente. Los generadores multiplicativos se
introdujeron antes que los mixtos, han
Sido objeto de ms estudio y actualmente se utilizan ms que los mixtos.

Congruencial Mixto
La frmula (o relacin de recurrencia) es sencilla:

X n+1=( a X n+ C ) mod m

Donde:
X0 es la semilla
a el multiplicador
c la constante aditiva y
m el mdulo

A tener en cuenta: Los valores a, X0 y c tienen que ser mayores que cero. Y la variable m tiene que
ser mayor que las tres anteriores. Para entrar en accin vamos a darle valores arbitrarios a cada
uno de estos parmetros y estudiar que reaccin tienen en la relacin de recurrencia. Supongamos
que a = 5, c = 7, X0 = 7 y m = 8. Entonces los resultados son:

Xn

Xn + 1

Ntese que despus de 8 pasadas el valor inicial de X se repite. Decimos entonces que el periodo
del generador es 8 igualito al valor del mdulo Eso no siempre es as. Veamos un caso donde el
periodo es menor a m. El valor de los parmetros es a = c = X0 = 4 y m = 6. Ahora lo resultados
son:

Xn

Xn + 1

A continuacin un script en Python que genera nmeros aleatorios implementando


el generador Congruencial lineal mixto:
def mixedMethod(x, a, c, mod):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

periodo = 0
bandera = 0
while(bandera != x):
if (periodo == 0):
bandera = x
x = (a * x + c) % mod
print(x)
periodo = periodo + 1
if(periodo == mod):
print("El periodo es completo: ", periodo)
else:
print("El periodo es incompleto:", periodo)
def main():
x = int(raw_input("Introduce
a = int(raw_input("Introduce
c = int(raw_input("Introduce
m = int(raw_input("Introduce
mixedMethod(x,a,c,m)

el
el
el
el

valor
valor
valor
valor

de la semilla: "))
del multiplicador: "))
de la constante aditiva: "))
del modulo: "))

if __name__ == "__main__":
main()

Congruencial Multiplicativo
El generador Congruencial lineal multiplicativo es bsicamente el mismo rollo. La relacin de
recurrencia es similar a la del mtodo anterior:

Xn+1= (aXn) mod m


Incluso slo cambiaramos una lnea del cdigo:
x = (a * x + c) % mod
8

GENEREDORES DE FIBONACCI EXTENDIDOS


En el siglo XIII, el matemtico Leonardo de Pisa (mejor conocido como Fibonacci)
estudi la forma en que creca una poblacin de conejos. Para saber cuntas parejas
de conejos haba en determinado momento, generaliz su crecimiento de forma
ideal considerando que en el primer mes slo existe una pareja, cada pareja puede
reproducirse a partir del segundo mes, cada mes todas las parejas frtiles daban luz
a una nueva pareja y los conejos nunca mueren. Utilizando estas reglas, la cantidad
de parejas a travs de los meses son: 1, 1, 2, 3, 5, 8,..., y en general, para un mes n la
cantidad
de
parejas Fn es
igual
aFn-1 + Fn-2.
A pesar de que estos nmeros son conocidos como nmeros de Fibonacci, se cree
que tribus Hindes utilizaban esta sucesin desde algunos aos antes para estudiar
la cantidad de melodas que se pueden formar utilizando notas de uno o dos golpes.
Los nmeros de Fibonacci aparecen con frecuencia en la naturaleza, principalmente
en la botnica, donde a su presencia se le conoce como la ley de Ludwig. Por
ejemplo, en las margaritas se encuentran 21 espirales en sentido de las manecillas
del reloj y 34 en contra; otras relaciones que se han encontrado son 1-2 (olmo), 1-3
(avellana), 2-5 (roble), 3-8 (rosa), 5-13 (almendra), 8-13 (pia), etc.
Los nmeros de Fibonacci tambin se pueden encontrar en otros lugares diversos
como en la cantidad de ancestros que tiene una abeja macho, en las diagonales del
tringulo de Pascal, en la msica (principalmente para entonar), y en la pintura
(principalmente
por
su
relacin
con
el
rectngulo
dorado).
Otras curiosidades que presentan estos nmeros incluyen que el cociente de dos
nmeros de Fibonacci
tiende a (nmero ureo) cuando n tiende a
infinito. Cualquier nmero natural puede ser escrito de forma nica como la suma
de nmeros de Fibonacci, sin que se incluyan dos consecutivos (teorema de
Zeckendorfs). Adems de esto, los nmeros de Fibonacci son utilizados en
generadores
de
nmeros
pseudo-aleatorios.
Los nmeros de Fibonacci se calculan mediante la siguiente frmula:

La frmula se puede implementar recursivamente sin muchos problemas. El


inconveniente de este mtodo es que corre en tiempo exponencial ((Fn) = (n))
ya que repetimos muchos clculos, pero lo podemos bajar a tiempo lineal
recordando los resultados que hayamos calculado con anterioridad.

10

Problema Ejemplo:

La suma

Problema
La serie de Fibonacci se define como: F1 = 1; F2 = 1; Fn+1 = Fn + Fn-1, para toda n > 1. Tienes que
encontrar s la suma de los primeros k nmeros de Fibonacci.
Entrada
La primera lnea tiene un nmero natural k (0 < k < 41).
Salida
La primera lnea debe tener el nmero s.
Saratov: 123

Solucin: Queremos encontrar


sk = Fk + Fk-1 + + F2 + F1.
Si lo sumamos consigo mismo obtenemos:
sk + sk = Fk + Fk + Fk-1 + Fk-1 + + F2 + F2 + F1 + F1
2sk = Fk + (Fk + Fk-1) + (Fk-1 + Fk-2) + + (F2 + F1) + F1
2sk = Fk + (Fk+1 + + F3) + F1
2sk = (Fk + Fk+1) + (Fk + + F3 + F2 + F1) - F2
2sk = Fk+2 + sk - F2
sk = Fk+2 - F2
sk = Fk+2 - 1
Nota: En problemas en el que la entrada no toma muchos valores (40 en este caso), una
buena estrategia durante un concurso es pre calcular todos los posibles resultados,
aunque en este caso no ser necesario.

11

Cdigo

En las primeras dos lneas declaramos el nico entero que vamos a utilizar, k, el cual usaremos
para leer la entrada.
La siguiente funcin (lneas 4 a 13) calcula el nmero de Fibonacci para una entrada n. En la lnea
11 utilizamos la frmula para obtener el siguiente fibonacci, y utilizamos el arreglo fib para no
tener que volver a calcular los datos anteriores. Las lneas 8 y 9 sirven para obtener los primeros
dos valores. En la lnea 12 devolvemos el resultado. Si necesitramos utilizar ms de un valor en
el problema, podemos declarar fib como global y obtener los datos a travs del arreglo en lugar
de la funcin.
En la parte principal (lneas 15 a 18), lo nico que hacemos es leer la entrada y escribir la salida de
acuerdo a la frmula que obtuvimos.

Caso Ejemplo
Entrada:

Desarrollo:

5
1
1
1
1
1
1

1
1
1
1
1
1

2
2
2
2
2

3
3 5
3 5 8
3 5 8 13

13 1 = 12
12

Salida:

Posibles Cambios
Algo que podemos observar es que slo necesitamos los ltimos dos valores para calcular el
siguiente, lo cual podemos aprovechar. Si tenemos que a= 1 y b= 1, el siguiente nmero lo
podemos obtener sumndole b a a, con lo que tendramos a= 2 y b= 1; despus sumamos a a b,
con lo que obtenemos a= 2 y b= 3. Podemos ir repitiendo el mismo procedimiento
indefinidamente, con lo que en cada iteracin el valor de Fn se intercambiando entre a y b. Por
ejemplo, para calcular F10:
Fn
a
b

1
1
1

2
2
1

3
2
3

4
5
3

5
5
8

6
13
8

7
13
21

8
34
21

9
34
55

10
89
55
12

El algoritmo utiliza n sumas, por lo que su complejidad es de (n), al igual que el anterior. El
nico cambio es que ya no utilizamos el arreglo, lo cual es una ventaja si necesitamos calcular uno
o pocos Fn.

En la funcin tenemos definidas a y b para utilizarlas como vimos anteriormente, e i para


utilizarla como variable de ciclo (lnea 2). Inicializamos los valores (lnea 4), y los vamos
calculando intercaladamente (lneas 5 a 7).
Al final devolvemos el valor que corresponda (lneas 8 y 9).

Otro Enfoque: Matrices.

Otra forma en que podemos calcular los nmeros de Fibonacci es mediante el uso de matrices.
Tenemos que:

Agregando otra columna obtenemos:

Si vamos reemplazando la matriz de la derecha utilizando la misma frmula, obtendramos:

Repitiendo el proceso k-1 veces:

Sabiendo que F2 = F1 = 1 y F0 = 0:

13

Podemos utilizar el mismo algoritmo del tema anterior para elevar potencias, con lo que
obtendramos Fn en (lgn).

En las lneas 1 y 2 definimos el tipo de variable matriz dos que es la que utilizaremos para las
operaciones de matrices. La funcin multiplica (lneas 4 a 12) la utilizamos para multiplicar dos
matrices cuadradas (multiplicamos rengln por columna, segn corresponda para cada casilla). La
funcin Fibonacci (lneas 14 a 27) es prcticamente igual la segunda funcin bigmod de la seccin
anterior, con el cambio de que aqu utilizamos matrices en lugar de enteros.

Otro Enfoque: Formulas.


Por ltimo, tambin podemos calcular Fn utilizando una frmula directa. Una ecuacin se dice
que es de recurrencia lineal (u homognea) si es de la forma:
f(n) = a1f(n-1) + a2f(n-2) + + akf(n-k)
Para resolverla, hacemos un cambio f(n) = xn, con lo que obtenemos la ecuacin caracterstica
asociada:
xn = a1xn-1 + a2xn-2 + + akxn-k
Estas ecuaciones tienen solucin en la siguiente expresin, siempre y cuando todas las races sean
distintas:

Donde ri es la i-sima raz, y ci es una constante que se determina a partir de las condiciones
iniciales.

14

En el caso de la ecuacin de Fibonacci, tenemos que k = 2 y a1 = a2 = 1, por lo que la ecuacin


queda de la siguiente forma:
x2 = x -1
Las races de esta ecuacin son:

La solucin de la ecuacin es:

Utilizando F0 = 0 y F1 = 1 y obtenemos:

A diferencia de otros lenguajes, Pascal no cuenta con funciones de exponencial, excepto para
potencias de e, por lo que debemos hacerlas nosotros. Para esto, vamos a aprovechar que s
cuenta con funciones de logaritmos:
y = xn
y = elnxn
y = enlnx
Un problema de utilizar este cambio, es que si x es negativo, lnx no est definido en los reales
(por lo que causara error de ejecucin). Para poder solucionar esto, tomamos a x con su valor
absoluto y ajustamos el signo segn se requiera (negativo si n es impar, y positivo si no lo es).
Otro inconveniente con esta frmula es que utiliza nmeros flotantes y las operaciones
intermedias toman valores grandes, por lo que pierde precisin rpidamente cuando n crece,
debido a errores de redondeo.

Cdigo en C.

15

16

17

GENERADORES COMBINADOS
Una forma de incrementar el periodo e intentar evitar regularidades que muestren los
generadores lineales es combinar (mezclar) diferentes generadores para obtener
generadores hbridos de mejor calidad que los generadores originales.
Es posible combinar generadores para obtener mejores generadores. Algunas de las
tcnicas usadas son: 1. OR-exclusivo de nmeros aleatorios de dos o ms generadores.
Esta tcnica es similar a la anterior excepto que la suma es reemplazada por un orexclusivo bit por bit. Se ha demostrado que esta tcnica aplicada a nmeros ligeramente
aleatorios puede ser usada para generar nmeros con mayor aleatoriedad. 2. Barajeo. Usa
una secuencia como un ndice para decidir qu nmero generado por otra secuencia ser
retornado. Por ejemplo, uno de estos algoritmos usa un arreglo de tamao 100 que
contiene nmeros de una secuencia aleatoria xn . Para generar un nmero aleatorio se
genera un nmero aleatorio yn (entre 0 y m-1) para obtener el ndice i = 1 + 99yn / (m1). El valor del i-esimo elemento del arreglo es devuelto. Un nuevo valor xn es calculado
y almacenado en la i-exima localidad.
Cuando la aplicacin requiere de un periodo mayor al que se puede alcanzar con un
generador simple, se recurre a los generadores combinados de congruencia lineal. Para
generar la secuencia de Xi y Ri requerida, este generador necesita las salidas Xi,j, j = 1..k,
de k diferentes generadores de congruencia multiplicativa cuyos parmetros tienen los
valores apropiados para asegurar un periodo mj-1. El generador j produce la salida Xi,j
entera uniformemente distribuida de 1 a mj-1.
La combinacin se calcula mediante las siguientes formulas
Para computadoras de 32 bits se sugiere combinar dos generadores k = 2 con m1 =
2147483563, a1 = 40014, m2 = 2147483399 y a2 = 40692. La semilla del primer
generador se toma del intervalo [1, 2147483562], y la semilla del segundo generador se
toma del intervalo [1, 2147483398]. El periodo es (m1-1) (m2-1)/2 2x1018.

G EN ER AD OR ES C ON G RUE N C I AL ES LI NE AL E S C OM B I NADO S

Aunque estos generadores caen dentro de la seccin anterior, su relevancia amerita su


discusin por separado. Consideremos nuevamente el generador xx nn
72151
31 mod ( ).
En la medida que las computadoras se han vuelto ms rpidas, la longitud de su ciclo se
ha tornado inadecuada ya que se corre el riesgo de que, en unas cuantas horas de
simulacin, la secuencia se agote y se repita varias veces trayendo como consecuencia
serias dudas en cuanto a la validez de los resultados. Supongamos que tenemos una
mquina con un procesador de 1GHz. Esto son 109 ciclos o tics del reloj por segundo.
Supongamos tambin que el procesador es capaz de generar un nmero aleatorio por
ciclo (esto es muy optimista ya que en realidad se requieren varios ciclos para producir un
nmero aleatorio debido a las operaciones involucradas). Bajo estas condiciones se
agotara la secuencia en seg x .1 2 10 1102. 9 9 . Por supuestos que ser en ms tiempo,
pero se observa que efectivamente esta secuencia es fcilmente agotable durante una
simulacin.
18

M TO D O D E L O S C UA D R A D OS M E D I OS - M I D S QUA R E M E T H OD

Este mtodo se debe fue propuesto en los aos 40 por los matemticos John von
Neumann y Nicholas Metrpolis. El mtodo comienza tomando un nmero al azar, x0,
De 2n cifras (originalmente los autores proponan 4 cifras) que al elevarlo al cuadrado
Resulta un nmero de hasta 4n cifras. Si es necesario se aaden ceros a la izquierda
Para que el nmero resultante tenga exactamente 4n cifras. Sea x1 el nmero resultante
de seleccionar las 2n cifras centrales de x2 0; el primer nmero aleatorio u1 se obtiene
poniendo un punto decimal delante las 2n cifras de x1. A continuacin x2 y u2 se generan
a partir de x1 del mismo modo. As sucesivamente.
Este mtodo tiene dos inconvenientes principales:
1. Tiene una fuerte tendencia a degenerar a cero rpidamente
(probar, por ejemplo
Con x0 = 1009)
2. Los nmeros generados pueden repetirse cclicamente despus de una secuencia
Corta.
Ejemplo
X0 = 3708 x2 0 = 13|7492|64 x1 = 7492 u1 = 0.7492
X1 = 7492 x2 1 = 56|1300|64 x2 = 1300 u2 = 0.1300
X2 = 1300 x2 2 = 1|6900|00 x3 = 6900 u3 = 0.6900
X3 = 6900 x2 3 = 47|6100|00 x4 = 6100 u4 = 0.6100
X4 = 6100 x2 4 = 47|2100|00 x5 = 2100 u5 = 0.2100
X5 = 2100 x2 5 = 4|4100|00 x6 = 4100 u6 = 0.4100
X6 = 4100 x2 6 = 16|8100|00 x7 = 8100 u7 = 0.8100
X7 = 8100 x2 7 = 65|6100|00 x8 = 6100 u8 = 0.6100

M TOD O A C I E RTO FA L L O.

Supongamos que deseamos calcular (), donde la funcin g est acotada en (a, b).
1

El problema se puede transformar equivalentemente en calcular la integral 0 () ,


donde la funcin g verica 0 g(x) 1, para todo x (0,1).
El valor de dicha integral es el rea de supercie encerrada por la curva dentro del
cuadrado [0,1] [0,1], lo que equivale a calcular P ((X, Y) A), donde (X, Y) es una
variable aleatoria bidimensional distribuida uniformemente en el cuadrado unidad
(equivalentemente, X e Y variables U (0,1) independientes) y A es el conjunto de puntos
(x, y) del cuadrado unidad tales que y < g(x).
Un mtodo para estimar la probabilidad de dicho suceso es simular una muestra

{(xi, yi)} =1 de puntos de cuadrado unidad y calcular la proporcin muestra de los que

pertenecen al conjunto A.

19

GENERADORES DE REGIS TRO DEFASADO

Se basa en Generadores lineales recursivos mltiples


El estudio de este generador se asocia al Polinomio caracterstico sobre un lgebra finita
Fm, con m elementos. [Niederreiter 1992]
Cuando el polinomio es primitivo el perodo es (mk-1). Debido a la complejidad del
anlisis para m grande, habitualmente se elige un m pequeo, generalmente 2
obteniendo generadores de bits de la forma
donde ak = 1 ^ ai {0, 1}
La adicin mdulo 2 es equivalente al XOR ( exclusivo)
0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 1 = 0
1 XOR 0 = 1
Esto nos permite implementar registros de desplazamiento
Un generador propuesto Tausworthe (1985)
0 bnh bnq
bn bnh bnq mod 2 ; bn
; hq
1
b

b
n

h
n

En este caso los primeros q bits deben ser especificados, esto es anlogo a la semilla de
los generadores congruenciales.
Este tipo de generador depende del largo de la palabra

Ejemplo:
h = 3 ; q = 5 ; b 1 = b 2 = b3 = b4 = b5 = 1
b6 = (b3 + b1) mod 2 = 2 mod 2 = 0
b7 = (b4 + b2) mod 2 = 2 mod 2 = 0
b8 = (b5 + b3) mod 2 = 2 mod 2 = 0
b9 = (b6 + b4) mod 2 = 1 mod 2 = 1
b10 = (b7 + b5) mod 2 = 1 mod 2 = 1
...
b42 = (b39 + b37) mod 2 = 2 mod 2 = 0
CONVERSION DEL GENERADOR BINARIO
Transformar la sucesin {bi} en un nmero aleatorio U(0,1)
Consideremos {bi}
b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12
1
1 1 1
1 0 0 0
1 1
0 1
......... b41 b42
......... 1
0
Consideremos l = 4
y1 = b123 + b222 + b321 + b420 = 8 + 4 + 2 + 1 = 15
u1 =
y2 = b523 + b622 + b721 + b820 = 8 + 0 + 0 + 0 = 8
u2 =
y3 = b923 + b1022 + b1121 + b1220 = 8 + 4 + 0 + 1 = 13
u3 =
.... y as sucesivamente

10
i i 1

15 8 13 13 4 2 5 9 1
, , , , , , , , ,...
16 16 16 16 16 16 16 16 16
20

CONCLUSION

Los nmeros aleatorios permiten a los modelos matemticos


representar la realidad. En general cuando se requiere una
impredecibilidad en unos determinados datos, se utilizan nmeros
aleatorios.
Los seres humanos vivimos en un medio aleatorio y nuestro
comportamiento lo es tambin. Si deseamos predecir el
comportamiento de un material, de un fenmeno climatolgico o
de un grupo humano podemos inferir a partir de datos estadsticos.
Para lograr una mejor aproximacin a la realidad nuestra
herramienta predictiva debe funcionar de manera similar:
aleatoriamente. De esa necesidad surgieron los modelos de
simulacin, adems de tambin poder crear algoritmos
computacionales para poder generar nmeros aleatorios.
En la vida cotidiana se utilizan nmeros aleatorios en situaciones tan
dispares como pueden ser los juegos de azar, en el diseo de la cada
de los copos de nieve, en una animacin por ordenador, en test para
localizacin de errores en chips, en la transmisin de datos desde un
satlite o en las finanzas.

21

Vous aimerez peut-être aussi