Números Aleatorios

Simulación

Introducción

Aplicaciones de los números aleatorios:

Simulación, con entradas no determinísticas.

Juegos o teoría de decisiones.

Cálculo numérico (p.e.: resolución de
integrales).

Teoría del muestreo.

Programación.

Número “aleatorio”: La aleatoriedad es
una característica que posee o no una
serie de números, no un número aislado.

Tipos  Características deseables:  Los números generados no se deben repetir frecuentemente (en ciclos).  Rapidez en la obtención de los números.Generadores de números.  Los números generados han de estar uniformemente distribuidos.  Almacenamiento mínimo.  Los valores deben ser independientes unos de otros. .  Las series generadas deben ser reproducibles.

   Las series obtenidas son reproducibles.Generadores de números.. Tablas (p.. bombo).e. . Requieren gran cantidad de almacenamiento. Lentitud. Lentitud.e. Métodos  Manual (p.      Las series obtenidas son realmente aleatorias. Las series obtenidas son irreproducibles. Requieren gran cantidad de almacenamiento. dado. hasta 100000 números).

 Rapidez. .  Los números obtenidos no son independientes.e.  Pocos requerimientos de almacenamiento.  Las series obtenidas son reproducibles. Métodos   Computación analógica (p.Generadores de números..  Las series obtenidas son irreproducibles.. fenómenos físicos).e.  Las series obtenidas son realmente aleatorias.  Rapidez. Computación digital (p. función y semilla).

1946): Método de los cuadrados centrales. Se generan ciclos rápidamente. .Generadores de números. Métodos  Generadores de números aleatorios:  Primera aproximación (Von Neumann. Parte de una semilla. la eleva al cuadrado y toma como resultado las k cifras centrales de lo obtenido.    Genera números aleatorios de k cifras.

Método de los cuadrados centrales .

Método de los cuadrados centrales .

se llega a una condición degenerada. en las últimas líneas. Se puede observar que. Dependiendo del valor inicial el método puede degenerar al cabo de ≈20 términos. es necesario verificar siempre la serie de números y protegerse contra este fenómeno . Por la tanto.Método de los cuadrados centrales   El problema con este método es que tiende a degenerar rápidamente.

. incremento. con 0≤xn<m n     x0.  (Lehmer. módulo. a.  Generadores congruenciales lineales Generan números pseudoaleatorios: uniformemente distribuidos pero no independientes. 1949): xn+1 = (a·xn + c) mod m. 0≤a<m c. Introducción. multiplicador. 0≤c<m m. valor inicial o semilla.

.Generadores congruenciales lineales   xn+1 = (a·xn + c) mod m  Periodo: subcadena de la serie en la que no hay repeticiones de números. Interesan métodos con alta longitud de periodo.  Longitud de periodo: número de elementos de dicha subcadena.

utiliza poca memoria y es muy rápido. guardando un solo número. (se alcanza con partir desde la misma semilla: X0). fácil de volver a generar la misma secuencia. Generadores congruenciales lineales Si se quiere obtener números Uniformes (0. 2.1) se normaliza el resultado: Un = Xn /   m En el MCL. Ventajas: 1. . si se repite un número ya se repite toda la secuencia.

Generadores congruenciales lineales .

xn+1 = a·xn mod m Son más rápidos. . xn+1 = (a·xn + c) mod m La longitud de periodo es mayor. 1958): El incremento c es distinto de 0 (c!=0). Tipos de Generadores congruenciales lineales Multiplicativos (Lehmer): El incremento c es 0 (c=0).  Mixtos (Thomson.

x1 = (x0 + c) mod m. x2 = (x1 + c) mod m = (((x0 + c) mod m) + c) mod m = (x0 + 2c) mod m. siempre saldría la constante c. etc. x3 = (x0 + 3c) mod m.Tipos de Generadores congruenciales lineales  Los valores a=0 y a=1 producen series no aleatorias. . Desarrollando.  (a=0) xn+1 = c mod m.  (a=1) xn+1 = (xn + c) mod m.

 Tipos de Generadores congruenciales lineales Para mayor independencia. obtener los valores de k en k:  x0’=x0  a’=ak  c’=(ak – 1)·c/(a – 1)  m’=m .

Tipos de Generadores congruenciales lineales  Demostración: Partimos de xn+1 = (a·xn + c) mod m.  En general: xn+k = (akxn + ak-1c + ak-2c + … + ac + c) mod m. xn+2 = (a·xn+1 + c) mod m =(a(a·xn + c) mod m + c) mod m= (a2xn + ac + c) mod m. Desarrollando. . xn+3 = (a·xn+2 + c) mod m =(a((a(a·xn + c) mod m + c) mod m) + c) mod m = (a3xn + a2c + ac + c) mod m. esto es.

Generadores congruenciales lineales. 2k. Entre los resultados de los estudios realizados con estos generadores tenemos: 1. El modulo m debe ser grande. 2. . m debe ser una potencia de 2.   La selección de a. el periodo nunca puede ser mayor que m. c. Dado que los x están entre 0 y m-1. y m afectan el periodo y la aleatoriedad en la secuencia. es decir. Para que el computo de mod m sea eficiente. En este caso mod m puede ser obtenido truncando el resultado y tomando en k bits a la derecha.

m debe ser una potencia de 2. 2k. Para que el computo de mod m sea eficiente.2. Generadores congruenciales lineales. 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 . es decir.

. Todo número primo que sea un factor de m lo es también de a-1. Generadores congruenciales lineales Si c es diferente de cero.3. a-1 es un múltiplo de 4 si m es un múltiplo de 4. el periodo máximo 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).

    Generadores congruenciales lineales. Todas estas condiciones se cumplen si m = 2k . c. y k son enteros positivos. a = 4n + 1. Todos los generadores de periodo completo no son igualmente buenos. Son preferibles los generadores con menor autocorrelación entre números sucesivos. . donde n. Si un generador tiene el periodo máximo posible se llama generador de periodo completo. y c es impar.

