Swarm Intelligence 1er janvier 2009 By : abdou OUGHLIS CHAPITRE1 1. Introduction Les techniques d’optimisation inspirées de l'intelligence en essaim sont devenues de plus en plus populaire au cours de la dernière décennie. Ils sont caractérisés par un mode de fonctionnement décentralisé qui imite le comportement des essaims d'insectes sociaux, les troupeaux d'oiseaux, les écoles de poissons. L'avantage de ces approches par rapport aux techniques traditionnelles est leurs robustesses et flexibilités. Ces propriétés en font le succès de l'intelligence en essaim paradigme pour la conception des algorithmes de plus en plus face à des problèmes complexes. Dans ce chapitre, nous nous concentrons sur deux des exemples les plus réussis de l'optimisation des techniques inspirées de l'intelligence en essaim: Optimisation en essaim de la particule et Optimisation de la colonie de fourmis. Swarm Intelligence (SI), qui est une discipline de l’intelligence artificielle (AI), est la conception intelligente de systèmes multi-agents en prenant l'inspiration de comportement collectif des insectes sociaux comme les fourmis, les termites, les abeilles et les guêpes, ainsi que d'autres animaux tels que les sociétés des troupeaux d'oiseaux ou les écoles de poissons. Les colonies d'insectes sociaux ont fasciné les chercheurs depuis de nombreuses années, et les mécanismes qui régissent leur comportement sont restés inconnu pendant longtemps. Même si les membres de ces colonies ne sont pas des individus sophistiqués, ils sont en mesure de réaliser des tâches complexes en matière de coopération. Ce comportement Coordonné ressort des actions relativement simples ou interactions entre les membres individuels des colonies. De nombreux aspects des activités collectives des insectes sociaux sont auto-organisés en travaillant sans un centre de contrôle. Par exemple, les fourmis apportent les morceaux de feuilles à leur nid. Les fourmis ouvrières construisent des chaînes de leur corps afin de franchir les écarts entre deux feuilles. Les bords des deux feuilles sont ensuite rassemblés et successivement connectés par des fils de soie qui est émis par une larve mûre tenue par un ouvrier. Un autre exemple concerne le recrutement d'autres membres de la colonie pour la recherche de proies (voir, par exemple, Fig. 1).
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
By : abdou OUGHLIS
CHAPITRE1
1. Introduction Les techniques d’optimisation inspirées de l'intelligence en essaim sont
devenues de plus en plus populaire au cours de la dernière décennie. Ils sont
caractérisés par un mode de fonctionnement décentralisé qui imite le
comportement des essaims d'insectes sociaux, les troupeaux d'oiseaux, les
écoles de poissons. L'avantage de ces approches par rapport aux
techniques traditionnelles est leurs robustesses et flexibilités. Ces propriétés en
font le succès de l'intelligence en essaim paradigme pour la conception des
algorithmes de plus en plus face à des problèmes complexes. Dans ce
chapitre, nous nous concentrons sur deux des exemples les plus réussis de
l'optimisation des techniques inspirées de l'intelligence en essaim:
Optimisation en essaim de la particule et Optimisation de la colonie de
fourmis.
Swarm Intelligence (SI), qui est une discipline de l’intelligence artificielle (AI),
est la conception intelligente de systèmes multi-agents en prenant l'inspiration
de comportement collectif des insectes sociaux comme les fourmis, les
termites, les abeilles et les guêpes, ainsi que d'autres animaux tels que les
sociétés des troupeaux d'oiseaux ou les écoles de poissons. Les colonies
d'insectes sociaux ont fasciné les chercheurs depuis de nombreuses années,
et les mécanismes qui régissent leur comportement sont restés inconnu
pendant longtemps. Même si les membres de ces colonies ne sont pas des
individus sophistiqués, ils sont en mesure de réaliser des tâches complexes en
matière de coopération.
Ce comportement Coordonné ressort des actions relativement simples ou
interactions entre les membres individuels des colonies. De nombreux aspects
des activités collectives des insectes sociaux sont auto-organisés en
travaillant sans un centre de contrôle. Par exemple, les fourmis apportent les
morceaux de feuilles à leur nid. Les fourmis ouvrières construisent des chaînes
de leur corps afin de franchir les écarts entre deux feuilles. Les bords des deux
feuilles sont ensuite rassemblés et successivement connectés par des fils de
soie qui est émis par une larve mûre tenue par un ouvrier. Un autre exemple
concerne le recrutement d'autres membres de la colonie pour la recherche
de proies (voir, par exemple, Fig. 1).
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
Fig. 1. Coopération des fourmis pour rapporter une lourde proie.
D'autres exemples comprennent les capacités de termites et les guêpes
sophistiqués pour construire des nids, ou la capacité des abeilles et des
fourmis pour s'orienter dans leur environnement. Le terme « intelligence en
essaim » a été utilisé pour la première fois par Beni dans le cadre de systèmes
robotiques cellulaires où de simples agents s’organisent par le biais
d'interaction avec le plus proche voisin. Pendant ce temps, le terme
intelligence en essaim est utilisé pour un champ de recherche beaucoup
plus large.
Les méthodes de l'intelligence en essaim ont été très fructueuses dans le
domaine de l'optimisation, qui est d'une grande importance pour l'industrie et
la science. Ce chapitre vise à donner une introduction à l'intelligence en
essaim et des méthodes d'optimisation.
Les Problèmes d'optimisation sont de grande importance tant pour le monde
industriel ainsi que pour le monde scientifique. Exemples de problèmes
pratiques d'optimisation : les horaires de train, optimisation de la forme, la
conception de réseaux de télécommunications, et les problèmes de biologie
computationnelle.
La communauté des chercheurs a simplifié beaucoup de ces problèmes afin
d'obtenir des cas de tests scientifiques, tels que le célèbre problème des
voyageurs de commerces (TSP). Le TSP modélise la situation d'un voyageur de
commerce qui nécessite de passer à travers un certain nombre de villes.
L'objectif du voyageur de commerce est de traverser ces villes (la visite de
chaque ville exactement une fois), de sorte que le total des voyages à
distance est minime. Un autre exemple est le problème du repliement des
protéines, qui est l'un des problèmes les plus difficiles en biologie
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
computationnelle, de la biologie moléculaire, biochimie et physique. Il
consiste à trouver la forme ou la conformation fonctionnelle d'une protéine
dans deux ou trois dimensions, par exemple, dans le cadre simplifié de
modèle lattice tels que le modèle d'hydrophobie polaires.
2. Comportement biologique collectif
Le comportement en essaim peut être vu dans les troupeaux d'oiseaux,
écoles de poissons, ainsi que dans les insectes comme les moustiques et les
moucherons. De nombreux groupes d'animaux tels que les écoles de poissons
et les troupeaux d'oiseaux exposent clairement un ordre structurel, avec un
comportement d’organismes intégrés de façon qu’elles puissent changer de
forme et de direction, ils semblent se déplacer comme une seule entité
cohérente. Les grands principes du comportement collectif, tel que présenté
dans la Figure 2 sont les suivants:
• Homogénéité: chaque oiseau dans la volée a le même modèle de
comportement. Le troupeau se déplace sans chef de file, même si
temporairement des dirigeants semblent apparaître.
• Région: le mouvement de chaque oiseau est seulement influencé par ses
plus proches camarades de troupeau. La vision est considérée comme le
sens le plus important pour l’organisation du troupeau.
• Actions d’éviter les collisions : éviter la collision avec les compagnons à
proximité.
• Vélocité d'équivalence: essayer de trouver des correspondances de
Vélocité avec les compagnons à proximité.
• Centrage du troupeau: tenter de rester près du troupeau le plus proche.
Fig. 2.1 Les grands principes du comportement collectif.
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
Les individus tentent de maintenir une distance minimale entre eux et les
autres à tout moment. Cette règle a la priorité la plus élevée et correspond à
un comportement souvent observé chez les animaux dans la nature. Si ces
individus ne performent pas une manœuvre d'éviter les collisions, ils ont
tendance à être attirés vers d'autres individus (pour éviter d'être isolé), et
s’alignent avec les voisins.
COUZIN a identifié quatre comportements dynamiques collectifs comme
illustré dans la figure 2.1:
• essaim: une totale cohésion, mais un faible niveau de polarisation
(alignement parallèle) entre les membres
• Tore: les individus sont en rotation perpétuelle autour d'une base vide
(broyage). Le sens de rotation est aléatoire.
• Dynamique parallèle de groupe: les individus sont polarisés et passes
comme un groupe cohérent, mais ils peuvent circuler dans l'ensemble du
groupe dont la densité et la forme peut fluctuer.
• Groupe hautement harmonisé: beaucoup plus statique en termes
d'échange de positions au sein du groupe que le groupe parallèle
dynamique et la variation de la densité et la forme sont minimales.
A un haut niveau, un essaim peut être considéré comme un groupe d'agents
qui coopèrent en vue de réaliser certains comportement et objectifs
déterminés (voir Figure 2.3). Cette intelligence collective semble se dégager
de ce qui est souvent des groupes larges qui sont relativement des simples
agents.
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
Fig. 2.2. Plusieurs modèles de comportement collectif: (a) essaim (b) tore (c)
dynamique de groupe parallèle et (d) des groupes parallèles.
Ces agents utilisent des règles simples pour régir leurs actions et par les
interactions de l'ensemble du groupe, l'essaim atteint ses objectifs.
Un type d'auto-organisation ressort d’une collection d’actions du groupe. Un
agent autonome est un sous-système qui interagit avec son environnement,
qui contient probablement d'autres agents, mais agit de façon relativement
indépendante de tous les autres agents. L'agent autonome ne suit pas les
commandes à partir d'un chef de file, ou de certain plan global. Par
exemple, un oiseau pour participer à un troupeau, il règle seulement ses
mouvements pour assurer la coordination avec les mouvements de son
troupeau, généralement ses voisins qui sont proches de lui. Un oiseau dans un
troupeau tente simplement de rester proche de ses voisins, mais en évitant les
collisions avec eux. Chaque oiseau ne prend pas les commandes d’un chef
d'oiseaux car ce dernier n'existe pas. Le comportement en essaim contribue
à tirer les oiseaux de plusieurs choses, y compris la protection contre les
prédateurs (surtout pour les oiseaux au milieu du troupeau), et la recherche
de nourriture.
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
Fig. 2.3. Le système simple d'un essaim.
2.1 Les essaims et la Vie Artificielle
Depuis 1990, plusieurs comportement collectif (comme les insectes sociaux,
les troupeaux d’oiseaux) inspiré des algorithmes ont été proposés. Les
domaines d'application de ces algorithmes se référer bien à l'étude des
problèmes d'optimisation comme les problèmes difficiles tel que (les
problèmes de voyages, les problèmes Affectation quadratique, problèmes
graphiques, réseau de routage, le regroupement et l’extraction des données,
la planification d'emploi… etc.)
(PSO) et Optimisation de la colonie des fourmis (ACO) sont actuellement les
plus populaires des algorithmes dans le domaine de l'intelligence en essaim.
2.2 Optimisation de la colonie de fourmis (ACO)
2.2.1 Introduction
Les recherches sur les comportements collectifs des insectes sociaux fournissent aux
informaticiens des méthodes puissantes pour la conception d'algorithmes
d'optimisation. Les chercheurs informaticiens ont pu transformer des modèles du
comportement collectif des insectes sociaux en méthodes utiles pour l'optimisation
et le contrôle. Un nouveau domaine de recherche a vu le jour qui a pour objet de
transformer la connaissance que les éthologistes en ont sur les capacités collectives
de résolution de problèmes chez les insectes sociaux en techniques artificielles de
résolution de problèmes : c'est l'intelligence en essaim. Parmi les techniques de
l'intelligence en essaim, certaines sont arrivées à maturité. Les algorithmes de
contrôle et d'optimisation inspirés de modèles de recherche collective de nourriture
chez les fourmis en particulier, ont connu un succès inattendu et portent le nom
"d'optimisation par colonie de fourmis".
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
Dans ce travail de recherche nous allons présenter une vision de l’état de l’art des
algorithmes de colonies de fourmis. Nous commençons d’abord par expliquer
l’origine biologique de ces algorithmes. Nous présentons en suite le cadre ACO
(optimisation par colonie de fourmis), Puis les diverses variantes algorithmiques sont
présentées au travers de leur application au problème du voyageur de commerce.
L’avant dernière section présenter quelque applications des algorithmes
d’optimisation par colonies de fourmis, et décrit le cas des problèmes dynamiques
de routage dans les réseaux, puis montre le principe général de l’algorithme AntNet
: la solution ACO pour ce type de problèmes. Enfin la dernière section, nous
présentons d’autres algorithmes, autre le cadre ACO, inspirés des comportements
collectif des fourmis.
2.2.2 Inspiration biologique Les algorithmes de colonies de fourmis sont nés à la suite d’une constatation
faite par des biologistes : les insectes sociaux en général, et les fourmis en
particulier, sont capables de résoudre collectivement des problèmes
complexes, comme trouver le chemin le plus court entre une source de
nourriture et leur nid, bien que celles-ci ont individuellement des capacités
cognitives limitées.
Dans cette section, on présente un certain nombre d'observations
faites à travers des expériences avec de vraies fourmis et termites.
2.2.2.1 La théorie de stigmergie
Un des premiers chercheurs étudiant le comportement social des
insectes était l'entomologiste français Pierre-Paul Grassé. Entre les années 40
et 50, il observait le comportement des termites, en particulier chez les
espèces Bellicositermes natalensis et les Cubitermes. Il a découvert [Grassé,
44] qu’en construisant une termitière, ces insectes commencent leur activité
par déposer les boulettes de boue mais de façon très aléatoire, et sans
aucune coordination. Cependant, une fois ces boulettes ramassées
atteignent une certaine densité dans un espace limité, elles deviennent un
stimulus significatif [Grassé, 46] qui motivera de plus en plus de termites à
déposer ce matériau de sorte que les piliers et les voûtes, et par la suite le nid
entier, soient construits. Grassé a employé le terme stigmergie [Grassé, 59]
pour décrire ce type particulier de communication indirecte dans lequel “La
coordination des tâches et la régulation des constructions ne dépendent pas
directement des ouvriers, mais des constructions elle-même. L'ouvrier ne
dirige pas son travail, il est guidé par lui”1. Les deux caractéristiques
principales [Dorigo, 06] de stigmergie qui le différencient d'autres formes de
communication sont les suivantes.
La stigmergie est une forme indirecte et non symbolique de
communication, passant par le biais de modification de l’environnement,
ainsi on peut utiliser le terme « interaction sociale indirecte » [Dreo, 03] pour
décrire le même phénomène.
L’information stigmergique a une portée locale, seuls les insectes
visitant l’endroit où elle a été communiquée (ou son voisinage immédiat)
peuvent en avoir accès.
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
Des exemples de stigmergie peuvent être observés dans les colonies de
fourmis. Chez certaines espèces de fourmis, pour chercher la nourriture, au
départ un grand nombre de fourmis se déplacent à l'extérieur du nid, plus ou
moins au hasard. Tout au long de leur chemin, elles déposent une légère
trace d’une substance chimique appelée la phéromone. Si l'une d'entre elles
découvre une ressource quelconque, elle retourne au nid en déposant une
trace beaucoup plus intense (cette intensité dépend éventuellement de la
richesse de la ressource) [Rennard, 03]. D'autres fourmis perçoivent la
présence de phéromone et ont tendance à suivre des chemins où la
concentration de phéromone est plus haute. Par ce mécanisme, les fourmis
sont capables de transporter la nourriture à leur nid d'une manière
remarquablement efficace. [Dorigo, 06]
Fig. 1- Des fourmis suivent une piste de phéromone [Dreo, 03]
2.2.2.2 Les expériences du pont à double branche Deneubourg et Goss [Goss, 90][Goss, 89] ont observé qu’une colonie de
fourmis1 ayant le choix entre deux chemins d’inégale longueur menant à une
source de nourriture avait tendance à utiliser le chemin le plus court. Ils ont
aboutit à cette observation en ont effectuant une série d'expériences dans
lesquelles ils ont changé le rapport entre la longueur des deux branches d’un
pont qui relie un nid de fourmis avec une source de nourriture. Ce résultat
peut être expliqué comme suit [Dorigo, 02].
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
Fig. 2 - Expérience du pont à double branche [Dorigo, 99]. (a) Les fourmis commence à
explorer le double pont(b) Par la suite la plupart des fourmis choisissent le plus court chemin.
(c) Distribution du pourcentage des fourmis qui ont choisi le chemin plus court. D’après Goss
et autres.
Au début de l’expérience, il n'y a aucune trace de phéromone sur les deux
branches. Par conséquent, les fourmis n'ont pas une préférence et elles
choisissent avec la même probabilité l'unes des de deux branches.
Cependant, parce qu'une branche est plus courte que l'autre, les fourmis
choisissant la branche courte sont les premières qui atteindre la nourriture et
par la suite commencent leur voyage de nouveau vert le nid. Et par
conséquent la plus courte branche, dans le même temps, sera parcourue par
plus de fourmis que la longue piste, donc la phéromone commence à
s'accumuler plus rapidement sur la branche courte qui sera par la suite de
plus en plus attractive et donc choisie par la grande majorité des fourmis.
Tandis que la phéromone dans la longue branche commence à s’évaporer.
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
Fig. 3 - Comment les vraies fourmis trouvent le chemin le plus court [Dorigo, 97]. A) Les fourmis
arrivent à unpoint de décision. B) Quelques fourmis choisissent le chemin supérieur et d’autres
choisissent le chemin inférieurLe choix est aléatoire. C) Puisque les fourmis se déplacent
approximativement avec une vitesse constante, les fourmis qui choisissent la courte branche
(l’inferieure), atteignent le point de décision opposé plus rapidemenque celles qui choisissent
la longue branche (la supérieure). D) Le phéromone s'accumule à un taux plus élevésur le
chemin le plus court. (Le nombre de lignes représente approximativement la quantité de
phéromone déposée par des fourmis).
2.2.2.3 L’auto-organisation et la rétroaction
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 des rétroactions
négatives : la disparition de la piste par évaporation empêche le système de
s'emballer. Théoriquement, si la quantité 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.
2.2.3 Optimisation par colonie de fourmis
2.2.3.1 Définition et historique
Les fourmis résolvent des problèmes complexes par des mécanismes
assez simples à modéliser. Il est ainsi assez simple de simuler leur
comportement par des algorithmes. Dans cette section nous allons monter
comment les chercheur ont exploité le comportement des vraies fourmis
(décrit dans la section précédente), pour développer des algorithmes
d’optimisation.
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
Le modèle proposé par Deneubourg et ses collègues pour expliquer le
comportement des fourmis était la source principale d'inspiration [Dorigo, 06]
pour le développement des algorithmes de colonie de fourmi : Le double
pont a été substitué par un graphe et les trace de phéromone par des traces
de phéromone artificielle. Ces algorithmes constituent une famille de
métaheuristiques pour résoudre des problèmes d’optimisation difficile.
Cette méta-heuristique est relativement récente. Elle a été introduite pour la
première fois dans la thèse de doctorat du chercheur italien Marco Dorigo
[Dorigo, 92] pour résoudre le problème du Voyageur de commerce. Elle s’est
popularisée, puis a été l’objet d’améliorations dès 1995 et a été appliquée
avec succès à d’autres problèmes d’optimisation combinatoire dès 1994.
Fig4 Chronologie des algorithmes de colonies de fourmis
En anglais, le terme consacré à cette classe d’algorithme est « Ant
Colony Optimization » (ACO). 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.
La métaheuristique ACO peut être définie comme la combinaison
d’une méthode de construction et d’un mécanisme d’apprentissage fondé
sur la mémorisation d’informations et la communication de ces informations
au sein d’une population.
On peut donc voir ACO comme un processus :
❏ Distribué car basé sur une population de fourmis parcourant un graphe ;
❏ Utilisant une forme indirecte de mémorisation car chaque fourmi modifie des
pistes de phéromones sur le graphe selon son expérience passée, c’est-à-dire
selon la qualité des solutions trouvées (par exemple, la longueur du chemin
parcouru) ;
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
❏ Stochastique et constructif car chaque fourmi construit son chemin en
choisissant la prochaine étape selon une probabilité déterminée par des
pistes de phéromones laissées sur le graphe et représentant l’expérience
passée des fourmis.
Ainsi, la structure d’un algorithme ACO est la suivante :
1. Construire la solution ;
2. Mettre à jour les pistes de phéromones ;
3. Optionnel : exécuter des actions centralisées (daemon actions) telles que
le lancement d’une procédure d’amélioration locale des solutions trouvées
par les fourmis.
Dans ACO, les fourmis agissent indépendamment et de manière concurrente,
de plus en raison de la simplicité de chaque fourmi, les solutions ne peuvent
émerger que des interactions entre chacune d’entre elles.
Nous allons tout d’abord exposer les différences et les points communs entre
les fourmis virtuelles et les fourmis réelles [Dorigo, 07] [Dorigo, 96] [Dorigo, 02],
avant d’exposer les différents algorithmes.
2.2.3.2 Similarités et différences avec les fourmis réelles
Les fourmis virtuelles ont une double nature. D’une part, elles modélisent les
comportements abstraits de fourmis réelles, comme nous l’avons signalé
précédemment, et d’autre part, elles peuvent ê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 présenter une synthèse
[Costanzo, 06] de ces ressemblances et différences.
2.2.3.2.1 Points communs
Colonie d’individus coopérants. Comme pour les fourmis réelles, une
colonie virtuelle est composée d’une population des individus qui travaillent
ensemble pour réaliser un certain but. Une colonie est un ensemble d’entités
simples, indépendants, asynchrones qui se coopèrent pour trouver une
bonne solution au problème considéré.
Communication stigmergique. La communication stigmergique se
produit par l'intermédiaire de la 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).
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
Déplacement local. 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 au départ des transitions. Lorsqu’elles sont sur un site, les
fourmis réelles et virtuelles doivent décider sur quel site adjacent doivent se
déplacer. Au départ cette décision se fait au hasard car aucune information
local (la phéromone) n’est disponible.
2.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 virtuelles mémorisent
l’historique de leurs actions. Elles peuvent aussi retenir des données
supplémentaires sur leurs performances.
Les critères du choix d’un chemin à suivre. La probabilité pour qu’une
fourmi artificielle choisisse un chemin ne dépend généralement pas
uniquement des traces de phéromone, mais aussi de l’heuristique
dépendante du problème permettant d’évaluer localement la qualité du
chemin.
Le type de problème. Dans le cas de vraies fourmis, le problème est de
trouver la nourriture, alors que dans le cas des fourmis artificielles, il s’agit de
trouver une bonne solution à un problème donné d'optimisation.
Nature des phéromones déposées. Les fourmis réelles déposent une
substance physique de phéromone sur la piste qu’elles parcourent.
Cependant la phéromone virtuelle n’est qu’un ensemble de variables d’états
associées au problème. Ainsi, le dépôt/l’évaporation des phéromones est
une simple incrémentation/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. (Un comportement semblable est observé également dans
quelques vraies espèces de fourmis dans lesquelles la quantité de
phéromone déposée de est proportionnel à la qualité de la source de
nourriture trouvée [Beckers, 93]).
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 terminé la construction de leur solution. Ce choix
dépend du problème considéré bien évidemment.
Autre capacités. En plus des capacités citées ci-dessus, les fourmis
artificielles peuvent en avoir d’autres selon le problème traité. Voici des
exemples.
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
❏ L’anticipation : la fourmi étudie les états suivants pour faire son choix et non
seulement l’état local.
❏ 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.2.3.3 Algorithmes
Les algorithmes de colonies de fourmis sont pour l’essentiel appliqués à
des problèmes combinatoires, notamment du type du voyageur de
commerce. Cependant, devant le succès rencontré par ces algorithmes,
d’autres pistes commencent à être explorées : par exemple, l’utilisation de
ces algorithmes dans des problèmes continus [Dreo, 04] et/ou dynamiques
[DiCaro, 98], ou encore l’exploitation de ce type d’algorithmes dans un
cadre d’intelligence en essaim [Bonabeau, 99] et avec d’autres
métaheuristiques.
2.2.3.3.1 Ant system
Historique [Dorigo, 02] Ant system est le premier algorithme de colonies de fourmis proposé dans la
littérature. En fait, ant system à l'origine est l’ensemble de trois algorithmes
appelés ant-cycle, ant-density, et ant-quantity. Ces trois algorithmes ont été
proposés en 1992 dans la dissertation doctorale de Marco Dorigo [Dorigo, 92]
et d'abord apparus dans le rapport technique [Maniezzo, 91] [Dorigo, 91]
qu’il a été publié quelques années après dans « IEEE Transactions on Systems,
Man, and Cybernetics »[Dorigo, 96]. Une autre publication est [Colorni, 92].
Dans les algorithmes ant-density et ant-quantity les fourmis mettaient à jour la
phéromone directement après un déplacement d'une ville à une autre
adjacente, Tandis que dans le ant-cycle la phéromone est déposé à la fin de
la tournée, et sa quantité dépond de la qualité du chemin. Puisque ant-cycle
est plus performant que les deux autres variantes, plus tard on l’a nommé
simplement ant system.
Ant system et le problème du voyageur de commerce
Le problème du voyageur de commerce (TSP1) est un problème
d'optimisation combinatoire N-difficile qui a attiré une énorme quantité
d'effort de recherches. Le TSP est un problème très important également dans
le contexte de l'optimisation de colonie de fourmi parce que c'est le
problème auquel l'original ant system (AS) a été appliqué la première fois
[Dorigo, 91] [Dorigo, 92], 38], et plus tard celui-ci a été souvent employé
comme repère pour examiner de nouvelles idées et variantes algorithmiques.
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
Fig. 5 - L’algorithme « Ant System » optimisant le problème du voyageur de commerce : 1)
une fourmi choisi un trajet, et trace une piste de phéromone. 2) l’ensemble des fourmis
parcourt un certain nombre de trajets, chaque fourmi déposant une quantité de phéromone
proportionnelle à la qualité du parcours. 3) chaque arête du meilleur chemin est plus
renforcée que les autres. 4) l’évaporation fait disparaître les mauvaises solutions.
Le problème du voyageur de commerce (TSP) consiste à trouver le chemin le
plus court qui permet de visiter un certain nombre de villes une seule fois puis
de revenir à la ville de départ. La modélisation du TSP repose sur un graphe G
= (N, A), où N représente un ensemble de noeuds (les villes) et A représente
l’ensemble des arcs connectant les noeuds. A chaque arc (i, j) est associé un
poids dij égal à la distance entre les villes i et j.
Dans l’algorithme du Ant System (AS), à chaque itération1, chaque
fourmi parcourt le graphe et construit un trajet complet de n étapes. Pour
chaque fourmi, le trajet entre une ville i et une ville j dépend de :
1. la liste des villes déjà visitées, qui définit les mouvements possibles à chaque
pas, quand la fourmi k est sur la ville i : Ji
k,
2. l’inverse de la distance entre les villes : ηij
= 1/dij , appelé visibilité. Cette
information statique est utilisée pour diriger le choix des fourmis vers des villes
proches,
3. la quantité de phéromone déposée sur l’arête reliant les deux villes, appelée
l’intensité de la piste. Ce paramètre définit l’attractivité d’une partie du trajet
global et change à chaque passage d’une fourmi. C’est, en quelque sorte,
une mémoire globale du système, qui évolue par apprentissage.
La règle de déplacement appelée “règle aléatoire de transition
proportionnelle” contrôle l’importance relative de l’intensité de la piste et de
la visibilité, est écrite mathématiquement sous la forme suivante :
(4.1)
Où a et b sont deux paramètres contrôlant l’importance relative de l’intensité
de la piste, tij(t), et de la visibilité, η
ij. Avec a = 0, seule la visibilité de la ville est
prise en compte; la ville la plus proche est donc choisie à chaque pas. Au
contraire, avec b= 0, seules les pistes de phéromone jouent. Pour éviter une
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
sélection trop rapide d’un trajet, un compromis entre ces deux paramètres,
jouant sur les comportements de diversification et d’intensification (voir
Glossaire), est nécessaire. Après un tour complet, chaque fourmi laisse une
certaine quantité de phéromones Dζij
k(t) sur l’ensemble de son parcours,
quantité qui dépend de la qualité de la solution trouvée :
(4.2)
Où Tk(t) est le trajet effectué par la fourmi k â l’itération t, L
k(t) la longueur du
tour et Q un paramètre fixé.
L’algorithme ne serait pas complet sans le processus d’évaporation des pistes
de phéromone. En effet, pour éviter d’être piégé dans des solutions sous-
optimales, il est nécessaire de permettre au système “d’oublier” les mauvaises
solutions. À la fin de l'itération, on a la somme des phéromones qui ne se sont
pas évaporées et de celles qui viennent d'être déposées. La règle de mise à
jour des pistes est donc :
(4.3)
Où m est le nombre de fourmis utilisées pour l’itération t et ρ un paramètre de
réglage. La quantité initiale de phéromone sur les arêtes est une distribution
uniforme d’une petite quantité t0
r 0.
La figure 6 présente un pseudo-code de l’algorithme AS pour optimisé le
problème du voyageur de commerce.
Fig. 6 - Algorithme de base de colonies de fourmis : le “Ant System” [Dreo, 03]
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
Comparaison avec d’autres algorithmes
2.2.3.3.2 Principales variantes
Malgré des premiers résultats encourageants, montrant que les
performances de Ant System sont comparables à celles d’autres approches «
généralistes » comme les algorithmes génétiques, l’algorithme Ant System
n’est pas compétitif avec des approches spécialisées, développées
spécialement pour le problème du voyageur de commerce.
Ainsi, différentes améliorations ont été apportées à l’algorithme initial,
donnant naissance à différentes variantes de Ant System, dont les plus
performantes sont ACS (Ant Colony System) [Dorigo, 97] et MMAS (MAX – MIN
Ant System) [Stützle, 00] qui obtiennent en pratique des résultats vraiment
compétitifs, parfois meilleurs que les approches les plus performantes.
Ant Colony System (ACS)
Une autre amélioration de AS est le Ant Colony System (ACS), introduit
par Gambardella et Dorigo [Gambardella, 96][Dorigo, 97]. Les contributions
les plus intéressantes d'ACS sont : [Dorigo, 04]
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
❏ La règle utilisée lors de la construction de la solution est inspirée de
l’apprentissage par renforcement.
❏ L’introduction d’un mécanisme de mise à jour locale des pistes de
phéromones : dès qu’un arc est emprunté par une fourmi, il voit sa quantité
de phéromones diminuer.
❏ Il est possible d’utiliser, au cours de la construction du chemin, des listes des
noeuds voisins les plus prometteurs (une liste des plus proches villes voisines) :
cette liste de candidats permet de réduire le temps de calcul.
Le MAX – MIN Ant System (MMAS)
Le système de fourmi de MAX-MIN Ant System est une amélioration de
l'idée originale de AS idée. MMAS a été proposé par StÄutzle et Hoos [Stützle,
00], qui ont présenté un certain nombre de changements dont les plus
importants sont les suivants : [Dorigo, 07], [Costanzo, 06]
❏ Seulement la meilleure fourmi peut mettre à jour la quantité de phéromone,
❏ Les valeurs des phéromones sur chaque arc sont bornées par tmin et tmax
❏ Les valeurs des phéromones sur chaque arc sont initialisées à la valeur
maximum tmax,
❏ La quantité de phéromones que l’on fait évaporer est proportionnelle à sa
valeur au moment de la modification, plus les pistes sont fortes plus ses
phéromones seront diminués.
L’intérêt de ces améliorations est : [Costanzo, 06]
❏ Empêcher la monopolisation de certains arcs qui ont été tellement imprégnés
au début du processus de recherche qu’ils sont systématiquement parcourus
par les fourmis.
❏ Permettre, grâce à cette façon de gérer l’évaporation, de tirer vers le bas
les arcs chargés fortement en phéromones afin de vérifier si leur importance
est pertinente. De ce fait si ce n’est pas le cas, les pistes plus faiblement
chargés pourront leur prendre le pas.
2.2.4 Application de ACO
2.2.4.1 ACO pour les problèmes de routage dans les réseaux
Dans un chapitre du livre [Dorigo, 04], les auteurs montrent la puissance
des algorithmes d’optimisation par colonies de fourmis dans le cas des
problèmes de routage dans des réseaux de type Internet. Dans cette section
nous allons présenter une brève description du problème de routage, et en
suite l’algorithme AntNet : la solution ACO pour ce type de problèmes.
2.2.4.1.1 Description du problème
La particularité des problèmes de routage dans les réseaux provient de leur
nature dynamique. En effet, les données et les paramètres varient
continuellement avec le temps, parfois sur des durées très courtes. La
problématique est la suivante : lorsqu’une communication est établie entre
deux noeuds d’un réseau, le message est découpé en plusieurs paquets de
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
données qui vont circuler dans le réseau. Ce réseau est constitué de voies de
transmission (les arcs), dont les débits varient au cours du temps, et de
routeurs (les noeuds). Les routeurs ont pour fonction de diriger les paquets de
données vers un routeur jusqu’à ce qu’ils atteignent leur destination. De plus,
chaque routeur doit tenir compte de la quantité d’information circulant sur
les arcs auxquels il est relié afin d’éviter l’engorgement des arcs. Ainsi, des
paquets de données issus du même message peuvent emprunter des
chemins complètement différents.
2.2.4.1.2 L’algorithme AntNet
La nature distribuée et souple de la méthode ACO semblant adaptée
à ce type de problèmes, l’algorithme AntNet développé par Di caro et
Dorigo [DiCaro, 97] [DiCaro, 98] a été conçu pour résoudre les problèmes de
routage dans les réseaux.
Principe
Dans cet algorithme, le graphe de construction des solutions est
identifié au réseau. De plus, contrairement aux algorithmes ACO vus
précédemment, les fourmis se déplacent de manière asynchrone. Ainsi, le
principe de AntNet est de faire circuler, en parallèle avec les paquets de
données, des fourmis qui analysent en temps-réel l’état des voies de
transmission et qui fournissent ensuite ces états aux routeurs. Les fourmis
calculent le temps qu’elles mettent pour aller d’un noeud à un autre puis
déposent une trace de phéromones sur la voie empruntée en respectant la
règle suivante : plus le temps nécessaire pour parcourir la voie est court, plus
la quantité de phéromones déposée est grande. Une fois arrivé à un routeur,
un paquet de données sera orienté avec la probabilité la plus importante sur
la voie présentant la piste de phéromones la plus intense.
L’algorithme d’AntNet est très proche de ceux utilisé pour le TSP, les
routeurs pouvant être associés aux villes, ceci dit il y a quelques différences
notables :
❏ Il n’y a aucune contrainte sur les villes à visiter, c’est-à-dire qu’une fourmi n’est
pas obligé de visiter tous les noeuds.
❏ Il y a une piste de phéromone différente pour chaque noeud de destination.
❏ la dimension temporelle du problème rend plus délicate son évaluation.
Comparaison avec d’autres algorithmes En situation de charge peu importante, les résultats obtenus par AntNet sont
comparables à ceux des algorithmes de l’état de l’art. Dans des situations de
charge importante, proches de la saturation ou en cas de saturation
temporaire, les résultats obtenus par AntNet sont supérieurs à ceux des autres
algorithmes de routage lorsque l’on prend en compte le retard moyen subi
par les paquets de données.
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
Fig. 8 - Résultat typique d'une comparaison entre AntNet, un algorithme de
routage par colonie de fourmis, avec d'autres algorithmes de routage
répandus pour la commutation de paquets. Daemon est une approximation
d'un algorithme idéal et offre une borne à la meilleure performance possible.
Le réseau est simulé en condition de fotrafic avec des caractéristiques de
trafic stochastiques. Au temps t = 400, on simule un accroissement soudain du
trafic qui dure 120 secondes et amène le réseau à saturation. Le graphe du
haut compare le flux du réseau pour les différents algorithmes, tandis que le
graphe du bas compare les retards moyens des messages sur une fenêtre de
5s. AntNet offre le même flux de paquets que les meilleurs algorithmes tout en
maintenant un retard moyen bien inférieur à tous les autres algorithmes de
routage. [Cnrs, 00]
Cet algorithme a été testé sur l’opérateur téléphonique japonais NTT, ainsi
que sur le réseau de la Fondation Nationale Américaine des Sciences : il a
montré des résultats plus que prometteurs.
2.2.4.2 Autres problèmes combinatoires
Les algorithmes de colonies de fourmis sont beaucoup étudiés depuis
quelques années et il serait trop long de faire ici une liste exhaustive de toutes
les applications et variantes qui ont été produites. Dans les deux principaux
champs d’application (problèmes NP-difficiles et problèmes dynamiques),
certains algorithmes ont cependant donné de très bons résultats. On peut
notamment retenir des performances particulièrement intéressantes dans le
cas de l’affectation quadratique [Stüzle et al. 00], de problêmes de
planification [Merkle et al. 00], de l’ordonnancement séquentiel
[Gambardella et al. 00], du routage de véhicule [Garnbardella et al. 99b], ou
du routage sur réseau [DiCaro, 98] (voir aussi pour cette application la section
3.1.2). Il existe une littérature importante sur toutes sortes de : problèmes
voyageur de commerce, coloriage de graphes, affectation de fréquence,
affectation généralisée, sac à dos multi-dimensionnel, satisfaction de
contraintes, etc.
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
2.2.5 Autres algorithmes inspirés du comportement des fourmis
[Dorigo]
Autre le cadre ACO, il existe d’autres algorithmes inspirés des
comportements collectifs des fourmis.
2.2.5.1 Tri et classification
Le tri de la couvée est une activité qui peut être observée dans
beaucoup d'espèces de fourmi (par exemple, dans fourmis de Pheidole
pallidula [Deneubourg, 91]). Ces fourmis groupent de manière compacte
leurs oeufs et les plus petites larves au centre du secteur de couvée de nid et
les larves plus grandes à la périphérie de ce groupement de couvée.
Deneubourg et autres. [Deneubourg, 91] ont proposé un modèle de ce
phénomène dans lequel une fourmi prend et laisse tomber un article selon le
nombre d'articles environnants semblables. Les règles élémentaires suivantes
est une brève description du modèle de Deneubourg :
� Une fourmi reconnaît toujours les objets immédiatement en face d’elle
� Si un objet est situé près d’autres objets, la probabilité que la fourmi le ramasse
est faible ; sinon la probabilité est grande
� Si une fourmi transportant un objet voit des objets similaires à proximité, elle a
tendance à lâcher l’objet.
� Il n’existe aucune communication directe entre les fourmis !
� On observe néanmoins un comportement émergent :
Ce modèle peut servir dans des applications en robotique.
2.2.5.2 La division du travail
Dans les colonies de fourmis, chaque ouvrier a sa spécialité [Robinson,
92]. Cependant, les fourmis peuvent adapter leur comportement selon les
circonstances : par exemple une fourmi de soldat peut devenir une
chercheuse de nourriture. Cette combinaison de spécialisation et de flexibilité
est un dispositif souhaitable pour l'optimisation et la commande multi-agent,
particulièrement dans les problèmes d'allocation de ressource qui exigent
l'adaptation continue aux conditions changeantes. Beaucoup d'approches
inspirées de la division de travail dans les vraies colonies de fourmis sont
basées sur un modèle de seuil développé par Robinson [Robinson, 92], dans
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
lequel les ouvriers avec de bas seuils de réponse répondent aux faibles
degrés des stimulus que les ouvriers avec les seuils de réponse élevés. Un tel
modèle de réponse-seuil a été appliqué au problème de choisir une cabine
de peinture pour des camions sortant d'une chaîne de montage dans une
usine de camion [Bonabeau, 99], [Campos, 00] - [Nouyan, 05].
2.2.5.3 Le transport coopératif Une fourmi peut recruter d’autres fourmis afin de déplacer et de rapporter au
nid des nourritures volumineuses. Ce comportement de colonies de fourmi a
aussi inspiré la recherche dans la robotique, en particulier pour la conception
d'algorithmes de contrôle distribués pour les groupes de robots [Martinoli, 97].
Un exemple d'une tâche qui a été utilisée comme un point de référence pour
des algorithmes de fourmi appliqués aux problèmes de robotique distribués
est la boîte coopérative poussant [Kubei, 94]. Un autre exemple d'application
des algorithmes de fourmi est celui au problème relatif de tirer un objet. Ceci
a été réalisé [Trianni, 04] dans le projet Swarm-bots (www.swarmbots. org), un
projet consacré à l'étude des algorithmes de fourmis pour des applications
autonomes de robotique.
2.2.6 Conclusion
Les algorithmes de type ACO comptent parmi les plus performants pour
résoudre certains problèmes combinatoires NP-difficiles. De plus, il existe une
littérature abondante sur l’application de la métaheuristique ACO à ce genre
de problèmes. Enfin, des propriétés de convergence ont pu être prouvées
pour certaines variantes. On trouve même des applications industrielles
(ordonnancement de chaînes de montage, tournées de flottes de véhicules)
réalisées par des sociétés telles que EuroBios, AntOptima ou BiosGroup. Quant
aux tendances actuelles de la recherche, elles se dirigent selon quatre
grands axes :
• l’application à des problèmes dynamiques, dont les caractéristiques
changent avec le temps (par exemple, pour le routage dans les réseaux, ou
dans le cas du TSP pour lequel de nouvelles villes peuvent apparaître ou
disparaître avec le temps) ;
• l’application à des problèmes stochastiques présentant une incertitude, un
bruit sur les données, ou une approximation des variables ;
• l’application à des problèmes multi-objectifs ;
• la parallélisation des codes implémentant des algorithmes de type ACO afin
de réduire les temps de calcul et de profiter de la nature distribuée de la
méthode.
Swarm Intelligence
1e
r j
an
vi
er
2
00
9
CHAPITRE3
3. Optimisation en essaim de la particule (PSO)
PSO est une population basée sur un algorithme de recherche et est initialisé
avec une population des solutions aléatoires, appelés particules.
Contrairement à l'évolution d'autres techniques de calcul, chaque particule
dans PSO est également associée à une vélocité. Les particules volent dans
l'espace de recherche avec les vélocités qui sont ajustées dynamiquement
d'après leurs comportements historiques. Par conséquent, les particules ont
tendance à voler vers le mieux et la meilleure zone de recherche au cours du
processus de recherche. PSO a d'abord été conçu pour simuler la recherche
de nourriture des oiseaux qui est défini comme un «vecteur champ».
Supposons le scénario suivant: un groupe d'oiseaux est à la recherche
aléatoire de nourritures dans une zone. Il n'y a qu'un seul morceau de
nourriture dans ce domaine de recherche. Les oiseaux ne savent pas où est
la nourriture. Mais ils savent à quel point elle se trouve et les places de leurs
pairs.
Alors, quelle est la meilleure stratégie pour trouver la nourriture ? Une stratégie
efficace est de suivre l'oiseau qui est le plus proche de la nourriture. PSO
apprend du scénario et s'en sert pour résoudre les problèmes d'optimisation.
Dans PSO, chaque solution est unique comme un "oiseau" dans l'espace de
recherche, qui est appelé «Particules». Toutes les particules ont des valeurs qui
sont évaluées par la fonction de mise en forme à optimisé, et qui ont des
vélocités qui dirigent le vol des particules. (Les particules volent à travers
l'espace du problème, en suivant les particules avec les meilleures solutions à
jour). PSO est initialisé avec un groupe aléatoire de particules (solutions) et
puis cherche des optima de chaque génération en faisant la mise à jour.
Chaque individu est traité comme un volume de moins de particules (un
point) dans un espace de recherche D-dimensionnelle. La iem particule est
représentée comme Xi = (xi1, xi2,..., Xid). À chaque génération, chaque
particule est mis à jour par les deux «meilleurs» valeurs. Le premier est le
meilleur emplacement (la position qui a donné la meilleure valeur de justesse)
d'une particule obtenue à ce jour. Cette valeur est appelée pBest. Le pBest
de la ième particule est représenté comme Pi = (pi1, pi2,..., PiD). À chaque
itération, le vecteur P de la particule avec les meilleurs valeurs dans le
voisinage, désignée l ou g, et le vecteur P de la particule courante est
combiné pour ajuster la vélocité le long de chaque dimension, et cette
vélocité est alors, utilisé pour calculer une nouvelle position de la particule. La
portion d'ajustement de vélocité est influencée par la précédente meilleure
position individuelle (P) et est considéré comme la composante de cognition,
et la portion influencé par les meilleurs dans le voisinage est la composante
sociale. Avec l'ajout de facteur d'inertie ω, selon Shi et Eberhart, ces