1 / 53

Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010. Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio -inspirada. El enfoque ACO, marco general. La metaheurística ACO se sitúa dentro del

clyde
Download Presentation

Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dr. Guillermo Leguizamón CINVESTAV – Julio de 2010 AntColonyOptimization(Optimización Basada en el comportamiento de Colonias de Hormigas)Una Metaheurística Bio-inspirada G. Leguizamón - UNSL - Argentina

  2. El enfoque ACO, marco general. • La metaheurística ACO se sitúa dentro del • campo de la “INTELIGENCIA COLECTIVA” (IC) o • “SWARM INTELLIGENCE” (SI) • Este marco presupone un conjunto de agentes • que obedecen a un conjunto de reglas muy • simples, pero que actuando cooperativamente, surge • un sistema mucho más complejo. • Ejemplos: Hormigas, termitas, abejas, • peces (cardúmenes), pájaros, etc. G. Leguizamón - UNSL - Argentina

  3. InteligenciaColectiva- Introducción “The emergent collective intelligence of groups of simple agents.” (Bonabeau, Dorigo and Theraulaz) G. Leguizamón - UNSL - Argentina

  4. InteligenciaColectiva- Introducción Muchosinsectos/aves/pecessocialesactuandocolectivamente, son capaces de realizarcomportamientoscomplejos, e.g., defender un nido, construirpuentes y nidos, distribuirtareas, búscaralimentos, defensa contra depredadores, etc. G. Leguizamón - UNSL - Argentina

  5. InteligenciaColectiva - Introducción • ¿Qué los gobierna? • ¿Quién emite las ordenes? • ¿Quién tiene una visión global? • ¿Quién elabora los planes? • ¿Quién preserva el equilibrio? Algunas preguntas que surgen cuando vemos la complejidad y perfección del producto de ciertas colonias/enjambres: Parece ser que cada agente tiene sus propios objetivos, pero el resultado (construcción de un nido, puente, camino) se percibe como algo organizado y complejo.

  6. IngeligenciaColectiva - Introducción Características de estos sistemas Agentes simples (gobernados por reglas sencillas), pero masivos. Comportamiento emergente Auto-organización Descentralización Flexibilidad Auto-reparación G. Leguizamón - UNSL - Argentina

  7. IngeligenciaColectiva - Introducción Auto-organización (Self-organization ) Es un conjunto de mecanismosdinámicos a partir de los cualespuedenemergerestructuras de alto niveldebido a lasinteracciones entre componentes de bajonivel. (Bonabeau et al., en Swarm Intelligence, 1999)

  8. InteligenciaColectiva - Introducción Cooperación (no competencia) Comunicación directa o indirecta (stigmergy) Algoritmos Modelos Sist. Multi-Agente Grupos de Robots G. Leguizamón - UNSL - Argentina

  9. InteligenciaColectiva - Introducción Cine: Robótica y CienciaFicción (Matrix) Swarm de centinelas en acción Un “centinela” G. Leguizamón - UNSL - Argentina

  10. InteligenciaColectiva - Introducción Más cine y escenas que capturan el concepto G. Leguizamón - UNSL - Argentina

  11. InteligenciaColectiva - Introducción Algunosprincipios de la InteligenciaColectiva • Auto-organización basada en: • intensificación de tareasvíaretroalimentaciónpositiva • balance de actividadesvíaretroalimentaciónnegativa • intensificación de fluctuaciones aleatorias • múltiples interacciones • stigmergy , basada en: • trabajorealizadocomorespuesta al estado del entorno • el entornofuncionacomomemoria de estado de trabajorealizado • el trabajo no depende de agentesespecíficos G. Leguizamón - UNSL - Argentina

  12. InteligenciaColectiva - Introducción Definición de Inteligencia Colectiva Computacional (ICC) o ComputationalSwarmIntelligence (CSI), según E. Bonabeau et al.: “cualquier intento de diseñar, desde una perspectiva distribuida, algoritmos o dispositivos para resolver problemas inspirados en el comportamiento de insectos u otros animales sociales” A. Engelbrechtda una definición similar, excepto que no incluye a los dispositivos (e.g., robots). G. Leguizamón - UNSL - Argentina

  13. AntColonyOptimization (ACO) La metaheurística ACO engloba a un conjunto de algoritmos cuyo diseño está basado en el comportamiento de ciertas colonias de hormigas reales Comportamiento: búsqueda y provisión de alimentos realizando la exploración desde el nido (comportamiento forrajero). G. Leguizamón - UNSL - Argentina

  14. Ant Colony Optimization (ACO) Las hormigas reales (ciertas especies) dejan un rastro (feromona) que puede ser detectado por el resto de la colonia (comunicación indirecta o stigmergy) G. Leguizamón - UNSL - Argentina

  15. Ant Colony Optimization (ACO) Definición: Un Algoritmo ACO es un proceso distribuido en el que un conjunto de agentes (reactivos) actúan en forma independiente y cooperan esporádicamente en forma indirecta para llevar a cabo un objetivo común. G. Leguizamón - UNSL - Argentina

  16. Instrucciones: • Reemplazar iconos de ejemplo por iconos de documentos activos así: • Crear documento en Word. • Volver a PowerPoint. • En el menú Insertar, seleccione Objeto... • Haga clic en “Crear desde archivo” • Ubique el nombre de archivo en el cuadro “Archivo” • “Mostrar como icono” debe estar activado. • Haga clic en Aceptar • Seleccione un icono • En el menú Presentación, seleccione Configuración de la acción. • Haga clic en “Acción de objeto” y seleccione “Modificar” • Haga clic en Aceptar ACO (Exp. Camino más corto) Alimento Ciertas especies de hormigas realizan un proceso llamado auto-catalítico, el que modifica la velocidad con que se deja el rastro de feromona. Existen 2 tipos de catalizadores. Positivos: aumentan la velocidad de una reacción. Negativos: disminuyen la velocidad de una reacción (inhibidor). Nido G. Leguizamón - UNSL - Argentina

  17. Algunos Simuladores • http://www.sinanerdem.net/ant-colony-simulator • http://www.rennard.org/alife/english/antsgb.html • http://www.mcrit.com/complexity/applets/boid.html G. Leguizamón - UNSL - Argentina

  18. ACO: algunosconceptosprevios • Antes de introducir los aspectos computacionales de la metaheurística ACO, veamos dos métodos básicos para explorar el espacio de búsqueda con elementos comunes a algunas metaheurísticas, por ejemplo: • Búsqueda Local • Algoritmos constructivos G. Leguizamón - UNSL - Argentina

  19. ConceptosPrevios (Cont.)Búsqueda Local • Presupone una estructura bien definida del espacio de • búsqueda (uso del concepto de vecindario). • Comienza desde una solución inicial y repetidamente trata de mejorarla a través de cambios locales • Cada cambio realizado le permite al método, “moverse” hacia otros puntos del espacio de búsqueda dentro del vecindario G. Leguizamón - UNSL - Argentina

  20. Operador ConceptosPrevios (Cont.) Vecindario de un punto en el espacio G. Leguizamón - UNSL - Argentina

  21. Búsqueda Local: ejemplo, operador de intercambio de 2 elementos. ( 4 512 3) ( 5 1 4 2 3) ( 1 5 4 2 3) ( 2 5 4 1 3) ( 3 5 4 2 1) ( ?) ( ?)

  22. Búsqueda Local: algoritmo simple Procedure BL; S Solución_Inicial; // completa Mejora  TRUE while ( Mejora ) NS Vecindario de S // aplica op S’  Mejor(NS) // acorde al objetivo if( S mejor que S’ ) Mejora FALSE elseS  S’ end-while return S; end-procedure

  23. Conceptos Previos (Cont.) • Algoritmos constructivos • Las soluciones son construidas iterativamente añadiendo componentes a una solución partiendo desde una solución ‘vacía’. • Por ejemplo, en el problema del Viajante de Comercio (TSP) la solución es construida añadiendo una ciudad tras otra incrementando la longitud del tour. G. Leguizamón - UNSL - Argentina

  24. Conceptos Previos (Cont.) Ejemplo de un Algoritmo constructivo ProcedureGreedyConstHeurist; SpElegirPrimeraComponente(Cand); while (Sp no esté completa) C  ComponenteGreedy(Cand); SpSp C; end-while S Sp; return S; end-procedure Esta parte es la que determina la “voracidad” G. Leguizamón - UNSL - Argentina

  25. Conceptos Previos (Cont.) • ¿Qué diferencia hay entre Búsqueda Local y un Algoritmo Constructivo? • ¿Cómo visualizar el espacio de búsqueda para un Algoritmo Constructivo? • ¿Se pueden definir operadores para explorar dicho espacio? G. Leguizamón - UNSL - Argentina

  26. Espacio de Búsqueda del Problema (Ejemplo, TSP) Tamaño N=5,  5!=120 Posibles soluciones N=6,  6!=720 N=100,  100! = ? EB 2 3 4 5 1 Cada punto en EB es una permutación de las ciudades, e.g., (3 5 1 4 2)o (2 5 3 4 1) G. Leguizamón - UNSL - Argentina

  27. 3 ¿Cómo elegir la rama a seguir? 2 4 1 5 1 4 5 1 2 5 1 5 1 2 5 1 2 1 Espacio de Búsqueda - TSPAlgoritmo Constructivo 5 4 3 2 1 5! en Total G. Leguizamón - UNSL - Argentina

  28. Algunasposibilidades de expansión del árbol • Greedy (como en el ejemplo del algoritmopreviamentemostrado) • Aleatorio (¿tienesentido?) • Greedy-random (e.g., GRASP) • o bien, según Ant Colony Optimization (formulaciónclásica del enfoque, a continuación …) G. Leguizamón - UNSL - Argentina

  29. Consideracionesparasuaplicación • El enfoque ACO es particularmente adecuado para ser aplicado a problemas que acepten una representación vía grafo (necesario para imitar la búsqueda de un camino) • Representación del rastro de feromona y su asociación a las conexiones entre las componentes del problema. • Posibilidad de añadir conocimiento del problema (heurística local) para guiar junto con el rastro la construcción de las soluciones. G. Leguizamón - UNSL - Argentina

  30. Consideraciones para su aplicación Dorigoet al. plantean el concepto de “grafo de construcción” como pre-requisito para aplicar un algoritmo ACO. La existencia de este grafo permitirá a las hormigas de la colonia, recorrer dicho grafo para la construcción de las soluciones en forma cooperativa. G. Leguizamón - UNSL - Argentina

  31. Consideraciones para su aplicación • Se define un grafo GC=(V,E) donde: • V es el conjunto de vértices • E el conjunto de arcos que representan las • conexiones entre los vértices • C es el conjunto de componentes del problema y • puede estar asociado a V o E. G. Leguizamón - UNSL - Argentina G. Leguizamón - UNSL - Argentina

  32. Consideraciones para su aplicación (ejemplo general) N F G. Leguizamón - UNSL - Argentina G. Leguizamón - UNSL - Argentina

  33. ACO aplicado a TSP Grafo GC =(V,E), donde V es el conjunto de n ciudades (componentes) y E las carreteras entre las ciudades (TSP simétrico) . En este ejemplo n=5 2 ¿dónde ubicamos al nido (N) y a la fuente de alimentos (F)? 3 4 5 1

  34. ACO aplicado a TSP (Cont.) Nido: nodos elegidos aleatoriamente (e.g., 3) FA: el último nodo luego de completada la solución (e.g., 1) Una posible solución: (3 5 4 2 1) 2 3 4 5 1 G. Leguizamón - UNSL - Argentina

  35. ACO aplicado a TSP (Cont.) Al momento de decidir la próxima ciudad a visitar, ¿cuáles serán los opciones para cada hormiga? Veamos el caso de una hormiga particular: S=(), C={1,2,3,4,5} 2 S=(3), C={1,2,4,5} S=(3 5), C={1,2,4} 3 4 Componentes Candidatas Solución Inicial S=(3 5 4), C={1,2} S=(3 5 4 2), C={1} 5 1 S=(3 5 4 2 1), C={} G. Leguizamón - UNSL - Argentina

  36. ACO aplicado a TSP (Cont.) • Representación del rastro de feromona puede ser realizado a través de una matriz de números reales () de nn. • Heurística local (visibilidad): 1/dij, es decir, un valor inversamente proporcional a la distancia entre las ciudades iy j. G. Leguizamón - UNSL - Argentina

  37. ACO aplicado a TSP (Cont.) τ: matriz de feromona 2 3 4 1 2 3 4 5 1 2 3 5 1 4 τij indica fortaleza de la conexión (i,j) 5 G. Leguizamón - UNSL - Argentina

  38. 3 ¿Cómo se elige en un ACO la rama a seguir? 2 4 1 5 1 4 5 1 2 5 1 5 1 2 5 1 2 1 Espacio de Búsqueda - TSPAlgoritmo ACO 5 4 3 2 1 G. Leguizamón - UNSL - Argentina

  39. El primer algoritmo ACO (AntSystem o AS) La construcción se realiza paso a paso en forma probabilística considerando ij y ij Inicializar(); for c=1 toNro_ciclos { for k=1 toNro_ants ant-k construye solución k; Guardar la mejor solución; Actualizar Rastro (i.e., ij); Aplicar Búsqueda Local // Opcional Reubicar hormigas para el próximo ciclo; } G. Leguizamón - UNSL - Argentina

  40. AS - Construcción de una solución para TSP /* Sk: Solución o permutación construida por la hormiga k*/ Sk= Ciudad_Inicial; (escogida de acuerdo a algún criterio) while ( no se haya completado el tour ) { Seleccionar próx. ciudad (j) con probabilidad Pij (i es la última ciudad incluida) Sk= Sk j } Los parámetros α y β controlan respectivamente la importancia del rastro y la heurística G. Leguizamón - UNSL - Argentina

  41. El primer algoritmo ACO (AntSystem o AS) Inicializar(); for c=1 toNro_ciclos { for k=1 toNro_ants ant-k construye solución k; Guardar la mejor solución; Actualizar Rastro(i.e., ij); Aplicar Búsqueda Local // Opcional Reubicar hormigas para el próximo ciclo; } Se puede hacer considerando todas las soluciones encontradas o un subconjunto de ellas G. Leguizamón - UNSL - Argentina

  42. Actualización del Rastro en AS Este valor es calculado directamente proporcional a la calidad de la solución Acumulación de rastro proporcional a la calidad de las soluciones (i.e., NroAntssoluciones o la mejor de la colonia): Actualización : el parámetro es el factor de evaporación. G. Leguizamón - UNSL - Argentina

  43. Importancia de Rastro () • Como todo método heurístico, un algoritmo ACO tiene su bloque de construcción a partir del cual se generan nuevas soluciones del espacio de búsqueda. • El bloque de construcción está representado por la estructura dado que incide directamente en las componentes a seleccionar. 1 2 3 4 5 1 Recordar!: El nivel de feromona indica la fortaleza de la conexión. 2 3 4 5 G. Leguizamón - UNSL - Argentina

  44. Otrosalgoritmos ACO • Surgencomorespuesta a ciertosproblemasobservados en AS y básicamente se diferencian encómousan y/o modifican el rastro de feromona. • MinMax-AS (control sobre los valores del rastro) • AS-rank (ranking de soluciones) • AS-elistim (sólola mejorsolución) • Ant Colony System (ACS) • Ant-Q (basado en Q-Learning) G. Leguizamón - UNSL - Argentina

  45. ¿Quédiferencia fundamental existe entre el enfoque ACO y los AEs? G. Leguizamón - UNSL - Argentina

  46. 3 2 4 1 5 1 4 5 1 2 5 1 5 1 2 5 1 1 2 EB desde la perspectiva de un AE y ACO Solución Completa G. Leguizamón - UNSL - Argentina

  47. AEs y ACO: un concepto adicional • Enfoques basados en Modelos • Enfoques basados en Instancias G. Leguizamón - UNSL - Argentina

  48. Aplicaciones de ACO • TSP • Scheduling • VehicleRoutingProblem (VRP) • Data Mining (Ant-Miner & Ant-Tree) • Problemas de Grafos (Clique, Coloreo, etc.) • Ruteo Dinámico (ANT-Net) • Problemas con funciones continuas y restricciones • Geometría Computacional G. Leguizamón - UNSL - Argentina

  49. Estudios actuales • Modelos Paralelos • Hibridación • Estudio y análisis de sus propiedades • Aplicaciones a problemas de carácter no estacionario (ambientes dinámicos) G. Leguizamón - UNSL - Argentina

  50. Información de interés • Dorigo, M. & T. Stützle - “AntColonyOptimization”. MitPress. • Bonabeau, E., Dorigo, M., and Theraulaz, G. – “SwarmIntelligence: FromNaturalstoArtificalSystems”. Oxford UniversityPress. • Engelbrecht, A.P. – “Fundamentals of Computational Swarm Intelligence”. Wiley. G. Leguizamón - UNSL - Argentina

More Related