Investigaciones del proyecto TRACER Universidad Carlos III de

  • Slides: 67
Download presentation
Investigaciones del proyecto TRACER Universidad Carlos III de Madrid Investigadores: Pedro Isasi Viñuela Julio

Investigaciones del proyecto TRACER Universidad Carlos III de Madrid Investigadores: Pedro Isasi Viñuela Julio César Hernández Cristóbal Luque del Arco-Calderón José María Valls

Líneas de Investigación n Distribución de cargas en una esfera mediante estrategias evolutivas. Predicciones

Líneas de Investigación n Distribución de cargas en una esfera mediante estrategias evolutivas. Predicciones de la marea mediante algoritmos genéticos. Búsqueda de funciones HASH mediante programación genética.

Distribución de cargas en una esfera

Distribución de cargas en una esfera

Introducción: n n n Problema: distribuir N cargas iguales en la superficie de una

Introducción: n n n Problema: distribuir N cargas iguales en la superficie de una esfera. Las cargas tienden a repelerse hasta quedar en una posición de equilibrio. El problema se conoce en física como “el problema de Thomson”.

Ejemplos

Ejemplos

Métodos para el cálculo: n n Clásico: descenso del gradiente. Simulated annealing. Algoritmos genéticos.

Métodos para el cálculo: n n Clásico: descenso del gradiente. Simulated annealing. Algoritmos genéticos. El descenso de gradiente puede quedar atrapado en mínimos locales.

Aplicaciones n n n Este problema clásico tiene aplicaciones en física, química y biología.

Aplicaciones n n n Este problema clásico tiene aplicaciones en física, química y biología. Cristalización de iones o "bubblons" cerca de la superficie de un aglomerado de helio líquido. Cristalización de electrones en el contorno de un punto semiconductor esférico. Cálculo de poliedros regulares. Búsqueda de moleculas estables. Analisis del entrelazado de los granos de polen y las cadenas de ADN.

Dificultades del problema n n n Numerosos mínimos locales. El número de mínimos locales

Dificultades del problema n n n Numerosos mínimos locales. El número de mínimos locales aumenta exponencialmente con el número de electrones. Para N ~ 200 electrones hay alrededor de 8000 mínimos locales.

Preliminares n Usaremos estrategias evolutivas de tipo ( + ), es decir, padres producen

Preliminares n Usaremos estrategias evolutivas de tipo ( + ), es decir, padres producen hijos, y entre la población total de + individuos se seleccionan los mejores, que pasan a ser los padres de la siguiente generación.

Preliminares n La función fitness será el potencial electrostático: » f(N)= i<j 1/d(xi, xj)

Preliminares n La función fitness será el potencial electrostático: » f(N)= i<j 1/d(xi, xj) n Esquema estándar:

Preliminares n n inicializar() da los valores iniciales. engendrar() produce los hijos a partir

Preliminares n n inicializar() da los valores iniciales. engendrar() produce los hijos a partir de los padres mediante mutación. evaluar() selecciona los mejores individuos de la población de padres e hijos. La condición de parada puede ser, o bien un número determinado de generaciones, o bien que la función fitness no haya variado en las últimas 5000 generaciones.

Método I n Para la primera implementación los padres portan las coordenadas de los

Método I n Para la primera implementación los padres portan las coordenadas de los electrones en polares:

Método I n n Declaramos un vector de elementos de tipo Tpadre. El tipo

Método I n n Declaramos un vector de elementos de tipo Tpadre. El tipo real puede ser tanto double, como long double, dependiendo de la precisión queramos. La constante n_e es el número de electrones. Cada electrón lleva su posición en coordenadas polares (x, y), además de las varianzas de la mutación (ex para la coordenada x, ey para la coordenada y).

