• Aucun résultat trouvé

Chapitre 2. De la fourmi réelle à la fourmi artificielle

2.3 Les fourmis artificielles

25 fourmis modélisées sont alors des agents réactifs et on parle alors d’intelligence en essaim [Bonabeau, 1999] [Bonabeau, 2000].

La fourmi artificielle peut prendre la forme d’un processus informatique, qui possède donc ses propres zones de mémoire et ses instructions de fonctionnement. L’intérêt de la modélisation et la simulation informatique pour le biologiste est évident : cela permet de tester des modèles facilement (par rapport à l’effort expérimental de manipuler de vraies fourmis), de chercher une explication à des phénomènes émergents ou de tester la capacité de prédiction d’un modèle.

Quand il s’agit de résoudre des problématiques « humaines », la fourmi artificielle, va perdre encore de ce qui la rattachait à son modèle naturel. Si cela suffit de considérer comme un point dans un espace de recherche auquel on s’intéresse, on s’abstiendra bien de lui fournir des pattes, un thorax, des antennes, etc. Le lien entre le point et la vraie fourmi ne sera alors peut être plus qu’une lointaine similitude dans la stratégie de déplacement du point et le modèle de comportement de la fourmi dans son environnement naturel [Lenoir, 2009].

Enfin, après un constat de la suprématie des fourmis dans les environnements naturels nous pourrions tenter la même analyse dans le domaine des fourmis artificielles. C’est ainsi que, si l’on observe le nombre d’articles publiés dans des journaux ou conférences scientifiques dans les domaines de l’informatique, la robotique ou des mathématiques appliquées, on constate, même avec un relevé incomplet, une augmentation significative du nombre abordant la notion de fourmi artificielle (fig. 2.7).

2.3.1 Les algorithmes de colonies de fourmis :

Les algorithmes de colonies de fourmis sont considérés comme des métaheuristiques à population, où chaque solution est représentée par une fourmi se déplaçant sur l’espace de recherche. Les fourmis marquent les meilleures solutions par des phéromones, et tiennent compte des marquages précédents pour optimiser leurs recherches. [Bonabeau, 1999] [Dreo, 2003] [Dorigo, 2006]

On peut les considérer comme des algorithmes multi-agents probabilistes, utilisant une distribution de probabilité implicite pour effectuer la transition entre

Années

Fig. 2.7. Evolution du nombre de publications repérées qui abordent le thème des fourmis artificielles

Chapitre 2 De la fourmi réelle à la fourmi artificielle

26 chaque itération. Dans leurs versions adaptées à des problèmes combinatoires, ils utilisent une construction itérative des solutions.

