104
2016/2017 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 BDépartement des Mathématiques et d’Informatique Membre de l’équipe DISE, Laboratoire ReLa(CS) 2 [email protected]

Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

2016/2017

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

[email protected]

Page 2: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

i

Table des matières

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

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

Chapitre 03 Modèles et Architectures d’Agents 51

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

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

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

Page 3: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

ii

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

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

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

Page 4: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

iii

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

Page 5: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Chapitre 01

Introduction à l’Intelligence

Artificielle Distribuée

Page 6: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Introduction à l’Intelligence Artificielle Distribuée

Dr. Toufik MARIR 2015-2016 p. 2

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

Page 7: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 3

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.

Page 8: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Introduction à l’Intelligence Artificielle Distribuée

Dr. Toufik MARIR 2015-2016 p. 4

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.

Page 9: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 5

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é.

Page 10: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Introduction à l’Intelligence Artificielle Distribuée

Dr. Toufik MARIR 2015-2016 p. 6

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

Page 11: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 7

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

Page 12: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Introduction à l’Intelligence Artificielle Distribuée

Dr. Toufik MARIR 2015-2016 p. 8

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

Page 13: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 9

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

Page 14: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Introduction à l’Intelligence Artificielle Distribuée

Dr. Toufik MARIR 2015-2016 p. 10

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.

Page 15: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 11

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

Philosophie

Psychologie

Informatique Linguistique

Robotique

Page 16: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Introduction à l’Intelligence Artificielle Distribuée

Dr. Toufik MARIR 2015-2016 p. 12

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

Page 17: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 13

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

Page 18: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Introduction à l’Intelligence Artificielle Distribuée

Dr. Toufik MARIR 2015-2016 p. 14

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

Page 19: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 15

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

Page 20: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Introduction à l’Intelligence Artificielle Distribuée

Dr. Toufik MARIR 2015-2016 p. 16

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

Page 21: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 17

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

Page 22: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Introduction à l’Intelligence Artificielle Distribuée

Dr. Toufik MARIR 2015-2016 p. 18

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 ?

Page 23: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 19

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.

Page 24: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Chapitre 02

Systèmes Multi-Agents – Principes

Généreux

Page 25: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 21

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

Page 26: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

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

Dr. Toufik MARIR 2016-2017 p. 22

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.

Page 27: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 23

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

Page 28: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

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

Dr. Toufik MARIR 2016-2017 p. 24

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.

Page 29: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 25

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

Page 30: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

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

Dr. Toufik MARIR 2016-2017 p. 26

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).

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

Mécanisme de contrôle

Source de connaissances

Tableau noir Source de connaissances

Source de connaissances

Source de connaissances

Page 31: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 27

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

modèle de l’IAD.

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

Acteur

Acteur

Acteur

Acteur

Acteur

Page 32: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

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

Dr. Toufik MARIR 2016-2017 p. 28

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.

Page 33: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 29

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).

Page 34: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

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

Dr. Toufik MARIR 2016-2017 p. 30

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

Page 35: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 31

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.

Page 36: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

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

Dr. Toufik MARIR 2016-2017 p. 32

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

caractéristiques.

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 :

Caractéristiques des

agents

Caractéristiques

essentielles des agents

Caractéristiques

essentielles des agents

intelligents

Caractéristiques des

agents spécifiques

Situation à l’environnement

Autonomie

Réactivité

Pro-activité

Sociabilité

Mobilité, Adaptabilité,

Rationalité, Intentionnalité,

Véracité,…etc.

Page 37: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 33

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

Page 38: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

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

Dr. Toufik MARIR 2016-2017 p. 34

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

Page 39: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 35

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.

Figure 2.4 : L’architecture en couches d’un environnement.

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

Environnement

Environnement

logique

Plateforme logicielle

Infrastructure

matérielle

Framework SMA

Objets modélisant le système

Système d'exploitation

Machine virtuelle

Middelware

Espace mémoire

Processeurs

Réseaux

.

Page 40: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

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

Dr. Toufik MARIR 2016-2017 p. 36

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

Page 41: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 37

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.

Page 42: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

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

Dr. Toufik MARIR 2016-2017 p. 38

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+.

Page 43: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 39

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.

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

1..*

*

1..*

*

1..*

Membre dans

Appartient à

Joue

Agent

Rôle Groupe

Page 44: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

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

Dr. Toufik MARIR 2016-2017 p. 40

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

Page 45: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 41

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

Page 46: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

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

Dr. Toufik MARIR 2016-2017 p. 42

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

Page 47: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 43

(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

Page 48: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

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

Dr. Toufik MARIR 2016-2017 p. 44

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.

Page 49: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 45

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

Page 50: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

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

Dr. Toufik MARIR 2016-2017 p. 46

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.

Page 51: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 47

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.

Page 52: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

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

Dr. Toufik MARIR 2016-2017 p. 48

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

Page 53: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 49

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.

Page 54: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Chapitre 03

Modèles et Architectures d’Agents

Page 55: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 51

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.

Page 56: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles et Architectures d’Agents

Dr. Toufik MARIR 2016-2017 p. 52

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.

Page 57: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 53

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

Page 58: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles et Architectures d’Agents

Dr. Toufik MARIR 2016-2017 p. 54

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, τ).

