Vous êtes sur la page 1sur 7

Breve descripcin del estado del arte de varios mtodos de mejora local (I-b)

PARALLEL TEMPERING, o TEMPLE PARALELO


Alfonso de la Fuente Ruiz para Joaqun Pacheco Bonrostro, septiembre de 2011, v2.0

NOTA: Se enlazan una serie de referencias sobre el texto en forma de hiperenlaces (subrayados en azul) para ampliar informacin.

La idea del temple paralelo se basa en los algoritmos de Monte Carlo (MC). Por MC entendemos cualquier mtodo estocstico que realice una integral multidimensional. Habitualmente se llama mtodo Monte Carlo a la repeticin de un nmero elevado de simulaciones basadas en el algoritmo de Metrpolis para samplear (muestrear o sondear) las propiedades de un sistema termodinmico en equilibrio. Antes de proseguir, debemos definir el concepto de proceso de Markov, que es un proceso estocstico (o aleatorio, en contraposicin a uno determinista) dependiente del tiempo, en que los estados pasados, presentes y futuros son independientes, es decir, que no tiene memoria. El algoritmo de Metrpolis tradicional es un proceso de Markov en el que, mediante la aceptacin o rechazo de diversos movimientos de sondeo del espacio de problema, se muestrea la distribucin de probabilidad de Boltzmann (tambin conocida por la medida de Gibbs, que es la que define clsicamente las velocidades de las partculas de un gas, arrojando la probabilidad de que un sistema se encuentre en un estado concreto, o en otro diferente). Sin embargo, los movimientos de sondeo en el mtodo tradicional de Metrpolis pueden llegar a ser muy ineficientes cuando tratamos con una simulacin de temperatura suficientemente baja sobre una superficie de energa potencial compleja. En dicho caso, las configuraciones generadas no sern capaces de escapar de las barreras energticas de salida, motivo por el cual el espacio de configuraciones no ser explorado eficientemente. Otro caso que presenta ineficiencias sobre superficies complejas ser cuando existan muchos mnimos poco profundos en un sistema cristalino.

En la imagen podemos observar la representacin de un espacio de problema (espacio de fase o de configuraciones) en dos dimensiones, mapeado a una tercera en funcin del valor evaluado en cada punto del plano por el algoritmo, que representa una sima o una cresta en funcin de lo pequeo o grande que sea el dato. Una simulacin a bajas temperaturas puede quedar atrapada en una muestra no-representativa de los mnimos locales (regiones sombreadas). A temperaturas altas, la simulacin puede llegar a muestrear ms de un espacio de fase, quiz demasiados para obtener una solucin suficientemente buena. Este caso puede ser reproducido empleando por ejemplo la funcin de Schwefel, en la que el mnimo global es geomtricamente distante, en el espacio paramtrico del problema, del prximo mnimo local, lo que propicia que muchos algoritmos de bsqueda tengan alta probabilidad de converger en la direccin incorrecta. Otras funciones que resultan tiles para ejemplificar los defectos de diversos algoritmos de bsqueda y optimizacin son las multimodales, como la funcin de Ackley en la que existe una sima bien diferenciada que est rodeada por un rea de escasa rugosidad. Para estos y otros casos, el algoritmo de Metrpolis puede resultar terriblemente ineficiente, ya que sus movimientos locales no permiten al sistema explorar todo el espacio de configuraciones. Esto corresponde a decir, por ejemplo, que deja de ser cierta la hiptesis de que se puedan alcanzar todos los microestados de forma equiprobable. Por ello que en la prctica, la simulacin Monte Carlo se desestabiliza perdiendo su ergodicidad y resulta por lo tanto de escasa utilidad prctica, ya que arroja resultados estadsticos poco fidedignos. Este problema es resuelto por el algoritmo del temple paralelo (PT), que complementa los movimientos locales del algoritmo de Metrpolis por el espacio de configuraciones, con movimientos globales de intercambio o alternacin que modifican un conjunto completo de configuraciones. As, se ejecutan en paralelo varias rplicas de simulaciones Monte Carlo a una serie de temperaturas diferentes (o

para ser ms precisos, se toma en cada rplica la funcin inversa de la temperatura para cada punto de la serie). Las simulaciones a energas ms elevadas sern capaces de explorar el espacio de configuraciones con mayor libertad, cruzando las grandes barreras energticas que se sitan en lugares donde se realizan transiciones de fase. Para nuestra metfora de termodinmica fsica, podramos pensar en la licuefaccin del hielo o la evaporacin de un lquido, por ejemplo. En rplicas de simulaciones a alta energa, ser sencillo saltar de un mnimo local a otro, del mismo modo que una canica impulsada con energa rodar por el suelo de tierra ignorando cierto grado de rugosidad, sin detenerse antes del encontrar el gu, en el juego infantil del mismo nombre. El algoritmo PT saca partido de ello intercambiando las configuraciones de alta energa con configuraciones a baja energa que tengan inters, permitiendo a las rplicas de baja energa sondear las configuraciones mucho ms eficientemente que con meras modificaciones locales de Metrpolis. PT fue desarrollado en 1991 y desde entonces se ha aplicado en cierta cantidad de situaciones como el estudio de sistemas con altas barreras energticas. Una de las aplicaciones ms populares es el programa P2P de dinmica molecular "Folding at home, que ya trat en 2008. Este programa de computacin distribuida a travs de internet ha estado recientemente en el candelero por los esperanzadores resultados en cuanto al tratamiento con antirretrovirales del virus del SIDA, obtenidos mediante su spin-off ldico. As mismo se han desarrollado interesantes aplicaciones en el estudio de polmeros. En la imagen siguiente podemos observar una visualizacin ejemplar de los saltos configuracionales que ocurren durante la ejecucin de una simulacin del Temple Paralelo en la que se muestrean 8 rplicas a diferentes temperaturas. El mtodo del temple paralelo puede utilizarse como un sper temple simulado (Super-SA) que no requiere reinicio, ya que

