spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (sma) et,...

134
MATHIEU BERGERON Sp´ ecification, mod´ elisation et analyse du dialogue entre agents par l’interm´ ediaire des engagements sociaux. emoire pr´ esent´ e `alaFacult´ e des ´ etudes sup´ erieures de l’Universit´ e Laval dans le cadre du programme de maˆ ıtrise en informatique pour l’obtention du grade de Maˆ ıtre ` es sciences (M.Sc.) FACULT ´ E DES SCIENCES ET DE G ´ ENIE UNIVERSIT ´ E LAVAL QU ´ EBEC Juillet 2005 c Mathieu Bergeron, 2005

Upload: others

Post on 07-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

MATHIEU BERGERON

Specification, modelisation et analyse du dialogue

entre agents par l’intermediaire des engagements

sociaux.

Memoire presentea la Faculte des etudes superieures de l’Universite Lavaldans le cadre du programme de maıtrise en informatiquepour l’obtention du grade de Maıtre es sciences (M.Sc.)

FACULTE DES SCIENCES ET DE GENIEUNIVERSITE LAVAL

QUEBEC

Juillet 2005

c©Mathieu Bergeron, 2005

Page 2: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Resume

La communication entre agents est primordiale a l’interieur des systemes multi-

agents. Les agents d’un systeme multi-agents doivent communiquer pour se coordonner

et pour echanger de l’information. Dans ce memoire, nous avons travaille a l’elaboration

et a l’amelioration d’un langage de communication agent nomme DIAGAL (DIAlogue-

Game based Agent Language) dont la semantique se base sur les engagements sociaux.

En fait, notre approche se base sur les jeux de dialogue qui sont des structures qui

permettent la negociation d’engagements sociaux par le dialogue. Les agents peuvent

donc, a l’aide des jeux de dialogue, communiquer pour creer, annuler ou modifier des

engagements sociaux. De plus, nous proposons le concept de reseau d’engagements

pour modeliser les conversations entre agents. Les reseaux d’engagements permettent

de specifier les dialogues a l’interieur d’un systeme multi-agents en analysant les liens de

causalite qui existent entre les differents engagements pouvant exister dans le systeme.

Finalement, nous avons defini differentes metriques qui permettent d’analyser les dia-

logues entre agents.

Page 3: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Avant-propos

J’aimerais profiter de ces quelques lignes pour remercier les personnes qui ont

contribue a l’aboutissement de ce memoire. J’aimerais tout d’abord remercier mon

directeur de recherche, Dr. Brahim Chaib-draa, pour ces conseils et sa grande disponi-

bilite. J’ai beaucoup appris en realisant ce memoire et c’est en grande partie grace a

lui. Je tiens egalement a remercier M. Kone Mamadou Tadiou et Mme Sylvie Pesty qui

ont ete les examinateurs de ce memoire.

Je voudrais aussi remercier tous mes collegues et amis du laboratoire DAMAS. Vous

avez toujours ete present pour m’aider et avez contribue a ce travail. J’aimerais parti-

culierement remercier Marc-Andre et Philippe qui sont membres du groupe dialogue et

qui ont toujours accepte de repondre a mes nombreuses questions.

J’aimerais egalement remercier tous mes amis qui ont toujours ete la pour moi. Alex,

Ayotte, F !zz, FrankB, FrankG, JLou, Labrie, Mori, Nick, Pat, Poil, Simon, Ti-Guy, U

et Za, MERCI BEAUCOUP ! Je veux egalement remercier ma copine Sophie qui a ete

avec moi dans les bons comme dans les mauvais moments. Sophie, je t’aime beaucoup !

Bien sur, je voudrais dedier ce memoire a mes parents et a ma soeur sans qui tout cela

n’aurait jamais ete possible. Ils m’ont toujours supporte et appuye dans tout ce que j’ai

entrepris. Bruno, Ginette et Amelie, je vous adore et je suis extremement reconnaissant

pour tout ce que vous avez fait pour moi.

Pour terminer sur une note humoristique et comme il me reste de la place, j’aimerais

remercier des gens, des objets ou des lieux qui vraiment sans le savoir ont contribue a ce

memoire. Merci a Arianne Moffat, France, Italie, Les Cowboys fringants, Le Pub, Les

Boss, Les Bursites, Nintendo, RDS, Sauce Soya, St-Paulin, Texas Holdem, TurboBrebis,

Tryo.

Mathieu Bergeron

Page 4: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Table des matieres

1 Introduction 1

1.1 Problematique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4 Organisation du memoire . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Communication agent 5

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Definition du dialogue . . . . . . . . . . . . . . . . . . . . . . . 6

2.1.2 Theorie des actes du langage . . . . . . . . . . . . . . . . . . . . 6

2.2 Approches basees sur les etats mentaux . . . . . . . . . . . . . . . . . . 8

2.2.1 Allen, Cohen et Perrault . . . . . . . . . . . . . . . . . . . . . . 9

2.2.2 KQML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.3 FIPA-ACL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2.4 Limites des approches basees sur les etats mentaux . . . . . . . 16

2.3 Approches basees sur les engagements sociaux . . . . . . . . . . . . . . 17

2.3.1 Les travaux de Singh . . . . . . . . . . . . . . . . . . . . . . . . 18

2.3.2 Les travaux de Colombetti . . . . . . . . . . . . . . . . . . . . . 20

2.3.3 Les travaux de McBurney et Parsons . . . . . . . . . . . . . . . 21

2.3.4 Les travaux de Flores . . . . . . . . . . . . . . . . . . . . . . . . 22

2.3.5 Autres travaux . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.3.6 Avantages et limites de la semantique a base d’engagements . . 23

2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3 Modelisation du dialogue agent 26

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.2 Approches basees sur les etats mentaux . . . . . . . . . . . . . . . . . . 27

3.2.1 KQML et specification de conversations . . . . . . . . . . . . . . 27

3.2.2 Les protocoles d’interaction de FIPA-ACL . . . . . . . . . . . . 29

3.3 Approches basees sur les engagements sociaux . . . . . . . . . . . . . . 32

3.3.1 La machine a engagements de Singh . . . . . . . . . . . . . . . 32

3.3.2 Les protocoles d’interaction de Colombetti . . . . . . . . . . . . 36

Page 5: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

v

3.3.3 Le pfp de Flores . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4 Le langage DIAGAL 45

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.2 Engagements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.2.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.2.2 Engagements propositionnels et engagements en action . . . . . 47

4.2.3 Engagements conditionnels . . . . . . . . . . . . . . . . . . . . . 48

4.2.4 Modele d’engagements . . . . . . . . . . . . . . . . . . . . . . . 48

4.2.5 Agenda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.3 Jeux de dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.3.1 Structure des jeux de dialogue . . . . . . . . . . . . . . . . . . . 51

4.3.2 Tours de dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.3.3 Jeux de dialogue de base . . . . . . . . . . . . . . . . . . . . . . 53

4.3.4 Jeux de retrait . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.3.5 Jeux de modification . . . . . . . . . . . . . . . . . . . . . . . . 61

4.3.6 Etat des engagements et jeux de dialogue . . . . . . . . . . . . . 63

4.3.7 Jeux avec negociation . . . . . . . . . . . . . . . . . . . . . . . . 65

4.4 Mise en place et composition des jeux . . . . . . . . . . . . . . . . . . . 67

4.4.1 Jeu de contextualisation . . . . . . . . . . . . . . . . . . . . . . 67

4.4.2 Combinaison de jeux . . . . . . . . . . . . . . . . . . . . . . . . 69

4.4.3 Exemple de conversation . . . . . . . . . . . . . . . . . . . . . . 70

4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5 Les reseaux d’engagements 74

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.2 Le concept de reseau d’engagements . . . . . . . . . . . . . . . . . . . . 75

5.2.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.2.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.2.3 Representation graphique des reseaux d’engagements . . . . . . 77

5.3 Exemple du festival d’ete de Quebec . . . . . . . . . . . . . . . . . . . 78

5.3.1 Les agents du festival . . . . . . . . . . . . . . . . . . . . . . . . 78

5.3.2 Description de l’exemple du festival . . . . . . . . . . . . . . . . 80

5.3.3 Les engagements de l’exemple du festival . . . . . . . . . . . . . 80

5.3.4 Le reseau d’engagements de l’exemple du festival . . . . . . . . 83

5.4 Modele d’agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

5.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

6 Simulation et resultats 93

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Page 6: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

vi

6.2 Simulateur de conversation . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.2.1 Fonctionnalites du simulateur . . . . . . . . . . . . . . . . . . . 94

6.2.2 Les agents et le simulateur . . . . . . . . . . . . . . . . . . . . . 96

6.3 Les metriques d’evaluation du dialogue . . . . . . . . . . . . . . . . . . 97

6.3.1 Metriques pour l’ensemble du SMA . . . . . . . . . . . . . . . . 97

6.3.2 Metriques pour un dialogue entre deux agents . . . . . . . . . . 98

6.3.3 Metriques specifiques a un seul agent . . . . . . . . . . . . . . . 99

6.3.4 Le module de metriques du simulateur . . . . . . . . . . . . . . 99

6.4 Les agents du festival d’ete de Quebec . . . . . . . . . . . . . . . . . . 100

6.4.1 Fichiers de comportement . . . . . . . . . . . . . . . . . . . . . 102

6.4.2 Niveau de confiance et d’entente . . . . . . . . . . . . . . . . . . 103

6.4.3 Les reseaux d’engagements . . . . . . . . . . . . . . . . . . . . . 105

6.5 Simulation du festival d’ete de Quebec . . . . . . . . . . . . . . . . . . 105

6.5.1 Phases d’organisation du festival . . . . . . . . . . . . . . . . . 106

6.5.2 Resultats et analyse . . . . . . . . . . . . . . . . . . . . . . . . 108

6.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

7 Conclusion 116

7.1 Retour sur les objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

7.2 Travaux futurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

Page 7: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Liste des tableaux

2.1 Tableau des differentes classes d’actes du langage selon Searle. . . . . . 7

2.2 Tableau des operateurs de croyances d’Allen, Cohen et Perrault. . . . . 9

2.3 Definition de l’acte INFORM . . . . . . . . . . . . . . . . . . . . . . . 10

2.4 Definition de l’acte REQUEST . . . . . . . . . . . . . . . . . . . . . . . 10

2.5 Les parametres d’un message KQML. . . . . . . . . . . . . . . . . . . . 12

2.6 Les parametres d’un message FIPA-ACL. . . . . . . . . . . . . . . . . . 15

2.7 Semantique de l’acte inform. . . . . . . . . . . . . . . . . . . . . . . . 19

3.1 Tableau des operations du protocole Contract Net de Flores. . . . . . . 43

4.1 Tableau des jeux de dialogue qu’un agent x doit utiliser pour modifier

l’etat des differents types d’engagements. . . . . . . . . . . . . . . . . 64

4.2 Tableau des operations effectuees sur les agendas des agents. . . . . . . 72

5.1 Engagements pouvant etre crees lors de l’invitation d’un artiste. . . . . 81

5.2 Engagements pouvant etre crees lors de l’offre de services a l’artiste. . 82

5.3 Engagements pouvant etre crees lors de la reservation des services pour

l’artiste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

6.1 Metriques pour l’ensemble du SMA. . . . . . . . . . . . . . . . . . . . 98

6.2 Metriques pour un dialogue entre deux agents (x et y). . . . . . . . . . 99

6.3 Metriques pour un agent x. . . . . . . . . . . . . . . . . . . . . . . . . 100

6.4 Exemple de fichier de comportement d’un artiste. . . . . . . . . . . . . 102

Page 8: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Table des figures

3.1 Le protocole de requete de FIPA. . . . . . . . . . . . . . . . . . . . . . 31

3.2 Diagramme de sequence du protocole NetBill. . . . . . . . . . . . . . . 34

3.3 Le pfp de Flores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.4 Le protocole Contract Net de Flores. . . . . . . . . . . . . . . . . . . . 42

4.1 Diagramme d’etats d’un engagement. . . . . . . . . . . . . . . . . . . . 50

4.2 Les conditions et regles du jeu de requete. . . . . . . . . . . . . . . . . 54

4.3 Les conditions et regles du jeu d’offre. . . . . . . . . . . . . . . . . . . . 55

4.4 Les conditions et regles du jeu de question. . . . . . . . . . . . . . . . . 56

4.5 Les conditions et regles du jeu d’information. . . . . . . . . . . . . . . . 57

4.6 Les conditions et regles du jeu d’annulation d’un engagement en action. 58

4.7 Les conditions et regles du jeu de liberation d’un engagement en action. 60

4.8 Les conditions et regles du jeu d’annulation d’un engagement proposi-

tionnel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.9 Les conditions et regles du jeu de liberation d’un engagement proposi-

tionnel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.10 Les conditions et regles du jeu de modification d’un engagement en action. 62

4.11 Les conditions et regles du jeu de modification d’un engagement propo-

sitionnel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.12 Les conditions et regles du jeu de requete avec negociation. . . . . . . . 66

4.13 Regles du jeu de requete avec negociation. . . . . . . . . . . . . . . . . 67

4.14 Le jeu de contextualisation de Maudet (2001). . . . . . . . . . . . . . . 69

4.15 Exemple de conversation. . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.1 Lien de causalite entre deux engagements. . . . . . . . . . . . . . . . . 78

5.2 Le reseau d’engagements du festival d’ete de Quebec. . . . . . . . . . . 85

5.3 Les jeux de dialogue du reseau d’engagements. . . . . . . . . . . . . . . 86

5.4 Modele d’agent utilisant le langage DIAGAL. . . . . . . . . . . . . . . 89

6.1 Interface du simulateur DGS. . . . . . . . . . . . . . . . . . . . . . . . 96

6.2 Interface du module de metriques. . . . . . . . . . . . . . . . . . . . . . 101

6.3 Phases d’organisation du festival. . . . . . . . . . . . . . . . . . . . . . 106

Page 9: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

ix

6.4 Pourcentage moyen d’engagements remplis par les artistes pour chaque

tranche de 25 simulations. . . . . . . . . . . . . . . . . . . . . . . . . . 110

6.5 Nombre moyen d’engagements annules par les artistes pour chaque tran-

che de 25 simulations. . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

6.6 Nombre moyen de tours de dialogue qui ont lieu entre les artistes et le

planificateur pour chaque tranche de 25 simulations. . . . . . . . . . . . 112

6.7 Nombre moyen de jeux de dialogue qui sont joues entre les artistes et le

planificateur pour chaque tranche de 25 simulations. . . . . . . . . . . . 114

Page 10: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 1

Introduction

Au cours des dernieres annees, un interet grandissant s’est developpe pour les

systemes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’etude

important de l’informatique. Les SMA sont egalement de plus en plus visibles dans l’in-

dustrie et font leur apparition a l’interieur de nombreuses applications commerciales.

Un SMA est defini comme etant un ensemble d’agents autonomes evoluant dans un en-

vironnement et capables d’interagir ensemble en vue de cooperer ou de competitionner.

Les agents evoluant a l’interieur d’un SMA doivent donc se coordonner pour atteindre

leurs buts. Consequemment, ils doivent pouvoir communiquer entre eux pour obtenir de

l’information pertinente lorsque vient le temps de determiner leurs actions. Les agents

peuvent donc, par l’intermediaire de la communication, echanger de l’information et des

connaissances pour determiner leurs actions en fonction du comportement des autres

agents du systeme.

La communication entre agents est donc la pierre angulaire d’un SMA et il est

primordial de determiner un langage de communication agent (LCA) pour donner aux

agents la possibilite de partager resultats, donnees et signaux. La recherche sur les

langages de communication agent est donc d’une importance capitale.

1.1 Problematique

Au cours des dernieres annees, deux langages de communication agent se sont par-

ticulierement demarques : KQML (Finin et al., 1994b,a) et FIPA-ACL (FIPA, 2004).

KQML fut le premier a etre developpe et propose principalement une facon de struc-

Page 11: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 1. Introduction 2

turer des messages pour permettre aux agents de s’echanger de l’information. Cepen-

dant, le langage KQML fut vivement critique dans la mesure ou il ne possedait pas de

semantique precise. Suite a ces critiques, l’organisme international FIPA (Foundation

for Physical Intelligent Agents) a cree le langage FIPA-ACL pour palier aux faiblesses de

KQML. La structure des messages FIPA-ACL est similaire a celle des messages KQML,

mais les membres de l’organisme FIPA se sont assures de fournir une semantique bien

precise a leur langage. Par la suite, une semantique similaire fut egalement developpee

pour KQML. Nous presenterons plus en detail les langages KQML et FIPA-ACL au

chapitre 2.

La semantique qui a ete definie pour les langages KMQL et FIPA-ACL se base

sur les etats mentaux des agents. En fait, les messages echanges ont une semantique

qui s’exprime en fonction des croyances, des desirs et des intentions des agents. Ce-

pendant, il est impossible de verifier la semantique des messages echanges puisque les

etats mentaux des agents sont prives. Il est donc necessaire de supposer que les agents

qui communiquent sont sinceres. Toutefois, cette hypothese de sincerite est jugee trop

contraignante par la communaute SMA (Dignum et Greaves, 2000), car elle ne s’ap-

plique pas a tous les types de dialogue1. De plus, les langages KQML et FIPA-ACL ne

sont pas independants de l’architecture interne des agents, car leur semantique s’ex-

prime a partir des etats mentaux de ceux-ci. Ces differents problemes amenerent Singh

(1998) a proposer l’utilisation d’une semantique sociale pour definir un langage de com-

munication agent.

C’est dans ce contexte que nous nous somme attardes a developper un langage de

communication agent dont la semantique se base sur la notion d’engagement social.

Notre langage de communication agent se nomme DIAGAL et se base sur les jeux

de dialogue, eux-memes bases sur les engagements sociaux. Les jeux de dialogue sont

des structures qui permettent de reguler les mecanismes par lesquels les engagements

sont negocies par le dialogue (McBurney et al., 2002). En fait, les jeux de dialogue

representent differentes interactions dialogiques couramment employees. Toutefois, ce

n’est pas tout de definir un langage de communication agent, il est egalement necessaire

de specifier comment les agents peuvent utiliser ce langage pour atteindre un but en

participant a une conversation. C’est pour cette raison que nous desirons etudier la

dynamique des engagements sociaux pour developper une methode de modelisation du

dialogue agent.

1Par exemple, on ne peut pas supposer la sincerite des agents a l’interieur des dialogues de

negociation que nous retrouvons dans le commerce electronique.

Page 12: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 1. Introduction 3

1.2 Motivations

Les engagements sociaux nous permettent d’eliminer de nombreux problemes lies

aux langages KQML et FIPA-ACL. L’utilisation d’une semantique sociale, par l’in-

termediaire des engagements sociaux, permet d’eliminer l’hypothese de sincerite et nous

permet de verifier la semantique des messages echanges. En effet, les engagements so-

ciaux sont publics, donc verifiables. De plus, l’utilisation d’une semantique sociale nous

permet de faire un pas en avant dans le developpement d’un langage de communication

pouvant etre utilise par des agents heterogenes qui coexistent a l’interieur d’un systeme

ouvert. Comme les engagements sociaux sont independants de l’architecture interne des

agents, les agents qui communiquent doivent simplement partager le modele d’engage-

ments pour interpreter les messages echanges. Des lors, les principales motivations qui

nous ont incites a effectuer ce travail sont pour l’essentiel :

– les avantages qu’apportent l’utilisation des engagements sociaux pour definir la

semantique d’un langage de communication agent.

– la possibilite de modeliser la dynamique des SMA par l’intermediaire de la dyna-

mique des engagements sociaux.

– la necessite de definir un langage de communication pouvant etre utilise par des

agents heterogenes a l’interieur d’un SMA ouvert.

– la possibilite d’etudier l’utilisation des jeux de dialogue et des engagements sociaux

pour rendre la modelisation du dialogue agent plus flexible.

1.3 Objectifs

L’objectif de la presente maıtrise est de participer au developpement d’un langage

de communication agent dont la semantique se base sur les engagements sociaux et

d’etudier la dynamique de ces engagements pour specifier une methode de modelisation

du dialogue agent. Dans ce contexte, les objectifs de notre travail sont essentiellement :

– d’etudier les differentes approches possibles au niveau de la communication entre

agents en se concentrant sur les approches basees sur les engagements sociaux.

– de contribuer au developpement du langage de communication DIAGAL developpe

au DAMAS.

– de specifier une methode de modelisation du dialogue qui se base sur la dynamique

des engagements sociaux.

Page 13: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 1. Introduction 4

– de valider notre technique de modelisation du dialogue en utilisant un exemple

concret par l’intermediaire d’un simulateur de conversation.

– de determiner des metriques permettant d’analyser les dialogues et la qualite de

la modelisation.

1.4 Organisation du memoire

Ce memoire est organise comme suit. Tout d’abord, le chapitre qui suit nous permet

de presenter les differents modeles de dialogue entre agents qui ont ete developpes au

cours des dernieres annees et le chapitre 3 decrit, quant a lui, les differentes methodes

de modelisation du dialogue qui sont associees a ces modeles de dialogue. De son cote,

le chapitre 4 presente le langage de communication agent DIAGAL qui a ete developpe

au sein du groupe de recherche DAMAS. Suite a cela, le chapitre 5 propose la methode

des reseaux d’engagements pour modeliser les dialogues entre agents. Nous presentons

ensuite notre simulateur de conversation ainsi que nos resultats au chapitre 6 pour

finalement conclure ce memoire au chapitre 7.

Page 14: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2

Communication agent

2.1 Introduction

Comme nous l’avons vu au chapitre precedent, la communication est primordiale a

l’interieur d’un SMA. Toutefois, nous ne voulons pas que les agents s’echangent simple-

ment des messages pour communiquer de l’information, nous voulons qu’ils prennent

part a des dialogues coherents. Le but du present chapitre est de presenter les differents

modeles de dialogue agent developpes jusqu’ici. Ces modeles peuvent etre regroupes en

deux grandes familles :

– Les approches basees sur les etats mentaux : Ces approches supposent que le

dialogue emerge de l’enchaınement des differents messages que s’echangent les

agents. En fait, les agents doivent, lors de la reception d’un message, reconnaıtre

les intentions du locuteur d’un tel message. Les langages de communication crees

selon cette approche possedent donc une semantique mentaliste, car ils se basent

sur les etats mentaux des agents.

– Les approches basees sur les engagements sociaux : Ces approches sont centrees

sur la structuration du dialogue et leur semantique s’exprime en terme d’engage-

ments sociaux. Dans ces approches, les agents sont pousses a respecter certaines

contraintes (conventions sociales) lors du dialogue.

Toutefois, avant de presenter les differents modeles de dialogue entre agents, il est

important de donner notre definition du dialogue et d’introduire la theorie des actes

du langage qui est a la base de la plupart des langages de communication qui sont

presentes dans ce chapitre. Les actes du langage sont en fait les unites conversationnelles

du dialogue, c’est a partir de ceux-ci que le dialogue est construit.

Page 15: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 6

2.1.1 Definition du dialogue

Ce qui differencie le dialogue du simple echange de messages, c’est la recherche d’une

intercomprehension. Les agents doivent s’assurer qu’ils se comprennent pour construire

des interpretations communes lors de leurs dialogues. Cependant, la construction d’une

interpretation commune ne signifie pas que les interlocuteurs doivent etre d’accord. Ils

doivent simplement s’entendre sur le fait qu’ils ne sont pas en accord.

Le dialogue est donc une forme de communication. Pour dialoguer, les agents doivent

tout d’abord posseder un langage de communication. De plus, ce langage doit posseder

une semantique precise qui permet aux agents qui communiquent d’interpreter cor-

rectement les enonces produits. Si l’interpretation des enonces est correcte, on parle

alors de dialogue. Nous utiliserons egalement le terme conversation comme synonyme

de dialogue a l’interieur de ce memoire.

2.1.2 Theorie des actes du langage

La theorie des actes du langage considere les enonces que nous produisons lorsque

nous communiquons de la meme facon que toute autre action que nous pouvons realiser.

Cette theorie provient de la philosophie du langage et ce sont principalement les travaux

d’Austin (1962) et de Searle (1969) qui sont a la base de celle-ci. Vu sa nature formelle,

cette theorie, qui s’appliquait a la base au langage naturel, est grandement utilisee

dans la conception de langages de communication agent. En fait, lorsqu’on applique

la theorie des actes du langage a la communication agent, tous les enonces produits

lors d’une conversation sont vus comme des actions qui modifient les croyances et les

connaissances des agents qui participent a la conversation.

C’est Austin (1962) qui fut le premier a constater que certains enonces que nous

produisons ont, au meme titre que les actions physiques, des consequences directes sur

l’etat du monde. Par exemple, lorsqu’on fait une promesse, on ne fait pas qu’enoncer

un message, on s’engage a respecter le contenu de cette promesse. C’est de cette idee

que sont nes les actes du langage. Selon Austin, un acte du langage se divise en trois

sous-actes : (1) l’acte locutoire ; (2) l’acte illocutoire ; (3) l’acte perlocutoire.

L’acte locutoire correspond simplement a la production de l’enonce du locuteur qui

est percu par l’interlocuteur. Si l’enonce produit par le locuteur est vraiment celui

qui a ete percu par l’interlocuteur, on dira que l’acte locutoire est un succes. L’acte

illocutoire represente quant a lui l’acte qui est realise lors de la production de l’enonce.

Page 16: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 7

Plus precisement, l’interlocuteur qui recoit un enonce doit s’interroger sur les intentions

qu’avait le locuteur lors de la production de cet enonce. Si l’interlocuteur interprete

bien les intentions du locuteur on dira que l’acte illocutoire a reussi. Finalement, l’acte

perlocutoire concerne les effets qu’a l’enonce sur l’interlocuteur.

Analysons un exemple d’enonce pour bien comprendre les trois aspects d’un acte

du langage. Considerons l’enonce suivant emis par le locuteur A et entendu par l’inter-

locuteur B :

A : Il fait chaud.

L’acte locutoire de cet enonce est realise lors de la prononciation de celui-ci par le

locuteur A. De son cote, l’acte illocutoire peut aussi bien etre une information qu’une

directive. En effet, en enoncant ce message, A veut peut-etre simplement souligner qu’il

trouve qu’il fait chaud, mais il est egalement possible qu’il desire que B ouvre la fenetre.

Pour ce qui est de l’acte perlocutoire, il depend de l’interpretation que fait B du message

envoye par A. B risque d’ouvrir la fenetre s’il croit que A en fait la demande ou donner

son opinion a propos de la chaleur s’il croit que A voulait simplement l’informer.

Les travaux d’Austin sur les actes du langage ont ete enrichis par Searle (1969).

Searle a propose a cet effet une classification des differents types d’actes du langage.

En fait, il proposa plus precisement de classer les actes du langage en cinq classes

distinctes. Le tableau 2.1 presente ces cinq classes. On retrouve a l’interieur du tableau

une description de chaque classe ainsi que quelques exemples d’actes illocutoires pour

chacune de ces classes.

Categorie Description Exemples

AssertifLe locuteur exprime un contenu affirmation, assertion,

propositionnel, il decrit l’etat du monde. temoignage

DirectifLe locuteur donne une directive a ordre, demande,

l’interlocuteur. requete, recommandation

CommissifLe locuteur s’engage envers l’interlocuteur promesse, acceptation,

sur la realisation d’une action. serment

Expressif Le locuteur exprime une emotion. insulte, remerciement

DeclaratifLe locuteur accompli une action benediction, ratification,

lors de la production de l’enonce. nomination

Tab. 2.1 – Tableau des differentes classes d’actes du langage selon Searle.

Page 17: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 8

Les actes du langage sont donc tres attirants, car ils offrent aux agents la possibilite

de s’echanger des enonces et de les interpreter. En fait, la theorie des actes du lan-

gage propose une facon de structurer les differents enonces qui sont echanges lors d’un

processus de communication tout en precisant que ces enonces ne sont pas simplement

des echanges d’informations, mais bien des actions agissant sur le monde. Cependant,

l’acte du langage prend tout son sens a l’interieur d’une conversation, d’un dialogue.

En effet, les differents actes du langage sont interpretes differemment selon le contexte

dans lequel ils sont produits. Notamment, l’ordre dans lequel sont enonces les differents

actes du langage lors d’une conversation peut changer completement l’interpretation

qu’on a de ceux-ci. Par exemple, nous comprenons mieux pourquoi quelqu’un annule

un rendez-vous s’il vient de nous mentionner qu’il est malade.

Les interactions entre agents doivent donc etre baties a partir d’une sequence cohe-

rente d’enonces et c’est ce phenomene qui explique que de nombreux efforts de recherche

sont mis dans la conception d’un modele de dialogue agent. Maintenant que nous avons

vu la theorie des actes du langage, nous pouvons presenter les approches basees sur les

etats mentaux qui etudient l’utilisation des actes du langage pour specifier un langage

de communication agent.

2.2 Approches basees sur les etats mentaux

Les approches basees sur les etats mentaux considerent que c’est les intentions des

agents qui dirigent le dialogue. Un agent communique donc avec une intention, cette

intention est reconnue par l’interlocuteur du message et les etats mentaux des agents

participant a la communication sont modifies conformement a cette intention. Un acte

du langage modifie donc l’etat du monde en modifiant les etats mentaux de ceux qui

le produisent et le recoivent. Selon ces approches, le dialogue est cense emerger dans

l’enchaınement des actes du langage. A l’interieur de cette section, nous allons presenter

trois approches mentalistes importantes : l’approche par planification de Allen, Cohen et

Perrault, le langage KQML et le langage FIPA-ACL. Debutons en presentant l’approche

de Allen, Cohen et Perrault (Cohen et Perrault, 1979; Perrault et Allen, 1980) qui est

a l’origine de l’utilisation des actes du langage pour la communication agent.

Page 18: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 9

2.2.1 Allen, Cohen et Perrault

Puisque les actes du langage sont consideres comme toute autre action, la planifica-

tion s’est naturellement imposee comme technique pour diriger le dialogue. Dans ce sens,

Allen, Cohen et Perrault (Cohen et Perrault, 1979; Perrault et Allen, 1980) ont ete les

premiers a developper un systeme de planification pour le dialogue. Dans leur modele,

les actes du langage sont definis en utilisant la notation STRIPS (Fikes et Nilsson,

1971). Chaque acte du langage est donc defini par des preconditions, des effets et un

corps, eux-memes definis a partir des croyances, des connaissances et des desirs des

agents.

Croyances, connaissances et desirs

Allen, Cohen et Perrault ont utilise une logique multimodale augmentee d’operateurs

permettant de representer les croyances, les connaissances et les desirs des agents. Nous

presentons dans le tableau 2.2 les trois operateurs de base qui ont servi a definir les

etats mentaux des agents et les actes du langage. On retrouve a l’interieur du tableau

la notation utilisee et la signification de chacun des operateurs.

Operateur Notation Signification

Croyance BELIEV E(A, P ) L’agent A croit que la proposition P est vraie

Connaissance KNOW (A, P ) L’agent A sait que la proposition P est vraie

Desir WANT (A, P ) L’agent A desire realiser P

Tab. 2.2 – Tableau des operateurs de croyances d’Allen, Cohen et Perrault.

Maintenant que nous avons presente les operateurs, regardons comment sont definis

les actes du langage a partir de ces memes operateurs.

Les actes du langage

Pour bien comprendre comment Allen, Cohen et Perrault definissent les actes du

langage, nous allons observer comment ils ont defini les actes INFORM et REQUEST

a l’aide de la notation STRIPS et des operateurs que nous venons de presenter. La

definition de l’acte INFORM(A, B, P ) qui permet a un agent A d’indiquer a un agent

B qu’une proposition P est vraie est presentee dans le tableau 2.3.

Page 19: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 10

INFORM(A, B, P )

Preconditions KNOW (A, P ) ∧WANT (A, INFORM(A, B, P ))

Effet KNOW (B, P )

Corps BELIEV E(B, WANT (A, KNOW (B, P )))

Tab. 2.3 – Definition de l’acte INFORM .

Les preconditions de l’acte INFORM indiquent que pour informer l’agent B que

la proposition P est vraie, l’agent A doit tout d’abord savoir que P est vraie et il doit

avoir le desir d’informer B que P est vraie. L’effet de l’acte INFORM est que l’agent B

croit que P est vraie. Pour ce qui est du corps, il indique que B a reconnu les intentions

de A lors de la production de l’acte du langage. En fait, B croit que A avait l’intention

qu’il connaisse (B) la valeur de verite de P . Dans le meme ordre d’idees, on retrouve

dans le tableau 2.4 la definition de l’acte REQUEST . Le tableau indique que pour

effectuer une requete pour une action ACT a un certain agent B, un agent A doit tout

d’abord desirer que l’agent B realise l’action ACT . L’effet de l’action indique que B

desire egalement realiser l’action ACT apres l’execution de la requete et le corps precise

que l’agent B a reconnu les intentions de l’agent A.

REQUEST (A, B, ACT )

Precondition WANT (A, ACT (B))

Effet WANT (B, ACT (B))

Corps B(B, WANT (A, ACT (B)))

Tab. 2.4 – Definition de l’acte REQUEST .

Planification des actes du langage

Un agent qui desire atteindre un but particulier doit planifier pour determiner une

sequence d’actions coherente (un plan) lui permettant d’atteindre ce but. Les agents

qui desirent atteindre un but qui implique des interactions peuvent donc, a partir des

definitions d’actes du langage, planifier correctement leurs actions en incluant les actions

dialogiques (actes du langage). L’agent cherchera donc a inclure dans son plan les actes

du langage qui ont les effets desires, les effets qui lui permettent de progresser vers son

but.

Nous avons presente l’approche de Allen, Cohen et Perrault car elle est d’une grande

importance historique, mais elle souffre de nombreux problemes. Le premier probleme

vient du fait que l’on s’interesse a un seul enonce a la fois. Les agents qui recoivent un

Page 20: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 11

message tentent donc de reconnaıtre l’intention du locuteur a partir d’un seul enonce

alors qu’il est possible que cette intention se cache a l’interieur d’une sequence de

messages. Par ailleurs, il est difficile, voire meme impossible, de planifier a l’avance tout

ce que nous desirons mentionner au cours d’une conversation. Par exemple, il se peut

que nous ayons besoin de clarifier certains details pour bien nous faire comprendre lors

d’une conversation, mais il est impossible de planifier cette clarification. Interessons-

nous maintenant au langage de communication KQML qui est considere comme etant

le premier veritable langage de communication agent.

2.2.2 KQML

Le langage de communication agent KQML (Finin et al., 1994b,a) est ne en 1993 et a

ete, jusqu’a ces dernieres annees, le langage le plus utilise a l’interieur des SMA. KQML

propose principalement une facon de structurer des messages pour permettre aux agents

de s’echanger de l’information. Un message KQML est divise en trois couches :

1. La couche communication : Cette couche sert simplement a specifier l’emetteur

et le recepteur du message.

2. La couche message : Cette couche permet de preciser le langage et l’ontologie

utilises pour definir le contenu du message. C’est egalement dans cette couche

que l’on retrouve le type de l’acte du langage qui est attache au contenu. Le

