Algoritmo de colonia de hormigas

Los algoritmos de colonias de hormigas (en inglés, optimización de colonias de hormigas o ACO ) son algoritmos inspirados en el comportamiento de las hormigas u otras especies que forman un superorganismo , y constituyen una metaheurística familiar para la optimización .

Propuesto originalmente por Marco Dorigo et al. En la década de 1990, para encontrar caminos óptimos en un gráfico , el primer algoritmo se inspiró en el comportamiento de las hormigas que buscaban un camino entre su colonia y una fuente de alimento . Desde entonces, la idea original se ha diversificado para resolver una clase más amplia de problemas, y han surgido varios algoritmos que se basan en varios aspectos del comportamiento de las hormigas.

En inglés, el término dedicado a la clase principal de algoritmo es Optimización de colonias de hormigas  " (ACO). Los especialistas reservan este término para un tipo particular de algoritmo. Sin embargo, existen varias familias de métodos inspirados en el comportamiento de las hormigas. En francés, estos diferentes enfoques se agrupan bajo los términos: "algoritmos de colonias de hormigas" , "optimización por colonias de hormigas" , "hormigas artificiales" o varias combinaciones de estas variantes.

Origen

La idea original surge de la observación de la explotación de los recursos alimenticios en las hormigas. De hecho, estos, aunque individualmente tienen capacidades cognitivas limitadas, colectivamente son capaces de encontrar el camino más corto entre una fuente de alimento y su nido.

Los biólogos han observado, en una serie de experimentos llevados a cabo en 1989, que una colonia de hormigas que puede elegir entre dos caminos de longitud desigual que conducen a una fuente de alimento tendía a utilizar el camino más corto.

Un modelo que explica este comportamiento es el siguiente:

  1. una hormiga (llamada "exploradora") deambula de forma más o menos aleatoria por el entorno de la colonia;
  2. si descubre una fuente de alimento, regresa más o menos directamente al nido, dejando un rastro de feromonas a su paso  ;
  3. siendo estas feromonas atractivas, las hormigas que pasan cerca tenderán a seguir, más o menos directamente, este rastro;
  4. volviendo al nido, estas mismas hormigas reforzarán el rastro;
  5. si dos pistas son posibles para llegar a la misma fuente de alimento, la más corta será, al mismo tiempo, recorrida por más hormigas que la larga;
  6. por tanto, la pista corta será cada vez más reforzada y, por tanto, cada vez más atractiva;
  7. la pista larga eventualmente desaparecerá, siendo las feromonas volátiles;
  8. En última instancia, todas las hormigas decidieron y "eligieron" la pista más corta.

Las hormigas utilizan su entorno como medio de comunicación  : indirectamente intercambian información depositando feromonas, todas las cuales describen el estado de su "trabajo". La información intercambiada tiene un alcance local , solo una hormiga ubicada en el lugar donde se depositaron las feromonas tiene acceso a ella. Este sistema se denomina "  estigmergia  ", y se encuentra en varios animales sociales (se ha estudiado en particular en el caso de la construcción de pilares en nidos de termitas ).

El mecanismo para resolver un problema demasiado complejo para que lo aborden las hormigas es un buen ejemplo de un sistema autoorganizado . Este sistema se basa en una retroalimentación positiva (el depósito de feromonas atrae a otras hormigas que lo fortalecerán a su vez) y una retroalimentación negativa (la disipación de la pista por evaporación evita que el sistema corra). Teóricamente, si la cantidad de feromona permaneciera igual a lo largo del tiempo en todas las ramas, no se elegiría ninguna pista. Sin embargo, debido a las retroalimentaciones, una pequeña variación en una rama se amplificará y luego permitirá la elección de una rama. El algoritmo permitirá pasar de un estado inestable donde ningún ramal está más marcado que otro, a un estado estable donde la ruta se forma a partir de los "mejores" ramales.

Ejemplo: el "sistema de hormigas"

Descripción general

El primer algoritmo de colonia de hormigas propuesto se llama sistema Ant . Su objetivo en particular es resolver el problema del viajante de comercio , donde el objetivo es encontrar el camino más corto que permita conectar un conjunto de ciudades.

El algoritmo general es relativamente simple y se basa en un conjunto de hormigas, cada una de las cuales recorre un camino entre las posibles. En cada etapa, la hormiga elige moverse de una ciudad a otra de acuerdo con algunas reglas:

  1. solo puede visitar cada ciudad una vez;
  2. cuanto más lejos está una ciudad, menos posibilidades tiene de ser elegida (esto es “visibilidad”);
  3. cuanto mayor sea la intensidad de la pista de feromonas colocada en la cresta entre dos pueblos, más probable será que se elija la ruta;
  4. una vez finalizado su recorrido, la hormiga deposita, en todos los bordes recorridos, más feromonas si el recorrido es corto;
  5. las pistas de feromonas se evaporan con cada iteración .

