• No se han encontrado resultados

Curso: Métodos de Monte Carlo Unidad 4, Sesión 10: Números aleatorios (parte 3)

N/A
N/A
Protected

Academic year: 2021

Share "Curso: Métodos de Monte Carlo Unidad 4, Sesión 10: Números aleatorios (parte 3)"

Copied!
14
0
0

Texto completo

(1)

Curso:

etodos de Monte Carlo

Unidad 4, Sesi´

on 10: N´

umeros aleatorios

(parte 3)

Departamento de Investigaci´on Operativa Instituto de Computaci´on, Facultad de Ingenier´ıa Universidad de la Rep´ublica, Montevideo, Uruguay

(2)

Contenido:

1. Principales familias de generadores de n´umeros seudo-aleatorios (continuaci´on).

2. Medidas de bondad y pruebas estad´ısticas.

3. Lectura adicional.

(3)

Generadores basados en combinaciones de generadores

lineales

Dado que los generadores congruenciales lineales tienen muy buenas propiedades respecto a su equidistribuci´on en bajas dimensiones, su simplicidad conceptual y su facilidad de implementaci´on, pero tambi´en algunas limitaciones respecto a su equidistribuci´on en altas dimensiones, un enfoque posible consiste en plantearse de qu´e manera y bajo que

condiciones es posible modificar la salida de un generador congruencial lineal para mejorar sus propiedades, sin alterar significativamente su simplicidad y eficiencia.

Hay al menos dos m´etodos que han sido empleados con ´exito en este

marco: el m´etodo de shuffling, y el de merging. Si bien el an´alisis te´orico de ambos es parcial, la teor´ıa existente y tambi´en los resultados emp´ıricos muestran que ambos son m´etodos a considerar seriamente.

(4)

Shuffling

El m´etodo de shuffling consiste en reordenar la salida de un generador cualquiera, en base a la secuencia generada por un segundo generador. Formalizando, supongamos que tenemos dos generadores congruenciales lineales de secuencias de n´umeros seudo-aleatorios, {Xi, i ≥ 0}, e

{Yi, i ≥ 0}, de m´odulos M1 y M2 respectivamente, y queremos generar

una nueva secuencia {Zi, i ≥ 0}, con mejores propiedades. Entonces el

m´etodo consiste en inicializar un vector de largo K, T = (T1, . . . , TK) con

los valores X0, . . . , XK−1, inicializar i = 0, y generar cada valor Zi con el

procedimiento siguiente: Generar Yi. j = dKYi/M2e. Zi = Tj. Generar XK+i. Tj = XK+i. i = i + 1.

(5)

De esta forma, estamos generando una permutaci´on (aleatoria) de la salida original del generador X; el generador Y es utilizado simplemente como fuente de “ruido” en el orden en el que se toman los elementos de X.

Los resultados te´oricos muestran que, siempre que X e Y sean

independientes, la nueva secuencia Z tendr´a iguales o mejores propiedades que la secuencia X original, aunque no resulta f´acil cuantificar el grado de mejor´ıa.

Una ventaja de este m´etodo es que es conceptualemente simple y muy r´apido de implementar, requiriendo solamente un espacio de memoria

relativamente peque˜no, y algunas operaciones adicionales (una de las m´as costosa es la necesidad de generar los Yi).

(6)

Merging

Si tenemos dos generadores {Xi, i ≥ 0}, e {Yi, i ≥ 0}, de m´odulos M1 y M2 respectivamente, y per´ıodos d1 y d2, entonces Zi = (Xi + Yi) mod M1

es un generador de per´ıodo mcm(d1, d2), y cuya distribuci´on es al menos

tan uniforme como la de X y la de Y .

Existen diversas variantes en torno a esta idea, en todas hay importantes ganancias en los per´ıodos obtenidos, y las propiedades del generador

(7)

Generadores basados en recurrencias no lineales

Estos generadores est´an basados en una f´ormula Zi = g(Zi−1) mod M , donde g() es una funci´on con dominio y recorrido enteros (y que en el mejor caso ser´a peri´odica de per´ıodo M ).

Los dos casos m´as usados y de mayor inter´es son los generadores cuadr´aticos y los inversivos. Los cuadr´aticos tienen la forma

Zi = (AZi−12 + BZi−1 + C) mod M , y los inversivos la forma

Zi = (AZi−1−1 + C) mod M , donde x−1 es el inverso multiplicativo de x

m´odulo M (es decir, tal que xx−1 mod M = 1).

Los generadores no lineales evitan algunas limitaciones de los lineales

(cuyos valores se encuentran siempre en una grilla en el espacio), a costa de mayor costo computacional (y mayor dificultad para un an´alisis te´orico de sus caracter´ısticas, que hace que no siempre sea f´acil lograr que su

comportamiento global sea mejor que el de las mejores variantes de los generadores lineales).

(8)

Medidas de bondad y pruebas estad´ısticas

Para estudiar el comportamiento de los generadores de n´umeros

seudo-aleatorios, hay dos enfoques que se complementan. Por un lado, el estudio te´orico permite calcular ciertas medidas que reflejan que tan