langage KQML permet l’utilisation de plusieurs actes du langage qui sont nommes

performatifs.

3. La couche contenu : Cette couche contient simplement le contenu du message qui

est exprime a l’aide du langage precise dans la couche message.

Le tableau 2.5 presente l’ensemble des parametres que l’on peut retrouver a l’interieur

d’un message KQML. Le tableau donne egalement une description de chacun de ces

parametres ainsi que le nom de la couche qui contient les parametres.

Un message KQML prend donc la forme suivante :

(Performatif KQML

:sender L’emetteur du message

:receiver Le recepteur du message

:language Le langage du contenu

:ontology L’ontologie du contenu

:content Le contenu

)

Page 21: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 12

Parametre Description Couche

:sender L’expediteur du message Communication

:receiver Le recepteur du message Communication

:from L’origine du performatif Communication

:to La destination du performatif Communication

:reply-with L’etiquette a utiliser pour une reponse Communication

:in-reply-to L’etiquette du message qui est a Communication

la source de la reponse

:language Le langage utilise pour representer le contenu Message

:ontology L’ontologie utilisee pour representer le contenu Message

:content Le contenu du message Contenu

Tab. 2.5 – Les parametres d’un message KQML.

Par exemple, le message suivant est envoye par l’agent A a l’agent B pour l’informer

de son poids :

(tell

:sender A

:receiver B

:language Prolog

:ontology Ontologie(1)

:content weight(A,50)

)

Le performatif du message est l’acte du langage tell car l’agent A desire infor-

mer l’agent B. L’expediteur (sender) du message est donc l’agent A et l’agent B est

le recepteur (receiver). Le langage (language) utilise dans cet exemple est le lan-

gage Prolog. L’ontologie (ontology) se nomme Ontologie(1) et le contenu (content)

contient l’enonce Prolog weight(A,50) qui indique le poids de l’agent A.

Le langage KQML definit plusieurs performatifs qui sont divises en trois categories

de base :

– Les performatifs du discours : Ces performatifs permettent l’echange d’informa-

tions et de connaissances (tell, untell, ask-if, ask-one, ask-all, ...)

– Les performatifs d’interconnexion : Ces performatifs facilitent l’obtention d’in-

formations et de connaissances (broker-one, recommend-one, recruit-one,

broadcast, ...)

Page 22: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 13

– Les performatifs d’exception : Ces performatifs permettent de modifier le flux

des informations et des connaissances (sorry, standby, error, ready, next,

...)

Avantages et desavantages de KQML

Tout d’abord, nous devons mentionner que KQML est le premier veritable lan-

gage de communication agent, ce qui fait de lui un langage fort utilise. De plus,

KQML est considere comme etant un langage independant, car il peut etre utilise avec

n’importe quel protocole de transport, il permet l’utilisation de plusieurs langages de

representation du contenu et l’utilisation de plusieurs ontologies. Il est egalement exten-

sible, car nous pouvons facilement lui ajouter de nouveaux performatifs et de nouvelles

ontologies.

Toutefois, KQML presente quelques lacunes que Cohen et Levesque (1995) ont iden-

tifiees. Tout d’abord, certains performatifs du langage sont ambigus puisque KQML

ne fournit pas une semantique claire des performatifs. De plus, Cohen et Levesque

considerent que le choix des performatifs qui forment le langage laisse a desirer dans la

mesure ou certains performatifs qui ne font pas partie du langage devraient s’y retrou-

ver. Par exemple, le langage KQML ne permet pas d’effectuer des actions promissives

et un langage de communication agent qui ne considere pas cette categorie d’action ne

peut pas etre considere comme etant un langage robuste selon Cohen et Levesque.

Suite a ces differentes critiques, Labrou (1996) a developpe une semantique pour le

langage KQML, ce qui a donne naissance a une deuxieme version du langage KQML

(Labrou et Finin, 1997).

Une semantique pour KQML

Tout comme Allen, Cohen et Perrault, Labrou a defini des operateurs permettant

de representer les etats mentaux des agents pour definir la semantique des performatifs.

Ces operateurs sont les suivants :

1. L’operateur de croyance (BEL(A, P )) : Cet operateur indique que la proposition

P est vraie pour l’agent A.

2. L’operateur de connaissance (KNOW (A, S)) : Cet operateur indique que l’agent

A connaıt l’etat S.

Page 23: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 14

3. L’operateur de desir (WANT (A, S)) : Cet operateur indique que l’agent A sou-

haite l’etat S.

4. L’operateur d’intention (INT (A, S)) : Cet operateur indique que l’agent A a

l’intention de rendre l’etat S vrai.

Labrou a egalement defini deux operateurs permettant de representer des instances

d’actions. Ces operateurs sont les suivants :

1. L’operateur de traitement (PROC(A, M)) : Cet operateur indique que l’agent A

traite l’information contenue dans le message KQML M .

2. L’operateur d’envoie de messages (SEND(A, B, M)) : Cet operateur indique que

l’agent A envoie le message KQML M a l’agent B.

Maintenant que les operateurs qui permettent de definir la semantique des performatifs

ont ete presentes, nous pouvons regarder comment sont definis les differents performa-

tifs. Tout comme Allen, Cohen et Perrault (Cohen et Perrault, 1979; Perrault et Allen,

1980) qui ont developpe une semantique des actes du langage en se basant sur la no-

tation STRIPS, Labrou a developpe la semantique des performatifs de KQML en uti-

lisant une notation similaire a celle de STRIPS. Les performatifs sont definis a partir

de preconditions, de postconditions et de conditions de terminaison. Les preconditions

precisent dans quel etat doivent etre les agents pour pouvoir utiliser un performatif.

Les postconditions decrivent l’etat dans lequel sont les deux interlocuteurs a la suite de

la production d’un performatif. De leur cote, les conditions de terminaison indiquent

l’etat final suite a la production d’un performatif.

En utilisant cette notation, la semantique du performatif ask-if(A,B,X ) qui per-

met a un agent A de connaıtre l’opinion de B sur le statut du contenu X est definie

comme suit :

1. Pre(A) : Want(A, Know(A, S)) ∧Know(A, Int(B, Proc(B, M))) ou M corres-

pond au message ask-if(A,B,X ) et S est soit Bel(B, X) ou ¬(Bel(B, X)).

2. Pre(B) : Int(B, Proc(B, M))

3. Post(A) : Int(A, Know(A, S))

4. Post(B) : Know(B, Want(A, Know(A, S)))

5. Terminaison : Know(A, S ′) ou S ′ est soit Bel(B, X) ou ¬(Bel(B, X))

Malgre l’elaboration d’une semantique pour les performatifs du langage KQML, les

critiques concernant le mauvais choix des performatifs demeurent toujours en vigueur

et, meme si KQML est tres populaire, plusieurs chercheurs croient qu’il est necessaire

d’etablir un standard dans le domaine des communications entre agents. C’est dans

cette optique que le langage de communication agent FIPA-ACL a ete cree.

Page 24: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 15

2.2.3 FIPA-ACL

C’est avec le but de creer un langage de communication agent standard que l’orga-

nisme international FIPA (Foundation for Physical Intelligent Agents) a cree le langage

FIPA-ACL (FIPA, 2004). FIPA-ACL a egalement ete concu pour palier aux faiblesses

des differentes versions de KQML. Tout comme KQML, FIPA-ACL se base sur la theorie

des actes du langage et la structure de ses messages est similaire a celle des messages

KQML. Les differents parametres pouvant etre utilises a l’interieur d’un message FIPA-

ACL sont presentes dans le tableau 2.6

Parametre Description

:sender L’expediteur du message

:receiver Le recepteur du message

:conversation-id L’identifiant de la conversation

:reply-with L’etiquette a utiliser pour une reponse

:in-reply-to L’etiquette du message qui est a la source de la reponse

:reply-by Temps alloue pour fournir une reponse

:language Le langage utilise pour representer le contenu du message

:encoding L’encodage utilise pour coder le contenu du message

:ontology L’ontologie utilisee pour representer le contenu du message

:protocol Le protocole d’interaction utilise pour l’envoie du message

:content Le contenu du message

Tab. 2.6 – Les parametres d’un message FIPA-ACL.

De plus, FIPA-ACL propose, tout comme KQML, une liste de performatifs dispo-

nibles. Tout comme Labrou l’a fait pour KQML, les chercheurs de la FIPA ont defini

la semantique des performatifs de FIPA-ACL en se basant sur les etats mentaux des

agents. Cependant, comme une des critiques les plus frequentes sur KQML concerne

la semantique du langage, il n’est pas surprenant de constater que les createurs du

langage FIPA-ACL aient porte un interet particulier a la definition des performatifs.

C’est pourquoi ils se sont servi du langage SL (FIPA, 2005) pour definir formellement

la semantique des differents performatifs du langage. A titre d’exemple, le performatif

request se definit comme suit :

< i, request(j, α) >

Preconditions de faisabilite : BiAgent(j, α) ∧ ¬BiIjDone(α)

Effet rationnel : Done(α)

Page 25: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 16

L’expression SL Agent(j, α) indique que l’agent j peut realiser l’action α et Done(α)

signifie que l’action α est realisee. Les preconditions de faisabilite du performatif request

stipulent que l’agent i croit que l’agent j peut effectuer l’action α et que l’agent i croit

que l’agent j n’a pas deja l’intention de realiser α. L’effet rationnel indique simplement

que l’action α est realisee.

Par ailleurs, le choix des performatifs constitue la difference majeure entre KQML

et FIPA-ACL. Vu les nombreuses critiques relatives au choix des performatifs du lan-

gage KQML, les createurs du langage FIPA-ACL ont decide de fournir une collection

differente de performatifs . Dans les faits, les performatifs de FIPA-ACL sont divises en

cinq grandes categories :

– Les performatifs de passage d’information (confirm, inform, inform-if, . . . )

– Les performatifs de demande d’information (query-if, suscribe, . . . )

– Les performatifs de negociation (propose, accept-proposal, . . . )

– Les performatifs de realisation d’actions (agree, cancel, . . . )

– Les performatifs de gestion d’erreurs (failure, not-understood, . . . )

L’organisme FIPA a egalement developpe un ensemble de protocoles d’interactions qui

precisent les sequences de messages valides a l’interieur d’une conversation specifique.

Ces protocoles seront presentes au chapitre 3. Terminons maintenant la section des

approches basees sur les etats mentaux en presentant les limites de ces approches.

2.2.4 Limites des approches basees sur les etats mentaux

Meme si les approches basees sur les etats mentaux sont completes puisqu’elles

couvrent les trois composantes majeures de la communication (syntaxe, semantique et

pragmatique), de nombreux problemes sont relies a celles-ci. Tout d’abord, la version

theorique de ces approches est trop complexe pour pouvoir etre implantee reellement.

En effet, les modeles mentaux des agents utilisant ces approches sont exprimes avec

l’aide de logiques multimodales dont l’implementation est encore un sujet de recherche.

Par ailleurs, les agents doivent inferer les etats mentaux des autres agents avec qui

ils communiquent et determiner les reponses possibles suite a cette inference, ce qui

est extremement complexe vu la grande richesse de la semantique des actes du lan-

gage (Maudet et Chaib-draa, 2002).

Un autre probleme se pose au niveau de la semantique des approches mentalistes.

Une telle semantique est exprimee en terme d’etats mentaux et ces etats mentaux sont

prives aux agents, il est donc impossible de verifier la semantique des messages. De

Page 26: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 17

plus, puisque les etats mentaux des agents sont prives, il est necessaire de supposer

que les agents qui communiquent sont sinceres. Toutefois, cette hypothese de sincerite

est jugee trop contraignante par la communaute SMA (Dignum et Greaves, 2000), car

elle ne peut pas s’appliquer a tous les types de conversations. Par exemple, on ne peut

pas supposer la sincerite des agents a l’interieur des dialogues de negociation que nous

retrouvons dans le commerce electronique, car les agents qui participent a ces dialogues

sont en competition. Dans un meme ordre d’idees, les approches basees sur les etats

mentaux obligent les agents a etre cooperatifs. En effet, ces approches supposent que les

agents reconnaissent les intentions, donc les buts des agents avec qui ils communiquent

et qu’ils adoptent ces buts pour faire progresser le dialogue. Il est donc impossible

d’analyser les dialogues qui ont lieu entre agents non cooperatifs a l’aide des approches

basees sur les etats mentaux.

Singh (1998) fut l’un des premiers a soulever ces problemes et proposa d’utiliser

une semantique sociale pour definir un langage de communication agent. Singh defend

son point de vue en affirmant que la communication est un phenomene social puis-

qu’on ne peut pas vraiment bien comprendre une conversation sans tenir compte de son

contexte. Dans la prochaine section, nous allons donc presenter differentes approches

qui utilisent une semantique basee sur les engagements sociaux pour definir un langage

de communication agent.

2.3 Approches basees sur les engagements sociaux

Comme nous venons de le mentionner, c’est Singh (1998) qui est a la base des lan-

gages de communication agent dont la semantique se base sur les engagements sociaux.

Selon lui, les approches mentalistes supposent que les agents peuvent “lire dans les

pensees” des autres agents et, puisque cette supposition n’a jamais tenu pour les hu-

mains, elle ne tiendra jamais pour les agents. Singh croit plutot que la semantique d’un

langage de communication agent doit se baser sur des notions sociales, car celles-ci sont

publiques tandis que les etats mentaux sont prives. Cette section vise donc a presenter

les travaux les plus importants qui ont ete realises pour creer un langage de communi-

cation agent defini formellement a partir d’une semantique sociale. C’est en presentant

l’approche de Singh (2000) que nous debutons la section.

Page 27: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 18

2.3.1 Les travaux de Singh

Pour bien presenter les travaux de Singh, nous commencons tout d’abord par preciser

comment il definit la notion d’engagement social (Singh, 1999), nous precisons ensuite

comment il a defini la semantique des actes du langage a partir de ces engagements

pour finalement presenter les actes du langage de base et leur semantique.

Les engagements sociaux

Tout d’abord, un engagement social concerne deux agents : le crediteur et le debiteur.

Le debiteur represente l’agent qui s’engage sur un certain contenu (proposition ou ac-

tion) et le crediteur est l’agent envers qui le debiteur s’engage. Precisement, dans l’ap-

proche de Singh, un engagement est represente par le predicat C(x, y, G, p). Ce predicat

signifie que l’agent x (debiteur) s’engage envers l’agent y (crediteur) dans un certain

contexte G a respecter le contenu p de l’engagement.

Par ailleurs, Singh propose un ensemble d’operations pouvant etre effectuees sur

les engagements dans le but de donner une certaine autonomie aux agents face a ces

engagements. Ces operations qui permettent aux agents de manipuler les engagements

sont les suivantes :

– Creation : Cette operation permet d’instancier un engagement.

– Dechargement : Cette operation est effectuee lorsque l’engagement est satisfait.

L’engagement est satisfait lorsque son contenu est respecte.

– Annulation : Cette operation permet a l’agent debiteur d’un engagement de l’an-

nuler.

– Liberation : Cette operation permet a l’agent crediteur d’un engagement de liberer

le debiteur. Suite a une liberation, le debiteur n’a plus a respecter l’engagement.

– Assignation : Cette operation permet de modifier le crediteur d’un engagement.

C’est le crediteur courant de l’engagement qui a le pouvoir d’utiliser cette opera-

tion.

– Delegation : Cette operation permet de modifier le debiteur d’un engagement.

C’est le nouveau debiteur de l’engagement qui a le pouvoir d’utiliser cette opera-

tion.

Maintenant que la notion d’engagement social a ete presentee il convient de voir de plus

pres la semantique sociale telle que proposee par Singh (2000).

Page 28: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 19

Semantique sociale

La semantique definie par Singh se base sur les travaux du philosophe Habermas

(1984) portant sur les actions dialogiques. En s’inspirant des travaux de Habermas,

Singh a defini une semantique a trois niveaux pour chaque acte du langage. Ces trois ni-

veaux correspondent a trois assertions implicites qui sont produites lors de l’enonciation

d’un acte du langage. Les assertions sont les suivantes :

– Assertion objective : La communication est vraie et le locuteur assume les diffe-

rentes consequences de la production d’un l’acte du langage. Par exemple, si un

locuteur informe un interlocuteur que p, alors il s’engage envers l’interlocuteur

sur cette croyance.

– Assertion subjective : La communication est sincere. Le locuteur croit que le

contenu de ce qu’il communique est vrai.

– Assertion pratique : La communication est justifiee, c’est-a-dire que le locuteur a

de bonnes raisons de produire l’acte du langage.

Singh definit formellement la semantique des actes du langage en utilisant une logique

temporelle avec temps ramifie (CTL). Le tableau 2.7 presente les trois niveaux de

semantique de l’acte du langage inform.

inform(x, y, p)

Assertions objective C(x, y, p)

Assertions subjective C(x, y, xBp)

Assertions pratique C(x, G, inform(x, y, p) ; p)

Tab. 2.7 – Semantique de l’acte inform.

Observons maintenant chacune des composantes de la semantique de l’acte inform.

Pour ce qui est de l’assertion objective, elle specifie qu’un agent x qui desire informer

un agent y doit s’engager a ce que le contenu de l’information qu’il fournit soit vrai.

De son cote, l’assertion subjective indique que l’agent x est engage sur le fait qu’il croit

le contenu de son affirmation (xBp precise que x croit que p). Finalement, l’assertion

pratique est la plus complexe des trois. Dans le cas de l’acte inform, l’assertion pratique

precise que l’agent x s’engage a avoir de bonnes raisons de connaıtre le contenu de

l’information qu’il transmet.

Page 29: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 20

2.3.2 Les travaux de Colombetti

Dans la lignee des travaux de Singh, Colombetti (2000) a propose le langage de

communication agent ALBATROSS (Agent Language Based on the Treatment of Social

Semantics). Pour cela, il a propose une semantique tres similaire a celle developpee

par Singh et apporte une idee nouvelle en considerant deux types d’engagements : les

engagements complets et les pre-engagements.

Dans un SMA, les agents sont autonomes et ont donc la possibilite de s’engager

selon leurs desirs, mais ils ne peuvent pas engager d’autres agents sans obtenir leur

consentement. Cependant, un agent peut proposer a un autre agent de creer un certain

engagement le concernant et du meme coup creer un pre-engagement. L’agent qui se fait

proposer la creation de l’engagement peut alors accepter ou rejeter le pre-engagement

et si la creation d’engagement est acceptee, le pre-engagement se transforme en engage-

ment complet. Le pre-engagement offre donc une facon de traiter les actes du langage

directifs.

Colombetti utilise une logique modale pour definir les actes du langage et le lan-

gage ALBATROSS. Pour cela, il s’est inspire des travaux de Searle (1969) et a clas-

sifie les actes du langage selon quatre categories : directifs, assertifs, promissifs et

declaratifs. Il a par la suite defini, pour chacune de ces categories, des actes de base

qui ont une semantique precise definie en terme d’engagements sociaux. En fait, les

actes du langage sont definis en terme d’operations effectuees sur les engagements et

Fornara et Colombetti (2002) ont defini six operateurs permettant de manipuler ces

engagements. Les operateurs permettent d’effectuer les manipulations suivantes :

– Creation d’un engagement

– Creation d’un pre-engagement

– Acceptation d’un pre-engagement

– Rejet d’un pre-engagement

– Annulation d’un engagement

– Annulation d’un pre-engagement

Par exemple, l’acte du langage inform est defini comme suit en utilisant l’operateur

de creation d’engagements :

inform(a, b, P ) =def Ci(e).mc(a, b, P, T )

A l’interieur de cette definition, Ci(e) represente un engagement vide et mc(a, b, P, T )

est l’operateur de creation d’engagements. L’acte inform permet donc d’appliquer

l’operateur de creation d’engagements a un engagement vide. L’operateur de creation

Page 30: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 21

d’engagements est applique a un engagement vide, car le but de l’acte inform est de

creer un nouvel engagement et non de modifier un engagement deja en place. L’acte

inform permet donc d’instancier un engagement vide. En realite, l’acte inform permet

a l’agent a de s’engager envers l’agent b sur la proposition P .

Colombetti utilise les engagements sociaux, car il croit que la rationalite des agents

est importante pour la conception d’agents, mais il croit egalement que cette rationalite

ne devrait pas faire partie de la semantique d’un langage de communication agent.

Colombetti croit egalement qu’il est important de faire le lien entre la semantique des

engagements et la rationalite des agents et il affirme que ce lien est cree a l’aide des

concepts de violation d’engagements et de sanction. En fait, les agents qui s’engagent

doivent agir rationnellement quand vient le temps de determiner s’il est bon pour eux

de respecter ou non un engagement. Si les sanctions qui s’appliquent lors de la violation

de l’engagement sont trop elevees par rapport aux avantages que l’agent pourrait avoir

s’il ne respecte pas son engagement, alors l’agent devrait rationnellement respecter cet

engagement.

2.3.3 Les travaux de McBurney et Parsons

McBurney et Parsons (2002) se sont inspires des travaux de la theorie de l’argumen-

tation de Walton et Krabbe (1995) et ont propose une approche utilisant les jeux de

dialogue pour definir un langage de communication agent. Les jeux de dialogue sont

des structures qui definissent les enonces que peuvent produire les agents lors d’une

conversation. En fait, ce sont les regles du jeu de dialogue qui permettent de definir les

enonces valides selon le contexte. Nous verrons plus en detail la notion de jeu dialogue

et les avantages des jeux de dialogue au chapitre 4 dans lequel nous presentons notre

approche qui utilise egalement les jeux de dialogue.

McBurney et Parsons ont propose un modele de dialogue agent a trois couches :

(1) la couche sujet ; (2) la couche dialogue ; (3) la couche de controle. La couche sujet

sert simplement a representer le sujet, l’objet du dialogue. Pour ce qui est de la couche

dialogue, elle contient les differents jeux de dialogue qui peuvent etre utilises par les

agents ainsi que les differentes facons des les agencer lors d’une conversation. Selon

McBurney et Parsons, un jeu de dialogue est forme des cinq composantes suivantes :

1. Les regles de depart : Ce sont les regles qui definissent les circonstances du debut

du dialogue.

2. Les regles de locution : Ce sont les regles qui indiquent les enonces qui sont valides

a l’interieur du jeu de dialogue.

Page 31: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 22

3. Les regles de combinaison : Ces regles definissent les enonces qui sont permis ou

obligatoires a l’interieur du jeu de dialogue en fonction du contexte. Par exemple,

les regles de combinaison d’un jeu peuvent specifier qu’un agent ne peut pas

affirmer la proposition p et ensuite affirmer ¬p a l’interieur du meme jeu.

4. Les regles d’engagement : Au cours du dialogue, les agents se retrouvent engages

sur certaines propositions et ce sont les regles d’engagement qui permettent de

deduire ces engagements.

5. Les regles de terminaison : Ce sont les regles qui definissent dans quelles circons-

tances le dialogue se termine.

Finalement, la couche de controle permet de selectionner les types de dialogues desires

et les transitions entre ces types. Un agent peut par exemple utiliser un dialogue d’infor-

mation dans lequel il emboıte un dialogue de persuasion. Dans les faits, c’est la couche

de controle qui permet aux agents d’utiliser les jeux.

2.3.4 Les travaux de Flores

Flores et al. (2004) ont egalement propose une approche basee sur les engagements

sociaux pour definir la semantique des messages que s’echangent les agents lors d’une

conversation. En fait, la semantique des messages est definie selon trois niveaux : (1) le

niveau structural ; (2) le niveau conversationnel ; (3) le niveau d’etat d’engagement.

Le niveau structural permet de specifier la signification d’un message en se basant

sur le type de celui-ci. La definition du niveau structural est independante du contexte

et donc de la conversation dans laquelle le message se retrouve. Pour ce qui est du

niveau conversationnel, il permet de specifier la signification que prend le message lors-

qu’il est enonce. Ce niveau prend en compte le contexte d’enociation du message :

temps d’enonciation, messages anterieurs, etc. . . En dernier lieu, le niveau d’etat d’en-

gagement permet de definir les consequences de l’enonciation du message en terme de

modifications de la couche sociale (engagements sociaux).

Attachee a cette semantique, Flores (2002) a developpe une methode pour decrire

comment les actes du langage peuvent etre utilises pour former une conversation. Cette

methode nommee “protocol for proposal” sera presentee en detail dans le prochain

chapitre.

Page 32: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 23

2.3.5 Autres travaux

Mise a part Singh, Colombetti, McBurney, Parsons et Flores, beaucoup de cher-

cheurs travaillent a l’elaboration d’une semantique sociale pour definir un langage de

communication agent et meme si nous n’avons pas l’espace requis pour decrire en

detail les travaux de tous et chacun, nous croyons qu’il est tout de meme important de

presenter rapidement les travaux les plus interessants. Cette sous-section vise donc a

enumerer differents travaux relatifs a la semantique sociale qui ont ete realises au cours

des dernieres annees.

En premier lieu, Amgoud et al. (2000) ont defini un modele de dialogue agent qui

contient des regles de dialogue et des regles de mise a jour des engagements. Les regles

de dialogue permettent de definir des protocoles de communication en specifiant les

sequences de messages valides tandis que les regles de mise a jour permettent de specifier

l’effet des differents actes du langage sur les engagements de la couche sociale. Dans le

meme ordre d’idees, Bentahar et al. (2004a,b) ont proposee une semantique basee sur

les engagements sociaux et sur les arguments pour definir les communications agents. Ils

utilisent des reseaux d’engagements et d’arguments pour representer la dynamique des

conversations entre agents, pour analyser les conversations et pour aider les differents

agents autonomes a prendre part a des conversations coherentes.

Pour ce qui est des approches qui utilisent les jeux de dialogue, il est important de

mentionner les travaux de Reed (1998) qui a ete un des premiers a proposer l’utilisation

des jeux de dialogue dans un cadre multi-agents. En fait, Reed a propose la notion

de cadre de dialogue comme structure d’echange abstraite. Par ailleurs, Dastani et al.

(2001) ont egalement contribue a la progression des approches basees sur les jeux de

dialogue. Ils ont propose une methodologie qui s’appuie sur les jeux de dialogue pour

construire des protocoles de negociations flexibles.

2.3.6 Avantages et limites de la semantique a base d’engage-

ments

Au cours des dernieres annees, de nombreux chercheurs ont travaille a l’elaboration

d’un langage de communication agent dont la semantique est basee sur les engage-

ments sociaux. Cet interet grandissant nous permet de croire que ces approches sont

tres prometteuses. Comme nous l’avons deja mentionne, un des avantages majeurs qui

est a la base de l’interet porte aux approches basees sur les engagements sociaux est

la resolution de l’hypothese de sincerite. En effet, le fait d’utiliser les engagements so-

Page 33: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 24

ciaux elimine l’obligation de supposer que les agents qui communiquent sont sinceres

dans leurs propos. Dans les faits, les agents doivent tout de meme respecter les engage-

ments qui les concernent meme si ces engagements ne sont pas necessairement sinceres.

De plus, comme les engagements sont publics, il est possible de verifier facilement la

validite d’une conversation. Par ailleurs, les langages de communication bases sur les

engagements sociaux semblent etre tout designes pour etre utilises a l’interieur de SMA

ouverts. Les agents qui evoluent dans de tels systemes sont heterogenes et proviennent

generalement de concepteurs differents. Il est donc difficile d’imaginer que des agents

heterogenes qui coexistent dans des systemes ouverts puissent utiliser un langage de

communication base sur les etats mentaux et deduirent les intentions des agents avec

qui ils communiquent. Cependant, si ces agents utilisent un langage de communication

base sur les engagements sociaux, ils n’ont qu’a partager le meme modele d’engagement

social pour suivre le cours de la conversation.

Bien entendu, les langages de communication bases sur les engagements sociaux

ne sont pas parfaits et il reste encore beaucoup de travail a faire pour les ameliorer.

En premier lieu, de nombreux modeles d’engagements ont ete proposes, mais aucun

de ces modeles ne definit clairement la satisfaction des engagements. Cette notion de

satisfaction d’engagements est tres importante, car il est essentiel pour les agents de

savoir si les engagements qui les concernent sont remplis ou violes. De plus, il est

necessaire de definir des systemes de sanctions pour assurer un certain controle social

a l’interieur des systemes ouverts. En fait, des sanctions materielles ou sociales doivent

s’appliquer lors du non-respect ou de l’annulation d’un engagement pour eviter que les

agents s’engagent a tort et a travers.

En resume, les approches basees sur les engagements sociaux sont tres prometteuses

et comblent plusieurs lacunes des approches mentalistes, mais il reste encore beaucoup

de travail a faire pour les rendre applicables dans la pratique.

2.4 Conclusion

A l’interieur de ce chapitre, nous avons tout d’abord presente la theorie des actes

du langage qui est a la base de la majorite des langages de communication agent. Nous

avons par la suite presente les differentes approches qui ont ete developpees au cours des

dernieres annees en precisant que ces approches peuvent se classer selon deux grandes

familles : les approches basees sur les etats mentaux et les approches basees sur les

engagements sociaux.

Page 34: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 2. Communication agent 25

Les approches basees sur les etats mentaux supposent que les agents ont le pouvoir de

reconnaıtre les intentions des agents avec qui ils communiquent. Les agents doivent donc

raisonner sur les etats mentaux des autres agents pour communiquer adequatement.

Les travaux de Allen, Cohen et Perrault ont ete presentes ainsi que les langages KQML

et FIPA-ACL. Ces trois approches se basent sur la theorie des actes du langage et

utilisent des operateurs pour representer les etats mentaux des agents et definir la

semantique des differents actes du langage. Nous avons conclu notre section sur les

approches mentalistes en indiquant qu’elles etaient limitees et que ce sont ces limites

qui sont a la base de la naissance des approches basees sur les engagements sociaux.

Nous avons ensuite presente les approches basees sur les engagements sociaux en

insistant sur le fait que ces approches permettent de resoudre l’hypothese de sincerite.

Nous avons egalement souleve les bienfaits de la nature publique des engagements so-

ciaux et presente les travaux de differents chercheurs du domaine comme ceux de Singh

qui est a la base de ces approches. Nous avons termine notre presentation des approches

basees sur les engagements sociaux en presentant les avantages de telles approches ainsi

que quelques travaux qui doivent etre realises pour les rendre plus completes.

Toutefois, ce n’est pas tout de definir un langage de communication agent, il est

egalement necessaire de specifier comment les agents peuvent utiliser ce langage pour

atteindre un but en participant a une conversation. En fait, il est necessaire de modeliser

le dialogue agent et le chapitre qui suit a pour but de presenter les differentes facons de

modeliser le dialogue qui ont ete developpees pour les differents langages de communi-

cation agent que nous venons de presenter.

Page 35: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3

Modelisation du dialogue agent

3.1 Introduction

Dans le chapitre precedent, nous avons presente differents modeles de dialogue entre

agents qui ont ete developpes au cours des dernieres annees. Toutefois, le fait de definir

un modele de dialogue et de fournir un langage de communication juge efficace aux

agents d’un SMA ne leur donne pas automatiquement la capacite de dialoguer. En effet,

meme si les agents ont la capacite de produire, d’echanger et d’interpreter des messages

bien formes, rien ne garantit que la sequence de messages qui est produite lors d’une

conversation entre deux agents est coherente. Selon ce principe, il semble necessaire

de guider les agents dans leurs conversations en reduisant l’espace des enonces qu’ils

peuvent produire a l’interieur d’un dialogue en fonction du contexte du dialogue.

Consequemment, les conversations qui se deroulent a l’interieur d’un SMA sont

generalement controlees par l’utilisation de politiques de conversation. Ces politiques

de conversation, que certains nomment egalement protocoles d’interaction, permettent

de definir des sequences de messages valides pour assurer la coherence des dialogues

entre agents. La modelisation du dialogue se fait donc par l’intermediaire de ces poli-

tiques. C’est dans cette optique que plusieurs chercheurs ont etudie et defini differentes

methodes permettant de specifier des politiques de conversation pour structurer les

communications entre agents.

Ce chapitre vise donc a presenter differentes methodes qui ont ete mises de l’avant

pour guider les agents lors de leurs conversations. Dans les faits, ce chapitre nous permet

de presenter les methodes de modelisation du dialogue qui ont ete proposees pour les

differents langages de communication presentes au chapitre 2. Les methodes associees

Page 36: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3. Modelisation du dialogue agent 27

a ces differents langages refletent bien l’ensemble des travaux qui ont ete realises dans

le domaine.

Nous debutons donc ce chapitre en presentant les methodes de modelisation du

dialogue agent qui ont ete proposees pour les langages dont la semantique se base

sur les etats mentaux des agents. Nous allons par la suite presenter les approches de

modelisation proposees par les concepteurs des langages de communication dont la

semantique se base sur les engagements sociaux pour terminer le chapitre en discutant

des proprietes que devrait posseder une politique de conversation.

3.2 Approches basees sur les etats mentaux

A l’interieur de cette section, nous allons observer comment les createurs des lan-

gages KQML et FIPA-ACL proposent de modeliser le dialogue agent. Les concepteurs

de KQML ont propose un modele base sur la specification de conversations tandis que

les concepteurs de FIPA-ACL ont defini differents protocoles d’interaction couramment

employes.

3.2.1 KQML et specification de conversations

Comme nous l’avons vu au chapitre precedent, le langage KQML propose une facon

de structurer les messages pour permettre aux agents de s’echanger de l’information.

Un agent qui desire communiquer de l’information doit tout simplement choisir le per-

formatif qui lui convient et former un message KQML pour le transmettre et partager

ses connaissances. KQML semble donc tres efficace pour l’echange de messages entre

agents, mais semble insuffisant pour etre exploite directement dans un SMA ou les

agents doivent reellement dialoguer et non simplement echanger des connaissances. Le

probleme vient du fait que l’emetteur d’un message a des attentes en ce qui concerne

la reponse que fournira l’interlocuteur lors de la reception du message. Cependant, ces

attentes ne sont pas incluses dans le message et c’est pour cette raison que Cost et al.

(2000) croient qu’il est essentiel de definir des politiques de conversation pour guider

les agents dans leurs interactions. Plus precisement, ils definissent le concept de conver-

sation pour modeliser et organiser les interactions entre agents. Les agents d’un SMA

peuvent donc interagir en proposant l’utilisation de differentes conversations predefinies

plutot qu’en s’echangeant des messages KQML qui risquent de ne pas s’enchaıner cor-

rectement et d’etre mal interpretes. L’unite de communication entre agents devient donc

Page 37: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3. Modelisation du dialogue agent 28

la conversation. En realite, ces conversations ne sont rien d’autre que des politiques de

conversation.

Cost et al. (2000) ont donc propose une methode pour specifier des conversations

qui peuvent etre utilisees dans un SMA ou les agents communiquent en se servant du

langage KQML. Selon eux, une specification de conversation doit contenir un certain

nombre d’elements pour qu’elle puisse etre partagee par differents agents. Ces elements

sont les suivants :

– La specification de la sequence des messages echanges entre les agents qui prennent

part a la conversation.

– L’ensemble des roles que les agents peuvent prendre a l’interieur de la conversa-

tion.

– La semantique de la conversation

Une conversation est donc definie en precisant ces trois elements. Les developpeurs de