Page 59: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 55

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 : EAc). 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).

Page 60: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles et Architectures d’Agents

Dr. Toufik MARIR 2016-2017 p. 56

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

Agent

Environnement

voir action

Page 61: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 57

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.

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

Agent

Environnement

voir action

suivant état

Page 62: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles et Architectures d’Agents

Dr. Toufik MARIR 2016-2017 p. 58

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

Page 63: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 59

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

Page 64: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles et Architectures d’Agents

Dr. Toufik MARIR 2016-2017 p. 60

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.

Page 65: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 61

Figure 3.3 : L’architecture BDI.

Croyances

Intentions Désires

Révision des

croyances

Processus de

décision

Filtre

Plan Bibliothèque

de Plan

Exécution

Environnement

Environnement

Page 66: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles et Architectures d’Agents

Dr. Toufik MARIR 2016-2017 p. 62

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

Page 67: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 63

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.

Figure 3.5 : Architecture de subsomption.

Couche_0

Couche_1

Couche_2

Couche_3

Page 68: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles et Architectures d’Agents

Dr. Toufik MARIR 2016-2017 p. 64

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

Page 69: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 65

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

Page 70: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles et Architectures d’Agents

Dr. Toufik MARIR 2016-2017 p. 66

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.

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

Module de contrôle

Couche réactive

Couche de planification

Couche de modélisation

Page 71: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 67

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.

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

Couche de planification coopérative

AR PE

Couche de planification locale

AR PE

Couche de comportement réactif

AR PE

Base de

connaissances- Monde

Base de

connaissances-

Planification

Base de

connaissances- Sociale

Perception-Action

Page 72: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles et Architectures d’Agents

Dr. Toufik MARIR 2016-2017 p. 68

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

Page 73: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 69

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

Page 74: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles et Architectures d’Agents

Dr. Toufik MARIR 2016-2017 p. 70

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.

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

Environnement

Agen

t

Le niveau méta-comportement

Module_1 Module_2 Module_n

Page 75: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 71

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.

Page 76: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles et Architectures d’Agents

Dr. Toufik MARIR 2016-2017 p. 72

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.

Page 77: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 73

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.

Page 78: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles et Architectures d’Agents

Dr. Toufik MARIR 2016-2017 p. 74

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 ?

Page 79: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Chapitre 04

Modèles de Coordination d’Agents

Cognitifs

Page 80: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles de Coordination d’Agents Cognitifs

Dr. Toufik MARIR 2016-2017 p. 76

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.

Page 81: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 77

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

Page 82: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles de Coordination d’Agents Cognitifs

Dr. Toufik MARIR 2016-2017 p. 78

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

Page 83: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 79

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 :

Page 84: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles de Coordination d’Agents Cognitifs

Dr. Toufik MARIR 2016-2017 p. 80

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

Page 85: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 81

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.

Page 86: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles de Coordination d’Agents Cognitifs

Dr. Toufik MARIR 2016-2017 p. 82

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

Page 87: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 83

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.

Page 88: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles de Coordination d’Agents Cognitifs

Dr. Toufik MARIR 2016-2017 p. 84

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

Page 89: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 85

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

Page 90: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles de Coordination d’Agents Cognitifs

Dr. Toufik MARIR 2016-2017 p. 86

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,

Page 91: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 87

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

Page 92: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles de Coordination d’Agents Cognitifs

Dr. Toufik MARIR 2016-2017 p. 88

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.

Page 93: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 89

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 .

Page 94: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles de Coordination d’Agents Cognitifs

Dr. Toufik MARIR 2016-2017 p. 90

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

Page 95: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 91

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

Page 96: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles de Coordination d’Agents Cognitifs

Dr. Toufik MARIR 2016-2017 p. 92

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.

Page 97: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 93

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.

Page 98: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles de Coordination d’Agents Cognitifs

Dr. Toufik MARIR 2016-2017 p. 94

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

Page 99: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 95

é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

Page 100: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Modèles de Coordination d’Agents Cognitifs

Dr. Toufik MARIR 2016-2017 p. 96

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 ?

Page 101: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 97

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 ?

Page 102: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Références

Page 103: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Les Systèmes Multi-Agents

Dr. Toufik MARIR 2016-2017 p. 99

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,

Page 104: Les Systèmes Multi-Agents à l’Intelligence Artificielle Distribuée Dr. Toufik MARIR 2015 -2016 p. 2 Chapitre 01 : Introduction à l’Intelligence Artificielle Distribuée 1

Références

Dr. Toufik MARIR 2016-2017 p. 100

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