. Eficiencia adicional puede ser obtenida tomando m = 2k . Generadores congruenciales lineales multiplicativos GCL multiplicativo y tienen la forma: Xn= axn−1 mod m    Es obvio que estos son más eficientes que los mixtos. Por lo tanto hay dos tipos de GCL multiplicativos dependiendo si m = 2k o no.

Sin embargo estos generadores no son de periodo completo. A pesar de esto. . un cuarto de periodo máximo posible puede ser suficiente para muchas aplicaciones. El máximo 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.Generadores congruenciales lineales multiplicativos con m = 2k      El argumento a favor de usar m = 2k esta en la eficiencia de la operación mod.

17... Para ver que sucede si el multiplicador no es de la forma 8i ± 3. . consideremos: xn=7xn-1 mod 25  Si x0 = 1. y vemos que ambas condiciones son necesarias para obtener el periodo máximo. 2. 7. 13. obtenemos la secuencia 5. 23. 7.. . 29. obtenemos la secuencia 1. 10.. Si cambiamos x0 = 2. la secuencia es 2. 5. 1.... 10. 1. 17. 25. 9. con periodo 8 = 32/4. 26.. con periodo 4. 21. ..Generadores congruenciales lineales multiplicativos con m = 2k  Ejemplo  Consideremos el siguiente GCL multiplicativo: xn=5xn-1 mod 25    Si x0 = 1. 18..

m-2.1 se dice que es de periodo completo. que es casi el máximo periodo posible. ... . 2. Note que en este caso xn nunca puede ser cero y su valor esta entre 1 y m . Con un multiplicador a adecuado se puede obtener un periodo de m ..1. a es una raíz primitiva de m si y solo si an mod m ≠ 1 para n = 1.GCL multiplicativos con m ≠ 2k      Una solución para los periodos pequeños es usar un modulo m que sea número primo. Se puede demostrar que un GLC multiplicativo es de periodo completo si y solo si el multiplicador a es una raíz primitiva del modulo m. Todo GLC multiplicativo con periodo m .1.

que es de periodo 3.GCL multiplicativos con m ≠ 2k  Ejemplo  Consideremos el siguiente GCL multiplicativo:  xn=3xn-1 mod 31 Si x0 = 1.   Si usamos a = 5. 3. con periodo 30 y por lo tanto es de periodo completo. .. 25. 1.. Note que 3 es una raíz primitiva de 31 ya que el menor entero positivo de n tal que 3n mod 31 = 1 es n = 30. obtenemos la secuencia 1.. y 5 no lo es ya que 53 mod 31 = 1. obtenemos la secuencia 1. . 5. ...

 Los números generado por 2 y 6 son iguales pero en sentido contrario. Ejemplo  Sea la secuencia: Xi+1 = a Xi mod 11. para i= >1.Generadores de congruencias lineales. 6. Z 0 = 1  Las raíces primitivas son 2. 7 y 8. Lo mismo ocurre con los generados por 7 y 8. . Este tipo de relaciones se producen generalmente en generadores multiplicativos.

Generadores congruenciales lineales .