Les algorithmes de colonies de fourmis sont des algorithmes inspirés du comportement des fourmis et qui constituent une famille de métaheuristiques d’optimisation.
Initialement proposé par Marco Dorigo et al. dans les années 1990, pour la recherche (La recherche scientifique désigne en premier lieu l’ensemble des actions entreprises en vue...) de chemins optimaux dans un graphe (Le mot graphe possède plusieurs significations. Il est notamment employé :), le premier algorithme s’inspire du comportement des fourmis recherchant un chemin entre leur colonie et une source de nourriture. L’idée originale s'est depuis diversifiée pour résoudre une classe plus large de problèmes et plusieurs algorithmes ont vu le jour (Le jour ou la journée est l'intervalle qui sépare le lever du coucher du Soleil ; c'est la...), s’inspirant de divers aspects du comportement des fourmis.
En anglais, le terme consacré à la principale classe d’algorithme est « Ant Colony Optimization » (abrégé ACO). Les spécialistes réservent ce terme à un type particulier d'algorithme. Il existe cependant plusieurs familles de méthodes s'inspirant du comportement des fourmis. En français, ces différentes approches sont regroupées sous les termes : algorithmes de colonies de fourmis, optimisation par colonies de fourmis, fourmis artificielles, ou diverses combinaisons de ces variantes.
L’idée originale provient de l’observation de l’exploitation des ressources alimentaires chez les fourmis. En effet, celles-ci, bien qu’ayant individuellement des capacités cognitives limitées, sont capables collectivement de trouver le chemin le plus court entre une source de nourriture et leur nid (Le nid désigne généralement la structure construite par les oiseaux pour contenir...).
Des biologistes ont ainsi observé, dans une série d’expériences menées à partir de 1989, qu’une colonie de fourmis ayant le choix entre deux chemins d’inégale longueur (La longueur d’un objet est la distance entre ses deux extrémités les plus...) menant à une source de nourriture avait tendance à utiliser le chemin le plus court.
Un modèle expliquant ce comportement est le suivant :
Les fourmis utilisent l’environnement comme support de communication : elles échangent indirectement de l’information en déposant des phéromones, le tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou...) décrivant l’état de leur « travail ». L’information échangée a une portée locale, seule une fourmi située à l’endroit où les phéromones ont été déposées y a accès. Ce système porte le nom de « stigmergie », et se retrouve chez plusieurs animaux sociaux (il a notamment été étudié dans le cas de la construction de piliers dans les nids de termites).
Le mécanisme permettant de résoudre un problème trop complexe pour être abordé par des fourmis seules est un bon exemple de système auto-organisé. Ce système repose sur des rétroactions positives (le dépôt de phéromone attire d’autres fourmis qui vont la renforcer à leur tour) et négatives (la dissipation de la piste par évaporation (L'évaporation est un passage progressif de l'état liquide à l'état gazeux. Elle est différente...) empêche le système de s'emballer). Théoriquement, si la quantité (La quantité est un terme générique de la métrologie (compte, montant) ; un scalaire,...) de phéromone restait identique au cours du temps sur toutes les branches, aucune piste ne serait choisie. Or, du fait des rétroactions, une faible variation sur une branche va être amplifiée et permettre alors le choix d’une branche. L'algorithme va permettre de passer (Le genre Passer a été créé par le zoologiste français Mathurin Jacques...) d'un état instable où aucune branche n'est plus marquée qu'une autre, vers un état stable où l'itinéraire est formé des « meilleures » branches.