Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Algoritmos basados en inteligencia de enjambres: Hormigas y Abejas Miguel Cárdenas Montes - Antonio Gómez Iglesias Centro de Investigaciones Energéticas Medioambientales y Tecnológicas, Madrid, Spain [email protected] 15-19 de Octubre de 2011 M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Temario del Curso Temario • Introducción a la Computación Evolutiva. • Aplicaciones a Problemas Cientı́ficos y Tecnológicos. • Algoritmos Genéticos. • Algoritmos Basados en Evolución Diferencial. • Algoritmos Evolutivos para Problemas Multiobjetivo. • RND y EA • Modelos Basados en Adaptación Social: abejas, hormigas y enjambres. M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Tabla de Contenidos 1 Tabla de Contenidos 2 Insectos sociales 3 ACO 4 Algoritmos de Abejas 5 Bibliografı́a M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Insectos sociales M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Insectos sociales • Cada individuo parece ser independiente de los demás. • La colonia parece tener cierta organización. • Aparentemente la integración de las actividades de los individuos se produce sin ningún supervisor. M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Sistemas adaptativos • El entorno en el que se encuentran las colonias cambia continuamente. • Los insectos son capaces de adaptarse a estos cambios y actuar acorde a ellos. • Constituyen un sistema flexible y al mismo tiempo muy robusto. M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Autoorganización • Se construye a partir de las interacciones entre individuos • Se basa en cuatro elementos: • Feedback positivo • Feedback negativo • Fluctuaciones • Múltiples interacciones M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Sistemas descentralizados • El conocimiento y la información se encuentran distribuidos entre todos los individuos de la colonia • Ningún individuo tiene conocimiento del total de información existente • Los individuos intercambian información mediante ciertos procesos de comunicación M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a División del trabajo • Individuos especializados realizan diferentes tareas de manera simultánea • Se evita el cambio de tarea, que implica un gasto de energı́a y tiempo • Dentro de cada grupo de tareas, se comparten acciones y los individuos pueden pasar de una subtarea a otra M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Algoritmos de inteligencia de Enjambres Ejemplos de algoritmos • Hormigas, ACO - ant colony optimization • Abejas, ABC - artificial bee colony • Luciérnagas, firefly • Bandadas de pájaros o bancos de peces (PSO) M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a ACO M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a ACO I • Es de las técnicas más populares. • Creado por M. Dorigo en 1992 [1]. M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a ACO I • Las hormigas vagan aleatoriamente en su búsqueda de alimento • En su camino de regreso a la colonia depositan feromona • Si otra hormiga encuentra esa feromona, seguirá el rastro • La intensidad de la feromona desaparece con el tiempo • Si más hormigas depositan feromonas, el rastro se intensifica M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a ACO II • La evaporación ayuda a que no se produzca una convergencia temprana • La exploración aleatoria ayuda al descubrimiento de soluciones M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Ejemplos • • http://website.lineone.net/~john.montgomery/demos/ants.html http://www.djoh.net/inde/ANTColony/applet.html M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a De la naturaleza a la computación • Cada individuo es un proceso • La colmena es el algoritmo que controla la ejecución de los procesos • En algún momento algunos procesos tienen que compartir su información M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a De la naturaleza a la computación • Cada individuo es un proceso • La colmena es el algoritmo que controla la ejecución de los procesos • En algún momento algunos procesos tienen que compartir su información • Para ponerle un nombre basado en enjambres, debe seguir los patrones del enjambre en la naturaleza M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Algoritmos de Abejas M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Algoritmos de Abejas • Idea: copiar el comportamiento de las abejas • Descentralización • Asincronismo M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Algoritmos de Abejas • Diferente tipos de abejas en función del comportamiento: adaptabilidad a muchos tipos de problemas. • El algoritmo más popular es el de Colonias de Abejas (ABC - Artificial Bee Colony) [2]. M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Algoritmos de Abejas • Propuesto por D. Karaboga. • Uno de los algoritmos más populares. • Numerosas aplicaciones (http://mf.erciyes.edu.tr/abc/). • Planteado como un algoritmo iterativo. M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Búsqueda de Comida Dos procesos básicos (división de tareas) • Descubrimiento de nuevas fuentes de comida. • Explotación de esas fuentes. M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Tipos de Abejas • Scouts: exploran el espacio de soluciones por diversificación. • Employed: explotación. • Onlookers: explotación. Deciden en función de las Employed M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Algoritmo • Enviar scouts • Repetir 1 Enviar las employed y calcular el fitness. 2 Calcular la probabilidad de cada solución de ser explotada. 3 Explotar solución por onlookers. 4 Detener explotación de soluciones abandonadas. 5 Enviar scouts a explorar. 6 Almacenar la mejor solución. M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Bibliografı́a [1] Bonabeau, E., Dorigo, M., Theraulaz, G.: Swarm Intelligence: From Natural to Artificial Systems. Oxford (1999) [2] Karaboga, D., Basturk, B.: A powerful and efficient algorithm for numerical function optimization: artificial bee colony (abc) algorithm. J. Global Optimization 39(3) (2007) 459–471 M. Cárdenas ants-bees Tabla de Contenidos Insectos sociales ACO Algoritmos de Abejas Bibliografı́a Gracias Gracias ¿Preguntas? ¿Más preguntas? M. Cárdenas ants-bees