Generadores de Numeros Aleatorios

August 5, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Generadores de Numeros Aleatorios...

Description

 

UNIVERSIDAD DE EL SALVADOR FA C U L TA D M U L T I D I S C I P L I N A R I A O R I E N T A 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ÉTODOS PROBABILÍSTICOS GENERADORES DE NUMEROS  AL  A L E AT O R I O S

Docente: Lic. Maria del Transito Gutiérrez Reyes. Presentan:  Argueta Ramos Milton Noé Benavides Romero Laura Maria Iraheta Medrano Luis José  Jiménez Martínez Junior Junior Mario García Meléndez Yenifer Zuleyma SAN MIGUEL LUNES 8 DE AGOSTO DE 2016

AR15012 BR15014 IM15005 JM13012 GM15002

 

INDICE

INDICE ............................... .............................................................. ................................................................ .................................... ... 2  INTRODUCCIÓN ................................................................................... 3  UE E DEBEMOS SABER SOBRE LOS GENERADORES DE NUMEROS ALEATORIOS? .......... 3  ¿Q U

OBJETIVOS ........................................................................................... 4  GENERADORES DE NUMEROS ALEATORIOS................................ .......................................... .......... 5  

 



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

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

      



ÉTODOS CONGRUENCIALES LINEALES

M  ........................................... ..................... ................................. ........... 7 GENEREDORES DE FIBONACCI EXTENDIDOS..................... .................................. ............. 10   GENERADORES COMBINADOS ...................................................... ...................................... ................ 18  GENERADORES CONGRUENCIALES LINEALES  COMBINADOS ......... 18 18 

MÉTODO DE LOS CUADRADOS MEDIOS - MIDSQUARE METHOD...................... ........................... ..... 1 19 9  MÉTODO ACIERTO FALLO. .......................................................................... 19 

 



GENERADORES DE REGISTRO DEFASADO ...............................  ................................................... .................... 20 

CONCLUSION ..................................................................................... 21 

2

 

INTRODUCCIÓN ¿QUE DEBEMOS SABER SOBRE LOS GENERADORES DE NUMEROS  A  AL LEATO RI O S?

Un número aleatorio es aquel obtenido al azar, es decir, que todo número tenga la misma probabilidad de ser elegido y que la elección de uno no dependa de la elección del otro. El ejemplo clásico más utilizado para generarlos es el lanzamiento repetitivo de una moneda o dado ideal no trucado, pero aun así este no sería un caso totalmente aleatorio para ello necesitaríamos recurrir a los diferentes métodos que existen que nos ayudan a generar números en verdad aleatorios un ejemplo puede ser los números pseudoaleatorios que son generados por medio de una función para queinicial aparenten ser oaleatorios ya quelaestos números se generan a partir de un valor aplicand aplicando iterativamente función; pa para ra una persona común se le es difícil generar números aleatorios y para el caso de un ordenador podríamos decir que es aún más difícil o podríamos decir “Torpe” ya que este en si no puede generarlos.  Por eso hace uso de distintos métodos también el caso de los números pseudoaleatorios que para nuestro fin se podría decir que son aleatorios porque nadie los puede predecir. Cabe mencionar que los Generadores de estos números se pueden combinar para obtener “mejores” resultado s. La utilización de estos métodos hace más fácil al que los utiliza u tiliza calcular los  valores que se eligen al azar, y en la probabilidad probabilidad existen métodos 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 método se podrá analizar la información de forma clara y precisa la cual nos ayude al desarrollo de los ejercicios en los números aleatorios. 

3

 

OBJETIVOS   Describir y desarr ollar algunos métodos para obtener Describir números aleatorios, a través de generadores de dichos números que sean eficaces y lograr una aleatoriedad certera.  

 

Definir los diferentes métodos que existen para los números pseudoaleatorios para valores utilizados en la probabilidad.



Comparar los diferentes procedimientos utilizados en todos los métodos mencionados en el desarrollo del escrito.

 

4

 

GENERADORES DE NUMEROS  A L E A T O R I O S

En los experimentos de simulación es necesario necesa rio generar números aleatorios que representen alguna distribución de probabilidad. Para tal propósito tenemos que generar números rectangulares. Ahora bien, b ien, ¿si esos números son generados a través de reglas determinísticas acaso no sería más preciso llamarles números pseudoaleatorios? De hecho, pero bien podríamos mirar desde el otro lado de la calle y decir que “una sucesión cumple la facultad de aleatoria si satisface las pruebas estadísticas de aleatoriedad”  aleatoriedad” 

 