SMA peuvent donc developper des librairies de conversations et fournir ces librairies

aux agents presents dans le systeme. L’ensemble des conversations qui sont connues d’un

agent definissent alors l’interface de l’agent. Selon eux, l’avantage majeur de l’utilisation

des conversations pour modeliser les interactions est la reutilisabilite. En effet, il est

possible de modifier legerement des conversations existantes pour creer de nouvelles

conversations plus specifiques ou de combiner plusieurs conversations existantes pour

en former une nouvelle.

Par ailleurs, Cost et al. ont propose d’utiliser les reseaux de Petri colores (Jensen,

1997a,b,c)pour definir formellement leur modele d’interaction. Selon eux, les reseaux de

Petri colores sont tres interessants pour modeliser les conversations car :

– Ils constituent un modele formel relativement simple.

– Ils offrent une representation graphique.

– Ils supportent la simultaneite.

– Ils sont tres populaires, donc tres bien compris.

– Plusieurs outils existent pour la conception et l’analyse de systemes bases sur les

reseaux de Petri colores.

Les concepteurs de KQML proposent donc d’utiliser les reseaux de Petri pour specifier

formellement les differentes conversations que nous desirons mettre a la disposition des

agents. Toutefois, Cost et al. (2000) ne fournissent pas une banque de conversations

de base, ils se contentent de donner leur vision de la specification de politiques de

conversation et de presenter quelques exemples.

Page 38: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3. Modelisation du dialogue agent 29

Maintenant que nous avons presente la vision des concepteurs de KQML, regardons

comment la fondation FIPA considere la modelisation du dialogue agent.

3.2.2 Les protocoles d’interaction de FIPA-ACL

Comparativement aux concepteurs de KQML qui ont developpe une methodologie

pour specifier des politiques de conversation, les concepteurs du langage FIPA-ACL ont

defini differents protocoles d’interaction, et ce de maniere concrete. Dans les faits, ils

ont defini onze protocoles d’interaction qui representent des interactions frequemment

exploitees a l’interieur d’un SMA. Ces protocoles sont disponibles sur le site Web de

FIPA (FIPA, 2004) et sont les suivants :

1. Le protocole de requete de FIPA : Le protocole de requete permet a un agent

de demander a un autre agent de realiser une certaine action. L’agent qui recoit

la requete doit, lors de la reception de celle-ci, indiquer s’il accepte ou refuse la

requete. L’agent qui accepte la requete doit egalement aviser le demandeur lorsque

l’action qui est concernee par la requete est realisee.

2. Le protocole de requete conditionnelle de FIPA : Le protocole de requete condi-

tionnelle permet a un agent de demander a un autre agent de realiser une action

lorsqu’une certaine condition est respectee. L’agent qui accepte la requete doit

donc attendre que la condition soit respectee pour realiser l’action demandee. Il

doit par la suite aviser l’agent initiateur de la requete que l’action a bel et bien

ete realisee.

3. Le protocole de demande de FIPA : Le protocole de demande permet a un agent

d’effectuer une demande d’information. L’agent qui recoit la demande peut alors

accepter ou refuser de fournir l’information. Il doit evidemment donner l’informa-

tion demandee s’il accepte la demande.

4. Le protocole de reseau a contrat de FIPA : Le protocole de reseau a contrat

specifie comment utiliser le protocole de partage de taches “Contract Net” (Smith,

1980) en se servant de FIPA-ACL comme langage de communication. Ce protocole

permet a un agent (le gerant) d’effectuer un appel d’offres pour qu’une tache soit

realisee. Les agents qui desirent realiser la tache en question doivent donc offrir

leurs services. Selon les offres qu’il recoit, le gerant decide a qui il attribue la

realisation de la tache. En fait, il determine a quel agent est attribue le contrat de

realisation de la tache. En dernier lieu, l’agent qui obtient le contrat doit aviser

le gerant lorsque la tache est realisee.

5. Le protocole de reseau a contrat itere de FIPA : Le protocole de reseau a contrat

itere est une extension du protocole de reseau a contrat que nous venons de

Page 39: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3. Modelisation du dialogue agent 30

presenter. Ce protocole permet au gerant d’effectuer plusieurs appels d’offres s’il

n’est pas satisfait des offres qu’il obtient. Ce protocole permet au gerant de mo-

difier son appel d’offres pour preciser ses intentions de facon iterative dans le but

d’obtenir des offres convenables.

6. Le protocole d’enchere anglaise de FIPA : Le protocole d’enchere anglaise permet

a un agent d’utiliser une enchere de type anglaise pour vendre un bien. Dans une

enchere anglaise, le vendeur fixe un prix de depart qui est inferieur au prix de

vente desire. Les acheteurs qui desirent se procurer le bien sont invites a miser

sur le bien. Les acheteurs doivent toujours miser un montant superieur a celui

de la mise courante de l’enchere. L’enchere se termine lorsque personne ne veut

relancer la mise et le bien est accorde a l’acheteur qui a effectue la mise la plus

elevee.

7. Le protocole d’enchere hollandaise de FIPA : Le protocole d’enchere hollandaise

permet a un agent d’utiliser une enchere de type hollandaise pour vendre un bien.

Dans une enchere hollandaise, le vendeur fixe un prix de depart qui est bien au-

dela de la valeur reelle du bien qui est a vendre. Ensuite, le prix est reduit jusqu’a

ce qu’un acheteur annonce qu’il accepte le prix propose. Le bien est alors vendu

a cet acheteur.

8. Le protocole d’interaction de courtage de FIPA : Le protocole d’interaction de

courtage permet aux agents d’un SMA de contacter un courtier qui connaıt les

ressources et les capacites des differents agents du systeme pour savoir a qui

s’adresser pour obtenir un service particulier. Par exemple, un agent peut deman-

der a un courtier de lui trouver un ou plusieurs agents pouvant repondre a une

certaine question. Le courtier trouve donc un ensemble d’agents a qui il redirige

la question et renvoie les reponses de ces agents a l’agent qui en a fait la demande.

9. Le protocole d’interaction de recrutement de FIPA : Le protocole d’interaction

de recrutement est similaire au protocole d’interaction de courtage. La seule

difference entre les deux est que les reponses ne passent plus par le courtier.

Elles sont directement acheminees a l’agent ayant demande le service.

10. Le protocole d’interaction de souscription de FIPA : Le protocole d’interaction

de souscription permet a un agent de demander de l’information sur l’etat d’un

objet. L’agent qui accepte la souscription doit alors envoyer de l’information sur

l’objet lorsqu’il change d’etat. Il envoie cette information a l’agent qui a fait la

souscription. Le protocole d’interaction de souscription permet donc de suivre

l’evolution d’un objet.

11. Le protocole d’interaction de proposition de FIPA : Le protocole d’interaction de

proposition permet a un agent de proposer la realisation d’une action a un autre

agent. L’agent qui recoit la proposition peut alors accepter ou refuser celle-ci.

Page 40: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3. Modelisation du dialogue agent 31

Les membres de l’organisme FIPA ont modelise ces onze protocoles en utilisant le lan-

gage de modelisation agent AUML(Agent Unified Modeling Language) (Odell et al.,

2001). Ils ont choisi d’utiliser AUML pour que les onze protocoles definis soient rapide-

ment utilisables par l’industrie qui emploie regulierement UML lors du developpement

de logiciel. Nous presentons a la figure 3.1 la representation AUML du protocole de

requete de FIPA. Nous remarquons que le protocole debute par une requete (request)

de l’initiateur. Suite a la requete, l’agent participant peut soit accepter (agree) ou refu-

ser (refuse) celle-ci. Par la suite, l’agent participant doit informer l’initiateur lorsque la

requete est respectee ou violee. Il doit mentionner que la requete est un echec (failure)

si elle n’a pas ete respectee ou mentionner qu’elle est terminee (inform-done : in-

form) si elle a ete respectee. De plus, l’agent participant peut donner de l’information

supplementaire sur les resultats de la realisation de la requete (inform-result : in-

form).

Initiateur Participant

request

refuse

FIPA-Request-Protocol

inform-done : inform

inform-result: inform

agree

failure

Fig. 3.1 – Le protocole de requete de FIPA.

Page 41: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3. Modelisation du dialogue agent 32

Maintenant que nous avons observe comment les createurs des langages de communi-

cation KQML et FIPA-ACL voient la modelisation du dialogue agent et la specification

de politiques de conversation, regardons comment les createurs des differents modeles

de dialogue, dont la semantique se base sur les engagements sociaux, proposent de

modeliser le dialogue.

3.3 Approches basees sur les engagements sociaux

A l’interieur de cette section, nous allons presenter les approches de modelisation du

dialogue proposees par Singh, Colombetti et Flores. Debutons en presentant le concept

de machine a engagements de Singh.

3.3.1 La machine a engagements de Singh

Comme nous l’avons vu au chapitre precedent, Singh (1998) est a la base des lan-

gages de communication agent dont la semantique se base sur les engagements sociaux.

Il n’est donc pas surprenant de constater que Singh a egalement etudie l’utilisation des

engagements sociaux pour specifier des politiques de conversation. Singh utilise l’ex-

pression protocole de communication comme synonyme de politique de conversation.

Selon Singh, les protocoles de communication sont essentiels pour contraindre le

comportement d’agents autonomes a l’interieur de nombreuses applications comme le

commerce electronique. Cependant, Singh affirme que les methodes qui sont tradition-

nellement utilisees (Reseaux de Petri, Machine a etat fini, . . . ) pour specifier des proto-

coles de commuinication sont loin d’etre parfaites. Ces methodes ne font que specifier les

sequences legales d’actions qui peuvent etre effectuees par les agents sans reellement te-

nir compte de la signification de ces actions. Les protocoles specifiees selon ces methodes

sont donc trop rigides et menent a des interactions redondantes. Selon Singh, un bon

protocole devrait avoir les proprietes suivantes :

– Autonomie : Meme si les protocoles sont la pour contraindre le comportement des

agents, nous devons nous assurer que les protocoles definis preservent l’autonomie

des agents. Les agents doivent etre contraints dans leurs interactions seulement

dans la mesure ou ces contraintes leur permettent de suivre le protocole correcte-

ment.

– Opportunites : Un bon protocole doit permettre aux agents qui l’utilisent de saisir

les occasions qui se presentent a eux. Le protocole doit donc offrir le plus de choix

Page 42: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3. Modelisation du dialogue agent 33

d’actions possibles aux agents pour qu’ils puissent faire des choix eclaires dans le

but de simplifier leurs interactions.

– Exceptions : Un bon protocole doit etre capable de traiter correctement les excep-

tions. Les agents qui utilisent un protocole doivent posseder des moyens pour etre

en mesure de reagir correctement si une exception se produit. Par exemple, les

participants doivent pouvoir s’ajuster a un comportement inattendu d’un autre

participant.

C’est donc dans cette optique que Yolum et Singh (2001) ont propose les machines a

engagements comme formalisme pour specifier et executer des protocoles. Une machine

a engagements utilise les engagements sociaux pour donner une signification aux etats

qu’un protocole peut prendre et aux actions que les agents peuvent realiser a l’interieur

du protocole. Dans les faits, une machine a engagements specifie :

– l’ensemble des etats que peut prendre le protocole.

– l’ensemble des actions qui sont utilisees pour realiser les transitions entre les

differents etats du protocole.

– l’ensemble des etats finaux du protocole.

Les differents etats du protocole sont identifies par les engagements qui sont en vigueur

dans chacun des etats. De leur cote, les actions sont definies selon l’effet qu’elles ont

sur les engagements. Les actions permettent donc de modifier l’etat d’un protocole en

modifiant l’etat des engagements qui sont concernes par le protocole. De plus, pour

chaque etat du protocole, un certain nombre limite d’actions est permis et la realisation

d’une de ces actions est a la base d’une transition d’etat. Cependant, ces transitions

entre les etats ne sont pas specifiees explicitement, car elles peuvent etre deduites de

facon logique. Une machine a engagements permet donc de specifier un protocole de

communication en definissant les etats que peut prendre le protocole et les actions

pouvant etre executees dans ces etats plutot qu’en specifiant les sequences d’actions

qui doivent etre accomplies. Singh precise que le but premier d’un protocole n’est pas

d’executer une certaine sequence d’actions, mais d’atteindre un etat desire et il est fort

possible que cet etat soit atteignable de differentes facons. Autrement dit, il existe pos-

siblement plusieurs sequences d’actions qui permettent d’atteindre un des etats finaux

du protocole.

Les agents qui utilisent les machines a engagements peuvent donc saisir les opportu-

nites qui se presentent a eux en choisissant les actions qui modifient l’etat du protocole

selon leurs desirs. Les agents demeurent donc autonomes dans le choix de leurs actions

et peuvent visiter les etats du protocole qui leur conviennent. Cependant, les agents

doivent s’assurer d’atteindre un des etats finaux du protocole.

Page 43: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3. Modelisation du dialogue agent 34

Yolum et Singh utilisent une logique propositionnelle a laquelle ils ont ajoute di-

fferents operateurs pour specifier formellement les machines a engagements. Un agent

qui sait comment interpreter et traiter des formules logiques peut donc executer une

machines a engagements et planifier les actions qui lui permettront d’atteindre un

etat final. En fait, Yolum et Singh (2002) ont utilise le “calcul d’evenement” pour

formaliser les engagements sociaux et permettre aux agents de raisonner sur les actions

a realiser lors de l’execution du protocole. Le “calcul d’evenement” permet donc aux

agents de saisir les differentes opportunites qui s’offrent a eux pour faire progresser

le protocole tout en respectant les specifications du protocole. Cependant, executer

une machine a engagements necessite beaucoup de memoire et c’est pour cette raison

que Yolum et Singh (2001) montrent comment une machine a engagements peut etre

convertie en machine a etat fini pour permettre aux agents de determiner leurs actions

en faisant abstraction de la signification des etats et des actions du protocole.

Yolum et Singh (2002) ont utilise les machines a engagements pour specifier le

protocole NetBill qui a ete developpe pour gerer l’achat de logiciels et de documents

electroniques sur Internet (Sirbu, 1998). Dans ce protocole, l’acheteur qui desire ache-

ter un produit commence par envoyer une requete (sendRequest) au marchand pour lui

demander de fixer un prix pour le produit. Suite a cette requete, le marchand repond

en indiquant le prix du produit (sendQuote). Si l’acheteur accepte le prix (sendAccept),

alors le marchand lui envoie le produit (sendGoods) qui necessite une cle pour etre

active. Par la suite, le marchand attend que l’acheteur envoie le paiement electronique

(sendEPO) pour ensuite lui envoyer la cle du produit et le recu du paiement (sen-

dReceipt). L’acheteur peut donc activer son produit lors de la reception de la cle et

le protocole NetBill est termine. Le protocole est presente sous forme graphique a la

figure 3.2.

Acheteur Marchand

sendRequest

sendQuote

sendAccept

sendGoods

sendEPO

sendReceipt

Fig. 3.2 – Diagramme de sequence du protocole NetBill.

Page 44: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3. Modelisation du dialogue agent 35

Regardons maintenant comment Yolum et Singh (2002) ont defini le protocole Net-

Bill avec les machines a engagements. La specification du protocole est la suivante :

– Roles :

– M : Le marchand.

– A : L’acheteur.

– Propositions specifiques au domaine :

– request : Cette proposition est vraie si l’acheteur a envoye une requete pour

obtenir le prix d’un produit.

– goods : Cette proposition est vraie si le produit a ete envoye au marchand.

– pay : Cette proposition est vraie si l’acheteur a paye pour le produit.

– receipt : Cette proposition est vraie si le marchand a envoye le recu.

– Engagements :

– accept = C(A, M, goods⇒ pay) : L’engagement de l’acheteur envers le mar-

chand a payer pour le produit s’il est livre.

– promiseGoods = C(M, A, accept ⇒ goods) : L’engagement du marchand

envers l’acheteur a livrer le produit si l’acheteur s’engage a le payer.

– promiseReceipt = C(M, A, pay ⇒ receipt) : L’engagement du marchand

envers l’acheteur a envoyer un recu lorsque l’acheteur paie le produit.

– offer = promiseGoods ∧ promiseReceipt : L’engagement du marchand en-

vers l’acheteur a livrer le produit si l’acheteur accepte l’offre et a envoyer un

recu si l’acheteur effectue son paiement.

– Effets des actions dialogiques :

– sendRequest : Cette action rend la proposition request vraie.

– sendQuote : Cette action permet de creer l’engagement offer.

– sendAccept : Cette action permet de creer l’engagement accept.

– sendGoods : Cette action rend la proposition goods vraie.

– sendEPO : Cette action rend la proposition pay vraie.

– sendReceipt : Cette action rend la proposition receipt vraie.

Les etats de la machine a engagements du protocole NetBill sont decrits a partir des

propositions specifiques au domaine et des engagements que nous venons d’enumerer.

C’est donc la valeur de verite des propositions et l’etat des engagements (cree, rempli)

qui specifient l’etat de la machine a engagements. Les agents peuvent donc determiner

de facon logique, et ce, pour chaque etat du protocole, les actions qu’ils peuvent realiser

Page 45: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3. Modelisation du dialogue agent 36

en raisonnant sur les engagements. Les agents sont donc libres de jouer les actions de

leur choix, mais doivent tout de meme s’assurer de respecter leurs engagements. Les

engagements permettent donc de garder un certain controle sur la sequence des actions

jouees par les agents. Cependant, la machine a engagements ne specifie pas dans quel

ordre les engagements doivent etre remplies et c’est cette particularite qui permet de

preserver l’autonomie des agents.

Par exemple, il est possible de se retrouver dans un etat ou la proposition request

est vraie et l’engagement offer est cree lors de l’execution du protocole NetBill. On se

retrouve dans cet etat si l’agent acheteur envoie une requete (sendRequest) et que le

marchand repond a cette requete en indiquant le prix du produit demande (sendQuote).

Dans cet etat, le marchand est engage a envoyer le bien si l’acheteur accepte le prix pro-

pose (sendAccept) et est egalement engage a envoyer un recu a l’acheteur s’il paie lors de

la reception du produit (sendEPO). Les engagements permettent donc d’etablir un cer-

tain controle du protocole tout en preservant l’autonomie des agents. L’agent acheteur

peut donc accepter d’acheter le produit en toute securite puisque l’agent marchand est

engage a offrir un service convenable. Cependant, l’agent acheteur peut tout de meme

refuser d’acheter le produit si le prix propose par le marchand n’est pas convenable.

La realisation d’une action par un agent permet donc de changer l’etat du protocole

en modifiant la valeur de verite d’une proposition ou en modifiant l’etat d’un enga-

gement (cree ou rempli). Un etat final de la machine a engagements est un etat ou

les agents n’ont plus d’engagements a remplir. Un etat final est donc atteint si tous

les engagements crees sont remplis. L’etat final vise du protocole NetBill est celui ou

toutes les propositions specifiques au domaine sont vraies.

Maintenant que nous avons vu comment Yolum et Singh ont etudie l’utilisation

des engagements sociaux pour specifier des protocoles de communication, regardons

comment Colombetti voit la modelisation du dialogue agent. Rappelons que Colombetti

(2000), tout comme Singh, a defini un langage de communication agent dont la se-

mantique se base sur les engagements sociaux. Nous avons presente ce langage a la

section 2.3.2.

3.3.2 Les protocoles d’interaction de Colombetti

Tout comme Singh, Fornara et Colombetti (2003) croient que la specification de pro-

tocoles d’interaction est cruciale au developpement de SMA. Selon eux, il est primor-

dial de developper des methodes generales pour definir des protocoles d’interaction. De

plus, les protocoles qui sont definies selon ces methodes doivent etre assez robustes pour

Page 46: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3. Modelisation du dialogue agent 37

etre utilises a l’interieur de systemes ouverts fortement dynamiques qui sont constitues

d’agents heterogenes. Ils affirment donc que nous devons rapidement concentrer nos

efforts a developper des methodes generales, des criteres et des outils pour concevoir

des protocoles d’interaction. Selon eux, un protocole d’interaction doit :

– Specifier les sequences d’enonces pouvant etre echanges pour former des inter-

actions completes. Tous les actes du langage qui sont utilises dans un protocole

doivent avoir leur propre signification qui est independante du contexte d’utilisa-

tion du protocole.

– Permettre les interactions entre agents reactifs et agents deliberatifs. Les pro-

tocoles doivent permettre aux agents reactifs d’agir aveuglement lors de leurs

interactions et aux agents deliberatifs d’evaluer les consequences de leurs actions

et de decider s’ils desirent reellement interagir.

– Permettre de verifier que les agents d’un SMA agissent correctement selon les

specifications des differents protocoles d’interaction.

Tout comme Singh, Fornara et Colombetti (2003) considerent qu’il est tres important

de tenir compte de la signification des messages qui sont echanges pour definir des pro-

tocoles qui possedent les proprietes que nous venons d’enumerer. En fait, les auteurs af-

firment qu’il est important de se baser sur un langage de communication agent standard

qui est independant des applications pour definir la semantique des messages echanges.

Ils proposent donc d’utiliser le langage de communication ALBATROSS (presente au

chapitre precedent) pour definir la semantique des messages echanges a l’interieur d’un

protocole. Comme nous l’avons vu, le langage ALBATROSS definit un ensemble d’actes

du langage dont la semantique se definit en terme d’engagements sociaux. Le langage

ALBATROSS fournit donc une librairie d’actes du langage qui ont une semantique bien

precise pour specifier des protocoles d’interaction.

Selon Fornara et Colombetti (2003), un protocole d’interaction est defini par un

environnement et un diagramme d’interaction. En particulier, l’environnement se definit

en precisant les elements suivants :

– Un ensemble de roles que les agents peuvent jouer lors de leurs interactions.

– Un ensemble de participants (les agents) qui interagissent en utilisant le protocole.

Chaque participant joue un role bien defini dans le protocole.

– Un ensemble de constantes et de variables qui peuvent etre soumises a differentes

contraintes. Par exemple, un protocole de requete peut etre attache a une con-

stante qui specifie le temps maximal qui est alloue a un agent pour accepter ou

non la requete.

– Un ensemble d’engagements, de propositions et d’objets specifiques au domaine

pour representer les differents elements des interactions. Par exemple, les differents

Page 47: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3. Modelisation du dialogue agent 38

produits a vendre peuvent etre representes par des objets a l’interieur d’un pro-

tocole d’enchere.

– Un ensemble d’autorisations qui sont associees aux differents roles que les parti-

cipants peuvent prendre.

Par ailleurs, un diagramme d’interaction permet de specifier les actions qui peuvent etre

executees par les differents agents a chaque etape de l’interaction. Plus precisement, un

diagramme d’interaction est defini par un graphe fini dans lequel :

– Un sommet represente un etat de l’interaction. Un etat s’exprime en terme de

variables, d’engagements, de propositions et d’objets specifiques au domaine.

– Il existe un sommet initial et plusieurs sommets finaux. L’interaction debute au

sommet initial et se termine quand un des sommets finaux est atteint.

– Chaque arrete decrit une transition d’un etat a un autre. Cette transition peut

etre realisee lors de l’execution d’un acte du langage ou lors d’un evenement qui

survient dans l’environnement. Chaque arrete qui est associee a la realisation

d’un acte du langage specifie les conditions qui doivent etre respectees dans

l’environnement pour que l’acte du langage soit valide.

Fornara et Colombetti (2003) ont utilise leur methode de specification de protocoles

d’interaction pour definir le protocole d’enchere anglaise. Ce protocole, qui permet a

un agent de vendre un bien, a ete presente a la section 3.2.2. Regardons donc comment

Fornara et Colombetti proposent de modeliser l’environnement d’un tel protocole. En

fait, l’environnement du protocole d’enchere anglaise contient les elements suivants :

– Roles : V endeur et Client.

– Participants : Un agent qui joue le role de V endeur et n agents qui jouent le

role de Client.

– Constantes et contraintes :

– tmax : Le temps maximal de la duree de l’enchere.

– t1 : Le temps limite pour le paiement du client.

– t2 : Le temps limite pour la livraison du produit.

– Objets et actions specifiques au domaine :

– Objet O : C’est l’objet qui est en vente. L’objet doit etre vendu a un prix

plus eleve que resPrice (prix de reserve).

– Objet E : Cet objet represente l’enchere. L’enchere possede un etat (state),

un prix demande (askPrice) et un temps ou elle prend fin (tend). De plus

tinactivity represente le temps maximal alloue entre deux mises a l’interieur

de l’enchere.

Page 48: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3. Modelisation du dialogue agent 39

– L’action give(x, y, s) : Cette action represente le fait que l’agent x donne s

a l’agent y. s represente une somme d’argent ou un objet quelconque.

– Variables :

– Variable valuewin : C’est la valeur de la mise qui a permis de gagner l’enchere.

– Variable tsystem : Le temps du systeme ou l’enchere se deroule.

– Variable tbid : Le temps de la derniere mise acceptee.

– Variable i : Un compteur qui est incremente lors de chaque mise.

– Autorisations : Le vendeur a le pouvoir d’ouvrir et de fermer l’enchere (state).

Il peut egalement fixer le prix qui est demande (askPrice).

L’environnement que nous venons de presenter permet de preciser les differentes

composantes qui constituent le protocole d’enchere anglaise. En fait, l’environnement

determine l’ensemble des elements qui doivent etre presents pour que le protocole

puisse se derouler correctement. Nous ne presentons pas le diagramme d’interaction

de l’enchere anglaise, car il serait necessaire d’introduire de nombreuses notions supple-

mentaires pour comprendre correctement le diagramme. Le lecteur qui est interesse a

en savoir plus peut consulter (Fornara et Colombetti, 2003).

Comme une suite de messages ne determine pas necessairement un protocole co-

herent, Fornara et Colombetti (2003) ont egalement defini un ensemble de regles qui

permettent de verifier la validite d’un protocole. C’est d’ailleurs cette methode de

verification qui differencie les travaux de Fornara et Colombetti de ceux que nous avons

presentes jusqu’a present.

Terminons maintenant cette section sur la modelisation du dialogue pour les ap-

proches basees sur les engagements sociaux en presentant les travaux realises par Flores.

3.3.3 Le pfp de Flores

De son cote, Flores (2002) a developpe un modele qui se base sur la negociation

d’engagements sociaux pour construire des protocoles d’interaction. Tout comme Singh

et Colombetti, Flores affirme que les messages echanges lors d’une conversation doivent

etre directement lies aux etats des engagements sociaux existant entre les agents. Tou-

tefois, comparativement a Singh et Colombetti, Flores defini formellement la notion de

tour de dialogue par l’intermediaire des obligations qui sont en fait des engagements

sociaux. En fait, le modele de Flores precise les messages qui sont autorises lors d’une

Page 49: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3. Modelisation du dialogue agent 40

conversation (sequencement de messages) ainsi que les agents qui devraient emettre les

prochains messages selon l’etat de la conversation (tour de dialogue). Les obligations

indiquent donc implicitement les messages qui peuvent etre echanges entre les agents

ainsi que les agents qui devraient emettre ces messages pour permettre a la conversation

de progresser.

Tout d’abord, Flores propose d’utiliser cinq actes du langage differents pour specifier

l’ensemble des protocoles d’interaction. Ces actes du langage sont les suivants :

– Propose : Cet acte du langage permet de proposer l’adoption ou l’abandon d’un

engagement social.

– Accept : Cet acte du langage permet d’accepter l’adoption ou l’abandon d’un

engagement social.

– Reject : Cet acte du langage permet de rejeter l’adoption ou l’abandon d’un

engagement social.

– Counter : Cet acte du langage permet de rejeter l’adoption d’un engagement social

tout en proposant l’adoption d’un autre engagement.

– Inform : Cet acte du langage permet tout simplement de communiquer de l’in-

formation.

Flores decrit ensuite comment ces cinq actes du langage peuvent etre utilises a l’interieur

d’une conversation. Pour ce faire, il definit un protocole de negociation qu’il nomme

“protocol for proposals (pfp)”. Le pfp se base sur l’adoption et l’abandon d’engage-

ments sociaux et est presente a la figure 3.3. Comme nous le constatons sur la figure, le

protocole debute par une proposition de l’agent a a l’agent b. Suite a cette proposition,

la conversation se poursuit selon les modeles d’interaction α ou β. La conversation se

poursuit selon le modele α si l’agent b accepte la proposition et selon le modele β s’il la

rejette ou fait une contre-proposition. Finalement, lorsqu’une proposition est acceptee

les agents a et b ajoutent les engagements necessaires a l’ensemble des engagements qui

les concernent. Dans les faits, le pfp se definit en utilisant trois politiques de conversa-

tion. Ces trois politiques sont les suivantes :

– Politique 1 : L’emission d’une proposition (propose) cree une obligation qui engage

l’interlocuteur a repondre a la proposition. En fait, il doit accepter ou rejeter la

proposition ou proposer une contre-proposition (accept, reject ou counter).

– Politique 2 : L’emission d’une reponse (accept, reject ou counter) elimine l’obli-

gation de production d’une reponse.

– Politique 3 : L’acceptation d’une proposition entraıne l’adoption ou l’abandon

d’un engagement social et des differentes obligations du dialogue.

Page 50: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapit

re3.

Model

isati

on

du

dia

logue

agen

t41

Protocol for Proposals

agent

deadline

propose

a:Agent b:Agent

propose

Pattern (a,b)

Pattern (a,b)

deadline

a:Agent b:Agent

accept

Pattern (b,a)

Patternagent

accept

a:Agent b:Agent

Pattern

Pattern (a,b)

Pattern (a,b)

deadline

agent

deadline

counter, reject

reject

counter

Fig

.3.

3–

Le

pfp

de

Flo

res.

Page 51: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3. Modelisation du dialogue agent 42

L’interet majeur du pfp est qu’il permet de specifier des protocoles d’interaction

de facon modulaire et qu’il preserve l’autonomie des agents en leur permettant d’ef-

fectuer des contre-propositions lors d’une proposition d’adoption ou d’annulation d’un

engagement social.

Flores utilise le langage “Object-Z” (Smith, 2000) pour definir formellement le pfp

et creer differents protocoles comme le protocole “Contract Net” (Flores et Kremer,

2004). Comme on l’a mentionne a la section 3.2.2, le protocole “Contract Net” permet

a un agent (le gerant) d’effectuer un appel d’offres pour qu’une tache soit realisee

par un contractant. On retrouve, sous forme de diagramme de sequence, le protocole

“Contract Net” de Flores a la figure 3.4. De plus, on retrouve a l’interieur du tableau 3.1

la signification des differentes operations du protocole. En fait, ces operations sont

effectuees avec les cinq actes du langage du pfp. Par exemple, l’operation RequestingBid

est formee des deux actes du langage suivant : propose( +C(c, g, Bidding(c → g))) et

inform(requirements). Le premier permet au gerant de proposer la creation (+) d’un

engagement pour engager le contractant a miser pour realiser la tache, tandis que l’acte

inform(requirements) permet au gerant de donner de l’information au contractant sur

la tache a realiser. Il est donc facile de constater comment les agents peuvent utiliser le

pfp pour mettre en pratique le protocole “Contract Net”.

g:Gérant c: Contractant

RequestingBid

AcceptingToBid

SubmittingBid

EvaluatingBid

AwardingContract

AcceptingAward

SubmittingResults

AcceptingResults

Fig. 3.4 – Le protocole Contract Net de Flores.

Page 52: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3. Modelisation du dialogue agent 43

Operation Contenu

RequestingBidpropose( +C(c, g, Bidding(c→ g)))

inform(requirements)

AcceptingBid accept( +C(c, g, Bidding(c→ g)))

SubmittingBid

propose( −C(c, g, Bidding(c→ g)))

propose( +C(g, c, EvaluatingBid(m→ c)))

inform(bid)

EvaluatingBidaccept( −C(c, g, Bidding(c→ g)))

accept( +C(g, c, EvaluatingBid(g→ c)))

AwardingContract

propose( −C(g, c, EvaluatingBid(m→ c)))

propose( +C(c, g, ExecutingContract(c→ g)))

inform(evaluation)

inform(contract)

AcceptingAwardaccept( −C(g, c, EvaluatingBid(g → c)))

accept( +C(c, g, ExecutingContract(c→ g)))

SubmittingResultspropose( −C(c, g, ExecutingContract(c→ g)))

inform(results)

AcceptingResults accept( −C(c, g, ExecutingContract(c→ g)))

Tab. 3.1 – Tableau des operations du protocole Contract Net de Flores.

3.4 Discussion

A l’interieur de ce chapitre, nous avons observe comment les concepteurs de differents

langages de communication agent ont modelise le dialogue agent par l’intermediaire

des protocoles d’interaction. Nous avons pu constater que chacun a sa propre idee

sur les caracteristiques que devrait posseder une bon protocole d’interaction et que

chacun utilise des outils formels plus ou moins semblables pour specifier des protocoles

d’interaction. Cependant, il ressort quelques idees fort importantes de l’ensemble des

methodes presentees dans ce chapitre. En fait, ces idees tournent autour des aspects

de la flexibilite et de la specification qui sont primordiaux lorsqu’on s’interesse a la

modelisation du dialogue agent (Maudet et Chaib-draa, 2002).

En premier lieu, il est tres important de travailler a concevoir des protocoles flexibles.

Un protocole doit etre flexible dans la mesure ou il ne doit pas trop contraindre l’agent

dans ses interactions. En fait, un bon protocole doit permettre d’atteindre le but desire,

mais doit egalement permettre aux agents qui l’executent de preserver leur autono-

mie (Yolum et Singh, 2001). Il semble egalement interessant de considerer des proto-

coles d’interaction de petite taille et d’etudier comment il est possible de combiner ces

Page 53: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 3. Modelisation du dialogue agent 44

petits protocoles pour en former de plus complexes qui permettent de realiser une tache

precise (Greaves et al., 2000; Singh, 2000). La combinaison de petits protocoles est tres

interessante puisqu’on retrouve frequemment des structures de dialogue similaires dans

les differents protocoles d’interaction qui sont developpes pour differentes taches. Le

fait de permettre la composition de plusieurs protocoles de petite taille favorise alors la

reutilisation et contribue a rendre la specification des protocoles plus flexible.

Du point de vue de la specification, il est important d’utiliser un formalisme qui

permet de specifier les protocoles d’interaction avec un haut degre d’abstraction. Au-

trement dit, la specification d’un protocole doit etre independante de l’architecture des

agents qui vont l’utiliser. En particulier, le protocole doit etre independant des etats

mentaux des agents qui communiquent par l’intermediaire de celui-ci (Greaves et al.,

2000; Singh, 2000; Pitt et Mamdani, 2000). Il est egalement important d’adopter une

approche declarative pour declarer explicitement les regles des protocoles (Singh, 2000).

En fait, le formalisme utilise doit permettre de specifier les protocoles d’interaction le

plus clairement possible tout en ayant un bon pouvoir d’expression.

Dans les chapitres qui suivent, nous allons presenter le langage de communication

agent que nous avons developpe ainsi que la methode de modelisation du dialogue

que nous proposons. Nous allons egalement en profiter pour montrer comment notre

langage et notre methode de modelisation repondent aux differents criteres (flexibilite

et specification) que nous venons d’enumerer a l’interieur de cette discussion.