Descripción formal

La regla de desplazamiento, llamada "regla aleatoria de transición proporcional", está escrita matemáticamente de la siguiente forma:

donde J i k es la lista de posibles desplazamientos de una hormiga k cuando se encuentra en una ciudad i , η ij la visibilidad, que es igual a la inversa de la distancia de dos ciudades i y j ( 1 / d ij ) y τ ij (t) la intensidad de la pista en una iteración dada t . Los dos parámetros principales que controlan el algoritmo son α y β , que controlan la importancia relativa de la intensidad y visibilidad de un borde.

En la práctica, para que las hormigas exploren pistas no descubiertas, se asigna una probabilidad distinta de cero de explorar estas ciudades "desconocidas", controlada por el parámetro γ. De esta forma, se escribe la probabilidad de desplazamiento:

Una vez finalizado el city tour, una hormiga k deposita una cantidad de feromona en cada borde de su recorrido:

donde T k (t) es el recorrido realizado por la hormiga k en la iteración t , L k (t) la longitud de la ruta y Q un parámetro de ajuste.

Al final de cada iteración del algoritmo, las feromonas depositadas en iteraciones anteriores por las hormigas se evaporan de:

Y al final de la iteración, tenemos la suma de las feromonas que no se han evaporado y las que se acaban de depositar:

donde m es el número de hormigas utilizados para la iteración t y p un parámetro de ajuste.

Variantes principales

El algoritmo de la colonia de hormigas se usó originalmente principalmente para producir soluciones casi óptimas al problema del viajante de comercio y luego, de manera más general, a los problemas de optimización combinatoria . Se puede observar que desde sus inicios su uso se ha extendido a varios ámbitos, desde la optimización continua hasta la clasificación o procesamiento de imágenes .

El marco "ACO"

Algunos de los algoritmos (en particular los diseñados por M. Dorigo y sus colegas) ahora se agrupan bajo el término "Optimización de colonias de hormigas" (ACO). Sin embargo, este marco se limita a algoritmos que construyen soluciones en forma de parámetros asociados con los componentes de un gráfico, utilizando un modelo estadístico sesgado.

Un método de tipo ACO sigue el siguiente esquema algorítmico, parametrizado por:

un criterio para detener el algoritmo se excedió un tiempo de cálculo o un número asignado de iteraciones, un umbral de mejora de la solución que ya no es satisfactorio, o una combinación de criterios de heurística (posiblemente) un criterio para elegir las vías a explorar o eliminar, ... una construcción de soluciones y pistas de feromonas dependiendo del problema a resolver y su estructura Initialisation des pistes de phéromone ; Boucler tant que critère d'arrêt non atteint : construire les solutions composant par composant, utilisation (facultative) d'une heuristique, mise à jour des pistes de phéromone ; Fin de la boucle.

Una variante eficaz del sistema fórmico es el Max-Min Ant System (MMAS), donde solo las mejores hormigas trazan senderos y donde la deposición de feromonas está limitada por un límite superior (evitando que un rastro se refuerce demasiado) y un marcador de límite. .bajo (dejando la posibilidad de ser explorado a cualquier solución). Este algoritmo consigue mejores resultados que el original y, en particular, evita la convergencia prematura.

La otra variante más conocida es el Ant Colony System (ACS), donde a una nueva regla de desplazamiento (llamada “regla proporcional pseudoaleatoria”) se le agrega un proceso de actualización “local” de los elementos de las pistas. El objetivo de este mecanismo es incrementar la diversificación de la investigación.

Es posible, para algunas versiones, demostrar que el algoritmo es convergente (es decir, que es capaz de encontrar el óptimo global en un tiempo finito). La primera prueba de convergencia de un algoritmo de colonia de hormigas se proporcionó en 2000, para el algoritmo del sistema de hormigas basado en gráficos , luego para los algoritmos ACS y MMAS. Como ocurre con la mayoría de las metaheurísticas , es muy difícil estimar teóricamente la velocidad de convergencia.

En 2004, Zlochin y sus colegas demostraron que los algoritmos de tipo ACO podrían asimilarse a los algoritmos de estimación de distribución , entropía cruzada y descenso de gradiente estocástico . Propusieron agrupar estas metaheurísticas bajo el término "investigación basada en modelos".

Una definición difícil

No es fácil dar una definición precisa de qué es un algoritmo de colonia de hormigas y qué no lo es, porque la definición puede variar según los autores y los usos.