NUMEROS PSEUDOALEATORIOS.

Si decidiésemos realizar el sorteo de Navidad de Lotería Nacional mediante ordenador, seguramente la gente no confiarıa en la aleatoriedad del ordenador y se quejaría. En su lugar, se preveré un método físico y sencillo de entender, como extraer  bolas de un bombo. bombo. Incluso este tipo de métodos requiere tomar ciertas precauciones: todas las  bolas debe tener idéntico peso, deben de estar bien mezcladas en el bombo bombo y se deben cambiar regularmente para reducir las posibilidades de que unas aparezcan más que otras. Claramente este procedimiento no es práctico prácti co para una simulación computacional que requiere la generación de cientos de miles de números aleatorios. El método más conveniente y más fiable de generar números aleatorios es utilizar utili zar algoritmos determinísticos que posean alguna base matemática sólida. Estos algoritmos producen una sucesión de números que se asemeja a la de una sucesión de realizaciones de variables aleatorias iid U (0,1), aunque realmente no lo sea. Es por ello que este tipo de números se denominan pseudo-aleatorios y el algoritmo que los produce se llama Generador de números pseudo-aleatorios

5

 

UN BUEN GENERADOR DE NÚMEROS PSEUDO-ALEATORIOS DEBERÍA TENER LAS SIGUIENTES PROPIEDADES:

 

Por encima de todo, la sucesión de valores que proporcione debería asemejarse a una sucesión 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 sucesión. Esto nos puede permitir depurar fallos del modelo o simular diferentes alternativas de modelo en las mismas condiciones obteniendo una comparación más precisa. Los procedimientos físicos no permiten que los resultados sean reproducibles.

 

La sucesión de valores generados debe tener un ciclo no repetitivo tan largo como sea posible

 

El generador debe ser rápido y ocupar poca memoria interna

6

 

 

MÉTODOS CONGRUENCIALES LINEALES

Los generadores de números aleatorios que más 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 métodos Congruenciales lineales más 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 número primo que divide a m, entonces q divide a a−1. 3. Si 4 divide a m, entonces 4 divide a a−1. 

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 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 m−1 si m y a se eligen adecuadamente. adecuadamente. Los generadores multiplicativos se introdujeron antes que los mixtos, han Sido objeto de más estudio y actualmente se utilizan más que los mixtos.

 Congruencial Congruencial

Mixto

La fórmula (o relación de recurrencia) es sencilla:

X n+1=( a X n+ C ) mod m Donde:  X 0 es la semilla a  el  el multiplicador c  la  la constante aditiva y m  el  el módulo

7

 

 tienen que ser mayores que cero. Y la variable m  tiene  tiene que  A tener en cuenta: cuenta: Los valores a , X 0 y c  tienen ser mayor que las tres anteriores. Para entrar en acción vamos a darle valores arbitrarios a cada uno de estos parámetros y estudiar que reacción tienen en la relación de recurrencia. Supongamos  = 8. Entonces los resultados son: que a  =  = 5, c  =  = 7, X 0 = 7 y m  =



X n 

X n + 1 

0

7

2

1

2

1

2

1

4

3

4

3

4

3

6

5

6

5

6

5

0

7

0

7

… 

… 

… 

Nótese que después de 8 pasadas el valor inicial de  X  se  se repite. Decimos entonces que el periodo del generador es 8… igualito al valor del módulo … Eso no siempre es así. Veamos un caso donde el periodo es menor a m. El valor de los parámetros es a   = = c   = = X 0 = 4 y m  =  = 6. Ahora lo resultados son: 



X n 

X n + 1 

0

4

6

1

6

0

2

0

4

… 

… 

… 

8

 

 A continuación un script en Python que genera números aleatorios implementando Congruencial lineal mixto: el generador Congruencial def mixedMethod(  mixedMethod(x, x, a, c, mod): 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 per iodo es completo: compl eto: ", periodo) perio do)   else:   print("El periodo per iodo es incompleto:", incom pleto:", periodo) peri odo)   def main():     x = int(raw_input("Introduce el valor de la semilla: "))   a = int(raw_input("Introduce el valor del multiplicador: "))   c = int(raw_input("Introduce el valor de la constante aditiva: "))    m = int(raw_input("Introduce el valor del modulo: "))    mixedMethod(x,a,c,m)  mixedMethod(x ,a,c,m)  if __name__ == "__main__":     main() 

 Congruencial Congruencial Multiplicativo El generador Congruencial lineal multiplicativo es básicamente el mismo rollo. La relación de recurrencia es similar a la del método anterior: 