Page 54: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4

Le langage DIAGAL

4.1 Introduction

Dans la lignee des langages de communication agent bases sur les engagements so-

ciaux, le groupe dialogue du DAMAS (Chaib-draa et al., 2003a) avec l’aide de Maudet

(2001) ont elabore le langage de communication DIAGAL (DIAlogue-Game based Agent

Language). DIAGAL, comme son nom l’indique, est un langage base sur les jeux de

dialogue, eux-memes bases sur les engagements sociaux. Les jeux de dialogue sont vus

dans ce langage comme des structures permettant d’engager des interlocuteurs dans un

dialogue. Ces structures representent differentes interactions dialogiques couramment

employees (Maudet, 2001).

Ce chapitre vise a presenter en detail la version courante du langage DIAGAL.

Comme la semantique de DIAGAL est basee sur les engagements sociaux, nous debutons

ce chapitre en presentant a la section 4.2 la notion d’engagement. Par la suite, la sec-

tion 4.3 decrit plus precisement le concept de jeu de dialogue ainsi que les differents

jeux qui forment le langage DIAGAL. De son cote, la section 4.4 specifie comment les

jeux sont mis en place et comment ils peuvent etre composes. Cette section permet

plus precisement de comprendre comment les agents qui utilisent le langage DIAGAL

peuvent se servir des jeux de dialogue pour arriver a dialoguer. Nous concluons finale-

ment le chapitre (section 4.5) en presentant les avantages du langage DIAGAL.

Page 55: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 46

4.2 Engagements

Les engagements sont tres importants dans l’approche DIAGAL, car en plus de

servir a definir la structure des differents jeux de dialogue, ils representent la “raison

d’etre” de tels jeux. En effet, le but premier des jeux de dialogue est de permettre

aux agents de manipuler les engagements. Il est donc important d’entreprendre notre

description du langage DIAGAL en presentant en detail la notion d’engagement.

4.2.1 Definition

Un engagement est represente par un predicat de la forme C(x, y, c, t, sx, sy) ou :

– x represente l’agent debiteur de l’engagement.

– y represente l’agent crediteur de l’engagement.

– c represente le contenu de l’engagement (une action ou une proposition).

– t represente le temps de creation de l’engagement.

– sx represente la sanction appliquee au debiteur (x) s’il ne respecte pas ou tente

d’annuler l’engagement.

– sy represente la sanction appliquee au crediteur (y) s’il tente de liberer le debiteur

(x) de l’engagement.

L’existence de l’engagement C(x, y, c, t, sx, sy) implique donc que l’agent x est engage

envers l’agent y a propos de c (c pouvant etre une action ou une proposition) au temps

t. Si l’agent x decide de ne pas respecter l’engagement ou de l’annuler, il se verra

imposer la sanction sx, tandis que la sanction sy sera imposee a l’agent y s’il decide

de liberer l’agent x de l’engagement. Cette notation, inspiree de Singh (2000), permet

egalement de former des engagements ayant des contenus plus complexes. On peut avoir

un contenu du type α1|α2 qui specifie que le debiteur est engage a realiser une des deux

actions (α1 ou α2) ou un contenu du type α1 ⇒ α2 qui signifie que le debiteur est engage

a effectuer l’action α2 en cas d’execution de l’action α1.

Par exemple, les engagements suivants :

C1 = C(Paul, Luc, ReparerAuto(Paul), t, spaul1, sluc1)

C2 = C(Luc, Paul, ReparerAuto(Paul)⇒ PayerReparation(Luc), t, sluc2, spaul2)

representent le fait que Paul est engage envers Luc a reparer sa voiture (C1) et que

Luc est engage envers Paul a payer pour les reparations de sa voiture si elles sont

Page 56: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 47

effectuees (C2). La sanction sluc2 sera appliquee a Luc s’il ne respecte pas l’engagement

C2 ou s’il decide de l’annuler et la sanction spaul2 sera appliquee a Paul s’il libere

Luc de l’engagement C2. Dans notre exemple, Paul pourra decider de liberer Luc de

l’engagement C2 s’il ne desire plus etre paye pour les reparations. En effet, Luc ne sera

plus engage a payer pour les reparations de sa voiture si l’engagement C2 est retire. Par

consequent, la sanction spaul2 serait probablement nulle puisque Luc serait surement en

accord avec le retrait de l’engagement C2. Il est important de noter que la liberation

de l’engagement C2 ne modifie aucunement le statut de l’engagement C1. En d’autres

termes, Paul demeure toujours engage a reparer la voiture de Luc meme s’il propose

le retrait de l’engagement C2.

D’un autre cote, la sanction sluc2 devrait etre assez elevee pour que Luc n’ait pas

avantage a ne pas respecter son engagement : c’est a dire ne pas payer Paul pour les

reparations de sa voiture. Si la sanction est monetaire, elle devrait donc etre plus elevee

que le cout estime de la reparation. Pour ce qui est de l’engagement C1, la sanction

sluc1 sera appliquee si Luc change d’idee et decide de ne plus faire reparer sa voiture par

Paul et la sanction spaul1 sera appliquee si Paul decide de ne plus reparer la voiture.

4.2.2 Engagements propositionnels et engagements en action

Le langage DIAGAL permet de manipuler deux types d’engagements : les en-

gagements propositionnels et les engagements en action. Les engagements proposi-

tionnels sont simplement des engagements dont le contenu est une proposition. Ils

servent generalement a decrire l’etat actuel du monde. Un engagement propositionnel

est represente par un predicat de la forme C(x, y, p, t, sx, sy) dans lequel p represente

une proposition. Nous disons donc que x est engage envers y sur la veracite de la pro-

position p. En fait, x s’engage sur le fait que la proposition p est vraie dans l’etat actuel

du monde.

De leur cote, les engagements en action portent generalement sur des actions a

realiser dans le futur. Ces actions peuvent etre de type dialogique (demander, infor-

mer, . . . ) ou non (marcher, courir, . . . ). Comme nous le verrons a la section 4.3, les

engagements concernant les actions dialogiques nous permettent de definir les regles

des differents jeux de dialogue et sont seulement valides a l’interieur de ces jeux, tandis

que les engagements concernant les actions non dialogiques sont crees a l’interieur d’un

jeu de dialogue et sont toujours valides lorsque le jeu se termine. Un engagement en

action est donc represente par un predicat de la forme C(x, y, α, t, sx, sy) dans lequel α

represente une action. Nous disons donc que x est engage envers y a realiser l’action α.

Page 57: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 48

Il est important de noter qu’il serait possible d’utiliser seulement des actions ou

des propositions pour specifier le contenu de nos engagements. Par exemple, nous pou-

vons utiliser l’action “fermer la porte” ou la proposition “la porte sera fermee” pour

preciser le contenu d’un engagement concernant la fermeture d’une porte. De notre

cote, nous croyons, tout comme Walton et Krabbe (1995), qu’il est plus utile d’utiliser

les deux formes d’engagements. Les engagements en action permettent generalement

de representer plus intuitivement les engagements dont le contenu doit etre respecte

dans le futur (fermer la porte), tandis que les engagements propositionnels sont tres

utiles pour s’engager sur l’etat actuel du monde (il neige). En fait, selon les differentes

situations qui se presentent a nous, il est parfois avantageux de representer le contenu

d’un engagement par une proposition et parfois par une action. Le fait de considerer

les deux types d’engagements nous offre alors un plus grand pouvoir de modelisation.

4.2.3 Engagements conditionnels

Comme on l’a mentionne lorsqu’on a defini les engagements, il est possible de former

un engagement dont le contenu est du type α1 ⇒ α2 ou α1 et α2 representent deux

actions. Ce qui n’a pas ete mentionne, c’est qu’il est egalement possible de creer un

engagement dont le contenu est du type α ⇒ Ci ou α represente une action et Ci

un engagement quelconque. Lorsqu’un engagement possede un contenu de ce type, on

parle alors d’un engagement conditionnel. Un engagement conditionnel a donc la forme

suivante :

C(x, y, α⇒ Ci, t, sx, sy)

et signifie que x est engage envers y a ce que l’engagement Ci soit cree si l’action α est

realisee. Les engagements conditionnels sont tres utiles, car comme nous le verrons a la

section 4.3, ils nous permettent de former les regles des differents jeux de dialogue.

4.2.4 Modele d’engagements

Comme nous l’avons deja mentionne, le but premier des jeux de dialogue est la

manipulation des engagements. En fait, les jeux permettent aux agents de modifier l’etat

d’un engagement. Dans cette sous-section nous allons donc presenter les differents etats

qu’un engagement peut prendre et comment ces etats peuvent etre modifies a l’interieur

d’un SMA.

Page 58: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 49

Etat des engagements

Les engagements qui sont crees entre les differents agents d’un SMA evoluent, leur

etat change. Les etats possibles pour un engagement sont les suivants :

– Inactif (Ina) : A la base, un engagement est considere comme inactif. En fait, tous

les engagements qui ne sont pas socialement acceptes sont dans l’etat inactif.

– Cree (Crt) : Un engagement est dans l’etat cree lorsqu’il a ete socialement etabli

par deux agents lors d’une conversation. Nous disons alors que l’engagement est

ajoute a la couche sociale.

– Annule (Cnl) : Un engagement est dans l’etat annule lorsqu’il a ete retire de la

couche sociale par le debiteur. Le debiteur d’un engagement tente d’annuler un

engagement lorsqu’il ne desire plus respecter le contenu de celui-ci.

– Libere (Rel) : Un engagement est dans l’etat libere lorsqu’il a ete retire de la couche

sociale par le crediteur. L’agent crediteur d’un engagement libere le debiteur de

cet engagement lorsqu’il ne veut plus que son contenu soit respecte.

– Rempli(Ful) : Un engagement est dans l’etat rempli lorsque le debiteur de celui-ci

a respecte son contenu. Selon ce principe, un engagement en action est rempli

lorsque le debiteur de celui-ci a realise l’action concernee par l’engagement. Dans

le cas d’un engagement propositionnel, l’engagement est rempli s’il est prouve que

la proposition qu’il contient est vraie.

– Viole (Vio) : Un engagement est dans l’etat viole lorsque le debiteur de celui-ci

n’a pas respecte son contenu.

– Echec (Fal) : Un engagement est dans l’etat echec lorsqu’un agent a tente de

l’ajouter a la couche sociale lors d’une conversation, mais qu’il a echoue.

On retrouve a la figure 4.1 les differentes transitions d’etats possibles d’un engagement

dans notre modele. Regardons maintenant comment sont realisees ces transitions entre

les differents etats a l’interieur d’un SMA.

Modification d’etat d’un engagement

A l’interieur d’un SMA ou les jeux de dialogue sont utilises comme moyen de conver-

sation, trois types d’evenements peuvent provoquer la modification d’etat d’un enga-

gement : (1) realisation d’une action non dialogique ; (2) ecoulement du temps ; (3)

participation a un jeu de dialogue.

En premier lieu, un engagement en action passe dans l’etat rempli lorsque l’action

qu’il contient est realisee par l’agent debiteur. Cette transition est representee par le

Page 59: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 50

Fal Ina Crt

Cnl

Rel

Ful

Vio

(1) (2)

(3)

(4)

(5)

(6)

Fig. 4.1 – Diagramme d’etats d’un engagement.

lien (5) sur la figure 4.1. Le passage du temps peut egalement causer une modification

d’etat d’un engagement. Ainsi, un engagement peut passer dans l’etat viole s’il devait

etre respecte pour un certain temps et que ce temps est depasse. Cette transition est

representee sur la figure 4.1 par le lien (6). Finalement, l’etat d’un engagement peut

etre modifie par le dialogue et ce par l’intermediaire des jeux de dialogue.

Lorsqu’un agent desire modifier l’etat d’un engagement, il doit en discuter avec

l’autre agent concerne par l’engagement en question. Il doit donc entreprendre une

conversation pour tenter de modifier la couche sociale correctement. Un agent qui uti-

lise le langage DIAGAL proposera de jouer un jeu de dialogue pour entreprendre une

conversation et tenter de modifier la couche sociale. En fait, comme nous allons le voir

a la prochaine section, ce sont les differents jeux de dialogue qui permettent aux agents

d’effectuer les transitions qui sont numerotees de 1 a 4 sur la figure 4.1.

4.2.5 Agenda

Pour garder une trace des differents engagements qui ont ete crees lors des differentes

conversations, les agents qui utilisent le langage DIAGAL doivent posseder un agenda.

En fait, l’agenda d’un agent est en quelque sorte un “entrepot d’engagements” ou tous

les engagements de l’agent sont classifies en fonction de leur temps de creation. L’agenda

Page 60: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 51

contient egalement l’etat des differents engagements. Un agent qui utilise le langage

DIAGAL possede son propre agenda qui contient seulement les engagements qui le

concernent. Par consequent, les agents sont responsables du contenu de leur agenda et

doivent posseder un gestionnaire de dialogue qui controle l’ensemble des engagements

qui sont dans l’agenda. Ce gestionnaire de dialogue doit, en fonction des regles des

differents jeux de dialogue et des conversations de l’agent, ajuster le contenu de l’agenda

en ajoutant des engagements ou en modifiant l’etat des engagements deja presents. Pour

l’instant, il est important de retenir qu’un agent peut facilement consulter la liste des

engagements dont il est le debiteur ou le crediteur en parcourant son agenda.

4.3 Jeux de dialogue

Maintenant que nous avons presente en detail la notion d’engagement, nous pouvons

decrire plus explicitement le concept de jeu de dialogue. Il nous faut tout d’abord expli-

quer comment sont structures nos jeux de dialogue pour ensuite presenter les differents

jeux qui composent le langage DIAGAL.

4.3.1 Structure des jeux de dialogue

Les jeux de dialogue sont des structures qui permettent de reguler les mecanismes

par lesquels les engagements sont negocies par le dialogue (McBurney et al., 2002).

De plus, ce sont les engagements qui nous permettent de definir les differents jeux de

dialogue. En fait, les jeux sont des structures bilaterales definies par :

– des conditions d’entree (E) : ces conditions doivent etre respectees pour pouvoir

entrer dans le jeu.

– des conditions de succes (S) : Ce sont les conditions qui doivent etre atteintes pour

que le jeu de dialogue soit considere comme etant un succes. Le jeu de dialogue est

un succes lorsque la modification desiree de la couche sociale a ete correctement

effectuee.

– des conditions d’echec (F) : Ce sont les conditions qui doivent etre atteintes pour

que le jeu de dialogue soit considere comme etant un echec. Le jeu de dialogue est

un echec lorsque la modification desiree de la couche sociale a ete rejetee.

– des regles (R) : ce sont les regles permettant au dialogue de progresser vers les

conditions de succes ou d’echec. Ces regles sont definies a l’aide d’engagements

Page 61: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 52

dialogiques et conditionnels que les agents doivent respecter s’ils acceptent de

jouer le jeu.

Un agent qui desire modifier la couche sociale doit donc utiliser le jeu de dialogue

qui a comme condition de succes la modification desiree. Nous verrons en detail a la

section 4.4 comment les agents peuvent utiliser les jeux de dialogue. Cependant, avant

de regarder comment les agents peuvent utiliser les jeux pour dialoguer, nous devons

presenter les differents jeux de dialogue qui sont a leur disposition. En fait, le langage

DIAGAL contient presentement trois types de jeux de dialogue : (1) des jeux permettant

de creer des engagements ; (2) des jeux permettant de retirer des engagements ; (3) des

jeux permettant de modifier des engagements.

Ces differents jeux ont ete crees pour que DIAGAL soit complet selon notre modele

d’engagements. En fait, nous desirons que toutes les transitions d’etats possible d’un

engagement qui ont ete presentees a la figure 4.1 soient realisables a partir des jeux

de dialogue de DIAGAL. Dans les faits, nous pouvons observer que seulement quatre

types d’engagements peuvent exister entre deux agents x et y :

– Un engagement en action dont x est le debiteur et y le crediteur : C(x, y, α).

– Un engagement en action dont y est le debiteur et x le crediteur : C(y, x, α).

– Un engagement en proposition dont x est le debiteur et y le crediteur : C(x, y, p).

– Un engagement en proposition dont y est le debiteur et x le crediteur : C(y, x, p).

Comme nous allons le voir, les jeux de creation, de retrait et de modification permettent

de creer, de retirer et de modifier ces quatre types d’engagements et forment donc un

ensemble complet pour manipuler les engagements sociaux. Nous allons presenter en

detail les differents jeux de dialogue dans les prochaines sections, mais il est important

de donner quelques details supplementaires sur la notion de temps avant d’aller plus en

avant.

4.3.2 Tours de dialogue

Avant de donner les definitions des differents jeux de dialogue, il est important de

clarifier la notion de temps qui est utilisee pour definir ces jeux. Nous utilisons le concept

de tour de dialogue pour nous permettre de definir correctement les jeux de dialogue.

Le temps de creation des engagements qui est inclus dans les definitions de jeux est

donc exprime en terme de tours de dialogue. Un tour de dialogue represente une unite

de temps et a chaque tour un agent peut realiser une action dialogique. Nous devons

donc definir certains tours de dialogue de base pour nous permettre de bien presenter

Page 62: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 53

les jeux de dialogue. Pour un dialogue entre un agent x et un agent y, les tours de

dialogue sont les suivants :

– t0 : Premier tour de dialogue entre les agents x et y.

– tj : Tour d’ouverture du jeu de dialogue courant entre x et y.

– tf : Dernier tour d’un jeu de dialogue entre x et y. C’est lors de ce tour que les

conditions de succes ou d’echec du jeu sont atteintes.

– tk et tl : Ces deux tours representent des tours intermediaires d’un jeu de dialogue

entre x et y. Ces deux tours se situent entre les tours tj et tf .

Nous utilisons de plus l’operateur “ < ” a l’interieur de la definition des jeux de dialogue

pour indiquer qu’un certain tour de dialogue est survenu avant un autre. Par exemple,

l’expression t1 < t2 signifie que le tour de dialogue t1 a eu lieu avant le tour t2. Si nous

reprenons les tours de dialogue que nous venons de definir nous pouvons deduire la

relation suivante : t0 < tj < tk < tl < tf . Cette relation est valide pour l’ensemble des

jeux de dialogue qui sont definis dans ce chapitre.

Pour l’instant, il peut etre difficile de percevoir l’importance de la specification de

ces tours de dialogue, mais nous allons constater a l’interieur des prochaines sections

que cette notion est indispensable pour definir et comprendre les jeux de dialogue.

4.3.3 Jeux de dialogue de base

Pour la creation d’engagements, quatre jeux de dialogue de base ont ete definis. Ces

jeux permettent, en cas de succes, de creer les quatre types d’engagements pouvant

exister entre deux agents x et y. Ces jeux de dialogue sont les suivants :

– Pour tenter de creer un engagement en action de y envers x, l’agent x peut utiliser

le jeu de requete (Request game).

– Pour tenter de creer un engagement en action de x envers y, l’agent x peut utiliser

le jeu d’offre (Offer game).

– Pour tenter de creer un engagement propositionnel de y envers x, l’agent x peut

utiliser le jeu de question (Ask game).

– Pour tenter de creer un engagement propositionnel de x envers y, l’agent x peut

utiliser le jeu d’information (Inform game).

Ces quatre jeux sont complets pour la creation d’engagements, car tous les types d’enga-

gements peuvent etre crees a partir de ceux-ci. Un agent desirant obtenir un engagement

particulier doit tout simplement selectionner le jeu de dialogue qui permet de creer le

Page 63: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 54

type d’engagement souhaite et proposer de jouer ce jeu au deuxieme agent concerne

par l’engagement. Si le jeu se termine avec succes, l’engagement desire sera ajoute a

l’agenda des deux agents concernes. L’agent propose de jouer un jeu par l’intermediaire

du jeu de contextualisation que nous presenterons en detail a la section 4.4. Pour l’ins-

tant, nous devons simplement retenir que les agents peuvent facilement utiliser les jeux

de dialogue pour manipuler les engagements. Regardons maintenant les definitions des

quatre jeux de creation d’engagements. Les definitions de jeux que nous presentons

n’incluent pas les sanctions pour simplifier la notation.

Jeu de requete (Request game)

Le jeu de requete, comme son nom l’indique, permet a un agent x d’effectuer une

requete envers un agent y en vue de l’engager a realiser une action α. L’agent y qui recoit

la requete peut accepter ou refuser de realiser l’action. En fait, si le jeu se termine avec

succes (y accepte de s’engager), un engagement concernant l’action α sera cree et ajoute

aux agendas de x et y. Les conditions et les regles du jeu de requete sont presentees a

la figure 4.2.

Request game (rg)

Erg ¬C(y, x, α, tc) and ¬C(y, x,¬α, tc) ∀ tc , tc < tj

Srg C(y, x, α, tf)

Frg ¬C(y, x, α, tf)

Rrg 1) Cg(x, y, request(x, y, α), tj)

2) Cg(y, x, request(x, y, α)⇒

Cg(y, x, accept(y, x, α)|refuse(y, x, α), tk), tj)

3) Cg(y, x, accept(y, x, α)⇒ C(y, x, α, tf), tj)

4) Cg(y, x, refuse(y, x, α)⇒ ¬C(y, x, α, tf), tj)

Fig. 4.2 – Les conditions et regles du jeu de requete.

Nous pouvons remarquer qu’il est necessaire que l’agent y ne soit pas deja engage

envers l’agent x sur l’action α ou sur sa negation pour que l’agent x puisse proposer

l’ouverture du jeu de requete. Ce sont les conditions d’entree du jeu de requete (Erg)

qui specifient cette condition. On remarque egalement, a l’aide des conditions de succes

(Srg) et d’echec (Frg), que le jeu se termine avec succes si l’engagement est cree et que

le jeu est un echec si l’engagement passe dans l’etat echec. Pour ce qui est des regles

(Rrg), il convient de remarquer qu’elles sont definies a partir d’engagements dialogiques

et conditionnels. Ces engagements sont seulement valides a l’interieur du jeu de dialogue

et sont crees lors de l’ouverture de celui-ci (au temps tj). Les quatre regles du jeu de

Page 64: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 55

requete ont la signification suivante :

– Regle 1 : L’agent x doit debuter la conversation en effectuant une requete concer-

nant l’action α.

– Regle 2 : L’agent y est engage a accepter ou a refuser la requete si elle est effectuee

par l’agent x.

– Regle 3 : L’engagement de y envers x concernant l’action α est cree si y accepte

la requete.

– Regle 4 : L’engagement de y envers x concernant l’action α passe dans l’etat echec

si y refuse la requete.

Jeu d’offre (Offer game)

Le jeu d’offre permet a un agent x de faire une offre en vue de realiser une action

α. En fait, un agent x utilise le jeu d’offre pour faire une promesse de realisation d’une

action α a un agent y. Lors du deroulement du jeu, l’agent x doit debuter la conversation

en faisant une offre a propos d’une action α. De son cote, l’agent y peut accepter ou

refuser l’offre qui lui est proposee. Si l’agent y accepte l’offre, l’agent x se retrouve

engage envers l’agent y a realiser l’action α. Tout comme pour le jeu de requete, le

jeu d’offre se termine avec succes si l’engagement desire (C(x, y, α, tf)) est cree et le

jeu est un echec si l’engagement est refuse. De plus, les conditions d’entree specifient

que l’agent x ne doit pas etre engage envers l’agent y sur l’action α ou sur sa negation

pour pouvoir participer a un jeu d’offre concernant α. Les conditions et les regles du

jeu d’offre sont presentees a la figure 4.3.

Offer game (og)

Eog ¬C(x, y, α, tc) and ¬C(x, y,¬α, tc) ∀ tc , tc < tj

Sog C(x, y, α, tf)

Fog ¬C(x, y, α, tf)

Rog 1) Cg(x, y, offer(x, y, α), tj)

2) Cg(y, x, offer(x, y, α)⇒

Cg(y, x, accept(y, x, α)|refuse(y, x, α), tk), tj)

3) Cg(x, y, accept(y, x, α)⇒ C(x, y, α, tf), tj)

4) Cg(x, y, refuse(y, x, α)⇒ ¬C(x, y, α, tf), tj)

Fig. 4.3 – Les conditions et regles du jeu d’offre.

Page 65: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 56

Jeu de question (Ask game)

Le jeu de question permet a un agent x de questionner un agent y. Plus precisement,

il permet a un agent x de connaıtre l’opinion d’un agent y sur la veracite d’une proposi-

tion p par l’intermediaire d’une question. L’agent y qui recoit la question (ask(x, y, p))

doit repondre pour dire s’il est en accord ou non avec la veracite de la proposition p.

S’il dit qu’il est en accord, l’agent y se retrouve engage envers l’agent x sur la propo-

sition p (C(y, x, p, tf)). Dans le cas contraire, l’engagement concernant la proposition

p passe dans l’etat echec. Ici egalement, il ne faut pas que l’agent y soit deja engage

envers l’agent x sur la proposition p pour que les agents puissent faire usage du jeu de

question. Les conditions et les regles du jeu de question sont presentees a la figure 4.4.

Ask game (ag)

Eag ¬C(y, x, p, tc) and ¬C(y, x,¬p, tc) ∀ tc , tc < tj

Sag C(y, x, p, tf)

Fag ¬C(y, x, p, tf)

Rag 1) Cg(x, y, ask(x, y, p), tj)

2) Cg(y, x, ask(x, y, p)⇒

Cg(y, x, agree(y, x, p)|disagree(y, x, p), tk), tj)

3) Cg(y, x, agree(y, x, p)⇒ C(y, x, p, tf), tj)

4) Cg(y, x, disagree(y, x, p)⇒ ¬C(y, x, p, tf), tj)

Fig. 4.4 – Les conditions et regles du jeu de question.

Jeu d’information (Inform game)

Le jeu d’information permet a un agent x de donner son opinion a un agent y

a propos d’une proposition p. En fait, l’agent x informe l’agent y en enoncant une

proposition p. L’agent y peut par la suite exprimer son accord ou son desaccord sur la

proposition mise de l’avant par l’agent x. Si l’agent y est en accord avec l’information,

l’agent x se retrouve engage envers y sur la veracite de la proposition p. Dans le cas

contraire, l’engagement concernant la proposition p passe dans l’etat echec. De plus, il

ne faut pas que l’agent x soit deja engage envers l’agent y sur la proposition p pour

que les agents puissent jouer le jeu d’information. Les conditions et les regles du jeu

d’information sont presentees a la figure 4.4.

Page 66: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 57

Inform game (ig)

Eig ¬C(x, y, p, tc) and ¬C(x, y,¬p, tc) ∀ tc , tc < tj

Sig C(x, y, p, tf)

Fig ¬C(x, y, p, tf)

Rig 1) Cg(x, y, inform(x, y, p), tj)

2) Cg(y, x, inform(x, y, p)⇒

Cg(y, x, agree(y, x, p)|disagree(y, x, p), tk), tj)

3) Cg(x, y, agree(y, x, p)⇒ C(x, y, p, tf), tj)

4) Cg(x, y, disagree(y, x, p)⇒ ¬C(x, y, p, tf), tj)

Fig. 4.5 – Les conditions et regles du jeu d’information.

4.3.4 Jeux de retrait

Maintenant que nous avons presente les quatre jeux de base qui permettent de creer

des engagements, il est important de preciser comment les agents peuvent retirer ces

memes engagements s’ils le desirent. Le retrait d’engagements est essentiel si on desire

preserver l’autonomie des agents d’un SMA. En effet, les agents d’un SMA qui desirent

annuler un engagement doivent pouvoir le faire facilement. Cependant, les agents qui

tentent de retirer un engagement doivent s’attendre a subir des sanctions si le deuxieme

agent concerne par l’engagement n’est pas en accord avec son retrait. Les agents d’un

SMA doivent donc negocier le retrait d’engagements tout comme ils doivent negocier la

creation d’engagements et nous proposons l’utilisation des jeux de dialogue pour cela.

Dans les faits, le retrait d’engagements s’effectue a l’aide de quatre jeux supplementaires

qui permettent de retirer les quatre types d’engagements pouvant exister entre deux

agents. Ces jeux sont les suivants :

– Pour tenter de retirer un engagement en action de x envers y, l’agent x peut

utiliser le jeu d’annulation d’un engagement en action (CancelActionC game).

– Pour tenter de retirer un engagement en action de y envers x, l’agent x peut

utiliser le jeu de liberation d’un engagement en action (ReleaseActionC game).

– Pour tenter de retirer un engagement propositionnel de x envers y, l’agent x peut

utiliser le jeu d’annulation d’un engagement propositionnel (CancelPropC game).

– Pour tenter de retirer un engagement propositionnel de y envers x, l’agent x peut

utiliser le jeu de liberation d’un engagement propositionnel (ReleasePropC game).

Comme dans le cas de la creation, ces quatre jeux sont complets pour le retrait d’en-

gagements. Un agent desirant retirer un engagement particulier doit tout simplement

selectionner le jeu de dialogue qui permet de retirer le type d’engagement souhaite

et proposer de jouer ce jeu au deuxieme agent concerne par l’engagement. Si le jeu

Page 67: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 58

se termine avec succes, l’engagement sera libere ou annule. Regardons maintenant les

definitions de ces quatre jeux. Encore une fois, les definitions de jeux que nous presentons

n’incluent pas les sanctions pour simplifier la notation.

Jeu d’annulation d’un engagement en action (CancelActionC game)

Le jeu CancelActionC permet au debiteur (l’agent x) d’un engagement en action de

l’annuler s’il ne desire plus le respecter. En fait, il permet de retirer de la couche sociale

un engagement qui est dans l’etat cree, c’est-a-dire un engagement qui a ete socialement

etabli lors d’une conversation a l’aide d’un des jeux de base. Dans ce jeu, le debiteur

(x) doit tout d’abord proposer l’annulation de l’engagement. Suite a cette demande

d’annulation, l’agent y (le crediteur) peut accepter ou non le retrait. Si le crediteur

accepte le retrait, l’engagement est automatiquement annule tandis que l’agent x doit

confirmer l’annulation si le crediteur n’accepte pas celle-ci. Les conditions et les regles

du jeu CancelActionC sont presentees a la figure 4.6.

CancelActionC game (cag)

Ecag ∃ tc , tc < tj : C(x, y, α, tc)

Scag ¬C(x, y, α, tf)

Fcag C(x, y, α, tf)

Rcag 1) Cg(x, y, cancel(x, y, α), tj)

2) Cg(y, x, cancel(x, y, α)⇒

Cg(y, x, agree(y, x, cancel(x, y, α))|disagree(y, x, cancel(x, y, α)), tk), tj)

3) Cg(x, y, disagree(y, x, cancel(x, y, α))⇒

Cg(x, y, confirm(x, y, cancel(x, y, α))|decline(x, y, cancel(x, y, α)), tl), tj)

4) Cg(x, y, agree(y, x, cancel(x, y, α))⇒ ¬C(x, y, α, tf), tj)

5) Cg(x, y, confirm(x, y, cancel(x, y, α))⇒ ¬C(x, y, α, tf), tj)

6) Cg(x, y, decline(x, y, cancel(x, y, α))⇒ C(x, y, α, tf), tj)

Fig. 4.6 – Les conditions et regles du jeu d’annulation d’un engagement en action.

Nous remarquons qu’il est necessaire que l’agent x soit engage envers l’agent y sur

une action α pour jouer le jeu CancelActionC. Ce sont les conditions d’entree du jeu

CancelActionC (Ecag) qui specifient cette condition. On remarque egalement, a l’aide

des conditions de succes (Scag) et d’echec (Fcag), que le jeu se termine avec succes si

l’engagement passe dans l’etat annule et que le jeu est un echec si l’engagement demeure

dans l’etat cree. Pour ce qui est des regles (Rcag), elles ont la signification suivante :

– Regle 1 : L’agent x (debiteur) doit debuter la conversation en proposant un en-

gagement en action qu’il desire annuler. En fait, il propose le retrait de l’action

Page 68: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 59

qui est contenue dans l’engagement qu’il desire annuler. L’action α represente un

engagement unique puisque les conditions d’entree des jeux de base garantissent

qu’un seul engagement concernant une action specifique peut exister entre deux

agents.

– Regle 2 : Si une demande de retrait d’engagement est effectuee par l’agent x

(debiteur), l’agent y (crediteur) est engage a mentionner s’il est en accord ou non

avec le retrait de l’engagement. L’agent x n’aura pas a subir les sanctions qui

sont attachees a l’engagement si l’agent y est en accord avec l’annulation, mais

les sanctions seront appliquees si y est en desaccord avec l’annulation.

– Regle 3 : Lorsque l’agent y n’est pas en accord avec le retrait de l’engagement,

l’agent x doit confirmer son desir de retirer l’engagement. Il peut donc decider de

reellement annuler l’engagement et subir les sanctions ou changer d’idee pour les

eviter.

– Regle 4 : L’engagement est automatiquement retire de la couche sociale si l’agent

y est en accord avec le retrait de celui-ci. L’engagement passe alors dans l’etat

annule.

– Regle 5 : L’engagement est automatiquement retire de la couche sociale si l’agent x

confirme le retrait de l’engagement malgre le desaccord de l’agent y. L’engagement

passe alors dans l’etat annule et l’agent x subi les sanctions qui sont attachees a

l’engagement.

– Regle 6 : L’engagement demeure dans l’etat cree si l’agent x change d’idee et

decide de ne plus le retirer pour ne pas subir les sanctions qui lui sont attachees.

Jeu de liberation d’un engagement en action (ReleaseActionC game)

Tout comme le jeu CancelActionC, le jeu ReleaseActionC permet de retirer un en-

gagement en action de la couche sociale et permet la negociation de l’application des

sanctions. Cependant, contrairement au jeu CancelActionC qui permet au debiteur

d’annuler un engagement, le jeu ReleaseActionC permet au crediteur (x) d’un engage-

ment de le liberer. Un agent crediteur qui desire qu’un engagement ne soit plus respecte

doit donc utiliser le jeu ReleaseActionC pour informer le debiteur de son desir et tenter

de le convaincre de ne plus remplir son engagement. De son cote, l’agent debiteur (y)

peut accepter ou refuser le retrait de l’engagement et comme dans le jeu CancelActionC,

l’application des sanctions depend de l’opinion du debiteur sur la liberation de l’enga-

gement. Le jeu se termine avec succes si l’engagement est retire (passage dans l’etat

libere). A l’inverse, il est considere comme un echec si l’engagement demeure actif. Les

conditions et les regles de ce jeu sont presentees a la figure 4.7.

Page 69: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 60

ReleaseActionC game (rag)

Erag ∃ tc , tc < tj : C(y, x, α, tc)

Srag ¬C(y, x, α, tf)

Frag C(y, x, α, tf)

Rrag 1) Cg(x, y, release(x, y, α), tj)

2) Cg(y, x, release(x, y, α)⇒

Cg(y, x, agree(y, x, release(x, y, α))|disagree(y, x, release(x, y, α)), tk), tj)

3) Cg(x, y, disagree(y, x, release(x, y, α))⇒

Cg(x, y, confirm(x, y, release(x, y, α))|decline(x, y, release(x, y, α)), tl), tj)