Método I n Así pues la mutación (observemos que no sólo mutan las coordenadas

Método I n Así pues la mutación (observemos que no sólo mutan las coordenadas polares, también mutan las varianzas) seguirá las siguientes distribuciones normales:

Método II n Para hacer el algoritmo más eficiente se pensó en reducir la

Método II n Para hacer el algoritmo más eficiente se pensó en reducir la cantidad de memoria que ocupaba cada padre, y para ello se extrajeron las varianzas de cada electrón para hacer una única común a todos los electrones de cada padre.

Método II n n n Ahora el tipo Tpadre ocuparía la mitad de lo

Método II n n n Ahora el tipo Tpadre ocuparía la mitad de lo que ocupaba anteriormente. El algoritmo saldría perjudicado en cuanto a que, teóricamente, un electrón bien colocado en una generación podría no estarlo en la siguiente por ser la varianza igual para todos; así pues no distingue entre los mejor colocados para la configuración mínima Sin embargo según los resultados al final de la memoria podemos ver que el segundo método produce mejores resultados, en contra de lo que la intuición nos dice.

Método III n Para la posición del electrón, en este método trabajaremos con las

Método III n Para la posición del electrón, en este método trabajaremos con las tres coordenadas cartesianas (x, y, z), en vez de las dos polares ( , ).

Método III n La nueva implementación será:

Método III n La nueva implementación será:

Método III n n Al igual que en el caso anterior, seguimos manteniendo una

Método III n n Al igual que en el caso anterior, seguimos manteniendo una sola varianza para todos los electrones del mismo padre. El proceso de mutación usado es:

Método III n n Tras llevar a cabo algunas pruebas, se comprobó que, efectivamente,

Método III n n Tras llevar a cabo algunas pruebas, se comprobó que, efectivamente, esta nueva implementación era más rápida. Aunque el algoritmo había ganado cierta rapidez seguía siendo lento para casos de mas de 50 electrones, y ello era debido a que la función fitness dependía al cuadrado del numero de electrones.

Método III n Para cada electrón debe evaluar N 2/2 distancias:

Método III n Para cada electrón debe evaluar N 2/2 distancias:

Método IV n n Para la nueva implementación los padres mantienen la información sobre

Método IV n n Para la nueva implementación los padres mantienen la información sobre la inversa de las distancias entre los electrones. Muta un solo electrón de cada padre en el hijo. A la hora de calcular el fitness del hijo sólo tendríemos que recalcular las inversas de las distancias del electrón mutado con los demás, permaneciendo sin variar las inversas de las distancias entre los electrones no mutados. Ahora sólo hay que evaluar N-1 distancias en vez de N 2/2.

Método IV n La nueva implementación será:

Método IV n La nueva implementación será:

Método IV n En la tabla inv_d[n_e] guarda las inversas de las distancias de

Método IV n En la tabla inv_d[n_e] guarda las inversas de las distancias de los electrones.

Método IV n n n El indicador ind señala cual es el electrón que

Método IV n n n El indicador ind señala cual es el electrón que muta. Este indicador pasa sin variar al hijo con una probabilidad del 90%; el 10% restante muta y pasa a señalar a otro electrón aleatoriamente. Así, por una parte busca la mejor posición para ese electrón, y aleatoriamente pasa a buscar otro que colocar mejor, en vez de seguir explotando esa solución.

Método IV n n La ventaja de este método es su velocidad, siendo mucho

Método IV n n La ventaja de este método es su velocidad, siendo mucho más rápido que todos los anteriores. La desventaja es que tiene más posibilidades de quedar atascado en un mínimo local.

Nuevo Enfoque n n n Posteriormente se trató de afrontar el problema con una

Nuevo Enfoque n n n Posteriormente se trató de afrontar el problema con una estrategia (1+1). 1 padre produce 1 único hijo. Dicho padre se sustituye sólo si el hijo mejora el fitness del padre.

Método V n Se siguieron las los postulados de Rechenberg: la regla de 1/5:

Método V n Se siguieron las los postulados de Rechenberg: la regla de 1/5: En una estrategia (1+1) la proporción de descendientes que sustituyen al padre debe ser 1/5. Si es mayor que 1/5 debemos incrementar la varianza, y si es menor decrementarla.

Método V n n n Sea n el número de variables de la función:

Método V n n n Sea n el número de variables de la función: La varianza se mantiene fija durante n generaciones observamos la proporción de sustituciones del padre que se han producido en las últimas 10 n generaciones Si esta proporción es mayor que 1/5, la varianza se multiplica por una constante de incremento ci=1/0. 82 si es menor que 1/5 la varianza se multiplica por una constante de decremento cd = 0. 82

Método VI n n Este último método es mucho más sencillo. Simplemente, cada generación

Método VI n n Este último método es mucho más sencillo. Simplemente, cada generación decrementa la varianza del padre multiplicándola por 0’ 95, y la del hijo se aumenta multiplicándola por 1’ 25.

Resultados n El método VI presenta una convergencia más rápida.

Resultados n El método VI presenta una convergencia más rápida.

Bibliografía n n n L. T. Wille, “Searching potential energy surfaces by simulated annealing”,

Bibliografía n n n L. T. Wille, “Searching potential energy surfaces by simulated annealing”, Nature v 324 n 6 (1984), p 46 -48. J. R. Morris, D. M. Deaven and K. M. Ho. “Genetic-algorithm energy minimization for point charges on a sphere”. Physical Review B, 53(4): 1740 -1743, 1996. A. B. J. Kuijlaars and E. B. Saff, “Asymptotics for minimal discrete energy on the sphere”, Trans. Amer. Math. Soc. , to appear. E. B. Saff, A. B. J. Kuijlaars, “Distributing many points on a sphere”, Mathematical Intelligencer, v 19 n 1 (1997), p 5 -11. T. Erber, G. M. Hockney, “Equilibrium configurations of n equal charges on a sphere”, J Phys A: Math, 1991 U. Depczynski and J. Stockler, “A differential geometric approach to equidistribution on compact manifolds”, Approximation theory IX, Volume 1: Theorical aspects 1998.

Investigadores n n n Pedro Isasi Cristóbal Luque Julio César Hernández

Investigadores n n n Pedro Isasi Cristóbal Luque Julio César Hernández

Resultados n n n Página web para el proyecto TRACER http: //tracer. lcc. uma.

Resultados n n n Página web para el proyecto TRACER http: //tracer. lcc. uma. es/problems/thoms on/thomson. html Informe técnico. Artículo aceptado para una conferencia en la CAEPIA 2003.

Predicciones de series temporales (mareas de Venecia) mediante algoritmos genéticos.

Predicciones de series temporales (mareas de Venecia) mediante algoritmos genéticos.

Objetivo n n n Dada una muestra consecutiva de horas predecir la evolución de

Objetivo n n n Dada una muestra consecutiva de horas predecir la evolución de la marea. Clásicamente se han usado RRNN para la predicción de series temporales. Nosotros hemos usado técnicas de algoritmos genéticos.

Objetivo n Datos de entrada: 24 horas consecutivas x 1, …, x 24 n

Objetivo n Datos de entrada: 24 horas consecutivas x 1, …, x 24 n Salida: predicción para la hora siguiente (X 25)

Algoritmo n Nuestros individuos serán vectores de 50 elementos: ( c_sup 1, c_inf 1,

Algoritmo n Nuestros individuos serán vectores de 50 elementos: ( c_sup 1, c_inf 1, …, c_sup 24, c_inf 24, predicción, error ) n Este patrón nos indica que para una muestra de 24 horas consecutivas ( h 1, …, h 24 ) si para todo i se cumple que c_infi <hi< c_supi entonces la hora siguiente será predicción con un error aproximado de error.

Algoritmo n n Seleccionamos una gran cantidad de valores consecutivos de medidas de la

Algoritmo n n Seleccionamos una gran cantidad de valores consecutivos de medidas de la marea (30. 000). El fitness de un individuo dependerá de: El número de veces que 24 horas consecutivas cumplen sus cotas (aciertos). La varianza de las medidas de la hora 25.

Algoritmo: Fitness n Función fitness: (aciertos*10) - varianza Objetivos: n Maximizar los aciertos. n

Algoritmo: Fitness n Función fitness: (aciertos*10) - varianza Objetivos: n Maximizar los aciertos. n Minimizar la varianza.

Algoritmo n n n Reproducción sexual. Intercambio de la información. Selección de los individuos

Algoritmo n n n Reproducción sexual. Intercambio de la información. Selección de los individuos por torneos de tres rondas.

Algoritmo: Descendencia n n Un gen de un individuo es un par de cota

Algoritmo: Descendencia n n Un gen de un individuo es un par de cota superior y cota inferior para una misma hora. Para cada hora, el hijo hereda el gen correspondiente a esa hora de uno de los padres con una probabilidad del 50%.

Algoritmo: Descendencia Padre 1: ( c_sup 1, c_inf 1, c_sup 2, c_inf 2, …,

Algoritmo: Descendencia Padre 1: ( c_sup 1, c_inf 1, c_sup 2, c_inf 2, …, c_sup 24, c_inf 24) n Padre 2: ( c_sup 1, c_inf 1, c_sup 2, c_inf 2, …, c_sup 24, c_inf 24) n Hijo: (c_sup 1, c_inf 1, c_sup 2, c_inf 2, …, c_sup 24, c_inf 24) n

Algoritmo: Selección n No queremos un único individuo óptimo, buscamos una población y que

Algoritmo: Selección n No queremos un único individuo óptimo, buscamos una población y que cada individuo nos haga una predicción distinta. Steady-Stay: Un nuevo individuo sustituye al más cercano en distancia fenotípica, es decir, al que haga una predicción parecida. Sólo sustituye si mejora el fitness del más cercano en distancia fenotípica

Resultados n n Tras cada ejecución se guardan los individuos en un fichero. Resultado

Resultados n n Tras cada ejecución se guardan los individuos en un fichero. Resultado final: 3500 individuos que predicen sobre 30. 000 datos de test (es decir, la población de individuos no ha sido entrenada con ellos) en el 99% de los casos con un error medio de 5 cm sobre el nivel de la marea (entre -50 y 150 cm)

Investigadores n n Pedro Isasi Cristóbal Luque Julio César Hernández José María valls

Investigadores n n Pedro Isasi Cristóbal Luque Julio César Hernández José María valls

Resultados n Página web para el proyecto TRACER http: //tracer. lcc. uma. es/problems/tide/tid e.

Resultados n Página web para el proyecto TRACER http: //tracer. lcc. uma. es/problems/tide/tid e. html

Búsqueda de funciones HASH mediante programación genética

Búsqueda de funciones HASH mediante programación genética

Objetivo n n Efecto Avalancha: ¿Cuánto cambia la salida cuando cambiamos un bit de

Objetivo n n Efecto Avalancha: ¿Cuánto cambia la salida cuando cambiamos un bit de la entrada? Crearemos funciones HASH mediante Programación Genética y comprobaremos su robustez mediante el efecto Avalancha.

Algoritmo n n n Nuestros individuos serán árboles. En cada nodo habrá una operación

Algoritmo n n n Nuestros individuos serán árboles. En cada nodo habrá una operación de la lista. El fitness del individuo se calculará generando 1024 vectores aleatorios de 64 bits. A continuación se permuta un bit del vector y se calcula su distancia de Hamming entre la salida del vector original y la salida del permutado, y luego se calcula la media.

Operaciones n n rotd (rotar a la derecha) roti (rotar a la izquierda) xor

Operaciones n n rotd (rotar a la derecha) roti (rotar a la izquierda) xor (suma mod 2) or (bit or) n n not (bit not) and (bit and) sum (suma mod 232) mult (multiplicación mod 232) kte = 0 x 9 e 377969

Ejemplo de individuo n n n Profundidad del árbol: 5 fitness: 11. 2148 Entradas:

Ejemplo de individuo n n n Profundidad del árbol: 5 fitness: 11. 2148 Entradas: a 0, a 1 (mult (kte (rotd a 0)) (rotd (sum (roti (xor a 0 a 1))))

Investigadores n n n Julio César Hernández Pedro Isasi Cristóbal Luque

Investigadores n n n Julio César Hernández Pedro Isasi Cristóbal Luque

Resultados n n n Página web para el proyecto TRACER http: //tracer. lcc. uma.

Resultados n n n Página web para el proyecto TRACER http: //tracer. lcc. uma. es/problems/avalanche/a valanche. html Artículo aceptado para KES 2003, que tuvo lugar en Oxford. Aceptado en el CEC 2003, en Camberra, y que será publicado en la revista Computational Intelligence de Junio de 2004.