Xn+1= (aXn) mod m Incluso sólo cambiaríamos una línea del código: x = (a * x + c) % mod  8

9

 

 

GENEREDORES DE FIBONACCI EXTENDIDOS

En el siglo XIII, el matemático Leonardo de Pisa (mejor conocido como Fibonacci) estudió la forma en que crecía una población de conejos. Para saber cuántas parejas de conejos había en determinado momento, generalizó su crecimiento de forma ideal considerando que en el primer mes sólo existe una pareja, cada pareja puede a partiry los del conejos segundonunca mes, cada mesUtilizando todas las parejas fértilesladaban luz areproducirse una nueva pareja mueren. estas reglas, cantidad de parejas a través de los meses son: 1, 1, 2, 3, 5, 8,..., y en general, para un mes n   la la igual aF n n-1 -1 + F n n -2-2. cantidad de parejas F nn   es  A pesar de que estos números son conocidos como números de Fibonacci, se cree que tribus Hindúes utilizaban esta sucesión desde algunos años antes para estudiar la cantidad de melodías que se pueden formar utilizando u tilizando notas de uno o dos golpes. Los números de Fibonacci aparecen con frecuencia en la naturaleza, principalmente en la botánica, 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 (piña), etc. Los números de Fibonacci también se pueden encontrar en otros lugares diversos como en la cantidad de ancestros que tiene una abeja macho, en las diagonales del triángulo de Pascal, en la música (principalmente para entonar), y en la pintura (principalmente por su relación con el rectángulo dorado). Otras curiosidades que presentan estos números incluyen que el cociente de dos números de Fibonacci tiende a φ (número áureo) cuando n  tiende a infinito. Cualquier número natural puede ser escrito de forma única como la suma de números de Fibonacci, sin que se incluyan dos consecutivos (teorema de Zeckendorf’s). Además de esto, los números de Fibonacci son utilizados en

generadores de números pseudo-aleatorios. Los números de Fibonacci se calculan mediante la siguiente fórmula:

La fórmula se puede implementar recursivamente sin muchos problemas. El inconveniente de este método es que corre en tiempo exponencial (Θ( F  F n n )  = Θ(φn  )) ya que repetimos muchos cálculos, 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: F 1 = 1; F 2 = 1; F nn +1  +  > 1. Tienes que +   1 = F  nn     + F  nn  -1 -1, para toda n  > encontrar s   –  –  la  la suma de los primeros k números de Fibonacci. Entrada La primera línea tiene un número natural k (0 < k < 41). Salida La primera línea debe tener el número s. Saratov: 123

Solución: Queremos encontrar s k = F k + F k-1 + … + F 2 + F 1. Si lo sumamos consigo mismo obtenemos: s k + s k = F k + F k + F k-1 + F k-1 + … + F 2 + F 2 + F 1 + F 1  Fk  + F k-1 ) Fk -1 + F k-2 )  ) + … + ( F  F2  + F  ) 2s k = F k + ( F   ) + ( F   1) + F 1  Fk +1 + … + F  ) 2s k = F k + ( F   3) + F 1  F k  + F k+1 ) Fk  + … + F 3 + F 2 + F  ) 2s k = ( F  ) + ( F   1) - F 2  2s k = F k+2 + s k - F 2  s k = F k+2 - F 2  s k = F k+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

 

Código

En las primeras dos líneas declaramos el único entero que vamos a utilizar, k, el cual usaremos para leer la entrada. La siguiente función (líneas 4 a 13) calcula el número de Fibonacci para una entrada n. En la línea 11 utilizamos la fórmula para obtener el siguiente fibonacci, y utilizamos el arreglo fib para no tener que volver a calcular los datos anteriores. Las líneas 8 y 9 sirven para obtener los primeros dos valores. En la líneadeclarar 12 devolvemos resultado. Si necesitáramos utilizardel más de unen valor en el problema, podemos fib comoelglobal y obtener los datos a través arreglo lugar de la función. En la parte principal (líneas 15 a 18), lo único que hacemos es leer la entrada y escribir la salida de acuerdo a la fórmula que obtuvimos.

Caso Ejemplo Entrada: 

5 1 1 1 1 2

1 1 2 3 Desarrollo:

1 1 2 3 5 1 1 2 3 5 8 1 1 2 3 5 8 13 13

Salida:

–1

= 12

12