4) Cg(x, y, agree(y, x, release(x, y, α))⇒ ¬C(y, x, α, tf), tj)

5) Cg(x, y, confirm(x, y, release(x, y, α))⇒ ¬C(y, x, α, tf), tj)

6) Cg(x, y, decline(x, y, release(x, y, α))⇒ C(y, x, α, tf), tj)

Fig. 4.7 – Les conditions et regles du jeu de liberation d’un engagement en action.

Jeu d’annulation d’un engagement propositionnel (CancelPropC game)

Le jeu CancelPropC est l’equivalent du jeu CancelActionC pour le retrait d’enga-

gements propositionnels. Il permet au debiteur d’un engagement propositionnel de le

retirer de la couche sociale. Un agent debiteur desirant retirer un engagement proposi-

tionnel doit donc proposer de jouer le jeu CancelPropC au crediteur de l’engagement.

Tout comme dans le jeu CancelActionC, le crediteur de l’engagement peut accepter ou

refuser l’annulation et du meme coup decider de l’application des sanctions. Le jeu est

considere comme un succes si l’engagement est retire (passage dans l’etat annule) et

comme un echec si l’engagement demeure dans l’etat cree. Les conditions et les regles

du jeu CancelPropC sont presentees a la figure 4.8. Sur cette figure, x represente l’agent

debiteur de l’engagement et y l’agent crediteur.

Jeu de liberation d’un engagement propositionnel (ReleasePropC game)

Le jeu ReleasePropC est l’equivalent du jeu ReleaseActionC pour le retrait d’enga-

gements propositionnels. Ce jeu permet au crediteur d’un engagement propositionnel

de liberer le debiteur du contenu de cet engagement. Un agent crediteur qui ne veut

plus qu’un engagement propositionnel soit respecte se doit donc d’utiliser le jeu Relea-

sePropC pour retirer l’engagement. Les conditions et les regles du jeu ReleasePropC

sont presque identiques a celle du jeu ReleaseActionC et sont presentees a la figure 4.9.

Sur la figure, y represente l’agent debiteur de l’engagement et x l’agent crediteur.

Page 70: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 61

CancelPropC game (cpg)

Ecpg ∃ tc , tc < tj : C(x, y, p, tc)

Scpg ¬C(x, y, p, tf)

Fcpg C(x, y, α, tf)

Rcpg 1) Cg(x, y, cancel(x, y, p), tj)

2) Cg(y, x, cancel(x, y, p)⇒

Cg(y, x, agree(y, x, cancel(x, y, p))|disagree(y, x, cancel(x, y, p)), tk), tj)

3) Cg(x, y, disagree(y, x, cancel(x, y, p))⇒

Cg(x, y, confirm(x, y, cancel(x, y, p))|decline(x, y, cancel(x, y, p)), tl), tj)

4) Cg(x, y, agree(y, x, cancel(x, y, p))⇒ ¬C(x, y, p, tf), tj)

5) Cg(x, y, confirm(x, y, cancel(x, y, p))⇒ ¬C(x, y, p, tf), tj)

6) Cg(x, y, decline(x, y, cancel(x, y, p))⇒ C(x, y, p, tf), tj)

Fig. 4.8 – Les conditions et regles du jeu d’annulation d’un engagement propositionnel.

4.3.5 Jeux de modification

Si un agent desire modifier un engagement (changer certains attributs de l’engage-

ment), il peut tenter de retirer l’engagement et creer un nouvel engagement avec les

nouveaux attributs. Cependant, comme on l’a vu dans la section precedente, le retrait

de l’engagement peut causer l’application de sanctions indesirables. C’est pour cette

raison que nous avons defini deux jeux de dialogue qui permettent a un agent x de

modifier un engagement sans avoir a subir de sanctions. Ces jeux sont les suivants :

– Pour tenter de modifier un engagement en action, l’agent x peut utiliser le jeu de

modification d’un engagement en action (UpdateActionC game).

– Pour tenter de modifier un engagement propositionnel, l’agent x peut utiliser le

jeu de modification d’un engagement propositionnel (UpdatePropC game).

Ces deux jeux permettent la modification de tous les types d’engagements et sont donc

complets pour la modification d’engagements. Un agent desirant modifier un type d’en-

gagement particulier doit donc selectionner un des deux jeux de modification. Regardons

maintenant la definition de ces deux jeux.

Jeu de modification d’un engagement en action (UpdateActionC game)

Le jeu UpdateActionC permet a un agent x de modifier un engagement en action.

L’agent x qui desire modifier un engagement doit debuter le jeu en specifiant l’engage-

ment qu’il desire modifier et les modifications qu’il desire apporter. Le deuxieme agent

Page 71: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 62

ReleasePropC game (rpg)

Erpg ∃ tc , tc < tj : C(y, x, p, tc)

Srpg ¬C(y, x, p, tf)

Frpg C(y, x, p, tf)

Rrpg 1) Cg(x, y, release(x, y, p), tj)

2) Cg(y, x, release(x, y, p)⇒

Cg(y, x, agree(y, x, release(x, y, p))|disagree(y, x, release(x, y, p)), tk), tj)

3) Cg(x, y, disagree(y, x, release(x, y, p))⇒

Cg(x, y, confirm(x, y, release(x, y, p))|decline(x, y, release(x, y, p)), tl), tj)

4) Cg(x, y, agree(y, x, release(x, y, p))⇒ ¬C(y, x, p, tf), tj)

5) Cg(x, y, confirm(x, y, release(x, y, p))⇒ ¬C(y, x, p, tf), tj)

6) Cg(x, y, decline(x, y, release(x, y, p))⇒ C(y, x, p, tf), tj)

Fig. 4.9 – Les conditions et regles du jeu de liberation d’un engagement propositionnel.

concerne par l’engagement (l’agent y) doit ensuite accepter ou refuser la modification

qui est proposee. Si l’agent y accepte la modification, l’ancien engagement est retire et

un nouvel engagement (engagement modifie) est cree. Si au contraire, l’agent y refuse

la modification, l’ancien engagement est conserve et demeure actif. Les conditions et

les regles du jeu UpdateActionC sont presentees a la figure 4.10. Si l’initiateur (x) du

jeu est le crediteur alors on pose cre = x et deb = y. Sinon on pose cre = y et deb = x.

UpdateActionC game (uag)

Euag ∃ tc , tc < tj : C(deb, cre, α, tc)

Suag ¬C(deb, cre, α, tc) and C(deb, cre, α′, tf )

Fuag C(deb, cre, α, tf)

Ruag 1) Cg(x, y, update(x, y, α, α′), tj)

2) Cg(y, x, update(x, y, α, α′)⇒

Cg(y, x, agree(y, x, update(x, y, α, α′))

|disagree(y, x, update(x, y, α, α′)), tk), tj)

3) Cg(x, y, agree(y, x, update(x, y, α, α′))⇒ C(deb, cre, α′, tf ), tj)

4) Cg(x, y, agree(y, x, update(x, y, α, α′))⇒ ¬C(deb, cre, α, ti), tj)

5) Cg(x, y, disagree(y, x, update(x, y, α, α′))⇒ C(deb, cre, α, tf), tj)

Fig. 4.10 – Les conditions et regles du jeu de modification d’un engagement en action.

Les conditions d’entree (Euag) du jeu UpdateActionC stipulent que l’agent x doit

etre le debiteur ou le crediteur d’un engagement concernant egalement un agent y pour

pouvoir tenter d’effectuer une modification. Les conditions de succes (Suag) et d’echec

(Fuag) nous permettent de constater que le jeu est un succes si l’engagement modifie est

Page 72: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 63

cree et que l’ancien engagement est retire et que le jeu est un echec si la modification

est refusee. Pour ce qui est des regles (Ruag), elles ont la signification suivante :

– Regle 1 : L’agent x doit debuter la conversation en proposant l’engagement qu’il

desire modifier et la modification qu’il desire apporter. En fait, il propose l’ac-

tion qu’il desire modifier et la modification qu’il desire effectuer sur cette action.

L’agent peut simplement proposer l’action, car comme nous l’avons mentionne

dans la section precedente, il existe un seul engagement portant sur une action

precise entre deux agents. L’agent y peut donc identifier l’engagement que l’agent

x desire modifier a partir de l’action.

– Regle 2 : Si une demande de modification d’engagement est effectuee par l’agent

x, alors l’agent y est engage a mentionner s’il est en accord ou non avec la modi-

fication.

– Regle 3 : Un nouvel engagement contenant l’action modifiee α′ est cree si l’agent

y est en accord avec la modification de l’engagement.

– Regle 4 : L’ancien engagement concernant l’action α est retire de la couche sociale

si l’agent y est en accord avec la modification de l’engagement.

– Regle 5 : L’engagement initial demeure dans l’etat cree si l’agent y n’accepte pas

la modification.

Jeu de modification d’un engagement propositionnel (UpdatePropC game)

Le jeu UpdatePropC est identique au jeu UpdateActionC sauf qu’il concerne la

modification d’un engagement propositionnel. L’agent initiateur (x) propose tout sim-

plement une modification de l’engagement qui doit etre acceptee par le partenaire de

conversation (y) pour etre consideree comme effective. Les conditions et les regles du jeu

UpdatePropC sont presentees a la figure 4.11. Si l’initiateur (x) du jeu est le crediteur

alors on pose cre = x and deb = y. Sinon on pose cre = y et deb = x.

4.3.6 Etat des engagements et jeux de dialogue

A l’interieur de la section 4.2 nous avons discute des differents evenements qui

peuvent provoquer la modification d’etat d’un engagement. Nous avons mentionne que

la participation a un jeu de dialogue constituait un de ces evenements. Il est donc

interessant, maintenant que nous avons presente les jeux de dialogue qui forment le

langage DIAGAL, d’observer les modifications d’etats des engagements qui peuvent

etre realisees a partir de ces jeux. En fait, nous voulons savoir quel jeu de dialogue doit

Page 73: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 64

UpdatePropC game (upg)

Eupg ∃ tc , tc < tj : C(deb, cre, p, tc)

Supg ¬C(deb, cre, p, tc) and C(deb, cre, p′, tf)

Fupg C(deb, cre, p, tf)

Rupg 1) Cg(x, y, update(x, y, p, p′), tj)

2) Cg(y, x, update(x, y, p, p′)⇒

Cg(y, x, agree(y, x, update(x, y, p, p′))

|disagree(y, x, update(x, y, p, p′)), tk), tj)

3) Cg(x, y, agree(y, x, update(x, y, p, p′))⇒ C(deb, cre, p′, tf), tj)

4) Cg(x, y, agree(y, x, update(x, y, p, p′))⇒ ¬C(deb, cre, p, ti), tj)

5) Cg(x, y, disagree(y, x, update(x, y, p, p′))⇒ C(deb, cre, p, tf), tj)

Fig. 4.11 – Les conditions et regles du jeu de modification d’un engagement proposi-

tionnel.

etre utilise par un agent lorsqu’il desire modifier l’etat d’un engagement. Le tableau 4.1

repond a cette question en presentant l’ensemble des jeux de dialogue qu’un agent

x doit utiliser pour effectuer les differentes modifications d’etats des differents types

d’engagements. Dans les faits, les agents qui utilisent le langage DIAGAL determinent le

jeu de dialogue a utiliser en cherchant dans la liste des jeux disponibles celui qui a comme

condition de succes le type d’engagement desire et l’etat desire pour l’engagement.

Par exemple, le tableau 4.1 nous permet de constater qu’un agent x desirant creer un

engagement en action dont il est le crediteur et dont l’agent y est le debiteur (C(y, x, α))

se doit de proposer a y de jouer un jeu de requete concernant l’action α. Suite a la

requete, l’engagement passera dans l’etat cree si l’agent y accepte la requete et dans

l’etat echec sinon. Dans le tableau 4.1 α represente une action et p une proposition.

Type d’engagement Etat desire Jeu de dialogue utilise

C(x, y, α)Cree Offer game

Annule CancelActionC game

C(y, x, α)Cree Request game

Libere ReleaseActionC game

C(x, y, p)Cree Inform game

Annule CancelPropC

C(y, x, p)Cree Ask game

Libere ReleasePropC game

Tab. 4.1 – Tableau des jeux de dialogue qu’un agent x doit utiliser pour modifier l’etat

des differents types d’engagements.

Page 74: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 65

4.3.7 Jeux avec negociation

Avec les jeux de base que nous avons presentes a la section 4.3.3, il est impossible

pour les agents de negocier le contenu d’un engagement. En effet, un agent qui accepte

de jouer un des jeux de base se doit d’accepter ou de refuser l’engagement qui lui

est propose, il ne peut pas faire de contre-proposition. Meme si seulement une partie

de l’engagement ne lui convient pas, il doit tout de meme refuser sa creation. Pour

resoudre ce probleme, nous avons cree quatre jeux de dialogue avec negociation qui sont

des extensions des quatre jeux de bases (requete, offre, question et information). Ces

jeux, tout comme les jeux de base, permettent de creer les quatre types d’engagements,

mais permettent egalement de negocier le contenu de l’engagement. Dans cette section,

nous allons nous contenter de presenter le jeu de requete avec negociation, car le meme

principe s’applique pour tous les jeux avec negociation que nous avons definis.

Tout comme le jeu de requete de base, le jeu de requete avec negociation permet

a un agent x de creer un engagement en action de y envers x. Cependant, le jeu de

requete avec negociation permet a l’agent y qui recoit la requete d’effectuer une contre-

proposition pour entrer dans un cycle de negociation. Dans le but de bien saisir le

principe et l’interet des jeux avec negociation, regardons un exemple d’utilisation du

jeu de requete avec negociation.

Supposons qu’un agent x desire qu’un agent y s’engage a reparer son ordinateur

pour une certaine date (16 avril) et un certain montant (150$). Supposons maintenant

que l’agent y soit d’accord pour reparer l’ordinateur, mais qu’il lui est impossible de

le reparer pour le 16 avril. Dans cet exemple, l’agent x doit donc determiner le jeu de

dialogue a utiliser pour obtenir l’engagement C(y, x, ReparerOrdi(y, 16 avril, 150$)).

Dans notre cas, l’agent x peut choisir d’utiliser le jeu de requete de base qui a ete

presente a la section 4.3 ou utiliser le jeu de requete avec negociation.

Si l’agent x utilise le jeu de requete de base pour obtenir cet engagement, alors l’agent

y peut seulement accepter ou refuser la creation de l’engagement. Il devrait alors re-

fuser la requete de l’agent x et l’agent x ne saurait pas vraiment pourquoi sa requete

a ete refusee. D’autre part, si l’agent x utilise le jeu de requete avec negociation, alors

l’agent y peut effectuer une contre-proposition plutot que de refuser l’engagement. Par

exemple, l’agent y peut effectuer sa contre-proposition en proposant de creer l’engage-

ment C(y, x, ReparerOrdi(y, 20 avril, 100$)) plutot que l’engagement qui a ete propose

initialement. A l’aide de cette contre-proposition, l’agent y propose de retarder la date

de la reparation, mais offre un meilleur prix ce qui risque d’interesser l’agent x. Suite

a cette contre-proposition, l’agent x peut accepter la contre-proposition, effectuer une

nouvelle requete en tenant compte des preferences de l’agent y ou refuser de negocier.

Page 75: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 66

Les conditions et les regles du jeu de requete avec negociation sont presentees a la

figure 4.12. Les conditions d’entree, de succes et d’echec sont identiques a celles du jeu

de requete de base. Au niveau des regles, on remarque que l’agent qui recoit une requete

a maintenant trois choix. Il peut refuser ou accepter la requete comme il pouvait le faire

avant, mais il peut egalement faire une contre-proposition en utilisant l’action counter

(regle 2). Le contenu de la contre-proposition est une nouvelle action qui contient les

memes parametres que l’action initiale. Cependant, les parametres de la nouvelle action

peuvent prendre des valeurs differentes de ceux de l’action initiale. En proposant une

nouvelle action, l’agent qui effectue la contre-proposition suggere alors la creation d’un

engagement different de celui qui etait desire au depart par l’agent initiateur du jeu

de dialogue. Dans l’exemple precedent, l’action ReparerOrdi contient les parametres

date et prix, mais les valeurs de ces parametres ne sont pas les memes dans les deux

engagements. Par exemple, le parametre date prend la valeur “16 avril” dans le premier

engagement tandis qu’il prend la valeur “20 avril” dans le deuxieme. Suite a une contre-

proposition un agent a trois choix : il peut simplement accepter la contre-proposition,

deliberer et proposer une requete modifiee pour tenter de satisfaire l’agent qui a fait la

contre-proposition ou carrement refuser la contre-proposition (regle 3).

NegociationRequest game (nrg)

Enrg ¬C(y, x, α, tc) and ¬C(y, x,¬α, tc) ∀ tc , tc < tj

Snrg C(y, x, α, tf)

Fnrg ¬C(y, x, α, tf)

Rnrg 1) Cg(x, y, request(x, y, α), tj)

2) Cg(y, x, request(x, y, α)⇒

Cg(y, x, accept(y, x, α)|refuse(y, x, α)|counter(y, x, α′), tk), tj)

3) Cg(x, y, counter(y, x, α)⇒

Cg(x, y, accept(x, y, α)|refuse(x, y, α)|request(x, y, α′), tl), tj)

4) Cg(y, x, accept(y, x, α)⇒ C(y, x, α, tf), tj)

5) Cg(y, x, refuse(y, x, α)⇒ ¬C(y, x, α, tf), tj)

6) Cg(y, x, refuse(x, y, α)⇒ ¬C(y, x, α, tf), tj)

Fig. 4.12 – Les conditions et regles du jeu de requete avec negociation.

La figure 4.13 nous permet de bien visualiser les regles du jeu de requete avec

negociation. La figure presente les sequences possibles d’actions a l’interieur du jeu.

Nous voyons tres bien sur la figure comment les agents peuvent entrer dans un cycle

de negociation. Les agents qui desirent negocier et qui en ont la capacite peuvent donc

utiliser le jeu de requete avec negociation, tandis que les agents qui ne desirent pas

negocier peuvent tout simplement utiliser le jeu de requete de base.

Page 76: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 67

request(x,y,...)

accept(y,x,...)

refuse(y,x,...)

counter(y,x,...) refuse(x,y,...)

accept(x,y,...)

Fig. 4.13 – Regles du jeu de requete avec negociation.

4.4 Mise en place et composition des jeux

Maintenant que les jeux de dialogue qui forment le langage DIAGAL ont ete presen-

tes, nous devons a present decrire comment les agents qui utilisent DIAGAL peuvent

se servir de ces jeux. Dans les faits, les agents ont a leur disposition differents meta-

actes qui leur permettent d’utiliser correctement les jeux de dialogue. Ces meta-actes

permettent aux agents de proposer, d’accepter ou de refuser l’entree ou la sortie d’un

jeu. Un jeu peut donc etre propose, ouvert ou ferme et c’est un meta-jeu nomme jeu

de contextualisation qui permet aux agents de modifier l’etat des jeux (Maudet, 2001).

Le jeu de contextualisation est d’autant plus important que le langage DIAGAL offre

la possibilite de combiner les jeux de dialogue de differentes facons. Dans cette section

nous allons donc debuter en presentant le jeu de contextualisation qui permet la mise en

place des jeux. Nous allons ensuite presenter les differentes possibilites de combinaison

de jeux et nous terminons la section en presentant un exemple de conversation entre

deux agents utilisant DIAGAL.

4.4.1 Jeu de contextualisation

Comme nous venons de le mentionner, le jeu de contextualisation permet aux agents

de modifier l’etat des jeux (propose, ouvert, ferme). En fait, ce jeu offre differents actes

Page 77: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 68

de contextualisation que les agents peuvent utiliser pour mettre en place les jeux de

dialogue. Regardons donc les actes du jeu de contextualisation qu’un agent x peut

utiliser et les consequences de ces actes :

– propEntree(x, y, j) : Cet acte permet a un agent x de proposer a un agent y de

jouer le jeu j. Suite a ce coup, le jeu passe dans l’etat propose et l’agent y doit

accepter de jouer le jeu j, refuser de jouer le jeu j ou proposer de jouer un autre

jeu j′. Si y propose un autre jeu, nous entrons dans une structuration de dialogue

nommee pre-sequencement que nous allons presenter a l’interieur de la prochaine

sous-section.

– accEntree(x, y, j) : Cet acte permet a un agent x d’accepter de jouer un jeu j

propose par un agent y. Si ce coup est joue, alors l’ensemble des engagements qui

forment les regles du jeu j sont crees et le jeu passe dans l’etat ouvert. Les agents

doivent donc respecter les regles du jeu de dialogue, car ils ont accepte de le jouer.

Nous pouvons dire que les deux agents sont engages a jouer le jeu.

– refEntree(x, y, j) : Cet acte permet a un agent x de refuser de jouer un jeu j

propose par un agent y. Un agent x peut jouer ce coup s’il est deja occupe et qu’il

n’a pas le desir de dialoguer ou s’il n’a pas les ressources necessaires pour jouer le

jeu de dialogue j.

– propSortie(x, y, j) : Cet acte permet a un agent x de proposer a un agent y de

sortir d’un jeu j. Suite a ce coup, l’agent y doit accepter ou refuser la sortie

du jeu. Les agents qui participent a un jeu de dialogue sont automatiquement

engages a proposer la sortie du jeu lorsque les conditions de succes ou d’echec

du jeu sont atteintes. En fait, le jeu de contextualisation cree deux engagements

conditionnels lors de l’ouverture du jeu j et ce sont ces deux engagements qui

engagent les agents a proposer la sortie du jeu lorsque les conditions de succes ou

d’echec du jeu sont atteintes.

– accSortie(x, y, j) : Cet acte permet a un agent x d’accepter la sortie d’un jeu j

lorsque celle-ci est proposee par un agent y. Le jeu de dialogue passe dans l’etat

ferme et tous les engagements qui forment les regles du jeu j sont annules lorsque

l’agent x joue ce coup.

– refSortie(x, y, j) : Cet acte permet a un agent x de refuser la sortie d’un jeu

j lorsque celle-ci est proposee par un agent y. Le jeu de dialogue demeure donc

ouvert suite a ce coup de l’agent x.

Maintenant que les differents actes du jeu de contextualisation ont ete presentes, il est

interessant d’observer les liens qui existent entre ces actes. La figure 4.14 presente le

jeu de contextualisation sous la forme d’un reseau de transitions. Cette figure presente

l’evolution de l’etat d’un jeu en fonction des actes du jeu de contextualisation utilises.

Page 78: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 69

propEntrée

refEntrée accEntrée

poursuit

refSortie

accSortiepropSortie

Proposé Ouvert Fermé

Fig. 4.14 – Le jeu de contextualisation de Maudet (2001).

En somme, les agents qui desirent utiliser les jeux de dialogue doivent se servir du

jeu de contextualisation. Le jeu de contextualisation est donc un meta-jeu qui permet

de manipuler les differents jeux de dialogue pour former des conversations.

4.4.2 Combinaison de jeux

Maintenant que le meta-jeu de contextualisation a ete presente, il est interessant de

regarder comment les differents jeux de dialogue peuvent etre combines a partir d’un

tel meta-jeu. En effet, il est possible de composer les jeux de differentes facons pour

permettre aux agents de former des conversations plus complexes. C’est d’ailleurs cette

possibilite de combiner les jeux de dialogue qui justifie l’utilisation de ceux-ci pour

definir un langage de communication agent. Observons donc en detail les differentes

combinaisons de jeux qui sont autorisees par le langage DIAGAL.

Sequencement

Le sequencement de jeu est tres simple et tres naturel. Le sequencement est note

j1; j2 et signifie que le jeu j2 debute immediatement apres la terminaison de j1. Le

sequencement permet aux agents d’aligner une sequence de jeu pour modifier l’etat de

plusieurs engagements. Si, par exemple, un agent desire creer trois engagements parti-

culiers et independants, il devra utiliser une sequence de trois jeux qui permettent de

creer ces engagements.

Pre-sequencement

Le pre-sequencement est similaire au sequencement sauf que le premier jeu d’un

pre-sequencement doit se terminer avec succes pour qu’on joue le deuxieme. Le pre-

Page 79: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 70

sequencement est note j1 ; j2 et signifie que j1 est ouvert alors que j2 a ete propose.

Si j1 se termine avec succes alors le jeu j2 est ouvert. Par ailleurs, on ignore le jeu j2

si j1 se termine par un echec. Une des utilites du pre-sequencement est de jouer un jeu

de dialogue pour s’assurer d’avoir les conditions d’entree necessaires pour pouvoir jouer

un autre jeu.

Choix

Le choix est note j1|j2 et signifie que les participants doivent tout simplement choisir

de jouer le jeu j1 ou le jeu j2. Un agent peut alors choisir le jeu qui lui convient le mieux

selon les circonstances et selon les choix qui lui sont offerts.

Emboıtement

L’emboıtement est probablement la combinaison de jeu la plus interessante du lan-

gage DIAGAL. L’emboıtement, comme son nom l’indique, permet d’emboıter un nou-

veau jeu a l’interieur d’un jeu deja ouvert. L’emboıtement est note j2 < j1 et signifie

que le jeu j2 est ouvert alors que le jeu j1 etait deja ouvert. Le jeu j2 est nomme jeu

emboıte tandis que le jeu j1 est nomme jeu emboıtant. Lors d’un emboıtement, le jeu

emboıte devient prioritaire et le jeu emboıtant demeure ouvert, mais est suspendu. Lors

de la fermeture du jeu emboıte, le jeu emboıtant retrouve son statut de jeu courant et

se poursuit normalement. L’emboıtement est tres utile, car il permet aux agents qui

doivent prendre une decision a l’interieur d’un jeu particulier, d’emboıter un autre jeu

pour obtenir de l’information leur permettant de prendre leur decision.

Pour bien comprendre l’utilite de l’emboıtement, regardons un exemple. Supposons

qu’un agent x demande a un agent y s’il desire l’accompagner au restaurant. L’agent x

effectue cette demande en utilisant un jeu de requete pour tenter d’engager l’agent y a

se presenter au restaurant. L’agent y, suite a cette requete, doit prendre une decision et

determiner si oui ou non il accepte la requete et s’engage a se presenter au restaurant.

Cependant, l’agent y desire peut-etre avoir plus d’informations pour prendre sa decision.

Il peut, par exemple, se demander a quel restaurant aura lieu le repas. Pour obtenir

cette information, l’agent y peut tout simplement emboıter un jeu de question et, suite

a la reponse de l’agent x, prendre sa decision et accepter ou non l’invitation de x.

4.4.3 Exemple de conversation

Afin d’illustrer correctement comment fonctionne le langage DIAGAL nous analy-

sons ici un exemple de conversation entre deux agents (x et y). Dans notre exemple,

l’agent x possede une voiture et desire la faire reparer par l’agent y. Il desire donc que

l’agent y s’engage a reparer sa voiture. Par consequent, l’agent x propose a l’agent y de

Page 80: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 71

jouer un jeu de requete car les conditions de succes du jeu de requete correspondent au

type d’engagement desire par l’agent x. Pour proposer a l’agent y de jouer un jeu de

requete, l’agent x utilise l’acte propEntree(x, y, rg1) du jeu de contextualisation. Suite

a ce coup, le gestionnaire de dialogue de l’agent y ajoute, selon les regles du jeu de

contextualisation, l’engagement C(y, x, accEntree(y, x, rg1)|refEntree(y, x, rg1)|prop-

Entree(y, x, g′)) dans son agenda. L’agent y est donc engage envers l’agent x et a trois

choix d’action pour remplir son engagement : accepter de jouer le jeu, refuser de jouer

le jeu ou proposer de jouer un autre jeu (pre-sequence). Dans notre exemple, nous

supposons que l’agent y accepte de jouer le jeu ce qui veut dire que y a le desir et les

ressources pour entretenir un dialogue avec l’agent x. Suite a l’acceptation de y de jouer

le jeu, les gestionnaires de dialogue des deux agents ajoutent les differentes regles du

jeu de requete (engagements dialogiques et conditionnels presentes a la section 4.3) a

leur agenda respectif. La premiere regle indique que l’agent x doit formuler une requete

(C(x, y, request(x, y, α))) a l’agent y. L’agent x formule donc cette requete pour remplir

son engagement dialogique. La deuxieme regle indique que l’agent y doit accepter ou

refuser les requetes de l’agent x. Cependant, avant de repondre a la requete de l’agent

x, l’agent y desire s’assurer que l’agent x va le payer s’il accepte la requete et repare la

voiture. Pour s’assurer de ce fait, l’agent y decide donc d’emboıter un nouveau jeu de

requete a l’interieur du jeu en cours pour engager x a le payer si la voiture est reparee.

Agent x Agent y

prop.entrée( x, y, rg1)

acc.entrée( y, x, rg1)

request( x, y, )

prop.entrée( y, x, rg2)

acc.entrée( x, y, rg2)

request( x, y, -> )

accept( x, y, -> )

prop.sortie( y, x, rg2)

acc.sortie( x, y, rg2)

accept( y, x, )

prop.sortie( x, y, rg1)

acc.sortie( y, x, rg1)

Jeu d

e r

equête

1 (

rg1

)

Je d

e r

equête

2 (

rg2

)

1

2

3

4

5

6

7

8

9

10

11

12

Fig. 4.15 – Exemple de conversation.

La conversation se poursuit donc selon les regles des jeux de dialogue et du jeu de

contextualisation et selon les decisions des agents. Finalement, a la fin de la conversa-

Page 81: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 72

tion, deux engagements en action sont crees : C(y, x, α) et C(x, y, α ⇒ β). Dans ces

engagements, le symbole α represente l’action ReparerVoiture tandis que β represente

l’action PayerReparation. La conversation complete entre les deux agents est presentee

a l’aide d’un diagramme de sequence a la figure 4.15. De son cote, le tableau 4.2 presente

les differentes mises a jour effectuees par les gestionnaires de dialogue des agents sur

leur agenda en fonction des tours de dialogue qui sont indiques sur la figure 4.15.

Tour Action du gestionnaire de dialogue sur l’agenda des agents

1 Cree C(y, x, accEntree(y, x, rg1)|refEntree(y, x, rg1)|propEntree(y, x, g′), t1)

2Satisfait l’engagement du tour precedent (tour 1)

Cree les engagements dialogiques du jeu de requete 1 (Les regles)

3Satisfait la premiere regle du jeu de requete 1

Cree C(y, x, accept(x, y, α)|refuse(x, y, α), t3) (2e regle de rg1)

4 Cree C(x, y, accEntree(x, y, rg2)|refEntree(x, y, rg2)|propEntree(x, y, g′), t4)

5Satisfait l’engagement du tour precedent (tour 4)

Cree les engagements dialogiques du jeu de requete 2 (Les regles)

6Satisfait la premiere regle du jeu de requete 2

Cree C(x, y, accepte(x, y, α⇒ β)|refuse(x, y, α⇒ β), t6) (2e regle de rg2)

7Satisfait l’engagement du tour precedent (tour 6)

Cree C(x, y, α⇒ β, t7)

8 Cree C(x, y, accSortie(x, y, rg2)|refSortie(x, y, rg2), t8)

9Satisfait l’engagement du tour precedent (tour 8)

Retire les engagements dialogiques du jeu de requete 2

10Satisfait l’engagement cree au troisieme tour

Cree C(y, x, α, t10)

11 Cree C(y, x, accSortie(y, x, rg1)|refSortie(y, x, rg1), t11)

12Satisfait l’engagement du tour precedent (tour 11)

Retire les engagements dialogiques du jeu de requete 1

Tab. 4.2 – Tableau des operations effectuees sur les agendas des agents.

4.5 Conclusion

Dans ce chapitre, nous avons presente en detail notre langage de communication

agent nomme DIAGAL. Pour ce faire, nous avons tout d’abord defini la notion d’enga-

gement pour en venir a presenter la structure des jeux de dialogue ainsi que l’ensemble

des jeux qui forment notre langage. Nous avons par la suite presente le jeu de contex-

Page 82: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 4. Le langage DIAGAL 73

tualisation qui permet la mise en place des jeux pour terminer le chapitre en enumerant

les differentes combinaisons possibles de jeux du langage DIAGAL.

Ainsi, nous avons montre que le langage DIAGAL offre tous les outils necessaires

pour permettre aux agents de manipuler les engagements de la couche sociale. Avec un

tel bagage, DIAGAL peut constituer un bon langage de communication agent pouvant

etre utilise a l’interieur de SMA ouverts. En effet, comparativement aux langages de

communication agents bases sur les etats mentaux, le langage DIAGAL ne prend au-

cunement compte du mecanisme de decision et de l’architecture des agents. Un agent

qui desire utiliser le langage DIAGAL doit simplement :

– Posseder un agenda et un gestionnaire de dialogue pour interpreter correctement

les differents messages qu’il recoit (selon les regles du langage) et effectuer conve-

nablement les modifications de son agenda pour etre informe de l’etat de la couche

sociale.

– Connaıtre le modele d’engagements qui est utilise a l’interieur du langage DIA-

GAL.

– Respecter le systeme de sanction qui est attache aux engagements.

Bien entendu, le langage DIAGAL peut etre utilise de differentes facons pour permettre

aux agents de communiquer a l’interieur d’un SMA. En fait, dans l’etat actuel des

choses, il pourrait etre utilise d’au moins trois facons differentes :

1. Il peut etre utilise pour specifier des protocoles de communications a partir de

combinaisons de jeux de dialogue. Le langage DIAGAL a d’ailleurs ete utilise pour

specifier le protocole de demande d’action de Winograd et Flores (Chaib-draa et al.,

2003b).

2. Le langage DIAGAL peut egalement etre utilise dynamiquement comme langage

de communication agent. DIAGAL, a notamment servi a valider une theorie de

la pragmatique de la communication agent (Pasquier et al., 2003).

3. Le langage DIAGAL peut aussi etre utilise par des agents qui utilisent la dyna-

mique des engagements pour orienter leurs conversations. Nous allons voir dans

le chapitre 5 le concept de reseau d’engagements qui permet de specifier le com-

portement dialogique des agents d’un SMA a partir des liens qui existent entre

les engagements contenus dans le systeme.

En somme, le langage DIAGAL est un langage flexible qui offre de nombreuses possibi-

lites au concepteur de SMA. Un simulateur de conversation a d’ailleurs ete developpe

pour nous permettre d’analyser en profondeur l’utilisation du langage DIAGAL comme

langage de communication a l’interieur d’un SMA. Nous presenterons le simulateur et

nous donnerons un apercu des possibilites de son utilisation au chapitre 6.

Page 83: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5

Les reseaux d’engagements

5.1 Introduction

Malgre l’emergence des langages de communication agent dont la semantique se

base sur les engagements sociaux, l’utilisation de ces memes engagements sociaux pour

modeliser le dialogue agent ne semble pas avoir attire les differents chercheurs du do-

maine. En effet, mis a part Wan et Singh (2003) qui ont propose une methodologie qui

permet de deduire les engagements ainsi que les liens existant entre eux a partir d’un

exemple de conversation, peu de chercheurs se sont reellement interesses aux liens qui

peuvent exister entre les differents engagements pouvant etre contractes dans un SMA

pour specifier le comportement dialogique des agents qui composent un tel systeme.