una de las rplicas de alta energa puede servir como fuente para otros varios optimizadores locales de los que trabajan a bajas temperaturas, permitiendo el tunelado entre estados metaestables y mejorando la convergencia hacia el ptimo global. Existen diversas nuevas perspectivas, modificaciones y ensamblajes del PT como el que involucra pesaje multicannico (publicado en 2001-2002) para propiciar un solapamiento mucho ms amplio de temperaturas, requiriendo computar una menor cantidad de rplicas y consiguiendo incrementar arbitrariamente la acepcin de sondas alternadoras. Una de las ventajas ms significativas de este mtodo que han propulsado su popularidad hasta las cotas actuales es la facilidad con que se presta para su implementacin en los clsteres de computacin paralela que dominan el panorama actual de computacin de altas prestaciones (HPC). Estas arquitecturas pueden programarse (posiblemente en CUDA u OpenCL) para ejecutar una o unas pocas rplicas en cada ncleo de computacin, con lo que la eficiencia global se mejora de forma cuasiradical en sistemas multi-ncleo de elevada granularidad.

NOTA: A la segunda versin de este texto le ha sido aadida una serie de anexos as como una bibliografa.

ANEXOS: Algoritmo de Metrpolis:


En el contexto de problemas de bsqueda se utiliza temperatura para hacer converger nuestro sistema a un mnimo global que permita encontrar la solucin ptima. Se sabe que intentar analizar todos los casos del espacio es inviable, debido a su magnitud. Lo ideal es encontrar una forma para que se seleccionen las mejores soluciones, y solamente evaluar stas. El algoritmo Metrpolis se encarga de esto. En primer lugar vamos a suponer que la temperatura T es constante. Lo primero que debemos hacer es asignar una configuracin inicial C0, y despus vamos a estar interesados en generar una serie de configuraciones C1, C2 hasta que consigamos encontrar la configuracin de mnima energa para esa temperatura. Lo que podramos hacer es evaluar todas las configuraciones en funcin de P(C), asumiendo que las mejores configuraciones van a tener mayor posibilidad de salir; el problema es que si el nmero de configuraciones es excesivamente grande, y este nmero es un numero significativamente menor que , esto no es lo ms ptimo. Sin embargo se va a evitar evaluar las configuraciones directamente a travs de P(C), ya que resulta mucho ms fcil modelar la secuencia como una Cadena de Markov (una secuencia de eventos donde el evento siguiente depende del anterior), porque evaluaremos una funcin P(C[t+1] | C[t]), pero no aseguraremos que esta probabilidad converge a la distribucin de P(C), en este caso a la distribucin de Gibbs, si el numero de muestras es suficientemente elevado. El algoritmo Metrpolis aporta una estrategia de muestreo de este tipo y se caracteriza por dos aspectos bsicos: La configuracin de C[t+1] se consigue a travs de C[t], de forma que C[t+1] es una configuracin vecina o localmente prxima a C[t]. En el caso del viajante de comercio es coger una ramificacin, lo que se traduce en permutar dos ciudades. La nueva configuracin C[t+1] no se acepta directamente, sino que se acepta con una cierta probabilidad definida como: Siendo P(C) una distribucin de Gibbs, y como tenemos una T fija:

Si la variacin de energa es menor o igual que cero, entonces la configuracin C[t+1] se coge sin duda, ya que significa una disminucin de energa. En caso contrario, entonces la probabilidad de que esta nueva configuracin nos lleve a la ptima decae exponencialmente con el empeoramiento del balance energtico, y dicho decaimiento est atenuado por T. Se debe elegir umbral que decida a partir de qu probabilidad q se debe aceptar una configuracin. Este umbral es r. El algoritmo Metrpolis termina cuando satisface una condicin de equilibrio, que en la prctica se traduce en un determinado nmero de muestras. A continuacin se describe este algoritmo y cmo utiliza el algoritmo Metrpolis para obtener la solucin ptima.

