ArticlePDF Available

Figures

Content may be subject to copyright.
Page 1
Les systèmes multi-agents :
un aperçu général
Jacques Ferber
LIRMM, Université Montpellier II
161, rue Ada
34392 Montpellier Cedex 5
Email : ferber@lirmm.fr
SUMÉ. Cet article donne un aperçu général du domaine des systèmes multi-agents. Après
une introduction des concepts généraux, un modèle formel de ces systèmes est proposé. Puis,
après avoir donné une vue synthétique de l’ensemble des thèmes de recherche dans ce
domaine, un panorama rapide des applications fondées sur cette approche est présenté.
ABSTRACT. This paper gives a general overview of multi-agent systems. After a brief
introduction of general concepts, a formal model of multi-agent systems is proposed. Then, a
synthetic view of researches done in this domain and a brief presentation of multi-agent
applications is given.
MOTS-CLÉS : systèmes multi-agents, intelligence artificielle distribuée, SMA, IAD
KEY WORDS : multi-agent systemes, distributed artificial intelligence, MAS, DAI
Citation : Ferber J. Les systèmes multi-agents: un aperçu général. Technique et Science
Informatiques, vol.16 n°8, pp. 979-1012, 1997.
1. Introduction
Cet article présente un aperçu général des systèmes multi-agents (SMA). Il traite
aussi bien des grands thèmes de recherche que des applications potentielles et
actuelles de ces systèmes. Après avoir introduit les définitions générales et relier la
notion d’agent à celle d’objet, un modèle formel de système multi-agents, englobant
aussi bien les agents réactifs que cognitifs, est proposé section 2. La section 3
propose une vue générale de l’ensemble des thèmes de recherche dans ce domaine.
Enfin la section 4 offre un panorama rapide des applications fondées sur cette
approche.
Les systèmes multi-agents (SMA) mettent en œuvre un ensemble de concepts et
de techniques permettant à des logiciels hétérogènes, ou à des parties de logiciels,
appelés « agents » de coopérer suivant des modes complexes d’interaction. La
technologie des SMA s'est développée ces dernières années sous une quadruple
pression.
La première est due aux limites de l'intelligence artificielle classique sur le plan
de la structuration et de l'organisation des connaissances. La difficulté qu'il y a à
traduire un ensemble d'expertises sous une forme unifiée a ameles chercheurs à
Page 2
développer ce que l'on a d'abord appelé des systèmes multi-experts, c'est-à-dire des
systèmes mettant en jeu plusieurs bases de connaissances plus ou moins
coordonnées. Ce faisant, on a pu constater que le problème de la coopération entre
plusieurs bases de connaissances se révélait un enjeu crucial qui dépassait de loin le
problème de la multi-expertise.
La deuxième trouve son origine dans la nécessité de trouver des techniques
performantes de modélisation et de simulation dans le domaine des sciences du
vivant au sens large du terme. L'évolution des écosystèmes habités notamment,
montre qu'il est difficile de rendre compte de leur évolution par un ensemble
d'équations différentielles. Une approche dans laquelle les individus sont
directement représentés sous forme d'entités informatiques semble une voie
prometteuse et a contribué à l'essor du domaine.
La troisième provient de la robotique. Le développement de la miniaturisation en
électronique permet de concevoir des robots qui disposent d'une certaine autonomie
quant à la gestion de leur énergie et à leur capacité de décision. On a pu ainsi
montrer qu'un ensemble de petits robots ne disposant que de capacités élémentaires
de décision et d'intelligence pouvait facilement rivaliser avec les performances d'un
seul robot «intelligent», nécessairement plus lourd et plus difficile à gérer. Le
problème consiste alors, ici encore, à faire coopérer ces entités de manière à ce
qu'elles assurent ensemble les fonctions désirées.
Enfin, la quatrième est issue du développement de l'informatique et des systèmes
distribués en particulier. Avec la généralisation des réseaux et des ordinateurs
parallèles, il devient de plus en plus important de pouvoir faire coopérer plusieurs
composants logiciels au sein d’environnements hétérogènes et distribués. Le
problème ne réside plus dans le contenu des programmes, qui peuvent avoir des
fonctionnalités diverses, mais dans leur capacité à collaborer avec d'autres
programmes à la réalisation d'un objectif commun. C’est surtout cet aspect que nous
retiendrons dans la suite de cet exposé.
Les systèmes multi-agents proposent une nouvelle approche de l’informatique
qui se situe comme un prolongement et une extension de la notion d’objet. En
mettant l’accent sur l’interaction et la satisfaction individuelle, ils s’interdisent de
penser le global centralisé. Dans un SMA, tout est distribué, réparti : la
connaissance, le contrôle, les compétences, l’activité, la planification, etc. De ce fait,
les SMA s’adaptent bien aux systèmes complexes et ouverts où il est difficile de tout
décrire à l’avance. La localité est ainsi un gage de performance et d’adaptabilité.
2. Notion d’agent de système multi-agent
2.1. néralités
La notion d’agent, comme tous les concepts fondamentaux (pensons notamment
aux concepts de processus, d’état ou de fichier en informatique) semble pouvoir être
comprise de manière évident. Néanmoins, elle recouvre plusieurs acceptions,
chacune renvoyant à un courant de recherche particulier dans le domaine de ce qui
touche à la nébuleuse « agent ».
Page 3
La première définition, que l’on peut considérer comme faible, est surtout
tournée vers une conception très « informaticienne » de l’agent, et se situe en contact
étroit avec l’implémentation. Dans ce sens, un agent peut être défini comme un objet
informatique (au sens des langages objets) dont le comportement peut être décrit par
un « script », qui dispose de ses propres moyens de calcul (un agent est alors associé
à un processus léger), et qui peut se déplacer de places en places (une place pouvant
être un site informatique distant du site originel de l’agent) pour communiquer avec
d’autres agents. C’est cette conception de l’agent qui a été retenue par la société
General Magic pour concevoir le logiciel TELESCRIPT. Issu des modèles à objets
concurrents en général et des langages d’acteurs en particulier, ce modèle présente
l’avantage de pouvoir être facilement mis en oeuvre. Malgré son intérêt pratique
immédiat, ce modèle reste à un niveau trop élémentaire, le concept initial de l’agent,
qui repose sur son autonomie de décision et son caractère intentionnel, ayant été
quelque peu limité à des critères d’implémentation immédiate. Néanmoins, des
langages fondés sur cette approche peuvent être utilisés pour implémenter des
modèles de systèmes multi-agents plus complexes.
Au contraire, dans la seconde définition, que l’on pourrait qualifier de forte, le
concept d’agent prend toute son importance. Dans ce cas, on appelle agent une
entité informatique qui [FER 95] :
1. se trouve dans un système informatique ouvert comprenant un ensemble
d’applications, de réseaux, et de systèmes hétérogènes,
2. peut communiquer avec d’autres agents,
3. est mue par un ensemble d’objectifs propres (c’est en ce sens que l’on peut
parler d’agent intentionnel),
4. possède des ressources propres,
5. ne dispose que d’une représentation partielle des autres agents,
6. possède des compétences (services) qu’elle peut offrir aux autres agents,
7. a un comportement tendant à satisfaire ses objectifs, en tenant compte d’une
part des ressources et des compétences dont elle dispose, et d’autre part de ses
propres représentations et des communications qu’elle reçoit.
Cette définition met l’accent sur l’autonomie de décision qui résulte de
l’indépendance avec laquelle un agent tente de satisfaire des objectifs qu’il s’est
assigné, en utilisant au mieux les ressources et les compétences dont il dispose.
Certains en restent là et considèrent alors que tout se résume à une bonne
description du fonctionnement des agents. C’est ainsi que tout un courant de
chercheurs qui se réclament de l’approche « agent » travaille dans ce sens. Citons
Shoham, Georgeff et Rao, Levesque, Cohen et Lesperance, Jennings et Wooldridge,
etc. tous étant convaincus que la solution passe directement, et uniquement, par la
réalisation formelle d’un modèle d’agent et par son implémentation.
Au contraire, d’autres chercheurs, qui se reconnaissent dans la notion de
« système multi-agents » (et qui insistent sur le « multi ») considèrent qu’il faut
d’abord penser l’interaction et ensuite en déduire la structure intentionnelle des
agents et non l’inverse. L’intérêt des systèmes multi-agents réside en effet dans la
notion d’action collective et dans sa capacité à articuler l’individuel au collectif, par
l’intermédiaire de la structure cognitive des agents. Sans remettre en cause l’idée
d’agent intentionnel, cette conception « collective » met l’accent sur les structures
Page 4
d’interactions (coopération, négociations, coordination d’actions, conflits, etc.) et
sur les organisations qui en découlent (rôles, hiérarchies d’autorité, etc.).
Enfin, la troisième approche est celle de l’agent comme système collaborateur
d’un être humain. L’idée sous-jacente est de dire, comme nous l’avions signalé dans
l’introduction, que l’interaction entre l’utilisateur et la machine va passer d’une
conception des systèmes informatiques comme « outils » à celle de « collaborateur »
ou « assistant ». Dans ce cas, l’utilisateur se trouve en face d’un « être» informatique
qui dispose de son autonomie en termes d’action, qui interagit « intelligemment »
avec lui, qui accomplit un certain nombre de tâches répétitives (telles que la gestion
de courrier électronique par exemple) ou qui agit comme un mandataire pour aller
« fureter » des informations sur le réseau ou négocier des transactions commerciales.
Bien que sa position conceptuelle soit très proche de celle de l’agent comme
entité intentionnelle, l’agent collaborateur met l’accent sur le dialogue
homme/machine et sur la compréhension, par la machine, des désirs et volontés de
l’utilisateur. Par exemple, un agent collaborateur digne de ce nom, doit pouvoir
« lire par dessus l’épaule » de l’utilisateur afin d’apprendre sa façon de travailler,
connaître ses préférences et en déduire des règles d’action. Néanmoins, le
développement de ce que l’on appelle parfois les « agents intelligents » pour ne
décrire en fait que des applications d’assistance à l’utilisateur, ternissent un peu le
terme « agent », et entretiennent une certaine confusion par rapport au multi-agent.
Nous ne développerons pas cet aspect par la suite.
2.2. Relation avec la notion d’objet
Qu'est ce qui différencie un agent d'un objet ? Si le concept d’agent comme objet
distribué est très proche de celui de l’objet, il n’en est pas de même de l’agent
comme entité intentionnelle. En effet les objets n’ont ni but ni recherche de
satisfaction et le mécanisme d’envoi de message se résume à un simple appel de
procédure. Il n’y a pas de langage de communication à proprement parler. Les
mécanismes d'interaction sont donc à la charge du programmeur.
Figure 1. Différence entre objet et agent
La différence essentielle qui existe entre les objets et les agents est illustrée
figure 1. Un objet est défini par l'ensemble des services qu'il offre (ses méthodes) et
qu'il ne peut refuser d'exécuter si un autre objet le lui demande. En revanche les
agents disposent d'objectifs qui leur donnent une autonomie de décision vis à vis des
messages qu'ils reçoivent. D'autre part, ils établissent des interactions complexes qui
font intervenir des communications de haut niveau (cf. section 3.2).
De ce fait, un agent peut être considéré comme un objet ayant des capacités
supplémentaires: recherches de satisfaction (intentions, pulsions) d'une part, et
Requête
Réponse
Objectifs
Acte de langage
Acte de langage
Objet Agent
Méthodes
Services
Page 5
communications à base de langages plus évolués (actes de langages pour les agents
cognitifs, propagation de stimuli pour des agents réactifs) d'autre part, ces deux
notions étant intrinsèquement liées. Inversement un objet peut être considéré comme
un agent « dégénéré » devenu un simple exécutant, tout message étant considéré
comme une requête.
2.3. Agents et problèmes multi-agents
On peut considérer un agent en interaction avec le monde comme un système
composé de deux sous-systèmes dynamiques couplés, le couplage s’effectuant au
travers des perceptions que l’agent a du monde et des actions qui modifient ce
monde. Dans ce cas, un système mono-agent peut être donné par le couple <a,w>
a est un agent et w un monde qui sont chacun décrits ainsi :
P
a
représente la fonction de perception de l’agent, Percept
a
l’ensemble des
stimuli et sensations qu’un agent peut recevoir, F
a
la fonction de comportement de
l’agent qui détermine l’état de l’agent à partir de ses perceptions et de l’état
précédent, Infl
a
la fonction d’action de l’agent, c'est-à-dire la fonction qui tend à
modifier l’évolution du monde en produisant des influences [FER 96], S
a
l’ensemble
des états internes de l’agent, E est l’espace (souvent métrique) dans lequel l’agent
évolue, Γ est l’ensemble des influences produites par l’agent et ayant comme
conséquences de modifier l’évolution du monde, Σ est l’ensemble des états de
l’agent et R est la loi d’évolution du monde :
Ces fonctions satisfont les équations suivantes qui décrivent la dynamique de l’agent
en interaction avec son environnement :
)))((),(()1(
)))((),(()1(
tsInfltRt
tPtsFts
aa
aaaa
σσ
σ
=+
=+
s
a
est un élément de S
a
et
σ
un élément de Σ. La Figure 2 illustre cette situation.
Figure 2. Un agent en interaction avec son environnement
Dans un système multi-agent, les différentes actions des agents sont combinées
par l’intermédiaire d’un opérateur de combinaison d’influences Π qui prend les
résultats des actions des agents et les combine de manière simple (union des
influences, sommation vectorielle, etc.). Dans ce cas, un système multi-agent est
défini par un triplet <A, w, Π> où A est un ensemble d’agents décrits comme
a = <P
a
, Percept
a
, F
a
, Infl
a
, S
a
> w = <E, Γ, Σ, R>
aa
PerceptP Σ:
aaaa
SPerceptSF ×:
ΣΓ×Σ:R
Page 6
précédemment, w un monde et Π un opérateur de combinaison d’influences. La
dynamique du système est alors donnée par le système des n+1 équations suivantes :
s t F s t P t
s t F s t P t
t R t Infl s t
n n n
i i
i
1 1 1 1
1
1
1
( ) ( ( ), ( ( )))
...
( ) ( ( ), ( ( )))
( ) ( ( ), ( ( )))
+ =
+ =
+ =
σ
σ
σ σ
De plus, on finit pour chaque agent une fonction de satisfaction qui associe une
valeur d’un espace de satisfaction (cela peut être tout simplement l’ensemble {V,F}
des valeurs booléennes, mais aussi un intervalle [0..1], ou un treillis, ou encore un
élément d’un espace vectoriel, etc. c'est-à-dire un espace sur lequel on puisse
calculer des fonctions de maximisation et de minimisation) à un état interne de
l’agent et que l’on note
µ
a
(s).
Dans ce cadre, il est possible de définir ce qu’est un problème multi-agent. En
fait, il existe deux types de problèmes différents. Le premier que l’on appelle parfois
aussi « résolution distribuée de problèmes » suppose qu’il existe une fonction de
satisfaction globale (ou inversement une fonction de coût) h(
σ
) définie sur
l’ensemble des états du monde (les éléments de Σ) que l’on essaye de maximiser (ou
inversement que l’on cherche à minimiser).
Définition : Résoudre un problème distribué, connaissant la dynamique d’un
environnement w, l’opérateur de combinaison d’influences Π, le nombre n d’agents,
leur fonction de perception P
i
et de production d’influences Infl
i
, ainsi que la
fonction de satisfaction globale h, c’est déterminer l’ensemble des comportements
des agents, c'est-à-dire les fonctions F
i
, de manière à maximiser (ou inversement à
minimiser) h(σ(t)).
Généralement, et c’est pour cela que l’on fait appel aux systèmes multi-agents, il
est impossible non seulement de résoudre directement les équations précédentes,
mais aussi de parcourir l’ensemble des états de manière à approximer ces fonctions.
On fait alors l’hypothèse que l’on cherche à maximiser non pas une fonction globale
sur l’état du monde, mais des fonctions de satisfactions locales propres aux agents ce
qui nous conduit au deuxième type de problème que l’on pourrait appeler
« problème multi-agent au sens strict » :
Définition : Résoudre un problème multi-agent au sens strict, connaissant la
dynamique d’un environnement w, l’opérateur de combinaison d’influences Π, le
nombre n d’agents, leur fonction de perception P
i
et de production d’influences Infl
i
,
ainsi que leur satisfaction locale
µ
i
, soit A
0
l’ensemble des agents auxquels on
s’intéresse (A
0
A), c’est trouver l’ensemble des F
i
, de manière à maximiser M(A
0
).
M A s t
i i
i A
( ) ( ( ))
0
0
=
µ
Mais ici aussi, le problème ne peut pas être solu directement. L’hypothèse de
l’autonomie de l’agent revient à faire en sorte que le comportement d’un agent, c'est-
à-dire la fonction F
i
, pende non seulement de la perception et de l’état interne,
mais aussi de
µ
i
(s). C’est en sens que l’on peut dire que les agents sont « des
systèmes dirigés par les buts » (purposive systems) ou « dirigés par leur
satisfaction » (satisfaction driven systems), c'est-à-dire des entités informatiques qui
tentent de réaliser des objectifs.
Page 7
3. Thèmes de recherche en systèmes multi-agents
Concevoir un système multi-agent, consiste donc à résoudre un certain nombre
de problèmes que l’on peut décrire ainsi:
1. Quelle est la forme de la fonction F
i
, ou autrement dit, quelle est
l’architecture de l’agent, sachant que le comportement doit dépendre de cette
fonction ? Peut-on définir une théorie générale permettant de relier le comportement
à ces satisfactions ? C’est ce que nous appellerons le problème de l’agent et de sa
relation au monde.
2. Quelles sont les formes des interactions, c'est-à-dire la suite des productions
d’influences, permettant à plusieurs agents de maximiser leur satisfaction ? Cette
question renvoie d’une manière générale à la problématique de la coordination
d’action et de la coopération, et d’une manière générale à celle de l’interaction.
3. Comment faire évoluer le comportement des agents de manière à ce qu’ils
puissent tirer parti des expériences passées, et quelles en sont les conséquences sur
le comportement collectif qui en découle ? Cette question introduit le thème de
l’adaptation et de l’apprentissage dans les systèmes multi-agents.
4. Comment réaliser de tels systèmes ? Quelles implémentations, quels langages
peut-on utiliser pour décrire des systèmes multi-agents ?
3.1. L’agent et sa relation au monde
Les différents thèmes relatifs à l’agent portent d'une part sur son architecture et
son organisation interne et, d'autre part, sur l'ensemble des moyens qu'il met en
œuvre pour assurer sa viabilité et augmenter sa satisfaction. Il s'agit évidemment de
thèmes essentiels car la alisation d'un système multi-agent passe nécessairement
pas la description de l'architecture des agents et des fonctionnalités dont ils disposent
pour accomplir leurs tâches.
C'est à ce niveau que l'on s'intéresse aux éléments cognitifs dont l'organisation
permet la constitution d'un comportement adapté. Sauf pour des agents réactifs
simples, un agent se trouve à un certain moment dans un certain «état mental» qui
résulte de sa propre histoire, de sa perception du monde et des interactions avec le
monde et les autres agents. Ces états mentaux sont souvent très complexes et font
intervenir un grand nombre d'éléments dont la combinaison explique le
comportement d'un agent «de l'intérieur». Ces éléments cognitifs sont aux états
mentaux des agents ce que les corpuscules élémentaires sont aux corps physiques:
des composants de base dont la combinaison permet d'exprimer l'état mental d'un
agent et dont les lois d'interaction servent à décrire l'évolution future du
comportement d'un agent et de ses états mentaux ultérieurs. Ces éléments cognitifs
régissent l'ensemble des aspects de l'activité intérieure d'un agent: perception et
exécution d'action, croyances, désirs et tendances, intentions, méthodes et plans, etc.
Par exemple, la notion d’intention est définie formellement ainsi : On dit qu’un
agent x a l’intention de faire une action a, ce que l’on note Intention(x,a) si x a
comme but qu’une proposition p portant sur le monde soit vraie noté But(x,p)
et que les conditions suivantes sont satisfaites :
Page 8
1. x croit que p appartient aux conséquences de a ; Croire(x, a
p)
α→ψ
signifie: si
α
est accompli alors
ψ
sera vrai.
2. x croit que p n’est pas vrai actuellement ; Croire(x,
¬
p)
3. x croit qu’il est capable de faire a ; Capable(x,a)
C'est à ce niveau aussi que sont décrits les engagements. En s'engageant à
accomplir une action auprès d'un tiers, l'agent contraint l'ensemble des actions qu'il
peut réaliser et donne la possibilité au tiers de planifier son propre comportement en
diminuant son incertitude sur l'ensemble des états futurs. La formalisation de cette
notion passe par des logiques modales temporelles.
Les travaux portant sur les agents rationnels s'inscrivent dans ce thème. Les
tenants principaux de ces recherches sont essentiellement des Américains (Cohen et
Levesque [COH 90a], Shoham [SHO 93]) des Australiens (Georgeff et Rao [RAO
92]) et des Britanniques (Jennings et Wooldridge [WOO 94]). Il s'agit ici de
formaliser l'ensemble des états mentaux d'un agent (essentiellement ses croyances,
ses désirs, ses intentions et ses engagements) à partir d'un formalisme logique
comprenant des aspects temporels et des modalités. Des modèles d'architecture sont
issus de ces travaux. L'école des agents rationnels, malgré l'intérêt des recherches et
l'importance des résultats, tend néanmoins à masquer ce qui fait l'originalité des
systèmes multi-agents, à savoir l'interaction et la coopération. Les travaux portant
sur les agents rationnels donnent ainsi souvent l'impression que les agents sont isolés
les uns des autres, les phénomènes de coopération n'étant pris en compte que de
façon marginale. Cette école a très peu fait d’émule en France, à part D. Sadek
[SAD 91].
3.2. L'interaction
Pour un agent, interagir avec un autre constitue à la fois la source de sa puissance
et l'origine de ses problèmes. C'est en effet parce qu'ils coopèrent que des agents
peuvent espérer que leur satisfaction sera meilleure que s’ils agissaient de manière
isolée. Mais c’est aussi à cause de leur multitude qu’ils doivent coordonner leurs
actions et résoudre des conflits. Pour un agent, l'autre est à la fois le pire et la
meilleure des choses.
Communications
Traiter le problème de l'interaction c'est se donner les moyens non seulement de
décrire les mécanismes élémentaires permettant aux agents d'interagir, mais aussi
d'analyser et de concevoir les différentes formes d'interaction que des agents peuvent
pratiquer pour accomplir leurs tâches et satisfaire leurs buts. Tout d'abord, les agents
doivent être capables, par le biais de la communication, de transmettre des
informations, mais surtout d'induire chez l'autre un comportement spécifique.
Communiquer est donc une forme d'action particulière qui, au lieu de s'appliquer à
la transformation de l'environnement, tend à une modification de l'état mental du
destinataire. Par exemple, demander à un autre d'exécuter une tâche, tend à
provoquer chez l'autre une intention d'accomplir cette tâche et constitue donc une
manière de satisfaire un objectif sans réaliser la tâche soi-même.
Page 9
Il existe deux formes de communications:
1. Les communications intentionnelles mettent en contact des agents cognitifs
par le biais d'envois de messages. Cette forme de communication est surtout utilisée
par des agents organisés en réseaux.
2. Les communications réactives qui prennent la forme de signaux transmis
entre agents réactifs. On rencontre ces formes de communication surtout dans la
robotique collective mobile et la simulation de sociétés animales, beaucoup moins
dans les réseaux.
Les communications intentionnelles sont surtout étudiées sous l'angle d'actes de
langage. Issue initialement des travaux d'Austin [AUS 62], Searle [SEA 1969] et
Vanderveken [VAN 88] en philosophie du langage, la théorie des actes de langage
décrit l'aspect pragmatique des communications en termes d'états mentaux de
l'émetteur et du destinataire de l'acte. Ces théories ont été reprises et formalisées par
Cohen et Levesque [COH 90b]. Elles sont à la base de nombreux protocoles de
communications entre agents communicants. Dans ce cadre, chaque type de message
caractérise une force illocutoire qui peut être formalisée dans un langage modal en
termes des états mentaux du destinataire et du receveur. Par exemple, un message de
type Requete, qui consiste pour un agent s à demander à un autre agent r
d’accomplir l’action a, peut se formaliser ainsi:
Requete(s, r, a) =def
But(s,
φ
)
Croire(s,[a
φ
Serviable(r,s)
Capable(r,a)
Recevoir(r, Requete(s, r, a))
Intention(r,a)])
et qui peut se paraphraser ainsi : envoyer une demande d’action revient à dire que
l’on a un but et à croire que l’autre agent est serviable, que s’il reçoit la requête il
aura effectivement l’intention d’accomplir cet acte et enfin que si cette action est
accomplie, alors le but sera satisfait.
Figure 3. Un acte de langage sous la forme d’un réseau de Petri
Aux Etats-Unis, un projet de recherche initialement fondé par la DARPA a pour
but de développer un standard de communication de haut niveau, appelé KQML
pour «Knowledge Query and Manipulation Language», fondé sur les actes de
langages et permettant à des agents cognitifs de coopérer [FIN 94]. Ce projet a un
DemanderFaire(P )
RefuserFaire(P)
AccepterDemande(P)
NotificationFin(P)
EchecFaire(P)
Succès
achevé(P)
impossibleFaire(P)
B veut bien faire P
Agent A
Agent B
DA
AR1
AR2
FA1 FA2
FB
BR
DB
A veut faire P,
A ne peut pas faire P
Satisfaction
Echec
B ne veut pas faire P
Page 10
grand retentissement dans toute la communauté et de nombreux chercheurs tentent à
la fois de s'intégrer et de dépasser les nombreuses limites de ce projet [COH 95]. Un
comité d’étude, le FIPA, travaille sur la définition d’un système de communication
entre agents cognitifs à partir de la définition d’états mentaux
[http ://www.cselt.stet.it/ufv/leonardo/fipa.htm].
Une critique que l’on peut faire à l’approche KQML est de ne pas rendre compte
des aspects exécutoires. Il s’agit en fait d’une spécification de haut niveau qui
indique quelles sont les conditions que doit remplir une réalisation effective. Au
contraire, un formalisme de type réseau de Petri permet de décrire la réalisation
d’une telle communication tout en conservant des capacités de validation et de
vérification [FER 95]. Dans ce cas, une action de type DemanderFaire peut être
décrite par le réseau de la figure 3.
Collaboration et coordination d'actions
Les différentes formes d'interaction sont la collaboration et la coordination
d'actions. La première s'intéresse à la manière de répartir le travail entre plusieurs
agents, qu'il s'agisse de techniques centralisées ou distribuées, et la seconde analyse
la manière dont les actions des différents agents doivent être organisées dans le
temps et l'espace de manière à réaliser les objectifs. Enfin, lorsque des conflits
apparaissent, il est important de pouvoir en limiter leurs effets. Les techniques de
négociation servent ainsi à satisfaire les parties impliquées en établissant des
compromis ou en dépassant la nature du conflit.
La coopération est la forme générale d'interaction la plus étudiée dans les
systèmes multi-agents
1
. De manière simplifiée, le problème de la coopération peut se
ramener à déterminer qui fait quoi, quand, où, avec quels moyens, de quelle manière
et avec qui, c'est-à-dire en fait à résoudre les différents sous-problèmes que
constituent la collaboration par répartition de tâches, la coordination d'actions et la
résolution de conflits. La réalisation de systèmes de répartition de services et de
coordinations, tels que la médiation (usage de médiateurs ou courtiers pour la
répartition des services en fonction des offres et des demandes (Figure 4) ou le
réseau contractuel, fondé sur la notion de marché [SMI 79] passent par
l’établissement de protocoles de conversations, qui peuvent faire l’objet d’une
représentation et d’une validation par réseaux de Petri.
L’analyse des systèmes d’interaction passe aussi par la planification distribuée et
la coordination d’actions. Des techniques tant cognitives que réactives ont été
développées. Les premières ont été initiées par Lesser, Durfee et Decker avec le
modèle PGP (Partial Global Planning) [DUR 91] [DEC 92]. Depuis, d’autres
modèles ont été présentés. En France signalons les recherches portant sur la
technique d’insertion incrémentale de plans [ALA 95] et sur l’usage de réseaux de
Petri récursifs pour la définition de protocoles de planification distribuée [SEG 96].
1
Du fait de la place nécessairement limitée de cet article, on ne traitera ici que des systèmes
dans lesquels les agents sont « bienveillants ». Les problèmes liés à la ruse et aux mensonges
ne seront donc pas pris en compte, mais on pourra se référer à [ROS 94] pour disposer d’un
aperçu général de ce sujet.
Page 11
En ce qui concerne les techniques réactives, celles-ci ont été surtout appliquées à la
coordination de mouvements dans des groupes de robots (cf. section 4.4) [ROB 96].
Figure 4. La répartition de tâches par médiation
3.3. Adaptation et apprentissage
Domaine encore neuf dans le paysage des multi-agents, l’apprentissage et
l’adaptation se sont développés considérablement ces toutes dernières années, pour
devenir un thème de recherche à part entière. L’importance de ce thème devrait
encore s’accroître dans les années à venir tant l’adaptation fait partie du coeur des
caractéristiques des SMA. Encore fallait-il considérer cette problématique
globalement, étape qui vient d’être franchie à la dernière conférence internationale
sur les systèmes multi-agents (ICMAS’96) un « workshop » et deux sessions
plénières lui étaient consacrés.
Il existe plusieurs formes d’apprentissage multi-agents. Lorsque les agents sont
coopératifs, on distingue l’apprentissage collectif dans lequel les agents se
communiquent leurs résultats [WEI 93] et l’apprentissage individuel qui se consacre
à l’évolution d’une société dans lesquels les agents apprennent individuellement et
séparément [TAN 93]. Enfin, il existe aussi tout un ensemble de recherches dans
lesquelles les agents forment des groupes qui sont en compétition et qui tentent
d’obtenir le meilleur gain en fonction de l’adversaire [HAY 96].
Les exemples d’applications sont multiples. Ils vont des problèmes de poursuite
(problème jouet ou un ensemble de prédateurs tentent d’entourer une proie) ou du
dilemme du prisonnier itératif jusqu’à celui de l’organisation d’un groupe de robots
ou l’exploitation d’un ensemble de ressources réparties dans un environnement en
passant par le monde des cubes ou la gestion de trafic urbain [GOL 95]. Les
techniques utilisées font essentiellement appel à des techniques d’apprentissage
numérique par renforcement et aux systèmes à base de classifieurs. On trouvera un
ensemble d’articles récents dans [WEI 96].
Page 12
3.4. Réalisation et implémentation d’un système multi-agent
Les questions qui se posent ici portent sur la manière de réaliser des systèmes
multi-agents. Cet aspect prend en compte des techniques de systèmes distribués et
de langages concurrents, tels que les langages d’acteurs.
Architecture en couche
Un système multi-agent conçu autour d’agents communicants possède une
architecture caractéristique qui est illustrée figure 5.
micro-noyau
"CORBA"
micro-Noyau
"natif"
micro-Noyau
"natif"
micro-Noyau
"natif"
ORB
+ Objets
CORBA
Langage de programmation et communications de bas
niveau: Java
Autres langages de
programmation
Agents
assistants
Agents
commerciaux
Agents
applicatifs
Agents de
liaison
Agents
administratifs
Agents de
sécurité
Agents
juridiques
Groupes et gestion des groupes
Protocoles et systèmes de
communications de haut niveau
Figure 5. L’architecture d’un système multi-agent fonctionnant sur réseau.
Le niveau 0 correspond à l’ensemble des ressources disponibles telles que les
mécanismes de communication de bas niveau (sockets Unix, protocoles TCP/IP ou
http, etc.) ainsi que les mécanismes d’exécution parallèles tels que les « threads ».
C’est au dessus de cette couche, qui est utilisée comme un existant, que vient
s’intégrer un système multi-agent proprement dit. Le niveau 1 décrit les couches de
bas niveau d’un système multi-agent : les primitives de communication entre agents
distants (primitives de type KQML), les serveurs de noms permettant à des agents
d’entrer et de sortir du système (procédures de check-in check-out), ainsi que les
moteurs qui implémentent le cycle de base de fonctionnement d’un agent. Ce cycle
est lié à un processus en boucle de type perception/délibération/action. Le niveau 2
correspond à l’ensemble des mécanismes génériques qui sont mis en œuvre dans un
système multi-agent. Il s’agit du niveau fondamental sur lequel porte la plupart des
recherches décrites dans la section précédente : définition de protocoles génériques
de coopération, description d’agents administratifs et de liaison tels que les
« courtiers » (ou brokers) qui mettent en rapport les agents qui demandent et ceux
qui offrent des services, description de langage de contenu généraux, comportements
génériques d'agents, etc. Le niveau 3 enfin traite des applications spécifiques et des
domaines particuliers auxquels on dédie un système multi-agent particulier.
Page 13
Les architectures d’agents à base de tableaux noirs
L'architecture de tableau noir a été l'une des plus utilisée dans les systèmes
multi-agents cognitifs symboliques et elle a donné lieu à une abondante littérature.
Originellement développée dans le cadre de l'intelligence artificielle traditionnelle
(c'est-à-dire, du point de vue de l'IAD, pour réaliser des systèmes mono-agents),
l'architecture de tableau noir s'est rapidement imposée en IAD comme une
architecture suffisamment souple et puissante pour pouvoir implémenter les
mécanismes de raisonnement et de calculs intervenant à l'intérieur des agents,
notamment avec le système DVMT [LES 83].
Le modèle de tableau noir est fondé sur un coupage en modules indépendants
qui ne communiquent directement aucune information, mais qui interagissent
indirectement en partageant des informations. Ces modules, appelés sources de
connaissance ou KS (pour Knowledge Sources), travaillent sur un espace qui
comprend tous les éléments nécessaires à la résolution d'un problème. L'architecture
d'un système à base de tableau noir comprend trois sous-systèmes : 1) Les sources
de connaissance. 2) La base partagée (le «tableau» proprement dit) qui comprend les
états partiels d'un problème en cours de résolution, les hypothèses et les résultats
intermédiaires et toutes les informations que s'échangent les KS. 3) Un dispositif de
contrôle qui gère les conflits d'accès entre les KS, ces derniers intervenant de
manière «opportuniste» c'est-à-dire sans être déclenchés effectivement par un
système centralisé de contrôle. C'est cette partie qui a connu le plus de modifications
au cours de l'évolution de ces architectures. On pourra se reporter à [ENG 88] pour
un panorama général sur les architectures à base de tableaux noirs.
Si dans un premier temps, les systèmes à base de tableau noirs furent considérés
comme des systèmes d'IAD, chaque KS pouvant être perçu comme un agent qui
interagit avec les autres KS, il n'en est plus de me aujourd'hui. Du fait de leur
mécanisme de contrôle très centralisé et de leur manque de mémoire locale et donc
de localité des informations, ces systèmes sont maintenant envisagés comme des
architectures pratiques pour la réalisation de systèmes «intelligents» et, en
particulier, pour implémenter la structure interne d'agents cognitifs symboliques.
Nombre de systèmes multi-agents ont été implémentés de cette manière aux Etats-
Unis [LES 83] et en France [CHE 93] [CAM 94].
L'architecture de tableau noir présente de nombreux avantages dont, en tout
premier lieu, une remarquable souplesse pour décrire des modules et articuler leur
fonctionnement. Son principal inconvénient provient de sa relative inefficacité, due
à la très grande expressivité de son contrôle. De ce fait, ce type d'architecture s'avère
particulièrement utile lors de la phase de prototypage de la réalisation de systèmes
ou lorsque les temps de réponses ne sont pas trop contraints. Néanmoins, des
versions de BB1 [HAY 85] ont montré que même dans des cas il était nécessaire
d'avoir des temps de réponses en temps réel, la gestion fine du contrôle pouvait
accélérer de manière drastique son comportement en prenant les bonnes décisions et
en choisissant les tâches importantes et urgentes au bon moment [HAY 93].
Architectures multi-agents et acteurs
Dans son article initial [HEW 1977], Hewitt développait l’idée qu’il était
possible de repenser la notion de structure de contrôle des langages traditionnels en
Page 14
les reconsidérant comme des schémas (patterns) de communications entre entités
autonomes appelées acteurs. Depuis, les langages d'acteurs, en particulier sous
l'influence de Agha [AGH 1986], de Tokoro [TOK 93] et de Yonezawa [YON 90]
ont surtout été étudiés comme des modèles d'exécution pour la programmation par
objets concurrents. Mais quelques travaux ont voulu rester dans les idées initiales
que prônaient Hewitt et qu'il confirma avec ses notions de «sémantique des systèmes
ouverts» [HEW 91] P. Carle [CAR 92], S. Giroux [GIR 93] et J. Ferber [FER 91],
tout en estimant que les langages d'acteurs sont effectivement de très bons outils
pour l'implémentation de calculs parallèles, considèrent néanmoins qu'ils présentent
des caractéristiques tellement originales qu'ils modifient par leur présence la notion
même d'architecture multi-agents en envisageant les agents et les systèmes multi-
agents comme des extensions naturelles de la notion d'acteur.
La communication entre acteurs s'effectue par envois de messages asynchrones,
les réponses étant renvoyées à un acteur, appelé «customer» chez Hewitt, qui se
charge de traiter la réponse et qui représente la continuation locale du calcul. De
nombreux langages d'acteurs ont été proposés. Les plus célèbres et actuellement
opérationnels sont ABCL [YON 1990], MERING IV [FER 91] et ACTALK [BRI 89].
Ce dernier, qui est conçu comme une extension de SMALLTALK, est à la base d'un
grand nombre de plates-formes multi-agents, le premier en date ayant été MAGES III
[BOU 90], l’un des plus récents étant DINA [GUE 96].
Autre exemple, celui de L. Gasser dont le système MACE [GAS 87], fortement
influencé par les idées de Hewitt, a lui même inspiré la plupart des plates-formes de
développement ultérieures. Le rapport entre acteurs et agents est ainsi des plus
féconds et nul doute que l'avenir verra d'autres travaux tendant à montrer les liens
très étroits qui unissent ces deux concepts.
Environnements de développement
De nombreux environnements de développements de SMA ont été proposés par
des équipes universitaires. Citons en particulier MICE par Ed Durfee de l'université
du Michigan [DUR 89], MAGES [BOU 90], RATMAN [BUR 91] et plus récemment
DESIRE [BRA 96].
Dans le domaine des télécoms, la société GENERAL MAGIC, en collaboration avec
de nombreuses sociétés de télécommunications, et en particulier FRANCE TELECOM,
a développé un système de développement de systèmes multi-agent fonctionnant sur
réseau, TELESCRIPT [LEO 96]. Bien que dans ce système les notions d'agents soient
particulièrement frustres (les agents ne sont ici que de simples processus) il intègre
néanmoins un certain nombre de caractéristiques qui permettent d'ores et déjà
d'écrire des (petites) applications distribuées disposant d'un minimum de capacités
multi-agents. Enfin, le langage JAVA de Sun commence à prendre un essor
considérable et certains le voient comme un challenger particulièrement prometteur
de TELESCRIPT. Bien qu’il dispose de moins de richesses quant à la migration
d’objets et à la sécurité de fonctionnement, plusieurs projets commencent à
promouvoir JAVA comme langage de développement d’agents communicants sur
INTERNET [SEY 96] [LAN 97].
S'il n'existe pas d'ouvrage ni d'article décrivant en détail les problèmes et les
techniques d'implémentation des systèmes multi-agents, on retrouve disséminé ici et
là, et surtout dans les travaux de thèse, un certain nombre d'informations quant à la
Page 15
réalisation effective d'un système multi-agent, qu'il s'agisse de systèmes complets ou
plus simplement de plates-formes de développement. Par exemple [BOU 1992]
décrit une architecture de SMA cognitif en SMALLTALK. On trouvera aussi dans
[JEN 94] une bonne description des problèmes d'implémentation de systèmes multi-
agents industriels, dans [FER 95] une présentation de différentes architectures
d’agent et de SMA et dans [OHA 96] un état de l’art d’un certain nombre de plates-
formes de développement de SMA. Enfin, le livre de J. Müller décrit en détail la
réalisation du système INTERRAP, architecture générale d’agent et de système multi-
agent cognitif [MUL 96].
4. Applications des systèmes multi-agents
Les domaines d'application des systèmes multi-agents sont particulièrement
riches. Nous en citerons seulement les principales directions, toute recherche
d'exhaustivité étant a priori incompatible dans le cadre d’un domaine de recherche
en pleine évolution. On peut considérer qu’il existe, pour l'instant, trois grandes
catégories d’applications des systèmes multi-agents : la conception de systèmes
complexes ouverts ou génie logiciel multi-agent, la simulation multi-agent et la
robotique distribuée.
4.1. Génie logiciel multi-agent
Les SMA proposent une nouvelle technologie de construction de logiciels à
partir des concepts d'agent et d'interaction, en considérant que chaque unité de
programme peut prendre la forme d'un agent qui dispose de sa propre autonomie, de
ses propres objectifs et « vit » sur le réseau comme un animal dans un écosystème
naturel, coopère ou négocie avec d'autres unités de même nature.
L'un des systèmes les plus connus en Europe pour avoir tenté de donner un cadre
opérationnel à ces idées est le système ARCHON (Architecture for Cooperating
Heterogeneous On-line Systems), issu d'un projet ESPRIT qui propose une
architecture générale de SMA pour intégrer différents programmes devant coopérer
ensemble [WIT 92]. L'architecture générale du système est présentée figure 6. La
«tête» d'un agent comprend un gestionnaire de communications de haut niveau qui
s'appuie sur les recommandations de la norme OSI, un modèle des compétences des
autres et de soi sous la forme d'un gestionnaire d'accointances et un système de
planification et de coordination. Un moniteur fait l'interface et la gestion entre la
«tête» et le corps d'un agent composé d'un ensemble de tâches, chacune
correspondant à un module logiciel préexistant. Il est ainsi possible d'encapsuler des
programmes existants à l'aide d'agents ARCHON, et faire ainsi coopérer des
programmes hétérogènes, initialement non coopérants. L'ouvrage [JEN 94] donne
une présentation détaillée du fonctionnement de ce système.
Le système ARCHON constitue un bon exemple de logiciel véritablement
industriel. Commercialisé par la société française Framentec, il a été testé dans de
nombreuses configurations industrielles, en particulier pour surveiller et analyser les
pannes d'un accélérateur de particules. Il a aussi été utilisé dans le domaine de la
Page 16
distribution d'énergie, pour réaliser un logiciel de contrôle de réseaux électriques
Espagnols. Chaque sous-réseau est représenté par un agent qui collabore et gocie
avec les autres agents afin de trouver une solution à ses problèmes locaux [BUR 94].
Figure 6. L’architecture générale du système ARCHON.
De plus en plus, ces travaux se situent au carrefour de l’intelligence artificielle,
des réseaux et des systèmes répartis. Le système OSACA développé au sein du
laboratoire Heudiasyc de l’Université de Compiègne en est un bon exemple
[SCA 96] : il s’agit d’une plate-forme de développement de systèmes multi-agents
qui permet à plusieurs agents de coopérer à la réalisation d’une tâche complexe telle
que la conception distribuée d’un produit [SHE 95]. Les agents OSACA se situent
au sommet d’une architecture en couche de type OSI, ce qui nécessite au préalable la
mise en œuvre de toutes les sous-couches de l’architecture (liaison, réseau, transport,
session et présentation). Les agents communiquent à l’aide d’actes de langages
voisins de ceux de KQML et coordonnent leurs activités en utilisant des protocoles
qui sont des variantes du réseau contractuel (cf. section 3.2). Ce type d’approche
montre que les SMA en sont à un niveau de recherche que l’on qualifie parfois de
« pré-compétitive » pour signifier que leur utilisation industrielle à plus large échelle
dans des applications liées à la concurrence du marché n’est pas loin.
Applications des SMA aux télécommunications
La plus grande gamme d’applications intéressantes pour les systèmes multi-
agents dans le cadre de réseaux de télécommunications semble être celle de
l’intégration de services et le développement du marché électronique. Il s’agit de
mettre en commun des clients et des fournisseurs de services dans une architecture
totalement ouverte, clients et fournisseurs étant des agents électroniques qui
négocient entre eux des échanges de services. Le système multi-agent constitue alors
une sorte de « place de marché électronique », dans lequel les clients émettent des
demandes et les fournisseurs envoient des propositions de services. Finalement des
Module de
communications
Gestionnaire
d’accointances
(modèles de
soi et des
autres)
Module de
planification
et de
coordination
Moniteur
Tâches correspondant
à des modules logiciels
pré-existants
Réseau de communications
Autres agents
Tête
Corps
un agent ARCHON
Page 17
contrats sont établis entre clients et fournisseurs, et tout cela de manière automatique
ou en tous cas avec une intervention humaine réduite.
Un exemple simple, mais néanmoins révélateur, en est donné par le scénario de
l’agence de voyage. Dans cet exemple, un service intermédiaire, l’agence de voyage,
combine différents services (réservations de trains, d’avions et de chambres d’hôtel)
et les propose à des clients électroniques eux aussi (le client peut être un agent
assistant mandaté par l’utilisateur par exemple). Lorsqu'un client établit une
transaction commerciale avec l’utilisateur, un contrat est établit qui termine les
engagements de chacun. Par exemple, si l’horaire d’un avion est modifié, ou si les
prix viennent à changer, l’agence de voyage peut gérer ces modifications en tenant
compte de conditions établies par le client : dates du voyage, prix maximum, etc. De
plus, l’agence de voyage doit tenir compte de contraintes dépendant des services
qu’elle propose (s’il y a deux vols au cours d’un trajet, il faut vérifier que le second
n’a lieu qu’après le premier). C’est ce type de scénario qui est à la base du
développement des travaux de normalisation assurés par la FIPA (cf. section 3.2).
Ce scénario, qui est à la base d’un vaste champ d’applications dans le domaine
des télécommunications nécessite l’établissement d’un langage de communication et
d’interaction normalisé, un langage de description de contenu qui soit à la fois
souple et évolué, une possibilité de valider des comportements et des protocoles
d’interaction, une plate-forme de développement d’applications et d’exécution.
Un certain nombre de projets de ce type sont développés dans la plupart des
grandes compagnies de télécommunications. Par exemple, le projet Pyramide de
France Telecom constitue une expérimentation grandeur nature de l'intégration des
technologies multi-agent pour la réalisation de services de médiations et
d'intégrations dans un univers d'ordinateurs éventuellement nomades [LEO 96].
Outre ces projets, on peut parler de celui de CommerceNet, développé à Stanford en
collaboration avec un ensemble d’industriels importants de la région. CommerceNet
est une infrastructure ouverte pour le développement du marché électronique. Ce
projet a pour objectif affiché de « révolutionner les contacts entre clients,
fournisseurs et développeurs en rendant leurs interactions aussi efficaces que s’il
s’agissait d’interactions entre membres d’un même département ». Tout en étant
sensiblement différent, le projet Bayou de Xerox Parc se situe dans cette mouvance.
Son objectif est de développer une plate-forme de développement et d’exécution
d’applications permettant à des outils de communications mobiles (ordinateurs
portables, PDA (Personal Digital Assistant) de type Newton, etc.), qui sont rarement
« en ligne », d’avoir accès à des informations collectives relativement cohérentes.
Ce type de projet montre bien que la métaphore de l’espace électronique est féconde
et que des organismes de recherche majeurs s’intéressent à cette question.
L’expertise multiple.
La résolution de problèmes au sens large concerne en fait toutes les situations
dans lesquelles des agents logiciels accomplissent des tâches utiles aux êtres
humains. Cette catégorie s'oppose aux applications de robotique distribuée en ce
sens que les agents sont purement informatiques et n'ont pas de structure physique
réelle.
Toutes les applications relevant de la résolution distribuée de problèmes
supposent qu'il est possible d'effectuer une tâche complexe en faisant appel à un
Page 18
ensemble de spécialistes disposant de compétences complémentaires et donc,
lorsque c'est l'expertise ou le mode de résolution qui sont distribués, sans que le
domaine le soit. Lorsque l'expertise est en effet si vaste et complexe qu'elle ne peut
appartenir qu'à une seule personne, il faut faire appel à plusieurs spécialistes qui
doivent travailler ensemble à la poursuite d'un objectif commun.
Ces spécialistes coopèrent entre eux pour résoudre un problème général, tel
qu'un diagnostic médical, la conception d'un produit industriel [IFF 92], l'acquisition
de connaissances, le diagnostic de réseaux [JEN 95], la reconnaissance de formes
[DEM 94], la compréhension de langage naturel [SAB 90], le système de contrôle
et de surveillance d'un réseau de télécommunications [WEI 90], ou la gestion de
processus industriels [PAR 93], etc.
Résolution par coordination
Les agents peuvent aussi servir d'une manière beaucoup plus élémentaire à
résoudre des problèmes au sens classique du terme, c'est-à-dire à tenter de trouver
une solution à quelque chose dont l'énoncé est bien posé et dont l'ensemble des
informations est entièrement disponible. Par exemple, trouver une affectation de
tâches pour une machine outil ou définir un emploi du temps pour un collège,
donner la suite des actions à accomplir pour sortir d'un labyrinthe ou pour faire partir
une fusée, assembler des cubes ou des composants mécaniques, résoudre un casse-
tête ou démontrer un théorème.
Dans ce cas, le domaine n'est pas distribué et l'expertise ne l'est pas non plus. Et
pourtant l'approche multi-agent peut apporter un mode de raisonnement nouveau en
décomposant le problème de manière totalement différente. Par exemple, s'il s'agit
d'empiler des cubes ou d'assembler des pièces mécaniques, on peut considérer que
les cubes ou les pièces sont des agents qui doivent satisfaire des buts précis donnés
par le plan imposé par le concepteur et que les liaisons sont des contraintes que les
agents doivent respecter. C'est exactement le type de problème que sait résoudre de
manière très efficace l'éco-résolution [FER 95]. Dans cette technique, un agent peut
être soit satisfait, en train de fuir, en recherche de satisfaction ou en recherche de
fuite.
Figure 7. Automate d’un agent effectuant de l’éco-résolution
Le graphe de l'automate est donné figure 7. Chaque changement d'état est
caractérisé par un couple de variable d'entrée <agression, gêneurs>, représenté par
Utilisez W ord 6.0c (ou u ltŽrieur)
pour afficher une image Macintosh.
Page 19
les lettres a et g, la valeur ‘x‘ indiquant une indifférence. Une marque '' indique
qu'aucune action n'est effectuée en sortie.
Cette technique a été appliquée à un grand nombre de domaines jouets
(planification de cubes, taquin, tours de Hanoï), mais a aussi inspiré plusieurs
domaines plus généraux: planification temps réel d'ateliers flexibles, robotique
cellulaire et satisfaction de contraintes.
En effet, s'il s'agit de résoudre un problème à base de contraintes, on peut
considérer, comme l'a fait K. Ghedira, [GHE 93] que les tâches et les ressources sont
des agents qui tentent de satisfaire leurs objectifs propres: une tâche désire être
placée et une ressource souhaite être utilisée au mieux, sans avoir trop ni trop peu de
travail. En adoptant une technique semblable à celle de l'éco-résolution et en lui
associant le principe du recuit simulé, K. Ghedira a montré qu’il était capable de
résoudre des problèmes de contraintes très rapidement tout en limitant les
modifications lors d'un changement de donnée. L'idée générale consiste à considérer
les variables et les contraintes comme des agents qui cherchent à trouver un état de
satisfaction. Lorsqu'on demande à une variable de changer de valeur, celle-ci choisit
aléatoirement une valeur de son domaine de définition et demande à ses contraintes
leur opinion, c'est-à-dire si ces valeurs les satisfont ou non. A partir de toutes ces
réponses elle décide d'accepter ou non cette valeur en fonction d'un critère de choix
dépendant d'un mécanisme fondé sur la notion de recuit simulé: plus une variable a
déjà effectué des choix, moins elle aura tendance à accepter une valeur qui satisfait
un moins grand nombre de contraintes. Elle restera de plus en plus «figée» sur ses
choix antérieurs, comme si elle se «gelait» avec le temps.
L'intérêt de cette méthode est de pouvoir facilement se généraliser à des
situations de satisfactions partielles, c'est-à-dire de problèmes pour lesquels il
n'existe aucune solution globale, et de trouver rapidement une solution. Enfin, des
modifications légères de l'ensemble des contraintes ne remettent pas en cause
l'ensemble des situations déjà trouvées. Les insatisfactions se propageront de proche
en proche aux variables et aux autres contraintes, et le système privilégiera donc les
solutions proches des solutions déjà trouvées. Une autre approche fondée sur une
conception distribuée de la satisfaction de problèmes a été proposée dans [LIU 93],
mais elle ne semble pas offrir pour l'instant d'aussi bons résultats que celle de
K.Ghedira.
Méthodologie multi-agent
Concevoir de tels systèmes relève actuellement d’un art et peu de travaux ont été
réalisés dans le sens de la définition d’une méthodologie multi-agent. Citons
néanmoins la méthode d’analyse Cassiopée, destinée à trouver la bonne organisation
multi-agent en fonction des contraintes structurelles et fonctionnelles issues du
problème à résoudre [CAR 95] [COL 96].
4.2. La simulation multi-agent
La simulation est une branche très active de l'informatique qui consiste à
analyser les propriétés de modèles théoriques du monde environnant. La physique,
la chimie, la biologie, l'écologie, la géographie et les sciences sociales notamment
Page 20
font un grand usage des simulations pour essayer d'expliquer et de prévoir les
phénomènes naturels. Pour cela, les chercheurs de ces différentes disciplines
construisent des modèles de la réalité, puis testent leur validité en les faisant
«tourner» sur des ordinateurs. Généralement, ces modèles sont donnés sous la forme
de relations mathématiques entre des variables représentant des grandeurs physiques
mesurables dans la alité. Les modèles les plus utilisés sont les équations
différentielles, les matrices de transitions, etc. Elles reposent sur la définition d'une
relation de cause à effet entre des variables d'entrées et des variables de sorties. Bien
qu'ayant permis de nombreuses avancées sur le plan théorique et pratique [PAV 94],
ces modèles et les techniques de simulation numérique associées, présentent
néanmoins certains problèmes (étanchéité du niveau d’analyse, complexité et faible
réalisme de certains paramètres, difficulté à modéliser l’action, carence qualitative,
etc.).
Les systèmes multi-agents apportent une solution nouvelle au concept même de
modèle et de simulation dans les sciences de l'environnement, en proposant de
représenter directement les individus, leurs comportements et leurs interactions sous
la forme d’entités informatiques disposant de leur propre autonomie. Par exemple,
dans un modèle multi-agent de population, on représentera directement les individus
sous la forme d'agents, et la quantité d'individus d'une espèce donnée sera le résultat
des confrontations (coopération, lutte, reproduction) des comportements de tous les
individus représentés dans le système.
L'intérêt de ces simulations est de pouvoir considérer aussi bien des paramètres
quantitatifs (c'est-à-dire des paramètres numériques) que qualitatifs (des
comportements individuels faisant éventuellement appel à des raisonnements
stratégiques). Ce sont des constructions de «micro-mondes artificiels» dont il est
possible de contrôler toutes les caractéristiques et de reproduire des séries
d'expérimentations comme s'il s'agissait de situations de laboratoire. On se trouve
donc en présence d'une modélisation analogique, semblable aux maquettes de format
réduit utilisées en aéronautique ou en construction navale, la différence essentielle
provenant du fait que le modèle réduit est exprimé sous la forme d'une entité
informatique et non d'une structure physique. Ici, il ne s’agit donc pas de soudre
un problème au sens nous l’avions défini plus haut mais d’étudier la dynamique
d’un système multi-agent et de comparer cette dynamique avec celle d’un système
réel.
Les systèmes multi-agents présentent l’avantage de pouvoir modéliser des
situations complexes dont les structures globales émergent des interactions entre
individus, c'est-à-dire de faire surgir des structures du niveau macro à partir de
modélisations du niveau micro, brisant ainsi la barrière des niveaux si criante dans
les modélisation classiques. De nombreuses modélisations utilisant les systèmes
multi-agents ont été proposés. Citons notamment MANTA [DRO 92], système de
simulation de colonies de fourmis, SIMDELTA, pour la simulation d’éco-systèmes
[BOU 93], SIMPOP pour la simulation de dynamiques inter-urbaines [BUR 94] et
EOS pour la simulation de peuplements préhistoriques [DOR 94].
Page 21
4.3. La robotique distribuée
La robotique distribuée porte sur la réalisation non pas d'un seul robot, mais d'un
ensemble de robots qui coopèrent pour accomplir une mission. A la différence du
domaine d'application précédent (la construction de mondes hypothétiques) la
robotique distribuée utilise des agents concrets qui se déplacent dans un
environnement réel. Le domaine de la robotique distribuée recouvre en fait trois
ensembles de techniques bien distinctes : la robotique cellulaire, la productique
distribuée et la robotique mobile:
1. La robotique «cellulaire» s'intéresse à la constitution modulaire de robots.
Dans ce cadre, un robot sera considéré comme un système multi-agent et chacun de
ses composants sera regardé comme un agent. La réalisation d'un mouvement sera
alors le résultat de la coordination d'un ensemble d'agents. Des techniques
semblables à celle que nous avons vu avec l'éco-résolution (voir plus haut)
permettent d'accomplir des gestes complexes avec un minimum de calcul. A partir
d'idées semblables les recherches menées parallèlement par l'équipe de J. Perram au
Danemark [OVE 94] et de D. Duhaut en France [REG 95], ont produit des modèles
de déplacement de bras manipulateur dans lesquels chaque élément du bras est
considéré comme un agent, les articulations décrivant des contraintes pour
l'ensemble des mouvements acceptables. L'agent de tête cherche à satisfaire le but
qui lui est donné, par exemple souder deux pièces entre elles ou prendre un objet sur
une table. S'il peut le faire lui-même, il effectue le déplacement, et le système
s'arrête. Sinon, il entraîne l'agent qui le suit en lui donnant des buts pour que l'agent
de tête se rapproche de son propre objectif. Le processus se répète récursivement,
chaque agent cherchant à satisfaire les buts qu'on lui propose en transmettent ses
desiderata à l'agent suivant. Les calculs s'expriment simplement et s'exécutent très
rapidement. De plus, à l'encontre des techniques classiques utilisées en robotique,
l'augmentation du nombre de degrés de libertés (c'est à dire du nombre
d'articulations) améliore la vitesse de résolution du problème. Ce type de modèle est
suffisamment souple pour être effectivement utilisé dans des environnements
industriels. Le système de J. Perram, par exemple, est utilisé pour programmer des
robots soudeurs au chantier naval d'Odense.
2. La productique distribuée. Construire une cellule autonome de production
est un exemple particulièrement intéressant pour tester des hypothèses concernant
les différentes manières de concevoir des systèmes multi-agents. Le problème peut
être défini ainsi: supposons que l'on doive construire des produits manufacturés,
A
1
,..,A
k
à partir d'un ensemble de robots machines M
1
,..,M
n
et de matière première,
P
1
,..,P
j
, et que l'on dispose d'un ensemble de robots transporteurs T
1
,..,T
m
pour
porter les produits intermédiaires d'une machine à une autre. Sachant que la matière
première arrive à un bout de l'atelier de production, et que les produits manufacturés
partent d'un autre bout, comment organiser cette unité de production, de manière
qu'elle puisse agir à toute modification de la demande. Même si ce problème
ressemble beaucoup à un problème de recherche opérationnelle, il en diffère
néanmoins par le fait que l'on ne demande pas seulement de prévoir la meilleure
manière d'arranger les différentes unités de l'atelier, mais aussi de définir les
programmes de chacune de ces unités de façon qu'elles puissent travailler ensemble
Page 22
et donc coordonnent leur travail en réagissant à des pannes éventuelles tout en
pénalisant le moins possible l'ensemble de la production.
Une réalisation particulièrement intéressante a été effectuée par C. Sohier et
P. Bourdet de l'ENS-Cachan. Ils ont développé un planificateur de tâches en temps
réel pour atelier flexible cellulaire fondé sur l'approche multi-agent. Chaque élément
de l'atelier (tapis roulant, robot manutentionnaire, conteneurs, fraiseuses, etc.) est
représenté sous la forme d'un agent dont le comportement est tiré des principes de
l'éco-résolution, dont nous avons parlé plus haut. Du fait de la nature hautement
adaptative du système, il est possible de modifier les demandes ou les ressources en
temps réel: le système se réorganise en temps réel pour que chacun des agents soit
satisfait [SOH 93].
3. La robotique mobile fait intervenir au moins deux robots qui doivent
coordonner leurs déplacements et coopérer à l'accomplissement de tâches telles que
nettoyer le plancher, surveiller des bâtiments, intervenir pour secourir des personnes,
réparer des canalisations ou explorer des espaces lointains ou dangereux. Pour
l'instant tous ces projets sont plutôt à l'état de recherches, mais de nombreuses
contributions ont été avancées dans ce domaine, notamment par M. Mataric
[MAT 94], L. Steels [STE 94] et J.-L. Deneubourg [BEC 94].
La coordination de véhicules, qu'il s'agisse d'avions, de voitures ou de bateaux,
fait aussi partie de ce domaine d'application. Plusieurs véhicules, en se déplaçant,
risquent de se gêner mutuellement. Par exemple, deux avions qui évoluent dans des
secteurs voisins, ou deux voitures qui sont sur la même route doivent faire attention
de ne pas se rencontrer. Les risques de collision sont d'autant plus importants que les
véhicules sont proches les uns des autres et que leurs trajectoires les amènent à se
croiser. Il s'agit alors de coordonner leurs mouvements de manière à ce que chacun
d'entre eux puisse aller là où il désire aller sans entrer en collision. Dans une variante
de ce problème, on demande à certains véhicules d'avancer en formation à la
manière des oies sauvages ou des escadrilles aériennes. Le problème est alors plus
complexe puisqu'il s'agit de faire évoluer ensemble des véhicules de manière que la
structure de la formation reste constante.
Les premières tentatives de résolution ont été effectuées dans le domaine du
contrôle de trafic aérien et mirent en œuvre des agents cognitifs [CAM. 83]
[CHA 89] mais avec des résultats très limités. Les approches plus actuelles font
usage d'agents réactifs, comme nous allons le voir ci-dessous.
Les techniques élémentaires de coordination collective
Le premier à s'être intéressé à la coordination collective de déplacement est
Craig Reynolds. En 1987, il produisit un modèle de meute fondé sur l’usage de
comportements réactifs [REY 87]. Le comportement agrégatif de l’ensemble de ses
agents qu'il appelle «boids» (prononcer «boïd») est un phénomène émergent qui
résulte de leur interaction, chaque boid se contentant de suivre les règles
comportementales suivantes :
1. Maintenir une distance minimale par rapport aux autres objets dans
l'environnement et en particulier les autres boids.
2. Adapter sa vitesse à la moyenne de celle de ses voisins.
3. Aller vers le centre de gravité des boids voisins.
Page 23
Ces règles sont suffisantes pour que les boids adoptent un comportement
semblable à ceux d'un vol d'oiseaux migrateurs. A l’encontre des escadrilles
aériennes, qui possèdent un chef, les boids évoluent sans leader et sans contrôle
global. Parfois la meute se divise et produit deux groupes qui se meuvent
indépendamment l'un de l'autre. Parfois aussi deux sous-groupes se réunissent pour
produire un nouveau groupe. Ces évolutions découlent simplement de la définition
locale du comportement de ces boids.
Robots collectifs
Les agents réactifs peuvent faire preuve d'une grande souplesse dans
l'élaboration et montrer des comportements collectifs émergents relativement
spectaculaires à partir de principes très simples. En reprenant les travaux de C.
Reynolds et en les adaptant à des robots réels, M. Mataric a constitué de véritables
meutes robotiques [MAT 94]. Chaque robot dispose d'une batterie de
comportements de haut niveau qu'il sélectionne en fonction de la situation dans
laquelle il se trouve : évitement de collision, filature d'un autre robot, dispersion et
répartition sur un territoire, agrégation, guidage sur un but. Ces comportements font
appel à des primitives de bas niveau tels que la perception par infrarouge d'un
obstacle ou le calcul d'une distance par sonar. Le comportement de meute y est
donné comme la somme pondérée des comportements d'évitement, de filature,
d'agrégation et de dispersion. D'après M. Mataric, le comportement de meute est très
difficile à implémenter lorsqu'il s'agit de véritables robots, à cause de la dynamique
propre de leur mécanique ainsi qu'aux limitations des capteurs. Il faut alors jouer sur
les paramètres de pondération et faire attention que les robots ne cherchent pas trop
à s'éloigner ou, au contraire, en viennent à former des groupes trop compacts qui
gêneraient leurs évolutions. Néanmoins, et à condition de bien ajuster ces
paramètres, il est possible de faire émerger de tels comportements, que les agents
soient simulés ou réels. On peut cependant se poser la question de savoir si les
problèmes viennent effectivement des capteurs ou bien s'ils proviennent d'une
analyse encore trop élémentaire des comportements.
Les bancs de poissons
En effet, si ces approches s'inspirent de la nature, elles n'ont parfois qu'un
lointain rapport avec la manière dont les animaux se comportent effectivement.
Comment ces animaux font-ils pour évoluer ainsi en groupe et accomplir parfois des
figures fort complexes? Comment synchronisent-ils leurs actions sans leader ?
C'est pour répondre à ces questions qu'un projet de recherche mettant en contact
des chercheurs de l'Orstom, J.-P. Treuil et P. Fréon, et l'équipe MIRIAD du LAFORIA,
a développé un programme de simulation de bancs de poissons, ICHTYUS, montrant
comment il est possible de comprendre leur constitution et leur évolution à partir de
considérations entièrement distribuées [MES 94]. Un banc de poisson est une
agrégation spatiale d'un certain nombre d'individus fondée sur une approche
égalitaire, tous les membres ayant la même influence. Ces bancs ont des
comportements collectifs particulièrement intéressants, car leurs mouvements
semblent parfaitement synchronisés comme s'ils répondaient tous au même signal ou
s'il existait un organe de commande.
Page 24
L'approche distribuée permet de rendre compte de ce phénomène. Il suffit de
considérer que chaque poisson est un agent dont la direction est fonction de
l'influence de l'ensemble de ses voisins, c'est-à-dire des poissons se trouvant à
proximité, et que le comportement collectif émerge de ces interactions. Chaque
poisson calcule la direction qu'il doit prendre en fonction de sa propre direction
antérieure et des directions et des positions des différents poissons qui l'entourent, en
effectuant un calcul de somme vectorielle pondérée par la distance, suivant
l’équation :
)]()1(])1()1()1([[)(
1 1
tBbtVctRcbNormtV
i i
n
j
n
j
ijijijiji
!!!!
++=
= =
βα
c est un coefficient relatif à la prise en compte relative des positions ou des
vitesses (plus c est proche de 1 plus les poissons se rapprochent du barycentre de
leurs voisins, et plus il est près de 0 plus ils privilégient le fait d’aller dans la me
direction qu’eux), est le vecteur (normé) qui relie la position de i à j,
!
B t( )
est un
vecteur normé dont la direction est aléatoire, b est le coefficient qui règle
l'importance du bruit dans le mouvement d'un poisson (plus b est proche de 0, plus
le mouvement du poisson est aléatoire), Norm est la fonction de normalisation du
vecteur et où
α
ij
et
β
ij
sont des composants d'amortissement qui dépendent de la
distance du poisson i au poisson j. Lorsque la distance est égale à 0, l'influence du
poisson j sur le poisson i est maximale (égale à 1) et elle tend vers 0 lorsque la
distance de i à j est supérieure ou égale à une distance de perception définie a priori.
Figure 8. Les poissons se rassemblent en bancs à partir d’attractions locales
A partir d'une situation initiale, dans laquelle les poissons sont placés de manière
aléatoire, et en faisant tourner une simulation portant sur plusieurs cycles (de 40 à
100 cycles environ), on constate que les poissons tendent en effet à construire des
bancs dans lesquels les agents coordonnent leurs mouvements pour aller dans la
même direction et éviter les obstacles (figure 8).
Néanmoins ces techniques ne sont pas exemptes de problèmes: lorsque des
agents se déplacent, leurs champs de potentiels sont continuellement modifiés et les
trajectoires que suivent les agents deviennent parfois aberrantes. Par exemple, la
figure 9 montre une situation caractéristique introduite par des champs de potentiels.
L’idée générale est de faire en sorte que deux agents qui se déplacent et cherchent à
s’éviter suivent un gradient de potentiel obtenu par la somme d’un champ
d’attraction vers un but et d’un champ de répulsion donné par l’obstacle :
r
R
ij
r
V
i
Page 25
! ! !
U p U p U p
attr repuls
( ) ( ) ( )= +
Deux agents qui suivent des routes qui se croisent cherchent à s'éviter et donc à
fuir. Pour s’éviter mutuellement, chaque agent s’éloigne de son voisin en incurvant
sa trajectoire. Bien que ces réactions soient logiques du point de vue de chaque
agent, elles conduisent à des modifications de trajectoires inadéquates. Cela est
au fait que, en utilisant simplement des techniques fondées sur le gradient de
potentiels, les agents n'arrivent pas à tenir compte du déplacement des autres agents,
la prise de décision locale ne permettant pas de résoudre le problème de manière
globale.
Figure 9. Une conséquence malheureuse de l'utilisation de champs de
potentiels, les agents n’arrivant jamais à leur destination (a), et sa résolution
par des techniques d’évitement (b)
Il est cependant possible de résoudre ce problème en introduisant une nouvelle
force, une force de glissement qui s'applique perpendiculairement au champ de
potentiel [ZEG 93a]. Des situations intéressantes émergent de ce type de
coordination d'actions. Si les conditions initiales sont telles que plusieurs agents
doivent s'éviter simultanément, alors ce mécanisme d'évitement engendre des
structures dynamiques de tourbillon, comme si les agents tournaient autour d'un
rond-point (figure 9). K. Zeghal a implémenté cette technique dans le système
CRAASH qui simule l'évolution d'un ensemble d'avions disposant ou non de son
système d'anti-collision [ZEG 93b]. Il a ainsi été montré que plus d'une cinquantaine
appareils civils (Airbus, Boing, etc.) sont capables d'évoluer dans une même zone
sans entrer en collision.
5. Conclusion
Les systèmes multi-agents commencent à sortir de leur stade d’enfance pour
entrer dans celui de la maturité. Ils proposent une vision renouvelée de
l’informatique, cue comme un prolongement théorique aux techniques à objet, en
mettant encore plus l’accent sur la décentralisation des calculs et des prises de
décision, sur l’autonomie des contrôles locaux, et sur l’interaction entre entités
faiblement couplées. Ces considérations proposent en fait, plus qu’une simple
extension, une véritable rénovation dans la manière de concevoir des systèmes
informatiques.
(a)
(b)
Page 26
J’ai propo dans [FER 95] d’utiliser un terme plus général que SMA pour
décrire l’ensemble des recherches et réalisations mettant en valeur la
décentralisation des calculs, et les nécessaires techniques de coopération qui en
découlent. Il s’agit de la « kénétique », du grec koïnon, ce qui est commun. La
« kénétique » (sous ce vocable ou sous un autre) sera aux années 2000 ce qu’a été la
cybernétique aux années 50 et 60 : un creuset fantastique d’idées, de théories et de
techniques qui se traduisent encore aujourd’hui sous le terme de théorie de
l’information, théorie du contrôle et analyse systémique en fonction du domaine
d’application.
C’est devant un enjeu considérable que se situe la kénétique, et donc les
systèmes multi-agents. Elle est en train de développer des formalismes et des
techniques qui lui font dépasser le stade pionnier dans lequel elle s’est située
pendant de longues années. Bien qu’étant encore au début de ses possibilités, il ne
fait nul doute que les prochaines années apporteront leur lot de théories, de
méthodologies, d’environnement de développements et d’applications réelles qui la
feront accéder à l’une des places majeures de l’informatique. Gageons que, de même
que les systèmes à objets ont envahi l’ensemble du champ informatique, la
technologie multi-agents, pour l’instant encore très jeune, se répandra naturellement
dans les applications dans les années à venir au fur et à mesure de la prise de
conscience de la difficulté de réaliser des systèmes logiciels complexes et ouverts.
Le génie logiciel deviendra alors « multi-agent » comme il est aujourd’hui « objet ».
6. Bibliographie
[AGH 86] AGHA G. Actors: A Model of Concurrent Computation for Distributed Systems.
MIT Press, 1986.
[ALA] ALAMI R., ROBERT F., INGRAND F. et SUZUKI S. A paradigm for plan-merging and its
use for multi-robot cooperation. IEEE Int. Conf. on Systems, Mans and Cybernetics, San
Antonio (USA), 1995.
[AUS 62] AUSTIN J. L. How to Do Things With Words. Clarendon Press, 1962.
[BEC 94] BECKERS R., HOLLAND O. E. et DENEUBOURG J.-L.. From Local Actions to Global
Tasks: Stigmergy and Collective Robotics. Artificial Life IV, R. Brooks et P. Maes (Ed.),
MIT Press, Boston, 1994.
[BOU 90] BOURON T., FERBER J., SAMUEL F. MAGES : a Multi-Agent Testbed for
Heterogeneous Agents, In Decentralized AI II, Y. Demazeau et J.-P. Müller (Eds), North-
Holland, 1990.
[BOU 92] BOURON T. Structures de communication et d'organisation pour la coopération
dans un univers multi-agents. Thèse d'université, Université Paris 6, 1992.
[BOU 93] BOUSQUET F., CAMBIER C., MULLON C., MORAND P., QUENSIERE J, et PAVÉ A.,
Simulating the Interaction between a Society and a Renewable Resource, Journal of
Biological Systems, vol. 1, pp. 199-214, 1993.
[BRA 96] BRAZIER F., DUNIN-KEPLICZ B., JENNINGS N., TREUR J. DESIRE : modelling multi-
agent systems in a compositional formal framework, Int Journ. of Cooperative
Information Systems, M. Huhns, M. Singh (eds), special issue on Formal Methods, 1996.
Page 27
[BRI 89] BRIOT J.-P. Actalk: a Testbed for Classifying and Designing Actor Languages in the
Smalltalk-80 Environment. Proc. of ECOOP '89, 109-129, Nottingham, UK, 1989.
[BUR 94] BURA S., PUMAIN D., SANDERS L., GUÉRIN-PACE F., et MATHIAN H., Multi-Agent
Systems and the Dynamics of a Settlement System, Geographical Analysis, 1994.
[BUR 91] BÜRCKERT H.-J., MÜLLER J. RATMAN: Rational Agents Testbed for Multi-Agent
Networks. In Decentralized AI 2, Demazeau Y. et Müller J.-P. (Ed.), Elsevier, 1991.
[BUR 94] BURG B., ARLABOSSE F. ARCHON: une plateforme industrielle pour l'intelligence
artificielle distribuée. Deuxièmes journées francophones sur l’IAD et les SMA
(JFIADSMA'94), Demazeau Y. et Pesty S. (Ed.), IMAG, Voiron, 1994.
[CAM 94] CAMBIER C. SIMDELTA: un système multi-agent pour simuler la pêche sur le
Delta Central du Niger. Thèse d'université, Paris 6, 1994.
[CAM 83] CAMMARATA S., MCARTHUR D. et STEEB R. Strategies of Cooperation in
Distributed Problem Solving. Proc. of the 1983 IJCAI Conference, 1983.
[CAR 92] CARLE P. Un Langage d'acteur pour l'intelligence artificielle distribuée intégrant
objets et agents par réflexivité compilatoire. Thèse d'université, Paris 6, 1992.
[CAR 95] CARLE P., COLLINOT A. et ZEGHAL K. Cassiopeia: a Method for Designing
Computational Organizations. DIMAS'95, International Workshop on Decentralized
Intelligent and Multi-Agent Systems, Krakovie, Pologne, 1995.
[CHA 89] CHAIB-DRAA B. Contribution à la résolution distribuée de problème: approche
basée sur les comportements intentionnels des agents. Thèse d'université, Université de
Valenciennes, 1989.
[CHE 93] CHEVRIER V. Etude et mise en œuvre du paradigme multi-agent: de Atome à
Gtmas. Thèse d'Université, Nancy I, 1993.
[COH 90a] COHEN P. R., LEVESQUE H. J. Intention is Choice with Commitment. Artificial
Intelligence 42, pp. 213-261, 1990.
[COH 90b] COHEN P. R, LEVESQUE H. J. Rational Interaction as the Basis for
Communication. In Intentions in Communications, Cohen P. R., Morgan J. et Pollack M.
E. (Ed.), 508. MIT Press, 1990.
[COH 95] COHEN P. R., LEVESQUE H. J. Communicative Actions for Artificial Intelligence.
First International Conference on Multi-Agent Systems (ICMAS'95), Lesser V. (Ed.),
MIT Press, San Francisco, 1995.
[COL 96] COLLINOT A., DROGOUL A. Agent Oriented Design for a Soccer Robot Team.
International Conference on Multi-Agent Systems (ICMAS'96), Tokoro M. (Ed.), AAAI
Press, 41-47, Kyoto, 1996.
[DEC 92] DECKER K., DURFEE E. Generalizing the Partial Global Planning Algorithm.
International Journal on Intelligent Cooperative Information Systems ,319-346, 1992.
[DEM 94] DEMAZEAU Y., BOISSIER O. et KONING J.-L. Using Interaction Protocols to Control
Vision Systems. IEEE Int. Conf. on Systems, Man and Cybernetics, 1994.
[DOR 94] DORAN J., PALMER M., GILBERT N., The EOS Project: Modelling Upper
Palaeolithic Social Change, in Simulating Societies, N. Gilbert (Ed), UCL Press, 1994.
Page 28
[DRO 92] DROGOUL A., FERBER J., CORBARA B. et FRESNEAU D. A Behavioral Simulation
Model for the Study of Emergent Social Structures. Towards a Practice of Autonomous
Systems, Bourgine P. et Varela F. (Ed.), MIT Press, pp161-170, Paris, 1992.
[DUR 89] DURFEE E., MONTGOMERY T. MICE: A Flexible Testbed for Intelligent
Coordination Experiments. 9th Workshop on DAI, Benda M. (Ed.), Boing, Seattle, 1989.
[DUR 91] DURFEE E. H., LESSER V. R. Global Partial Planning: A Coordination Framework
for Distributed Hypothesis. IEEE Trans. on Systems, Man and Cybernetics 21 (5), 1991.
[ENG 88] ENGELMORE R., MORGAN T. Blackboard Systems. Addison-Wesley, 1988.
[FER 91] FERBER J., CARLE P. Actors and Agents as Reflective Concurrent Objects: a Mering
IV Perspective. IEEE Trans on Systems, Man and Cybernetics 21 (6), 1991.
[FER 95] FERBER J. Les Systèmes multi-agents. InterEditions, 1995.
[FER 96] FERBER J., MÜLLER J.-P. Influences and reaction: A model of situated multiagent
systems. in 2nd Int. Conf. on Multi-Agent Systems. M. Tokoro (ed), AAAI Press, 1996.
[FIN 94] FININ T., FRITZSON R., MCKAY D., MCENTIRE R. KQML as an Agent
Communication Language. 3rd Int. Conf. on Information and Knowledge Management
(CIKM'94), ACM Press, 1994.
[GAS 87] GASSER L., BRAGANZA C., HERMAN N. MACE: a Flexible Testbed for Distributed
AI Research. In Distributed Artificial Intelligence, Huhns M. N. (Ed.), Pitman, 1987.
[GHE 93] GHEDIRA K., MASC: une approche multi-agents des problèmes de satisfaction de
contraintes, Thèse ENSAE, Toulouse, 1993.
[GIR 93] GIROUX S. Agents et systèmes, une nécessaire unité. Thèse de Doctorat, Univ. de
Montréal, 1993.
[GOL 95] GOLDMAN C., ROSENSHEIN J. Mutually supervised learning in multiagent systems.
In Adaptation and Learning in Multi-Agent Systems, Weiss G. et Sen S. (Ed.), LNAI
1042. Springer Verlag, 1995.
[GUE 96] GUESSOUM Z., DOJAT M. A Real-Time Agent Model in an Asynchronous-Object
Environment. In Agents Breaking Away (proc. of Maamaw'96, Eindhoven), Van de Velde
W. et Perram J. (Ed.), LNAI 1038. Springer-Verlag, 1996.
[HAY 85] HAYES-ROTH B. A Blackboard Architecture for Control. Artif. Intel. 26 (3), 1985.
[HAY 93] HAYES-ROTH B., COLLINOT A. A Satisficing Cycle for Real-Time Reasoning in
Intelligent Agents. Expert Systems with Applications 7, pp. 31-42, 1993.
[HAY 96] HAYNES T., SEN S. Evolving behavioral strategies in predators and prey. In
Adaptation and Learning in MAS, Weiss G. et Sen S. (Ed.), LNAI 1042. Springer, 1996.
[HEW 77] HEWITT C. Viewing Control Structures as Patterns of Message Passing. Artificial
Intelligence 8 (3), 323-374, 1977.
[HEW 91] HEWITT C. Open Information Systems Semantics for Distributed Artificial
Intelligence. Artificial Intelligence (special issue on foundations of AI) 47 (1-3), 1991.
[IFF 92] IFFENECKER C., FERBER J. Using Multi-Agent Architecture for Designing
Electromechanical Products In Actes de la conf. sur les systèmes experts, Avignon, 1992.
[JEN 1994] JENNINGS N. Cooperation in Industrial Multi-Agent Systems. Vol. 43, World
Scientific Press, 1994.
Page 29
[JEN 95] JENNINGS N., CORERA J. M., LARESGOITI I. Developing Industrial Multi-Agent
Systems. First Int. Conf. on Multi-Agent Systems, Lesser V. (Ed.), MIT Press, 1995.
[LAN 97] LANGE, OSHIMA. Programming Mobile Agents in Java with the Java Aglet API.
Book on line. http://www.trl.ibm.co.jp/aglets/aglet-book/, 1997.
[LEO 96] LEONNEC J.-Y. Etude de cas: le projet Pyramide. 8ème forum France Telecom
Recherche, France Telecom, Paris, 1996.
[LES 83] LESSER V., CORKILL D. The Distributed Vehicle Monitoring Testbed: A Tool for
Investigating Distributed Problem Solving Networks. AI Magazine 4 (3), pp. 15-33, 1983.
[LIU 93] LIU J. S., SYCARA K., Emergent Constraint Satisfaction through Multi-Agent
Coordinated Interaction, Maamaw'93, Neuchâtel, in LNAI 957, pp. 107-121, 1993.
[MAT 94] MATARIC M. J. Learning to Behave Socially. In From Animals to Animats 3,
Proceedings of the Third International Conference on Simulation of Adaptive Behavior,
D. Cliff, Ph. Husbands, J.-A. Meyer et S. Wilson (Ed.), MIT Press, pp 453-462, 1994.
[MES 94] MESLÉ R. ICHTYUS: architecture d'un système multi-agents pour l'étude de
structures agrégatives. LAFORIA, Université Paris 6, Rapport de DEA 1994.
[MUL 96] MÜLLER J. P. The Design of Intelligent Agents. LNAI 1177. Springer, 1996.
[OHA 96] O’HARE G., JENNINGS N. Foundations of DAI, Wiley, 1996.
[OVE 94] OVERGAARD L., PETERSEN H. G., PERRAM J.., Motion Planning for an Articulated
Robot: a Multi-Agent Approach, in Distributed Software Agents and Applications
(Maamaw'94), vol. LNAI 1069, J.-P. Müller, and J. Perram (Eds). Springer Verlag, 1994
[PAR 93] PARUNAK H. V. D. Industrial Applications of Multi-Agent Systems. Industrial
Technology Institute, Rapport de recherche 1993.
[PAV 94] PAVÉ A., Modélisation en biologie et en écologie. Aléas, Lyon, 1994.
[RAO 92] RAO A., GEORGEFF M. Social Plans: Preliminary Report. In Decentralized AI 3.
Proc. of MAAMAW'91, Werner E. et Castelfranchi C. (Ed.), North Holland, 1992.
[REG 95] REGNIER S., DUHAUT D., Une approche SMA pour la résolution de problèmes
robotiques, 3ème journ. franco. sur l’IAD et les SMA (JFIADSMA'95), Chambéry, 1995.
[REY 87] REYNOLDS C. Flocks, Herds ans Schools: A Distributed Behavioral Model.
Computer Graphics 21 (4), pp. 25-34, 1987.
[ROB 96] ROBERT F. Coopération multi-robot par insertion incrémentale de plans. Doctorat
de l’INPT, Laas, Toulouse, Juin 1996.
[ROS 94] ROSENSCHEIN J., ZLOTKIN G., Rules of encounter : Designing conventions for
automated negotiation among computers, MIT Press, 1994.
[SAB 90] SABAH G. CARAMEL: A Computational Model of Natural Language
Understanding using Parallel Implementation, ECAI 90, Stockholm, 1990.
[SAD 91] SADEK D. Attitudes mentales et interaction rationnelle: vers une théorie formelle de
la communication. Thèse de Doctorat de l’Université de Rennes I, France, 1991.
[SCA 96] SCALABRIN E., VANDENBERGHE L., AZEVEDO H. D., BARTHÈS J.-P. A Generic
Model of Cognitive Agent to Develop Open Systems. 13th Brazilian Symposium on
Artificial Intelligence, SBIA'96, Borges D. L. et Kaestner C. A. A. (Ed.), Springer Verlag,
1996.
Page 30
[SEA 69] SEARLE J. R. Speechs Acts. Cambridge University Press, 1969.
[SEG 96] SEGHROUCHNI A. E. F., HADDAD S. A Recursive Model for Distributed Planning.
2nd Int. Conf. on Multi-Agent Systems, Tokoro M. (Ed.), AAAI Press, Nara, 1996.
[SEY 96] SEYRAT C. JavaNetAgent : Un environnement d’exécution d’agents mobiles pour le
développement de systèmes multi-agents coopératifs sur Internet. Rapport de DEA,
LAFORIA, 1996.
[SHE 95] SHEN W., BARTHÈS J.-P. DIDE: a Multi-Agent Environment for Engineering
Design. 1st Int. Conf. on Multi-Agent Systems, Lesser V. (Ed.), AAAI - MIT Press, 1995.
[SHO 93] SHOHAM Y. Agent Oriented Programming. Artif. Intelligence 60 (1), 1993.
[SMI 79] SMITH R. G. A Framework for Distrib. Problem Solving. Proc. of IJCAI'79, 1979.
[SOH 93] SOHIER C., BOURDET P., Real Time Scheduling of a Production Cell Based on a
Multi-Agent System, Int. Conf. on Indust. Engin. and Product. Management. Mons, 1993.
[STE 94] STEELS L. The Artificial Life Roots of Artificial Intelligence. Artif. Life 1(1), 1994.
[TAN 93] TAN M. Multi-Agent reinforcement learning: Independent vs. cooperative agents.
Proc. of the 10th International Conference on Machine Learning, pp. 330-337, 1993.
[TOK 93] TOKORO M. The Society of Objects. Proc. of the OOPSLA'93 Conference, 1993.
[VAN 88] VANDERVEKEN D. Les actes de discours. Liège, Pierre Mardaga, 1988.
[WEI 90] WEIHMAYER R. et Brandau R. A Distributed AI Architecture for Customer
Network Control. GLOBECOM'90, San Diego, 1990.
[WEI 93] WEISS G. Learning to coordinate actions in multi-agent systems. Proc. of the 1993
International Joint Conference on Artificial Intelligence, 311-316, Chambery, 1993.
[WEI 96] WEISS G., SEN S. (Eds). Adaptation and Learning in Multi-Agent Systems, IJCAI’95
Workshop proc., Montréal, Canada, August 1995, LNCS 1042, Springer Verlag, 1996.
[WIT 92] WITTIG T., ed. ARCHON: An Architecture for Multi-Agent Systems. Chichester,
Ellis Horwood, 1992.
[WOO 94] Wooldridge M. et Jennings N. Towards a Theory of Cooperative Problem
Solving. MAAMAW'94, Demazeau Y., Muller J.-P. et Perram J. (Ed.), Odense,
Danemark, 1994.
[YON 90] YONEZAWA A., (ed.) ABCL: An Object-Oriented Concurrent System. Computer
Systems Series. Cambridge, MA, MIT Press, 1990.
[ZEG 93a] ZEGHAL K. Un Modèle de Coordination d'Actions Reactive appliqué au trafic
aérien. Journees francophones "IAD et SMA", AFCET, Toulouse, 1993.
[ZEG 93b] ZEGHAL K. et FERBER J. CRAASH: A Coordinated Collision Avoidance System.
European Simulation Multiconference, Lyon, 1993.
... De plus les limites des systèmes informatiques et industrielles actuels sont telles qu'il devient envisageable et même intéressant de développer des systèmes multi-agents pour répondre aux besoins croissants de nombreux domaines plus classiques, que ce soit en termes de temps, d'efficacité ou de productivité. Ferber définissait les systèmes multi-agents comme des systèmes composés d'un ensemble d'entités, appelés agents, potentiellement organisés, partageant un environnement commun dans lequel ils peuvent interagir [40]. Les systèmes multi-agents sont donc basés sur un certain nombre de principes et concepts avec notamment les agents, l'environnement, les interactions. ...
... • i) dont le comportement tend à satisfaire ses objectifs, en tenant comte des ressources et des compétences dont elle dispose, et en fonction de sa perception, de ses représentations et des communications qu'elle reçoit. » [40]. ...
... Parmi les approches multi-agent, certaines se fondent sur une démarche individus-centrée [48], [40]. En effet, elles considèrent qu'il est possible de modéliser, non seulement les individus et leurs comportements, mais aussi les interactions qui se déroulent entre ces individus. ...
Thesis
Le projet de thèse propose la mise en place d'un modèle réseau de communication. Nous supposons qu'il s'agit d'un réseau mobile ad hoc clairsemé et connecté par intermittence où une communication fiable et une connectivité de bout en bout ne sont pas toujours disponibles pour la transmission de messages. Ce modèle permet d’assurer et optimiser la disponibilité d'un canal de communication, la réutilisation de fréquences et un bon routage de l’information pour assurer les diffusions. Ce modèle sera intégré dans un modèle décrivant une activité d’un écosystème marin ou pastoral se trouvant en zones blanches (zones qui ne dispose pas de moyen de communication). Ce travail vise à étudier l’effet de l’adjonction d’un nouveau système de communication entre individus appliqué à deux types de communautés (pêcheurs ou bergers). Ce travail s’appuie sur des situations réelles et est suivi de simulation informatique. L’intérêt est de pouvoir constater sur le terrain et en dehors si des modifications de comportements individuels par l’adjonction de ce système de communication vont entraîner des modifications au niveau des comportements et rendements collectifs.
... Moreover, these entities can reason, communicate via messages to resolve conflicts, and reach the best solution. These characteristics [14] prove that the use of the multi-agent approach in the modelling of our control system introduces a more flexible and efficient representation in the processes it models. We describe on details our multi-agent modelling of our control system. ...
Chapter
Full-text available
Cities are currently facing many transport problems and deploying intelligent transport systems that play an important role in urban traffic management , especially public transport. With the evolution of public transport systems and the advanced technologies they use, there is a great transformation in public transport control systems. Transit system data is also highly dynamic and voluminous , hence the great need for intelligent control systems to better exploit this data and provide better performance. The contribution of this work is to model and implement an intelligent public transport system to detect and manage disturbances while respecting the constraints of the traffic situation. This system combines various measures of Key Performance Indicators (KPIs) into a single performance value, covering several dimensions depending on the type of service quality to be guaranteed. Particular attention has been focused on the method used in the formulation of the multi-objecvtive optimization model and the determination of the weighting factors. Multi-agent modelling is adopted in the design of our system. The experiments represent real disturbances observed in public transport networks. The results explain how the resolution strategy of our model outperforms that of the real world.
... Dans ce cadre, un système multi agent [59,58,80] est composé d' : ...
Thesis
Full-text available
Nous sommes à une étape de l’évolution technologique où l’environnement s’instrumentalise de plus en plus avec des équipements électroniques interconnectés. Cette révolution, à l’image de celle que nous avons connue avec l’ère d’Internet, se traduit par un changement rapide et radical de notre rapport avec le numérique. Nos ordinateurs, tels que nous les connaissons, sont ainsi voués à disparaître pour laisser place à une informatique omniprésente, ubiquitaire et disséminée dans chacun des objets de notre quotidien. Dans ce contexte, nous proposons au sein de cette thèse le modèle conceptuel d’affordance virtuel recompositionnel (AVR), dont le but est de permettre une gestion écoconceptive de systèmes fortement connectés capable de tirer profit du maximum d’objets présents dans l’environnement courant. La conception de ce modèle est inspirée du concept d’affordance et peut être décrite sous la forme de deux approches complémentaires. La première exploite le fait que nos objets connectés sont composés de fonctionnalités primaires pour enrichir le milieu sans ajout d’objets supplémentaires ; la deuxième se sert de cette nouvelle expressivité de l’environnement pour permettre à des agents logiciel de recomposer dynamiquement des services. Ce modèle conceptuel générique est décliné sous la forme d’un modèle d’architecture ADWet implémenté dans un framework Java pour Android nommé AFFORD. En ce qui concerne le cadre d’application, nous nous intéressons dans ce manuscrit à l’informatique ambiante et plus précisément à son usage dans le domaine du suivi à domicile des personnes en perte d’autonomie. Nous proposons pour cela une application Android (Ubi-Health), basée sur notre framework AFFORD, doté de l’agent de gestion de chute "BeCareFall". Cette démarche permet de valider nos contributions par un scénario d’application en lien avec un contexte réel. En effet, du fait de l’allongement de la durée de vie, la prise en charge à domicile des personnes en perte d’autonomie représente un réel défi. Au travers de cette démarche, nous participons ainsi à la dynamique actuelle visant à permettre à ces personnes d’évoluer le plus longtemps possible à leurs domiciles et en toute sécurité grâce aux technologies modernes.
... Celle-ci s'intéresse non plus aux flux d'énergie ou d'information qui traversent le système et ses composantes, mais aux interactions entre agents, qui sont des entités douées de perception, de mémoire et de communication, et qui peuvent agir sur leur environnement. Un système est vu alors comme une organisation émergente des interactions entre agents (Ferber, 1997). ...
Thesis
Le Laos est un pays enclavé et faiblement peuplé qui se trouve aujourd’hui, après plusieurs décennies de conflits liées à la décolonisation et à la guerre froide, au cœur d’un processus d’intégration économique régionale. Une croissance économique très rapide, soutenue par le développement massif des infrastructures de transport et d'exploitation des ressources naturelles, a des conséquences aussi importantes que différenciées sur les populations et leurs moyens d’existence. Les concepts de résilience et de vulnérabilité ont été employés dans différentes disciplines pour analyser et gérer des dynamiques sociales et écologiques face à des changements rapides et incertains. Parfois mis en opposition ou imbriqués, ces deux concepts s’insèrent dans une diversité de cadres d’analyse des relations société-environnement. Si l’ensemble des travaux étudiés soulignent la nécessité d’employer de multiples échelles d’analyse pour prendre en compte la complexité des phénomènes étudiés, ils n’évaluent cependant pas la vulnérabilité et la résilience aux mêmes niveaux : certains sont centrés sur les acteurs, tandis que d’autres considèrent des systèmes socioécologiques englobants. Or, les enjeux considérés comme prioritaires par les auteurs influencent l’échelle et les limites du système dont est évaluée la résilience ou la vulnérabilité. En amont d’un tel diagnostic, il semble donc nécessaire d’identifier les enjeux de résilience et de vulnérabilité que l’on souhaite aborder. Mais cette tâche dépasse selon nous les compétences des seuls scientifiques, et doit être ouverte à d’autres acteurs. La question est alors : comment peut-on prendre en compte des points de vue multiples dans la conceptualisation du système à évaluer ? Pour cela, nous proposons un cadre conceptuel qui considère un système socioécologique à la fois comme une représentation particulière de l’environnement construite par un acteur, et comme un ensemble finalisé d’éléments, organisé en une hiérarchie de niveaux d’observation, répondant chacun à une finalité, ou fonction. Nous avons alors élaboré et testé une démarche visant à recueillir les représentations systémiques qu’ont différents acteurs de leur environnement, c’est-à- dire la façon dont ils structurent un système socioécologique qui fait sens pour eux, en fonction des finalités qu’ils assignent à leur environnement. Cette démarche a été testée dans le bassin versant de la rivière Nam Lik, district de Fuang, province de Vientiane, qui abrite depuis 2010 le barrage hydroélectrique de Nam Lik 1-2. Une série d’ateliers ont été organisés auprès d’habitants de la zone d'étude, d’employés de l’administration locale et d’enseignants de l’université nationale du Laos. En amont d’un éventuel diagnostic de la vulnérabilité ou de la résilience du terrain d'étude, la thèse propose donc une réflexion sur les différents cadrages possibles de ces concepts, et sur les méthodes permettant de les recueillir auprès d’acteurs multiples.
Article
Path planning has an immense impact on the agents' coordination. This problem becomes more challenging to solve due to the various constraints. Recently, many optimisation techniques were proposed to solve the multi-agent path planning. However, among the most reliable techniques are those based on metaheuristic principles. In this paper, we propose a novel multi-agent path planning based on an enhanced version of the particle swarm optimisation (PSO). The inertia weight is a PSO parameter allowing the control of the exploration and the exploitation of the search space. Therefore, we propose a new inertia weight calculation method known as the inversed Butterworth particle swarm optimisation (IBPSO). The main objective of this approach is to provide an adequate transition between the exploitation and the exploration of the search space. To reflect the feasibility of this extension, we compared it with different PSO versions. The showcased results prove the efficiency of the proposed approach.
Article
Full-text available
L’intégration des contraintes est indissociable de l’optimisation multicritère. Pourtant, elle est rarement étudiée en conception architecturale computationnelle et performancielle. En combinant les processus évolutionnaires avec d’autres techniques génératives comme les processus à base de règles, l’auto-organisation ou les automates cellulaires, il est possible d’intégrer efficacement des contraintes dans des problèmes d’optimisation multicritère en utilisant la méthode des fonctions de réparation. Dans cet article, nous expérimentons ces techniques sur quatre cas d’étude issus de la pratique professionnelle et dérivons des lignes directrices pour le développement d’un solveur d’optimisation adapté à la réparation.
Thesis
Full-text available
The challenging issue of this thesis is to develop a spatial decision support system for locating and allocating areas of marine space to multiple actors, despite potentially conflicting initial objectives and constraints. To address this issue, in this thesis, we focus on three different requirements as follows: 1) Modeling the problem in a realistic GIS framework and formulating a mathematical model to solve it, 2) Being able to propose solutions for large-scale problems, 3) Developing a decision-making process that helps multiple actors to resolve possible conflicts by reaching a trade-off. According to these objectives, this thesis proposes a Multi-Objective Multi-Agent System (MOMAS) that simulates the multi-level decision-making processes of marine use spatial zoning management with three main contributions: 1) Multi-Objective Integer Linear Programming (MOILP), 2) Multi-Objective Evolutionary Algorithms (MOEAs), 3) Cooperative decision-making process with Multi-Agent Systems (MAS) and heuristics methods. This thesis proposes a formal and executable approach to address the spatial zoning management problem with both multiple objectives and actors. In the case of conflict, different cooperation scenarios are compared and ranked. The experimental results on synthetic datasets highlight the fact that good tradeoffs can be reached when the actors agree to cooperate. The proposed work paves the way for future online decision support tools applied to real-world cases.
Thesis
Full-text available
Ce travail s'inscrit dans le projet Circular qui a pour objectif de mettre en place les outils et les conditions nécessaires pour la conception d'un nouveau système industriel d'aide à la décision pour l'économie circulaire. Ce système industriel devra être capable de transformer des produits usés en fin de vie en produits neufs grâce à l'utilisation de stratégies de reconditionnement basées sur la réutilisation de leurs composants. Cette thèse est motivée par la conception de ce système d'aide à la décision. Nous proposons de le modéliser comme un système multi-agents dans lequel chaque composant usé provenant d'un produit en fin de vie est avatarisé en agent virtuel ayant la capacité de manipuler des connaissances, de communiquer avec les autres, de prendre des décisions et de les exécuter. Autrement dit, nous associons à chaque composant physique un agent virtuel possédant les mêmes caractéristiques (physiques, logistiques, etc.). De la même manière qu'un produit est un ensemble de composants assemblés les uns aux autres, nous souhaitons que nos agents s'auto-organisent en groupes afin de former au mieux les produits demandés par un utilisateur du système d'aide à la décision. Ce problème est très proche d'un problème de formation de coalitions dans la littérature informatique. De plus, nous faisons l'analogie entre les agents de notre système multi-agents et des individus. Grâce à celle-ci, nous proposons d'aborder le problème de formation de coalitions en nous inspirant des dynamiques des groupes. Les dynamiques des groupes est un champ de la sociologie dont l'objectif est de comprendre comment des individus interagissent les uns avec les autres pour former, maintenir et faire vivre un groupe. Nous utilisons plus spécifiquement les mécanismes d'attraction et de cohésion qui permettent d'expliquer à l'aide de multiples facteurs comment les individus se rassemblent en groupes et quelles sont les raisons qui peuvent les pousser à se maintenir ou se dissoudre. Le travail abordé dans cette thèse se concentre sur la conception d'une architecture d'agent inspirée par ces mécanismes sociologiques capable de résoudre le problème de formation de coalitions et permettant de répondre aux besoins du système d'aide à la décision.
Chapter
Agriculture is generally defined as the action of food, fodder, fiber, and fuel production by the plants and animals ranching. It presents currently the most important profession in the world and more common where it employs about 42% of the workers in the globe. Then, smart agriculture can be defined as a system that relies on advanced technology to grow food sustainably and cleanly, and rationalize the use of natural resources, especially water, and one of its most important characteristics is its dependence on management systems and information analysis to make the best possible production decisions at the lowest costs. However, a smart farm has good potential to supply more production and permit sustainable agriculture based on resource‐efficient approaches. This document presents intelligent agriculture in a greenhouse based on multiagent systems (MAS). The MAS constitutes several agents located in an environment and interaction according to some defined relationships. In this work, each greenhouse environment part is represented by one or more agents. Each agent coordinates with the other agents to achieve set goals. In addition, in the society of agents, two types of agents can be found, reactive agents, which are characterized by simple behavior, their missions are to perform tasks that do not require intelligent reasoning and cognitive or intelligent agents, and the other are tasked to perform more complex missions and require reasoning to make good decisions.
Chapter
Autism Spectrum Disorder is a neurodevelopmental disorder that occurs in small children before the age of three. Its signs can be spotted while observing their behavior and social interaction, it is essentially a difficulty of communication with those around them. Thanks to the use of new technologies, many research studies have been carried out to improve the quality of learning among autistic children. These studies focus mainly on creating intelligent and interactive systems which are simple and clear in terms of organization and presentation of content in order to avoid any kind of disturbance for children. In this paper we will present an architecture of an Adaptive Intelligent Multi-Agent System (SMIA) directed at children with autism spectrum disorders (ASD). The objective of this system is to adapt the learning content to meet the needs of these children, through Adaptive Multi-arrangement method (AMA), thus by the use of the technique of visual schedules which has proven its effectiveness at the level of defining objectives, developing autonomy and organizing time. KeywordsMulti-agent systemAutismAdaptiveIntelligentMulti-arrangementVisual schedulesArchitecture
Thesis
Full-text available
Une contribution à la définition d’un modèle de programmation agent basé sur les concepts d’engagement et d’acte de langage - : Les travaux de recherche qui sont présentés dans cette étude se situent dans le domaine de l’Intelligence Artificielle Distribuée (IAD). Ces travaux montrent que l’approche multi-agents et l’étude de la coopération actuellement développées en IAD permettent de définir un modèle de programmation agent, qui, par son niveau d’abstraction et ses fondements théoriques, est approprié à la simulation et à l’expérimentation de comportements sociaux, ouvrant ainsi de nouvelles perspectives sur l’élaboration de logiciels dédiés à la simulation et à l’observation de la dynamique d’organisations sociales complexes. Deux grandes hypothèses sont développées au cours de cette étude, elles considèrent que (1) la communication et l’organisation constituent, tout au moins d’un point de vue pragmatique, deux moyens complémentaires permettant la mise en œuvre de la coopération, et que (2) la réalisation d’un système multi-agents générique, simple, flexible et efficace permet de préciser la définition du modèle de programmation agent en amorçant une clarification, une unification et une comparaison des modèles d’agents et de leurs comportements sociaux. A partir d’une analyse des travaux théoriques sur la coopération, la communication et l’organisation, cette étude propose un modèle de Communication opératoire (COMMAS) basé sur les concepts d’acte de langage et d’engagement. Ce modèle a la particularité d’être adapté aux systèmes multi-agents. Il est utilisé pour élaborer un modèle d’agents sociaux (SAM) dans lequel sont introduits différents niveaux d’organisation. Une série d’expériences est réalisée pour évaluer et comparer l’efficacité de ces différents niveaux d’organisation.
Article
Full-text available
Partial global planning is used to provide a framework for coordinating multiple AI systems that are cooperating in a distributed sensor network. By combining a variety of coordination techniques into a single, unifying framework, partial global planning enables separate AI systems to reason about their roles and responsibilities as part of group problem solving, and to modify their planned processing and communication actions to act as a more coherent team. Partial global planning is uniquely suited for coordinating systems that are working in continuous, dynamic, and unpredictable domains because it interleaves coordination with action and allows systems to make effective decisions despite incomplete and possibly obsolete information about network activity. The authors implement and evaluate partial global planning in a simulated vehicle monitoring application and identifying promising extensions to the framework
Thesis
Cette thèse présente le résultat de notre travail sur la résolution de problèmes par des systèmes multi-agents. Notre travail s'est articulé autour de deux approches complémentaires qui correspondent aux deux premières parties du document. La première partie présente les différents concepts relatifs aux systèmes multi-agents. Nous y montrons la diversité des paramètres de mise en oeuvre de ce paradigme et l'illustrons en présentant différents systèmes multi-agents. Nous abordons également les techniques de négociation et montrons leur utilité dans les systèmes multi-agents. Dans un second temps, nous étudions l'influence que peut avoir l'organisation d'un système sur son activité. La deuxième partie s'appuie sur la modélisation d'un problème réel pour mettre en évidence différentes fonctionnalités nécessaires à la mise en oeuvre du paradigme multi-agents. Nous montrons l'influence de l'outil Abysse sur les processus d'acquisition, de modélisation et de construction d'un système multi-agents. Ensuite, nous proposons diverses solutions quant à la modélisation du raisonnement, à la structuration des informations et à la possibilité d'explication de la résolution. La troisième partie est à la confluence des deux précédentes. Elle présente un outil générique de développement de systèmes multi-agents: GTMAS. Cet outil propose diverses informations renseignant sur l'activité de résolution et permettant la comparaison et l'évaluation des systèmes construits. Nous illustrons l'utilisation de cet outil en implantant trois organisations différentes à la lumière desquelles nous proposons un bilan de l'outil et envisageons diverses améliorations.
Conference Paper
One objective of distributed artificial intelligence research is to build systems that are capable of cooperative problem solving. To this end, a number of implementation-oriented models of cooperative problem solving have been developed. However, mathematical models of social activity have focussed only on limited aspects of the cooperative problem solving process: no mathematical model of the entire process has yet been described. In this paper, we rectify this omission. We present a preliminary model that describes the cooperative problem solving process from recognition of the potential for cooperation through to team action. The model is formalised by representing it as a theory in a quantified multimodal logic. A key feature of the model is its reliance on the twin notions of commitments and conventions; conventions (protocols for monitoring commitments) are formalised for the first time in this paper. We comment on the generality of the model, outline its deficiencies, and suggest some possible refinements and other future areas of research.