De notre cote, nous croyons qu’il est interessant de considerer les engagements

que peuvent avoir les uns envers les autres dans un SMA (et ce pour une appli-

cation visee) plutot que dans un exemple de conversation limite. Comparativement

a El Fallah Seghrouchni et al. (1998); El Fallah Seghrouchni et Mazouzi (1999) qui

etudient la dynamique des interactions (causalite entre les evenements d’une conversa-

tion) pour analyser les dialogues entre agents, nous proposons d’etudier la dynamique

(causalite entre les engagements) pour specifier les interactions. En repertoriant l’en-

semble des engagements pouvant exister dans un SMA nous pourrions, a partir de la

description de celui-ci, determiner les liens de causalite qui existe entre les engagements

et former un reseau d’engagements du systeme. Plutot que de suivre des protocoles de

communication precis, les agents d’un systeme pourraient alors reflechir sur les engage-

ments en observant le reseau pour orienter leurs conversations.

Dans ce chapitre, nous allons donc presenter les reseaux d’engagements qui per-

Page 84: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 75

mettent de specifier implicitement le comportement dialogique des agents d’un systeme.

Nous allons tout d’abord presenter le concept de reseau d’engagements, pour ensuite

donner un exemple d’application de celui-ci. Nous allons par la suite presenter notre

modele d’agent qui a ete developpe pour creer des agents qui interagissent en utilisant

les reseaux d’engagements et le langage DIAGAL qui a ete presente au chapitre 4.

Nous discutons finalement de l’interet des reseaux d’engagements en les comparant a

differentes methodes qui ont ete elaborees pour modeliser le dialogue agent.

5.2 Le concept de reseau d’engagements

Comme les jeux de dialogue du langage DIAGAL se basent sur les engagements, il est

interessant de regarder comment nous pourrions specifier le comportement dialogique

des agents d’un SMA a partir de ces memes engagements. En fait, il est interessant

d’etudier les liens qui existent entre les differents engagements pouvant etre etablis a

l’interieur du SMA lui-meme. On peut par exemple se demander a quel moment un agent

doit tenter d’obtenir un engagement particulier ou quand doit-il tenter de modifier un

engagement existant. En fait, a l’interieur d’un SMA, il est possible et meme probable

que le fait de modifier l’etat d’un engagement pousse un agent a tenter de modifier l’etat

d’un autre engagement. Par exemple, l’annulation d’un engagement Ci peut amener un

agent a effectuer une tentative de creation d’un autre engagement Cj.

Il est donc interessant de repertorier les consequences des changements d’etats de

tous les engagements au sein d’un SMA pour etudier la dynamique d’un tel systeme en

etudiant la dynamique des engagements qui le composent. De plus, comme les jeux de

dialogue permettent aux agents de manipuler les engagements sociaux, nous pouvons

tenter de specifier le comportement dialogique des agents d’un systeme en etudiant la dy-

namique des engagements qui les concernent. En effet, l’utilisation de DIAGAL comme

langage de communication implique que les conversations entre agents sont naturelle-

ment dirigees par la dynamique des engagements. Il est donc possible, en repertoriant

les consequences des changements d’etat de tous les engagements d’un SMA, de for-

mer un reseau d’engagements qui fait ressortir les liens entre ces derniers. Les agents

peuvent alors observer et utiliser le reseau d’engagements qui a ete defini pour diriger

leurs conversations a l’interieur du SMA. Cette section vise donc a presenter le concept

de reseau d’engagements et nous la debutons en regardant de plus pres comment est

defini un reseau d’engagements.

Page 85: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 76

5.2.1 Definitions

Avant de montrer comment un reseau d’engagements est defini, il est important de

definir quelques concepts. Nous devons tout d’abord definir les ensembles suivants :

– A = {a1, a2, . . . , ak} represente l’ensemble des agents presents a l’interieur d’un

SMA.

– C = {c1, c2, . . . , cn} represente l’ensemble des engagements pouvant exister a

l’interieur d’un SMA.

– S = {Ina, Crt, Cnl, Rel, Ful, Vio, Fal} represente l’ensemble des etats que

peuvent prendre les engagements. Ces differents etats ont ete presentes au cha-

pitre 4.

Nous devons egalement definir les notions de cause de modification d’etat et de desir

de modification d’etat :

– Une cause de modification d’etat d’un engagement est representee par un triplet

du type (a, c, s)cau ou a ∈ A, c ∈ C et s ∈ S. Le triplet (a, c, s)cau indique que

l’agent a est la cause du passage de l’engagement c dans l’etat s. Cette modification

d’etat est observee par le debiteur et le crediteur de l’engagement c lorsqu’elle se

produit.

– Un desir de modification d’etat d’un engagement est represente par un triplet du

type (a, c, s)des ou a ∈ A, c ∈ C et s ∈ S. Le triplet (a, c, s)des indique que l’agent

a desire faire passer l’engagement c dans l’etat s si c’est possible.

Nous pouvons maintenant definir le concept de reseau d’engagements. Un reseau d’en-

gagements W = (A, C, L) est determine par :

1. Un ensemble d’agents A.

2. Un ensemble d’engagements C.

3. Un ensemble L de couples du type ((a1, c1, s1)cau, (a2, c2, s2)des) ou a1, a2 ∈ A,

c1, c2 ∈ C et s1, s2 ∈ S . En fait, cet ensemble contient les differents liens de causa-

lite qui existent entre les differents engagements du reseau. Le lien ((a1, c1, s1)cau,

(a2, c2, s2)des) indique que l’agent a2 doit desirer que l’engagement c2 passe dans

l’etat s2 s’il constate que l’engagement c1 passe dans l’etat s1 a cause de l’agent

a1.

5.2.2 Exemple

Supposons qu’un SMA contient trois agents (ag1, ag2 et ag3) et qu’il existe seulement

deux engagements existant dans ce SMA : C1 = C(ag1, ag2, α) et C2 = C(ag1, ag3, β).

Page 86: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 77

Supposons maintenant que la creation (passage dans l’etat cree) de l’engagement C1

par l’agent ag2 entraıne, dans notre SMA, l’annulation (passage dans l’etat annule) de

l’engagement C2 par l’agent ag1. Nous pouvons, a partir de ces informations, determiner

le reseau d’engagements du systeme. Le reseau d’engagements Wex1= (Aex1

, Cex1, Lex1

)

de cet exemple se definit comme suit :

1. Aex1= {ag1, ag2, ag3}

2. Cex1= {C1,C2}

3. Lex1= {((ag2, C1, Crt)cau, (ag1, C2, Cnl)des)}

Si l’agent ag1 constate que l’engagement C1 est cree par l’agent ag2 et qu’il (agent ag1)

desire faire progresser le systeme en suivant le reseau d’engagements, alors il devra

tenter d’annuler l’engagement C2. En fait, il devra proposer a l’agent ag3 de jouer le jeu

annuleEAction car, comme on l’a vu a la section precedente, c’est ce jeu qui permet a

un debiteur d’annuler un engagement en action.

5.2.3 Representation graphique des reseaux d’engagements

Nous avons developpe une methode graphique qui s’inspire des diagrammes de causa-

lite entre engagements de Wan et Singh (2003) et qui permet de representer les reseaux

d’engagements d’une facon intuitive. Notre methode permet de representer les engage-

ments et de les lier par les differentes operations pouvant etre effectuees sur eux par

l’intermediaire des differents etats qu’ils peuvent prendre.

Tout d’abord, un engagement est simplement represente par un cercle contenant

l’identifiant unique de l’engagement ainsi que le debiteur et le crediteur de celui-ci.

Une fleche entre deux engagements est ajoutee si une modification de l’etat du premier

engagement est la cause d’un desir de modification de l’etat du deuxieme engagement.

Nous allons utiliser le reseau de l’exemple precedent pour illustrer comment un lien entre

deux engagements est represente a l’aide de notre methode graphique. On retrouve la

version graphique du reseau d’engagements de l’exemple a la figure 5.1. Le lien entre

les deux engagements signifie que la creation (ag2:Crt) de l’engagement C1 par l’agent

ag2 est la cause de l’annulation (ag1:Cnl) de l’engagement C2 par l’agent ag1.

Nous constatons donc que l’on peut, a l’aide de cette methode graphique, representer

simplement un reseau d’engagements qui definit les liens existants entre les differents

engagements pouvant exister dans un SMA. Un agent desirant suivre le reseau doit

donc, en fonction des modifications d’etats d’engagements qu’il observe, entamer les

bonnes conversations avec les bons intervenants dans le but de faire progresser le SMA.

Page 87: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 78

(ag2:Crt)

C1

ag1,ag2 (ag1:Cnl)

C2

ag1,ag

3

Fig. 5.1 – Lien de causalite entre deux engagements.

En fait, l’agent doit proposer l’ouverture des bons jeux de dialogue en fonction des

modifications d’etats observees et desirees.

Maintenant que nous avons presente le concept de reseau d’engagements, nous allons

montrer, a l’aide d’un exemple, comment les reseaux d’engagements peuvent etre utilises

pour specifier les conversations d’un SMA.

5.3 Exemple du festival d’ete de Quebec

Pour bien saisir l’interet des reseaux d’engagements, il est important de considerer

un systeme plus complexe que celui de l’exemple precedent. En fait, nous pourrions

nous servir des reseaux d’engagements pour modeliser la dynamique des systemes d’in-

formations. En effet, dans de tels systemes, les participants s’engagent a realiser cer-

taines actions, font des promesses, posent des questions, etc. . . Les participants doivent

donc manipuler differents engagements pour effectuer correctement leurs taches dans

le systeme. L’exemple que nous allons presenter dans ce memoire concerne l’organi-

sation d’un festival d’ete. Nous voulons que les taches a realiser (invitation des ar-

tistes, reservation des chambres, . . . ) pour organiser correctement le festival soient ef-

fectuees par des agents logiciels. Nous allons donc debuter cette section en presentant

les differents agents impliques dans le SMA du festival pour ensuite decrire en detail

les differentes taches effectuees par ces agents. Nous allons par la suite observer les

engagements qui sont contenus implicitement dans la description du SMA vise pour en

venir a former le reseau d’engagements de l’exemple du festival.

5.3.1 Les agents du festival

L’exemple du festival concerne l’organisation d’un festival d’ete d’une duree de

quelques jours. La tache principale de l’organisation du festival est l’invitation des

Page 88: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 79

differents artistes et cette tache est executee par un agent planificateur. L’agent pla-

nificateur se doit d’inviter differents agents artistes pour remplir chacune des plages

horaires du festival. Dans les faits, le SMA de l’exemple du festival d’ete de Quebec

contient cinq types d’agents ayant chacun des taches particulieres, ces agents sont les

suivants :

1. Agent artiste (ari) : Ce type d’agent represente un artiste qui peut etre invite a

participer au festival. Comme il existe plusieurs agents de ce type, nous utilisons

l’indice i pour differencier les differentes instances d’artiste. Un artiste peut ac-

cepter ou non l’invitation qui lui est offerte et negocier differents details de cette

invitation comme l’horaire et le cachet de sa prestation.

2. Agent planificateur (pl) : Ce type d’agent est responsable de l’organisation du festi-

val. Il doit, entre autres, trouver et inviter les differents artistes pour les differentes

plages horaires du festival. Il doit egalement offrir aux artistes de reserver leur

chambre d’hotel et leur billet d’avion. Le planificateur est egalement le patron

de l’agent secretaire. En somme, il doit s’assurer que l’organisation du festival se

deroule correctement.

3. Agent secretaire (sc) : Ce type d’agent doit s’assurer que les differentes demandes

des artistes sont respectees. Il doit, entre autres, reserver les chambres d’hotel et

les billets d’avion. En fait, c’est l’agent secretaire qui doit contacter les agents hotel

et les agents agence de voyage pour effectuer les reservations. L’agent secretaire

doit egalement contacter les agents artiste pour regler le paiement des differentes

reservations.

4. Agent hotel (hti) : Un agent de ce type represente un hotel. C’est a ce type d’agent

que doit s’adresser l’agent secretaire s’il desire reserver une chambre d’hotel. Nous

utilisons l’indice i pour differencier les differentes instances d’hotel.

5. Agent agence de voyage (avi) : Un agent de ce type represente une agence de

voyage. C’est a ce type d’agent que doit s’adresser l’agent secretaire s’il desire

reserver un billet d’avion. Nous utilisons l’indice i pour differencier les differentes

instances d’agence de voyage.

A l’interieur des prochaines sections, nous allons generalement omettre le terme

agent pour identifier les differents intervenants de l’exemple du festival. Nous laissons

de cote le terme agent pour ne pas alourdir le texte inutilement. Il faut cependant

garder en tete que, lorsque nous parlons d’un artiste, nous parlons en fait d’un agent

artiste.

Page 89: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 80

5.3.2 Description de l’exemple du festival

Dans le but de decrire correctement le SMA de l’exemple du festival et de bien definir

les taches que les differents agents doivent effectuer, nous avons decoupe l’exemple du

festival en trois parties : invitation d’un artiste, offre de services a l’artiste et reservation

des services demandes par l’artiste. Il est donc important de debuter notre analyse de

l’exemple du festival en donnant une description precise de chacune de ces parties.

Invitation d’un artiste

Tout d’abord, l’invitation d’un artiste est realisee par le planificateur. C’est le plani-

ficateur qui est responsable de trouver les differents artistes pour remplir les differentes

plages horaires du festival. En premier lieu, le planificateur doit s’informer en vue de

savoir si l’artiste est interesse a participer au festival et tenter de s’entendre avec lui

sur la date et l’heure de la prestation. Le planificateur et l’artiste doivent donc negocier

pour tenter de trouver un terrain d’entente. Par la suite, le planificateur et l’artiste

doivent s’entendre sur le cachet qui sera verse pour la prestation si ce dernier accepte

de se presenter au festival.Dans ce contexte, l’invitation d’un artiste est dite reussie si

le planificateur et l’artiste reussissent a s’entendre sur une plage horaire et un cachet.

Offre de services a l’artiste

Lorsque la phase d’invitation de l’artiste est completee, le planificateur doit egale-

ment demander a l’artiste s’il desire un billet d’avion et une chambre d’hotel. Dans les

faits, le planificateur offre a l’artiste de reserver son billet d’avion et sa chambre d’hotel.

Le planificateur doit, par la suite, fournir les preferences de l’artiste a l’agent secretaire

pour qu’il puisse effectuer les reservations correctement.

Reservation des services demandes par l’artiste

C’est l’agent secretaire qui est responsable de la reservation des chambres d’hotel

et des billets d’avion. L’agent secretaire doit donc entrer en contact avec les differents

hotels et les differentes agences de voyage et effectuer les reservations. Lorsque les

reservations sont effectuees, l’agent secretaire doit contacter l’artiste pour lui demander

d’effectuer les paiements pour les differents services demandes.

5.3.3 Les engagements de l’exemple du festival

Pour bien definir le reseau d’engagements de l’exemple du festival, nous devons tout

d’abord faire ressortir de la description des taches, les differents engagements que les

agents doivent manipuler. Nous allons donc enumerer l’ensemble des engagements qui

Page 90: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 81

sont caches dans les descriptions des differentes parties de l’organisation du festival que

nous venons de presenter.

Invitation d’un artiste

Lors de la phase d’invitation d’un artiste, le planificateur doit d’abord inviter l’ar-

tiste pour tenter de l’engager a se presenter au festival. Si l’artiste accepte de venir au

festival, le planificateur doit s’engager a payer l’artiste pour sa prestation. Nous consta-

tons donc que l’invitation d’un artiste peut mener a la creation de deux engagements

differents. Ceux-ci sont presentes dans le tableau 5.1.

Id Engagement Description

C1 C(ari, pl, ComeToFest(ari, date, time))

L’engagement de l’artiste ari

envers le planificateur a se

presenter au festival

C2 C(pl, ari, PayFee(pl, ari, fee))L’engagement du planificateur

envers l’artiste ari a le payer

Tab. 5.1 – Engagements pouvant etre crees lors de l’invitation d’un artiste.

Offre de services a l’artiste

Pour demander a l’artiste s’il desire un billet d’avion et une chambre d’hotel, l’agent

planificateur offre a l’artiste de s’engager a lui reserver une chambre d’hotel et a lui

reserver un billet d’avion. Si l’artiste accepte une des offres, c’est qu’il desire le ser-

vice offert. Par la suite, selon les desirs de l’artiste, le planificateur demande a l’agent

secretaire de s’engager a reserver le billet d’avion et la chambre d’hotel pour l’artiste.

Nous constatons donc que l’offre de services a l’artiste peut mener a la creation de

quatre engagements differents. Ceux-ci sont presentes dans le tableau 5.2.

Reservation des services demandes par l’artiste

Dans la phase de reservation des services demandes, l’agent secretaire doit tout

d’abord s’assurer que les demandes de l’artiste sont respectees. L’agent secretaire doit

donc reserver un billet d’avion en demandant a une agence de voyage de s’engager a

garder un siege pour l’artiste si l’artiste l’a demande. Selon le meme principe, l’agent

secretaire doit egalement reserver une chambre d’hotel si l’artiste le desire. Lorsque les

reservations sont effectuees, l’agent secretaire doit s’assurer que l’artiste paiera pour les

services demandes en lui demandant de s’engager a payer. Nous constatons donc que

la reservation des services demandes par l’artiste peut mener a la creation de quatre

engagements differents. Ceux-ci sont presentes dans le tableau 5.3.

Page 91: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 82

Id Engagement Description

C3 C(pl, ari, ReserveRoom(pl, ari, date))

L’engagement du planificateur

envers l’artiste ari a lui reserver

une chambre d’hotel

C4 C(pl, ari, ReserveT icket(pl, ari, date))

L’engagement du planificateur

envers l’artiste ari a lui reserver

un billet d’avion

C5 C(sc, pl, ReserveRoom(sc, ari, date))

L’engagement du secretaire

envers le planificateur a reserver

une chambre d’hotel pour

l’artiste ari

C6 C(sc, pl, ReserveT icket(sc, ari, date))

L’engagement du secretaire

envers le planificateur a reserver

un billet d’avion pour

l’artiste ari

Tab. 5.2 – Engagements pouvant etre crees lors de l’offre de services a l’artiste.

Id Engagement Description

C7 C(hti, sc, BookRoom(hti, ari, date))

L’engagement de l’hotel envers

le secretaire a garder une

chambre pour l’artiste ari.

C8 C(avi, sc, BookSeat(avi, ari, date))

L’engagement de l’agence de

voyage envers le secretaire a

garder une vol pour l’artiste ari.

C9 C(ari, sc, PayRoom(ari, sc, price))

L’engagement de l’artiste ari

envers le secretaire a payer

pour sa chambre.

C10 C(ari, sc, PayT icket(ari, sc, price))

L’engagement de l’artiste ari

envers le secretaire a payer

pour son billet d’avion.

Tab. 5.3 – Engagements pouvant etre crees lors de la reservation des services pour

l’artiste.

Page 92: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 83

5.3.4 Le reseau d’engagements de l’exemple du festival

Maintenant que les engagements ont ete determines, il est interessant d’etudier les

liens de causalite qui existent entre eux pour former un reseau d’engagements. Nous

pouvons determiner ces liens a partir de la connaissance que l’on a du SMA considere.

Dans notre cas, les liens emergent de la description qui a ete donnee des differentes

phases de l’organisation du festival et des engagements precedemment determines.

Definition du reseau

Le reseau d’engagements du festival d’ete de Quebec Wfes = (Afes, Efes, Lfes) est

determine par :

1. L’ensemble d’agents Afes = {pl, sc} ∪ {ar1, ar2, . . . , arn} ∪ {ht1, ht2, . . . , htm} ∪

{av1, av2, . . . , avk}. Les differents agents de l’exemple du festival ont ete presentes

a la sous-section 5.3.1

2. L’ensemble d’engagements Cfes = {C1, C2, . . . , C10}. Ces engagements ont ete

definis dans la sous-section 5.3.3.

3. L’ensemble des liens de causalite Lfes = { ((−,−,−)cau, (pl, C1, Crt)des),

((pl, C1, Crt)cau, (pl, C2, Crt)des), ((pl, C1, Rel)cau, (pl, C5, Rel)des),

((ari, C1, Cnl)cau, (pl, C5, Rel)des), ((pl, C1, Rel)cau, (pl, C6, Rel)des),

((ari, C1, Cnl)cau, (pl, C6, Rel)des), ((pl, C1, Rel)cau, (pl, C2, Cnl)des),

((ari, C1, Cnl)cau, (pl, C2, Cnl)des), ((pl, C2, Fal)cau, (ari, C1, Cnl)des),

((pl, C2, Crt)cau, (pl, C3, Crt)des), ((pl, C2, Crt)cau, (pl, C4, Crt)des),

((pl, C3, Crt)cau, (pl, C5, Crt)des), ((ari, C3, Rel)cau, (pl, C5, Rel)des),

((pl, C4, Crt)cau, (pl, C6, Crt)des), ((ari, C4, Rel)cau, (pl, C6, Rel)des),

((pl, C5, Crt)cau, (sc, C7, Crt)des), ((pl, C5, Rel)cau, (sc, C7, Rel)des),

((pl, C5, Rel)cau, (sc, C9, Rel)des), ((pl, C6, Crt)cau, (sc, C8, Crt)des),

((pl, C6, Rel)cau, (sc, C8, Rel)des), ((pl, C6, Rel)cau, (sc, C10, Rel)des),

((sc, C7, Crt)cau, (sc, C9, Crt)des), ((sc, C7, Fal)cau, (sc, C7, Crt)des),

((hti, C7, Cnl)cau, (sc, C7, Crt)des), ((sc, C8, Crt)cau, (sc, C10, Crt)des),

((sc, C8, Fal)cau, (sc, C8, Crt)des), ((avi, C8, Cnl)cau, (sc, C8, Crt)des),

((sc, C9, Fal)cau, (sc, C7, Rel)des), ((ari, C9, Cnl)cau, (sc, C7, Rel)des),

((sc, C10, Fal)cau, (sc, C8, Rel)des), ((ari, C10, Cnl)cau, (sc, C8, Rel)des)

}.

Les differents liens de l’ensemble Lfes ont ete etablis en se basant sur la description qui

a ete donnee du SMA considere. Par exemple, le lien ((pl, C1, Crt)cau, (pl, C2, Crt)des)

indique que l’agent planificateur se doit de tenter de creer l’engagement C2 lorsqu’il

Page 93: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 84

constate que l’engagement C1 passe dans l’etat cree. Ce lien souligne donc que l’agent

planificateur doit offrir un salaire a l’artiste s’il accepte de se presenter au festival. De

son cote, le lien ((−,−,−)cau, (pl, C1, Crt)des) indique que le planificateur doit tenter de

creer l’engagement C1 lorsque le systeme demarre.

Nous retrouvons la representation graphique du reseau d’engagements Wfes en fi-

gure 5.2. Comme nous pouvons le constater, la methode graphique nous permet de

visualiser rapidement le reseau et de reperer facilement les liens qui existent entre les

differents engagements.

Utilisation du reseau

Nous allons maintenant decrire en detail une partie du reseau du festival d’ete de

Quebec que nous venons de presenter en vue de comprendre comment les agents qui

communiquent a l’aide du langage DIAGAL utilisent les reseaux d’engagements pour

orienter leurs conversations. Plus precisement, nous allons analyser la partie du reseau

qui se rapporte aux conversations qui ont lieu entre le planificateur et l’artiste. Cette

section du reseau se retrouve illustree en figure 5.3. Nous avons ajoute au reseau les

differents jeux de dialogue qui peuvent etre utilises par les agents pour tenter de faire

progresser le reseau correctement.

La figure 5.3 nous permet de constater que, des le depart, le reseau suggere a l’agent

planificateur de tenter de creer l’engagement C1 qui concerne la presence de l’artiste au

festival. Pour creer cet engagement, l’agent planificateur devra utiliser un jeu de requete,

car il veut creer un engagement en action dont il est le crediteur. S’il reussit, le reseau

se poursuit, car la creation de l’engagement C1 a comme consequence la creation de

l’engagement C2. Cependant, si le planificateur echoue, le reseau ne peut plus progresser,

car le passage de l’engagement C1 dans l’etat echec n’a aucune consequence lors de

l’invitation d’un artiste. Dans le systeme complet, l’echec de l’invitation d’un artiste

mene a une tentative d’invitation d’un autre artiste, mais cet aspect n’est pas considere

ici, car le reseau tel qu’il est presente ici, vise l’invitation d’un seul artiste. Dans les

faits, le planificateur applique le meme reseau d’engagements pour effectuer l’invitation

de chaque artiste. Si l’invitation d’un artiste echoue ou se termine, le planificateur invite

alors un autre artiste en se servant du meme reseau d’engagements.

Par la suite, si l’engagement C2 est cree, le reseau indique au planificateur qu’il

convient de creer les engagements C3 et C4 qui concernent la reservation d’une chambre

d’hotel et d’un billet d’avion. Cependant, si l’agent planificateur ne reussi pas a creer

l’engagement C2 (l’engagement passe dans l’etat echec), il doit, comme l’indique le lien

Page 94: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 85

(pl:Crt)

C9

C7hti,sc

ari,sc

ari,pl

C2

C1

pl,ari

C3 C4

C5sc,pl

C6sc,pl

C8avi,sc

C10ari,sc

Start

(pl:Crt)

(ari :Cnl)

(pl:Fal)

(pl:Crt)

(ari:Cnl)(pl:Rel) or (ari:Cnl)

(pl:Rel) or

(ar i:

Cnl)

(pl:R

el) o

r

(pl:C

nl)

(pl:Crt)

(pl:Crt)

(pl:Crt)

(pl:Crt)

(pl:Crt)

(pl:Crt)

(pl:Crt)

(sc:Crt)

(sc:Crt)

(sc:Crt)

(pl:Crt)

(sc:Crt)

(sc:Crt)

(sc:Crt)

(pl:Crt)

(pl:Crt)

(pl:Rel)

(pl:Rel)

(sc:Rel)

(ari :Rel)

(pl:Rel)

(pl:Rel)

(sc:Rel)

(sc:Rel)

(ari:Cnl)

(sc:Fal)or

(hti:Cnl)(sc

:Fal) or

(sc:Crt)

(sc:

Rel

)(p

l:Rel

)(p

l:Rel

)(a

r i:R

el)

(ar i:

Cnl

)

(sc:

Fal)o

r(s

c:R

el)

(sc:Rel)

(pl:Rel)

(pl:Rel)

(avi :C

nl)

(sc:Fal)or

(sc:Crt)

pl,ari pl,ari

Fig. 5.2 – Le reseau d’engagements du festival d’ete de Quebec.

Page 95: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 86

(pl:Crt)

ari,pl

C2

C1

pl,ari

ari,pl ari,pl

Start

(pl:Crt)

(ari :Cnl)

(pl:Fal)

(pl:Crt)

(ar i:

Cnl)

(pl:R

el) o

r

(pl:C

nl)

(pl:Crt)(p

l:Crt)

C3 C4

(pl:C

rt)

(pl:Crt)

RequestGame

CancelActionCGame

OfferGame

CancelActionCGame

OfferGame

OfferGame

Fig. 5.3 – Les jeux de dialogue du reseau d’engagements.

qui va de C2 a C1 sur le reseau, annuler l’engagement C1. Finalement, si l’artiste decide

de ne plus venir au festival ou si le planificateur ne veut plus que l’artiste s’y presente,

il y aura annulation ou liberation de l’engagement C1 et dans ce cas le planificateur se

doit d’annuler l’engagement C2 qui concerne le versement d’un montant d’argent pour

la prestation de l’artiste.

Comme on peut le constater, le reseau d’engagements permet d’identifier l’ensemble

des modifications d’etats des differents engagements qui ont une consequence sur la

progression de l’organisation du festival. Si une modification d’etat n’est pas incluse

dans le reseau, c’est qu’elle n’a aucune consequence. Le comportement dialogique des

agents est donc specifie implicitement dans le reseau. Les jeux de dialogue a utiliser pour

faire progresser le reseau ont ete specifies en figure 5.2 seulement pour permettre une

meilleure comprehension, car les agents n’ont pas besoin de cette information. En effet,

comme on l’a vu au chapitre 4, un agent peut facilement determiner le jeu de dialogue

a utiliser en fonction du type de l’engagement et de l’etat desire pour cet engagement.

Page 96: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 87

Ainsi, l’agent planificateur peut facilement determiner qu’il se doit d’utiliser un jeu de

requete pour creer l’engagement C1 puisqu’il est le crediteur de l’engagement et que

c’est un engagement en action.

Par ailleurs, un lien du reseau d’engagements est considere comme etant invalide

s’il conduit a l’utilisation d’un jeu de dialogue dont les conditions d’entree ne sont

pas respectees. Par exemple, le reseau d’engagements de l’exemple du festival indique

que l’agent planificateur doit liberer l’agent secretaire de sa tache de reservation d’une

chambre d’hotel si l’artiste decide d’annuler sa presence au festival. Cet aspect est

represente par le lien ((ari, C1, Cnl)cau, (pl, C5, Rel)des) du reseau d’engagements qui

stipule que l’agent planificateur doit libere l’agent secretaire de l’engagement C5 (en-

gagement a reserver une chambre) s’il constate que l’engagement C1 (engagement a se

presenter au festival) passe dans l’etat annule. L’agent planificateur doit alors proposer

a l’agent secretaire de jouer le jeu ReleaseActionC pour tenter de faire passer l’engage-

ment C5 dans l’etat libere. Cependant, il est possible que l’agent qui annule sa presence

au festival n’ait jamais demande de chambre d’hotel. Dans ce cas, les conditions d’entree

du jeu ReleaseActionC ne sont pas respectees et l’agent planificateur constate qu’il ne

peut pas libere l’engagement C5, car celui-ci n’est pas dans l’etat cree. L’agent planifica-

teur laisse donc tomber la consequence (liberation de l’engagement C5), car le contexte

la rend invalide.

5.4 Modele d’agent

Dans le but de tester les differentes possibilites d’utilisation du langage DIAGAL,

un simulateur de conversation a ete cree. Ce simulateur, qui sera presente au prochain

chapitre, permet d’analyser en detail les differentes conversations qui ont lieu entre les

agents d’un systeme. Cependant, un simulateur seul ne suffit pas, il faut lui adjoindre

des agents en vue de bien refleter la realite. C’est dans cette optique que nous avons

cree un modele d’agent qui permet de creer un SMA ou des agents interagissent dans

le simulateur en communiquant a l’aide du langage DIAGAL et en utilisant un reseau

d’engagements pour orienter leurs conversations. Dans les faits, ces agents sont concus

de facon a pouvoir repondre a trois types d’evenements differents :

– Action dialogique : Les agents doivent tout d’abord etre en mesure de communi-

quer correctement en utilisant le langage DIAGAL. Ils doivent donc connaıtre les

regles des differents jeux de dialogue pour pouvoir agir correctement en fonction

des messages qu’ils recoivent.

Page 97: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 88

– Perception de modification d’etat d’un engagement : Un agent doit etre capable

de repondre a une modification d’etat d’un engagement s’il desire faire progresser

le reseau d’engagements. C’est l’agenda de l’agent qui est responsable de la notifi-

cation de la modification d’etat d’un engagement. L’agent doit donc, en observant

le reseau, determiner les consequences de la modification d’etat d’un engagement.

– Desir de modification d’etat d’un engagement : Lors de l’observation du reseau, un

agent risque de lancer des evenements de desir de modification d’etat d’un enga-

gement. En fait, il lance cet evenement a lui-meme dans le but de faire progresser

le reseau. L’agent doit donc, en fonction de la modification desiree, proposer le

jeu de dialogue adequat au bon intervenant.

La figure 5.4 presente les differentes composantes d’un agent construit selon notre

modele. En premier lieu, un agent qui utilise le langage DIAGAL comme moyen de

conversation se doit de posseder un gestionnaire de dialogue. En fait, ce gestionnaire de

dialogue represente le coeur de l’agent. C’est le gestionnaire de dialogue qui est respon-

sable de l’analyse des messages(actions dialogiques) recus lors d’une conversation. Il est

egalement responsable de la production de messages. Dans la pratique, le gestionnaire

de dialogue est divise en trois sous-gestionnaires :

1. Le gestionnaire d’agenda : Le gestionnaire d’agenda, comme son nom l’indique,

est responsable de la gestion de l’agenda de l’agent qui contient l’ensemble des en-

gagements qui concernent l’agent. Ces engagements sont classes selon leur temps

de creation. L’agenda contient egalement l’etat des differents engagements. Le ges-

tionnaire d’agenda doit donc, en fonction des messages recus par l’agent, ajuster

le contenu le l’agenda selon les regles des differents jeux de dialogue.

2. Le gestionnaire d’actions : De son cote, le gestionnaire d’actions est responsable

des messages produits par l’agent. Il garde une trace des differentes conversations

de l’agent et a acces au contenu de l’agenda de l’agent. Il doit donc, en fonction des

messages recus par l’agent, fournir une reponse coherente pour que l’agent puisse

poursuivre la conversation selon les regles des jeux de dialogue. Le gestionnaire

d’action doit donc s’assurer de respecter les engagements dialogiques contenus

dans l’agenda de l’agent.

3. Le gestionnaire de jeux : Le gestionnaire de jeux determine les jeux de dialogue

que l’agent doit utiliser pour arriver a ses fins. En fait, le gestionnaire de jeux

determine les jeux de dialogue qu’il convient d’utiliser pour effectuer les differentes

modifications d’etats des engagements qui sont desirees par l’agent. Lorsque le

jeu est determine, l’agent peut alors proposer son ouverture au deuxieme agent

concerne par l’engagement dont on tente de modifier l’etat.

Un agent construit selon notre modele possede egalement un agenda qui, comme on

vient de le mentionner, contient l’ensemble des engagements qui le concerne. La tache

Page 98: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 89

Gestionnaire Agenda

Gestionnaire d'actions

Gestionnaire de jeux ������������Agenda Gestionnaire Réseau

Jeux de dialogue

Act

ion

Dia

logi

que

Pro

posi

tion

jeu

dial

ogue

Gestionnaire de dialogue

Agent

Eng

agem

ents

Modification état engagement

Inte

ntio

n m

odifi

catio

n ét

at

Act

ion

Dia

logi

que

Environnement (simulateur)

Fig. 5.4 – Modele d’agent utilisant le langage DIAGAL.

principale de l’agenda est de lancer un evenement lorsqu’un des engagements qu’il

contient change d’etat. L’evenement lance contient en fait l’engagement qui a change

d’etat, l’agent responsable de la modification d’etat et le nouvel etat de l’engagement.

L’algorithme 5.4.1 montre comment un agent doit traiter un evenement de modification

d’etat d’un engagement.

Tout d’abord, l’evenement de modification d’etat d’un engagement est capte par le

gestionnaire du reseau d’engagements qui tente de trouver les consequences du chan-

gement d’etat de l’engagement. Pour ce faire, le gestionnaire du reseau d’engagements

doit tout d’abord identifier l’engagement du reseau qui correspond a l’engagement mo-

difie dans l’agenda. Le gestionnaire doit, par la suite, identifier les consequences de la