Posibles Cambios  Algo que podemos podemos observar es que só sólo lo necesitamos lo loss últimos dos vvalores alores para calcular el siguiente, lo cual podemos aprovechar. Si tenemos que a = 1 y b = 1, el siguiente número lo podemos obtener sumándole b   aa a , con lo que tendríamos a = 2 y b = 1; después sumamos a  a  a b , con lo que obtenemos a = 2 y b = 3. Podemos ir repitiendo el mismo procedimiento indefinidamente, con lo que en cada iteración el valor de F nn  se    se intercambiando entre a   yy b . Por ejemplo, para calcular F 1100: Fn  1

2

3

4

5

6

7

a



2



5



13

13  34

b

1



3



8



21

8

9

10

34  89

21  55

55 

12

 

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

En la función tenemos definidas a y b para utilizarlas como vimos anteriormente, anteriormente, e i para utilizarla como variable de ciclo (línea 2). Inicializamos los valores (línea 4), y los vamos calculando intercaladamente (líneas 5 a 7).  Al final devolvemos devolvemos el valor que corresponda corresponda (líneas 8 y 9).

Otro Enfoque: Matrices. Otra forma en que podemos calcular los números de Fibonacci es mediante el uso de matrices.  Tenemos que:

 Agregando otra columna columna obtenem obtenemos: os:

Si vamos reemplazando la matriz de la derecha utilizando la misma fórmula, obtendríamos:

Repitiendo el proceso k-1 veces:

Sabiendo que F 2 = F 1 = 1 y F 0 = 0:

13

 

Podemos utilizar el mismo algoritmo del tema del tema anterior para elevar potencias, con lo que obtendríamos F nn    en Θ (lg nn  ). 

En las líneas 1 y 2 definimos el tipo de variable matriz dos  que  que es la que utilizaremos para las operaciones de matrices. La función multiplica (líneas 4 a 12) la utilizamos para multiplicar dos matrices cuadradas (multiplicamos renglón por columna, según corresponda para cada casilla). La función Fibonacci (líneas 14 a 27) es prácticamente igual la segunda función bigmod de la sección anterior, con el cambio de que aquí utilizamos matrices en lugar de enteros.

Otro Enfoque: Formulas. 

