spécification, modélisation et analyse du dialogue entre ... · syst`emes multi-agents (sma) et,...
TRANSCRIPT
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
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.
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
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
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
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
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
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
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
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-
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.
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.
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.
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.
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.
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.
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.
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.
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
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
)
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, ...)
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.
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.
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(α)
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
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.
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).
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.
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
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.
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.
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-
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.
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.
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
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
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.
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
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.
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.
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
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.
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.
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
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
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
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.
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
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.
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.
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.
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
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.
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.
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
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 α.
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.
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
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
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
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
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
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
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.
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.
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
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
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.
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.
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
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
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
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.
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.
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.
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
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.
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-
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
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-
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-
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.
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-
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.
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, β).
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.
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
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.
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
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.
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.
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
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
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.
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.
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.
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
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
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
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
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.
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).
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
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.
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.
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
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.
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
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 :
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.
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
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
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.
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.
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.
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
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.
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.
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.
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.
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
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
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
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.
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
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.
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.
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.
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
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.
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.
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.
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.
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.