modification d’etat de l’engagement, unifier les parametres des engagements concernes

et lancer des evenements d’intention de modification d’etat d’un engagement si l’agent

est concerne par les consequences. Si un tel evenement est lance, le gestionnaire de jeux

s’occupe de trouver le jeu approprie pour demarrer une conversation et respecter le

Page 99: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 90

fonction GESTION-MODIFICATION-ENGAGEMENT(a, c, s)

retourne NIL

entrees : a, l’agent responsable de la modification d’etat de l’engagement c

c, l’engagement dont l’etat a ete modifie

s, l’etat present de l’engagement

variables locales : reseau, le reseau d’engagements de l’agent

reseau ← getReseau()

pour-tout liens l ǫ reseau faire

si l.getCauseModifEtat() = (a, c, s)cau alors

si l.getDesirModifEtat().getNomAgent() = this.getNomAgent() alors

unifieParamEngagements(l)

sendEvtDesirModifEtat(l.getDesirModifEtat())

fin-si

fin-si

fin-pour

Algorithme 5.4.1: Algorithme de gestion d’une modification d’etat d’un engagement.

reseau d’engagements.

Le modele d’agent que nous venons de presenter a ete implemente en utilisant le

langage de programmation oriente agent JACK et les reseaux d’engagements sont definis

en XML. Nous discutons de l’implementation des agents et des reseaux d’engagements

au chapitre suivant tout en montrant comment nous avons utilise notre modele d’agent

pour concevoir les agents de l’exemple du festival d’ete de Quebec.

5.5 Discussion

Au cours des dernieres annees, plusieurs chercheurs se sont interesses aux engage-

ments pour definir la semantique d’un langage de communication agent. Cependant,

peu de ces chercheurs ont eu recours a ces memes engagements pour specifier des pro-

tocoles de communication ou pour modeliser le comportement dialogique des agents.

Comme on l’a vu au chapitre 3, la plupart ont defini des protocoles de communication

en specifiant, a l’aide de differentes techniques, des sequences valides de messages que

peuvent s’echanger les agents.

De leur cote, Yolum et Singh (2001) ont defini le concept de machine a engagements

qui, comme on l’a vu, est un formalisme permettant de specifier et d’executer des

Page 100: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 91

protocoles de communication. En fait, les auteurs ont considere les differents etats que

peut prendre un protocole et les differentes actions que les agents peuvent effectuer pour

modifier l’etat du protocole et faire progresser la conversation. Cependant, meme si les

etats et les actions sont definis en terme d’engagements, Yolum et Singh se concentrent

tout de meme sur les etats du protocole qui regissent les actions valides et non sur les

etats des engagements pour guider les agents dans leurs conversations.

Fornara et Colombetti (2003) ont egalement propose une semantique basee sur les

engagements pour definir un langage de communication agent. Cependant, ils concoivent

des protocoles de communication en etudiant les sequences possibles de messages et

en specifiant ce qu’ils appellent des diagrammes d’interaction qui servent a definir les

actions valides des agents lors d’une conversation.

Parmi ceux qui travaillent sur les langages de communication agent bases sur les

engagements, seul Wan et Singh (2003) se sont reellement interesse a la dynamique des

engagements. Cependant, ils s’interessent a la dynamique des engagements a l’interieur

d’un exemple de conversation. En fait, ils determinent la dynamique des engagements

en observant une sequence de messages. De notre cote, nous croyons qu’il est interessant

d’oublier cette sequence de messages pour se concentrer sur les modifications desirees

de la couche sociale. Par la suite, lorsque les liens entre les differents engagements

ont ete correctement etablis, nous pouvons retourner au niveau de la conversation et

identifier les jeux de dialogue qu’il convient d’utiliser en fonction des etats des differents

engagements de la couche sociale. En fait, dans notre approche, les actes du langage

permettent aux agents de faire progresser les jeux de dialogue, les jeux de dialogue leur

permettent de faire evoluer l’etat des engagements, et les reseaux d’engagements leur

permettent de faire progresser l’activite conjointe.

Finalement, nous pouvons deceler quelques similitudes entre notre approche et celle

des micros-protocoles de Vitteau et Huget (2003), car nos jeux de dialogue peuvent

etre vus comme des micros-protocoles et le reseau d’engagements comme une facon de

les agencer. Cependant, nous ne specifions pas les jeux de dialogue a utiliser, mais bien

les engagements a modifier ce qui offre une plus grande flexibilite lors de la specification

des reseaux.

En conclusion, nous croyons que les reseaux d’engagements permettent de modeliser

efficacement les conversations a l’interieur d’un SMA ou les agents communiquent a

l’aide d’un langage de communication dont la semantique est basee sur les engagements

sociaux. En particulier, les reseaux d’engagements s’appliquent bien aux agents utilisant

le langage DIAGAL et les jeux de dialogue, car les jeux ont pour but premier la ma-

nipulation des engagements sociaux. Dans le prochain chapitre, nous allons donner un

Page 101: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 5. Les reseaux d’engagements 92

apercu du simulateur qui a ete developpe pour analyser des conversations entre agents

pour en venir a presenter les resultats obtenus a l’interieur des simulations de l’exemple

du festival d’ete de Quebec.

Page 102: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6

Simulation et resultats

6.1 Introduction

A l’interieur de ce chapitre, nous allons regarder comment les concepts que nous

avons presentes dans les chapitres precedents ont ete mis en pratique par l’intermediaire

de notre simulateur de conversation. En fait, le simulateur de conversation constitue une

implementation des concepts theoriques du langage DIAGAL et nous permet d’etudier

differents aspects de la communication entre agents logiciels. Le simulateur nous a,

entre autres, permis de tester l’utilisation des reseaux d’engagements en nous servant

de l’exemple du festival d’ete de Quebec.

Nous debutons donc ce chapitre en presentant, a la section 6.2, differentes fonction-

nalites du simulateur de conversation qui a ete developpe au DAMAS (Labrie, 2003).

Nous presentons par la suite, en section 6.3, differentes metriques qui ont ete developpees

pour analyser la qualite des conversations qui se deroulent a l’interieur du simulateur.

De son cote, la section 6.4 nous permet de presenter les agents qui ont ete developpes

pour simuler l’organisation du festival et nous terminons le chapitre en presentant et

analysant les resultats des simulations de l’organisation du festival d’ete de Quebec

(section 6.5).

Page 103: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 94

6.2 Simulateur de conversation

Le DGS (Dialogue Games Simulator) est un outil logiciel qui permet de simuler des

conversations entre des agents qui utilisent les jeux de dialogue pour communiquer. En

fait, le DGS permet de simuler les conversations produites dans un SMA ou les agents

utilisent DIAGAL comme langage de communication. L’interet majeur du DGS est qu’il

nous permet d’observer et d’analyser en temps reel les conversations qui se deroulent

lors d’une simulation. Le DGS est donc un excellent outil pour tester et valider differents

concepts relies a la problematique de la communication agent. Cette section vise donc

a presenter differentes fonctionnalites du simulateur ainsi que le modele de conception

d’agents qui a ete developpe pour creer des agents qui peuvent evoluer a l’interieur du

simulateur.

6.2.1 Fonctionnalites du simulateur

La meilleure facon de decrire les fonctionnalites du DGS est de presenter les differents

composants de son interface qui est presentee a la figure 6.1. Les cinq composants les

plus importants sont numerotes de 1 a 5 sur la figure. Regardons donc le role de ces

cinq composants.

Liste des agents crees (1)

Cette liste contient simplement le nom des agents qui ont ete crees et qui font partie

de la simulation courante. Ce sont ces agents qui communiqueront a l’interieur du si-

mulateur lors d’une simulation. L’utilisateur du simulateur peut afficher l’agenda d’un

agent en le selectionnant dans la liste des agents crees. Par exemple, sur la figure 6.1,

l’agent Artiste(6) est selectionne et nous pouvons apercevoir une partie de son agenda.

En somme, la liste des agents permet d’identifier les agents qui font partie d’une simu-

lation et permet d’acceder facilement a leur agenda.

Liste des jeux de dialogue charges (2)

Cette liste contient l’ensemble des jeux de dialogue qui ont ete charges lors du

demarrage du simulateur. Les agents qui desirent dialoguer peuvent donc utiliser n’im-

porte quel jeu de cette liste pour le faire. Les jeux de dialogue de DIAGAL sont definis

en XML et un DTD (Document Type Definition) a ete specifie pour s’assurer que les

jeux sont definis correctement. Lors du demarrage, le simulateur utilise ce DTD pour

valider les jeux qui sont situes dans le repertoire contenant l’ensemble des fichiers XML

qui renferment les definitions de jeux. Un jeu qui est situe dans ce repertoire et qui

n’est pas valide selon le DTD ne sera pas charge et n’apparaıtra pas dans la liste des

Page 104: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 95

jeux charges. Le simulateur DGS permet donc a un utilisateur de creer facilement ses

propres jeux de dialogue qui seront utilisables par ses agents s’il le desire. Il suffit de

definir le jeu en XML et de respecter le format DTD impose par le simulateur. Par

ailleurs, il est egalement possible de visualiser la definition des differents jeux a partir

de la liste des jeux de dialogue charges.

Pile des jeux de dialogue (3)

La pile des jeux de dialogue permet simplement de connaıtre les jeux de dialogue

qui sont ouverts dans un dialogue entre deux agents. Par exemple, la figure 6.1 indique

que les agents P lanner et Artiste(6) jouent un jeu de requete avec negociation (Nego-

ciation Directive). La pile peut contenir plusieurs jeux lorsque les agents emboıtent un

nouveau jeu a l’interieur d’un jeu deja ouvert comme on l’a vu a la section 4.4. Dans

ce cas, on retrouve le dernier jeu ouvert (jeu actif) sur le dessus de la pile des jeux. Les

jeux situes sous le jeu actif de la pile demeurent en attente jusqu’a ce que le jeu actif

se termine et soit retire de la pile. Lorsqu’un jeu est retire, un nouveau jeu se retrouve

sur le dessus de la pile et devient actif a son tour.

Agenda d’un agent (4)

A tout moment, lors d’une simulation, il est possible de consulter l’agenda des agents

qui communiquent. Comme nous l’avons deja mentionne a la section 4.2, l’agenda d’un

agent est en quelque sorte un “entrepot d’engagements” ou tous les engagements de

l’agent sont classifies en fonction de leur temps de creation. L’agenda contient egalement

l’etat des differents engagements. En observant l’agenda d’un agent, il est facile d’obser-

ver les consequences qu’ont les differentes actions de l’agent a l’interieur d’une conversa-

tion. Il est donc possible de verifier si le gestionnaire de dialogue d’un agent interprete

bien les regles des differents jeux de dialogue auxquels il participe en observant le

contenu de son agenda. Il est egalement possible de voir si les differents agents res-

pectent leurs engagements en observant leur agenda.

Diagramme de sequence d’une conversation (5)

Le diagramme de sequence presente l’ensemble des messages qui sont echanges lors

d’une conversation entre deux agents. L’interet premier du diagramme de sequence

est qu’il permet de verifier rapidement si les agents qui communiquent respectent les

differentes regles des jeux de dialogue. En fait, le diagramme de sequence permet de

suivre toutes les conversations qui se deroulent dans le simulateur.

Page 105: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 96

Fig. 6.1 – Interface du simulateur DGS.

6.2.2 Les agents et le simulateur

Un modele de conception d’agents a ete developpe pour permettre aux utilisateurs

du DGS d’implanter facilement des agents evoluant dans le simulateur. Ce modele de

conception est mis en pratique a travers la classe AgBase qui represente le type de

base des agents du simulateur. Un concepteur qui desire creer un agent pouvant evoluer

dans le simulateur doit s’assurer qu’il herite de la classe AgBase. Il est essentiel que les

agents qui sont concus pour evoluer dans le simulateur heritent de la classe AgBase,

car le simulateur traite chaque agent comme etant un objet de ce type.

De son cote, la classe AgBase herite de la classe Agent du langage de program-

mation agent JACK (Agent Oriented Software Group, 2005). Le langage JACK etend

le langage Java pour faciliter la creation d’agents logiciels. En fait, JACK se veut un

langage de programmation oriente agent qui definit les concepts d’agent, de capacite,

de plan et d’evenement.

Page 106: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 97

Les concepteurs d’agents doivent donc respecter certains criteres et implanter cer-

taines methodes lors de la conception d’agents. Ils peuvent cependant doter leurs agents

du mecanisme de prise de decision et de l’architecture de leur choix. De plus, nous avons

developpe de nombreux modules JACK pour faciliter le developpement d’agent qui com-

munique par l’intermediaire du langage DIAGAL. En somme, un concepteur qui suit

notre modele peut facilement implanter un agent qui va etre en mesure de communiquer

a l’interieur du simulateur.

Maintenant que nous avons presente les differentes fonctionnalites du simulateur

et discute de notre modele de conception d’agents, il est interessant d’observer les

metriques que nous avons developpees pour evaluer les conversations qui se deroulent

entre les agents a l’interieur du DGS.

6.3 Les metriques d’evaluation du dialogue

Dans le but d’evaluer la qualite des conversations qui se deroulent a l’interieur du

simulateur DGS, nous avons defini differentes metriques. Ces metriques permettent de

verifier et valider le comportement dialogique des agents d’un SMA et ont ete definies

sur trois niveaux :

– Metriques pour l’ensemble d’un SMA.

– Metriques pour un dialogue entre deux agents.

– Metriques pour un seul agent.

De plus, pour chacun de ces niveaux, on retrouve trois types de metriques : des metriques

concernant les engagements, des metriques concernant les jeux de dialogue et des

metriques generales. Voyons donc de plus pres les metriques qui ont ete definies pour

chacun de ces niveaux et chacun de ces types.

6.3.1 Metriques pour l’ensemble du SMA

Les metriques pour l’ensemble d’un SMA permettent d’avoir une vision globale du

comportement d’un SMA. Ces metriques considerent tous les dialogues qui ont lieu entre

tous les agents faisant partie d’un SMA. Les differentes metriques utilisees pour evaluer

la qualite des dialogues dans un SMA sont presentees dans le tableau 6.1. Nous pouvons,

par exemple, determiner si les agents d’un SMA acceptent facilement de s’engager,

s’ils ont tendance a respecter leurs engagements et quels sont leurs jeux de dialogue

Page 107: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 98

favoris simplement en evaluant ces metriques. Il est donc interessant d’analyser ces

metriques pour verifier si l’ensemble des agents d’un SMA communiquent adequatement

et respectent les engagements qui resultent de ces communications.

Type Metrique

Engagement

Nombre total d’engagements en action

Nombre total d’engagements propositionnels

Nombre total d’engagements remplis (action et proposition)

Nombre total d’engagements retires (annule ou libere)

Jeux de dialogueNombre total de jeux de dialogue utilises

Proportion des jeux de dialogue utilises

General

Nombre d’agents formant le SMA

Nombre de dialogues s’etant deroules a l’interieur du SMA

Nombre moyen de dialogues par agent

Nombre total de tours de dialogue

Tab. 6.1 – Metriques pour l’ensemble du SMA.

6.3.2 Metriques pour un dialogue entre deux agents

Il peut arriver qu’on constate qu’un SMA est problematique en observant les metri-

ques pour l’ensemble du SMA, mais il est egalement possible que la source du probleme

ne soit pas identifiable en considerant seulement une vision globale du systeme. Par

exemple, on peut remarquer que beaucoup d’engagements ne sont pas respectes a

l’interieur d’un SMA sans pour autant savoir si ce phenomene est du a tous les agents du

systeme ou simplement a un petit groupe. Dans ce cas, il est interessant de considerer

les metriques pour un dialogue entre deux agents. Ces metriques permettent d’analy-

ser tout ce qui se passe lors d’un dialogue entre deux agents et tout ce qui decoule

de ce dialogue. Il est donc possible d’analyser en detail toutes les conversations qui se

deroulent a l’interieur d’un SMA pour cibler les interactions qui posent probleme. Les

differentes metriques permettant d’evaluer la qualite d’un dialogue entre deux agents x

et y sont presentees dans le tableau 6.2. Ces metriques sont similaires a celles definies

pour le SMA en entier, mais s’appliquent a seulement deux agents a la fois.

Page 108: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 99

Type Metrique

Engagement

Nombre total d’engagements en action concernant x et y

Nombre total d’engagements propositionnels concernant x et y

Nombre total d’engagements remplis (engagements entre x et y)

Nombre total d’engagements retires (engagements entre x et y)

Jeux de dialogue

Nombre total de jeux de dialogue joues entre x et y

Nombre total de jeux de dialogue proposes entre x et y

Pourcentage des jeux de dialogue acceptes (dialogue entre x et y)

Proportion des jeux de dialogue joues (dialogue entre x et y)

General Nombre de tours de dialogue de la conversation entre x et y

Tab. 6.2 – Metriques pour un dialogue entre deux agents (x et y).

6.3.3 Metriques specifiques a un seul agent

Il peut egalement arriver que l’analyse de l’ensemble des conversations d’un SMA ne

soit pas suffisante et que l’on doive observer le comportement specifique des differents

agents du SMA. En effet, il est possible que ce soit un seul agent qui soit responsable

du mauvais fonctionnement d’un SMA. Par exemple, il se peut qu’un agent du systeme

ne respecte jamais ses engagements et c’est en observant les metriques specifiques a cet

agent qu’on pourra le constater. Ces metriques qui permettent d’evaluer le comporte-

ment d’un agent x sont presentees dans le tableau 6.3.

6.3.4 Le module de metriques du simulateur

Un module a ete ajoute au simulateur pour utiliser efficacement l’information fournie

par les metriques que nous venons de presenter. Ce module s’occupe de recueillir et de

structurer toute l’information lors d’une simulation. Il est donc possible d’observer en

temps reel la valeur des differentes metriques pendant une simulation par l’intermediaire

du module de metrique. L’interface de ce module est presentee a la figure 6.2.

Nous pouvons facilement remarquer sur la figure 6.2 les trois niveaux de metrique

(systeme, dialogue et agent) ainsi que les trois types de metrique (general, engagements

et jeux de dialogue) pour chacun de ces niveaux. Il est facile de naviguer d’un niveau

a l’autre et d’un type a l’autre en selectionnant les onglets correspondants. Sur la

figure 6.2 nous pouvons voir les metriques concernant les jeux de dialogue pour un agent

Page 109: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 100

Type Metrique

Engagement

Nombre total d’engagements en action dont x est le crediteur

Nombre total d’engagements en action dont x est le debiteur

Nombre total d’engagements propositionnels dont x est le crediteur

Nombre total d’engagements propositionnels dont x est le debiteur

Nombre total d’engagements annules par x

Nombre total d’engagements liberes par x

Nombre total d’engagements remplis dont x est le crediteur

Nombre total d’engagements remplis dont x est le debiteur

Jeux de dialogue

Nombre total de jeux de dialogue proposes par x

Nombre total de jeux de dialogue proposes par x et accepte

Nombre total de jeux de dialogue proposes a x

Nombre total de jeux de dialogue proposes a x et accepte

Proportion des jeux de dialogue utilises par x

General Nombre de dialogues auxquels x participe

Tab. 6.3 – Metriques pour un agent x.

en particulier : l’agent “planner”. Nous pouvons observer les differentes metriques qui

ont ete mentionnees a la section precedente ainsi que deux graphiques qui presentent

les jeux de dialogue joues en fonction du nombre de tours de dialogues de la simulation.

Par ailleurs, l’ensemble des metriques qui sont affichees a l’ecran lors d’une simula-

tion sont egalement enregistrees dans un fichier Excel. Le fichier Excel genere permet

donc d’analyser rapidement les resultats d’une simulation.

6.4 Les agents du festival d’ete de Quebec

Nous avons implante des agents logiciels pour representer les differents intervenants

de l’exemple du festival d’ete de Quebec qui a ete presente au chapitre precedent. Ces

agents ont ete concus de facon a pouvoir interagir a l’interieur du DGS et ont ete

implantes en suivant le modele de conception d’agents que nous avons presente a la

section 6.2.

Dans les faits, nous avons developpe les agents du festival d’ete de Quebec pour

tester differents concepts relies a la problematique de la communication agent et plus

precisement dans le but de :

Page 110: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 101

Fig. 6.2 – Interface du module de metriques.

– tester l’utilisation du langage DIAGAL et du simulateur.

– tester l’utilisation des reseaux d’engagements.

– tester l’utilisation des metriques.

– tester l’utilisation des engagements sociaux pour analyser les systemes d’informa-

tion.

L’objectif de cette section est de presenter les particularites des agents qui ont ete

developpes pour simuler l’organisation du festival. Nous allons amorcer la section en

presentant le mecanisme de prise de decisions des agents du festival. Nous allons par la

suite regarder comment les agents du festival peuvent s’ameliorer dans l’organisation du

festival par l’intermediaire des concepts de niveau de confiance et d’entente. Finalement,

nous observons comment les reseaux d’engagements sont definis pour etre utilisables par

les agents d’un SMA.

Page 111: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 102

6.4.1 Fichiers de comportement

Comme les agents de l’exemple du festival ont ete concus pour tester differents

concepts relies a la communication agent, nous n’avons pas juge necessaire de les doter

d’un mecanisme de prise de decisions trop complexe. En fait, nous avons implante le

mecanisme de prise de decisions des agents par l’intermediaire de fichiers de compor-

tement. C’est dans ces fichiers que l’on definit, entre autres, si un agent a tendance a

annuler ses engagements, s’il respecte ses engagements et s’il s’engage facilement. Dans

les faits, tous les comportements des agents sont definis en terme de probabilite. Par

exemple, un agent peut annuler ses engagements avec une probabilite de 0.5, respec-

ter ses engagements avec une probabilite de 0.8 et accepter de s’engager a realiser une

certaine action α avec une probabilite de 0.9. Chaque agent possede donc son propre

fichier de comportement qui est charge au debut de la simulation et qui determine ses

decisions. Il est important de mentionner que ce fichier de comportement est prive a

l’agent.

On retrouve dans le tableau 6.4 un exemple tres simple de fichier de comportement

qui pourrait etre defini pour un agent artiste de l’exemple du festival. Comme nous

pouvons le constater, le fichier de comportement specifie que l’artiste accepte 80%

des requetes concernant l’action ComeToFestival et accepte 90% de toutes les autres

requetes pouvant lui etre adressees (requete sur une action α quelconque). On constate

egalement que l’agent artiste respecte tous ses engagements a 100% sauf les engagements

concernant l’action ComeToFestival qu’il respecte 95% du temps. Il est donc facile de

voir comment nous pouvons specifier, avec la precision de notre choix, le comportement

d’un agent en utilisant les fichiers de comportement.

Comportement Contenu Probabilite

Accepte requete α = ComeToFestival 0.8

Accepte requete Non specifie 0.9

Accepte question p = WantF lyT icket 0.5

Accepte question Non specifie 0.8

Annule Engagement α = ComeToFestival 0.65

Annule Engagement Non specifie 0.3

Respecte Engagement α = ComeToFestival 0.95

Respecte Engagement Non specifie 1.0

Tab. 6.4 – Exemple de fichier de comportement d’un artiste.

A l’interieur d’une simulation, les decisions d’un agent sont donc determinees alea-

toirement en fonction des differentes probabilites qui sont specifiees dans son fichier de

Page 112: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 103

comportement. Les decisions des agents sont donc differentes d’une simulation a l’autre.

Cependant, il est important de noter que les agents negocient tout de meme le contenu

des engagements meme si leurs decisions sont aleatoires. Le fichier de comportement de

l’agent specifie uniquement si un agent est predispose ou non a accepter les differentes

propositions de creation d’engagements (requete, offre, . . . ) qui lui sont faites par l’in-

termediaire des jeux de dialogue. Un agent qui s’engage difficilement refusera donc la

majorite des engagements sans meme negocier, tandis qu’un agent qui a tendance a

accepter les engagements (probabilite elevee) qui lui sont proposes acceptera souvent

de negocier et s’engagera s’il est satisfait de la negociation. Par exemple, l’agent ar-

tiste negociera son salaire s’il a l’intention de s’engager a se presenter au festival, mais

refusera de s’engager s’il n’obtient pas un salaire qui lui convient.

Comme nous le verrons dans la prochaine section, les fichiers de comportement

permettent d’ajouter de l’incertain a l’interieur des simulations de l’organisation du

festival. Les fichiers de comportement nous permettent donc de tester l’utilisation des

metriques et des reseaux d’engagements sur plusieurs scenarios differents.

6.4.2 Niveau de confiance et d’entente

Les agents du festival doivent determiner avec qui interagir pour organiser le festival

efficacement. Le planificateur doit tenter d’inviter des artistes qui annulent et violent

rarement leurs engagements. Il doit egalement inviter des artistes qui ne sont pas trop

“dures en affaire” et qui ne demandent pas une trop grande somme d’argent pour leur

presence au festival. De son cote, l’agent secretaire se doit de trouver les agences de

voyage et les hotels les plus fiables. Les agents du festival doivent donc tenter d’ap-

prendre le comportement des autres agents du SMA pour bien gerer leurs interactions.

Pour ce faire, nous proposons d’utiliser les concepts de niveau de confiance et de niveau

d’entente.

Le niveau de confiance represente la confiance qu’a un agent envers un autre. Si

un agent respecte ses engagements et ne tente pas de les annuler, alors les autres

agents auront confiance en lui : leur niveau de confiance envers cet agent sera eleve.

Tout comme Marsh (1994), nous utilisons la notation Tx(y) pour indiquer le niveau

de confiance d’un agent x envers un agent y. Tx(y) prend ses valeurs dans l’intervalle

[−1, 1] ce qui implique que −1 ≤ Tx(y) ≤ 1. La valeur de Tx(y) indique la quantite de

confiance que x a envers y. Une valeur de 1 indique que l’agent x a pleinement confiance

en l’agent y tandis qu’une valeur de −1 indique que l’agent x a nullement confiance en

l’agent y. Ce niveau de confiance est fixe au depart (normalement a zero) et evolue en

fonction des actions des agents. Par exemple, le niveau de confiance du planificateur

Page 113: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 104

envers un artiste diminuera si l’artiste ne se presente pas au festival alors qu’il etait

engage a s’y presenter.

Le niveau d’entente represente la facilite qu’a un agent a s’entendre avec un autre. Si

un agent est trop dur en negociation ou s’il refuse toujours les engagements qui lui sont

proposes, alors les autres agents ne voudront plus interagir avec lui. Le niveau d’entente

que les autres agents ont envers lui diminuera. Par exemple, le niveau d’entente qu’a

un planificateur envers un artiste diminuera beaucoup si cet artiste demande toujours

un trop gros montant d’argent pour se presenter au festival. Le planificateur ne veut

pas constamment perdre son temps a negocier avec cet artiste qui accepte rarement les

offres qui lui sont proposees, et ce, meme si le niveau de confiance qu’il a envers l’artiste

est tres eleve. Tout comme dans le cas du niveau de confiance, nous utilisons la notation

Ex(y) pour indiquer le niveau d’entente d’un agent x envers un agent y. Ex(y) prend

egalement ses valeurs dans l’intervalle [−1, 1] ce qui implique que −1 ≤ Ex(y) ≤ 1.

Une valeur de 1 indique que l’agent x s’entend pleinement avec l’agent y tandis qu’une

valeur de -1 indique que les agent x et y ne s’entende vraiment pas.

C’est donc en faisant un bon compromis entre le niveau de confiance et le niveau

d’entente que les agents peuvent choisir les agents avec qui ils doivent interagir pour

realiser leurs taches. Si on pose A l’ensemble des agents avec qui un agent x peut

interagir pour realiser une certaine tache, alors on a que l’agent x choisira d’interagir

avec l’agent y de l’ensemble A qui est tel que

y = argmaxa∈A

(γ Tx(a) + µ Ex(a))

Les parametres γ et µ permettent simplement de ponderer l’importance allouee aux

deux niveaux (confiance et entente). Par exemple, lors de l’organisation du festival

l’ensemble A peut etre constitue de l’ensemble des artistes que le planificateur peut

inviter a se presenter au festival. Le planificateur choisira donc les artistes a inviter selon

le niveau de confiance et d’entente qu’il a envers eux. De simulation en simulation, nous

allons donc pouvoir verifier, a l’aide des metriques, si les agents apprennent correctement

et si les agents s’ameliorent pour organiser le festival. Les deux grands objectifs des

agents devraient etre de ne pas communiquer pour rien et de creer des engagements qui

seront respectes le plus souvent possible.

Page 114: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 105

6.4.3 Les reseaux d’engagements

Les agents qui ont ete developpes pour simuler l’organisation du festival d’ete de

Quebec utilisent les reseaux d’engagements pour guider leurs conversations. Les reseaux

d’engagements sont specifies a l’interieur d’un fichier XML et sont charges lors du

chargement des agents. Il est donc facile de definir un reseau d’engagements qui sera

utilisable par les agents d’un SMA. Les agents peuvent donc, comme on l’a vu a la

section 5.4, consulter le reseau d’engagements qui a ete defini pour determiner les jeux

de dialogue a utiliser pour faire progresser le SMA.

Il est important de noter que le reseau d’engagements specifie simplement certains

details de la manipulation des engagements. Par exemple, on a vu a la section 5.3

que le reseau d’engagements du festival d’ete de Quebec precise simplement que le

planificateur doit debuter l’organisation du festival en creant un engagement du type

C(ari, pl, ComeToFest(ari, date, time)). Cependant, le reseau d’engagements ne precise

pas l’artiste a inviter et la plage horaire qu’il devra occuper. Ces choix sont laisses a la

discretion de l’agent planificateur. L’artiste a inviter sera determine a partir des niveaux

de confiance et d’entente tandis que la plage horaire sera negociee par les deux agents.

En somme, il convient de retenir que les agents utilisent les reseaux d’engagements,

les niveaux de confiance et d’entente et les fichiers de comportement pour orienter leurs

conversations. Les reseaux d’engagements specifient les engagements a manipuler et

donc les jeux de dialogue a employer. Les niveaux de confiance et d’entente permettent

de determiner avec quels agents jouer ces jeux de dialogue tandis que les fichiers de com-

portement determinent les messages envoyes (decisions prises) par les agents a l’interieur

des jeux de dialogue.

Maintenant que nous avons vu les particularites des agents du festival, regardons

comment ces agents peuvent interagir pour organiser le festival d’ete de Quebec.

6.5 Simulation du festival d’ete de Quebec

Cette section vise a presenter les resultats recueillis lors des differentes simulations

de l’organisation du festival d’ete de Quebec. Pour effectuer ces simulations, nous avons

defini les agents suivants :

– 1 agent planificateur.

– 25 agents artiste.

Page 115: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 106

– 1 agent secretaire.

– 4 agents hotel.

– 4 agents agence de voyage.

Nous avons, pour chacun de ces agents, defini un fichier de comportement ainsi que

differentes preferences. Par exemple, les artistes demandent un certain salaire pour se

presenter a un evenement et ont des horaires plus ou moins charges. Le planificateur

qui desire inviter un artiste doit donc negocier le salaire de l’artiste ainsi que la plage

horaire de sa prestation. Les fichiers de comportement et les preferences des 25 artistes

ont ete definis de facon a s’assurer d’avoir un groupe d’artistes diversifies.

Nous debutons donc cette section en expliquant comment se deroule une simulation

de l’organisation du festival. Nous allons ensuite presenter les resultats que nous avons

obtenus suite aux differentes simulations que nous avons effectuees et nous analysons

nos resultats.

6.5.1 Phases d’organisation du festival

La simulation de l’organisation du festival d’ete de Quebec est divisee en trois

phases : (1) Invitation des artistes, (2) Periode d’annulation et (3) Deroulement du fes-

tival. Regardons donc ce qui est prevu pour chacune de ces phases qui sont presentees

sous forme graphique a la figure 6.3.

Phase 1 Phase 2 Phase 3

Organisation du festival

Invitation desartistes

Période d'annulation

Déroulement du festival

Fig. 6.3 – Phases d’organisation du festival.

Page 116: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 107

Phase 1 : Invitation des artistes

Lors de la premiere phase, le planificateur se doit d’inviter un nombre suffisant

d’artistes pour que le festival soit complet. Dans les faits, le planificateur doit trouver 9

artistes pour remplir 9 plages horaires, car le festival se deroule sur 3 jours et on desire

presenter 3 spectacles par jours. Le planificateur doit donc s’assurer que 9 artistes

s’engagent a se presenter au festival. Le planificateur utilise les niveaux de confiance

et d’entente pour determiner les artistes a inviter. Nous sommes conscient que bien

d’autres facteurs (styles musicaux des artistes, popularite des artistes, . . . ) interviennent

lors de la selection des artistes a inviter lors de l’organisation d’un festival, mais nous

pensons qu’il est amplement suffisant de considerer seulement les niveaux de confiance

et d’entente dans notre cas.

C’est egalement pendant la premiere phase que l’agent secretaire doit reserver les

billets d’avion et les chambres d’hotel pour les agents. En somme, la phase d’organisa-

tion permet aux agents de creer l’ensemble des engagements qui sont necessaires pour

que le festival se deroule correctement.

Phase 2 : Periode d’annulation

La deuxieme phase de l’organisation du festival permet de modeliser le fait que cer-

tains agents qui ont contracte differents engagements peuvent changer d’idee et decider

d’annuler certains engagements. Par exemple, certains artistes peuvent decider, pour

differentes raisons, de ne plus se presenter au festival et d’annuler leurs engagements.

L’annulation de la presence d’un artiste entraıne egalement l’annulation des reservations

qui ont ete realisees pour l’artiste. De plus, le planificateur doit trouver un nouvel artiste

pour remplacer celui qui s’est desiste. C’est donc dans la periode d’annulation que cer-

tains engagements sont annules. Naturellement, le niveau de confiance du planificateur

envers l’artiste qui annule ses engagements diminuera.

Phase 3 : Deroulement du festival

La troisieme phase concerne simplement le deroulement du festival. C’est lors de

cette phase qu’il est possible d’observer si les differents agents du festival respectent

leurs engagements et si le festival se deroule correctement. Comme c’etait le cas pour

l’annulation, certains artistes peuvent decider de ne pas se presenter au festival, mais ne

pas aviser le planificateur. La phase de deroulement du festival permet donc de verifier

Page 117: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 108

le respect des engagements sociaux. Les niveaux de confiance des differents agents sont

egalement modifies lors de cette phase. Si les agents respectent leurs engagements, le

niveau de confiance qu’ont les autres agents envers eux augmente et il diminue s’ils ne

les respectent pas.

Une simulation de l’organisation du festival est donc obligatoirement composee de

ces trois phases. La premiere phase concerne la creation d’engagements, la deuxieme

phase l’annulation d’engagements et la derniere le respect des engagements. A chacune

de ces phases, les niveaux de confiance et d’entente des differents agents sont modifies

selon les faits et gestes de chacun. Par exemple, le niveau de confiance du planifica-

teur envers un artiste augmente si celui-ci s’engage a venir au festival (phase 1) et

respecte son engagement (phase 3). Il semble donc interessant d’etudier comment les

agents evoluent d’une simulation a l’autre. Observons donc les resultats obtenus lors

des simulations effectuees.

6.5.2 Resultats et analyse