Simulated Annealing:
En el anterior bloque se explic el algoritmo de Metrpolis y por qu era tan importante para resolver el problema del viajante de comercio. En ste se va a explicar qu es el algoritmo simulated annealing y cmo se codifica para poder utilizarlo en cualquier aplicacin. Se recordar que el algoritmo Metrpolis devuelve una serie de configuraciones. Esto sucede as hasta que llega a una situacin de equilibrio, que habitualmente consiste en alcanzar un nmero de configuraciones determinado. En cada ciclo, el algoritmo Metrpolis nos devuelve una muestra de la distribucin de Gibbs para una determinada temperatura. Para saber si dicha muestra es un mnimo global, hay que repetir los muestreos disminuyendo de manera montona la temperatura, hasta que el valor se aproxime a 0. Esta sucesin de muestreos es lo que llamamos simulated annealing. El pseudocdigo del algoritmo es el siguiente:
comienzo SIMULATED_ANNEALING { C[0] = INI_CONFIGURACION ( ); T = INI_TEMPERATURA ( ); t = 0; repetir { C = C[t]; repetir { auxC = GEN_CONFIGURACION(C); E = E(auxC)-E(C); q = mn{1, e^(-E/T)}; si (ALEATORIO(0,1)< q) entonces { C = auxC; } hasta( TEST_EQUILIBRIO ); t = t +1; C[t] = C; T = ENFRIAR (T, t); }hasta (T 0); devolver C[t] = C* = arg mn E(C); }

} ;

Tenemos que realizar las siguiente aclaraciones: Las funciones INI_CONFIGURACION y INI_TEMPERATURA, proporcionan una configuracin inicial (normalmente aleatoria) y la temperatura inicial, respectivamente. La funcin GENERAR devuelve una configuracin local a la dada. La funcin ALEATORIO devuelve un valor uniformemente distribuido entre los lmites que se pasan por el argumento. El control de convergencia de algoritmo Metrpolis lo realiza la funcin TEST_EQULIBRIO, el cual lo que hace es comprobar en qu ciclo se encuentra y escapar del bucle cuando satisfaga la restriccin. La funcin ENFRIAR merece un captulo slo para ella, ya que sta es la que se encarga de reducir la temperatura de manera montona, y es la que permite que el sistema funcione. La caracterstica ms interesante de este algoritmo es su capacidad para evitar los mnimos locales, lo cual se debe a la cuidadosa gestin del parmetro T. En el siguiente post os contaremos cmo debemos desarrollar la funcin de ENFRIAR. Ya casi hemos resuelto el problema.

REFERENCIAS:
Test functions for optimization needs: http://www.bioinformaticslaboratory.nl/twikidata/pub/Education/NBICResearchSchool/Opti mization/VanKampen/BackgroundInformation/TestFunctions-Optimization.pdf Parallel Tempering | Wikipedia-en http://en.wikipedia.org/wiki/Parallel_tempering Parallel Tempering | John Gergely http://online.physics.uiuc.edu/courses/phys466/spring11/projects/2006/team_john_davidsav er/466_gergely_davidsaver/node3.html Folding@Home distributed computing http://folding.stanford.edu/Spanish/Main Computacin distribuida | Blog de Alfonso y Compaa (por el autor) http://alfonsoycia.blogspot.com/2008/06/computacin-distribuida.html FoldIt: gamers salvan vidas http://www.loaded.vg/noticias/5391/foldit-gamers-salvanvidas.html Xataka: spin-off ldico http://www.xatakaciencia.com/medicina/si-los-cientificos-nopueden-resolverlo-que-lo-haga-un-videojuego Parallel Tempering: Theory, applications and new perspectives http://arxiv.org/abs/physics/0508111 Bsquedas Locales | Matesco - Unican http://www.matesco.unican.es/informacion_academica/2006_2007/informatica/Algoritmica/ B%C3%BAsquedasLocales.pdf Algoritmo de Metropolis: http://www.theartificialconscience.com/inteligencia-artificialaplicada/algoritmo-de-metropolis Algoritmo SA: http://www.theartificialconscience.com/inteligencia-artificialaplicada/simulated-annealing Implementacin de SA en lenguaje Java: http://codigoia.wordpress.com/2009/08/24/elviajante-de-comercio-con-simulated-annealing/ Implementacin de M-H en Matlab: http://www.quantiphile.com/2010/11/01/metropolishastings/ Implementacin de un muestreador de Metropolis-Hastings en lenguaje Python: http://scripts.galeonpro.com/metropolis-hastings-sampler-1-0-10268 Desarrollo, implementacin y prueba de un algoritmo de reconstruccin de objetos a partir de una representacin axonomtrica, utilizando tcnicas de optimizacin - Proyecto Final de Carrera presentado por: Juan Vicente Andreu Hernndez www.regeo.uji.es/proyectos/pfc_Andreu.pdf Parallel Tempering y el juego de las canicas | Blog de Alfonso y Compaa (por el autor) http://alfonsoycia.blogspot.com/2011/09/investigando-para-el-doctorado-parallel.html

Alfonso de la Fuente Ruiz http://es.linkedin.com/in/alfonsofr

Vous aimerez peut-être aussi