“bueno” es un generador (en el sentido de comportarse de manera similar a una secuencia aleatoria). Por otro, es posible realizar tests emp´ıricos, bajo la forma de prueba de hip´otesis, que permiten si el generador no es adecuado, refutar la hip´otesis nula “el generador se comporta como una secuencia de valores uniformes e id´enticamente distribuidos”.

En relaci´on a los llamados tests te´oricos, los dos m´as importantes se basan en los conceptos de discrepancia (una medida de k-equidistribuci´on,

relacionada a la diferencia entre la distribuci´on esperada en un hipercubo de dimensi´on k y y la distribuci´on emp´ırica), y de test espectral

(relacionado con la inversa de la m´ınima distancia entre hiperplanos que contienen soluciones). Tambi´en se estudian otra medidas tales como el m´ınimo n´umero de hiperplanos necesarios para cubrir todos los puntos de la secuencia, y la m´ınima distancia entre puntos en el hiper-espacio de

(9)

dimensi´on k.

Respecto a los tests emp´ıricos, es posible pensar y aplicar una cantidad muy grande de pruebas posibles. Las dos m´as cl´asicas son quiz´a el uso de tests de Kolomgorov Smirnov (junto con las estad´ısticas de χ2) para

verificar si un generador cumple con la uniformidad en su salida, as´ı como la ausencia de correlaci´on entre pares de valores sucesivos.

Una discusi´on detallada de los mismos escapa a los objetivos del curso.

Existen diversos paquetes y blbliotecas para realizar pruebas a generadores de n´umeros aleatorios, damos una lista a continuaci´on (no es obligatorio entrar a cada uno):

• Set de tests Diehard, elaborado por George Marsaglia,

https://webhome.phy.duke.edu/~rgb/General/rand_rate/rand_ rate.abs. (´ultimo acceso:2020-04-15) http://www.staff.science. uu.nl/~sleij101/Opgaven/LabClass/site/asm_diehard.php.

(10)

• TestU01 - Empirical Testing of Random Number Generators, elaborado por Pierre L’Ecuyer,

http://simul.iro.umontreal.ca/testu01/tu01.html. (´ultimo acceso:2020-04-15)

• The ENT test program, http://www.fourmilab.ch/random/. (´ultimo acceso:2020-04-15)

• Random Number Generation and Testing - NIST (con ´enfasis en aplicaciones criptogr´aficas): http://csrc.nist.gov/groups/ST/ toolkit/random_number.html(´ultimo acceso:2020-04-15)

La biblioteca cient´ıfica de GNU, GSL, provee implementaciones de varios buenos generadores (as´ı como de otros cl´asicos, aunque con defectos

conocidos): http://www.gnu.org/software/gsl/manual/html_node/ Random-Number-Generation.html.(´ultimo acceso:2020-04-15)

(11)

uso: http://en.wikipedia.org/wiki/List_of_pseudorandom_ number_generators.(´ultimo acceso:2020-04-15)

(12)

Lectura adicional obligatoria

Art´ıculo cient´ıfico sobre propiedades deseables y resultados de tests sobre generadores de n´umeros seudo-aleatorios en bibliotecas de lenguajes

usualmente usados: P. L’Ecuyer, “Software for Uniform Random Number Generation: Distinguishing the Good and the Bad”, Proceedings of the 2001 Winter Simulation Conference, IEEE Press, Dec. 2001, 95-105. http://www.informs-sim.org/wsc01papers/012.PDF(´ultimo acceso:2020-04-15)

(13)

Preguntas para auto-estudio

• ¿Qu´e m´etodos basados en combinaciones de generadores lineales conoce?

• ¿C´omo funcionan los m´etodos basados en recurrencias no lineales?

• ¿Qu´e medidas permiten evaluar la bondad de un generador de n´umeros seudo-aleatorios?

(14)

Entrega 6

Ejercicio 10.1: (individual)

Resumir en un texto (de entre media y una carilla) los principales contenidos del paper de P. L’Ecuyer, “Software for Uniform Random

Number Generation: Distinguishing the Good and the Bad”, Proceedings of the 2001 Winter Simulation Conference, IEEE Press, Dec. 2001,

95-105. ¿Cu´al es el objetivo del trabajo? ¿Qu´e generadores de n´umeros seudo-aleatorios discute? ¿Cu´ales son los hallazgos de esta investigaci´on, y cu´ales las conclusiones y recomendaciones presentadas por el autor?

Referencias

Documento similar

[r]

Como la hip´ otesis que se quiere comprobar es que utilizando la informaci´ on de las detecciones de una c´ amara en el resto de c´ amaras del sistema (dos en este caso), se

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

No conozco ninguna palabra castellana capaz de juntar cosas tan dispares como la gratitud, el favor, la belleza, la complacencia y la alegría [para nosotros, el placer que

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

Tras establecer un programa de trabajo (en el que se fijaban pre- visiones para las reuniones que se pretendían celebrar los posteriores 10 de julio —actual papel de los

En cuarto lugar, se establecen unos medios para la actuación de re- fuerzo de la Cohesión (conducción y coordinación de las políticas eco- nómicas nacionales, políticas y acciones

b) El Tribunal Constitucional se encuadra dentro de una organiza- ción jurídico constitucional que asume la supremacía de los dere- chos fundamentales y que reconoce la separación