Nous avons simule 500 organisations du festival d’ete de Quebec pour analyser

l’evolution des agents du festival d’une simulation a l’autre. Nous nous sommes par-

ticulierement interesses aux interactions entre le planificateur et les artistes. En fait,

nous nous sommes attardes au travail du planificateur qui est le grand responsable de

l’organisation du festival puisqu’il s’occupe de l’invitation des artistes. C’est donc en

grande partie le travail du planificateur qui determine si le festival est un succes ou non.

Comme on l’a vu a la section 6.4, les agents du festival utilisent les niveaux de

confiance et d’entente pour choisir les agents avec lesquels il convient d’interagir. Dans

notre exemple, le planificateur determine les artistes a inviter en se basant sur l’equation

ar = argmaxa∈A

(3 ∗ Tx(a) + Ex(a))

Le planificateur selectionne donc l’agent ar de l’ensemble des artistes (ensemble A)

qui maximise l’equation 3 ∗ Tx(ar) + Ex(ar). Le planificateur privilegie donc le niveau

de confiance (3 fois plus) au depend du niveau d’entente. D’une simulation a l’autre,

le planificateur ajuste ses niveaux de confiance et d’entente en fonction des actions

des artistes invites. Le planificateur devrait donc reussir a identifier les artistes qui

respectent leurs engagements et apprendre a organiser le festival plus efficacement.

Page 118: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 109

Nous avons utilise les metriques d’evaluation du dialogue que nous avons presente

a la section 6.3 pour analyser les simulations de l’organisation du festival et le travail

du planificateur. Nous presentons ici les resultats de l’analyse de quatre metriques que

nous jugeons importantes pour evaluer la qualite du travail du planificateur. Ces quatre

metriques sont les suivantes :

– Le pourcentage des engagements respectes par les agents artistes.

– Le nombre d’engagements annules par les agents artistes.

– Le nombre de tours de dialogue qui se deroulent entre les artistes et le planifica-

teur.

– Le nombre de jeux de dialogue joues entre les artistes et le planificateur.

Regardons donc en detail les resultats obtenus pour chacune de ces metriques.

Pourcentage des engagements respectes par les agents artistes

Le premier objectif du planificateur est d’inviter des artistes dignes de confiance.

Lorsque le planificateur invite un artiste, il veut tout d’abord s’assurer que celui-ci se

presentera reellement au festival. Il tentera donc d’inviter des artistes qui ont tendance

a respecter leurs engagements. Pour ce faire, le planificateur doit ajuster correctement

le niveau de confiance qu’il a envers les differents artistes en fonction de leurs actions.

Ainsi, le niveau de confiance qu’a le planificateur envers un artiste augmentera s’il

respecte ses engagements et il diminuera s’il ne les respecte pas.

Il est donc pertinent de regarder le pourcentage des engagements respectes par les

artistes invites pour verifier si le planificateur s’ameliore dans le processus d’invitation

des artistes. Normalement, le pourcentage des engagements respectes par les differents

artistes invites devrait augmenter d’une simulation a l’autre si le planificateur reussit

a cibler les agents dignes de confiance. On retrouve a la figure 6.4 le graphique du

pourcentage moyen d’engagements remplis par les artistes pour chaque tranche de 25

simulations. Le graphique contient donc le pourcentage moyen d’engagements remplis

pour 50 tranches de 25 simulations.

Nous avons regroupe les simulations par tranches puisqu’il y a une tres grande

variation entre les resultats des differentes simulations. Cette variation est attribuable au

comportement aleatoire des agents du festival (fichiers de comportement). Par exemple,

un agent artiste qui respecte 85% de ses engagements sera probablement considere

comme digne de confiance par le planificateur, mais risque tout de meme ne pas respecter

certains de ses engagements. Le fait de regrouper les resultats des simulations par

tranche de 25 nous permet donc de reduire cette variation.

Page 119: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 110

65

70

75

80

85

90

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49

Simulations par tranche de 25

Po

urc

en

tag

e m

oy

en

d'e

ng

ag

em

en

ts r

em

pli

s (

art

iste

)

Fig. 6.4 – Pourcentage moyen d’engagements remplis par les artistes pour chaque

tranche de 25 simulations.

Nous avons ajoute au graphique la droite de regression lineaire des donnees pour

montrer que le pourcentage d’engagements remplis est croissant (en moyenne) d’une si-

mulation a l’autre. Ce graphique nous permet donc de conclure que l’agent planificateur

s’ameliore reellement lors de l’organisation du festival malgre les importantes variations

que l’on observe d’une simulation a l’autre.

Les ecarts entre les resultats des differentes simulations sont attribuables a differents

facteurs. Le premier facteur est la nature aleatoire des agents qui forment le SMA du

festival d’ete de Quebec. Comme nous l’avons deja mentionne, meme si le planificateur

invite des artistes qui respectent leurs engagements avec une tres forte probabilite, il

est possible que plusieurs de ces agents ne respectent pas leurs engagements. De plus,

plusieurs artistes ont des fichiers de comportement assez semblables. Il n’y a donc pas

une enorme difference entre un agent qui respecte 80% de ses engagements et un autre

qui en respecte 85%. Il est donc difficile pour le planificateur d’identifier precisement

les artistes qui sont vraiment les plus dignes de confiance en terme de probabilite.

Page 120: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 111

Nombre d’engagements annules par les agents artistes

Le planificateur doit egalement considerer l’annulation des engagements pour ajuster

le niveau de confiance qu’il a envers les differents artistes. Le planificateur ne desire pas

inviter des artistes qui annulent regulierement leurs engagements et qui l’obligent a

trouver des artistes remplacants a la derniere minute. Il est donc interessant d’observer

le nombre d’engagements qui sont annules par les artistes d’une simulation a l’autre pour

evaluer le travail du planificateur. On retrouve a la figure 6.5 le graphique du nombre

moyen d’engagements annules par les artistes pour chaque tranche de 25 simulations.

Encore une fois on utilise des tranches de 25 simulations pour reduire la variation qui

existe entre les resultats des differentes simulations.

0

0,5

1

1,5

2

2,5

3

3,5

4

4,5

5

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49

Simulations par tranche de 25

No

mb

re m

oy

en

d'e

ng

ag

em

en

ts a

nn

ulé

s (

art

iste

)

Fig. 6.5 – Nombre moyen d’engagements annules par les artistes pour chaque tranche

de 25 simulations.

Il est facile de constater que les artistes ont tendance a annuler de moins en moins

d’engagements d’une simulation a l’autre. Nous pouvons donc dire que le planificateur

s’est ajuste et a appris a inviter les artistes qui ont tendance a ne pas annuler leurs

engagements trop regulierement.

Page 121: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 112

Nombre de tours de dialogue

Lors de l’invitation d’un artiste, le planificateur doit negocier le salaire de l’artiste

et la plage horaire de sa prestation. Naturellement, le planificateur espere que l’artiste

acceptera le salaire et la plage horaire qui lui sont proposes sans protester. Le planifica-

teur ne veut surtout pas entrer dans un long cycle de negociation qui necessite plusieurs

tours de dialogue et qui risque de mener a un desaccord. Le planificateur cherchera donc

a interagir avec les agents qui acceptent rapidement ce qui leur est propose pour perdre

le moins de temps possible lors de l’invitation des artistes. Pour ce faire, il devra ajuster

correctement le niveau d’entente qu’il a envers les differents artistes d’une simulation a

l’autre.

Il est donc interessant d’observer le nombre de tours de dialogue que le planificateur

consacre a communiquer avec les differents artistes lors de l’organisation du festival. On

retrouve a la figure 6.6 le graphique du nombre moyen de tours de dialogue qui ont lieu

entre les artistes et le planificateur pour chaque tranche de 25 simulations.

0

50

100

150

200

250

300

350

400

450

500

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49

Simulations par tranche de 25

No

mb

re d

e t

ou

rs

de

dia

log

ue

(p

lan

ific

ate

ur-

art

iste

)

Fig. 6.6 – Nombre moyen de tours de dialogue qui ont lieu entre les artistes et le

planificateur pour chaque tranche de 25 simulations.

On remarque que le nombre de tours de dialogue diminue de simulation en simu-

lation. On peut donc deduire que l’agent planificateur reussit a identifier les agents

qui sont plus propices a accepter les conditions qui leur sont proposees. Cependant, il

est facile de constater que le nombre de tours de dialogue ne diminue pas d’une facon

Page 122: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 113

tres significative entre les simulations. Ce phenomene s’explique par le fait que le ni-

veau d’entente est beaucoup moins important que le niveau de confiance quand vient

le temps de determiner avec qui interagir. Dans les faits, l’agent planificateur apporte

trois fois plus d’importance au niveau de confiance qu’au niveau d’entente. C’est donc

pour cette raison que la diminution du nombre de tours de dialogue par simulation n’est

pas aussi prononcee qu’on aurait pu l’imaginer.

Nombre de jeux de dialogue

Comme nous venons de le mentionner, le planificateur ne veut pas dialoguer in-

utilement lors de l’organisation du festival. Il semble donc interessant de regarder, en

plus du nombre de tours de dialogue, le nombre de jeux de dialogue qui sont utilises

a l’interieur des conversations entre le planificateur et les artistes. Il est interessant de

considerer le nombre de jeux de dialogue, car il est possible que certains artistes re-

fusent categoriquement de se presenter au festival sans meme negocier. Dans ce cas, le

planificateur ouvre un jeu de dialogue inutilement, mais ce phenomene ne se reflete pas

reellement dans le nombre de tours de dialogue car le jeu se termine rapidement.

Il semble donc pertinent d’observer le nombre de jeux de dialogue qui sont joues

entre les artistes et le planificateur. On retrouve a la figure 6.7 le graphique du nombre

moyen de jeux de dialogue joues entre les artistes et le planificateur pour chaque tranche

de 25 simulations.

Tout comme c’etait le cas pour les tours de dialogue, on remarque une diminution

du nombre de jeux de dialogue joues. Cependant, cette diminution est rapide puisque

l’agent planificateur identifie rapidement les agents qui sont nullement interesses a se

presenter au festival.

Fichiers de comportement

Par ailleurs, nous avons verifie, en observant les fichiers de comportement et les

preferences (cachets demandes et disponibilites) des artistes, si le planificateur invite

reellement les meilleurs artistes pour le festival. Nous avons pu constater que le plani-

ficateur a reussi a determiner (apres 500 simulations) les cinq artistes qui sont les plus

fiables. C’est a dire, les artistes qui respectent habituellement leurs engagements et qui

les annulent rarement. Le planificateur invite donc systematiquement ces 5 artistes a

chaque simulation. Pour ce qui est des quatre artistes manquants, le planificateur les

Page 123: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 114

0

10

20

30

40

50

60

70

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49

Simulations par tranche de 25

No

mb

re d

e j

eu

x d

e

dia

log

ue

uti

lis

és

(p

lan

ific

ate

ur-

art

iste

)

Fig. 6.7 – Nombre moyen de jeux de dialogue qui sont joues entre les artistes et le

planificateur pour chaque tranche de 25 simulations.

choisit parmi un groupe de huit autres artistes. Ces artistes ont des comportements

semblables, mais des disponibilites differentes. On peut donc affirmer que le planifi-

cateur s’ameliore reellement dans l’organisation du festival et que les variations entre

les resultats des differentes simulations sont uniquement attribuables au comportement

aleatoire des agents.

Cependant, c’est ce cote aleatoire qui nous a permis de tester correctement l’utilisa-

tion des metriques. De plus, ces variations n’ont pas empeche le planificateur de cibler

les meilleurs artistes a inviter. En somme, l’exemple du festival d’ete de Quebec nous a

permis de montrer que les metriques que nous avons developpees ainsi que notre simu-

lateur peuvent etre tres utiles pour evaluer l’efficacite des conversations et des agents

d’un SMA.

6.6 Conclusion

Dans ce chapitre, nous avons presente les fonctionnalites du simulateur de conver-

sation DGS que nous avons developpe pour tester et valider differents concepts relies a

la problematique de la communication agent. Nous avons pu constater que le DGS est

Page 124: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 6. Simulation et resultats 115

un excellent outil pour simuler des conversations entre des agents qui utilisent les jeux

de dialogue pour communiquer.

Tout d’abord, le DGS fournit de nombreux outils de visualisation qui permettent de

suivre en temps reel les interactions qui se produisent a l’interieur d’un SMA. Avec le

DGS, il est facile de consulter l’ensemble des messages echanges entre les agents tout en

consultant l’agenda des differents agents qui interagissent. De plus, les metriques qui ont

ete developpees permettent d’analyser en profondeur tous les aspects d’une simulation.

Par ailleurs, notre modele de conception d’agents facilite grandement la creation

d’agents qui ont la capacite d’evoluer dans le simulateur. Il est important de noter que

ce modele de conception ne limite aucunement les concepteurs d’agents qui desirent

creer leur propre type d’agents pour tester differents concepts. Les concepteurs d’agents

doivent seulement respecter certains criteres et implanter certaines methodes lors de la

conception de leurs agents pour garantir la compatibilite avec le DGS. Il est donc

relativement facile de creer un agent pouvant evoluer dans le DGS. Il faut cependant

garder en tete que cet agent doit utiliser les jeux de dialogue pour communiquer.

De notre cote, nous avons utilise notre modele de conception d’agents pour creer

les agents de l’exemple du fesitval d’ete de Quebec. Nous avons implante le mecanisme

de prise de decisions de ces agents par l’intermediaire des fichiers de comportement

et ajoute les concepts de niveau de confiance et d’entente pour permettre aux agents

de s’ameliorer dans leurs interactions. Par la suite, nous avons pu creer nos agents

qui utilisent les reseaux d’engagements pour representer les agents du festival d’ete de

Quebec et analyser leurs interactions par l’intermediaire du simulateur DGS.

Le simulateur nous a donc permis de constater que les reseaux d’engagements fonc-

tionnent tres bien pour modeliser le comportement dialogique des agents qui utilisent

un langage de communication dont la semantique se base sur les engagements sociaux

(DIAGAL). Inversement, l’implantation d’agents qui utilisent les reseaux d’engagements

nous a permis de verifier le bon fonctionnement de notre simulateur et du langage

DIAGAL. L’utilisation de l’exemple du festival par l’intermediaire des reseaux d’en-

gagements nous a egalement permis de tester l’utilisation du module de metriques du

simulateur. Ce module de metriques s’est avere tres utile pour analyser en profondeur

les interactions entre agents.

En somme, nous pouvons affirmer que le DGS est un excellent outil qui permet

d’etudier de nombreux aspects de la communication entre agents.

Page 125: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 7

Conclusion

Dans ce memoire, nous avons propose un langage de communication agent appele

DIAGAL et une methode de modelisation du dialogue agent qui se base sur la dyna-

mique des engagements sociaux. A cet effet, nous avons tout d’abord presente, aux

chapitres 2 et 3, differentes approches qui ont ete developpees pour creer des langages

de communication agent et modeliser le dialogue agent. Nous avons precise que ces

approches se divisent en deux grandes familles : les approches basees sur les etats

mentaux et les approches basees sur les engagements sociaux. Nous avons enumere les

avantages et les limites de ces approches et nous avons argumente sur le fait que les ap-

proches basees sur les engagements sociaux sont fort prometteuses puisqu’elles pallient

aux principaux inconvenients des approches mentalistes comme KQML et FIPA-ACL.

Nous avons egalement presente differentes methodes de modelisation du dialogue et

nous avons explique pourquoi il est primordial de s’attarder aux aspects de la flexibilite

et de la specification lorsqu’on s’interesse a la modelisation du dialogue agent.

Par la suite, nous avons presente, au chapitre 4, le langage de communication DIA-

GAL qui a ete developpe au DAMAS. Ce langage se base sur les jeux de dialogue

qui permettent de manipuler les engagements sociaux. Nous avons vu que le langage

DIAGAL etait independant du mecanisme de prise de decisions et de l’architecture des

agents qui l’utilisent, ce qui fait de lui un bon candidat pour etre utilise comme langage

de communication a l’interieur d’un SMA ouvert. De plus, DIAGAL est un langage de

communication flexible puisque les agents peuvent combiner les jeux de dialogue selon

leurs besoins.

Dans le chapitre 5, nous avons presente les reseaux d’engagements qui permettent

de modeliser le dialogue agent par l’intermediaire de la dynamique des engagements

sociaux. Nous avons vu comment se definit un reseau d’engagements et nous avons utilise

Page 126: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 7. Conclusion 117

l’exemple du festival d’ete de Quebec (ou un agent planificateur invite des artistes en vue

d’organiser un festival) pour montrer comment les reseaux d’engagements pourraient

etre employes pour modeliser la dynamique des systemes d’informations.

Finalement, le chapitre 6 nous a permis de presenter notre simulateur de conver-

sation et les metriques que nous avons definies pour evaluer la qualite des dialogues

entre agents. Nous avons montre comment notre simulateur de conversation nous a

permis de valider l’utilisation du langage DIAGAL et des reseaux d’engagements par

l’intermediaire de l’exemple du festival d’ete de Quebec. Pour ce faire, nous avons si-

mule differentes organisations du festival d’ete et analyse les resultats des simulations

a l’aide des differentes metriques que nous avons definies. En particulier, les metriques

nous ont permis de montrer comment l’agent planificateur peut apprendre a organiser

efficacement le festival en utilisant les concepts de niveau de confiance et d’entente.

Revenons maintenant sur les objectifs que nous nous etions fixes au chapitre 1.

7.1 Retour sur les objectifs

Etudier les differentes approches possibles au niveau de la communication entre agents

en se concentrant sur les approches basees sur les engagements sociaux.

Pour realiser cet objectif, nous avons presente, aux chapitres 2 et 3, differentes approches

de communication entre agents. Nous avons egalement presente les avantages et les

limites de ces approches.

Contribuer au developpement du langage de communication DIAGAL developpe au DA-

MAS.

Nous avons ajoute les jeux de retraits et de modification d’engagements pour rendre le

langage DIAGAL complet et pour preserver l’autonomie des agents. En effet, un agent

qui desire retirer ou modifier un engagement doit pouvoir le faire avec DIAGAL. De

plus, nous avons cree les jeux de dialogue avec negociation pour que les agents puissent

negocier le contenu des engagements. Ces differents jeux ont ete presentes au chapitre 4.

Specifier une methode de modelisation du dialogue qui se base sur la dynamique des

engagements sociaux.

Nous avons presente, au chapitre 5, le concept de reseaux d’engagements qui permet

d’utiliser la dynamique des engagements sociaux pour modeliser le dialogue agent. De

plus, nous avons montre comment on pourrait utiliser les reseaux d’engagements pour

modeliser la dynamique des systemes d’informations.

Page 127: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 7. Conclusion 118

Valider la technique de modelisation du dialogue en utilisant un exemple concret par

l’intermediaire d’un simulateur de conversation.

Le chapitre 6 nous a permis de presenter les resultats des simulations de l’organisation

du festival d’ete de Quebec qui ont ete realisees dans notre simulateur de conversation.

Determiner des metriques permettant d’analyser les dialogues et la qualite de la modelisation.

Au chapitre 6, nous avons presente differentes metriques qui permettent d’evaluer la

qualite d’un dialogue. Nous avons egalement utilise ces metriques pour analyser les

resultats des simulations de l’organisation du festival d’ete de Quebec.

7.2 Travaux futurs

Meme si le langage DIAGAL repond a l’essentiel dans sa forme actuelle, il reste de

nombreuses pistes a explorer pour l’ameliorer. Regardons quelques-unes de ces pistes.

Satisfaction des engagements

De nombreux modeles d’engagements ont ete proposes pour definir des langages de

communication dont la semantique se base sur les engagements sociaux, mais aucun

de ces modeles ne definit clairement la satisfaction des engagements. Cependant, cette

notion de satisfaction d’engagements est tres importante, car elle est essentielle pour

verifier si les engagements d’un SMA sont remplis ou violes. Dans l’exemple du festi-

val d’ete de Quebec, nous avons suppose que les agents sont immediatement informes

lorsqu’un engagement est rempli ou viole. Cependant, cette supposition ne tient pas tou-

jours. Il est donc essentiel de definir clairement la notion de satisfaction d’engagements.

Une telle notion est doublement importante, car c’est elle qui determine l’application

des sanctions qui sont attachees aux engagements.

Sanctions

Comme on l’a vu au chapitre 4, les engagements manipules par les jeux de dialogue

du langage DIAGAL peuvent contenir des sanctions qui sont appliquees si les agents

ne respectent pas ou retirent leurs engagements. Cependant, nous n’avons pas encore

defini un systeme precis de sanctions. Pasquier et al. (2004) ont souleve des pistes tres

interessantes, mais il reste beaucoup de travail a faire pour definir un systeme complet

de sanctions. Ce systeme de sanctions est tres important, car c’est les sanctions qui

incitent les agents a respecter leurs engagements. Il reste donc beaucoup de travail a

faire pour determiner les types de sanctions a utiliser (sociales, materielles, psycholo-

gique,. . . ) et comment ces sanctions peuvent etre appliquees.

Page 128: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Chapitre 7. Conclusion 119

Analyse de nouveaux exemples et protocoles

Il serait interessant d’utiliser le langage DIAGAL et les reseaux d’engagements pour

analyser des exemples differents de celui du festival d’ete de Quebec. Il serait interessant

d’etudier des SMA plus complexes qui impliquent plus d’agents et plus d’engagements.

L’etude de systemes plus complexes nous permettrait d’obtenir des resultats plus signi-

ficatifs et de nous rapprocher d’une application reelle. Il serait par exemple interessant

d’etudier l’utilisation des reseaux d’engagements pour concevoir une application de

commerce electronique.

Jusqu’a present, nous avons utilise les reseaux d’engagements pour etudier la dyna-

mique des conversations d’un SMA precis comme celui du festival d’ete de Quebec. Il

serait egalement interessant de definir differents protocoles d’interaction couramment

employes en se servant des reseaux d’engagements. Il serait donc possible de definir des

“banques” de reseaux d’engagements que les agents pourraient utiliser pour communi-

quer dans differents SMA. Nous pourrions meme definir une semantique des reseaux

d’engagements pour que les agents puissent utiliser les bons reseaux d’engagements

en fonction des taches qu’ils doivent realiser. A partir de ce principe, il serait meme

possible d’etudier la possibilite de combiner plusieurs reseaux d’engagements.

Page 129: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

Bibliographie

Agent Oriented Software Group (2005). AOS Home Page, [En ligne].

http ://www.agent-software.com/ (Page consultee le 24 janvier 2005).

Amgoud, L., Maudet, N., et Parsons, S. (2000). Modelling dialogues using argumenta-

tion. Dans Proceedings of the 4th International Conference on Multi-Agent Systems

(ICMAS’00), Boston, USA.

Austin, J. L. (1962). How to do Things with Words. Oxford University Press.

Bentahar, J., Moulin, B., et Chaib-draa, B. (2004a). Commitment and Argument Net-

work : A New Formalism for Agent Communication. Dans Dignum, F., redacteur, Ad-

vances in Agent Communication, volume 2922 de Lecture Notes in Computer Science,

pages 146–165. Springer-Verlag.

Bentahar, J., Moulin, B., Meyer, J.-J. C., et Chaib-draa, B. (2004b). A Logical Model

for Commitment and Argument Network for Agent Communication. Dans Jennings,

N. R., Sierra, C., Sonenberg, L., et Tambe, M., redacteurs, Proceedings of the 3rd

International Jiont Conference on Autonomous Agents & Multiagent Systems (AA-

MAS’2004), volume 2, pages 792–799. ACM Press.

Chaib-draa, B., Labrie, M.-A., et Maudet, N. (2003a). Request for action reconsidered

as a dialogue game based on commitments. Dans Huget, M.-P., redacteur, Communi-

cation in Multiagent Systems, volume 2650 de Lecture Notes in Artificial Intelligence,

pages 284–299. Springer-Verlag, Heidelberg, Allemagne.

Chaib-draa, B., Labrie, M.-A., et Maudet, N. (2003b). Request for action reconsi-

dered as a dialogue game based on commitments. Dans Huget, M.-P., redacteur,

Communication in Multiagent Systems, volume 2650 de Lecture Notes in Artificial

Intelligence, pages 284–299, Berlin, Germany. Springer-Verlag. Appeared also in the

preproceedings of the AAMAS 2002 Workshop on Agent Communication Languages

and Conversation Policies.

Cohen, P. R. et Levesque, H. J. (1995). Communicative actions for artificial agents. Dans

Lesser, V. et Gasser, L., redacteurs, Proceedings of the 1st International Conference

Page 130: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

BIBLIOGRAPHIE 121

on Multi-Agent Systems (ICMAS’95), pages 65–72, San Francisco, CA, USA. AAAI

Press.

Cohen, P. R. et Perrault, C. R. (1979). Elements of a plan based theory of speech acts.

Cognitive Science, 3(3) :177–212.

Colombetti, M. (2000). A commitment-based approach to agent speech acts and conver-

sations. Dans Proceedings of the 4th International Conference on Autonomous Agents

(Agents’00) Workshop on Agent Languages and Communication Policies, pages 21–

29, Barcelone.

Cost, R. S., Chen, Y., Finin, T., Labrou, Y., et Peng, Y. (2000). Using colored petri

nets for conversation modeling. Dans Dignum, F. et Greaves, M., redacteurs, Issues

in Agent Communication, pages 178–192. Springer-Verlag, Heidelberg, Germany.

Dastani, M., Hulstijn, J., et der Torre, L. V. (2001). Negotiation protocols and dialogue

games. Dans Muller, J. P., Andre, E., Sen, S., et Frasson, C., redacteurs, Proceedings

of the 5th International Conference on Autonomous Agents (Agents’01), pages 180–

181, Montreal, Canada. ACM Press.

Dignum, F. et Greaves, M. (2000). Issues in agent communication : An introduction.

Dans Dignum, F. et Greaves, M., redacteurs, Issues in Agent Communication, volume

1916 de Lecture Notes in Computer Science, pages 1–16. Springer-Verlag, Heidelberg,

Allemagne.

El Fallah Seghrouchni, A., Haddad, S., et Mazouzi, H. (1998). Observation repartie

et analyse des interactions dans un systeme multi-agents. Dans Actes des JFIAD-

SMA’98, Edition Hermes. Nancy.

El Fallah Seghrouchni, A. et Mazouzi, H. (1999). Une approche methodologique pour

l’ingenierie des protocoles d’interactions dans les systemse multi-agents. Dans Actes

des JFIADSMA’99, Edition Hermes. Saint-Gilles La Reunion.

Fikes, R. E. et Nilsson, N. J. (1971). STRIPS : a new approach to the application of

theorem proving to problem solving. Artificial Intelligence, 2(3-4) :189–208.

Finin, T., Fritzson, R., McKay, D., et McEntire, R. (1994a). KQML as an Agent

Communication Language. Dans Adam, N., Bhargava, B., et Yesha, Y., redacteurs,

Proceedings of the 3rd International Conference on Information and Knowledge Ma-

nagement (CIKM’94), pages 456–463, Gaithersburg, MD, USA. ACM Press.

Finin, T., Weber, J., Wiederhold, G., Genesereth, M., McKay, D., Fritzson, R., Sha-

piro, S., Pelavin, R., et McGuire, J. (1994b). Specification of the KQML Agent-

Communication Language – plus example agent policies and architectures. Rapport

technique, DARPA Knowledge Sharing Initiative External Interface Working Group.

Page 131: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

BIBLIOGRAPHIE 122

FIPA (2004). Welcome to the Foundation for Intelligent Physical Agents, [En ligne].

http ://www.fipa.org/ (Page consultee le 18 aout 2004).

FIPA (2005). FIPA SL Content Language Specification, [En ligne].

http ://www.fipa.org/specs/fipa00008/SC00008I.html (Page consultee le 9 fevrier

2005).

Flores, R. A. (2002). Modelling Agent Conversations for Action. These de doctorat,

University of Calgary.

Flores, R. A. et Kremer, R. C. (2004). A principled modular approach to construct

flexible conversation protocols. Dans Advances in Artificial Intelligence, volume 3060

de Lecture Notes in Artificial Intelligence, pages 1–15. Springer-Verlag.

Flores, R. A., Pasquier, P., et Chaib-draa, B. (2004). Conversational semantics with

social commitments. Dans Proceedings of the Workshop on Agent Communication

(AC2004), 3rd International Joint Conference on Autonomous Agents and Multi

Agent Systems (AAMAS 2004), New York, USA. ACM Press.

Fornara, N. et Colombetti, M. (2002). Operational specification of a commitment-

based agent communication language. Dans Proceedings of the 1st International

Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS’02),

pages 536–542, Bologne, Italie. ACM Press.

Fornara, N. et Colombetti, M. (2003). Defining interaction protocols using a

commitment-based agent communication language. Dans Proceedings of the second

international joint conference on Autonomous agents and multiagent systems, pages

520–527, Melbourne, Australia.

Greaves, M., Holmback, H., et Bradshaw, J. (2000). What is a conversation policy ?

Dans Dignum, F. et Greaves, M., redacteurs, Issues in Agent Communication, pages

118–131. Springer-Verlag, Heidelberg, Allemagne.

Habermas, J. (1984). The Theory of Communicative Action. Polity Press, Cambridge,

UK.

Jensen, K. (1997a). Coloured Petri Nets. Basic Concepts, Analysis Methods and Practi-

cal Use, volume 1 de Basic Concepts of Monographs in Theoretical Computer Science.

Springer-Verlag.

Jensen, K. (1997b). Coloured Petri Nets. Basic Concepts, Analysis Methods and Prac-

tical Use, volume 2 de Analysis Methods of Monographs in Theoretical Computer

Science. Springer-Verlag.

Page 132: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

BIBLIOGRAPHIE 123

Jensen, K. (1997c). Coloured Petri Nets. Basic Concepts, Analysis Methods and Prac-

tical Use, volume 3 de Practical Use of Monographs in Theoretical Computer Science.

Springer-Verlag.

Labrie, M.-A. (2003). Langage de communication agent base sur les engagements par

l’entremise des jeux de dialogue. Memoire de maıtrise, Universite Laval.

Labrou, Y. (1996). Semantics for an Agent Communication Language. These de doc-

torat, University of Maryland Graduate School.

Labrou, Y. et Finin, T. (1997). A Proposal for a new KQML Specification. Rapport

Technique TR CS-97-03, Baltimore, MD, USA.

Marsh, S. P. (1994). Formalising Trust as a Computational Concept. These de doctorat,

University of Stirling.

Maudet, N. (2001). Modeliser les conventions des interactions langagieres : la contri-

bution des jeux de dialogue. These de doctorat, Universite Paul Sabatier, Toulouse.

Maudet, N. et Chaib-draa, B. (2002). Commitment-based and dialogue-game based

protocols – New trends in agent communication language. Knowledge Engineering

Review, 17(2) :157–179.

McBurney, P. et Parsons, S. (2002). Games that agents play : A formal framework for

dialogues between autonomous agents. volume 11, pages 315–334. Kluwer Academic.

McBurney, P., Parsons, S., et Wooldridge., M. (2002). Desiderata for agent argumen-

tation protocols. Dans Castelfranchi, C. et Johnson, W. L., redacteurs, Proceedings

of the 1st International Joint Conference on Autonomous Agents and Multi-Agent

Systems (AAMAS’02), pages 402–409, Bologne, Italie. ACM Press.

Odell, J., Parunak, H. V. D., et Bauer, B. (2001). Representing Agent Interaction

Protocols in UML. Dans Ciancarini, P. et Wooldridge, M., redacteurs, Agent-Oriented

Software Engineering, pages 121–140. Springer-Verlag, Heidelberg, Allemagne.

Pasquier, P., Andrillon, N., et Chaib-draa, B. (2003). An exploration in using cognitive

coherence theory to automate bdi agents’ communicational behavior. Dans Huget,

M.-P. et Dignum, F., redacteurs, Proceedings of the Agent Communication Languages

and Conversation Policies AAMAS 2003 Workshop. July 14th 2003, Melbourne,

Australia.

Pasquier, P., Flores, R., et Chaib-draa, B. (2004). Modeling flexible social commitments

and their enforcement. Dans Proceeding of the Fifth International Workshop Enginee-

ring Societies in the Agents World (ESAW), Lecture Notes in Artificial Intelligence

(LNAI). Springer-Verlag.

Page 133: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

BIBLIOGRAPHIE 124

Perrault, C. R. et Allen, J. F. (1980). A plan-based analysis of indirect speech acts.

American Journal of Computational Linguistics, 6(3-4) :167–182.

Pitt, J. et Mamdani, A. (2000). Communication protocols in multi-agent systems : A

development method and reference architecture. Dans Dignum, F. et Greaves, M.,

redacteurs, Issues in Agent Communication, pages 160–177. Springer-Verlag, Heidel-

berg, Allemagne.

Reed, C. (1998). Dialogue frames in agent communication. Dans Proceedings of the

3rd International Conference on Multi-Agent Systems (ICMAS’98), pages 246–253,

Paris, France.

Searle, J. R. (1969). Speech Acts : An Essay in the Philosophy of Language. Cambridge

University Press.

Singh, M. P. (1998). Agent communication languages : rethinking the principles. IEEE

Computer, 31(12) :40–47.

Singh, M. P. (1999). An ontology for commitments in multiagent systems : toward a

unification of normative concepts. Artificial Intelligence and Law, 7 :97–113.

Singh, M. P. (2000). A social semantics for agent communication languages. Dans

Dignum, F. et Greaves, M., redacteurs, Issues in Agent Communication, pages 31–

45. Springer-Verlag : Heidelberg, Germany.

Sirbu, M. A. (1998). Credits and debits on the internet. pages 299–305. Morgan

Kaufmann Publishers.

Smith, G. (2000). The Object-Z Specification Language. Advances in Formal Methods.

Kluwer Academic.

Smith, R. G. (1980). The contract net protocol : High-level communication and control

in a distributed problem solver. IEEE Trans. Computers, 29(12) :1104–1113.

Vitteau, B. et Huget, M.-P. (2003). Modularity in interaction protocols. Dans Workshop

on Agent Communication Language (AAMAS´03), pages 291–309.

Walton, D. N. et Krabbe, E. C. W. (1995). Commitment in Dialogue : Basic Concepts

of Interpersonal Reasoning. State University of New York Press, Albany, NY.

Wan, F. et Singh, M. P. (2003). Commitments and causality for multiagent design.

Dans Proceedings of the second international joint conference on Autonomous agents

and multiagent systems, pages 749–756. ACM Press.

Page 134: Spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (SMA) et, de nos jours, les SMA forment un champ d’´etude important de l’informatique

BIBLIOGRAPHIE 125

Yolum, P. et Singh, M. P. (2001). Commitment machines. Dans Meyer, J.-J. et Tambe,

M., redacteurs, Pre-proceedings of the Eighth International Workshop on Agent Theo-

ries, Architectures, and Languages (ATAL-2001), pages 245–257.

Yolum, P. et Singh, M. P. (2002). Flexible protocol specification and execution : ap-

plying event calculus planning using commitments. Dans AAMAS ’02 : Proceedings

of the first international joint conference on Autonomous agents and multiagent sys-

tems, pages 527–534. ACM Press.