Por último, también podemos calcular F nn  utilizando    utilizando una fórmula directa. Una ecuación se dice que es de recurrencia lineal (u homogénea) si es de la forma:  f (( n  n  )  = a 1  f  f ((  n  n-1)  f (( nn   f (( nn  -  1) + a 2 f    -  2) + … + a k f    -  k ) Para resolverla, hacemos un cambio f ((  nn  )  = x n , con lo que obtenemos la ecuación característica asociada: x n  = a 1x n --11 + a 2x n --22 + … + a kx n -k  Estas ecuaciones tienen solución en la siguiente expresión, siempre y cuando todas las raíces sean distintas:    es una constante que se determina a partir de las condiciones    es la i -ésima -ésima raíz, y c ii  es Donde r ii  es iniciales.

14

 

En el caso de la ecuación de Fibonacci, tenemos que k = 2 y a 1 = a 2 = 1, por lo que la ecuación queda de la siguiente forma: x 2 = x   -1 -1 Las raíces de esta ecuación son:

La solución de la ecuación es:

Utilizando F 0 = 0 y F 1 = 1 y obtenemos:

 A diferencia de otros otros lenguajes, Pascal no cue cuenta nta con funcion funciones es de exponencial, ex excepto cepto para potencias de e, por lo que debemos hacerlas nosotros. Para esto, vamos a aprovechar que sí cuenta con funciones de logaritmos:  y   = = x n    y   = = e lnxn    y   = = e n ××lnlnx   Un problema de utilizar este cambio, es que si x  es  es negativo, lnx  no  no está definido en los reales (por lo que causaría error de ejecución). Para poder solucionar esto, tomamos a x  con  con su valor absoluto y ajustamos el signo según se requiera (negativo si n  es  es impar, y positivo si no lo es). Otro inconveniente con esta fórmula es que utiliza números flotantes y las operaciones intermedias toman valores grandes, por lo que pierde precisión rápidamente cuando n crece, debido a errores de redondeo.

Código 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 híbridos de mejor calidad que los generadores originales.  Es posible combinar generadores para obtener “mejores” generadores. Algunas de las

técnicas usadas son: 1. OR-exclusivo de números aleatorios de dos o más generadores. Esta técnica es similar a la anterior excepto que la suma es reemplazada por un orexclusivo bit por bit. Se ha demostrado que esta técnica aplicada a números ligeramente aleatorios puede ser usada para generar números con mayor aleatoriedad. 2. Barajeo. Usa una secuencia como un índice para decidir qué número generado por otra secuencia será retornado. Por ejemplo, uno de estos algoritmos usa un arreglo a rreglo de tamaño 100 que contiene números de una secuencia aleatoria xn . Para generar un número aleatorio se genera un número aleatorio aleatorio yn (entre 0 y m-1) para obten obtener er el índice i = 1 + 99yn / (m1). El valor del i-esimo elemento elemento del arreglo es devuelto. Un nuevo nuevo valor xn es calculado y almacenado en la i-exima localidad. Cuando la aplicación requiere de un periodo mayor al que se puede alcanzar con un generador simple, se recurre a los generadores combinado combinadoss de congruencia lineal. Para  = 1..k, generar la secuencia de X i y R i requerida, este generador necesita las salidas X ii,j,j, j  = de k diferentes generadores de congruencia multiplicativa cuyos parámetros tienen los  produce la salida X ii,j,j   valores apropiados apropiados para asegurar un periodo m j-1. El generador j  produce entera uniformemente uniformemente distribuida de 1 a m j-1. La combinación se calcula mediante las siguientes formulas Para computadoras de 32 bits se sugiere combinar dos generadores k = 2 con m 1 = 2147483563, a 1 = 40014, m 2 = 2147483399 y a 2 = 40692. La semilla del primer generador se toma del intervalo [1, 2147483562], y la semilla del segundo generador se 18 toma del intervalo [1, 2147483398]. El periodo es ( m  m 1-1) ( m  m2  -1)/2 » 2x10 .  

  GENERADORES

CONGRUENCIALES LINEALES COMBINADOS  

 Aunque estos generadores generadores caen dentr dentroo de la sección ant anterior, erior, su relevancia amerita su discusión por separado. Consideremos nuevamente el generador xx nn 72151 31 mod ( ). En la medida que las computadoras se han vuelto más rápidas, la longitud de su ciclo se ha tornado inadecuada ya que se corre el riesgo de que, en unas cuantas horas de simulación, la secuencia se agote y se repita varias veces trayendo como consecuencia serias dudas en cuanto a la validez de los resultados. Supongamos Supongamos que tenemos una máquina con un procesador de 1GHz. Esto son 109 ciclos o tics del reloj por segundo. Supongamos también que el procesador es capaz de generar un número aleatorio por ciclo (esto es muy optimista ya que en realidad se requieren varios ciclos para producir un número aleatorio debido a las operaciones involucradas). Bajo estas condiciones se agotaría la secuencia en seg x .1 2 10 1102. 9 9 . Po Porr supuestos supuestos que será en más tiem tiempo, po, pero se observa que efectivamente esta secuencia es fácilmente agotable durante una simulación. 18

 

MÉTODO DE LOS CUADRADOS MEDIOS - MIDSQUARE METHOD

Este método se debe fue propuesto en los años 40 por los matemáticos John von Neumann y Nicholas Metrópolis. El método comienza tomando un número al azar, x0, De 2n cifras (originalmente los autores proponían 4 cifras) que al elevarlo al cuadrado Resulta un número de hasta 4n cifras. Si es necesario se añaden ceros a la izquierda Para que el número resultante tenga exactamente 4n cifras. Sea x1 el número resultante de seleccionar las 2n cifras centrales de x 2 0; el primer número aleatorio u1 se obtiene poniendo un punto decimal delante las 2n cifras de x1. A continuación x2 y u2 se generan a partir de x1 del mismo modo. Así sucesivamente. Este método tiene dos inconvenientes principales:

1.   Tiene una fuerte tendencia tendencia a degenerar a cero rápidamen rápidamente te (probar, por ejemplo Con x0 = 1009) 2.  Los números generados pueden repetirse cíclicamente después de una secuencia Corta. Ejemplo X 0 = 3708 ⇒ x2 0 = 13|7492|64 ⇒ x1 = 7492 ⇒ u1 = 0.7492 X 1 = 7492 ⇒ x2 1 = 56|1300|64 ⇒ x2 = 1300 ⇒ u2 = 0.1300 X 2 = 1300 ⇒ x2 2 = 1|6900|00 ⇒ x3 = 6900 ⇒ u3 = 0.6900 X 3 = 6900 ⇒ x2 3 = 47|6100|00 ⇒ x4 = 6100 ⇒ u4 = 0.6100 X 4 = 6100 ⇒ x2 4 = 47|2100|00 ⇒ x5 = 2100 ⇒ u5 = 0.2100 X 5 = 2100 ⇒ x2 5 = 4|4100|00 ⇒ x6 = 4100 ⇒ u6 = 0.4100 X 6 = 4100 ⇒ x2 6 = 16|8100|00 ⇒ x7 = 8100 ⇒ u7 = 0.8100 X 7 = 8100 ⇒ x2 7 = 65|6100|00 ⇒ x8 = 6100 ⇒ u8 = 0.6100

MÉTODO ACIERTO FALLO. 

Supongamos que deseamos calcular∫  (), donde la función g está acotada en (a, b). 1

El problema se puede transformar equivalentemente en calcular la integral ∫0  () ,

donde la función g verifica 0 ≤ g(x) ≤ 1, para todo x ∈ (0,1). El valor de dicha integral es el área de superficie 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 bidimension bidimensional al distribuida unif uniformemente ormemente en eell cuadrado unid unidad ad (equivalentemente, (equivalentemen te, 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 método para estimar la probabilidad de dicho suceso es simular una muestra  =1 de puntos de cuadrado unidad y calcular la proporción muestr muestraa de los que {(xi, y  )} i  pertenecen al conjunto A.

19

 

   GENERADORES

DE REGISTRO DEF DEFASADO ASADO

Se basa en Generadores lineales recursivos múltiples  El estudio de este generador se asocia al Polinomio característico sobre un áálgebra lgebra finita Fm, con m elementos. [Niederreiter 1992] Cuando el polinomio es primitivo el período es (mk -1). Debido a la comp complejidad lejidad del análisis para m grande, habitualmente habitualmente se elige un m pequeño, gener generalmente almente 2 obteniendo generadores de bits de la forma donde ak  = 1 ^ ai  {0, 1} La adición módulo 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)



bn  bn h  bnq



mod  2

0 bnh  bnq   ; hq ;     bn   b b  1 n q  n h

  En este caso los primeros q bits deben ser especificados, esto es análogo a la semilla de los generadores congruenciales. Este tipo de generador depende del largo de la palabra Ejemplo: h = 3 ; q = 5 ; b1 = b2 = b3 = b4 = b5 = 1 b6  = (b3 + b1 ) ) mod  2  2 = 2 mod  2  2 = 0 b7  = (b4 + b2 ) ) mod  2  2 = 2 mod  2  2 = 0 b8 = (b5 + b3 ) ) mod  2  2 = 2 mod  2  2 = 0 b9  = (b6 + b4 ) ) mod  2  2 = 1 mod  2  2 = 1 b10 = (b7 + b5 ) ) mod  2  2 = 1 mod  2  2 = 1 ... b42 = (b39 + b37 ) ) mod  2  2 = 2 mod  2  2 = 0 CONVERSION DEL GENERADOR BINARIO

 Transformar la sucesión {bi} en un número aleatorio U(0,1) Consideremos b1  b2  b3 {b b4i } 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 y 1 = b123 + b222 + b321 + b420 = 8 + 4 + 2 + 1 = 15 u1 = y 2 = b523 + b622 + b721 + b820 = 8 + 0 + 0 + 0 = 8 u2 = y 3 = b923 + b1022 + b1121 + b1220 = 8 + 4 + 0 + 1 = 13 u3 = .... y así sucesivamente 15 8 13 13 4 10

ui i1     16

,

,

,

,

,

2

,

5

,

9

,

1

16 16 16 16 16 16 16 16



,...

  

20

 

CONCLUSION

Los números aleatorios permiten a los modelos matemáticos representar la realidad. En general cuando se requiere una impredecibilidad en unos determinados datos, se utilizan números aleatorios. Los seres humanos vivimos en un medio aleatorio y nuestro comportamiento lo es también. Si deseamos predecir el comportamiento de un material, de un fenómeno climatológico o de un grupo humano podemos inferir a partir de datos estadísticos. Para lograr una mejor aproximación a la realidad nuestra herramienta funcionar de los manera similar: aleatoriamente.predictiva De esa debe necesidad surgieron modelos de simulación, además de también poder crear algoritmos computacionales para poder generar números aleatorios. En la vida cotidiana se utilizan números aleatorios en situaciones tan dispares como pueden ser los juegos de azar, en el diseño de la caída de los copos de nieve, en una animación por ordenador, en test para localización de errores en chips, en la transmisión de datos desde un satélite o en las finanzas.

21

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF