Vous êtes sur la page 1sur 104

Ministère de l'Enseignement Supérieur et de la Recherche

Scientifique

Université Larbi Ben M’hidi – Oum El Bouaghi

Faculté des Sciences Exactes et Sciences de la Nature et de la Vie

Département des Mathématiques et d’Informatique

Les Systèmes Multi-Agents

Un support de cours destiné aux étudiants de 02ème année Master


Option : Architectures Distribuées

Préparé par Dr. Toufik MARIR

Maître de Conférences –B–

Département des Mathématiques et d’Informatique

Membre de l’équipe DISE, Laboratoire ReLa(CS)2

marir.toufik@yahoo.fr

2016/2017
Table des matières
Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 01

1. Introduction……………………………………………………………….02
2. De l’intelligence artificielle à l’intelligence artificielle distribuée…...…...02
3. L’intelligence artificielle distribuée……………………………………… 04
4. Les branches de l’intelligence artificielle distribuée……………………...07
5. Les différences entre les SMA et les paradigmes informatiques………….11
5.1. Les différences entre les SMA et les logiciels orientés objets…….11
5.2. Les différences entre les SMA et les systèmes experts……………12
5.3. Les différences entre les SMA et les systèmes distribués…………13
6. Les avantages des SMA………………………………………………… 13
7. Les défis des SMA………………………………………………………..16
8. Les applications des SMA……………………………………………… 16
9. Conclusion………………………………………………………………. 18
10. Questions de compréhension…………………………………………….18

Chapitre 02 : Systèmes Multi-Agents – Principes Généreux 20

1. Introduction……………………………………………………………….21
2. Les systèmes multi agents (SMA) ………………………………………..21
2.1. Définition d’un système multi-agents……………………….…….21
2.2. Cas spécifiques de systèmes multi-agents ………………………..24
2.3. Le contrôle dans les systèmes multi-agents ………........................25
3. Les agents …………………………...…………………………………………..27
3.1. Définition d’un agent ……………………………………………..27
3.2. Les caractéristiques des agents ……………………..…………….28
3.3. Les types d’agents ………..……………………………………….32
4. L’environnement …………………………………………………………34
5. L’organisation…………………………………………………………….36
6. L’interaction………………………………………………………………40
6.1. Les types d’interaction……………………………………………41
6.2. La communication…………………………………………………43
7. Conclusion…………………………………………………………………….48
8. Questions de compréhension………………………………………………….49

Chapitre 03 Modèles et Architectures d’Agents 51

1. Introduction……………………………………………………………….51
2. Une architecture abstraite d’agents ……………….....................................51
2.1. Une architecture d’un agent purement réactif……………………..51
2.2. Un agent avec état…………………………………………………56
3. Des architectures concrètes...………………… .……………………………57

i
3.1. L’architecture BDI …………………………….………………….58
3.2. Architecture de subsomption…………………………………… .62
3.3. L’architecture TuringMachine…………………………………….64
3.4. L’architecture InteRRaP…..……………………………………...66
4. Des architectures spécifiques……………………………………………..68
4.1. L’architecture DIMA… …………………………………………68
4.2. L’architecture ARTIS…………………………………………….70
5. Conclusion………………………………………………………………..73
6. Questions de compréhension……………………………………………...74

Chapitre 04 : Modèles de Coordination d’Agents Cognitifs 75

1. Introduction…………………………………………………………….…76
2. Les formes de l’interaction...………………………...………………….. 76
3. La négociation…………………………………………………………….77
3.1. Techniques d’enchères………………………..…………………..82
3.2. L’allocation des tâches par redistribution…………………………87
4. La coopération…………………………………………………………….90
4.1. Allocation des tâches par réseau contractuel… …………………92
4.2. La coopération par la planification………………………………..94
5. Conclusion………………………………………………………………...96
6. Question de compréhension……………………………………………….96

Références 98

ii
Liste des Figures
Figure 1.1 : Le système HearsayII……………….…………………………….....04
Figure 2.1 : Le modèle de tableau noir…………………………….……………..26
Figure 2.2 : Le modèle d’acteur………………………………………………… 27
Figure 2.3 : Les propriétés des agents selon leurs types………………………….32
Figure 2.4 : L’architecture en couches d’un environnement…………………… 35
Figure 2.5 : Le modèle AGR…………………………………………………….39
Figure 2.6 : Un exemple d’un message KQML………………………………….46
Figure 2.7 : La sémantique formelle de l’acte inform……………………………48
Figure 3.1 : description d’un agent purement réactif…………………………….56
Figure 3.2 : Architecture d’un agent avec état……………………………………57
Figure 3.3 : L’architecture BDI…………………………………………………..61
Figure 3.4 : L’algorithme de contrôle d’un agent BDI…………………………..62
Figure 3.5 : Architecture de subsomption………………………………………..63
Figure 3.6 : L’architecture TuringMachine……………………………………..66
Figure 3.7 : L’architecture IneRRaP……………...……………………………..67
Figure 3.8 : L’agent DIMA……………………………………………………….70
Figure 3.9 : L’architecture de l'agent ARTIS…………………………………….72
Figure 3.10 : Le fonctionnement d’un in-agent…………………………………..73
Figure 4.1 : Le protocole FIPA-Contract-Net……………………………………93

iii
Chapitre 01
Introduction à l’Intelligence
Artificielle Distribuée
Introduction à l’Intelligence Artificielle Distribuée

Chapitre 01 : Introduction à
l’Intelligence Artificielle Distribuée
1. Introduction
Les systèmes multi-agents (SMA) représentent actuellement un domaine très actif et
largement appliqué. Ce domaine est une branche de l’intelligence artificielle
distribuée (IAD). Il semble donc évident d’entamer ce cours par une introduction à
l’intelligence artificielle distribuée. Ainsi, nous commençons ce chapitre par une
brève introduction à l’intelligence artificielle en montrant la nécessité de distribution
des techniques de cette branche. Ensuite, nous présentons l’intelligence artificielle
distribuée en détaillons les causes et les formes de la distribution de l’intelligence.
Sachant que les systèmes multi-agents ne représentent qu’une branche de
l’intelligence artificielle distribuée, nous présentons dans la section 4 un panorama sur
les trois branches qui composent ce domaine. Dans la section 5, nous clarifions les
différences entre les systèmes multi-agents et les principaux paradigmes et systèmes
informatiques similaires. Bien entendu, les systèmes multi-agents n’offrent pas
seulement des avantages. Ainsi, nous présentons les avantages et les défis de ces
systèmes avant de présenter ses domaines d’application. Finalement, nous présentons
une conclusion et quelques questions de compréhension.

2. De l’Intelligence Artificielle à l’Intelligence Artificielle Distribuée


La création des machines intelligentes est l’un des rêves de l’humanité depuis
l’antiquité. Il existe des diverses traces qui montrent cette énoncé dans l’Egypte
ancienne ou dans l’Iliade. Cependant, la plupart de ces traces ne prennent qu’une
forme mythologique. La déduction formelle proposée par Aristote (le syllogisme) peut
être considérée comme le premier pas vers le raisonnement automatique. Cette idée
consiste à la possibilité de valider la véracité d’une conclusion à partir de deux
prémisses. Par exemple, si on a les prémisses «Tous les homme sont mortels » et
« Mohamed est un homme » on peut alors conclure que « Mohamed est mortel ». Sans
doute, le raisonnement formel est l’une des questions fondamentales de l’intelligence
artificielle.

L’invention des ordinateurs ne représente qu’un moyen pour la réalisation de ce


rêve. En fait, après l’invention des ordinateurs plusieurs chercheurs supposent que ce

Dr. Toufik MARIR 2015-2016 p. 2


Les Systèmes Multi-Agents

rêve puisse être réalisé si on peut traiter les symboles en utilisant les ordinateurs.
Cependant, plusieurs objections ont été posées et touchent parfois même la nature de
l’intelligence. En fait, plusieurs philosophes considèrent l’intelligence comme une
caractéristique humaine (caractéristique liée à l’esprit humaine) irréalisable par les
machines.

En 1950, Alain Turing propose dans un célèbre article, un test empirique pour
dépasser le débat de la faisabilité de réalisation des machines intelligentes. Ce test est
connu par « le test de Turing ». Ainsi, une personne peut tester la machine via une
interface. La personne chargée de test pose des questions à la machine. La machine
est considérée comme intelligente, si on ne peut pas distinguer ses réponses de
réponses d’un être humain.

En 1956, le domaine de l’intelligence artificielle est officiellement né dans la


conférence de Dartmouth avec l’objectif principal de faire faire de la machine ce que
l’homme peut faire. Ce domaine est un domaine pluridisciplinaire. Il englobe
l’informatique, la philosophie, la psychologie, la robotique et la linguistique. Ce
domaine est, à la fois, un domaine d’ingénierie et de science. D’une part, l’objectif
c’est la réalisation d’une machine intelligente (l’ingénierie). D’autre part, l’objectif est
de réaliser des modèles permettant la compréhension et la validation des théories des
sciences cognitives (la science).

Les participants à la conférence de Dartmouth ont été très optimistes. Ils ont
estimé que la réalisation des machines intelligentes est une question de quelques
années. A titre exemple, en 1970 Minsky (l’un des fondateurs de l’IA) a annoncé que
la réalisation d’une machine avec une intelligence générale d’un être humain ordinaire
va prendre de trois à huit ans. Cependant, la complexité de la tâche a montré la
fausseté de ces estimations. Par exemple, Newell et Simon déclarent en 1958 qu’après
dix ans le champion de monde en jeu d’échec sera un ordinateur. En fait, il faut
attendre jusqu’à l’année 1997 pour réaliser « Deep Blue » (le vainqueur de Kasparov
– champion du monde en jeu d’échec).

Vers la fin des années soixante-dix, un nouveau courant est apparu. Il consiste à
exploiter les progrès des systèmes distribués dans l’intelligence artificielle afin de
pallier la complexité des problèmes de l’IA. Ainsi, le domaine de l’intelligence
artificielle distribuée (IAD) est apparu.

Dr. Toufik MARIR 2016-2017 p. 3


Introduction à l’Intelligence Artificielle Distribuée

3. L’intelligence artificielle distribuée


A la fin des années soixante-dix, un système appelé « Hearsay II » a été développé au
sein de l’université Carnegie-Mellon pour la reconnaissance automatique de la parole.
Ce système est basé sur l’utilisation d’un tableau noir. Comme il est présenté dans la
Figure 1.1, ce système est composé d’un ensemble de sources de connaissances (SC)
qui partagent le tableau noir. Ce dernier est organisé en plusieurs niveaux. En fait, un
problème de reconnaissance automatique de la parole se caractérise par la
manipulation des connaissances de niveaux d’abstraction différents (signal, entité
lexical, entité syntaxique,…etc.). En plus, chaque source de connaissances est
spécialisée dans une tâche spécifique (comme la segmentation, la création des
syllabes, la construction des mots, …etc). Donc, chaque source de connaissances
manipule des connaissances d’un niveau spécifique et génère des connaissances pour
d’autres niveaux. Les changements effectués sur un niveau du tableau noir peuvent
activer certaines sources de connaissances. Ces dernières doivent être insérées à une
liste d’ordonnancement. Ensuite, un ordonnanceur choisit la source de connaissance la
plus prioritaire pour être exécuter.

Figure 1.1 : Le système HearsayII.

Dr. Toufik MARIR 2015-2016 p. 4


Les Systèmes Multi-Agents

Par contre au système de l’IA classique, ce système est composé d’un ensemble de
sources de connaissances distribuées. En fait, le système Hearsay II est l’un des
premiers systèmes de l’IAD. En conséquence, nous pouvons définir l’intelligence
artificielle distribuée comme une branche de l’intelligence artificielle classique qui
s’intéresse à des comportements intelligents produisant par l’activité de plusieurs
entités. Il est important de noter que cette branche ne traite pas les problèmes de bas-
niveau de parallélisme qui sont des problèmes au cœur du domaine des systèmes
parallèles et distribués.

La distribution de l’intelligence artificielle peut être justifiée par l’une des trois
raisons suivantes :

 La distribution fonctionnelle : certaines tâches nécessitent des multiples


expertises. La centralisation de diverses expertises dans une seule entité
complexifie la tâche des concepteurs. Prenant l’exemple d’un robot
explorateur de l’espace. Un tel robot doit être doté de fonctions de navigation,
d’évitement d’obstacle, de communication avec la base, de transport des
objets trouvés et d’analyse de ces objets,…etc. Il est évident que la
conception d’une seule entité dotée de toutes ces fonctions est une tâche
complexe. En conséquence, nous pouvons distribuer les tâches sur des entités
plus spécialisées. Ainsi, on aura un robot spécialisé dans la navigation et le
transport des objets, un robot pour l’analyse des objets trouvés et une base
pour transférer les résultats à la base terrestre. Une telle décomposition et
distribution des tâches simplifie le développement de ce système.

Cette distribution fonctionnelle est une caractéristique essentielle de


plusieurs exemples du monde réel. En fait, on peut remarquer la distribution
dans les problèmes de conception et de diagnostique. Le diagnostique
médical nécessite, dans plusieurs cas, l’intervention de plusieurs experts.
Chacun de ces experts possède ses propres connaissances et méthodes de
diagnostique. Le diagnostique général est la conclusion des diagnostiques
faites par les différents experts et les interactions entre eux. En conséquence,
un tel système doit être conçu comme un système distribué où chaque expert
est représenté par une entité.

Dr. Toufik MARIR 2016-2017 p. 5


Introduction à l’Intelligence Artificielle Distribuée

 La distribution physique : Il existe plusieurs problèmes de nature physique


distribuée. Dans ce cas, la distribution de l’intelligence devient une solution
évidente et naturelle. Comme un exemple de ces problèmes nous pouvons
citer la prévision de météo. Dans ce problème nous devrons analyser
différents paramètres provenant de plusieurs endroits géographiquement
répartis. Ainsi, chaque capteur peut analyser les données captées localement
et partager les connaissances avec les autres stations. De la même manière, la
gestion du trafique routier est un exemple de problème géographiquement
distribué. En fait, un système de gestion du trafique routier consiste à analyser
et contrôler la fluidité du trafique routier afin d’éviter des situations
d’embouteillage. Le contrôle centralisé de ce système est à la fois une tâche
complexe et une solution inefficace qui nécessite l’analyse des grandes
quantités de données provenant de plusieurs sites différents. Cependant, un
chauffeur dans un endroit donné (station, route, carrefour…etc.) concentre sur
les lieux les plus proches à ses coordonnés. En effet, il devient plus
raisonnable de concevoir un système dont chaque nœud raisonne en utilisant
des données captées dans ce nœud lui-même et de ses voisins.
 La distribution informatique : Le succès des systèmes distribués, à la fin
des années soixante-dix, a permet d’aborder des problèmes considérés
initialement irrésolubles. Un programme capable de jouer aux échecs, par
exemple, nécessite des gigantesques ressources informatiques (espace
mémoire, temps de calcule…etc.). Cependant, en utilisant les systèmes
distribués on peut dépasser les limites des capacités des machines parce que la
solution peut être exécutée sur plusieurs machines. En addition de l’efficacité,
la distribution offre l’avantage de la fiabilité. Dans un système distribué la
panne d’un nœud n’influence pas les autres parties du système.

La distribution de l’intelligence peut prendre l’une de deux formes suivantes :

 La distribution des connaissances : dans ce cas les connaissances seront


stoker dans des bases de connaissances différentes. En fait, certains problèmes
exigent la distribution géographique des connaissances. A titre d’exemple, les
capteurs utilisés pour le contrôle des paramètres d’atmosphère peuvent stoker
les paramètres captés dans des bases de connaissances locales pour éviter le
coût élevé de transfert de connaissances. En plus, la distribution des

Dr. Toufik MARIR 2015-2016 p. 6


Les Systèmes Multi-Agents

connaissances peuvent être justifiée par la différence des niveaux


d’abstraction de ces dernières. Plusieurs problèmes exigent la manipulation
des connaissances de niveaux d’abstraction différents. Les systèmes de
reconnaissance automatique de parole (comme le système Hearsay II expliqué
auparavant) sont des exemples types. Dans ce type d’application on manipule
les signaux captés par les microphones, les syllabes, les mots et les phrases.
Cette distribution augmente l’efficacité en permettant aux sources de
connaissances de manipuler seulement les niveaux adéquats. Finalement, la
distribution de connaissances peut influencer la fiabilité des systèmes en
éliminant l’existence d’une base de connaissances centralisée.
 La distribution du contrôle : le système Hearsay II est composé d’un
tableau noir avec plusieurs sources de connaissances. Cependant, l’exécution
des sources de connaissances est contrôlée par un seul module
(l’ordonnanceur). Par contre, le modèle d’acteurs de Hweitt (MIT) propose un
autre modèle dont le contrôle est distribué sur plusieurs entités appelées des
acteurs. Chaque acteur peut effectuer un traitement local et envoyer des
messages aux autres acteurs. En plus, chaque acteur possède le contrôle sur
son exécution. En effet, dans ce type de systèmes, il n’existe pas un
ordonnanceur responsable de planifier l’exécution des différents acteurs, mais
ces derniers s’exécutent en concurrence. Le modèle d’acteurs représente
l’ancêtre des systèmes multi-agents (qu’on va détailler dans ce cours).

Les différences entre les systèmes basés sur l’IAD ne se résument pas seulement dans
les deux formes citées auparavant, mais les différences touchent parfois les fonds de
base de ces systèmes. En fait, les questions majeures posées dans ce domaine peuvent
être réparties en trois classes qui représentent les branches de l’intelligence artificielle
distribuée.

4. Les branches de l’intelligence artificielle distribuée


L’idée de base de l’intelligence artificielle distribuée consiste à l’exploitation de
plusieurs entités intelligentes pour résoudre un problème complexe. Cependant, la
conception de la solution en utilisant ces entités peut être effectuée selon plusieurs
façons. Chaque méthode de résolution possède ses propres problèmes et défis. En

Dr. Toufik MARIR 2016-2017 p. 7


Introduction à l’Intelligence Artificielle Distribuée

conséquence, l’intelligence artificielle distribuée a été développé en trois pistes


différentes :

 La Résolution Distribuée des Problèmes (RDP) : cette branche consiste à la


division du problème en un ensemble de sous problèmes. Puis, on attribue les
sous problèmes à des entités différentes afin de les résoudre. Ensuite, nous
devrons synthétiser les solutions partielles pour trouver la solution finale.
Prenant l’exemple d’un problème d’aménagement paysager et l’entretien des
terrains. On peut résoudre ce problème en le décompose en un ensemble de
sous problème comme l’entretien de la terre arable, plantation et entretien des
arbres (jardinage), traitement des arbres contre les maladies et les insectes, la
protection et l’entretien d’outils (tendeuse, tracteur, cisailles...etc.)…etc.
Chaque sous problème est affecté à une entité spécialisée. En exécutant les
différentes tâches, on peut résoudre le problème principal qui est l’entretien
des terrains. On note que cet exemple ne donne qu’une représentation
simplifie de cette approche. En réalité, beaucoup de problèmes peuvent être
émergés quand on veut adopter la résolution distribuée des problèmes. Ainsi,
les problèmes traités par cette branche sont essentiellement : Comment peut-
on diviser le problème en sous problèmes ? Comment peut-on partager les
connaissances du problème entre les entités résolvantes ? Comment peut-on
synthétiser les solutions partielles pour trouver la solution globale ? La
projection de ces questions sur l’exemple précédent, nous conduit à poser des
questions comme : sur quelle base nous avons décomposé le problème
principal en sous problème susmentionnés ? supposant qu’on ait découvert
durant le traitement des arbres des maladies qui nécessitent la réalisation des
tâches de jardinage spécifique (désherber le jardin, tailler les arbres, éviter la
plantation…etc.), comment peut-on partager ces connaissances entre les
différents entités ? comment peut-on organiser les différentes tâches afin
d’accomplir l’objectif principal ?
 Les Systèmes Multi-Agents (SMA) : Dans cette branche on a un ensemble
d’entités dotées de comportements intelligents qui doivent coopérer pour
résoudre un problème commun. Chaque entité possède son propre but et ses
propres plans. Par exemple, dans le cas du problème d’aménagement paysager
et l’entretien des terrains cité auparavant, nous devrons concevoir la solution

Dr. Toufik MARIR 2015-2016 p. 8


Les Systèmes Multi-Agents

du problème sous forme d’un ensemble d’entités qui exécutent des tâches
spécifiques (une pour les tâche d’entretien de la terre, une pour les tâches de
jardinage, une pour la prévention et le traitement et une pour l’entretien des
outils). Bien entendu, une entité spécialisée à l’entretien des outils, par
exemple, possède sa propre objectif (garder les outils en bon état) et possède
des plans pour atteindre cet objectif (entretien régulier, diagnostique de mal
fonctionnement, dépanner les outils). Par rapport à l’approche précédente, il
n’existe pas une décomposition à priori du problème ni une approche générale
de résolution. La solution du problème est émergée de l’interaction entre ces
entités. En conséquence, les problèmes posés dans cette branche consistent
principalement à la coordination entre les entités et l’organisation de ces
dernières pour la résolution efficace des problèmes.
 L’Intelligence Artificielle Parallèle (IAP) : Cette branche consiste à la
proposition des solutions pour profiter des avantages des machines parallèles
dans le domaine de l’intelligence artificielle. Plusieurs techniques ont été
apparues dans cette piste comme la réalisation des machines (hardware)
adaptées à l’exécution des logiciels intelligents. Plusieurs machines ont été
conçues pour ce but comme CM-2 (Connection Machine), Semantic Network
Array Processor et IXM2 (Associative Memory Processor). En plus, cette piste
propose des nouveaux paradigmes pour le développement des systèmes
intelligents. En fait, les machines parallèles offrent la possibilité de traitement
des bases de connaissances à grande échelle en temps réel. Le raisonnement à
base de cas, par exemple, nécessite la puissance des machines parallèles pour
pouvoir sauvegarder et traiter le nombre important des cas stockés. En plus,
cette branche propose le développement des langages (comme Parallel
Prolog) permettant l’implémentation des algorithmes parallèles.

Parmi les trois branches de l’IAD, les systèmes multi-agents (SMA) représentent
peut-être la branche la plus ambitieuse. La solution d’un problème, selon cette
approche, consiste à une communauté d’entités autonomes (appelés agents)
travaillant selon des modes d’interaction complexe (coopération, concurrence,
coexistence…etc.) pour atteindre un objectif global.

A notre avis, le succès des systèmes multi-agents est dû, entre autres raisons, à la
nature multidisciplinaires de ces derniers. Comme nous l’avons expliqué déjà dans

Dr. Toufik MARIR 2016-2017 p. 9


Introduction à l’Intelligence Artificielle Distribuée

ce chapitre, les SMA représentent une branche de l’IAD. Naturellement, ces


systèmes exploitent à la fois les techniques de l’intelligence artificielle et des
systèmes parallèles et distribués. En plus, des domaines comme génie logiciel, la
psychologie, la sociologie, l’économie et la linguistique contribuent au
développement et au succès des systèmes multi-agents. Sans doute, les systèmes
multi-agents représentent une nouvelle façon de développement des logiciels (le
paradigme agent). En conséquence, le génie logiciel doit proposer des nouvelles
méthodes, méthodologies et techniques qui supportent les nouveautés de ce
paradigme.

La psychologie permet aux concepteurs des SMA de comprendre la nature du


raisonnement humain. La modélisation de ce dernier représente une brique
importante dans le développement des agents. Le modèle BDI est sans doute
l’archétype de l’exploitation des progrès de la psychologie dans le domaine des
SMA. Ce modèle sera détaillé dans le chapitre 03.

Considérant un système multi-agents comme une communauté d’agents en


interaction implique directement l’étude de ces communautés au niveau macro
(c'est-à-dire au niveau de société). Deux aspects peuvent être étudiés à ce niveau,
l’organisation de la société et les interactions entre les agents. Les études des
organisations d’agents sont généralement inspirées de la sociologie. Par contre, les
interactions entre les agents sont basées sur la communication. Généralement, on
fait recours à la linguistique pour formaliser les concepts liés à la communication
entre les agents. Ces deux aspects seront expliqués dans le chapitre 02. En plus,
l’interaction entre les agents permet aux agents de prendre les décisions
collectives dans les situations coopératives et conflictuelles. La prise de telles
décisions est basée sur des modèles connus dans le domaine d’économie. Nous
expliquerons les modèles de coordination dans le chapitre 04.

La figure 1.2 schématise la nature pluridisciplinaire des systèmes multi-agents.

Dr. Toufik MARIR 2015-2016 p. 10


Les Systèmes Multi-Agents

Philosophie

Robotique Psychologie

Linguistique Informatique

Figure 1.2 : La nature pluridisciplinaire des systèmes multi-agents.

Malgré la pluridisciplinarité du domaine multi-agents, il existe des différences


fondamentales entre ce nouveau paradigmes et les autres paradigmes et systèmes
informatiques. Dans la section suivante, nous examinons ces différences.

5. Les différences entre les SMA et les paradigmes informatiques


Les systèmes multi-agents représentent un nouveau paradigme de développement des
logiciels. Ce paradigme est basé sur des nouveaux concepts différents de ceux connus
dans les différents domaines de l’informatique. Cependant, les similarités entre les
concepts de ce nouveau paradigme et les autres concepts représentent une source de
confusion. Cette confusion s’amplifie surtout lorsqu’on parle de concepts de
domaines directement liés aux SMA comme les systèmes experts, les systèmes
distribués et les logiciels orientés objets.

5.1. Les différences entre les SMA et les logiciels orientés objets

Le concept clé de la programmation orientée objet est la notion d’objet. Ce dernier


est considéré comme l’ancêtre de l’agent. La similarité entre les deux concepts a
permet d’étendre les langages de programmation orientée-objets pour supporter
les agents. Cependant, en négligeant les différences entre les deux concepts, on
risque de sous utiliser la puissance des agents. En fait, la première différence entre
les agents et les objets consiste à l’autonomie. Un agent est autonome par rapport
à l’objet. L’autonomie représente la capacité de l’agent d’atteindre son objectif
sans l’intervention des autres. Dans la programmation orientée objet, un objet

Dr. Toufik MARIR 2016-2017 p. 11


Introduction à l’Intelligence Artificielle Distribuée

exécute une méthode en réponse à un message envoyé par un autre objet.


Lorsqu’un objet reçoit un message, il doit répondre à ce dernier par l’exécution de
la méthode. Par contre, un agent n’est pas obligé d’exécuter une méthode comme
réponse à un autre agent. La décision d’exécuter une méthode est prise seulement
par l’agent exécuteur.

En plus de l’autonomie, un agent se caractérise par la flexibilité par rapport aux


objets. La flexibilité des agents est héritée de l’intelligence artificielle. Cette
caractéristique désigne la capacité de l’agent de changer son comportement selon
la situation. Dans le cas des logiciels orientés objets, un objet exécute toujours la
même méthode en réponse à un message reçu. En conséquence, la génération de la
même situation (réception d’un message) implique le même comportement
(l’exécution d’une méthode spécifique). Par contre, un agent exécute des
comportements différents selon la situation. Par exemple, lorsqu’on demande à un
agent d’exécuter un comportement donné, ce dernier peut exécuter le
comportement comme il peut refuser de l’exécuter si la situation ne permet pas.

Un programme orienté objet possède un seul fil (thread) de contrôle. En


conséquence, à un instant donné, on peut trouver une seule méthode en cours
d’exécution. Lorsqu’une méthode fait appel à une méthode d’un autre objet, on
exécute la nouvelle méthode. Dans le cas des systèmes multi-agents, les agents
s’exécutent en concurrence. En effet, chaque agent possède son propre fil de
contrôle.

Malgré l’existence de certaines extensions de la programmation orientée-objet, où


ces différences ne sont pas totalement identifiées (comme le cas de contrôle dans
la programmation orientée objet concurrente), mais on note que ces extensions ne
sont pas des caractéristiques inhérentes de la programmation orientée objet de
base.

5.2. Les différences entre les SMA et les systèmes experts

Les systèmes multi-agents partagent avec les systèmes experts le domaine


d’origine (l’intelligence artificielle). En fait, on peut considérer un agent comme
un expert spécialisé à l’exécution d’une tâche donnée. Cependant, les différences
entre les deux technologies peuvent être résumées en deux aspects essentiaux : la

Dr. Toufik MARIR 2015-2016 p. 12


Les Systèmes Multi-Agents

situation à l’environnement et la sociabilité. En fait, un système expert interagit


avec un expert de domaine. C’est ce dernier qui introduit les connaissances aux
systèmes (les faits). En plus, le système présente les résultats de son exécution à
l’expert. Par contre, un agent interagit directement avec l’environnement.
Considérant l’exemple d’un système expert dans le domaine médical, le médecin
doit introduire au système les symptômes du malade et le système présente au
médecin le diagnostique et/ou la prescription médicale. La philosophie d’un agent
conçu pour le même problème est totalement différente. Un agent doit être doté de
capteurs capables de percevoir les symptômes du malade. En plus, l’agent doit
être directement agir sur le corps du malade (en injectant les médicaments par
exemple). Le deuxième aspect qui fait la différence entre les systèmes multi-
agents et les systèmes experts est l’aspect social. Par contre aux systèmes experts,
les agents interagissent entre eux afin de résoudre le problème.

5.3. Les différences entre les SMA et les systèmes distribués

Les systèmes multi-agents comme nous l’avons cité auparavant un paradigme de


développement des systèmes distribués. Cependant, ce nouveau paradigme a
apporté des nouveautés par rapport aux autres paradigmes de développement des
systèmes distribués. Les différences entre les systèmes multi-agents et les
systèmes distribués se résument essentiellement à l’autonomie et la flexibilité.
Les systèmes distribués ordinaires sont constitué d’un ensemble de systèmes
informatiques classiques en interaction. En conséquence, ces systèmes ne seront
pas autonomes ni flexibles.

6. Les avantages des SMA


Les systèmes multi-agents offrent beaucoup d’avantages dans le développement des
systèmes complexes. En fait, le paradigme agent est considéré comme le paradigme
idéal pour le développement de ces systèmes. La puissance des systèmes multi-agents
est une conséquence de l’interaction des différents domaines (l’intelligence
artificielle, le génie logiciel et les systèmes distribués). Parmi les avantages des
systèmes multi-agents, on peut citer :

 La modularité : un système multi-agents est composé d’un ensemble


d’entités (les agents). Chaque agent est conçu comme une entité autonome

Dr. Toufik MARIR 2016-2017 p. 13


Introduction à l’Intelligence Artificielle Distribuée

indépendante des autres. L’autonomie des agents signifie que chaque agent
possède le contrôle sur son état et son comportement. L’interaction entre les
agents est basée essentiellement sur l’échange des messages. En conséquence,
le couplage entre les agents est faible. En plus, plusieurs concepts de base des
systèmes multi-agents contribuent à la modularité de ces derniers. On peut
citer notamment, parmi ces concepts, le concept « organisation ». En fait, les
organisations multi-agents sont modélisées, généralement, par des sous-
organisations (des groupes, des coalitions, des hiérarchies…etc.). En
conséquence, les systèmes développés en adoptant cette approche seront plus
modulaire.
 La réutilisabilité : la réutilisabilité est une conséquence directe de la
modularité des systèmes multi-agents. En fait, la modularité permet de
réutiliser certains composants d’un logiciel dans un autre logiciel. Dans le cas
des systèmes multi-agents, la réutilisabilité peut être appliquée à plusieurs
niveaux. Naturellement, l’agent est conçu pour être une brique qu’on peut
réutiliser autant que possible. Par exemple, la conception d’un atelier comme
un système multi-agents composé des agents producteurs, des agents
transporteurs et des agents gestionnaires offre la possibilité de réutiliser
certains agents dans d’autres systèmes. Un agent transporteur, dans ce cas,
peut être utilisé dans le développement des chaînes logistiques ou des
systèmes de simulation de trafic routier. En plus, les agents peuvent être aussi
conçus de façon modulaire. Ainsi, on peut réutiliser les composants d’un agent
pour développer un autre agent. Le mécanisme de raisonnement d’un agent est
généralement une composante indépendante du domaine d’application. Il est
possible, donc, de développer un seul mécanisme et de le réutiliser ensuite
pour le développement des agents. En niveau macro, les développeurs peuvent
réutiliser des modèles d’interactions d’agents conçus comme des protocoles ou
des patterns.
 La facilité de maintenance : le développement modulaire des systèmes multi-
agents simplifie la maintenance de ces systèmes. On distingue dans la
maintenance des logiciels plusieurs types comme : la maintenance perfective,
la maintenance corrective et la maintenance évolutive. Nous pensons que le
paradigme agent ait un impact positif sur tous ces types de maintenance. Les
systèmes multi-agents sont conçus comme des entités indépendantes avec un
Dr. Toufik MARIR 2015-2016 p. 14
Les Systèmes Multi-Agents

couplage faible. En conséquence, la modification d’une entité a un impact


faible sur les autres entités. Dans le cas de la maintenance corrective, cette
modification est pour l’objectif de corriger un système existant. Par exemple,
la découverte d’une erreur dans un agent n’implique que la modification de cet
agent. De la même façon, l’évolution des modèles et les approches multi-
agents implique la modification des systèmes existants. Cependant, cette
modification ne touche que la partie concernée du système. Cette modification
est entrée sous le type de la maintenance évolutive.
 La fiabilité : par la fiabilité, on désigne la capacité d’un système de continuer
son fonctionnement malgré l’apparition des pannes ou des erreurs dans l’une
ou plusieurs de ces parties. Les systèmes multi-agents peuvent contribuer à la
fiabilité des logiciels grâce à l’autonomie des agents. En fait, un agent est une
entité autonome dans le sens où elle peut atteindre ses objectifs sans
l’intervention des autres entités. En conséquence, un agent peut atteindre ses
objectifs même si un autre agent est tombé en panne. En plus, la flexibilité
permet à un agent dans changer son comportement dans les situations
imprévisibles.
 L’efficacité : le paradigme agent offre la possibilité de développer des
solutions efficace. L’efficacité des logiciels est mesurée en fonction de
ressources consommées afin de résoudre un problème. Les systèmes multi-
agents représentent un modèle d’exécution distribué où les ressources sont
distribuées. Ce partage permet une utilisation rationnelle des ressources. En
plus certains types d’agents permettent une meilleure exploitation de certaines
ressources. Par exemple, les agents mobiles diminuent la bande passante
exploitée pour atteindre l’objectif. Il est connu que la taille des données est
plus importante que la taille de traitement. Le transfert de traitement est moins
coûteux que le transfert des données. Les agents mobiles sont basés sur cette
philosophie. Au lieu de transférer les données, on transfert le traitement sous
forme d’un agent mobile.
 L’adaptation à la réalité : le paradigme agent permet une modélisation fidèle
de phénomènes réels. Les caractéristiques des agents, comme l’autonomie, la
flexibilité et la sociabilité, représentent des caractéristiques intrinsèques de
plusieurs systèmes réels (comme les sociétés humaines, les systèmes
biologiques, les colonies d’insectes,…etc.). En conséquence, l’adoption de ce
Dr. Toufik MARIR 2016-2017 p. 15
Introduction à l’Intelligence Artificielle Distribuée

paradigme permet de représenter les caractéristiques essentielles des systèmes


cités auparavant.
 Les modes d’interaction sophistiqués : les systèmes multi-agents supportent
des modes d’interaction sophistiqués comme la négociation, la coopération et
la collaboration. Par contre, le paradigme objet est basé sur des interactions
simples permettant seulement l’invocation des méthodes. La complexité des
interactions permet la modélisation et le développement des systèmes
complexes où l’interaction est une caractéristique fondamentale. Un exemple
de ces systèmes on peut citer les systèmes de commerce électronique, la
simulation des phénomènes sociaux et les chaines logistiques.
7. Les défis des SMA
Malgré les avantages des systèmes multi-agents, ce paradigme confronte plusieurs
défis. En fait, ces défis sont des résultats de caractéristiques d’agent et de systèmes
multi-agents. Prenant l’exemple de l’autonomie comme une caractéristique
intrinsèque des agents, cette caractéristique fait du comportement de l’agent
imprédictible. En conséquence, la validation des systèmes développés représente un
problème réel. Ainsi, les défis des systèmes multi-agents résident dans :

 La formulation des problèmes, l’allocation des ressources aux différentes


entités et la synthèse des résultats.
 L’interaction entre les agents (quand et comment) et le raisonnement sur les
autres agents durant le processus d’interaction.
 L’assurance de cohérence des comportements en assurant un compromis
entre les actions locales et le traitement distribué et en éliminant les effets
indésirables (comme les comportements chaotiques).
 L’ingénierie des systèmes multi-agents en développant des méthodes, des
méthodologies, des techniques et des outils facilitant le développement de
ces systèmes.
8. Les applications des SMA
Les systèmes multi-agents sont convenables, généralement, pour le développement
des systèmes complexes et les systèmes répartis et hétérogènes où la solution est le
résultat de l’interaction de plusieurs entités. En conséquence, plusieurs domaines
sont considérés comme des domaines d’application idéals. Bien entendu, il est

Dr. Toufik MARIR 2015-2016 p. 16


Les Systèmes Multi-Agents

difficile de citer tous les domaines d’application des systèmes multi-agents. En fait,
nous avons choisi de citer dans ce cours les domaines d’application dans lesquels des
applications réelles ont été vu le jour. Ainsi, les systèmes multi-agents ont été
appliqués dans les domaines suivants :

 La gestion des processus métier : les décisions prises dans les grandes
entreprises sont basés sur des informations provenant de plusieurs sources.
Le défi réel est de prendre des décisions correctes avec des informations
incomplètes ou obsolètes. Plusieurs recherchent trouvent que les systèmes
multi-agents sont idéaux pour travailler dans ces conditions. Le système
ADEPT est développé pour ce but. Ce système est composé d’un ensemble
d’agents qui modélisent les rôles et les départements d’une entreprise. Bien
entendu, chaque agent offre un ensemble de services. Un agent peut
demander des services d’autres agents à travers un processus de négociation
permettant de fixer le coût, les délais et la qualité du service demandé. Un
processus de négociation terminé avec succès représente un engament entre
les parties de négociation.
 Le domaine médical : le domaine médical en générale, et les soins intensifs
chirurgicaux particulièrement se caractérisent par plusieurs attributs
favorisant l’utilisation des systèmes multi-agents. Les systèmes de soins
intensifs sont organisés en équipes avec plusieurs experts qui coopèrent et
partagent de l’information afin d’atteindre leurs objectif. En plus, le niveau
d’expertise des intervenants n’est pas le même. En fait, certains intervenants
n’ont pas les compétences nécessaires pour traiter des situations données. Par
exemple, les infermières ne peuvent pas interpréter les données rassemblées.
Le système GUARDIEN modélise parfaitement ces systèmes. Il est composé
d’un ensemble d’agents permettant la perception des données, le
raisonnement, le contrôle et le transfert des commandes aux effecteurs.
 Les systèmes d’informations coopératifs : actuellement, les informations
sont répartis partout (dans les réseaux locaux ou le réseau Internet) avec des
structures et des natures hétérogènes. Les systèmes d’information coopératifs
(SIC) sont des systèmes capables de rechercher, filtrer et fusionner les
informations. Ces systèmes peuvent être exploités dans le domaine financière
(trouver des prix d’action, des informations de bourse,…etc.), le domaine

Dr. Toufik MARIR 2016-2017 p. 17


Introduction à l’Intelligence Artificielle Distribuée

touristique (trouver les itinéraires pour une destination donnée, des


informations sur les sites d’hébergement, les moyens de transports, …etc.),
les chaînes logistiques,…etc. Dans le domaine financière, le système multi-
agents Warren est un exemple typique. Ce système est composé d’un
ensemble d’agents qui collectent des informations de web et de présenter ces
informations aux usagers.

Récemment, les systèmes multi-agents sont devenus des solutions prometteuses


pour des nouveaux problèmes comme le contrôle temps réel des systèmes embarqués,
la gestion des architectures orientées-services, la gestion des infrastructures des
applications basées sur le cloud et l’internet des objets (IoT). L’industrie des
véhicules est un exemple des systèmes embarqués qui utilisent les agents pour le
contrôle temps réel. En fait, ces systèmes se caractérisent par des applications avec un
niveau de contrôle distribué, modulaire et intelligent. Ainsi, les agents sont utilisés
dans le niveau de supervision (les stratégies de prise de décision) afin de simplifier et
augmenter les capacités de système pour traiter les scenarios de contrôle complexe.

9. Conclusion
Dans ce chapitre, nous avons vu une introduction générale à l’intelligence artificielle
distribuées, le domaine d’origine des systèmes multi-agents. Ainsi, les trois pistes
essentielles de ce domaine ont été présentées en focalisant sur les systèmes multi-
agents. Les différences entre ces systèmes et les autres paradigmes ont été détaillées
avant de présenter les avantages et les défis liés à ce nouveau paradigme. Ensuite,
nous avons présenté quelques exemples d’application des systèmes multi-agents.

Dans le chapitre suivant, nous allons présenter les concepts de base des
systèmes multi-agents.

10. Questions de compréhension


a) Quelles sont les avantages de la distribution de l’intelligence artificielle ?
b) Est-ce que la distribution de l’intelligence artificielle est toujours bénéfique ?
c) Pourquoi les chercheurs pensent à distribuer la reconnaissance vocale dans le
système HearSay II ?
d) Quelles sont les différences entre les différentes pistes de l’intelligence
artificielle distribuée ?

Dr. Toufik MARIR 2015-2016 p. 18


Les Systèmes Multi-Agents

e) Citer des domaines qui peuvent contribuer au développement des systèmes


multi-agents.
f) Citer des domaines qui peuvent exploiter les progrès des systèmes multi-
agents.
g) Par rapport aux objets, quels sont les avantages des systèmes multi-agents ?
h) Proposer (avec justification) des domaines d’application pour les systèmes
multi-agents.

Dr. Toufik MARIR 2016-2017 p. 19


Chapitre 02
Systèmes Multi-Agents – Principes
Généreux
Les Systèmes Multi-Agents

Chapitre 02 : Systèmes Multi-Agents –


Principes Généreux
1. Introduction

Les systèmes multi-agents (SMA) est un nouveau paradigme de programmation qui a


prend de plus en plus une place importante parmi les technologies de développement
des systèmes complexes et distribués. Cette importance est peut être reflété sur
l’évolution du marché global consacré aux agents logiciels. En effet, ce marché a été
passé de 7.2 millions de dollars en 1997 à 837 millions de dollars en 2004, selon
l’organisation IDC (International Data Corporation).

Comme il a été évoqué au chapitre précédent, les SMA sont un domaine


multidisciplinaire. En fait, les concepts de ce domaine sont d’origines diverses. En
plus, ce domaine a un large spectre d’application. En conséquence, l’une des
questions fondamentales posées c’est la présentation de ces concepts dans un seul
cadre unificateur.

L’objectif du présent chapitre est de répondre à cette question en présentant les


concepts généraux du domaine multi-agents. En fait, il est possible de présenter ces
concepts en adoptant l’approche ascendante ou l’approche descendante. La première
approche consiste à construire l’image globale (le concept SMA) à partir des
concepts de base. Par contre, la deuxième approche consiste à décomposer le concept
global pour trouver les concepts de base. On va opter pour la deuxième approche
parce qu’elle est, à notre avis, plus pédagogique.

2. Les Systèmes Multi-Agents (SMA)

Avant de décomposer la notion de systèmes multi-agents à ses composants de base, il


semble important de spécifier la notion du système à étudier. Nous présentons dans
cette section la définition d’un système multi-agents avant de présenter leurs types.
Ensuite, nous abordons brièvement le problème de contrôle dans les SMA.

2.1. Définition d’un système multi-agents

Il est possible de vulgariser le concept de système multi-agents par la définition du


concept « système ». Il semble évident qu’un système multi-agents est système

Dr. Toufik MARIR 2016-2017 p. 21


Systèmes Multi-Agents – Principes Généreux

composé d’un ensemble d’agents. En effet, un système multi-agents est un ensemble


d’agents en interaction. En fait, dans cette définition on a seulement adopté l’une des
définitions du concept « système » (selon l’approche systémique) et qui consiste à un
ensemble d’éléments en interaction. Cependant, une analyse plus approfondie nous
montre les limites de cette définition. Par exemple, cette définition ne répond pas aux
questions suivantes :

 Est-ce qu’un système multi-agents est composé seulement d’agents ?


 Quelle est la nature des interactions qui peuvent exister entre les agents ?
 Quelles sont les relations entre les agents qui composent le système ?

Dans son livre « Les Systèmes Multi-Agents : Vers une Intelligence


Collective », Ferber a définit les systèmes multi-agents comme « un ensemble
composé de :

 Un environnement E : c'est-à-dire un espace disposant généralement


d’une métrique.
 Un ensemble d’objets O situés : c'est-à-dire pour tout objet, il est
possible, à un moment donné, d’associer une position dans E. Ces objets
sont passifs, c'est-à-dire qu’ils peuvent être perçus, créés, détruits et
modifiés par les agents.
 Un ensemble d’agents A, qui sont des objets particuliers (c'est-à-dire
), lesquels représentent les entités actives du système.
 Un ensemble de relations R qui unissent des objets (et donc des agents)
entre eux.
 Un ensemble d’opérations Op permettant aux agents de A de percevoir,
produire, consommer, transformer et manipuler des objets de O.
 Des opérateurs chargés de représenter l’application de ces opérations et
la réaction du monde à cette tentative de modification. »

En appliquant cette définition sur le monde réel qui l’entoure, nous pouvons
identifier plusieurs exemples de systèmes multi-agents. Votre équipe de football
préférée est un exemple typique d’un système multi-agents. En effet, on peut spécifier
l’ensemble qui caractérise ce système selon la définition de Ferber comme suite :

 L’environnement est le terrain dans lequel le match se déroule.

Dr. Toufik MARIR 2016-2017 p. 22


Les Systèmes Multi-Agents

 Dans cet environnement il existe un ensemble d’objets comme : le ballon,


les drapeaux de chaque coin, les buts, …etc.
 Les agents qui compose une équipe de foot sont les joueurs, les
entraineurs, l’arbitre, les médecins d’une équipe,…etc.
 Bien entendu il existe des relations entre les objets (et particulièrement
entre les agents) d’une équipe. Par exemple, une relation de coopération
doit être existée entre les joueurs afin d’atteindre les objectifs de l’équipe.
En plus, les médecins et les entraineurs doivent se coordonner afin
d’établir un programme d’entrainement bénéfique. L’équipe
administrative doit se coordonner et coopérer avec les entraineurs et les
médecins afin d’offrir les moyens logistiques nécessaires à la réussite de
l’équipe. Chaque agent de cet exemple (joueur, médecin, entraineur,
…etc) peut posséder des ressources (c'est-à-dire des objets) qui peuvent
être partagées ou individuelles.
 Les joueurs (les agents) peuvent manipuler le ballon (un objet) à travers
un ensemble d’opérations. Ils peuvent défendre ou attaquer.
 Afin d’attaquer ou de défendre, un joueur utilise un ensemble
d’opérateurs. Un attaquant peut donc tirer le ballon, déplacer pour prendre
une position adéquate, …etc.

Un autre exemple des systèmes multi-agents est le département dans lequel vous
étudiez. De la même façon que l’exemple précédent, ce système est caractérisé par :

 L’environnement qui est l’immeuble dans lequel les activités


pédagogiques et administratives s’exécutent.
 Les objets qui sont les bureaux, les tables, les tableaux d’affichage,…etc.
 Les agents qui sont les étudiants, les enseignants et l’équipe
administrative,…etc.
 Les relations entre les objets. Par exemple, la relation de spécialisation
(les salles de travaux pratiques sont des salles pédagogiques, …etc.). On
peut aussi identifier des relations entre les agents (qui sont des objets
spécifiques) et les objets ordinaires. Par exemple, la secrétaire possède
son propre bureau, armoire et éventuellement un ordinateur. Il est
important pour éviter les malentendus de note que le bureau dans ce cas
est le meuble et pas l’immeuble. En fait, le bureau en tant qu’un

Dr. Toufik MARIR 2016-2017 p. 23


Systèmes Multi-Agents – Principes Généreux

immeuble peut être considéré comme l’environnement de la secrétaire. Il


existe bien évidemment des relations entre les agents comme la
coopération et la compétition entre les étudiants.
 Les agents (étudiants, enseignants, l’équipe administrative, …etc.)
exécutent un ensemble d’opérations. Par exemple, les enseignant
enseignent, évaluent et encadrent les étudiants.
 Les opérations précédentes sont représentées par un ensemble d’opérateur
comme : présenter un cours, établir un examen et corriger les réponses.

Malgré l’importance de la définition de Ferber qui est considérée comme une


référence dans ce domaine, il est important de noter que les composants proposés
par cette définition n’ont pas la même importance. Il est même possible de
négliger certains composants dans certains systèmes multi-agents. Nous pouvons,
donc, distinguer certains types spécifiques de systèmes multi-agents selon les
caractéristiques de certains composants.

2.2. Cas spécifiques de systèmes multi-agents

La définition de Ferber a donné une importance spécifique à l’environnement de


systèmes multi-agents. Cependant, il a caractérisé l’environnement d’un SMA comme
un espace métrique. Néanmoins, dans certains systèmes multi-agents, il est impossible
d’identifier l’environnement avec ce sens. Les agents logiciels sont des exemples de
ces cas. En fait, un agent logiciel n’existe pas dans un espace géométrique euclidien.
En conséquence, nous pouvons distinguer les SMA purement communicants et les
SMA purement situés.

Dans le cas de systèmes multi-agents purement communicants, il n’existe pas


d’environnement de sens d’un espace métrique qui englobe des objets (c'est-à-dire
En conséquence, les actions des agents se résument à la
communication entre les agents. Généralement, les agents dans ce cas sont des entités
informatiques logicielles. Par contre, les systèmes multi-agents purement situés sont
des SMA composés d’agents qui ne se communiquent pas directement à l’aide de
message mais seulement par la manipulation des objets de l’environnement. Dans ce
cas, les agents (qui sont généralement des entités physiques) prennent des positions
réelles dans l’environnement.

Dr. Toufik MARIR 2016-2017 p. 24


Les Systèmes Multi-Agents

A notre avis, les SMA purement communicants et les SMA purement situés ne
représentent que des cas extrêmement spécifiques de SMA. En fait, les agents peuvent
être des entités situés dans des environnements empiriques mais leur communication
est restreinte à l’échange de message. Dans ce cas, nous parlons de SMA
communicant. De la même manière, les SMA situés sont des systèmes multi-agents
composés d’agents positionnés dans l’environnement.

Il est important de noter que l’environnement sur lequel cette classification est
basée, représente l’environnement logique de SMA. Bien entendu, les agents logiciels
purement communicants existent dans des environnements informatiques. La
différence entre les deux notions sera détaillée ultérieurement dans ce chapitre.

Un système multi-agents qui est composé d’un ensemble d’agents hétérogènes


dans leurs structures, leurs capacités et langages de communication et qui peuvent
joindre et quitter le système, est appelé un système multi-agent ouvert. Dans cette
catégorie des systèmes multi-agents plusieurs problèmes nécessitent encore l’intention
des chercheurs comme l’hétérogénéité des agents, la confiance, la recherche des
organisations et la gestion des cas de défaillance. Par contre à ce type, les systèmes
multi-agents fermés sont composés d’un ensemble d’agents homogènes qui
fonctionnent dans des organisations avec des politiques d’admission restreintes.
Malgré les avantages des systèmes multi-agents ouverts, les systèmes fermés sont les
plus appliqués dans les applications réelles. Bien entendu, une question fondamentale
dans tous les types des systèmes (ouverts ou fermés) consiste au contrôle de
fonctionnement d’un système. La section suivante explique deux approches utilisées
pour résoudre ce problème.

2.3. Le contrôle dans les systèmes multi-agents

Bien que les systèmes multi-agent soient un modèle des systèmes distribués,
l’exécution des agents doivent être cohérent. Ainsi, une question fondamentale dans
ce domaine consiste au choix d’un type de contrôle de différents agents qui
composent le système. Il existe dans la littérature spécialisée deux approches
différentes de contrôle des agents :

 Le modèle de tableau noir (l’approche centralisée) : dans cette


approche, le système est composé d’un ensemble des agents (appelés des

Dr. Toufik MARIR 2016-2017 p. 25


Systèmes Multi-Agents – Principes Généreux

sources de connaissances), un tableau noir qui assurent l’interaction entre


les agents et un module de contrôle. Le module de contrôle assure
l’exécution de la source de connaissances adéquate. En fait, ce module
ordonnance les sources de connaissances selon le contenu du tableau noir.
Les agents utilisent le tableau noir comme un espace partagé qui assure
leur interaction. Ainsi, chaque agent peut accéder au tableau noir pour la
lecture ou l’écriture. Les changements dans le tableau noir peuvent
déclencher l’exécution d’une source de connaissances. En conséquence, le
module de contrôle planifie l’exécution de cette source de connaissances
selon son niveau de priorité. La figure 2.1 présente une vue simplifie de
ce modèle. L’architecture HearSay II citée dans le chapitre précédent est
un exemple typique de ce modèle. Il est important de noter que le
caractère distribué des systèmes multi-agents influe négativement sur
l’applicabilité de ce modèle. Cependant, le modèle est encore applicable
pour le développement des agents composés d’autres agents (par exemple,
l’agent ARTIS qu’on va présenter dans le chapitre 03).

Source de connaissances

Tableau noir Source de connaissances

Source de connaissances

Source de connaissances
Mécanisme de contrôle

Figure 2.1 : Le modèle de tableau noir.

 Le modèle d’acteurs (contrôle distribué) : le modèle d’acteur


est un autre modèle de l’IAD. Les acteurs sont des entités autonomes qui
communiquent par messages asynchrone. Ainsi, il n’existe pas un
contrôle centralisé mais chaque acteur possède le contrôle sur lui-même.
En conséquence, les acteurs éprouvent de difficulté d’atteindre des

Dr. Toufik MARIR 2016-2017 p. 26


Les Systèmes Multi-Agents

objectifs globaux avec les connaissances locales. La Figure 2.2 montre ce


modèle de l’IAD.

Acteur Acteur

Acteur

Acteur

Acteur

Figure 2.2 : Le modèle d’acteur.

Comme nous l’avons mentionné précédemment, les systèmes multi-agents


introduisent plusieurs nouveaux concepts. L’approche VOYELLES est l’une des
approches qui présentent les concepts d’un SMA dans un seul framework. Ainsi,
selon cette approche un système multi-agent est composé d’agents (A), d’interactions
(I), de l’environnement (E) et d’organisations (O). Dans la suite de ce chapitre, nous
présentons ces éléments essentiels de SMA.

3. Les agents

Les agents représentent sans doute la brique de base utilisée pour la réalisation des
SMA. En plus, nous pouvons considérer l’agent comme la notion la plus polémique
dans ce domaine. Cette section est consacrée à la présentation des agents, de leurs
caractéristiques et leurs types.

3.1. Définition d’un agent

La définition de l’agent ne fait pas l’unanimité. En effet, plusieurs définitions


peuvent être extraites de la littérature spécialisée. Dans un article scientifique célèbre
intitulé (Is it an Agent, or just a Program? A Taxonomy for Autonomous Agents),
Stan Franklin et Art Graesser présentent la liste de définitions les plus acceptées par
les spécialistes de ce domaine. Bien entendu, certaines définitions présentées dans cet
article ne sont plus citées actuellement. En conséquence, nous sélections de la

Dr. Toufik MARIR 2016-2017 p. 27


Systèmes Multi-Agents – Principes Généreux

littérature spécialisée les définitions qui gardent leurs validités jusqu’au nos jours.
Ainsi, un agent peut être défini comme étant :

 Une entité qui perçoit son environnement et agisse sur celui-ci ;


 Un système informatique existant dans un environnement dynamique
qui peut le perçoit et le contrôle de manière autonome en exécutant les
tâches ou en réalisant les objectifs pour lesquels ce système a été conçu ;
 Une entité qui exécute continuellement trois fonctions : la perception
des conditions dynamiques d’un environnement, l’action afin d’affecter
les conditions de cet environnement et le raisonnement afin d’interpréter
les perceptions et déterminer les actions ;
 Une entité autonome, réelle ou abstraite, qui est capable d'agir sur elle-
même et sur son environnement, qui, dans un univers multi-agents, peut
communiquer avec d'autres agents, et dont le comportement est la
conséquence de ses observations, de ses connaissances et des
interactions avec les autres agents ;
 Un système informatique autonome, réactif et pro-actif.

Malgré la diversité de définitions du concept agent, nous pouvons remarquer


l’existence de certaines caractéristiques communes entre les définitions présentées. En
effet, nous pouvons identifier les agents par leurs caractéristiques.

3.2. Les caractéristiques des agents

La diversité de définitions des agents est due à la diversité des domaines


d’application de ce domaine. Cependant, une lecture approfondie de ces définitions
nous permet d’identifier certaines caractéristiques communes dans la plupart des
propositions. En contre partie, nous pouvons trouver certaines caractéristiques qui
existent dans des définitions sans d’autres. En conséquence, nous pouvons poser la
question sur le degré d’importance de ces caractéristiques pour la définition du
concept agent. En d’autres termes, est-ce-que toutes les caractéristiques sont
nécessaires pour concevoir un agent ?

Afin de répondre à cette question, nous pouvons prendre la définition proposée


par Ferber comme un exemple. En fait, Ferber a souligné que le comportement d’un
agent soit le résultat de ses observations, ses connaissances et ses interactions.

Dr. Toufik MARIR 2016-2017 p. 28


Les Systèmes Multi-Agents

Cependant, les agents réactifs, qui représentent un type d’agents, exécutent des
comportements en réponse à des évènements d’environnement sans aucune
représentation interne de cet environnement. En effet, dans ce type d’agent, il n’existe
pas des connaissances internes. De la même manière Hays-Roth a exigé le
fonctionnement continu de l’agent. Cependant, un agent peut exécuter une tâche
déterminée avant de cesser sans fonctionnement.

A notre avis, nous pouvons classifier les caractéristiques d’agents en


caractéristiques essentielles (c'est-à-dire les caractéristiques qui font naître le concept
agent) et caractéristiques optionnelles (c'est-à-dire des caractéristiques qui existent
seulement dans certains types d’agents). En plus, nous adoptons l’avis de Wooldridge
en distinguant les agents des agents intelligents. Cette distinction est pour but de
déterminer strictement les caractéristiques nécessaires pour chaque type d’agent. En
conséquence, nous distinguons les caractéristiques des agents, les caractéristiques des
agents intelligents et des caractéristiques des agents spécifiques.

 Caractéristiques des agents : A partir de définitions précédentes, nous


pouvons identifier des caractéristiques essentielles pour les agents. Ainsi,
deux importantes caractéristiques font naître le concept agent : la situation
dans un environnement et l’autonomie.
o La situation : toutes les définitions notent qu’un agent doit être
situé dans un environnement. Un agent peut donc percevoir son
environnement et agir sur les changements de cet environnement.
Il est important de noter que cette caractéristique ne soit pas
intrinsèque pour tous les systèmes informatiques. A titre
d’exemple, un système expert n’a pas d’interaction avec son
environnement. En fait, un système expert interagit seulement avec
son utilisateur. Donc, c’est l’utilisateur de système qui introduise
les entrées de système et les résultats doivent être fournis à cet
utilisateur. Par contre, si nous voulons concevoir un agent qui
contrôle l’état d’un patient, cet agent doit être capable de percevoir
l’état du patient à travers un ensemble de capteurs (par exemple la
température du patient) et de réagir aux changements de cet état
directement (par exemple par l’injection d’un médicament).

Dr. Toufik MARIR 2016-2017 p. 29


Systèmes Multi-Agents – Principes Généreux

o L’autonomie : cette caractéristique est, peut être, la


caractéristique la plus importante des agents. On désigne par cette
caractéristique la capacité de l’agent d’agir sans l’intervention
d’un tiers. En d’autres termes, un agent peut atteindre ses objectifs
sans demander l’aide d’un autre agent, système ou utilisateur. En
plus, un agent possède le contrôle sur son état et son
comportement. En effet, on ne peut pas ni modifier l’état interne
d’un agent ni d’imposer sur cet agent l’exécution de certains
comportements. Malgré que le concept d’encapsulation (c'est-à-
dire la capacité de masquer les attributs) a été introduit par la
programmation orientée objet, l’autonomie des agents posent des
nouvelles restrictions. D’une part, le masquage des attributs d’un
objet dans la programmation orientée objet est facultatif. En
conséquence, un programmeur peut spécifier certains attributs
comme attributs publiques. Par contre, les attributs et les
connaissances d’un agent doivent être masqués contre les accès
externes. D’autre part, quand on invoque une méthode au sein d’un
objet, ce dernier doit exécuter cette méthode. En revanche, un
agent peut décider lui-même l’exécution de méthode invoquée ou
non.
 Caractéristiques des agents intelligents : l’intelligence des agents est
une réflexion de la flexibilité qui caractérise les comportements de ce
dernier. En effet, un agent intelligent est un agent qui assure la flexibilité
de ses comportements. On entend par la flexibilité, la capacité de l’agent
de changer son comportement ou sa structure afin d’atteindre ses
objectifs. Prenant l’exemple d’un joueur de football, cet agent peut être
doté de capacité d’attaque et/ou de capacité de défense. Sachant que
l’objectif primordial du joueur est d’aider son équipe à vaincre
l’adversaire, l’attaquant a pour but de marquer des buts et le défenseur a
pour but d’empêcher l’adversaire de marquer un but. Cependant, un
joueur attaquant flexible c’est un attaquant qui retourne à la zone de
défense pour donner l’aide à ses collègues en cas d’une attaque de
l’adversaire. De la même façon, un défenseur peut aider les attaquants en
cas d’un contre attaque par exemple. En conclusion, un joueur flexible est
Dr. Toufik MARIR 2016-2017 p. 30
Les Systèmes Multi-Agents

un joueur qui change son comportement ou son but selon la situation. Afin
d’assurer cette flexibilité, l’agent doit être doté au moins par trois
caractéristiques :
o La réactivité : la capacité de l’agent de percevoir son
environnement et répondre aux différents changements apparus
dans le temps adéquat.
o La pro-activité : la capacité de l’agent de prendre l’initiative en
démontrant des comportements orientés objectifs.
o La sociabilité : la capacité de l’agent d’interagir avec les autres
agents en utilisant un langage de communication.
 Caractéristiques des agents spécifiques : comme nous l’avions noté
auparavant, les domaines d’applications des SMA sont très divers. En
effet, certaines applications exigent des caractéristiques optionnelles afin
d’atteindre leurs objectifs. Par exemple, les agents exploités dans
l’Internet ont la capacité de se déplacer entre les machines afin d’exécuter
leurs requêtes. La mobilité est l’une des caractéristiques de ce type
d’agents. Les différentes propriétés des agents sont souvent utilisées
comme critères de classification. Ainsi, on trouve dans la littérature des
classifications basées sur la mobilité, l’adaptabilité ou la rationalité des
agents. Les caractéristiques spécifiques les plus répandues sont :
o La mobilité : capacité de l’agent de déplacer dans son
environnement (l’environnement peut-être un réseau
informatique).
o L’adaptabilité : capacité de l’agent de changer son
comportement, sa structure ou ses buts selon la situation actuelle.
o La rationalité : capacité de l’agent d’atteindre ses objectifs avec
le moindre coût. Un agent rationnel n’exécute pas des
comportements contradictoires avec ses buts.
o L’intentionnalité : l’agent possède une représentation explicite de
ses états mentaux.
o La véracité : l’agent ne communique pas des fausses
informations.

Dr. Toufik MARIR 2016-2017 p. 31


Systèmes Multi-Agents – Principes Généreux

La figure 2.3 présente les catégories principales des agents selon leurs
caractéristiques.

Caractéristiques  Situation à l’environnement


essentielles des agents  Autonomie

Caractéristiques  Réactivité
Caractéristiques des
essentielles des agents  Pro-activité
agents
intelligents  Sociabilité

Caractéristiques des  Mobilité, Adaptabilité,


agents spécifiques Rationalité, Intentionnalité,
Véracité,…etc.

Figure 2.3 : Les propriétés des agents selon leurs types.

3.3. Les types d’agents

Les caractéristiques des agents citées dans la section précédente peuvent être
considérées comme des critères de classification des agents. En effet, on peut
classifier les agents aux agents mobiles et agents fixes selon le critère de la mobilité.
En plus, le critère de la communication peut être servi pour classifier les agents en
agents avec communication directe ou des agents avec communication indirecte
(appelés des agents situés). On peut, aussi, choisir le niveau de coopération des
agents comme un critère de classification. Dans ce cas, nous trouvons des classes
d’agents allant des agents totalement coopératifs aux agents totalement
antagonistes. Dans cette section nous allons détailler une classification basée sur le
critère de la granularité des agents parce qu’elle est la classification la plus adoptée
par les chercheurs de domaine. Par la granularité, nous entendons la complexité des
comportements et des connaissances des agents. Dans cette section nous ne
présentons que les principes des diverses classes d’agents. La présentation des
modèles d’agents de chaque classe fera l’objet de troisième chapitre. Sous ce critère,
nous trouvons trois classes des agents :

Dr. Toufik MARIR 2016-2017 p. 32


Les Systèmes Multi-Agents

 Les agents cognitifs : cette classe des agents fait partie de l’intelligence
artificielle symbolique. Ainsi, l’agent possède une représentation
symbolique de son environnement, des autres agents, des actions et des
états internes de l’agent. Sachant que les buts de l’agent sont modélisés
comme des états internes, le raisonnement de l’agent consiste à trouver
l’ensemble des actions possibles pour satisfaire ses buts. Ainsi, le
problème essentiel dans cette catégorie des agents devient un problème de
planification. Bien entendu, il est possible de prendre en compte plusieurs
attributs dans le processus de raisonnement comme les croyances de
l’agent sur les croyances des autres agents ou l’historique de l’exécution
de l’agent. Cependant, l’intégration de divers attributs dans le processus
de raisonnement peut compliquer ce dernier. En conséquence, la
performance devient une question pertinente dans cette classe d’agents.
Finalement, on note qu’un système multi-agent de cette catégorie est
composé d’un petit nombre d’agents hétérogènes.
 Les agents réactifs : les agents réactifs sont basés sur l’intelligence
artificielle réactive. Cette école de l’intelligence artificielle est basée sur la
possibilité de concevoir des comportements intelligents à partir de
comportements simples. En effet, l’intelligence est un phénomène
émergent de l’interaction des entités simple. L’exemple de fourmis est un
exemple typique dans ce cas. En fait, le comportement des fourmis est un
comportement simple qui n’est pas doté d’une vraie intelligence.
Cependant, l’interaction des fourmis produit des comportements
intelligents. En conséquence, les agents réactifs sont des agents qui ne
possèdent ni une représentation de leur environnement ni un vrai
mécanisme de raisonnement. En plus, leur comportement est modélisé par
des règles de type stimulus-réponse qui produisent des actions à partir de
perceptions. Ce comportement est souvent modélisé par des machines à
états finis. A l’inverse des agents cognitifs, un système multi-agents basé
sur les agents réactifs est constitué d’un grand nombre d’agents
homogènes.
 Les agents hybrides : la division des agents en deux classes ne représente
qu’un vue idéaliste. En fait, ces deux classes ne présentent que les cas
extrêmes. En réalité, un agent nécessite des capacités réactives et des
Dr. Toufik MARIR 2016-2017 p. 33
Systèmes Multi-Agents – Principes Généreux

capacités cognitives. Ainsi, il est important de combiner les deux


approches citées ci-dessus. Un agent hybride est un agent conçu en
couches. Les couches inferieurs assurent des comportements réactifs. Par
contre, les couches supérieures sont responsables de capacités cognitives
complexes comme les aspects sociaux. Bien entendu, les couches
supérieures manipulent des connaissances alors que les couches inferieurs
manipulent directement des données. En conséquence, des couches
intermédiaires sont responsables de transformer des données en
connaissances.
4. L’environnement

Un agent, par définition, est une entité qui agit sur un environnement. En effet,
l’environnement est un composant important dans les systèmes multi-agents. Par
environnement on entend les objectifs passifs qui composent le monde de
l’environnement. Généralement, l’agent évolue dans ce monde. Par exemple,
l’environnement d’un joueur est le terrain dans lequel le jeu se déroule. De point de
vue abstrait, ce terrain peut être modélisé par l’ensemble des objets passifs qui le
compose (les tribunes, le ballon,…etc.). Il est important de noter que la passivité des
objets de l’environnement ne signifie pas que ce dernier est aussi passif. En fait,
l’environnement peut être considéré comme une entité active et dynamique. Par
exemple, des lois de l’environnement peuvent permettre le changement de l’état de ce
dernier sans l’influence d’un agent. Dans le cas de notre exemple (football), le ballon
peut changer son état (changer son mouvement ou sa direction) sans l’influence d’un
joueur.

Malgré l’importance de l’environnement, il n’a pas reçu l’attention nécessaire par


les chercheurs du domaine que récemment. En fait, un environnement est
généralement doté de fonctionnalités implicites. Un environnement est vu comme une
partie implicite intégrée aux systèmes multi-agents de manière ad-hoc. Ainsi, le
changement d’une partie d’un système implique un changement de l’environnement.
Une conception qui met en accent l’importance d’un environnement multi-agents,
considère ce dernier comme une entité de première classe. On entend par une entité de
première classe, un module logiciel indépendant qui fournit une abstraction (ou un
mécanisme de masquage d’information) permettant le changement de son

Dr. Toufik MARIR 2016-2017 p. 34


Les Systèmes Multi-Agents

implémentation sans modifier les autres modules. En plus, le concept


« environnement » est une source de confusion à cause de ses multiples définitions.
Un environnement peut être vu comme concept logique comme il peut être considéré
comme une infrastructure d’exécution. Si par exemple nous simulons le jeu de
football en utilisant les concepts des systèmes multi-agents, l’environnement peut être
considéré comme le terrain et les objets passifs comme il peut être considéré comme
l’infrastructure matérielle et logicielle utilisée pour la simulation (espace mémoire,
plateforme logicielle,…etc.).

Afin de limiter cette confusion, un environnement peut être modélisé par une
architecture en trois couches. Ainsi, la couche la plus basse représente l’infrastructure
matérielle comme l’espace mémoire, les processeurs et les réseaux informatiques
utilisés pour le fonctionnement du système. Dans la deuxième couche, nous pouvons
trouver la plateforme logicielle utilisée pour la mise en œuvre de ce système. Cette
plateforme peut être composée par le système d’exploitation, la machine virtuelle ou
le middelware qui assurent la bonne exécution du système développé. La troisième
couche représente l’environnement logique du système. Cet environnement logique
est composé de l’ensemble des objets passifs qui modélisent le système. La figure 2.4
donne une présentation de cette modélisation en couche d’environnements multi-
agents.

Environnement  Framework SMA


logique  Objets modélisant le système

 Système d'exploitation
Environnement Plateforme logicielle  Machine virtuelle
 Middelware

Infrastructure  Espace mémoire


matérielle  Processeurs
 Réseaux
Figure 2.4 : L’architecture en couches d’un environnement.
.

Un environnement multi-agents est caractérisé par plusieurs attributs comme :

Dr. Toufik MARIR 2016-2017 p. 35


Systèmes Multi-Agents – Principes Généreux

 L’accessibilité : dans un environnement accessible les agents peuvent


accéder à son état intégral. Par contre, la portée des actions de l’agent et
de sa perception est locale dans un environnement inaccessible.
 Le déterminisme : l’état d’un environnement déterministe est lié
seulement à son état précédent et à l’action. Dans un environnement
indéterministe, les résultats de la même action et dans le même contexte
peuvent être différents.
 Le dynamisme : un changement de l’état dans un environnement statique
se produit exclusivement par les actions des agents. Cependant, l’état d’un
environnement dynamique peut être modifié sans l’intervention des
agents.
 La continuité : si le nombre de perceptions et d’actions possible de
l’agent dans un environnement est illimité, on dit que l’environnement est
continu. Sinon, on le considère discret.

Finalement il est important de noter la différence entre un environnement d’un


agent et l’environnement d’un système multi-agents. En fait, l’environnement d’un
système multi-agents est constitué, comme nous l’avons mentionné auparavant, des
objets passifs qui composent le système. Par contre, l’environnement d’un agent est
composé de ces objets ainsi que les autres agents du système.

5. L’organisation

En étudiant les systèmes multi-agents, il est impossible d’ignorer la société dans


laquelle l’agent est intégré. Ainsi, nous étudions, généralement les agents selon deux
dimensions différents : le niveau micro et le niveau macro. Le niveau micro désigne
l’architecture interne de l’agent avec ces mécanismes de raisonnement. Au niveau
macro, nous ciblons le système multi-agents en tant qu’une organisation. Une
organisation est définie, par le sociologue Edgar Morin, comme « un agencement de
relations entre composants ou individus qui produit une unité, ou système, dotée de
qualités inconnues au niveau des composants ou individus. ». Une étude des systèmes
multi-agents au niveau macro doivent considérer les agents comme boite noir.
Cependant, le problème posé est comment peut-on étudié le comportement du système
toute en ignorant les comportements individuels. En fait, une telle étude doit ce
concentrer sur les fonctions des agents et non sur leurs comportements. En d’autre

Dr. Toufik MARIR 2016-2017 p. 36


Les Systèmes Multi-Agents

terme, en adoptant la vue macro nous devrons traiter la question qui fait quoi mais pas
comment.

Dans l’étude des organisations nous distinguons généralement deux types :


l’organisation structurelle et l’organisation concrète. L’organisation structurelle est
composée par un ensemble des rôles avec des relations entre eux. Elle ne représente
que les caractéristiques abstraites d’une organisation. Si on considère le département
d’informatique comme un système multi-agents, une organisation structurelle de ce
système est constituée d’un ensemble de rôles qui existent dans ce système avec les
relations entre eux. En résultat, cette organisation structurelle ne représente que
l’organigramme de l’organisation. Par contre, une organisation concrète représente
une instanciation de l’organisation structurelle. Ainsi, dans cette organisation nous
trouvons les agents qui jouent chaque rôle. Dans l’exemple du département
d’informatique, quand on associe aux différents rôles les agents adéquats (par
exemple le rôle « chef de département » est associé à l’agent « X » et le rôle
enseignant est associé aux agents « X, Y, Z,…etc. ») nous passons à une organisation
concrète.

En conséquence aux points traités ci-dessus, les organisations multi-agents


peuvent être traitées selon les axes suivants :

 L’analyse structurelle : le rôle de cette analyse est d’identifier la forme


de l’organisation. En fait, un système multi-agents peut être organisé sous
forme d’une hiérarchie, d’un groupe ou d’une coalition. Une analyse
structurelle correcte ne doit pas se limiter à la structure du système.
D’autres critères doivent être pris en considération afin de bien identifier
la catégorie de la structure organisationnelle comme l’échange de flux
d’information et de contrôle, les objectifs de la structure, le processus de
création de l’organisation et sa durée de vie. A titre d’exemple, un groupe
et une coalition peuvent partager la même structure. Cependant, les
coalitions se forment pour des objectifs bien déterminés et pour des
courtes périodes. Le but à court terme et le processus de formation des
coalitions représentent les différences essentielles entre un group et une
coalition. Finalement, nous distinguons deux classes de structures
organisationnelles : les structures prédéfinies et les structures émergentes.

Dr. Toufik MARIR 2016-2017 p. 37


Systèmes Multi-Agents – Principes Généreux

Une structure prédéfinie est une structure conçue par le concepteur du


système. Par contre, les structures émergentes se forment par les agents
durant leur exécution soit par des mécanismes d’auto-organisation ou de
réorganisation.
 L’analyse fonctionnelle : cette analyse détermine les fonctions des
membres de l’organisation. Bien que les rôles qui existent dans un
système soient étroitement liés à ce dernier, certains rôles génériques
peuvent être communément identifiés comme le facilitateur, le courtier et
le médiateur. Ses rôles offrent des services de communication, d’annuaire
et/ou de coordination dans un système multi-agents.
 Les paramètres de concrétisation : cette dimension traite la réalisation
des organisations SMA en passant de l’organisation structurelle vers
l’organisation concrète. La question fondamentale dans cet axe consiste à
l’attribution des rôles aux différents agents qui composent un système
multi-agents. Deux critères guident les concepteurs en traitant cette
question : la spécialisation et la redondance. Par le critère de
spécialisation, le concepteur doit décider si un agent donné doit être
spécialisé dans un seul rôle ou être générique dans le sens de sa capacité
d’accomplir plusieurs rôles. Par contre, le critère de redondance désigne la
possibilité d’attribuer un seul rôle à un ensemble d’agents. En fait, il
n’existe pas une réponse unique à ces deux choix. En principe, le
concepteur doit répondre aux questions de spécialisation et de redondance
en prenant les spécificités du système traité en considération.

Afin de simplifier les tâches des concepteurs, plusieurs modèles organisationnels


ont été proposés. Un modèle organisationnel est une représentation abstraite des
caractéristiques essentielles des organisations multi-agents. Ainsi, les concepteurs
doivent seulement concevoir le système selon les caractéristiques du modèle choisi.
Un modèle peut répondre aux questions liées à la structure des organisations, aux
fonctions génériques qui existent dans une organisation, aux critères d’attribution des
rôles et/ou la gestion des organisations. Nous présentons dans cette section le modèle
AGR et le modèle MOISE+.

Dr. Toufik MARIR 2016-2017 p. 38


Les Systèmes Multi-Agents

Le modèle AGR est basé sur trois concepts centraux : Agent, Groupe et Rôle. Ce
modèle ne pose aucune contrainte sur l’architecture d’un agent. Un agent est
simplement une entité interagissant autonome qui exerce des actions dans un contexte
social. Cet agent appartient à un ou plusieurs communautés appelées des groups. Un
groupe. Un groupe est le terme générique utilisé pour désigner une communauté
d’agents en relation. En plus, un agent peut jouer un rôle qui est une représentation
abstraite d’une fonction du groupe. La figure 2.5 présente le modèle AGR.

* Agent *

Membre dans Joue

1..*
1..*

Groupe Rôle
Appartient à 1..*

Figure 2.5 : Le modèle AGR.

Le modèle MOISE+ est un modèle organisationnel en plein essor. Depuis sa


première version, le modèle a connu plusieurs extensions. Le modèle MOISE+ est
centré sur les concepts : rôle, groupe et liens organisationnels. Un rôle représente le
comportement autorisé d’un agent dans l’organisation. En effet, un rôle peut être
spécifié par un ensemble de missions. Une mission est définie formellement par le
quadruplet <G, P, A, R> qui représentent, respectivement, les buts, les plans, les
actions et les ressources autorisés dans le cadre de la mission. En plus, le modèle
propose des liens organisationnels pour structurer les relations entre les agents jouant
ces rôles. Trois liens organisationnels pouvant être existés entre les différents rôles : la
communication, l’autorité et la relation d’accointance. La relation de communication
désigne la possibilité de communication entre deux rôles. La relation d’autorité
exprime la relation de subordination d’un rôle à un autre rôle. La relation
d’accointance donne à un agent donné le droit de représenter et d’utiliser un sous-
ensemble de l’organisation dans ses raisonnements. Finalement, un groupe est une

Dr. Toufik MARIR 2016-2017 p. 39


Systèmes Multi-Agents – Principes Généreux

agrégation d’agents en présentant les missions autorisées et les relations entre les
différents rôles. Il est important de noter que le modèle MOISE+ a adopté l’idée de
distinction entre la structure organisationnelle et l’organisation concrète. Ainsi, une
structure organisationnelle est définit par l’ensemble des groupes, l’ensemble des
liens organisationnels et l’ensemble des rôles. Par contre, l’organisation concrète
(appelé dans le modèle MOISE+ l’entité organisationnelle) est une instance de la
structure organisationnelle et elle est définie par la structure organisationnelle, les
instances de groupes, les instances des relations organisationnelles et les couples
agent-rôle.

6. L’interaction

Les agents sont, généralement, caractérisés par un ensemble limité de compétences.


En conséquence, l’interaction des agents est une condition importante pour atteindre
effectivement les objectifs d’un agent. En fait, un agent isolé n’est qu’une entité
handicapé dans le sens où il ne peut pas atteindre ses objectifs. A cause de cette
importance de l’interaction des agents, certains auteurs la considèrent comme la
raison d’être des systèmes multi-agents. On ne peut parler d’un système multi-agents
en assemblant simplement des agents sans interaction (un système multi-agents est
par définition un ensemble d’agents en interaction). Cependant, l’interaction est aussi
la source des problèmes dans les systèmes multi-agents. En fait, l’interaction oblige
les agents de raisonner sur les capacités des autres agents, de leurs croyances, de leurs
buts,…etc. Par exemple, pour demander l’aide d’un autre agent afin d’atteindre ses
objectif, un agent doit connaitre les agents qui partagent avec lui ces objectif (il n’est
pas raisonnable de demander à un agent de faire des comportements contradictoires
avec ses objectifs) ou les agents capables d’exécuter la tâche demandées. Bien
entendu, l’autonomie d’un agent empêche les autres de faire accès à ses propres
capacités et buts. En plus, les situations d’interaction mal gérées peuvent engendrer
des situations indésirables voire même chaotique. Il suffit, pour comprendre les
situations chaotiques engendrées par les interactions mal gérées, d’imaginer une ville
où les voitures n’appliquent pas le code de route. Dans un tel exemple, les chauffeurs
de voitures représentent les agents. Chaque chauffeur doit raisonner non seulement
sur ses objectifs mais aussi sur les intentions des autres chauffeurs. L’absence d’un

Dr. Toufik MARIR 2016-2017 p. 40


Les Systèmes Multi-Agents

code de route va certainement engendrer des situations de conflits, d’interblocage et


même des accidents mortels.

L’interaction représente l’influence d’un agent sur le comportement des autres


agents à l’aide d’une série d’actions. Dans cette section nous allons concentrer sur
deux aspects importants : les types d’interaction et la communication dans les
systèmes multi-agents. En fait, l’interaction ne se résume pas à la simple spécification
de mécanismes élémentaires permettant aux agents d’influencer sur les
comportements des autres agents. Au contraire, il permet d’analyser et de concevoir
des formes d’interaction qui permettent aux agents d’atteindre leurs objectifs. Bien
entendu, les formes d’interaction peuvent des formes simples comme elles peuvent
être très complexes. Dans la deuxième partie de cette section, nous présenterons la
communication en tant que le support idéal pour assurer l’interaction des agents. Il est
important de noter que les modèles d’interaction seront l’objet de chapitre 04 de ce
cours.

6.1. Les types d’interaction

Le concept interaction est généralement associé aux plusieurs autres concepts


comme : la coordination, la coopération, la négociation et la collaboration. La
proposition d’une classification qui fait l’unanimité n’est pas une tâche simple. Nous
pensons que le manque d’une classification acceptée est dû, entre autres raisons, au
caractère ambigu de ces termes (coopération, coordination, collaboration…etc.). La
plupart des classifications dans ce domaine prennent le but de l’interaction comme un
critère de classification. Ainsi, nous trouvons des formes d’interaction où les agents
partagent des buts compatibles et des formes où les agents possèdent des buts
incompatibles.

Dans son livre, Ferber a présenté une description détaillée de différentes formes
d’interaction. Sa classification est basée sur trois critères : la compatibilité de buts, la
suffisance de ressources et la suffisance de compétences. La compatibilité des buts
désigne la possibilité d’atteindre les différents buts des agents. Par contre, si deux buts
sont incompatibles, les agents peuvent atteindre seulement un seul but. En plus, cette
classification fait la différence entre les ressources et les compétences. Les ressources
désignent les différents moyens utilisés pour réaliser une tâche. Par contre, les

Dr. Toufik MARIR 2016-2017 p. 41


Systèmes Multi-Agents – Principes Généreux

compétences sont les attitudes d’un agent pour la réalisation d’une tâche. Le tableau
2.1 résume les formes d’interaction proposées par Ferber.

Tableau 2.1 : les formes d’interaction.

Buts Ressources Compétences Forme d’interaction


Compatibles Suffisante Suffisante Indépendance
Compatibles Suffisante Insuffisante Collaboration simple
Compatibles Insuffisante Suffisante Encombrement
Compatibles Insuffisante Insuffisante Collaboration coordonnée
Incompatibles Suffisante Suffisante Compétition individuelle
pure
Incompatibles Suffisante Insuffisante Compétition collective
pure
Incompatibles Insuffisante Suffisante Conflits individuels pour
des ressources
Incompatibles Insuffisante Insuffisante Conflits collectifs pour des
ressources

Dans le tableau 2.1, on peut remarquer l’existence de plusieurs formes


d’interactions allant de formes primitives jusqu’aux formes plus complexes. La
première forme d’interaction est une forme très particulière. Dans un tel système, les
agents possèdent des objectifs compatibles avec des ressources et des compétences
suffisantes. Ainsi, chaque agent est indépendant sur les autres agents parce qu’il
cherche simplement à satisfaire ses buts (il n’existe pas d’interaction). Si les buts sont
compatibles, les agents entre dans des interactions de coopération parce que chaque
agent va aider les autres agents à réaliser leurs buts. Dans ce cas, on fait la différence
selon la suffisance des compétences et des ressources. Si les compétences sont
insuffisantes, les agents doivent collaborer pour atteindre leurs objectifs. Cependant,
la collaboration est une collaboration simple si les agents possèdent des ressources
suffisantes ; sinon les agents doivent coordonner en plus de la collaboration.
L’exemple d’un système pour la fabrication d’un produit est peut être un bon exemple
pour expliquer la différence entre les deux situations. La fabrication d’un produit est
processus qui nécessite plusieurs agents avec des compétences différentes

Dr. Toufik MARIR 2016-2017 p. 42


Les Systèmes Multi-Agents

(conception, réalisation de différentes parties, assemblage…etc.). Si chaque agent


dans l’atelier possède ses propres outils pour la réalisation de sa tâche, les agents
doivent juste collaborer pour la fabrication de produit final. Cependant, l’insuffisance
des outils oblige les agents de partager les outils existants. En conséquence, les agents
doivent coordonner et collaborer en même temps. La situation d’encombrement
apparaît si les agents possèdent des compétences suffisantes mais des ressources
insuffisantes. Une salle de TP avec un nombre de PC (ressources) inférieur au nombre
des étudiants (agents) dont ces derniers capables de résoudre leurs exemple est un
exemple de cette situation.

Les situations de compétition ou de conflits sont des situations caractérisées par


des buts incompatibles. Les jeux stratégiques, les guerres et les situations
économiques sont des exemples de situations de compétition. Par exemple, le jeu de
cube magique est un jeu avec des buts incompatibles où chaque joueur possède les
compétences nécessaires pour résoudre le problème. En plus, chaque joueur possède
son propre cube (ressource). Dans ce cas la situation est une situation de compétition
individuelle pure. Par contre, il existe des situations où les agents ne possèdent pas
toutes les compétences nécessaires pour résoudre un problème malgré l’existence des
ressources suffisantes. Dans ce cas, les agents se regroupent et la situation devient une
situation de compétition collective pure. Une bataille militaire est un exemple de cette
situation. Généralement, les différents soldats possèdent des compétences spécifiques
(reconnaissance, télécommunication, génie…etc.). L’objectif est d’utiliser les
différentes compétences pour gagner la bataille.

Si les ressources sont insuffisantes et les buts sont incompatibles, la situation


devient une situation de conflits. Le jeu de tennis est un exemple où les deux joueurs
possèdent des objectifs incompatible et il existe une seule balle de tennis (ressource
insuffisante). Dans ce cas, la situation est une situation de conflits individuels pour
des ressources. Par contre, le jeu de football est une situation de conflits (ressource
insuffisante et buts incompatibles), mais avec des compétences insuffisantes. En fait,
dans le jeu de football, un seul joueur ne possède pas toutes les compétences. En
conséquence, la situation est une situation de conflits collectifs pour des ressources.

6.2. La communication

Dr. Toufik MARIR 2016-2017 p. 43


Systèmes Multi-Agents – Principes Généreux

La communication représente la base de tous les types de l’interaction. Par la


communication on entend, la transformation d’une information d’un agent à un ou
plusieurs autres agents à l’aide d’un langage articulé ou par d’autres codes.
Cependant, la communication n’est pas toujours associée à l’échange explicite des
messages. En fait, la communication peut être directe ou indirecte. Dans la
communication directe, les agents échangent explicitement des messages. Par contre,
dans la communication indirecte, les agents manipulent leur environnement qui
représente le support de la communication. Ce type de communication est appliqué
généralement dans les agents réactifs. Ainsi, les fourmis utilisent leurs traces comme
moyen de communication. En plus, la communication peut être de type point à point
ou de type diffusion. Dans le cas de communication point à point l’émetteur envoie le
message à un seul récepteur. Par contre dans le cas de communication par diffusion,
un émetteur envoie le message à un ensemble d’agents. Une dernière classification de
la communication entre les agents est basée sur l’intentionnalité des agents. La
communication peut être un processus intentionnel où les agents ont conscient de
l’acte de communication comme elle peut être un incident. La communication dans
certaines communauté des animaux est considérée comme incident parce que les
animaux en lançant leurs cries n’ont pas le but de communiquer avec les autres agents
de leur communauté. De la même façon, un nouveau né communique avec sa mère
par les cries. Cependant, les cries d’un enfant sont des conséquences de son état (soif,
douleurs, faim…etc.). Donc, le nouveau né n’a pas initialement l’objectif de
communiquer avec sa mère. Dans cette partie, on va concentrer sur la communication
directe.

Nous avons défini l’interaction comme l’influence d’un agent sur le


comportement d’un autre agent. Mais la question posée est comment peut-on
influencer un comportement d’un autre agent par l’envoie des messages ? La réponse
de cette question est donnée par la théorie de l’acte de langage proposée par Austin en
1962 dans son article (How To Do Things With Words). Cette théorie étude l’effet
d’un énoncé sur le destinataire.

Avant Austin, la linguistique étude la capacité de décrire la réalité par les mots et
le degré de la véracité d’un énoncé. Par exemple, si on dit qu’il fait froid, le but est de
vérifier à quel point le terme « froid » décrit la réalité. Cependant, Austin a remarqué
que cet énoncé « il fait froid » possède pratiquement trois actes élémentaires.

Dr. Toufik MARIR 2016-2017 p. 44


Les Systèmes Multi-Agents

Premièrement, l’acte locutoire c'est-à-dire l’acte de dire quelque chose.


Deuxièmement, l’acte illocutoire qui désigne l’acte effectué en disant quelque chose.
Et finalement, l’acte perlocutoire qui représente l’effet obtenu en disant quelque
chose. Prenant notre exemple précédent. En disant « il fait froid », il existe l’acte de
dire cet énoncé (l’acte locutoire), mais il existe aussi un acte illocutoire et un acte
perlocutoire. En fait en disant qu’il fait froid, on demande peut être de fermer la porte
(l’acte illocutoire) et l’effet de cet énoncé c’est la fermeture de la porte (un acte
perlocutoire).

Pour influencer le comportement d’un agent par un message, nous devrons


représenter l’acte illocutoire (c’est l’acte effectué en disant quelque chose) et ne pas
l’acte locutoire. En autre terme, au lieu de dire qu’il fait froid comme dans notre
exemple, il faut qu’on représente le message par une manière qui permettra au
destinataire de comprendre l’acte illocutoire (c'est-à-dire est ce qu’on demande de
fermer la porte ou juste on l’informe). Ainsi, un acte illocutoire est formulé par F(p)
sachant que F représente la force illocutoire (Performative) et p représente un contenu
propositionnel. Si dans notre exemple précédent on dit : Informer (Il fait froid), donc
on veut juste informer le destinataire par cette information. Par contre, si on dit :
Questionner (Il fait froid), alors on pose la question si cet énoncé est vrai ou non.

Les actes de langages (actes illocutoires) peuvent être :

 Des actes assertifs: donner une information sur le monde en affirmant


quelque chose, comme Penser, Affirmer, Dire, Informer ;
 Des actes directifs: donner des directives au destinataire comme
Demander, Réclamer, Exiger ;
 Des actes permissifs: engagent le locuteur à accomplir certaines actions
dans l’avenir comme Promettre, Garantir, refuser ;
 Des actes expressifs: donner au destinataire des indicateur sur l’état mental
du locuteur comme Féliciter, Excuser, Approuver ;
 Des actes déclaratifs: le locuteur accomplit au moment de l’énonciation
l’action qui dit accomplir comme Stipuler, Déclarer.

Le langage KQML (Knowledge Query and Manipulation Language), l’un des


langages de communication d’agents les plus connus, est un langage basé sur la
théorie de l’acte de langage. Ce langage est un langage de haut niveau proposé par

Dr. Toufik MARIR 2016-2017 p. 45


Systèmes Multi-Agents – Principes Généreux

DARPA-KSE (projet Knowledge Sharing Effort de DARPA). Ce langage offre trois


niveaux d’encapsulation d’un message :

 Le niveau de communication : dans ce niveau, on spécifie des attributs de


la communication comme l’émetteur et le récepteur.
 Le niveau message : dans ce niveau, on spécifie les attributs de message
comme l’acte de langage (performative), l’ontologie à utiliser pour
comprendre le contenu de message, le langage utilisé pour codé le contenu
de message. Il est important de noter que le langage KQML ne pose pas
des contraintes sur le langage utilisé pour le codage de contenu.
 Le contenu : le langage KQML ne pose aucune contrainte sur le langage
utilisé pour le codage de contenu. Il est possible d’utiliser des langages
comme Prolog, LIF ou les chaines de caractères.

La figure 2.6 présente un exemple d’un message KQML. Dans ce message


l’émetteur demande de savoir les fils de John. Le niveau de communication est
spécifié par l’émetteur (A), le récepteur (B), l’attribut in-reply-to qui spécifie que ce
message est une réponse au message (id0) et l’attribut reply-with qui spécifie que la
réponse de destinataire doit mettre (Id1) dans l’attribut in-reply-to. Le niveau message
est spécifié par la performative Stream-all, l’attribut language qui spécifie que le
langage est Prolog et l’attribut ontology qui spécifie que le domaine de discussion est
le domaine de généalogie. La performative Stream-all désigne que l’émetteur pose
une question et que cette dernière possède plusieurs réponse. L’émetteur demande que
chaque réponse doive être envoyée dans un message séparé. Le contenu de message
est une requête Prolog où l’émetteur demande les gens dont John est un parent.

Figure 2.6 : Un exemple d’un message KQML.

Dr. Toufik MARIR 2016-2017 p. 46


Les Systèmes Multi-Agents

Le langage KQML (la version 1997) propose 37 performatives réparties sur trois
catégories :

 Les performatifs de discours : comme ask-if, ask-one, tell, …etc.


 Les performatifs d’interconnexion : comme register, unregister, broadcast,
broker, …etc.
 Les performatifs d’exception : comme sorry, error,…etc.

En 1995, l’organisation FIPA (Foundation For Intelligent Physical Agents) a


commencé le travail sur des standards dans domaine des agents. Le langage FIPA-
ACL (FIPA- Agent Communication Language) est le produit essentiel de cette
initiative. Ce langage est similaire au langage KQML. Il est basé sur la théorie d’acte
de langage et il n’exige pas une syntaxe spécifique pour le contenu de message.
Cependant, il définit 22 performatives réparties sur les catégories suivantes :

 Transmettre l’information: inform, inform-if, confirm,..etc.


 Demander une information: query, subscribe,…etc.
 Négocier: CFP, propose, accept-propose, …etc.
 Accomplir une action (ou distribution des tâches): request, cancel, refuse,
agree, …etc.
 Gérer un problème: failure, not-understood.

La sémantique de FIPA-ACL est définit par un langage modal (appelé SL). Ainsi,
le modèle mental de l’agent est basé sur la représentation de trois attitudes primitives:

 Belief (BiP) : signifie que l’agent i croit la proposition P ;


 Uncertainty (UiP) : signifie que l’agent i est incertain concernant la
proposition P, mais il croit que P est plutôt vraie que fausse.
 Choice (CiP) : signifie que l’agent i désire que la proposition P soit vraie.

En plus, les opérateurs Feasible, Done et Agent sont introduit pour raisonner sur
les actions des agents. La sémantique de ces opérateurs est définit comme suite :

 Feasible(a, P) : signifie que l’action a peut être exécutée, et si elle est


exécutée alors la proposition P sera vraie juste après l’exécution de
l’action.

Dr. Toufik MARIR 2016-2017 p. 47


Systèmes Multi-Agents – Principes Généreux

 Done(a, P) : signifie que l’action a a été exécutée et la proposition P est


maintenant vraie.
 Agent(i, a) : signifie que l’agent i est le seul qui est capable d’exécuter
l’action a.

Le langage FIPA-ACL est formalisé par l’association à chaque acte une pre-
condition de faisabilité et l’effet rationnel. Comme exemple, la figure 2.7 montre la
sémantique formelle de la performative inform. En fait, un agent i informe un agent j
par une proposition P si (la pre-condition de la faisabilité) l’agent i croit la proposition
P (il est évident qu’un agent ne peut pas informe un autre agent par une proposition
sauf s’il a cette proposition) et l’agent i croit que l’agent j n’a pas ni cette proposition
ni sa négation de façon sûre ou façon incertaine. L’effet rational de l’envoie de ce
message est que l’agent j va croire la proposition P.

P
Figure 2.7 : La sémantique formelle de l’acte inform.
Bien entendu, l’interaction entre les agents ne se limite pas au simple échange
d’un message. L’interaction représente un enchaînement conversationnel combiné de
plusieurs messages. La modélisation de cet enchaînement est basée sur l’une de deux
approches :

 La construction du plan de la communication se fait par l’agent selon ses


connaissances et ses buts. Il n’y a pas une représentation à priori de ce
plan, mais l’architecture de l’agent lui permet de mener ses interactions.
 Les plans de communication sont spécifiés à l’avance par des règles
appelées un protocole d’interaction. Ces protocoles spécifient pour chaque
message reçu un ensemble limité de réponses possibles. Evidement, cette
approche diminue la flexibilité de l’agent. Cependant, elle permet aussi de
maîtriser la complexité de l’architecture interne des agents.
7. Conclusion

Dans ce chapitre nous avons présenté les concepts de base des systèmes multi-agents.
En fait, les systèmes multi-agents, en tant qu’une interaction de plusieurs domaines,
proposent plusieurs concepts. Le problème de base est comment peut-on représenter

Dr. Toufik MARIR 2016-2017 p. 48


Les Systèmes Multi-Agents

ces concepts dans un seul framework. L’approche voyelle adopté ici, permet de
représenter les systèmes multi-agents en utilisant quatre concepts de base : l’agent,
l’environnement, l’interaction et l’organisation. Ce chapitre est consacré à la
présentation de ces concepts.

Le chapitre suivant va être consacré à la présentation détaillée du concept agent.

8. Questions de compréhension
a) Présenter des exemples de systèmes multi-agents.
b) Classifier les exemples présentés selon le critère d’ouverture.
c) A votre avis, quelle est la caractéristique la plus importante pour les agents
intelligents ?
d) Supposant qu’une application de jeux football a été développée en utilisant le
paradigme agent, quel est l’environnement dans ce cas ?
e) Quel est la différence entre l’environnement d’un agent et l’environnement
d’un système multi-agent ?
f) Pourquoi l’interaction est importante pour les systèmes multi-agents ?
g) Formaliser les actes de langages Request et Cancel.
h) Donner des exemples de situations d’interaction selon la classification de
Ferber.
i) Modéliser l’organisation du département d’informatique selon le modèle
AGR.

Dr. Toufik MARIR 2016-2017 p. 49


Chapitre 03
Modèles et Architectures d’Agents
Les Systèmes Multi-Agents

Chapitre 03 : Modèles et Architectures


d’Agents
1. Introduction

L’agent est un concept central dans le domaine des systèmes multi-agents. Cependant,
ce concept est caractérisé par plusieurs caractéristiques avec des degrés d’importances
différents. Dans certains cas, ces caractéristiques peuvent même être contradictoires.
Par exemple, la pro-activité désigne la capacité de l’agent de rechercher la réalisation
de ses objectifs. Cependant, un agent de cette caractéristique peut ignorer des
événements importants provenant de son environnement. C’est la réactivité qui assure
le traitement de ces événements. En conséquence, l’intégration de ces caractéristiques
dans une seule entité (l’agent) n’est pas une question simple. En fait généralement
recours au modèle (ou les architectures) pour présenter les composants essentiels d’un
agent.

Une architecture d’un agent est la structure logicielle (ou matérielle) qui, à partir
d’un ensemble d’entrées, produit un ensemble d’action sur l’environnement ou sur les
autres agents. En d’autre terme, une architecture d’un agent est une méthodologie
particulière pour la construction d'un agent. Elle spécifie comment les agents peuvent
être décomposés à une construction d'un ensemble de modules et comment ces
modules interagissent. L'ensemble total des modules avec leurs interactions détermine
comment les données perçues et l'état interne actuel de l'agent déterminent ses actions
et ses états futurs.

Ce chapitre est consacré à la présentation des architectures d’agents. Nous


entamons ce chapitre par la présentation d’une architecture abstraite avant de
présenter quelques architectures concrètes. A la fin de ce chapitre, nous présentons
deux exemples d’architectures spécifiques. Il s’agit de l’agent ARTIS pour les agents
temps réel et l’architecture DIMA pour les agents adaptatifs.

2. Une architecture abstraite d’agents

Par une architecture abstraite, nous désignons une architecture qui ne présente pas des
modules concrets pour l’implémentation de l’agent. Ces architectures sont,
généralement, représentées par des spécifications algébriques ou logiques.

Dr. Toufik MARIR 2016-2017 p. 51


Modèles et Architectures d’Agents

Sachant que l’interaction entre l’agent et l’environnement est une caractéristique


fondamentale de l’agent (voir le chapitre 02), nous commençons la spécification de
l’agent par la spécification de cette interaction. Ainsi, l’environnement « E » est
modélisé par un ensemble d’états discrets. Donc, E = {e1, e2,….,en}. En plus,
l’ensemble des actions possibles de l’agent sont représentées par l’ensemble Ac = {a0,
a1, …an}. En conséquence, l’interaction entre l’agent et son environnement est
représenté par une transition entre deux états à cause de l’exécution d’une action. Par
exemple, l’état actuel de l’agent est ei et l’exécution de l’action ai va transmettre
l’environnement à l’état ej.

On appelle une exécution de l’agent dans son environnement, la séquence r qui


représentent des changements des états de l’environnement à cause de l’exécution des
actions de l’agent.

L’ensemble des exécutions possibles d’un agent sont représenté par un ensemble
R. Dans cet ensemble, on peut distinguer deux sous ensembles spécifiques RAC
(ensemble de séquences d’exécution qui se terminent par des actions) et RE (ensemble
de séquences d’exécution qui se terminent par des états).

La transformation de l’état de l’environnement peut être représentée par une


fonction mathématique (τ) qui à partir d’un ensemble de séquences d’exécution qui
se terminent par des actions on obtient un sous ensemble d’états de l’environnement.

Cette spécification de la fonction de transformation de l’état de l’environnement


représente un cas extrêmement général. En fait, dans ce cas la transformation est
dépendante de l’historique parce qu’elle liée a une séquence d’exécution (RAC) et pas
seulement d’une action. D’autre part, cette transformation est indéterministe parce la
séquence d’exécution nous donne une ensemble possible d’état et pas un seul
état.

Dr. Toufik MARIR 2016-2017 p. 52


Les Systèmes Multi-Agents

L’environnement est défini donc par le triple Env=(E, e0, τ) où E est l’ensemble
des états de l’environnement, e0 est l’état initial et τ est la fonction de transformation
de l’environnement.

Formellement, un agent est défini comme une fonction qui donne une action à
partir d’une séquence qui se termine avec un état.

Ag = RE Ac.

En associant un agent à un environnement, on peut obtenir un système. Ce


dernier est spécifié formellement par un ensemble d’exécutions possibles d’un agent
Ag dans son environnement Env. On représente ce système par R(Ag, Env).

Formellement, une séquence d’exécution (e0, a0, e1,….) est une séquence
d’exécution possible de l’agent Ag dans l’environnement Env si:

 e0 est l’état initial de l’environnement Env,


 a0=Ag(e0) ,
 pour u > 0,

Exemple illustratif

Afin de montrer cette architecture, nous présentons un exemple d’une salle avec
deux lampes électriques manipulées par deux interrupteurs. Supposant que la
première lampe (L1) est une lampe ordinaire alors que l’autre lampe (L2) est une
lampe colorée (elle donne des lumières avec des couleurs différentes, par exemple :
jaune, orange et rouge). La manipulation du premier interrupteur (I1) permet de
contrôler la première lampe. La manipulation du deuxième interrupteur (I2) permet de
manipuler la deuxième lampe. A chaque manipulation de l’interrupteur (I2), la lampe
deuxième change son état selon le cycle: éteint, jaune, orange, rouge, orange, jaune,
éteint.

Dans ce système on a un environnement caractérisé par les états des lampes.


Ainsi, l’ensemble des états est spécifié par, E= {(T, T), (T, J), (T, O), (T, R), (A, J),
(A, O), (A, R)}. On note qu’on adopté le codage suivant : T pour Éteint, A pour

Dr. Toufik MARIR 2016-2017 p. 53


Modèles et Architectures d’Agents

Allumée, J pour Jaune, O pour Orange et R pour Rouge). En plus, l’ensemble des
actions possibles dans ce système sont Ac={I1, I2} pour la manipulation de
l’interrupteur I1 et I2 respectivement.

Dans ce système, il existe plusieurs exécutions possibles. La séquence r1 est un


exemple d’exécution possible.

L’ensemble de toutes les exécutions possibles est représenté par R. On peut


distinguer des exécutions possibles qui se terminent par des états (comme r1) ou des
exécutions possibles qui se terminent par des actions. En conséquence, les exécutions
possibles qui se terminent par des états sont inclues dans un sous ensemble de R noté
RE. Par contre les autres exécutions possibles qui se terminent par des états sont inclus
dans le sous ensemble noté RAC.

Bien que l’état de l’environnement soit contrôlé par les interrupteurs, la


manipulation des interrupteurs n’est pas suffisante dans certains cas pour la
détermination de l’état de l’environnement. Par exemple, si la deuxième lampe est
orange et on manipule le deuxième interrupteur, alors l’état de la lampe peut être
orange ou jaune (selon l’état précédent). Ainsi, nous devrons définir une fonction
mathématique qui détermine la transformation des états de l’environnement (appelée
τ). Dans le cas général, cette fonction transforme une exécution qui se termine par
action à un ensemble d’états de l’environnement. Par exemple,

τ (((T, J), I2, (T, O), I2)) = (T, R).

On note que cet exemple nous montre que le résultat de la fonction est un seul
état parce que l’environnement est déterministe. Dans d’autres cas, il est possible de
trouver plusieurs états possible à l’issu de l’exécution d’une fonction de
transformation de l’environnement.

Un environnement est maintenant spécifié par, l’état initial (par exemple e0= (T,
T)), l’ensemble des états possible de l’environnement (E) et la fonction qui transforme
l’état de cet environnement τ. On représente cet environnement par Env=(E, e0, τ).

Dr. Toufik MARIR 2016-2017 p. 54


Les Systèmes Multi-Agents

Maintenant, on va introduire notre agent. Supposant que l’objectif de


concepteur est d’éviter des situations où les deux lampes sont éteintes ou allumées en
même temps. Ainsi, l’agent doit contrôler l’état de la salle, et manipule les
interrupteurs selon cet état. En conséquence, l’agent est une fonction qui transforme
une séquence qui se termine par état à une action. Bien entendu, nous avons dit que
l’agent va transformer une séquence qui se termine par état et non seulement un état,
parce que l’action de l’agent peut être dépendante de son historique. Par exemple, si
l’état actuel de la salle est (T, R) et un utilisateur a allumé la première lampe (donc
l’état devient (A, R)), alors l’agent peut manipuler la première lampe (pour arriver à
l’état précédent (T, R)) comme il peut manipule la deuxième lampe (pour arriver
après une séquence d’exécution à l’état (A, T)). Dans ce cas, une exécution rationnelle
doit prendre en considération l’état avant la manipulation de l’utilisateur. Sinon,
l’agent va faire des actions contradictoires avec les objectifs de l’utilisateur.

2.1. Une architecture d’un agent purement réactif

Un agent purement réactif est un agent doté d’un comportement indépendant de


son histoire. En conséquence, cet agent peut être spécifié comme une fonction d’un
état de l’environnement vers une action (Ag : EAc). Cependant, ce niveau
d’abstraction ne montre pas comment un agent peut prendre les décisions. Nous
devrons raffiner cette spécification afin de montrer les mécanismes internes de
l’agent.

On peut décomposer le module de décision de l’agent en deux sous modules : de


perception et d’action. La figure 3.1 montre l’architecture de cet agent. Le module
« voir » est responsable de l’assurance de la perception. Par contre, le module
« action » assure l’affectation des actions sur l’environnement.

Formellement, on peut définir l’agent par la composition de deux fonctions voir


et action. Donc, Ag=(voir, action). La fonction « voir» est une fonction qui
transforme les états de l’environnement en perception (voir: E  Per). Les
perceptions représentent une interprétation de l’état de l’environnement. L’action
génère à partir d’un ensemble de perception de l’environnement une action à exécuter
(action : Per*Ac).

Dr. Toufik MARIR 2016-2017 p. 55


Modèles et Architectures d’Agents

Agent

voir action

Environnement

Figure 3.1 : description d’un agent purement réactif.

On note qu’il est important de distinguer la perception de l’état de


l’environnement. La perception représente l’interprétation de l’état de
l’environnement par un agent. Il est donc possible de trouver un changement dans
l’état de l’environnement mais l’agent ne perçoit pas ce changement. Par exemple, les
gens qui souffrent de daltonisme ne peuvent pas distinguer certains couleurs. Donc,
même on change les couleurs dans l’environnement, les perceptions des agents ne se
changent pas.

Si on a deux états distincts de l’environnement (e1 ≠ e2) mais voir(e1) = voir(e2),


Alors on dit que les deux états sont indiscernables. Dans notre exemple illustratif
précédent, l’agent ne distingue pas les couleurs de la deuxième lampe. L’objectif pour
cet agent est de maintient une seule lampe allumée. Donc, les couleurs sont des états
indiscernables par cet agent.

On définit une relation d’équivalence ( ) entre les états de l’environnement


comme suite : e1 e2 si voir(e1) = voir(e1). En conséquence,

1. Si le nombre de classes d’équivalence égale au nombre des états de


l’environnement, on dit que l’agent est omniscient.
2. Si on a une seule classe d’équivalence, on dit que l’agent n’a pas de
capacité de perception.
2.2. Un agent avec état

Dr. Toufik MARIR 2016-2017 p. 56


Les Systèmes Multi-Agents

Supposant maintenant le cas d’un agent qui prit en considération son historique
lors de prise de décision. Comment peut-on modéliser l’architecture abstraite de cet
agent ?

En fait, l’historique de cet agent peut être sauvegardé dans un état interne. En
conséquence, les perceptions et l’état actuel influent sur l’agent en engendrant un
nouvel état interne. La fonction de décision « action » devient donc basée sur cet état
interne. La figure 3.2 montre cette architecture.

Agent
voir action

suivant état

Environnement

Figure 3.2 : Architecture d’un agent avec état.

L’exécution de l’agent est basée sur le cycle suivant :

1. L’agent commence dans état interne i,


2. Il observe un état (e) de l’environnement,
3. Il génère une perception (Per1 = voir(e))
4. Il exécute la fonction suivant pour mettre à jour son état interne i’=
suivant (i, Per1) = suivant (i, voir (e))
5. Il sélectionne une action a = action(i’) = action(suivant (i, Per1))
=Action (suivant (i, voir (e))),
6. L’action est exécutée et l’agent entre dans un autre cycle.
3. Des architectures concrètes

Après la présentation des architectures abstraites d’agents, nous présentons dans cette
section quelques architectures concrètes. Les architectures concrètes présentent les

Dr. Toufik MARIR 2016-2017 p. 57


Modèles et Architectures d’Agents

différents modules permettant le développement des agents. Bien entendu, plusieurs


architectures ont été proposées dans la littérature. Sachant que la classification
d’agents basés sur le critère de granularité est la classification la plus répandue, nous
avons choisi de présenter une architecture de chaque classe de cette classification.
Ainsi, on va présenter une architecture d’un agent cognitif, une architecture d’un
agent réactif et deux architectures d’agents hybrides.

3.1. L’architecture BDI

L’architecture BDI (pour Belief-Desire-Intention) est une architecture d’agent


cognitif inspiré de la théorie de l’intention. Cette théorie de psychologie explique
comment peut-on prendre des décisions. Ainsi, un agent utilise ses croyances et ses
objectifs afin de choisir les objectifs qu’il doit atteindre et les stratégies à appliquer.
De ce fait, cette architecture est basée sur trois composantes essentielles :

 Croyances (Beliefs) : les croyances représentent les informations que


l’agent possède sur son environnement et sur les autres agents. En fait, les
croyances de l’agent sont obtenues à partir de ses perceptions et ses
capacités d’interaction avec les autres agents. Bien entendu, les croyances
de l’agent peuvent être incomplètes, incertaines et incorrectes. Nous
avons déjà expliqué dans les chapitres précédents que les capacités de
perception de l’agent sont limitées. En plus, l’environnement de l’agent
peut être dynamique. En conséquence, la véracité et la correctitude des
croyances ne sont pas absolues.
 Désires (Desires) : représentent les buts de l’agent. Particulièrement, les
désires représentent les états de l’environnement et de lui-même que
l’agent cherche à réaliser. Bien entendu, les désires de l’agent peuvent
être représentées par le même formalise utilisé pour la représentation des
croyances parce que les deux concepts représentent des états.
Naturellement, un agent ne peut pas réaliser tous ses objectifs. D’une part,
les objectifs peuvent être contradictoires. D’autre part, les ressources de
l’agent, notamment le temps, peuvent l’empêcher à atteindre tous ses buts.
 Intentions (Intentions) : quand un agent décide de satisfaire un objectif
donné, ce dernier se transforme à une intention. En plus, les intentions

Dr. Toufik MARIR 2016-2017 p. 58


Les Systèmes Multi-Agents

peuvent signifier un niveau d’abstraction plus raffiné de buts. Elles


représentent les actions à faire pour atteindre une désire adoptée.

Comme il est présenté dans la figure 3.3, le fonctionnement de l’agent consiste


simplement à la transformation et la manipulation de composantes principales de
l’architecture jusqu’à l’élaboration d’un plan. Un plan est une séquence d’action à
exécuter par l’agent. En fait, ces plans peuvent être sauvegardés à priori dans une
structure spécifique (Bibliothèque de Plan) comme il est présenté dans la figure 3.3 et
dans ce cas l’agent doit choisir parmi les plans existants le plan le plus adéquats et
l’adapter à la situation. Dans certains cas, l’agent ne possède pas une bibliothèque de
plan et il doit élaborer tout seul le plan adéquat selon la situation.

La figure 3.3 présente les composantes principales d'une architecture BDI.


L'agent a une représentation explicite de ses croyances, désirs et intentions. On dénote
par B l'ensemble des croyances de l'agent, par D l'ensemble de ses désirs, et par I
l'ensemble de ses intentions, et par B, D et I les croyances, désirs et intentions
courantes de l'agent. Les ensembles B, D et I peuvent être représentés au moyen de
divers modèles de représentation de connaissances, par exemple en utilisant la logique
des prédicats du premier ordre, une logique d'ordre supérieur, le modèle des règles de
production, ou bien comme de simples structures de données.

Le cycle d’exécution de l’agent commence par la perception des informations


(des perceptions) de son environnement. En conséquence, l’agent doit réviser ses
croyances. L’objectif de cette étape est de préserver un état actualisé et cohérant de
croyances de l’agent. Évidement, cette étape peut engendrer élimination de certaines
croyances, la mise-à-jour des croyances existantes et/ou la création de nouvelles
croyances. Les croyances sont utilisées, avec les désires et les intentions courantes,
pour mettre à jour la liste des désires de l’agent. Bien entendu, un agent peut changer
ses buts selon ses nouvelles croyances. Prenant l’exemple d’un joueur qui a le but de
participer à une compétition importante, et après l’apparition de certains symptômes il
a découvert qu’il est malade. Bien entendu, l’objectif de ce joueur sera de se guérir en
ignorant en cette étape l’objectif de participation à la compétition. En plus, l’agent
doit générer les nouvelles intentions qu’il doit atteindre à partir de désires et des
intentions actuelles. La révision des désires et la génération des nouvelles intentions
sont effectuées par un mécanisme appelé le processus de décision. Ensuite, l’agent va

Dr. Toufik MARIR 2016-2017 p. 59


Modèles et Architectures d’Agents

choisir parmi les intentions générées une intention à poursuivre. Le choix est effectué
par le processus filtre en utilisant les croyances, les désires et les intentions de
l’agent. Finalement, l’agent va transformer cette intention à un plan en utilisant une
bibliothèque de plan si elle existe. Bien entendu, les croyances de l’agent doivent être
prises en considération lors de la planification parce que les plans sont généralement
représentés sous formes des plans partiels qui nécessitent des détailles pour être
exécutables. Par exemple, un plan déplacement d’un objet de la position (x, y) vers la
position (w, z) est constitué des actions suivant : déplacer à la position (x, y), prendre
l’objet, déplacer à la position (w, z) et mettre l’objet. Maintenant, si l’agent veut
déplacer un objet de la position (x1, y1) vers la position (x2, y2) alors il doit prendre en
considération la position réelle de l’objet et la position de but. Ces dernières positions
sont sauvegardées dans les croyances de l’agent. Naturellement, l’exécution des
actions de l’agent vont mettre à jour les croyances de ce dernier.

L’algorithme présenté dans la figure 3.4 représente le cycle de contrôle de l’agent


BDI. Dans cet algorithme les symboles B, D et I représentent les croyances, les
désires et les intentions respectivement. En plus, B0, D0 et I0 représentent les
croyances, les désires et les intentions initiales respectivement. La fonction revision
est la fonction responsable de la révision des croyances. Le processus de décision est
représenté par les deux fonctions des et option. La fonction filtre permet de filtrer les
intentions. Après le choix d’une intention, la fonction plan transforme cette dernière à
un plan exécutable (PE).

Plusieurs exemples réels peuvent être appliqués sur les agents BDI. On peut
considérer tous les êtres humains comme des agents cognitifs. A titre d’exemple, un
joueur de football professionnel est un agent BDI. Ce dernier possède plusieurs
objectifs : des objectifs humains de base (garantir sa santé, sécurité,…etc.), des
objectifs sociaux (garantir les besoins de sa famille, préserver et enrichir les relations
humaines,…etc.) et des objectifs professionnels (faire évoluer ses compétences,
consacrer pour son équipe, jouer pour sa sélection nationale,…etc.). Bien entendu, ces
objectifs n’ont pas le même degré d’importance. A chaque instant, le joueur va
prendre en considération des nouvelles croyances pour choisir parmi ses objectifs, les
buts les plus pertinentes. Ensuite, il va construire des plans pour la réalisation de ces
buts.

Dr. Toufik MARIR 2016-2017 p. 60


Les Systèmes Multi-Agents

Environnement

Révision des
croyances

Croyances

Processus de
décision

Désires Intentions

Filtre

Bibliothèque Plan
de Plan

Exécution

Environnement

Figure 3.3 : L’architecture BDI.

Dr. Toufik MARIR 2016-2017 p. 61


Modèles et Architectures d’Agents

Algorithme de contrôle d'agent BDI


B ← B0
D ← D0
I ← I0
Répéter
Obtenir nouvelles perceptions p
B ← revision(B, p)
I ← options(D, I)
D ← des(B, D ,I)
I ← filtre(B, D, I)
PE ← plan(B, I)
Exécuter(PE)
jusqu'à ce que l'agent soit arrêté
fin

Figure 3.4 : L’algorithme de contrôle d’un agent BDI.

Supposant qu’on a un joueur attaquant qui estime que son intention est
d’exploiter une tentative d’attaque pour marquer un but. La question pertinente dans
le modèle BDI c’est combien de temps l’agent doit accrocher à cette tentative ou
intention ? Supposant que l’adversaire a exploité cette tentative d’attaque pour faire
une contre-attaque, est ce que l’attaquant dans ce cas doit retourner à la zone de son
équipe pour aider les défenseurs ou bien il attend dans la zone de son adversaire en
estimant qu’il y a un espoir pour compléter sa tentative initiale. La réponse de cette
question est liée à la stratégie d’obligation. En fait un agent qui suit une stratégie
d’obligation aveugle, il maintient ses intentions jusqu’elles soient réalisées. Par
contre, un agent avec une stratégie d’obligation limitée va maintenir ses intentions
jusqu’elles soient réalisées ou bien qu’elles soient impossible. Dans la troisième
stratégie (stratégie d’obligation ouverte), l’agent va maintenir ses intentions tant
qu’elles sont encore des désires.

