Aco Teoria 1

1,133 views

Published on

Published in: Technology, Travel
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,133
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
41
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Aco Teoria 1

  1. 1. Ant Colony Optimization (Optimización Basada en Colonias de Hormigas) Una Metaheurística Bio-inspirada <ul><li>Nuevas Metaheurísticas basadas en población </li></ul>
  2. 2. El enfoque ACO, marco general. <ul><li>El marco general en el cual situar al enfoque ACO es dentro la denominada SWARM INTELLIGENCE o INTELIGENCIA COLECTIVA </li></ul><ul><li>Este marco presupone un sistema de agentes que obedecen a un conjunto de reglas muy simples, pero que actuando cooperativamente, surge un sistema mucho más complejo. </li></ul><ul><li>Ejemplos: Hormigas, termitas, abejas, bandada, etc. </li></ul>
  3. 3. Conceptos Previos <ul><li>Métodos básicos para explorar el espacio de búsqueda a partir de los cuales se derivan las metaheurísticas: </li></ul><ul><li>Búsqueda Local </li></ul><ul><li>Algoritmos constructivos </li></ul>
  4. 4. Conceptos Previos (Cont.) <ul><li>Búsqueda Local </li></ul><ul><li>Presupone una estructura bien definida del espacio de búsqueda (uso del concepto de vecindario). </li></ul><ul><li>Comienza desde una solución inicial y repetidamente trata de mejorarla a través de cambios locales </li></ul><ul><li>Cada cambio realizado le permite al método, “moverse” hacia otros puntos del espacio de búsqueda dentro del vecindario </li></ul>
  5. 5. Conceptos Previos (Cont.) Vecindario de un punto en el espacio Operador
  6. 6. Conceptos Previos (Cont.) <ul><li>Algoritmos constructivos </li></ul><ul><li>Las soluciones son construidas iterativamente añadiendo componentes a una solución partiendo desde una solución ‘vacía’. </li></ul><ul><li>Por ejemplo, en el problema del Viajante de Comercio (TSP) la solución es construída añadiendo una ciudad tras otra incrementando la longitud del tour. </li></ul>
  7. 7. Conceptos Previos (Cont.) Ejemplo de un Algoritmo constructivo Procedure GreedyConstHeurist; Sp  ElegirPrimeraComponente; while (Sp no sea completada) C  ComponenteGreedy(Sp); Sp  Sp  C; end-while S  Sp; return S; end-procedure Esta parte es la que determina la “voracidad”
  8. 8. Conceptos Previos (Cont.) <ul><li>¿Qué diferencia hay entre Búsqueda Local y un Algoritmo Constructivo? </li></ul><ul><li>¿Cómo visualizar el espacio de búsqueda para un Algoritmo Constructivo? </li></ul><ul><li>¿Se pueden definir operadores para explorar dicho espacio? </li></ul>
  9. 9. Espacio de Búsqueda del Problema (Ejemplo, TSP) Tamaño N=5,  5!=120 Posibles soluciones N=6,  6!=720 N=100,  100! = ? EB Cada punto en EB es una permutación de las ciudades, p.e. 35142 o 25341 3 4 2 5 1
  10. 10. 5 5! en Total 3 4 2 1 Espacio de Búsqueda - TSP Algoritmo de Construcción 3 1 2 5 4 4 1 2 5 5 5 1 2 2 1 1 1 5 1 ¿Cómo elegir la rama a seguir?
  11. 11. Posibilidades de expansión del árbol <ul><li>Greedy (como en el ejemplo del algoritmo previamente mostrado) </li></ul><ul><li>Aleatorio (¿tiene sentido?) </li></ul><ul><li>Greedy-random (e.g., GRASP) </li></ul><ul><li>Ant Colony Optimization (formulación clásica original del enfoque) </li></ul>
  12. 12. Ant Colony Optimization (ACO) <ul><li>El enfoque ACO engloba a todos aquellos algoritmos cuyo diseño está basado en el comportamiento de las colonias de hormigas reales. </li></ul>
  13. 13. Ant Colony Optimization (ACO) <ul><li>Las hormigas reales (ciertas especies) dejan un rastro </li></ul><ul><li>( feromona ) que puede ser detectado por el resto de la </li></ul><ul><li>colonia ( comunicación indirecta o stigmergy ) </li></ul><ul><li>Un Algoritmo ACO es un proceso distribuido en el que un conjunto de agentes (reactivos) que actúan en forma independiente y cooperan esporádicamente en forma indirecta para llevar a cabo un objetivo común. </li></ul>
  14. 14. ACO (Experimentos de base)
  15. 15. ACO (Exp. Camino más corto) <ul><li>Instrucciones: </li></ul><ul><li>Reemplazar iconos de ejemplo por iconos de documentos activos así: </li></ul><ul><li>Crear documento en Word. </li></ul><ul><li>Volver a PowerPoint. </li></ul><ul><li>En el menú Insertar, seleccione Objeto... </li></ul><ul><li>Haga clic en “Crear desde archivo” </li></ul><ul><li>Ubique el nombre de archivo en el cuadro “Archivo” </li></ul><ul><li>“ Mostrar como icono” debe estar activado. </li></ul><ul><li>Haga clic en Aceptar </li></ul><ul><li>Seleccione un icono </li></ul><ul><li>En el menú Presentación, seleccione Configuración de la acción. </li></ul><ul><li>Haga clic en “Acción de objeto” y seleccione “Modificar” </li></ul><ul><li>Haga clic en Aceptar </li></ul>Alimento Nido
  16. 16. Consideraciones para su aplicación <ul><li>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) </li></ul><ul><li>Representación del rastro de feromona y su asociación a las conexiones entre las componentes del problema. </li></ul><ul><li>Posibilidad de añadir conocimiento del problema (heurística local) para guiar junto con el rastro la construcción de las soluciones. </li></ul>
  17. 17. Consideraciones para su aplicación <ul><li>Como ejemplo clásico usaremos el problema TSP </li></ul><ul><li>Representación del rastro de feromona puede ser realizado a través de una matriz de números reales (  ) de n  n. </li></ul><ul><li>Heurística local: 1/d ij , es decir, un valor inversamente proporcional a la distancia entre las ciudades i y j . </li></ul>
  18. 18. ACO aplicado a TSP 3 4 2 5 1
  19. 19. 5 3 4 2 1 Espacio de Búsqueda - TSP Algoritmo ACO 3 1 2 5 4 4 1 2 5 5 5 1 2 2 1 1 1 5 1 ¿Cómo se elige en un ACO la rama a seguir?
  20. 20. El primer algoritmo ACO (Ant System o AS) Inicializar(); for c=1 to Nro_ciclos { for k=1 to Nro_ants ant-k construye solución k ; Guardar la mejor solución; Actualizar Rastro (i.e.,  ij); Reubicar hormigas para el próximo ciclo; } Imprimir la mejor solución encontrada;
  21. 21. El primer algoritmo ACO (Ant System o AS) Inicializar(); for c=1 to Nro_ciclos { for k=1 to Nro_ants ant-k construye solución k ; Guardar la mejor solución; Actualizar Rastro (i.e.,  ij); Reubicar hormigas para el próximo ciclo; } Imprimir la mejor solución encontrada; La construcción se realiza paso a paso en forma probabilística considerando  ij y  ij
  22. 22. AS - Construcción de una solución para TSP /* S k : Solución o permutación construida por la hormiga k */ S k = Ciudad_Inicial ; (escogida de acuerdo a algún criterio) mientras no se haya completado el tour { Seleccionar próx. Ciudad ( j ) con probabilidad (i es la última ciudad incluida) S k = S k  j }
  23. 23. El primer algoritmo ACO (Ant System o AS) Inicializar(); for c=1 to Nro_ciclos { for k=1 to Nro_ants ant-k construye solución k; Guardar la mejor solución; Actualizar Rastro (i.e.,  ij); Reubicar hormigas para el próximo ciclo; } Imprimir la mejor solución encontrada; Se puede hacer considerando todas las soluciones encontradas o un subconjunto de ellas
  24. 24. Actualización del Rastro en AS Acumulación de rastro proporcional a la calidad de las soluciones (i.e., NroAnts soluciones): Actualización Efectiva (  es el factor de persistencia del rastro) Este valor es calculado directamente proporcional a la calidad de la solución
  25. 25. Importancia de Rastro (  ) <ul><li>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. </li></ul><ul><li>El bloque de construcción está representado por la estructura  dado que incide directamente en las componentes a seleccionar. </li></ul>El nivel de feromona indica la fortaleza de la conexión. 1 1 2 2 3 3 4 4 5 5
  26. 26. Otros algoritmos ACO (Introducción) <ul><li>Surgen como respuesta a ciertos problemas observados en AS y básicamente se diferencian en cómo usan y/o modifican el rastro de feromona. </li></ul><ul><li>MinMax-AS (control sobre los valores del rastro) </li></ul><ul><li>AS-rank (ranking de soluciones) </li></ul><ul><li>AS-elistim (solo la mejor solución) </li></ul><ul><li>Ant Colony System (ACS) </li></ul><ul><li>Ant-Q (basado en Q-Learning) </li></ul>
  27. 27. ¿Que diferencia fundamental existe entre este enfoque ACO y los AEs o Simmulated Annealing ?
  28. 28. EB desde la perspectiva de un AE y ACO Solución Completa 3 1 2 5 4 4 1 2 5 5 5 1 2 2 1 1 1 5 1
  29. 29. Aplicaciones de ACO <ul><li>TSP </li></ul><ul><li>Scheduling </li></ul><ul><li>Vehicle Routing Problem (VRP) </li></ul><ul><li>Data Mining (Ant-Miner & Ant-Tree) </li></ul><ul><li>Problemas de Grafos (Clique, Coloreo, etc.) </li></ul><ul><li>Ruteo Dinámico (ANT-Net) </li></ul><ul><li>Problemas con funciones continuas y restricciones </li></ul><ul><li>Geometría Computacional (Algunas ideas) </li></ul>
  30. 30. Estudios actuales en el campo de las Metaheurísticas <ul><li>Cambios en las componentes a los efectos de mejorar su performance. </li></ul><ul><li>Hibridización. </li></ul><ul><li>Estudio y análisis de sus propiedades. </li></ul><ul><li>Aplicaciones a problemas de carácter no estacionario (ambientes dinámicos) </li></ul>
  31. 31. Información de interés <ul><li>Dorigo, M. & Th. Stützle - “Ant Colony Optimization” </li></ul><ul><li>http://www.metaheuristics.net </li></ul><ul><li>http://www.iridia.be/ ~ mdorigo </li></ul>
  32. 32. FIN Parte I

×