3
Système multi-agents
Les Systèmes Multi-Agents (SMA) constituent un des deux
axes de recherche en Intelligence Artificielle Distribuée (IAD), l'autre
étant la Résolution Distribuée de Problèmes (RDP en
anglais DPS pour Distributed Problem Solving). La résolution des
problèmes distribuées se préoccupe de la façon dont
un problème donné peut être résolu par plusieurs
modules (appelés noeuds) qui coopèrent en divisant et en
partageant la connaissance à propos du problème et des solutions
développées. Les systèmes multi-agents implémentent
des stratégies de résolution basées sur le comportement
d'un ensemble d'agents autonomes qui, éventuellement, peuvent
déjà exister. Un système multi-agents peut être vu
comme un ensemble faiblement interconnecté d'agents qui travaillent
ensemble pour résoudre un problème en s'appuyant sur les
capacités et les connaissances individuelles de chaque entité.
Les agents sont autonomes et sont de nature hétérogène.
Les systèmes multi-agents se caractérisent dès lors par :
·
une perception partielle de l'environnement par chaque agent;
·
des compétences limitées pour chaque agent,
c'est-à-dire insuffisantes pour résoudre entièrement le
problème;
·
une absence de contrôle du système global;
·
une décentralisation des données;
·
des traitements en mode asynchrone.
L'intérêt pour l'utilisation des systèmes
multi-agents se fonde sur leur capacité [Mbala 03] : à fournir
robustesse et efficacité ; à permettre
l'interopérabilité de systèmes existants ; à
résoudre des problèmes pour lesquels les données,
l'expertise (la connaissance) et le contrôle sont distribués.
Les systèmes multi-agents sont des systèmes
idéaux pour représenter des problèmes possédant de
multiples méthodes de résolution, de multiples perspectives et/ou
de multiples résolveurs [Chaib 99]. Ces systèmes possèdent
les avantages traditionnels de la résolution distribuée et
concurrente de problèmes comme la modularité, la vitesse (avec le
parallélisme), et la fiabilité (due à la redondance). Ils
héritent aussi des bénéfices envisageable de
l'intelligence artificielle comme le traitement symbolique (au niveau des
connaissances), la facilité de maintenance, la réutilisation et
la portabilité mais surtout, ils ont l'avantage de faire intervenir des
schémas d'interaction sophistiqués. Les types courants
d'interaction incluent la coopération (travailler ensemble à la
résolution d'un but commun) ; la coordination (organiser la
résolution d'un problème de telle sorte que les interactions
nuisibles soient évitées ou que les interactions
bénéfiques soient exploitées) ; et la négociation
(parvenir à un accord acceptable pour toutes les parties
concernées).
Bien que les systèmes multi-agents offrent de nombreux
avantages potentiels, ils doivent aussi relever beaucoup de défis. Voici
les problèmes inhérents à la conception et à
l'implémentation des systèmes multi-agents, d'après [Chaib
99] :
1.
Comment formuler, décrire, décomposer, et allouer
les problèmes et synthétiser les résultats?
2.
Comment permettre aux agents de communiquer et d'interagir? Quoi
et quand communiquer?
3.
Comment assurer que les agents agissent de manière
cohérente i) en prenant leurs décisions ou actions, ii) en
gérant les effets non locaux de leurs décisions locales et iii)
en évitant les interactions nuisibles?
4.
Comment permettre aux agents individuels de représenter
et raisonner sur les actions, plans et connaissances des autres agents afin de
se coordonner avec eux? Comment raisonner sur l'état de leurs processus
coordonnés (comme l'initialisation ou la terminaison)?
5.
Comment reconnaître et réconcilier les points de
vue disparates et les intentions conflictuelles dans un ensemble d'agents
essayant de coordonner leurs actions?
6.
Comment trouver le meilleur compromis entre le traitement local
au niveau d'un seul agent et le traitement distribué entre plusieurs
agents (traitement distribué qui induit la communication)? Plus
généralement, comment gérer la répartition des
ressources limitées?
7.
Comment éviter ou amoindrir un comportement nuisible du
système global, comme les comportements chaotiques ou oscillatoires?
8.
Comment concevoir les plates-formes technologiques et les
méthodologies de développement pour les systèmes
multi-agents?
3.1
Définition
Ferber [Ferber 95] définit un système
multi-agents (SMA) comme étant un système composé des
éléments suivants :
·
un environnement E, c'est-à-dire un espace disposant
généralement d'une métrique;
·
un ensemble d'objets O. Ces objets sont situés,
c'est-à-dire que, pour tout objet, il est possible, à un moment
donné, d'associer une position dans E. Ces objets sont passifs,
c'est-à-dire qu'ils peuvent être perçus,
créés, détruits et modifiés par les agents;
·
un ensemble A d'agents, qui sont des objets particuliers (A ****
O), lesquels représentent les entités actives du système;
·
un ensemble de relations R qui unissent les objets (et donc les
agents) entre eux ;
·
un ensemble d'opérations Op permettant aux agents de A de
percevoir, produire, consommer, transformer et manipuler les objets de O;
·
des opérateurs chargés de représenter
l'application de ces opérations et la réaction du monde à
cette tentative de modification, que l'on appellera les lois de l'univers.
Un SMA communiquant est un systèmes multi-agents dont
les agents communiquent entre eux par le biais de messages. Un systèmes
multi-agents purement communicant est un systèmes multi-agents ne
disposant pas d'environnement et dans lequel les agents ne font que communiquer
entre eux (O = A et E est l'ensemble vide). Un système multi-agents
situé est un système multi-agents dont les agents sont
positionnés dans un environnement. Un système multi-agents
purement situé est un systèmes multi-agents situé dans
lequel les agents ne communiquent pas par l'envoi de messages, mais par
propagation de signaux.
3.2
|