3.2. Architecture de subsomption

Nous avons expliqué dans le chapitre précédent que les agents réactifs sont des
entités faisant des comportements simples. Généralement, ces comportements sont de
type stimulus-réponse. L’intelligence émerge de l’interaction entre les agents et
l’environnement. Brooks, l’un des chercheurs les plus connus dans l’école réactive de

Dr. Toufik MARIR 2016-2017 p. 62


Les Systèmes Multi-Agents

l’intelligence artificielle, a proposé une architecture des agents réactifs appelée


« l’architecture subsomption ».

Cette architecture est composée d’un ensemble de modules sachant que chacun
est responsable de la réalisation d’une tâche simple. On appelle ces modules des
modules de compétence parce que chaque module est responsable de l’exécution d’un
comportement spécifique. La figure 3.5 présente cette architecture. On peut remarquer
que les modules sont organisés en couches tel que chaque inferieure à une priorité
plus élevée que les couches supérieures. En fait, chaque couche a une tâche plus
simple et plus urgente par rapport aux tâches de couches supérieures. Pour assurer un
tel contrôle de couches, une couche inferieure peut supprimer les entrées d’une
couche supérieure pour inhiber son exécution.

Couche_3

Couche_2

Couche_1

Couche_0

Figure 3.5 : Architecture de subsomption.

Dr. Toufik MARIR 2016-2017 p. 63


Modèles et Architectures d’Agents

Chaque tâche est décrite par un ensemble de règle de comportement. Une règle de
comportement est spécifiée par une condition et une action. La condition est activée
par la perception de l’environnement et l’action change l’état de cet environnement.

L’école réactive de l’intelligence artificielle (parfois appelée l’école actioniste)


est appliquée particulièrement dans le domaine robotique. Comme exemple, on peut
proposer une architecture d’un robot explorateur selon cette architecture. Ainsi, le
robot sera composé de couches suivantes :

 Couche 0 : cette sera responsable d’assurer le comportement


d’évitement d’obstacle dynamique. Ainsi, si le robot détecte un objet en
mouvement vers lui, alors il va déplacer rapidement dans un sens
vertical avec le mouvement de l’objet.
 Couche 1 : cette couche sera responsable d’éviter les objets statiques. Si
un objet détecte un objet statique, alors il va arrêter son déplacement.
Bien entendu, si le robot détecte deux objets (un en déplacement vers lui
et l’autre statique), alors il va désactiver le fonctionnement de cette
couche (selon le principe de l’architecture subsomption) afin d’éviter
premièrement l’objet dynamique (le fonctionnement de la couche 0 est
le prioritaire).
 Couche 2 : Cette couche sera responsable d’éviter un obstacle statique
sachant que l’agent est dynamique. Dans ce cas le robot va changer sa
direction puis continuer son mouvement. Comme dans le cas de règle
précédente, si l’agent est en déplacement et il détecte un objet statique,
il va désactiver cette règle afin de permettre l’exécution de la règle
précédente parce que l’agent ne peut freiner et tourner en même temps.
3.3. L’architecture TuringMachine

Une architecture hybride est une architecture qui combine les comportements
pro-actifs de l’agent et les comportements réactifs. Les comportements pro-actifs sont
des comportements exécutés lorsque l’agent prend l’initiative. Ils sont donc des
comportements dirigés par des buts. Par contre, les comportements réactifs sont des
comportements dirigés par les changements de l’environnement. Combiner les deux
comportements peut nous donner un agent avec plus de capacités. En fait, la
décomposition des agents aux agents cognitifs et agents réactifs est une

Dr. Toufik MARIR 2016-2017 p. 64


Les Systèmes Multi-Agents

décomposition irréaliste. Un être humain comme un exemple d’un agent est un agent
à la fois cognitif et réactif.

Les architectures hybrides sont des architectures en couches. En effet, on


distingue deux types d’architectures hybrides : les architectures verticales et les
architectures horizontales. Une architecture horizontale est une architecture semblable
à l’architecture de subsomption. Elle est composée d’un ensemble de couches sachant
que les perceptions seront transmises à toutes les couches. En plus, toutes les couches
sont reliées aux effecteurs. Chaque couche est responsable d’un comportement
spécifique. Le problème posé dans cette architecture est la cohérence de résultats. En
fait, par rapport à l’architecture de subsomption, une couche dans les architectures
hybrides horizontales n’a pas la capacité d’inhiber le fonctionnement de couches
supérieures. En conséquence, toutes les couches peuvent engendrer des actions qui
peuvent être incohérentes pour les mêmes perceptions. Afin d’éviter ce problème, ces
architectures proposent un module de contrôle. Le rôle de ce module est de choisir
l’action à prendre en action par rapport à chaque perception captée. Bien entendu, un
contrôle centralisé pose des problèmes de complexité parce que le concepteur doit
étudier tous les cas possibles. En plus, ce module de contrôle représente un goulot
d’étranglement dans cette architecture. L’architecture TuringMachine est un exemple
des architectures appartenant à cette catégorie. Comme il est présenté dans la figure
3.6, cette architecture est composée de trois couches :

 La couche réactive : qui assure des comportements réactifs en utilisant


des règles de type stimulus-réponse (comme dans le cas de l’architecture
de subsomption) ;
 La couche planification : qui assure des comportements proactifs de
l’agent. Afin d’atteindre les objectifs de l’agent, cette couche génère des
plans à partir d’une bibliothèque de plans. Comme dans le cas de
l’architecture BDI, la bibliothèque des plans sauvegarde des squelettes de
plans que l’agent doit raffiner pour atteindre ses propres buts ;
 La couche de modélisation : dans cette couche l’agent possède une
représentation des agents du système (y a compris lui-même). Cette
couche est responsable de prévoir et de gestion des conflits qui existent
entre les agents. En utilisant cette couche, un agent peut générer des
nouveaux buts pour éviter des situations conflictuelles. Bien entendu, les

Dr. Toufik MARIR 2016-2017 p. 65


Modèles et Architectures d’Agents

nouveaux buts adoptés seront transmis à la couche de planification afin


de générer leurs plans adéquats.

Le fonctionnement de ces trois couches est gérer par un module de contrôle


comme nous avons expliqué auparavant. Ce module est implémenté sous forme de
règles de contrôle qui masquent les perceptions captées de couches spécifiques ou
suppriment les actions suggérées par certaines couches.

Couche de modélisation

Couche de planification

Couche réactive

Module de contrôle

Figure 3.6 : L’architecture TuringMachine.

3.4. L’architecture InteRRaP

Par contre aux architectures hybrides horizontales, les architectures verticales


captent les perceptions par une seule couche. Ensuite, les informations captées
peuvent être transmises d’une couche à la couche supérieure. Si les actions seront
générées par la couche la plus supérieure, on parle alors d’une architecture verticale
d’une seule passe. Par contre, si les informations seront transmises aux couches
supérieures, ensuite la décision va être transmise aux couches inférieures afin
d’exécuter l’action par la même couche qui assure la perception on parle d’une
couche à deux passes. Le système IneRRaP (pour « Integration of Reactive
Behavior and Rational Planning ») présenté dans la figure 3.7 est un exemple
typique des architectures verticales en deux passes. Cette architecture est composée de
trois couches de contrôle qui assurent des objectifs différents. Ainsi, la première
couche assure des objectifs réactifs en exécutant des actions simples selon les

Dr. Toufik MARIR 2016-2017 p. 66


Les Systèmes Multi-Agents

informations captées de perception. La deuxième couche assure les objectifs locaux


(c'est-à-dire l’agent possède les compétences pour atteindre ces objectifs). Finalement,
la couche supérieure est responsable de planification coopérative (c'est-à-dire des
objectifs qui nécessitent l’intervention de plusieurs agents). Chaque couche utilise une
couche de la base de connaissances qui englobe des connaissances nécessaires pour
son fonctionnement. En conséquence, la couche des buts réactifs utilise des
connaissances sur l’environnement de l’agent (Base de connaissance du monde). La
deuxième couche (la couche de planification locale) utilise une base de connaissance
de planification qui englobe les buts et les plans de l’agent. La troisième couche
utilise une base de connaissance sociale qui englobe des connaissances sur les autres
agents.

Couche de planification coopérative Base de


AR PE
connaissances- Sociale

Couche de planification locale Base de


AR PE
connaissances-
Planification

Couche de comportement réactif Base de


AR PE
connaissances- Monde

Perception-Action

Figure 3.7 : L’architecture IneRRaP.

En captant des perceptions, l’agent essaie de répondre à la situation en utilisant la


couche inferieur. Si cette couche est capable de résoudre la situation, alors elle va
génère un flux de contrôle pour exécuter l’action adéquate. Sinon, la deuxième couche
va être activée pour élaborer un plan. De la même façon, si la deuxième couche est
capable de résoudre la situation, elle va générer un flux de contrôle pour activer les

Dr. Toufik MARIR 2016-2017 p. 67


Modèles et Architectures d’Agents

actions. Sinon, le contrôle va passer à la couche supérieure. Le démarrage de


l’exécution d’une couche est assurée par un module spécifique qui active les buts et
reconnaître la situation (AR). Ce module reçoit les informations concernant la
situation de la couche inférieure en utilisant le module de planification de l’exécution
(PE), si la couche inférieure est incapable de résoudre la situation. Sinon, le module
de planification de l’exécution va directement commander les actions de l’agent.

L’exemple cité précédemment dans l’architecture de subsomption (robot


explorateur) peut être conçu en utilisant l’architecture InteRRaP. Ainsi, le robot
sera constitué de trois couches. La première couche capable d’éviter des obstacles
en exécutant des réactions rapides (par exemple freiner pour éviter un objet
statique ou accélérer pour éviter un objet dynamique). Dans la deuxième couche,
l’agent doit être capable de faire des comportements plus sophistiqués. Par
exemple, si l’agent détecte un niveau d’énergie faible, il doit élaborer un plan pour
atteindre une source d’énergie. L’élaboration de ce plan n’est pas une simple
action réactive mais un ensemble d’action pour choisir le meilleur chemin.
Supposant que l’agent a détecté un obstacle de poids lourd, il doit dans ce cas
appeler un autre agent (ou un être humain) pour enlever cet obstacle. Ce scenario
nécessite le fonctionnement de la couche de planification coopérative parce que
l’agent doit coopérer avec les autres agents.

4. Des architectures spécifiques

Comme nous avons vu au chapitre précédent, certaines caractéristiques des agents ne


sont pas des caractéristiques intrinsèques. En effet, ces caractéristiques peuvent être
apparues seulement dans des architectures spécifiques. Nous parlons donc,
d’architectures spécifiques. Dans cette section, nous présentons deux architectures
spécifiques : l’architecture DIMA et l’architecture ARTIS.

4.1. L’architecture DIMA

L’adaptabilité est une caractéristique optionnelle d’agents. En fait, un agent,


comme nous avons expliqué dans le chapitre précédent, peut atteindre ses objectifs
sans être adaptatif. Cependant, dans certains domaines d’application, l’adaptabilité
représente une caractéristique importante. A titre d’exemple, le niveau élevé de

Dr. Toufik MARIR 2016-2017 p. 68


Les Systèmes Multi-Agents

dynamise d’un environnement ou l’imprédictibilité de ce dernier exigent l’existence


d’une entité qui est capable de changer son comportement ou sa structure afin de
répondre aux ces changement imprévisible. Dans le cas du robot explorateur que nous
avons expliqué dans les sections précédentes, est ce qu’il est possible aux concepteurs
de prévoir tous les scénarios d’exécution possibles dans le cas d’un environnement
inconnu (par exemple exploration de Mars) ? Il est évident que le contrôle de tous les
scenarios est une tâche complexe voire impossible.

L’adaptabilité permet aux agents de changer leur structure, leurs comportements


ou même leurs objectifs. Le changement de la structure consiste, par exemple, à la
modification de ses relations (les acquaintances) afin d’atteindre ses objectifs. Dans le
cas de robot explorateur, ce dernier peut établir des relations de communication avec
des stations spatiales si des pannes imprévues l’empêchent de faire des
communications avec la station terrestre. Il est impossible aux concepteurs de prévoir
toutes les situations de pannes, comme il est impossible pour eux de prévoir à
l’avance la meilleure station spatiale qui peut recevoir les communications de ce
robot. Ainsi, la meilleure solution consiste à doter ce robot par des capacités
permettant de choisir la meilleure station en fonction de sa situation. De la même
façon, un agent peut changer son comportement et/ou ses buts selon sa situation.
Supposant que l’objectif du robot est d’explorer la planète afin d’envoyer des plan à la
station terrestre, et que ce robot a détecter des traces d’eau dans cette planète (sachant
que l’existence d’eau est l’objectif ultime de toutes les études ciblant la planète
Mars) ; dans ce cas le changement de l’objectif du robot sera la solution idéale.

Le modèle d’agent DIMA (Développement et Implémentation de Systèmes


Multi-Agents) est un exemple d’un agent adaptatif. Cet agent est proposé dans le
cadre d’un projet initié par Guessoum à l’université de Paris 6 en 1993. L’objectif
principal du projet est le développement modulaire des agents hybride. Ainsi, le
modèle DIMA est conçu autour un composant principal appelé, le composant proactif.
Ce composant assure l’autonomie et la pro-activité de l’agent parce qu’il permet de
décrire les actions de l’agent et ses buts. Ainsi, l’agent va exécuter ces actions tant
qu’il n’a pas atteint ses buts. Ce composant peut être ensuite enrichi par des modules
qui représentent les capacités de l’agent, comme le composant de communication. Ce
composant, par exemple, offre des descriptions de boite de messages, des descriptions

Dr. Toufik MARIR 2016-2017 p. 69


Modèles et Architectures d’Agents

de formats de messages et les fonctions qui assurent la communication entre les


agents.

Bien que DIMA a été proposé initialement comme un agent hybride, il a été
étendu ensuite avec des capacités d’adaptation. L’approche adoptée dans ce modèle
consiste à l’utilisation d’un niveau méta-comportement capable de contrôler
l’exécution des comportements de l’agent. Ainsi, ce module permet d’une part de
gérer les interactions entre les modules qui composent l’agent, et d’autre part
d’adapter le comportement de l’agent en temps réel aux changements apportés par
l’environnement. La figure 3.8 présente une vue abstraite de l’agent DIMA.

Le niveau méta-comportement
Agent

Module_1 Module_2 Module_n

Environnement

Figure 3.8 : L’agent DIMA.

Le méta-niveau de l’agent DIMA est peut être décrit en utilisant plusieurs


formalismes de l’intelligence artificielle comme les systèmes à base de règle, le
raisonnement à base de cas, l’ATN (Augmented Transition Network), …etc. Par
exemple, dans le cas d’un agent basé sur l’ATN, les états représentent les points de
décision. Ainsi, dans chaque état, l’agent doit choisir une transition. La transition est
décrite sous forme de condition et une action. La condition représente un évènement
qui peut apparaitre dans le système (par exemple, la réception d’un message). Si cet
évènement est apparu, alors l’agent va exécuter l’action pour passer à un autre état.

4.2. L’architecture ARTIS

Un autre domaine d’application spécifique pour les systèmes multi-agents est le


domaine des systèmes intelligent temps réel. Un système temps réel est un système

Dr. Toufik MARIR 2016-2017 p. 70


Les Systèmes Multi-Agents

qui exige une réponse avant certain temps appelé deadline. Afin de satisfaire les
contraintes temps réel, en estime généralement le temps d’exécution du programme au
pire de cas. Nous devrons concevoir un système dont son exécution au pire de cas est
inferieur au deadline. Cependant, cette technique est infaisable dans les systèmes
basés sur l’intelligence artificielle à cause de l’impossibilité de prévoir le temps
d’exécution d’un système intelligent. Les systèmes multi-agents en tant qu’un
paradigme de l’intelligence artificielle souffrent aussi de cet inconvénient. Ainsi,
plusieurs modèles d’agent ont été proposés pour prendre en considération les
contraintes temps réel. L’agent ARTIS est l’un de ces modèles.

Le modèle ARTIS présente une extension de modèle tableau noir adapté pour
des environnements temps réel stricts. L'architecture de cet agent est constitué de
deux niveaux des agents : des agents nommés ARTIS Agent (AA) et un ensemble des
agents nommés in-agent (pour Internal Agent).

En accord avec la définition des agents due à Russell, ARTIS est un agent
autonome, réactif, proactif avec continuité temporelle. Autres caractéristiques
(comme la communication) peuvent influencer sur le comportement temps réel strict
de cet agent. Cependant, c'est le concepteur qui décide les caractéristiques de l'agent
selon l'application visé.

Un agent ARTIS est formé des composants suivants (Figure 3.9) :

 Un ensemble des senseurs et des effecteurs pour assurer l'interaction avec


l'environnement. Les perceptions et les actions sont des processus limités
dans le temps.

 Un module de contrôle responsable de l'exécution temps réel des


composants de ARTIS. Il est divisé en deux parties : serveur de réflexe
pour le contrôle des composants réactifs et serveur délibérative pour le
contrôle des composants délibératifs. une description détaillée est présenté
dans.

 Le niveau de réflexe: il assure une réponse pour n'importe quel événement.


Il est composé par les niveaux de réflexe des in-agents qui composent
ARTIS.

Dr. Toufik MARIR 2016-2017 p. 71


Modèles et Architectures d’Agents

 Le serveur intelligent (Intelligent Server IS) : il donne des réponses


améliorées s'il existe un temps suffisant. Comme le cas de niveau de
réflexe il est formé par les niveaux cognitifs des in-agents.

Figure 3.9 : L’architecture de l'agent ARTIS.

Dans le niveau inférieur, l'agent in-agent représente une entité interne de


ARTIS et englobe la connaissance nécessaire pour résoudre un problème particulier.
La raison principale de décomposer la méthode de résolution de problème en petites
entités est d'offrir une abstraction dont la connaissance de résolution s'organise de
façon modulaire et graduelle. Cet agent se caractérise par : la réactivité, une activité
temps réel stricte et la collaboration des in-agents à travers un tableau noir. En effet,
un in-agent se constitue de :

 Un niveau de réflexe: pour assurer une réponse minimum dans un temps


restreint.

 Un niveau cognitif ou intelligent: où une réponse se produit par un


processus délibératif.

 Le niveau d'action: il s'agit d'exécuter les réponses produites.

Selon les restrictions temporelles et la granularité de l'intelligence on peut


distinguer des in agents critiques et des in-agents non critiques. Un in-agent critique
se caractérise par une échéance, il se constitue de deux niveaux de réflexe et cognitif
alors qu'un in-agent non critique a seulement un niveau délibératif.

Dr. Toufik MARIR 2016-2017 p. 72


Les Systèmes Multi-Agents

Le fonctionnement d'un in-agent est présenté dans la Figure 3.10. En effet, après
la perception de nouvelles informations provenant de l’environnement, un agent
interne va mettre à jour ces connaissances. Ensuite, il va activer le niveau de contrôle
réflexe afin de choisir une action de réflexe à exécuter. Après la spécification de
l’action de réflexe, l’agent va essayer d’améliorer son raisonnement en exécutant le
contrôle cognitif. Ce niveau a pour but de choisir des actions cognitives de meilleure
qualité. A la fin de deadline, l’agent va exécuter l’action cognitive si le raisonnement
de ce niveau a été terminé, sinon il exécute l’action réflexe. Sachant que l’exécution
des agents internes est périodique, l’agent interne va reprendre ce cycle après une
période D.

Figure 3.10 : Le fonctionnement d’un in-agent.

5. Conclusion

Ce chapitre est consacré à la présentation des exemples d’architectures d’agents.


Une architecture d’agent est une description des composants internes d’un agent et de
fonctionnement de ces derniers afin d’offrir les caractéristiques de l’agent. Nous
avons présenté ces architectures selon plusieurs axes. Premièrement, nous avons
présenté une architecture abstraite dans le sens où l’agent est représenté seulement
comme des fonctions algébriques et logiques. Ensuite, nous avons présenté quelques
architectures concrètes classifiées selon l’axe de la granularité. Finalement, nous
avons présenté deux architectures d’agents avec des caractéristiques spécifiques, à
savoir, l’adaptation et le temps réel.

Dr. Toufik MARIR 2016-2017 p. 73


Modèles et Architectures d’Agents

Dans le chapitre suivant, l’interaction entre les agents va être abordée. Ainsi, on
va présenter des modèles de coordination d’agents cognitifs.

6. Questions de compréhension
a) Modifier la définition abstraite de l’agent (présentée dans la section 2) pour
proposer une architecture d’un agent indépendant de son historique avec un
comportement déterministe.
b) Proposer une architecture abstraite d’un agent rationnel.
c) Prenant l’exemple d’un étudiant avec les besoins d’assister au cours, au TD,
au TP, d’amuser, de faire ses devoirs et de satisfaire ses besoins de base
(manger par exemple), modéliser cet agent par le modèle BDI.
d) Donner des exemples de situations où certains états de l’environnement soient
indiscernables pour l’agent.
e) Modéliser un robot explorateur comme un agent InteRRaP.
f) Pourquoi l’agent DIMA est un agent adaptatif ?
g) Est-ce qu’on peut considérer DIMA comme un agent temps réel ?

Dr. Toufik MARIR 2016-2017 p. 74


Chapitre 04
Modèles de Coordination d’Agents
Cognitifs
Modèles de Coordination d’Agents Cognitifs

Chapitre 04 : Modèles de Coordination


d’Agents Cognitifs
1. Introduction

L’interaction entre les agents est une dimension importante dans les systèmes
multi-agents. En fait, un agent est conçu souvent avec des capacités limitées. En
conséquence, un agent sans interaction sera une entité handicapée dans le sens qu’elle
ne peut pas atteindre tous ses objectifs. Cependant, l’intégration de l’interaction entre
les agents n’est pas une tâche simple. Sachant que les objectifs des agents d’un
système peuvent être incompatibles ou contradictoires, l’interaction de ces derniers
peut créer des situations chaotiques ou des comportements nuisibles. Ce chapitre est
consacré à la présentation des formes de l’interaction et les techniques qui peuvent
assurer une meilleure interaction en éliminant les situations indésirable. Dans la
première section de ce chapitre nous allons présenter les différentes formes de
l’interaction entre les agents. Ensuite, nous présentons dans les sections 3 et 4 les
techniques de la négociation et de la coopération respectivement. Finalement, nous
allons finir ce chapitre par une conclusion.

2. Les formes de l’interaction

Malgré l’importance de l’interaction entre les agents, mais comme presque tous
les concepts de ce domaine il n’existe pas une classification unique aux formes
d’interaction des agents. En fait, nous avons présenté dans le deuxième chapitre de ce
cours plusieurs situations d’interaction en prenant en compte trois critères : la
compatibilité des buts, la suffisance des ressources et la suffisance des compétences.
Cependant, ces formes peuvent être groupées dans un nombre limité de classes. Une
simple analyse de ces situations montre que certaines formes sont en fait des formes
complexes composées de formes plus primitives. A titre d’exemple, une situation de
compétition collective pure est en fait une situation où l’agent est d’une part en
relation conflictuelle avec certains agents et en situation de coopération avec d’autres
agents d’autre part. L’exemple de la bataille militaire présentée dans le chapitre
deuxième montre cette situation. L’agent est en fait en deux relations différentes avec
les autres agents. En conséquence, il est possible de classifier les interactions entre les
agents en formes primitives.

Dr. Toufik MARIR 2016-2017 p. 76


Les Systèmes Multi-Agents

La présentation des formes primitives de l’interaction n’est qu’une solution


partielle au débat parce que même ces formes primitives ne sont pas acceptées par
tous les spécialistes de domaine. Par exemple, certains spécialistes considèrent la
communication comme une forme d’interaction. Nous avons expliqué dans le chapitre
deuxième que la communication représente en réalité le support de l’interaction. Il
n’existe pas d’interaction sans communication surtout si on considère la
communication indirecte via l’environnement un type de communication. En plus, il
est possible de considérer les compétences comme des ressources (des ressources
internes). Dans ce cas, l’insuffisance des compétences ne représente qu’un type
spécifique de l’insuffisance de ressources. En conséquence, le critère le plus pertinent
à la classification des interactions entre les agents est le critère de la compatibilité des
buts.