En términos generales, los algoritmos de colonias de hormigas se consideran metaheurísticas de población , donde cada solución está representada por una hormiga que se mueve a través del espacio de búsqueda. Las hormigas marcan las mejores soluciones, y tienen en cuenta las marcas anteriores para optimizar su búsqueda.

Podemos pensar en ellos como algoritmos probabilísticos de múltiples agentes , utilizando una distribución de probabilidad implícita para hacer la transición entre cada iteración. En sus versiones adaptadas a problemas combinatorios, utilizan una construcción iterativa de las soluciones.

Según algunos autores, lo que diferencia a los algoritmos de colonias de hormigas de otras metaheurísticas cercanas (como los algoritmos de estimación de distribución o la optimización de enjambres de partículas) es precisamente su aspecto constructivo. De hecho, en los problemas combinatorios, es posible que acabe encontrándose la mejor solución, aunque ninguna hormiga la haya experimentado. Así, en el ejemplo del problema del viajante de comercio, no es necesario que una hormiga camine realmente por la ruta más corta: puede construirse a partir de los segmentos más fortalecidos de las mejores soluciones. Sin embargo, esta definición puede ser problemática en el caso de problemas de variables reales, donde no existe una estructura de vecindad.

El comportamiento colectivo de los insectos sociales sigue siendo una fuente de inspiración para los investigadores. La gran diversidad de algoritmos (de optimización o no) que pretenden autoorganizarse en los sistemas biológicos ha dado lugar al concepto de '  inteligencia de enjambre  ', que es un marco muy general, en el que se anotan los algoritmos de las colonias de hormigas.

Algoritmos estigmérgicos

Observamos en la práctica que una gran cantidad de algoritmos afirman estar inspirados en "colonias de hormigas", sin compartir siempre el marco general de optimización canónica de colonias de hormigas (ACO). En la práctica, el uso de un intercambio de información entre hormigas a través del medio ambiente (principio llamado “estigmergia”) es suficiente para entrar en la categoría de algoritmos de colonias de hormigas. Este principio ha llevado a algunos autores a crear el término "optimización estigmérgica".

Así encontramos métodos inspirados en comportamientos de forrajeo, clasificación de larvas, división del trabajo o transporte cooperativo.

Aplicaciones

Las variantes combinatorias pueden tener una ventaja, sobre otras metaheurísticas, en el caso de que el gráfico estudiado pueda cambiar dinámicamente durante la ejecución: la colonia de hormigas se adaptará de forma relativamente flexible a los cambios. Esto parece ser de interés para el enrutamiento de red .

Los algoritmos de colonias de hormigas se han aplicado a una gran cantidad de problemas de optimización combinatoria, que van desde la asignación cuadrática hasta el plegamiento de proteínas o el enrutamiento de vehículos . Como muchas metaheurísticas, el algoritmo básico se ha adaptado a problemas dinámicos, variables reales, problemas estocásticos, implementaciones multiobjetivo o en paralelo, etc.

Histórico

Fuentes