D'après certains auteurs, ce qui différencierait les algorithmes de colonies de fourmis d'autres métaheuristiques proches (telles que les algorithmes à estimation de distribution ou l'optimisation par essaim particulaire) serait justement son aspect constructif. En effet, dans les problèmes combinatoires, il est possible que la meilleure solution finisse par être trouvée, alors même qu'aucune fourmi ne l'aura éprouvée effectivement.

Le comportement collectif des insectes sociaux reste une source d'inspiration pour les chercheurs. La grande diversité d'algorithmes (pour l'optimisation ou non) se réclamant de l'auto-organisation dans les systèmes biologiques a donné lieu au concept d'« intelligence en essaim », qui est un cadre très général, dans lequel s'inscrivent les algorithmes de colonies de fourmis.

L'algorithme de colonies de fourmis a été à l'origine surtout utilisé pour produire des solutions quasi-optimales au problème du voyageur de commerce, puis, plus généralement, aux problèmes d'optimisation combinatoire. On observe que depuis ses débuts son emploi s'est étendu à plusieurs domaines, depuis l'optimisation continue jusqu'à la classification ou encore le traitement d'image.

2.3.1.1 Historique des algorithmes de colonies de fourmis :

1959, Pierre-Paul Grassé invente la théorie de la stigmergie pour expliquer le comportement de construction du nid chez des termites ;

1983, Deneubourg et ses collègues étudient le comportement collectif des fourmis ;

1988, Moyson et Manderick présentent un article sur l’auto-organisation chez les fourmis ;

1989, travaux de Goss, Aron, Deneubourg et Pasteels, sur le comportement collectifs des fourmis Argentines, qui donneront l’idée des algorithmes de colonies de fourmis ;

1989, implémentation d’un modèle de comportement de recherche de nourriture par Ebling et ses collègues ;

1991, M. Dorigo propose l’Ant System dans sa thèse de doctorat (qui ne sera publiée qu’en 1992). Il fait paraître, avec V. Maniezzo et A. Colorni, un rapport technique, qui sera publié cinq ans plus tard ;

1991, Une des premières œuvres réalisées par Deneubourg en 1991 était liée aux agents ressemblant à des fourmis qui sont autorisés à déplacer des objets au hasard sur une grille à deux dimensions grille pour objectif de partitionnement ;

1994, Lumer et Faieta propose un algorithme de classification non supervisée appliquée à l'analyse des données et en 1995, ils ont appliqué leur algorithme pour l'analyse exploratoire de base de données comme une alternative à la caractéristique des classes ;

1995, Bilchev et Parmee publient la première tentative d'adaptation aux problèmes continus ;

1996, publication de l'article sur l’Ant System ;

1996, Stützle et Hoos inventent le MAX-MIN Ant Sytem ;

1997, Dorigo et Gambardella publient le Ant Colony System ;

27

1997, Schoonderwoerd et ses collègues concoivent la première application aux réseaux de télécommunications ;

1997, Martinoli et ses collègues s’inspirent des algorithmes de colonies de fourmis pour le contrôle de robots ;

1998, Dorigo lance la première conférence dédiée aux algorithmes de colonies de fourmis ;

1998, Stützle propose les premières implémentations parallèles ;

1999, Bonabeau et ses collègues font paraître un livre traitant principalement des fourmis artificielles ;

1999, premières applications pour le routage de véhicule, l’assignement quadratique, le sac à dos multi-dimensionnel ;

1999, L'algorithme Antclass est une partie de la thèse de Nicolas Monmarché en 2000. Il reprend les idées des algorithmes de classification à base de fourmis et ajoute des contraintes pour améliorer les performances.

2000, numéro spécial d’une revue scientifique sur les algorithmes de colonies de fourmis ;

2000, premières applications à l’ordonnancement, l’ordonnancement séquentiel, la satisfaction de contraintes ;

2000, Gutjahr donne la première preuve de convergence pour un algorithme de colonies de fourmis ;

2001, première utilisation des algorithmes de colonies de fourmis par des entreprises (Eurobios et AntOptima) ;

2001, Iredi et ses collègues publient le premier algorithme multi-objectif ;

2002, Tsai, Wu et Tasi Crée (ACODF) par la modification de (ACO) par l’ajout du concept recuit simulé (simulated annealing) ;

2002, premières applications à la conception d’emploi du temps, les réseaux bayésiens ;

2002, Bianchi et ses collègues proposent le premier algorithme pour problème stochastique ;

2002, L'algorithme ACLUSTER de Ramos et Merelo, est une évolution des modèles de Lumer et Faieta [Lumer, 1994] et de Deneubourg [Deneubourg, 1991].

Il comprend deux principaux changements inspirés de la biologie : l'ajout des phéromones qui permet à l'algorithme de base de Lumer et Faieta d'accélerer la convergence (de la même manière que l'ajout de mémoire aux fourmis), et la mise en place d'un seuillage pour la prise et le dépôt d'objets par rapport à l'intensité d'objets dans le voisinage. ACLUSTER est employé pour classifier des images et du texte.

2004, Pun, Chu, Roddik et Su, (CACO) pour la classification des données ;

2004, Zlochin et Dorigo montrent que certains algorithmes sont équivalents à la descente stochastique de gradient, l'entropie croisée et les algorithmes à estimation de distribution ;

• 2005, premières applications au repliement de protéines. [Scho, 2004]

• 2006, Ouadfel Salima. Contributions à la Segmentation d’images basées sur la résolution collective par colonies de fourmis artificielles [Ouadfel, 2006].

2.3.2 Similarités et différences avec les fourmis réelles :

Les fourmis virtuelles (artificielles) ont une double nature. D’une part, elles modélisent les comportements abstraits de fourmis réelles, et d’autre part, elles peuvent

Chapitre 2 De la fourmi réelle à la fourmi artificielle

28 être enrichies par des capacités que ne possèdent pas les fourmis réelles, afin de les rendre plus efficaces que ces dernières. Nous allons maintenant synthétiser ces ressemblances et différences. [Costanzo, 2006]

2.3.2.1 Points communs :

Colonie d’individus coopérants : Comme pour les fourmis réelles, une colonie virtuelle est un ensemble d’entités non-synchronisés, qui se rassemblent ensemble pour trouver une "bonne" solution au problème considéré. Chaque groupe d’individus doit pouvoir trouver une solution même si elle est mauvaise.

Pistes de phéromones : Ces entités communiquent par le mécanisme des pistes de phéromone. Cette forme de communication joue un grand rôle dans le comportement des fourmis : son rôle principal est de changer la manière dont l’environnement est perçu par les fourmis, en fonction de l’historique laissé par ces phéromones.

Évaporation des phéromones : La méta-heuristique ACO comprend aussi la possibilité d’évaporation des phéromones. Ce mécanisme permet d’oublier lentement ce qui s’est passé avant. C’est ainsi qu’elle peut diriger sa recherche vers de nouvelles directions, sans être trop contrainte par ses anciennes décisions.

Recherche du plus petit chemin : Les fourmis réelles et virtuelles partagent un but commun : recherche du plus court chemin reliant un point de départ (le nid) à des sites de destination (la nourriture).

Déplacement locaux : Les vraies fourmis ne sautent pas des cases, tout comme les fourmis virtuelles. Elles se contentent de se déplacer entre sites adjacents du terrain.

Choix aléatoire lors des transitions : Lorsqu’elles sont sur un site, les fourmis réelles et virtuelles doivent décider sur quel site adjacent se déplacer. Cette prise de décision se fait au hasard et dépend de l’information locale déposée sur le site courant. Elle doit tenir compte des pistes de phéromones, maisaussi du contexte de départ (ce qui revient à prendre en considération les données du problème d’optimisation combinatoire pour une fourmi virtuelle).

2.3.2.2 Différences :

Les fourmis virtuelles possèdent certaines caractéristiques que ne possèdent pas les fourmis réelles :

Elles vivent dans un monde non-continu : Leurs déplacements consistent en des transitions d’état.

Mémoire (état interne) de la fourmi : Les fourmis réelles ont une mémoire très limitée. Tandis que nos fourmis virtuelles mémorisent l’historique de leurs actions.

Elles peuvent aussi retenir des données supplémentaires sur leurs performances.

Nature des phéromones déposées : Les fourmis réelles déposent une information physique sur la piste qu’elles parcourent, là où les fourmis virtuelles modifier des informations dans les variables d’états associées au problème. Ainsi, l’évaporation des phéromones est une simple décrémentation de la valeur des variables d’états à chaque itération.

Qualité de la solution : Les fourmis virtuelles déposent une quantité de phéromone proportionnelle à la qualité de la solution qu’elles ont découverte.

Retard dans le dépôt de phéromone : Les fourmis virtuelles peuvent mettre à jour les pistes de phéromones de façon non immédiate : souvent elles attendent d’avoir

29 terminé la construction de leur solution. Ce choix dépend du problème considéré bien évidemment.

Capacités supplémentaires : Les fourmis virtuelles peuvent être pourvues de capacités artificielles afin d’améliorer les performances du système. Ces possibilités sont liées au problème et peuvent être :

1. l’anticipation : la fourmi étudie les états suivants pour faire son choix et non seulement l’état local.

2. le retour en arrière : une fourmi peut revenir à un état déjà parcouru car la décision qu’elle avait prise à cet état a été mauvaise.

2.3.3 Avantages et inconvénients des fourmis artificielles:

Avantage :

o Très grande adaptabilité.

o Parfait pour les problèmes basés sur des graphes.

Inconvénients :

o Un état bloquant peut arriver.

o Temps d'exécution parfois long.

o Ne s'applique pas à tous type de problèmes. [Monm, 2000a]