Date de parution
06/01/2005Sommaire du document
Document publié sous licence Creative Commons
Voir aussi
Voir la thématique
Mots-clés
L’intelligence en essaim ou comment faire complexe avec du simple ?
À ses débuts, l'Intelligence Artificielle a puisé son inspiration dans le comportement individuel de l'être humain, en cherchant à reproduire son raisonnement. Elle s'est donc focalisée sur la manière de représenter les connaissances d'un expert et de modéliser son processus de décision, pour construire des systèmes dont le résultat pouvait être qualifié d'« intelligent ».
Mais dans la nature, on observe bien des formes d'intelligence. Pourquoi ne pas prendre en compte une intelligence qui ne serait plus individuelle, mais collective ? Les chercheurs ont ainsi conçu des systèmes « multi-agents » en s'inspirant du fonctionnement d'un groupe d'experts humains.
Une autre source d'inspiration est celle des sociétés d'insectes. Ainsi est née l'« intelligence en essaim », qui trouve des applications dans le domaine de la simulation et au-delà, par exemple en robotique collective ou pour les réseaux.
Un groupe d'experts humains qui doit résoudre un problème, ou encore une société d'insectes, peuvent devenir des sources d'inspiration pour concevoir un système informatique dont l'« intelligence » provient d'un ensemble d'entités - des « agents » - en interaction.
Dans le premier cas, lorsqu'on emploie la métaphore d'un collectif d'humains, chaque entité est supposée douée d'« intelligence ». Les agents communiquent directement en s'envoyant des messages, ils possèdent des représentations du problème à résoudre et sont capables de raisonnements élaborés. La complexité des modèles utilisés autorise à faire appel à des facultés cognitives avancées : représentation explicite et raisonnement sur les autres, raisonnement sur l'avancement de la résolution, persistance d'intentions, notion d'engagement, etc.
|
Formation d'un pont vivant chez la fourmi d'Argentine « Linepithema humile ». © CNRS Photothèque - Guy Théraulaz |
Dans le second cas, au contraire, la métaphore est d'ordre biologique : les agents sont dotés de capacités restreintes de représentation et de raisonnement ; ils sont situés dans un environnement au travers duquel ils interagissent de manière indirecte en y déposant des marques. Alors que dans le premier cas, l'environnement est souvent absent, ici il joue un rôle primordial puisqu'il sert de support aux interactions entre les individus.
1. Une intelligence collective
On a longtemps cru (à tort) que les insectes sociaux étaient plus intelligents que les insectes solitaires, au vu des tâches complexes qu'ils accomplissaient. En effet, bien que ne pouvant être individuellement qualifiés d'intelligents, les membres de ces sociétés sont collectivement capables de
réaliser des constructions sophistiquées
, de s'adapter à des environnements changeants, de trouver le plus court chemin à une source de nourriture. Autant d'activités collectives dont la sophistication va bien au delà des simples capacités de chacun des individus : on parle alors d'intelligence collective.
L'intelligence en essaim
En Intelligence Artificielle, l'intelligence en essaim
fait référence à cette intelligence collective des sociétés d'insectes. Elle a fait l'objet de nombreux travaux de recherche, voir par exemple ce mémoire téléchargeable en PDF
.
L'intelligence en essaim consiste à étudier et à construire des sociétés d'individus artificiels simples qui sont capables collectivement de fournir une réponse complexe. Dans un tel système multi-agents, chaque agent n'a qu'une vue limitée du système, mais il décide de manière autonome de ses actions. De ce fait, le système est caractérisé par un fonctionnement décentralisé : aucun agent ne décide ni ne coordonne les actions des autres.
Chaque agent est simple : il ne fait appel à aucune représentation ni mécanisme de raisonnement sophistiqué. Ainsi la résolution est le fait des interactions et de la dynamique du système : l'intelligence naît de façon collective. Le résultat global du système est donc émergent, constitué d'une succession de comportements de type « réflexes ».
Par exemple, imaginons un système multi-agent dont l'objectif serait que chaque agent se dispose de manière équidistante sur un cercle de centre O et de rayon r. Cet objectif peut être atteint en dotant chaque agent de deux comportements élémentaires. Le premier comportement s'énonce ainsi : « se diriger jusqu'à une distance r du point O (perçu comme un stimulus de l'environnement) » et le second : « une fois à distance r de O, s'éloigner au maximum des autres ».
| Cette applet a été développée avec NetLogo Les agents, rouges à l'origine, deviendront jaunes quand ils seront dans une situation relativement stable, et verts dans une situation très stable. L'applet montre aussi l'importance du réglage des paramètres : en effet, des paramètres mal adaptés ne permettent pas d'arriver à une situation stable. Mode d'emploi plus détaillé Si l'applet ne s'affiche pas correctement : Vérifiez votre configuration technique |
|
| Cette applet a été développée avec NetLogo Les agents, rouges à l'origine, deviendront jaunes quand ils seront dans une situation relativement stable, et verts dans une situation très stable. L'applet montre aussi l'importance du réglage des paramètres : en effet, des paramètres mal adaptés ne permettent pas d'arriver à une situation stable. Mode d'emploi plus détaillé Si l'applet ne s'affiche pas correctement : Vérifiez votre configuration technique |
Avantage au collectif
De tels systèmes se caractérisent par leur adaptabilité et leur robustesse. En effet, du fait d'un contrôle décentralisé, chaque agent réagit en fonction de ses propres perceptions aux modifications de son contexte et il est capable de s'adapter continuellement aux variations de celui-ci. De plus, le nombre des agents, leur caractère intercheangeable, l'absence d'entité centralisatrice rendent un tel système tolérant à la défaillance d'un de ses membres. Dans le cas de l'exemple du cercle, le nombre d'agents composant le système n'a pas besoin d'être précisé pour que le système fonctionne (on peut même ajouter ou supprimer des agents pendant qu'il fonctionne).
Ces deux propriétés permettent à un tel système de changer de comportement en cours de fonctionnement pour qu'il s'adapte aux évolutions de son environnement et d'avoir une dégradation progressive du fonctionnement collectif plutôt qu'un effondrement brutal.
Pour concevoir de tels systèmes, la difficulté principale qui se pose est de déterminer les comportements individuels, leur environnement et la dynamique qui va régir le fonctionnement du système afin qu'il produise la réponse collective souhaitée.
Cependant, les caractéristiques de ces modèles font qu'il est souvent difficile voire impossible de prédire a priori le comportement collectif à partir des comportements individuels. C'est pourquoi la mise au point de ces systèmes passe généralement par une phase expérimentale où l'on évalue le comportement global en fonction de différentes valeurs des paramètres du modèle.