Notas y referencias

  1. A. Colorni, M. Dorigo y V. Maniezzo, Optimización distribuida por Ant Colonies , actas de la primera conferencia europea sobre vida artificial, París, Francia, Elsevier Publishing, 134-142, 1991.
  2. M. Dorigo, optimización, algoritmos de aprendizaje y natural , tesis doctoral, Politécnico de Milán, Italia, 1992.
  3. S. Goss, S. Aron, J.-L. Deneubourg y J.-M. Pasteels, El patrón de exploración de auto-organizada de la hormiga argentina , Naturwissenschaften, volumen 76, páginas 579-581, 1989.
  4. J.-L. Deneubourg, S. Aron, S. Goss y J.-M. Pasteels, El patrón exploratorio autoorganizado de la hormiga argentina , Journal of Insect Behavior, volumen 3, página 159, 1990.
  5. M. Dorigo, V. Maniezzo, y A. Colorni, sistema Ant: optimización por una colonia de agentes cooperar , Transacciones IEEE en Sistemas, el hombre y la cibernética - Parte B, volumen 26, número 1, páginas 29 -41, 1996.
  6. T. Stützle y HH Hoos, MAX Sistema Ant MIN , futura generación Computer Systems, volumen 16, páginas 889-914, 2000.
  7. M. Dorigo y Gambardella LM, Ant Colony System: A Aprendizaje cooperativo Aproximación al problema del viajante , IEEE Transactions on Evolutionary Computation, volumen 1, número 1, páginas 53-66, 1997.
  8. M. Zlochin, M. Birattari, N. Meuleau, y M. Dorigo, búsqueda basada en modelos para la optimización combinatoria: una revisión crítica , Anales de la Investigación de Operaciones, vol. 131, págs. 373-395, 2004.
  9. A. Ajith; G. Crina; R. Vitorino (eds), Stigmergic Optimization , Studies in Computational Intelligence, volumen 31, 299 páginas, 2006. ( ISBN  978-3-540-34689-0 ) .
  10. KM Sim, WH Sun, Optimización de colonia de hormigas para enrutamiento y equilibrio de carga: encuesta y nuevas direcciones , IEEE Transactions on Systems, Man and Cybernetics, Parte A, volumen 33, número 5, páginas 560-572, 2003.
  11. P.-P. Grassé, Reconstrucción del nido y coordinación interindividual en Belicositermes natalensis y Cubitermes sp. The Stigmergy Theory: Un intento de interpretar el comportamiento de las termitas constructoras , Social Insects, número 6, p.  41-80 , 1959.
  12. JL Denebourg, JM Pasteels y JC Verhaeghe, Comportamiento probabilístico en hormigas: ¿una estrategia de errores? , Revista de Biología Teórica, Número 105, 1983.
  13. F. Moyson B. Manderick, El comportamiento colectivo de las hormigas: un ejemplo de autoorganización en paralelo masivo , Actas del Simposio de primavera de AAAI sobre modelos paralelos de inteligencia, Stanford, California, 1988.
  14. M. Ebling, M. Di Loreto, M. Presley, F. Wieland y D. Jefferson, Un modelo de búsqueda de hormigas implementado en el sistema operativo Time Warp , Actas de la multiconferencia SCS sobre simulación distribuida, 1989.
  15. Dorigo M., V. Maniezzo y A. Colorni, Comentarios positivos como estrategia de búsqueda , informe técnico número 91-016, Dip. Elettronica, Politecnico di Milano, Italia, 1991.
  16. G. Bilchev e IC Parmee, La metáfora de la colonia de hormigas para buscar espacios de diseño continuo , Actas del Taller de AISB sobre Computación Evolutiva. Terence C. Fogarty (eds), Evolutionary Computing Springer-Verlag, páginas 25-39, abril de 1995.
  17. R. Schoonderwoerd, O. Holland, J. y L. Bruten Rothkrantz, Equilibrio de carga basado en hormigas en redes de telecomunicaciones , Adaptive Behavior, Volumen 5, Número 2, páginas 169-207, 1997.
  18. A. Martinoli, M. Yamamoto y F. Mondada, Sobre el modelado de experimentos colectivos bioinspirados con robots reales , Cuarta Conferencia Europea sobre Vida Artificial ECAL-97, Brighton, Reino Unido, julio de 1997.
  19. M. Dorigo, ANTS '98, From Ant Colonies to Artificial Ants: First International Workshop on Ant Colony Optimization, ANTS 98 , Bruselas, Bélgica, octubre de 1998.
  20. T. Stützle, Estrategias de paralelización para la optimización de colonias de hormigas , Actas de PPSN-V, Quinta Conferencia Internacional sobre Resolución de Problemas Paralelos desde la Naturaleza, Springer-Verlag, volumen 1498, páginas 722-731, 1998.
  21. É. Bonabeau, M. Dorigo y G. Theraulaz, Swarm intelligence , Oxford University Press, 1999.
  22. M. Dorigo, G. Di Caro y T. Stützle, número especial sobre “Ant Algorithms” , Future Generation Computer Systems, volumen 16, número 8, 2000.
  23. WJ Gutjahr, A Ant System basado en gráficos y su convergencia , Future Generation Computer Systems, volumen 16, páginas 873-888, 2000.
  24. S. Iredi, D. Merkle y M. Middendorf, Bi-Criterion Optimization with Multi Colony Ant Algorithms , Evolutionary Multi-Criterion Optimization, First International Conference (EMO'01), Zurich, Springer Verlag, páginas 359-372, 2001.
  25. L. Bianchi, LM Gambardella y M.Dorigo, Un enfoque de optimización de colonias de hormigas para el problema del viajante viajante probabilístico , PPSN-VII, Séptima Conferencia Internacional sobre Resolución de Problemas Paralelos desde la Naturaleza, Lecture Notes in Computer Science, Springer Verlag, Berlín, Alemania , 2002.
  26. Balaji Prabhakar , Katherine N. Dektar y Deborah M. Gordon , “  La regulación de la actividad de forrajeo en colonias de hormigas sin información espacial  ”, PLOS Comput Biol , vol.  8,23 de agosto de 2012, e1002670 ( ISSN  1553-7358 , PMID  22927811 , PMCID  3426560 , DOI  10.1371 / journal.pcbi.1002670 , leído en línea , consultado el 13 de mayo de 2016 )

Ver también

Artículos relacionados

enlaces externos