Dans son livre « An Introduction to Multi-Agent Systems », Wooldridge considère


la coordination comme la forme la plus générique de l’interaction. Cette forme est
répartie en deux classes selon le critère de la compatibilité de buts : la compétition et
la coopération. La compétition représente le cas où les agents possèdent des buts ou
des intérêts incompatibles ou contradictoires. Dans ces situations, on fait
généralement recours à la négociation comme le meilleur moyen de résolution des
conflits connus par les être humains. Dans le cas de coopération les agents possèdent
des buts compatibles. En conséquence, chaque agent va aider les autres agents à
satisfaire leurs buts.

Il est important de noter que ce chapitre est consacré est la coordination des
agents cognitifs. En conséquence, l’interaction est un processus conscient effectué par
les agents impliqués. Suivant ce critère, ce chapitre va omettre les formes
d’interaction chez les agents réactifs. En fait, l’interaction entre les agents réactifs
n’est pas intentionnelle mais c’est le résultat des traces laissés involontairement sur
leur environnement.

3. La négociation

Comme nous avons vu aux chapitres précédents, les agents sont des entités
autonomes en interaction. En conséquence, chaque agent va essayer de satisfaire ses
buts. Cependant, l’incompatibilité des buts des agents peut empêcher tous les agents

Dr. Toufik MARIR 2016-2017 p. 77


Modèles de Coordination d’Agents Cognitifs

d’atteindre leurs buts. Par exemple, dans un système économique, le but de vendeur
est vendre sa marchandise avec le prix le plus élevé. En même temps, le client
cherche à acheter cette marchandise avec le prix le plus bas. Il est impossible dans ces
cas de satisfaire le client et le vendeur en même temps. On appelle cette situation, une
situation conflictuelle. La négociation est un mécanisme inspiré du modèle des
humains pour la résolution des conflits.

La négociation est un processus appliqué par un ensemble d’individus pour


prendre une décision commune. Naturellement, on commence la négociation avec des
agents qui expriment des demandes contradictoires. Cependant, dans une négociation
qui se termine avec succès, les agents arrivent à un accord qui représente le but de
l’un entre eux ou une nouvelle alternative.

Afin d’atteindre le but de la négociation (c'est-à-dire, l’arriver à un accord


commun), la modélisation de processus doit prendre en considération plusieurs
aspects. Ces aspects doivent être spécifiés clairement et explicitement. Ces aspects
sont :

 Le langage de négociation : nous avons expliqué auparavant que la


communication est le support de l’interaction. En conséquence, les
agents ne peuvent pas négocier sans échange de messages. En plus, le
langage de communication doit inclure des performatives qui expriment
les primitives de la communication. Par exemple, en utilisant le langage
de communication, un agent doit être capable d’exprimer son avis
concernant une proposition (acceptation ou refuse) comme il doit être
capable de proposer ou de refuser la participation à une négociation.
 Le protocole de négociation : un protocole de négociation est un
ensemble de règles utilisées pour la gestion du processus de négociation.
Etant donné que les protocoles de négociation représentent un sous-
ensemble de protocoles d’interaction, ces protocoles de négociation
spécifient pour chaque instant du processus de négociations un sous
ensemble de réponses ou d’interaction valide. Par exemple, à la
réception d’une demande de participation à une négociation, l’agent a le
droit de participer ou de refuser la participation. Il est inacceptable et
invalide d’envoyer à l’initiateur un message d’échec à ce niveau, par

Dr. Toufik MARIR 2016-2017 p. 78


Les Systèmes Multi-Agents

exemple. En plus, le protocole détermine le cas de terminaison de


négociation avec succès ou la terminaison avec échec.
 L’objet de négociation : il est important de spécifié clairement et
explicitement l’objet de la négociation avant le démarrage du processus
de négociation. Dans le cas contraire, l’agent sera une entité perdue et
sans objectif. Un agent vendeur qui minimise le prix d’un produit « X »
pour arriver à un accord avec un agent qui cherche un produit « Y » et
qui n’est pas intéressé par le produit « X » est un agent irrationnel. On
note que l’objet de la négociation peut être spécifié par un seul attribut
(par exemple, le prix) ou plusieurs attributs (comme le type de produit,
la couleur, la qualité et le prix).
 Le processus de décision : bien entendu, les décisions de l’agent durant
le processus de négociation ne seront pas des décisions aléatoires. Un
agent doit suivre une stratégie spécifique durant ce processus appelée la
stratégie de négociation. Cette stratégie permet à un agent de
déterminer la décision adéquate dans chaque instant. Par exemple, un
acheteur qui négocie pour acheter un produit avec le moindre prix
possible, quand est-il décide que le prix proposé par le vendeur à un
instant donné est le prix minimum ? Pour prendre ces décisions, l’agent
doit être capable de raisonner sur le raisonnement des autres agents. Il
doit être aussi capable d’identifier les stratégies suivies par les autres
agents. Un joueur d’échec ne raisonne pas seulement sur ses
mouvements possibles mais aussi sur les mouvements possibles de son
adversaire.

La négociation est un mécanisme connu dans plusieurs domaines comme


l’économie, la politique et la théorie de jeux. En conséquence plusieurs méthodes et
protocoles de négociation ont été proposés. Bien entendu, il est possible d’adopter la
plupart de ces techniques dans le domaine des agents intelligents. Cependant, un
concepteur doit choisir dans chaque système ou domaine d’application le meilleur
protocole. Afin de décider le meilleur protocole, on doit être capable d’évaluer les
différents protocoles proposés. En fait, plusieurs critères ont été proposés dans la
littérature pour l’évaluation des protocoles de négociation comme :

Dr. Toufik MARIR 2016-2017 p. 79


Modèles de Coordination d’Agents Cognitifs

 La rationalité individuelle : on considère un protocole comme


rationnel pour un agent si la participation à la négociation implique un
gain pour cet agent. En d’autres termes, l’agent ne perd rien en
participant à la négociation. Il est évident qu’un agent autonome
cherche, à travers la participation à la négociation à augmenter sa
fonction d’utilité. En conséquence, si la participation à un protocole
n’augmente pas les gains de ce dernier, il n’a pas de raison à la
participation du protocole.
 Le bien-être social : parfois, on peut choisir un protocole de négociation
n’est pas parce qu’il est rationnel par rapport à un agent mais parce qu’il
est le meilleur par rapport à la société. Dans ce cas, le plus important si
la somme des gains des agents participant dans la négociation et n’est
pas seulement le gain d’un agent. Prenant l’exemple d’une négociation
pour spécifier les montants de la cotisation de retraite. En appliquant le
premier critère, un agent doit essayer de minimiser sa participation pour
augmenter ses gains. Par contre, cette situation va engendrer une caisse
de retraite pauvre, ce qui va influer sur les indemnités de retraités. En
fait, dans ces cas on cherche l’utilité de la société et n’est pas seulement
l’utilité des individus. En conséquence, on va comparer les protocoles
par rapport au critère de l’utilité globale.
 L’efficacité Pareto : le problème posé dans le critère précédent est
l’incohérence des gains des agents. En conséquence, il est impossible de
comparer ou de calculer la somme des gains des agents pour décider
l’utilité de la communauté. Par exemple, considérant les joueurs d’une
équipe de football comme des agents en compétition pour assurer une
place dans l’équipe qui participe aux matches. Ces joueurs possèdent des
buts hétérogènes comme l’argent, la célébrité, faire évoluer la
carrière,…etc. Il est impossible de comparer ces buts pour décider la
meilleure stratégie pour l’équipe. En conséquence, le critère d’efficacité
Pareto est une solution de cet inconvénient. Dans ce cas, les
comparaisons sont effectuées par rapport aux gains de chaque agent. On
dit qu’une solution d’un problème de négociation est Pareto optimale
(efficace Pareto), si on ne peut pas améliorer les gains d’un agent sans
un effet négatif sur les autres agents. En d’autres termes, si on essaie
Dr. Toufik MARIR 2016-2017 p. 80
Les Systèmes Multi-Agents

d’améliorer les gains d’un agent dans une stratégie alternative, alors un
autre agent va perdre de son gain précédent.
 L’équilibre : nous avons dit auparavant qu’un agent en situation
d’interaction doit être capable de raisonner sur les actions possibles des
autres agents. Dans les guerres, les jeux stratégiques, l’économie ou le
football, un agent doit mettre en considération les stratégies possibles de
son adversaire pour augmenter ses bénéfices. Cependant, la question
pertinente est comment-peut on identifie les stratégies des adversaires.
La réponse de cette question est proposée dans le domaine de théorie de
jeu dans le théorème de l’équilibre de Nash. On dit que deux stratégies
sont en équilibre de Nash, si le choix de la première stratégie par un
agent rend la deuxième stratégie le meilleur choix pour le deuxième
agent. Par contre, si un agent a choisi la deuxième stratégie, alors la
première stratégie sera le meilleur choix pour l’autre agent. Par exemple,
dans le cas d’un match de football, si une équipe battue a décidé
d’adopter une stratégie d’attaque pour marquer des buts, la deuxième
équipe doit adopter une stratégie de défense pour garder ce résultat. Une
situation d’équilibre est importante parce qu’il n’existe pas d’intention
de changer l’équilibre par n’import quel agent. Cependant, le problème
posé dans les interactions entre les agents est l’existence des scénarios
qui n’acceptent pas un équilibre de Nash ou l’existence des scénarios qui
acceptent plusieurs situations d’équilibre de Nash.
 La simplicité et efficacité de calcul : un protocole est implémenté sous
forme d’un programme distribué. Le raisonnement sur toutes les
situations et les stratégies possibles peut compliquer les calcules. Il est
même possible dé générer des situations d’explosion combinatoire dans
le but de chercher une stratégie optimale. Ainsi, l’un des critères
d’évaluation des protocoles de négociation, on trouve la simplicité. Par
la simplicité on entend la facilité des agents d’identifier la meilleure
stratégie. En plus, les ressources de calcul (temps de calcul, espace de
mémoire,…etc.) utilisées pour déterminer la stratégie optimale doivent
être raisonnables.

Dr. Toufik MARIR 2016-2017 p. 81


Modèles de Coordination d’Agents Cognitifs

Plusieurs techniques de négociation ont été appliquées dans le domaine des


systèmes multi-agents. Nous présentons dans ce chapitre deux techniques, à savoir les
enchères et le protocole de redistribution des tâches.

3.1. Techniques d’enchères

L’enchère est un mécanisme de négociation dans lequel un agent mettre en


concurrence plusieurs autre agent afin d’acheter ou de vendre un objet. Cette
concurrence va permettre de déterminer le prix de l’objet de façon objective. Ce
mécanisme est connu depuis l’antiquité. En fait, Hérodote décrit ce mécanisme
existant à Babylon en 500 avant J. C. Actuellement, ce mécanisme est appliqué dans
plusieurs sites de vendre en ligne comme eBay.

La philosophie générale d’enchère est la proposition des prix par des


participants. Ensuite, l’initiateur va décider la meilleure proposition. Bien entendu, le
nombre de tours (c'est-à-dire le nombre de fois que l’agent peut proposer un prix), la
méthode d’annonce des propositions (publique ou privée) et la méthode de choix de
vainqueur sont les caractéristiques qui font la différence entre les protocoles
d’enchère. Cependant, quelques caractéristiques sont communes dans la plupart des
protocoles, comme l’existence d’un prix de réserve. Ce prix est spécifié par
l’initiateur comme le prix minimum de l’objet. Ainsi, les participants n’ont pas le
droit d’annoncer un prix au-dessous de prix de réserve. Si tous les participants
proposent des prix au prix de réserve, le protocole va terminer avec échec.

Un agent applique généralement une stratégie pour décider un prix à proposer. Il


existe des protocoles d’enchère avec des stratégies dominantes (c'est-à-dire des
stratégies qui assurent l’obtention de l’objet avec un meilleur prix) comme il existe
des protocoles où il n’existe pas des stratégies dominantes. Cependant, le choix de
prix n’est pas seulement lié à la stratégie de l’agent mais à la valeur de l’objet par
rapport à l’agent. Il existe des objets avec des valeurs communes. Dans ce cas, la
valeur de l’objet est unique par rapport à tous les participants. Par exemple, pour
acheter un ordinateur, tous les participants vont proposer des prix similaires parce que
la valeur de l’ordinateur est unique par tous les participants. Généralement, on ne
trouve pas des participants qui proposent des prix trop gonflés pour ce produit.
D’autre part, un objet peut posséder une valeur privé par rapport à un agent. On

Dr. Toufik MARIR 2016-2017 p. 82


Les Systèmes Multi-Agents

entend parfois dans les médias qu’un supporteur ait acheté des chaussures de son
joueur préféré par des millions de dollars. Réellement, la valeur de cet objet est
estimée de cette façon juste par l’agent concerné. Les autres agents peuvent même
considérer ce comportement comme absurde. Finalement, il existe des objets avec des
valeurs corrélées. Dans ce cas l’objet possède une valeur privée et commune à la fois.
Par exemple, un collectionneur d’objets rares peut acheter un objet qui entre dans son
centre d’intérêt en estimant de le vendre ensuite s’il trouve une affaire qui mérite.
Dans ce cas, le collectionneur doit prendre en compte la valeur privé de l’objet mais il
ne doit pas aussi d’ignorer sa valeur commune.

On distingue dans le domaine des systèmes multi-agents, quatre types


principaux d’enchères :

 Enchère anglaise (premier-prix offre-publique) : comme il indique le


nom du protocole, les propositions des agents sont publique. Ainsi, chaque
agent connaît les propositions des autres. En plus, l’agent vainqueur est
l’agent qui propose le plus grand prix. Il va acquérir l’objet en offrant le
prix proposé. En conséquence, le déroulement du protocole est comme
suite. L’initiateur commence l’enchère en annonçant le prix de réservation.
Ensuite, chaque agent va annoncer publiquement un prix plus grand que le
dernier prix offert. Le protocole est de tours successifs. Les agents peuvent
proposer des prix jusqu’à la proposition d’un prix gagnant. Un prix est
gagnant si aucun agent ne peut proposer une augmentation par rapport à ce
dernier. Prenant un exemple d’achat d’un téléphone portable. L’initiateur va
annoncer le début du protocole en annonçant le prix de réservation (par
exemple 1000). On suppose qu’on a deux participants. Un participant (P1)
va proposer un prix supérieur au prix de réservation (1100 par exemple).
Ensuite, le participant P2 va proposer un prix supérieur au prix précédent
(par exemple 1150). Le protocole va continuer en proposant des prix dans
chaque tour. Si l’un des agents propose un prix X (par exemple 2000)
sachant que l’autre agent n’a pas pu de proposer un prix supérieur à ce prix,
alors l’agent qui propose le prix X va être considéré comme vainqueur.
Dans ce cas, il doit payer le prix X pour obtenir le téléphone portable.

Dr. Toufik MARIR 2016-2017 p. 83


Modèles de Coordination d’Agents Cognitifs

La meilleure stratégie dans ce protocole est l’augmentation du prix par une


petite valeur. Dans le cas d’une valeur privée, l’agent doit augmenter le prix
par une petite valeur tant que les propositions sont inférieures à sa valeur
privée. Si les propositions dépassent sa valeur privée, alors il désiste de
participation. Ainsi, cette stratégie est considérée comme une stratégie
dominante parce que à l’issue du protocole, l’agent peut acquérir l’objet
avec un prix inferieur ou égal à sa valeur privé (donc il est vainqueur) ou il
arrive à un état où il ne peut pas acheter le produit parce que la valeur de
l’objet est supérieur a sa valeur privée. Bien entendu, même le deuxième
cas est relativement un état de gain parce que l’agent n’a pas dispensé plus
que la valeur estimée de l’objet. Cependant, dans le cas d’une valeur privée,
ce protocole souffre de l’inconvénient de malédiction de vainqueur. Cette
situation est vécue parce que l’agent suppose qu’il proposé un prix
supérieur à la valeur de l’objet.

Dans le cas de valeur commune ou corrélée, un agent doit augmenter le prix


d’une petite valeur tant qu’il a des ressources (l’argent) et il estime que la
valeur maximale de l’objet n’est pas encore atteinte. Cependant, dans ce cas
cette stratégie est la meilleure stratégie mais elle n’est pas une stratégie
dominante. En fait, quand un agent augment le prix par une valeur (a) par
rapport au dernier prix (p), et il n’existe pas des agents qui proposent des
prix supérieurs, l’agent va devenir un vainqueur par un prix (p’ = p+a).
Cependant, il est possible que les autres agents n’ont pas proposé des
augmentations parce qu’ils considèrent le prix proposé (p’) supérieur à la
valeur réelle de l’objet. Ainsi, l’agent est vainqueur mais il a acheté l’objet
par un prix exagéré.

 Enchère première offre-cachée : dans ce type d’enchère, l’initiateur


commence par l’annonce de l’objet et son prix de réservation. Ensuite, les
participants commencent l’envoie de leurs propositions. Les offres des
participants sont des offres cachées. Ainsi, un participant ne peut pas
connaître les propositions des autres. Après un deadline, l’initiateur
commence l’évaluation de différentes propositions, puis il annonce le nom
de l’agent vainqueur et sa proposition. L’agent vainqueur est l’agent qui

Dr. Toufik MARIR 2016-2017 p. 84


Les Systèmes Multi-Agents

propose le prix le plus élevé. En conséquence, l’agent vainqueur va gagner


l’objet en payant ce prix. Par exemple, un initiateur veut vendre un
téléphone portable. Il envoie aux participants le type de téléphone et le prix
de réservation (par exemple, « type = Galaxy S4, prix de réservation =
1000 »). Ensuite les participants commence l’envoie de leurs propositions.
On suppose qu’on a trois participants p1, p2 et p3 qui proposent les prix
1100, 1150 et 1050 respectivement. Après la réception des différentes
propositions, l’initiateur annonce que le participant gagnant est p2 avec le
prix 1150.

Un agent participant estime la valeur de l’objet selon sa valeur privée ou ses


ressources. Bien entendu, il ne propose pas une proposition supérieur à ces
valeur, parce que même s’il a gagné avec cette proposition, il ne sera pas
capable de payer le prix de l’objet (parce qu’il dépasse ses ressources) ou
parce qu’il trouve le prix de l’objet est supérieur à sa valeur réelle. En
conséquence, la meilleur stratégie est de proposer un prix inferieur ou égal
à la valeur privée (par exemple prix = valeur privée – e). Cependant, il
n’existe pas une stratégie permettant de fixer le prix exacte. Dans l’exemple
précédent, supposant que le participant p1 peut payer jusqu’à 1200, mais il
a choisi de proposer 1100. Après l’annonce des résultats, ce participant (p1)
considère qu’il a pu obtenir l’objet avec un prix de 1160. De la même
façon, le participant p2, après l’annonce des résultats, il considère qu’il
aura pu gagner avec un prix 1101 au lieu de 1150.

En plus, ce protocole souffre d’un inconvénient majeur. L’initiateur est


capable de mentir concernant les propositions reçues pour favoriser un
objet parce que les propositions sont cachées. Dans notre exemple,
l’initiateur peut annoncer que le participant p1 est le gagnant avec un prix
1155 malgré que ce dernier ait proposé 1100 comme prix. De cette manière,
il va favoriser le participant p2.

 Enchère hollandaise (descendante) : dans ce cas, l’initiateur commence


par l’annonce d’un grand prix. Ensuite, il va diminuer le prix à chaque tour
tant qu’il n y a pas des propositions. Si un participant estime que la valeur
proposée par l’initiateur dans un tour donné représente la valeur de l’objet
Dr. Toufik MARIR 2016-2017 p. 85
Modèles de Coordination d’Agents Cognitifs

ou entre dans ses capacités, alors il annonce qu’il achète l’objet. Ainsi,
l’initiateur déclare cet agent vainqueur avec le prix de ce tour. Ce protocole
est équivalent d'enchère premier-prix offre-cachée. Dans notre exemple
précédent de ente des téléphones portables, l’initiateur commence par
l’annonce de l’objet et un prix (par exemple « type = Galaxy S4, prix =
2000 »). Ensuite, il va diminuer progressivement le prix à chaque tour (par
exemple, 1900, 1850, 1800, 1700, 1600,..etc). Quand l’initiateur propose un
prix intéressant pour un participant, ce dernier annonce qu’il achète l’objet.
Par exemple, au tour « i » l’initiateur propose un prix « 1200 » qui est
intéressant pour le participant p2. En conséquence, p2 annonce qu’il a
acheté l’objet et il paye 1200. Comme dans le cas du protocole précédent, il
n’existe pas une stratégie dominante. Un participant en écoutant un prix
intéressant peut se comporter de deux différentes manières. Premièrement,
il annonce qu’il achète l’objet mais dans ce cas il est possible que les prix
intéressants des autres agents sont encore loin. Donc, il aura pu patienter
pour acheter l’objet avec un prix inférieur. Par exemple p2 peut acheter
l’objet par un prix de 1200, mais p1 peut l’acheter par 900 et p3 par 850.
Pourquoi le participant achète l’objet par 1200, alors qu’il aura pu l’acheter
par 950 ou 1000 en attendant seulement les tours suivants ? Dans le
deuxième cas, le participant choisi de patienter, mais comme il ignore les
ressources et les valeurs privées des autres agents, il pourra perdre l’objet.
Dans notre exemple, l’initiateur annonce le prix 1200 qui intéressant pour
le participant p2, mais ce dernier va choisir de patienter. Ensuite, à chaque
prix, le participant décide de patienter en souhaitant que les prix
intéressants pour les autres participants sont loin. En arrivant au prix 900, le
participant p1 peut annoncer qu’il achète l’objet. En conséquence, le
participant p2 perd l’objet malgré qu’il a pu l’acheté.
 Enchère Vickery (deuxième-prix offre-cachée) : ce protocole est
similaire au protocole de premier-prix offre cachée, sauf que le gagnant ne
paye pas le prix qu’il proposé mais il maye le prix de deuxième proposition
reçue par l’initiateur. Ainsi, un initiateur commence par l’annonce de
l’objet et la valeur de réservation (par exemple, « type= Galaxy S4, prix =
1000 »). Ensuite, il commence la réception des propositions. Supposant
qu’après le deadline l’initiateur a reçue les propositions des participants p1,
Dr. Toufik MARIR 2016-2017 p. 86
Les Systèmes Multi-Agents

p2 et p3 avec les prix 1100, 1150 et 1050. Dans ce cas, l’initiateur annonce
que p2 est le vainqueur parce qu’il a proposé le plus grand prix. Mais p2
doit payer 1100 (le deuxième prix proposé) au lieu de payer sa proposition.
Malgré que ce protocole semble illogique pour les communautés humaines
mais il porte une avantage importante qui le rendre le plus adéquat pour les
agents. En fait, en appliquant ce protocole, un agent doit adopter la stratégie
suivante : il propose toujours la valeur privée de l’objet. Si sa proposition
est gagnante, alors le participant n’estime pas qu’il ait surévalué l’objet
parce que réellement il va payer un prix moins de sa proposition. Si la
proposition d’un participant est battue, alors il ne peut pas estime qu’il a pu
gagner en proposant un prix plus élevé parce qu’il a proposé son grand prix
possible. Cependant, ce protocole souffre aussi de problème concernant la
confiance à l’initiateur. Ce dernier peut annoncer que le gagnant est p2 mais
le prix à payer est 1145 parce que les offres sont cachées et le participant p2
ne sait pas la deuxième proposition.
3.2. L’allocation des tâches par redistribution

Dans cette technique on modélise le problème d’interaction des agents, comme


un problème d’allocation des tâches. Ce problème est étudié par Rosenschein et
Zlotkin en 1994. Prenant l’exemple suivant: deux voisins possèdent des enfants qui
fréquentent des différentes écoles. Chaque voisin a besoin d’accompagner ses enfants
à leurs écoles. Supposant que le premier voisin possède deux enfant C1 et C2 qui
fréquentent respectivement les écoles S1 et S2. Le deuxième voisin possède trois
enfants C3, C4 et C5 qui fréquentent respectivement les écoles S1, S2 et S3. Malgré
que les deux voisins sont capables d’accompagner leurs enfants, mais cette situation
peut engendrer des pertes de ressources. Par exemple, le trajet sera long et les enfants
peuvent arriver en retard. Naturellement, les deux voisins peuvent remarquer la
situation et décident de coordonner leurs actions pour préserver leurs ressources. Par
exemple, un voisin sera responsable d’accompagner les enfants C1et C3 à l’école S1
et l’autre sera le responsable d’accompagner les enfants C2 et C4 à l’école S2 et C5 à
l’école S3. Supposant maintenant que le trajet vers l’école S1 est plus long que le
trajet des écoles S2 et S3. Bien entendu, chaque voisin va chercher à être le
responsable d’accompagner les enfants de l’école S2 et S5. En conséquence, les deux

Dr. Toufik MARIR 2016-2017 p. 87


Modèles de Coordination d’Agents Cognitifs

voisins seront en situation de compétition. Le problème est comment peut-on allouer


les tâches aux différents voisins.

Rosenschein et Zlotkin appellent un problème d’allocation des tâches un


domaine orienté tâches. Ce dernier est formalisé par le triple <T, Ag, C> tel que :

 T est un ensemble de tâches (T = {T1, T2, …Tm}) ;


 Ag est l’ensemble d’agents qui participent à la situation de l’interaction
(Ag ={1, …,n}) ;
 C : est une fonction de coût qui définit pour chaque un sous-ensemble
de tâches une valeur réelle positive (C : 2T R+). Cette fonction doit
satisfaire deux conditions :
o Le coût de ne pas exécuter une tâche est toujours nul (C(Ø)=0) ;
o La fonction de coût est une fonction monotone. En d’autres
termes, si on ajoute une tâche à un ensemble de tâches le
nouveau coût doit être plus grand que le coût de l’ensemble
initial.

Afin de distribuer les tâches sur l’ensemble des agents ont définit une rencontre
dans un domaine orienté tâche. Une rencontre est un ensemble des ensembles de
tâches sachant chaque ensemble représente les tâches alloués à un agent spécifique.
Formellement, on écrit une rencontre R = {E1, E2,…En} tel que Ei est l’ensemble des
tâche allouées à l’agent Agi.

Le problème posé dans une telle rencontre est la possibilité de redistribuer les
tâches pour trouver une distribution plus intéressante pour les agents. Par exemple,
dans l’exemple des voisins la rencontre est R {E1={T1, T3}, E2{ T2, T4, T5}} tel que Ti
représente l’accompagnement de l’enfant Ci. Supposant que l’école C3 est dans le
route de l’école C1. Dans ce cas, il sera plus intéressant pour les agents de redistribuer
les tâches tel qu’un voisin accompagne les enfants C1, C3 et C5 aux écoles S1 et S3
respectivement et le deuxième enfant accompagne le reste des enfants à l’école S2.
Ainsi, les agents doivent négocier entre eux pour arriver à cette réallocation.

Dr. Toufik MARIR 2016-2017 p. 88


Les Systèmes Multi-Agents

On appelle une réallocation des tâches une affaire. Ainsi, une affaire dans un
système composé de deux agents est A = {D1, D2}, sachant que cette redistribution ne
doit pas omettre n’importe quelle tâche. En conséquence, D1 U D2 = E1 U E2.

Comme une affaire ou une rencontre est un sous-ensemble de tâche, on peut


appliquer sur elles la fonction de coût. On écrit Ci(Dj) pour désigner le coût de
l’affaire Dj par rapport à l’agent i. On peut calculer les bénéfices d’un agent en
adoptant une affaire par rapport à la rencontre par la comparaison des coûts de
l’affaire te la rencontre. Ce bénéfice peut être calculé par la fonction utilité. Ainsi,
cette fonction est calculer par : utilitéi(A) = Ci(Ei) - Ci(Di). Par exemple, si le coût
représente la distance de trajet pour accompagner des enfants à une école, alors
l’utilité représente la différence des trajets entre la rencontre (la première distribution)
et l’affaire (le résultat de la redistribution des tâches). Si cette différence est négative
alors cela signifie que l’agent va perdre en adoptant l’affaire. Dans ce cas, l’agent va
préférer d’exécuter son ensemble initial.

On dit qu’une affaire A1 domine une autre affaire A2 si et seulement si :

 Pour les deux agents, le bénéfice d’adopter une affaire A1 est au moins
égale au bénéfice d’adopter l’affaire A2

 Au moins pour un agent, le bénéfice d’adopter l’affaire A1 est


strictement supérieur au bénéfice d’adopter l’affaire A2

Le protocole de concession monotone est un protocole qui assure une meilleur


allocation des tâches. Dans ce protocole, la négociation se déroule en une suite de
tours sachant que le nombre de tours soit borné. En conséquence, si aucune affaire n’a
été adoptée au tour N, le protocole va être terminé et le conflit persiste. Dans un tour
donné, chaque agent va proposer une affaire (A1 par l’agent 1 et A2 par l’agent 2). Les
agents atteignent un accord si le bénéfice d’un agent i apporté en adoptant l’affaire
proposée par l’autre agent est supérieur ou égale au bénéfice d’adopter sa propre
affaire (C'est-à-dire ou .

Dr. Toufik MARIR 2016-2017 p. 89


Modèles de Coordination d’Agents Cognitifs

Bien entendu, un agent ne propose pas une affaire qui n’est pas utile pour lui. Donc, si
l’autre agent trouve que cette proposition est bénéfique pour lui que son propre
affaire, il va adopter cette proposition. Si chaque affaire proposée par un agent et plus
bénéfique à l’autre agent que sa propre proposition donc on adoptera une au hasard. Si
aucun accord n’est atteint, alors on passe au tour suivant. Dans ce nouveau tour aucun
agent n’a le droit de faire une proposition qui est moins préférée par l’autre agent que
l’affaire qu’il a proposé au tour précédent.

Bien entendu, il existe beaucoup de techniques pour assurer la résolution des


conflits et la négociation dans les systèmes multi-agents. Certaines techniques sont
des améliorations aux techniques présentées dans ce cours. Par exemple, la
négociation heuristique améliore le processus de négociation en offrant aux agents la
possibilité de critiquer les propositions reçues ou donner des contres propositions.
Imaginant une personne (agent 1) qui veut acquérir une voiture de marque X avec un
prix P. L’agence de vente (agent 2) répond qu’elle n’accepte pas la proposition. Dans
ce cas, l’agent 1 va diminuer le prix. Supposant que toutes les propositions de l’agent
1 sont refusées malgré qu’il a diminué le prix à des valeurs imaginables. En fait, dans
ce cas l’agent 2 refuse à cause de manque de la marque et pas le prix proposé !
Cependant, il ne peut pas exprimer qu’il n’a pas la marque parce que le protocole
n’offre pas cette possibilité. En utilisant la négociation heuristique, l’agence a la
possibilité dès le début de répondre qu’elle n’a pas cette marque (donc donner des
critiques) ou de dire qu’elle peut offrir avec le même prix une voiture de marque Y
(donner une contre-proposition).

4. La coopération

Les relations entre les agents ne sont pas toujours des relations conflictuelles.
Au contraire, les relations des agents peuvent être aussi des relations positives. Par
des relations positives, on entend l’augmentation de synergie des agents ou la gestion
des interdépendances des tâches de l’agent. En fait, l’existence de ces relations est
justifie par l’inexistence d’un agent qui possède toutes les capacités et les
connaissances pour la résolution du problème. Les agents dans ces situations font
recours aux techniques de coopération. Généralement, on parle de coopération quand
il n’existe pas une situation conflictuelle. Par exemple, afin de rédiger un papier

Dr. Toufik MARIR 2016-2017 p. 90


Les Systèmes Multi-Agents

scientifique, les coauteurs possèdent un seul objectif : rédaction d’un papier de


qualité. En conséquence, les coauteurs sont en relation de coopération. Chaque agent
peut aider les autres agents dans leurs tâches (par exemple, la relecture et la correction
des paragraphes) ou la gestion des interdépendances (par exemple, un agent est en
cours de préparer les résultats de les expérimentations, un autre doit attendre la
terminaison de cette partie pour rédiger la partie correspondante dans le papier).

Les problèmes de coopération sont traités dans le domaine des systèmes


concurrents avant l’apparition des systèmes multi-agents. Cependant, deux différences
cruciales existent entre la coopération dans les systèmes multi-agents et les systèmes
distribués. D’une part, les systèmes distribués autour d’un objectif partagé. C'est-à-
dire tous les composants d’un système possèdent le même objectif. Dans les cas des
systèmes multi-agents, il n’est pas toujours exigé que les agents possèdent le même
objectif. Chaque peut posséder ses propres objectifs. L’essentiel est que les objectifs
des agents sont compatibles. Par exemple, dans le cas des joueurs de football, il est
possible que chaque joueur possède son propre objectif (l’argent, la célébrité, être
convoqué à la sélection nationale, …etc.), mais ces derniers sont compatibles. D’autre
part, dans les systèmes distribués les situations de coopération sont identifiées au
temps de conception. C’est les concepteurs qui décident quant est ce que les agents
doivent coopérer et quelle technique ils utilisent (par exemple, où on met un code de
synchronisation de processus). Par contre, dans le cas des agents, les décisions se font
au temps d’exécution parce que le système est dynamique. Il est impossible de prévoir
toutes les situations de coopération possibles. C’est à l’agent de décider comment il
peut travailler afin d’aider les autres agents à atteindre le but. Dans le cas des joueurs
de football, il est impossible de prévoir toutes les situations d’interaction possibles
pour gagner le match. Un joueur qui possède le ballon doit décider à ce moment
(temps d’exécution) si meilleure action consiste à l’attaque ou le passage de ballon à
son collègue.

Malgré la diversité des techniques appliquées pour assurer la coopération des


agents, ces dernières sont effectuées selon trois activités principales. Premièrement, le
problème doit être décomposé à un ensemble de tâches. Puis, on doit allouer ces
tâches aux différents agents pour proposer des solutions aux sous-problèmes.
Finalement, nous devront synthétiser les résultats partiels pour constituer la solution

Dr. Toufik MARIR 2016-2017 p. 91


Modèles de Coordination d’Agents Cognitifs

globale. Dans un jeu collectif comme le football, un entraineur décompose sa stratégie


globale pour gagner le match en un ensemble de tâches. Ensuite, il doit attribuer ces
tâches sur les différents joueurs. Finalement, chaque joueur va essayer d’exécuter sa
tâche afin d’atteindre l’objectif global.

Plusieurs techniques ont été proposées pour assurer la coopération des agents.
Dans le reste de ce chapitre, nous présentons deux catégories de techniques largement
appliquées dans ce domaine : l’allocation des tâches par les réseaux contractuels et la
coopération par planification.

4.1. Allocation des tâches par réseau contractuel

Les protocoles des réseaux contractuels sont des protocoles de haut-niveau pour
la coopération efficace à travers l’allocation des tâches. La proposition de ces
protocoles est basée sur la métaphore des organisations durant la réalisation des
contrats. En fait, dans une organisation il existe, généralement, un gestionnaire qui
décompose la tâche à réaliser à un ensemble de sous-tâches. Ensuite, il va attribuer
ces tâches à un ensemble de contractants selon un protocole spécifique. Après,
l’exécution de sa tâche, le contractant annonce au gestionnaire le résultat de son
exécution. A titre d’exemple, dans le cadre de la formation doctorale, un directeur de
recherches peut décomposer un projet de recherche à un ensemble de sous-problèmes.
Ensuite, il attribue ces sous-problèmes à l’ensemble de doctorant. Chaque doctorant
va ensuite traiter son sous-problème. Après la proposition de différentes solutions, le
directeur de recherches peut synthétiser les résultats pour former la solution de
problème de recherche initial.

Un avantage intéressant dans les protocoles de réseaux contractuels réside dans


la possibilité de chaque agent de jouer les rôles de gestionnaire ou de contractant. En
conséquence, ces protocoles offrent une très grande flexibilité dans le sens où chaque
agent peut décomposer sa sous-tâche en un ensemble de tâches plus petites. Dans
notre exemple précédent de gestion des travaux de recherche, un doctorant qui
travaille dans une équipe de recherche peut décomposer son problème à un ensemble
de petits sous-problèmes. Ensuite, il peut attribuer ses sous-problèmes à un ensemble
d’étudiants de graduation (Master par exemple) en jouant le rôle de gestionnaire.

Dr. Toufik MARIR 2016-2017 p. 92


Les Systèmes Multi-Agents

Dans le cadre des systèmes multi-agents, les réseaux contractuels (Contract Net)
sont considérés parmi les premières techniques de coopération des agents.
L’organisation FIPA a standardisé le protocole FIPA-Contract-Net. Comme il est
présenté dans la figure 4.1, le gestionnaire commence par l’annonce de la tâche en
utilisant la performative CFP (Call-For Proposal). Ensuite, les contractants peuvent
accepter la participation au protocole en faisant une proposition (prix de la tâche,
qualité de la tâche, durée d’exécution,…etc.) ou refuser la participation. Après la
réception des réponses de différents contractants, le gestionnaire va évaluer leurs
offres. En conséquence, il va choisir la meilleure proposition en envoyant un message
d’acceptation de la proposition au contractant propriétaire de la proposition, et il
envoie un message de rejeter la proposition aux autres contractants. Après l’exécution
de la tâche par le contractant, il va envoyer le résultat de l’exécution de la tâche ou il
informe tout simplement le gestionnaire qu’il a réalisé la tâche demandée. Dans
certains cas, le contractant peut rencontrer des problèmes qui l’empêchent de la
réalisation de la tâche. En effet, il doit informer le gestionnaire de cette situation.

Figure 4.1 : Le protocole FIPA-Contract-Net.

Dr. Toufik MARIR 2016-2017 p. 93


Modèles de Coordination d’Agents Cognitifs

Dans notre exemple de gestion des activités de recherche, un directeur de


recherches peut annoncer le thème de sujet en demandant aux intéressés d’envoyer
leurs propositions. Les futures doctorants peuvent envoyer les documents qui
prouvent qu’ils sont capable de résoudre le problème proposé (par exemple, CV, lettre
de motivation, relevés de note,…etc.). Bien entendu, certains étudiants peuvent
refuser la participation (parce que le domaine de recherche n’est pas intéressant pour
eux, par exemple). Le directeur de recherches va analyser les propositions et comme
résultat il va informer un doctorant qu’il accepté sa proposition et il informe les autres
que leurs propositions sont rejetées. Le doctorant va commencer sont travail en
informant son directeur (à la fin de ses recherches) de résultats de ses études. En cas
d’un problème imprévu qui empêche le doctorant de réaliser sa tâche, le doctorant
informe son directeur de la situation.

4.2. La coopération par la planification

La coopération signifie que les agents possèdent des objectifs compatible ou


bien partagent le même objectif. Ainsi, les agents doivent coopérer pour assurer un
une utilisation rationnelle des ressources ou pour éviter l’exécution des actions
inutiles. Par exemple, dans le cas de la rédaction d’un papier scientifique, les auteurs
possèdent le même objectif. Ainsi, ils coopèrent pour éviter des actions inutiles. Par
exemple, un seul agent peut assurer le formatage du papier. Il est inutile d’exécuter
cette action par plusieurs agents parce qu’on arrive au même résultat. Aussi, le travail
sur une seule copie nécessite qu’on coopère parce que il impossible de travailler sur la
même copie par tous les agents. En conséquence, le problème de la coopération est en
fait un problème d’ordonnancement des actions d’agents dans le temps. En effet, la
coopération des agents peut être traitée comme un problème de planification des
agents. L’objectif est d’organiser les tâches des agents selon le temps. Dans l’exemple
de la rédaction d’un papier scientifique, supposant qu’on a trois auteurs responsables
des actions suivantes : A1 = T1, T2, T3 ; A2 = T4, T5 ; A3 = T6, T7, T8 ; donc l’objectif
est de spécifié un ordre global de ces actions en précisant les actions qu’on peut
exécuter parallèlement et les actions qui nécessitent la synchronisation.

Dans la planification multi-agents, on distingue deux classes de techniques : la


planification centralisée et la planification distribuée. Dans la planification
centralisée, il existe un seul agent qui gère le processus de planification. Cet agent

Dr. Toufik MARIR 2016-2017 p. 94


Les Systèmes Multi-Agents

élabore un plan puis il l’organise sous forme de sous-plans potentiellement


synchronisés. Ensuite, il transmet ces plans à l’ensemble des agents qui les exécutent
en concurrence. Par exemple, afin de rédiger un papier scientifique, le directeur de
projet élabore un plan global puis il le divise en sous-plans. Chaque sous plan doit être
exécuté par un auteur spécifique. Les tâches peuvent être exécutées en parallèle, par
exemple chaque auteur doit écrire une section. Il est aussi possible de trouver des
tâches qui nécessitent la synchronisation, par exemple un auteur ne peut pas corriger
une section sauf si cette section est écrite par un autre auteur. Chaque auteur va
exécuter son plan. Bien entendu, le formalisme utilisé pour la description des plans
doit supporter la description de parallélisme et de synchronisation. Par exemple, il est
important d’utiliser des formalismes comme les réseaux de Pétri.

La planification centralisée souffre des inconvénients du contrôle centralisé de


l’agent comme les problèmes de fiabilité et d’efficacité. Si un agent responsable de
l’élaboration des plans tombe en panne, alors le système entier sera paralysé. En plus,
l’agent central est le goulot d’étranglement de ce système. Dans notre exemple
précédent, aucun auteur ne peut travailler si le directeur n’a pas assigné à chaque
auteur son plan. En plus, l’élaboration de ces plans peut être une tâche complexe qui
prend tout le temps du directeur.

Dans la planification distribuée le processus est distribué. Ainsi, plusieurs


agents participent à l’élaboration des plans. La technique de planification globale
partielle entre dans cette catégorie. Dans cette technique, on utilise des plans partiels
parce qu’il est impossible de générer un plan entier pour le système. Ensuite, le plan
est global parce que les agents échangent leurs plans partiels afin de construire une
vue non-locale. En conséquence, la technique se déroule comme suite : premièrement,
chaque agent construire son propre plan pour atteindre l’objectif. Ensuite, les agents
échangent leurs plans afin de déterminer les points d’interaction des plans et des buts.
Finalement, chaque agent va modifier son propre plan afin d’améliorer la coordination
des buts. Dans notre exemple de la rédaction d’un papier, supposant qu’on n’a pas un
coordinateur responsable de la gestion de la rédaction. Chaque auteur va générer son
plan qui détermine les tâches qu’il va faire afin de rédiger un bon article. Ensuite, les
auteurs échangent leurs plans. Bien entendu, après la consultation des plans des
autres, on peut remarquer qu’il y a une redondance dans les actions des auteurs (par
exemple, plusieurs agents spécifient qu’il vont soumettre l’article au journal, alors que

Dr. Toufik MARIR 2016-2017 p. 95


Modèles de Coordination d’Agents Cognitifs

la soumission est effectuée une seule fois) ou des actions qui doivent être synchronisé
avec d’autres actions (par exemple, un auteur spécifie qu’il va formater le papier selon
le modèle du journal, mais cette action doit être effectuée après la rédaction de toutes
les parties de l’article). En conséquence, chaque auteur va changer son plan afin
d’améliorer la coopération.

Les techniques présentées dans ce chapitre ne représentent que des échantillons


de techniques appliquées et proposées dans ce domaine. Bien entendu, il existe
d’autres techniques qui peuvent assurer la coopération des agents. Certaines
techniques sont beaucoup plus reliées aux modèles des agents. En d’autres termes,
afin de coopérer avec d’autres agents certains chercheurs proposent d’exploiter les
intentions ou les modèles de raisonnement de ces derniers. En conséquence, on peut
déterminer les actions qui favorisent les autres agents à atteindre leurs objectifs.

5. Conclusion

Ce chapitre est consacré à la présentation des modèles de coordination pour les


agents cognitifs. La coordination englobe les situations d’interaction avec des buts
compatibles ou avec des buts incompatibles. La négociation représente le mécanisme
d’interaction le plus appliqué pour traiter les situations d’interaction avec des buts
incompatibles. Nous avons présenté sous cette catégorie les techniques d’enchère et
l’allocation des tâches par la redistribution. Dans l’autre coté, nous avons présenté
deux techniques de coopération, à savoir les réseaux contractuels et la coopération par
planification. Bien entendu, le domaine de l’interaction des agents est un domaine
large qui connaît de plus en plus de techniques. Ces techniques présentées dans ce
chapitre ne représentent qu’un échantillon de techniques proposées dans la littérature.

6. Questions de compréhension
a) Quelle la différence entre la coordination et la coopération ?
b) Pourquoi les techniques présentées dans ce chapitre sont destinées seulement
aux agents cognitifs ?
c) Quels sont les problèmes d’application des enchères ?
d) Modéliser le processus de distribution des projets de fin de cycle appliqué
dans votre département par le langage AUML ?
e) Dans quelle catégorie peux-tu classifier ce processus ?

Dr. Toufik MARIR 2016-2017 p. 96


Les Systèmes Multi-Agents

f) Est-ce que l’algorithme de succession monotone assure l’arriver à une


solution ?
g) Pourquoi nous avons considéré les réseaux contractuels comme des techniques
de coopération ?
h) La planification est un domaine indépendant dans l’intelligence artificielle,
pourquoi il est appliqué dans la coopération des agents ?

Dr. Toufik MARIR 2016-2017 p. 97


Références
Les Systèmes Multi-Agents

Références
Livres

1. Jacques Ferber, Les Systèmes multi-agents: vers une intelligence


collective, InterEditions, 1997.
2. Michael Wooldridge, An Introduction to MultiAgent Systems, John
Wiley & Sons Ltd, 2002.
3. Nikos Vlassis, A Concise Introduction to Multiagent Systems and
Distributed Artificial Intelligence, Morgan & Claypool, 2007.
4. Jean-Pierre Briot, Yves Damazeau (Eds), principes et architectures des
systemes multi-agents, Hermes Science Publications, 2001.
5. Gerhard Weiss, Multiagent Systems - A Modern Approach to
Distributed Artificial Intelligence, MIT Press, 1999.
6. Paulo Leitão, Stamatis Karnouskos (Eds), Industrial Agents - Emerging
Applications of Software Agents in Industry, Elsevier, 2015.
7. Stuart Russell, Peter Norvig, Artificial Intelligence – A Modern
Approach, Prentice Hall, 2010.

Articles

1. Stan Franklin, Art Graesser, Is it an Agent, or just a Program?: A


Taxonomy for Autonomous Agents, Proceedings of the Third International
Workshop on Agent Theories, Architectures, and Languages, Springer-
Verlag, 1996.
2. Lee D. Erman, Frederick Hayes-Roth, Victor R. Lesser, Raj Reddy,
The Hearsay-II Speech-Understanding System: Integrating Knowledge to
Resolve Uncertainty, ACM Comput. Surv. 12(2): 213-253 (1980).
3. Seyed H. Roosta, Artificial Intelligence and Parallel Processing,
Parallel Processing and Parallel Algorithms, pp 501-534, 2000.

Thèses

1. Marir Toufik, Une démarche d’assurance de qualité pour les systèmes


multi-agents, Thèse de doctorat en science, Université de Annaba, 2015.
2. Olivier Gutknecht, Proposition d'un modèle organisationnel générique
de systèmes multi-agents et examen de ses conséquences formelles,

Dr. Toufik MARIR 2016-2017 p. 99


Références

implémentatoires et méthologiques, Thèse de doctorat, Université de


Montpellier II, 2001.
3. John Tranier, Vers une vision intégrale des systèmes multi-agents :
Contribution à l'intégration des concepts d'agent, d'environnement,
d'organisation et d'institution, Thèse de doctorat, Université Montpellier
II, 2007.

Notes de cours

1. Brahim Chaib-draa, Agents et systèmes multiagents, Note de cours,


Département d'informatique, Faculté Des Sciences Et De Génie,
Université Laval, Québec, 1999.
2. Adina Florea, Daniel Kayser, Stefan Pentiuc, Agents intelligents,
Cours en ligne, Université Polytechnique de Bucharest, 2002.
http://turing.cs.pub.ro/auf2/

Normes

1. FIPA Contract Net Interaction Protocol Specification,


http://www.fipa.org/specs/fipa00029/SC00029H.html
2. FIPA ACL Message Structure Specification,
http://www.fipa.org/specs/fipa00061/SC00061G.html
3. FIPA Communicative Act Library Specification
http://www.fipa.org/specs/fipa00037/SC00037J.html

Dr. Toufik MARIR 2016-2017 p. 100

Vous aimerez peut-être aussi