Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur...
Transcript of Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur...
Technologiedes agents
Université A.Mira, Bejaia
Faculté des Sciences Exactes
Département d'Informatique
2
3
4
5
Introduction à l’IAD et aux Systèmes Multi-Agents 1
Modèles et Architectures Agents
Négociation entre agents.
Planification distribuée et répartition des tâches
Communication entre agents
Plan
Chapitre 1
Sommaire
Introduction à l’IAD et aux Systèmes Multi-Agents
A laProgrammation
Orientée Agents
Influence Historique
Langage Machine
Assembleur
Chaque famille de CPU possède son
porophore jeu d’instructions
Langage bas niveau
Programmation Procédurale
Programmation Orientée
Objet
Programmation Orientée
Objet Distribués
Programmation Orientée
composants
Programmation Orientée
Services
Programmation Orientée
Agents
Sous programmes: Procédures,fonctions
(Basic,Pascal,C,Fortran,..)
Objet = Etat+ Comportement + Identité
Concepts fondamentaux : Objet,classe,Héritage,
polymorphisme,encapsulation (C++, JAVA,C#,..)
Objets distribués sur plusieurs machinesMiddlewares :(RMI,CORBA,JMS,…)
Objets distribués,réutilisables,configurables,
Interchangeables, évolutifs, mobiles,surveillable à
chaud : Conteneur (EJB)
Composant disponibles à d’autres applications
distantes hétérogènes via des protocoles (http)
transportant des données:XML,JSON => SOAP
et REST
? Service + Intelligence +Apprentissage+ …
Historique sur les méthodes de programmation
Intelligence Artificielle = I.A.
L’I.A. est la science et l’ingénierie de la construction
de machines intelligentes
comportements calculables et intelligents, proches de
ceux des humains.
une machine est dite
intelligente si elle arrive à se
faire passer pour un humain
auprès d’un autre humain (test
de Turing 1950)
BUT DE L’IA : doter les machines de capacités
habituellement attribuées à l’intelligence humaine :
Intelligence Artificielle = I.A.
Jouer aux échecs,
Parler,
Traduire un texte,
Conduire un vélo,
Amener le petit-déjeuner au lit,
Reconnaître un ami sur une photo.
En bref : L’ Intelligence Artificielle
Intelligence Artificielle = I.A.
Les années 50 : l’enthousiasme
Les années 60 : la scission
Les années 70 : Premier Système Expert
Les années 80 : La reconnaissance,
5ème génération
Les Systèmes experts.
L’I.A = défi permanent pour les chercheurs , Mais
plusieurs limites entre autres:
Intelligence Artificielle = I.A.
Limite de la conception centralisatrice de l’IA
Machine séquentielle mono-processeur
Limites de l’approche Système Expert
Les systèmes naturelles et sociaux sont
extrêmement complexes
L’approche objet a montré tout l’intérêt
d’un découpage d’un système en entités
conceptuelles en interaction
L’I.A = défi permanent pour les chercheurs , Mais
plusieurs limites entre autres:
Intelligence Artificielle = I.A.
Année 90…
les réseaux et les multiprocesseurs
ouvrent de nouvelles perspectives à l’IA
L’I.A.D ?
Intelligence Artificielle Distribuée= I.A.D
L’IAD propose une distribution de l’expertise sur un
ensemble de systèmes capables d’interagir en
coopération dans un environnement commun et de
résoudre les éventuels conflits pour mener à bien une
tache complexe ( résolution de problème, aide à la
décision, reconnaissance de formes, conduite de
processus, …)
Métaphore de l’IA
Penseur Isolé
Métaphore de l’IAD
Communauté de penseurs
L’I.A.D – pourquoi distribuer ?
Intelligence Artificielle Distribuée= I.A.D
La plupart des applications ou problèmes réels font
intervenir des systèmes physiquement et
fonctionnellement distribués.
Intelligence Artificielle Distribuée =
IA : Modéliser le savoir des agents (compétence)
+
Distribution : Modéliser leurs
interactions (organisation sociale)
L’I.A.D – pourquoi distribuer ?
Intelligence Artificielle Distribuée= I.A.D
Exemple: Distribution fonctionnelle dans les activités humaines
(comme la conception d’un produit, par exemple) : Décomposition du
problème en fonction des spécialités
L’I.A.D – pourquoi distribuer ?
Intelligence Artificielle Distribuée= I.A.D
Évolution de l’informatique vers le « Pervasive Computing »
(informatique diffuse)
Exemple : Intelligence ambiante
1950: Mainframe 1980: Micro-ordinateur 1990: Internet 200?: Informatique diffuse et objets
connectes
L’intelligence
Artificielle
Parallèle
La résolution
Distribuée de
Problèmes
Les Systèmes
Multi-Agents
IAD
3 Axes
Intelligence Artificielle Distribuée= I.A.D
L’intelligence Artificielle Parallèle
Développement de langage et d’algorithmes pour l’IAD
Amélioration des performances des systèmes d’IAD par
la proposition de langages concurrents et d’architectures
parallèles
I.A.D / Intelligence Parallèle
ne s’intéresse pas à la nature du raisonnement
ni à L’intelligence des comportements
La Résolution Distribuée de Problèmes
Décomposition d’un problème posé sur un ensemble
d’entités distribuées et coopérantes
Partage des connaissances entre entités
I.A.D / La Résolution Distribuée de Problèmes
Les entités sont en générale dépendantes les
unes par rapports aux autres.
Processus de résolution conduisant à un résultat
Les Systèmes Multi-Agents
I.A.D / Les Systèmes Multi-Agents
Faire coopérer un ensemble d’entités pro-actives et
relativement indépendantes appelés « agents » et dotés
d’un comportement intelligent
Ceci dans l’objectif de coordonner leurs buts et leurs
plans d’actions pour la résolution de problèmes
Technique utilisable dans de nombreuses disciplines
notamment en simulation
3 Questions à éclaircir:
Qu’est ce qu’un agent intelligent?
Qu’est ce qu’un Système Multi-
Agents?
Pour quels domaines
d’application?
1
2
3
D.Boulahrouz Analyse Syntaxique 2015/16
Vers la distribution d’entités autonomes…
Notion d’Agent Intelligent
L’informatique se veut communicante distribuée
Multiplication et décentralisation des systèmes
possédant de l’intelligence
Les logiciels changent de concepts – composants
dynamiques communicants
Les logiciels intègrent de plus en plus
d’intelligence et d’autonomie (négociation
automatique, partage de ressources, …)
Qu’est ce qu’un agent?
Notion d’Agent Intelligent- Définitions
La notion d'agent est utilisée dans beaucoup de
domaines: sociologie, biologie, psychologie cognitive,
psychologie sociale, informatique
Un agent peut être un système mécanique (imprimante,..),
biologique (plantes, animaux, humains) ou logiciel
(programme) qui interagit avec son environnement
En Informatique
Qu’est ce qu’un agent?
Notion d’Agent Intelligent- Définitions
Agent – il n'y a pas une
définition acceptée en
unanimité!
Défintions
Notion d’Agent Intelligent- Définitions
Russell, 1997
" Un agent est une entité qui perçoit son environnement
et agit sur celui-ci"
Wooldrige et Jennings, 1995
" Un agent est un système informatique, situé dans un
environnement, et qui agit d'une façon autonome pour
atteindre les objectifs (buts) pour lesquels il a été conçu "
Défintions
Notion d’Agent Intelligent- Définitions
L'agent IBM
" Les agents intelligents sont des entités logiciels
qui réalisent des opérations à la place d'un
utilisateur ou d'un autre programme, avec une sorte
d'autonomie, et pour faire cela ils utilisent une sorte
de connaissance ou de représentation des buts ou
des désires de l'utilisateur. "
Défintions
Notion d’Agent Intelligent- Définitions
Shoham, 1993
"Un agent est une entité qui fonctionne
continuellement et de manière autonome dans un
environnement où d'autres processus se déroulent et
d'autres agents existent."
Défintions
Notion d’Agent Intelligent- Définitions
Ferber, 1995
Un agent est une entité autonome, réelle ou virtuelle,
évoluant dans un environnement, capable de percevoir
et d'agir dessus, qui dans un univers multi-agents, peut
communiquer avec d'autres agents, et dont le
comportement est la conséquence de ses observations,
de ses connaissances et des interactions avec les autres
agents .
Caractéristiques des Agents
Notion d’Agent Intelligent- Propriétés
Réactivité Percevoir l’environnement et répondre, en temps réel, aux changements;
Proactivité Capacité de prendre l’initiative / comportement opportuniste orienté but;
Sociabilité Capacité d’interagir avec d’autres agents ou utilisateurs;
Autonomie Capacité d'agir sans l'intervention d'un tiers(humain ou agent) et de contrôler ses propres actions ainsi que son état interne;
Autonomie : notion relative mais centrale
Notion d’Agent Intelligent- Autonomie
Une réponse au besoin de la robustesse
Capacité d’agir sans l’intervention humaine directe
Pourquoi l’autonomie ?1
Vision partielle du monde
Partage de l’environnement avec d’autres
Coopération ou compétition
Besoins?2
Auto-Contrôle de son état et actions
Autonomie : Quelques conséquences
Notion d’Agent Intelligent- Autonomie
Les agents doivent anticiper le non respect des engagements
Un agent peut décider de ne pas traiter un message
En raison de sa charge de travail
Parce que des buts plus importants doivent être satisfaits
Les engagements ne sont que des promesses
Un Agent Autonome peut donc:
Notion d’Agent Intelligent- Autonomie
Prendre ses décisions « soi-même »
Un concept très « humain »
Avoir le pouvoir de dire non !
Ne pas dépendre des autres (au moins pour ses
décisions)
Mais comment
programmer l’autonomie ?
Est-ce que les agents nous apportent quelque chose de
nouveau par rapport à l’objet?
Agent versus Objet
Autonomie – les agents ont le contrôle de leurs
actions, ils peuvent refuser de coopérer
Les agents sont réactifs, comme les objets, mais
aussi proactifs
Les agents sont d'habitude persistants et ils ont
leurs propre "thread" de contrôle.
Un objet est réactifUn objet est une entité passive (ouréactive).
Si personne ne demande la valeur d’unattribut ou n’active une méthode del’objet alors il ne se passe rien.
:Objet
- x=6
- y=12
f(x,y)=x2 + y2
Calcul(n) =x logn y
:Agent
- x=6
- y=12
f(x,y)=x2 + y2
Calcul(n) =x logn y
Processus1()
Processus 2()
Attributs
Méthodes
Attributs
Méthodes
Processus
internes
Get/Set
Call
ACL
Agent versus Objet
Un agent est persistant :
Si un agent est proactif c’est d’abord parce qu’il est muni d’au moins
un but qu’il cherche à satisfaire de manière persistante tant que :
o Il pense que c’est encore possible (pré condition logique)
o Il possède les ressources pour le faire (pré condition physique)
Un agent est adaptatif :
Face à un environnement perpétuellement changeant, unn agent
doit constamment modifier le plan qu’il poursuit pour atteindre un
but. Pour cela :
o Il doit,de manière continue,percevoir et évaluer la situation (contexte) de son action,
o Construire des représentations en cours même de fonctionnement(c’est‐à‐dire être capable d’apprentissage).
o Élaborer des plans dynamiques qui lancent des processus internes ou au contraire les stoppent.
Agent versus Objet
Cycle de vie d’un Agent
Propriétés
Réactivité
Pro-activité
Sociabilité
Autonomie
Rationalité
…
De l’Agent au Systèmes Multi-Agents
I.A. vers I.A.D.
De l’individuel au collectif
Ensemble d'agents
Autonomes en interaction
Un agent
intelligent
Autonome
L’interaction est au centre de la problématique des
logiciels et systèmes complexes.
De l’Agent au Systèmes Multi-Agents
Un système multi-agents (SMA) est un système
distribué composé d'un ensemble d'agents.
De l’Agent au Systèmes Multi-Agents
Caractéristiques des SMA :
Chaque agent a des informations ou des capacités de
résolution de problèmes limités (ainsi, chaque agent a
un point de vue partiel, compétences restreintes);
Il n'y a aucun contrôle global du système multi-agents;
les données sont décentralisées;
le calcul est asynchrone.
De l’Agent au Systèmes Multi-Agents
SMA: ensemble d’agents qui interagissent dans un environnement
commun afin de résoudre des problèmes complexes en exploitant
l’intelligence collective des agents qui le composent !
Systèmes Multi-Agents
Systèmes Multi-Agents
Un Environnement E
Un ensemble d’objets O et des
Relations R
Un ensemble d’agents A (A inclu
dans O)
Un ensemble d’opérations Op permettant aux agents A de percevoir, produire,
consommer, transformer et manipuler des objets de O.
Agent
Environnement
MIND
+
BODY
SMA
OrganisationInteraction
Systèmes Multi-Agents
Domaines d’applications des SMA
Chapitre 2
Sommaire
Modèles et Architectures Agents
Concepts fondamentaux des agents
AGENT = BODY + MIND
BODY :Dimension physicaliste
«Un agent est une entité autonome située dans un
environnement ouvert »o Situation
o Persistance
o Mobilité
MIND :Dimension épistémique
«Un agent est une entité en interaction avec
d’autres agents dans un champ social»o Population
o Interaction
o Intention
o Apprentissage
o Raisonnement
+
MIND
BODY
A3
R1
Espace de vie
Ressources
Capteurs
Environnement
Agent
OrganisationInteraction
communication
coordination
Centralisée
Décentralisée
Hirérchique
A1 A2
R2
ACL,KIF
ACL :Agent Communication Language
KIF : Knowlage Interchange Format
Les trois dimensions d’un agent
Un agent vit dans un environnement en interagit,dans un champ social, avec d’autres
agents selon une organisation
Agents Réactifs
Architectures simples
Stimulus -> réponse
Auto-organisation, ex : colonie de fourmis
Communication via l’environnement ex : perception/actions sur l’environnement, phéromones de fourmis
Grand ou très grand nombre d’agents (redondance, robustesse)
Agents RéactifsLes agents réactifs sont issus de la modélisation physicaliste (Body)
du monde : ils sont assimilés à des fonctions de transition :o Pas d’anticipation.
o Pas d’apprentissage
T
Fonction de
transition
SituationSt
T(St)=St+1
Cycle de Contrôle d’un Agent Réactif
condition-action rules
set of percepts
do {
percepts:= see();
state:= interpret_input(percepts);
rule:= match(state,rules);
execute(rule[action]);
} while (1);
Exemple implementé sous forme d’un ensemble de
règles de type condition/action
Agents Cognitifs (Délibératif)
Représentation explicite (Soi, Environnement, autres agents)
Architectures Complexes (Ex, BDI)
Stimulus -> réponse
Organisation explicite (Partage ressources, protocoles,…)
Communication explicite, point à point, élaborée (ex : KQML)
Petit/moyen nombre d’agents Certaines validations formelles possibles.
Agents CognitifsLes agents cognitifs sont issus de la modélisation mentaliste
du monde (MIND):ils sont assimilés à des systèmes experts .
Raisonnement surles représentations
Représentation :- Du monde--De soi (buts)
Actions surle monde
Retours
d’efforts sur
les actions
Cycle d’un Agent Délibératif (minimal)
s : state,
eq: event queue
s := initialize();
do {
options := option_generator(eq,s);
selected := deliberate(options, s);
s := update_state(selected,s);
execute(s);
eq:= see();
} while(1);
Exemple
DP = Devant la PortePosition
DC = Devant la Clé
PO: Porte ouverte :
PF: Porte Fermée
PFC :PFPorte Fermée à clé
Rob cognitif:
L’agent possède un plan P pour sortir qu’il
exécute de manière séquentielle et déterministe
Rob réactif :La fonction de transitionT est un ensemble non
ordonné de règles de type
Si condition alors action
qui sont exécutées dans une boucle infinie
et non déterministe :
Si DP and PO Alors SORTIR
Si DP and PF Alors OUVRIR
Si DP and PFC and C Alors DEVEROUILLER
Si DP and PFC and not C Alors RANDOM-WALK
Si DC and C Alors RANDOM-WALK
Si DC and not C Alors PRENDRE-CLE
quelle que soit sa position de départ et quel quesoit l’état initial du monde :
ALLER-A DP
Si PO Alors SORTIR
Sinon Si PF Alors OUVRIR; SORTIR
Sinon Si PFC
Alors Si C Alors DEVEROUILLER; OUVRIR; SORTIR
Sinon ALLER -A DC
PRENDRE CLE
ALLER A DP
DEVEROUILLER; OUVRIR; SORTIR
Exemple d’agent réactif et cognitif
Problème :« Rob le robot doit sortir de la pièce ».
Agent Rationnel Délibératif
Agent rationnel délibératif
Perception
Analyse
Décision
Action
Agent intentionnel BDI (1)
Architecture BDI Modèle "Croyance-Désir-Intention"
de la rationalité d'un agent intelligent
Les croyances: les informations que l’agent possède sur son environnement et
sur d’autres agents qui existent dans le même environnement.
Ces croyances peuvent être incorrectes, incomplètes ou incertaines.
Les désirs : les états de l’environnement que l’agent aimerait atteindre. Un
agent peut avoir des désirs contradictoires dans ce cas, il choisit un sous
ensemble consistant de ses désirs.
Cet sous-ensemble correspond aux buts de l’agent.
Les intentions: ce sont les actions que l’agent a décidé d’accomplir
pour atteindre ses buts.
Agent intentionnel BDI (2)
Plans
Croayances
Procès de décision
I=options(D,I)
Intentions
Filtre
I=filtre(B,D,I)
Intentions structuréesdans plans partiels
PE=plan(B,I)
B=revc(B,p)
Révision descroyances
perceptions
Désirs
D=des(B,D,I)
actionsExecution
Analyseuropportunités
Raisonnementmodalités
LibP
Arc
hit
ect
ure
BD
I
Agent intentionnel BDI(3)
revc: B x P B est la fonction de révision des croyances de l'agent
lorsqu'il reçoit de nouvelles perceptions sur l’environnement, où P
représente l'ensemble des perceptions de l'agent; elle est réalisée par la
composante Révision des croyances;
options : D x I I est la fonction qui représente le processus de décision de
l'agent prenant en compte ses désirs et ses intentions courantes; Ces options
représentent ses désirs possibles conformément à ses intentions. cette
fonction est réalisée par la composante Processus de décision;
des: B x D x I D est la fonction qui peut changer les désirs d'un
agent si ses croyances ou intentions changent, pour maintenir la
consistance des désirs de l'agent (on suppose dans notre modèle que
l'agent a toujours des désirs consistants); cette fonction est
également réalisée par la composante Processus de décision;
Agent intentionnel BDI (4)
Filtre: B x D x I I est la fonction la plus importante car elle décide des
intentions à poursuivre; Elle active ses nouvelles intentions en fonctions de
ses croyances, options, et intentions courantes. Elle élimine les intentions
devenues irréalistes ou incohérentes. Elle est réalisée par la composante
Filtre.
plan: B x I PE est la fonction qui transforme les plans partiels en plans
exécutables, PE étant l'ensemble de ces plans; elle peut utiliser, par
exemple, une bibliothèque de plans, représentée par le module LibPdans la
figure.
Un plan est une séquence d'actions à exécuter dans le temps
Exécution: est la fonction de sélection de l’action à exécuter,
cette fonction renvoie une intention exécutable qui correspond à
une action.
Cycle de contrôle d’un agent BDI
Soient B0 , D0 et I0 les croyances, désirs et intentions initiales de l'agent.
Algorithme de contrôle d'agent BDI
1. B←B0
2. D←D0
3. I←I0
4. répéter
4.1 obtenir nouvelles perceptions p
4.2 B←revc(B, p)
4.3 I←options(D, I)
4.4 D←des(B, D,I)
4.5 I←filtre(B, D, I)
4.6 PE←plan(B, I)
4.7 exécuter(PE)
jusqu'à ce que l'agent soit arrêté
fin
Cycle de contrôle d’un agent BDI
b: beliefs, g: desires, i: intentions, eq: eventqueue
(b,g,i):= initialize();
Repeat
options:= option_generator(eq,b,g,i);
selected:= deliberate(options, b,g,i);
i:= selected∪ i;
execute(i);
eq:= see();
b:= update_beliefs(b,eq);
(g,i) := drop_successful_attitudes(b,g,i);
(g,i) := drop_impossible_attitudes(b,g,i);
forever;
Algorithme de contrôle d'agent BDI (plus détaillé)
Modèle type d’un agent
Modèle type d’un agent
Une architecture implémentée avec trois niveaux de
description:
Niveau
Adaptatif
1
2
3Niveau
Réactif
Niveau
Cognitf
situation → action, pas d’apprentissage
capable de modifier son comportement et ses objectifs en fonction des interactions. R
aiso
nn
em
en
t.
Agent Mobile
Qu’est ce qu’un agent mobile ?
Les agents mobiles sont des entités logicielles qui peuvent se
déplacer dans le réseau de leur propre initiative; ils se déplacent
d'une machine à une autre et communiquent avec d'autres agents
ou accèdent aux ressources du serveur.
Ils permettent de réaliser une meilleure exploitation de
ressources: En transférant des applications du client au serveur
et en exécutant des appels locaux de procédure au lieu des
appels extérieurs, le trafic réseau est réduit.
Agent Mobile
Qu’est ce qu’un agent mobile ?
Les services ne sont plus liés à un certain environnement. Ils
peuvent être dynamiquement installés et employés dans l'endroit
exact où ils sont exigés.
La technologie d’agents mobiles permet de fournir une
exécution asynchrone de tâche. Ainsi, la dépendance entre les
clients et les applications de serveur peut être réduite et un
traitement automatique de tâche est présenté.
Agent Mobile
Principaux attributs d’un agent mobile ?
La mobilité du code;
La mobilité des données;
La mobilité de l'état : prêt/bloqué/exécution réelle.
Ceci permet à des entités logicielles de se déplacer de façon autonome à
travers le réseau pour accomplir des tâches spécifiques.
Réduire le coût de communication.
RPC vs Agents mobiles
L'informatique répartie traditionnelle est généralement basée
sur le modèle client/serveur qui est fréquemment lié au
mécanisme de RPC (Remote Procedure Call).
Client Serveur
RPC
Client/Serveur
Quand un RPC est appelé, desparamètres sont envoyés au serveurpour exécuter la procédure et le résultatest renvoyé au client.
Chaque RPC exige l'établissementd'un canal de communication sur leréseau.
RPC vs Agents mobiles
Avec les agents mobiles ; la mobilité de code permet à une
partie du programme client de se déplacer vers le serveur, d’agir
localement et de revenir au client, une fois les interactions
exécutées.
Les améliorations d'exécution dépendentde la bande passante dans le réseau et dunombre de messages qui peuvent êtreoptimisés au passage.
Client Serveur
Agent
Agents mobiles
Applications des agents mobiles
Le commerce électronique ;
La recherche dans les bases de données ;
La gestion de réseau ;
Le calcul mobile.
Architectures multi-agents
SMA à base d’agents réactifs
comportement collectif émergent
SMA à base d’agents cognitifs (dits aussi délibératifs)
accent mis sur l'action, la décision et l'interaction dans un contexte
collectif(inspiration socio-mimétique)
Capacités d’apprentissage et d’adaptation à l’environnement
Architectures hybrides
Chapitre 3
Sommaire
Interactions et Communications entre
Agents
Interactions entre Agents
Pourquoi les agents interagissent ?
Les agents interagissent entre eux et avec
l'environnement
Les interactions permettent d’acquérir, de partager et
d’échanger des connaissances distribuées
Les interactions reposent sur des modes de
communication et respectent des protocoles
d’interaction et de coordination
Interactions: Exemple de surveillance maritime
Décideur Décideur Décideur Décideur
Echange d’informations
Echange d’observations
Observateur
Situation
Interactions entre Agents
Définition
Interaction : Mise en relation dynamique de deux ou
de plusieurs agents par le biais d’un ensemble
d’actions réciproques.
Il y a interaction sitôt que la dynamique propre d’un
agent est perturbée par les influences des autres
Agent interagissant
Modes et situations d’interaction
Types d’interaction
Interaction Directe: Par envoi de messages
:AgentY
- x=6
- y=12
f(x,y)=x2 + y2
Calcul(n) =x logn y
Processus1()
Processus 2()
:AgentY
- a=6
- b=12
g(x,y)=a*x2 +b* y2
Calcul(n) =a logn b
Processus1()
Processus 2()
Get/Set
Call
L’action directe est interdite
Un agent ne peut pas agir directement sur l’état
et le comportement d’un autreAgent.
L’interaction des agents doit passer par l’envoi de
message ACL (Agent Communication Language)
Modes et situations d’interaction
Types d’interactionInteraction Directe
Requête (formelle ou langagière)
L’agent envoie une requête à un interlocuteur qui est un autre agent
ou à un humain de son environnement;
L’interlocuteur interprète cette requête et la satisfait ou non en
fonction de sa propre subjectivité (état physique et mental).
Requête
Gould you
change yourlocation?
Location ?(x2*log(y3)=?)
No i won’t,
i‘m fine here
Agent X
AgentY
Ne touche pas mes affaires.Si tu veux quelques
chose, tu n’as qu’à me le demander.
Modes et situations d’interaction
Types d’interactionInteraction Indirecte
par propagation des signaux
Par Traces
• Un agent émet un signal qui est transmis dans l'environnement;
Exemple: Les fourmis par exemple communiquent en déposant des
phéromones derrière elles, pour que d'autres fourmis puissant suivre
la piste jusqu'à la nourriture ou la colonie suivant les besoins.
• un agent laisse tomber des "morceaux radioactifs" en faisant
ainsi des traces
• un agent suit une trace fait diminuer la trace jusqu'à la
disparition de la trace
Modes et situations d’interaction
Types d’interactionInteraction Indirecte
par Blackboard (base de connaissances)
Plusieurs agents déposent et recueillent des
objets ou des informations dans une partie de
l’environnement prévue à cet effet.
Cette partie commune (mémoire partagée) est appelée«Blackboard »
Blackboard
P[x] Q[y] R[x] R[u]
Modes et situations d’interaction
Modèles d’interaction1.InteractionAgent ↔Agent
◦ Niveau communication
Transactions :Agent Communication
Languages (ACL)
◦ Niveau connaissance (Knowledge
Level)
Echange de connaissances :KIF,XML
Données sémantiques : RDF,OWL
2.Interaction Humain ↔Agent
◦ Interactions langagières :
Reconnaissance vocale
3.Interaction Multi‐agents
◦ Résolution distribuée de problèmes
(IAD) :coopération,conflits, négociation,…
4.Interaction Multi‐humains
◦ Modalité langagière :chat,mail,forums,
visio-conférence,…
Agent Humain
Un à un
ACLDialogue
homme-machine
Un à un
Many to many
Coopération/Compétition
Collectifs médiatisés
Many to many
Communication entre Agents
Communication entre Agents
L’agent peut participer à un dialogue en étant passif ou actif.
Un agent passif doit accepter les questions des autres agents
et répondre à leur questions.
Un agent actif doit proposer et envoyer des interrogations.
Dans un dialogue les agents alternent des rôles actifs et
passifs, et échangent des séries de messages en respectant
des protocoles biens précis, ce sont les protocoles de
coordination, de coopération et de négociation.
Différentes formes d’interactions entre agents
Différentes formes d’interactions entre agents
Collaboration: désigne simplement le fait pour des agents de
travailler ensemble
Coordination: désigne la gestion des interdépendances entre
activités (Synchronisation, co-ordonnancement des tâches, …)
Coopération = Collaboration + Coordination Exemple: allocation de tâches, partage de ressources, co-conception, prise de
décision distribuée, …
Du fait des intérêts divergents dans un SMA, la collaboration
n’est pas systématique Prépondérance de la coordination
Différentes formes d’interactions entre agents
Coordination: Pourquoi ?
La coordination (la coopération) est un ensemble de
mécanismes permettant :
d’une part de réduire la compétition
d’autre part de contribuer à rendre le tout plus performant que la
somme des agents (synergie)
Coopération:
Coopération = Collaboration + Coordination + Résolution de conflit
Buts Moyens
Communication entre Agents
La Communication est le support de l’interaction, elle peut être:
Directe
Synchrone
Asynchrone
Indirecte
Point à point
Multi-cast
Broad-cast
La communication directe entre agents
Basée sur les Langages de Communication Agents (ACL)
ACLs peuvent communiques des propositions, des règles et des
actions et pas uniquement des objets sans une sémantique associée
Un message ACL décrit un état désiré dans un langage déclaratif et
n'est pas une simple invocation de méthode
Les ACLs se sont fondés sur la théorie BDI: les agents BDI essaient
de communiquer leurs états BDI et de modifier les états BDI des
autres agents
Les ACLs partent de la théorie des actes de langage (ou de
discours) ("Speech Act Theory")
Théorie des Actes de langage
Théorie des Actes de langage
Théorie des Actes de langage
Définition: Parler, c'est modifier l'état mental de ses
interlocuteurs, donc c'est agir.
Trois aspects (ou actes) d'un énoncé
Illocutoire: l'action que souhaite le locuteurNotion de performatifs (to perform)
2
Perlocutoire: les consequences réelles3
Locutoire: l'action de dire1
Théorie des Actes de langage
Exemple:
Les verbes peuvent être ordonnés selon leur force illocutoire : par exemple:
suggérer < préconiser < demander < réclamer < ordonner.
Théorie des Actes de langage
Cinq catégories d'actes de langage
Directifs (ordres : faire(action)
engagent l’interlocuteur dans une action (déléguer, demander, supplier,
questionner, ordonner)
2
Promissif/commissifs engagements : fait(situation/date)
engagent le locuteur dans un action (promettre, souhaiter, menacer)3
Expressifs sentiments de l'agent : heureux (singe)
expriment l’état mental du locuteur (s’excuser, remercier,
féliciter, récriminer)
4
Déclaratifs énoncé d'un fait : la séance est ouverte...
réalisent une action par la seule énonciation (définir,
condamner, ratifier)
5
Assertifs (faits/connaissances : pere(Pierre, Marie)
affirment une information (observer, informer, témoigner, démentir)1
Théorie des Actes de langage
Exemple
Agent A dit à agent B : «Je serai là bientôt»
− Locutoire (l'action de dire l'énoncé), assertif (je dis que...)
−Illocutoire , assertif (je serai là), promissif(engagement)
+ éventuellement expressif (joie)
−Perlocutoire + expressif (menace)
On s'intéresse le plus souvent à l'aspect
illocutoire, soit les Performatives
Les langages de communication Agents
Les langages de communication Agents (ACLs)
Les langages de communication Agents
Emetteur
Récepteur
Langage utilisé : langage dans lequel le vrai message est
rédigé
Contenu du message : le vrai message qui fait l’objet de la
communication
L’ontologie : le vocabulaire dans un domaine donné pour que
les agents puissent se comprendre
Ensemble de définitions concernant le message
Tout langage multi-agent est représenté par une structure
de données comprenant les champs :
Les langages de communication Agents
Pour échanger les informations et les connaissances,
les agents utilisent un langage de communication
connu et compris par tous les gents communicants,
Il existe 02 standards :
KQML
FIPA-ACL
KQML -Knowledge Query and Manipulation Language
KQML: Un langage de communication de haut niveau orienté
messages et un protocole pour l'échange des informations qui est
indépendant de la syntaxe du contenu (KIF, SQL, Prolog,…) et
de l'ontologie de l'application.
KQML :
Plusieurs performatives
(36)
Un message:
Contenu Langage
(Java, XML, etc.)
Performative
Ontologie
Un message KQML comporte 8
champs :
( performatif-name
:sender
:receiver
:reply-with
:in-reply-to
:language
:ontology
:content
)
KQML -Knowledge Query and Manipulation Language
E : l'agent émetteur
R : l'agent récepteur
C : le contenu du message
BVC : la base virtuelle de connaissances (connaissances attribuées par
chaque agent aux autres agents)
ask-one : E veut que seulement R réponde à sa question C
ask-if : E veut savoir si la réponse à la question précisée en C se
trouve dans la BVC de R
tell : E affirme au R que C est dans la BVC de E
broadcast : E veut que R transmette à son tour la performative à toutes
ses connexions
error : E considère le message précédent de R comme mal formé
sorry : R ne peut pas fournir plus d’information
Quelques performatives
KQML -Knowledge Query and Manipulation Language
KQML et FIPA-ACL ont la même syntaxe des messages
(ask-all
:sender A
:receiver B
:language PROLOG
:ontology phylosophie
:content
homme (=x)
:reply_with question1)
Exemple de KQML (1)
l’ agent A veut connaître toutes les personnes définies comme étant des hommes.
KQML -Knowledge Query and Manipulation Language
Exemple de KQML(1) l’ agent B répond que Socrate est un homme.
(tell
:sender B
:receiver A
:language PROLOG
:ontology phylosophie
:content
homme(Socrate)
:in_reply_to question1)
KQML -Knowledge Query and Manipulation Language
Exemple de KQML(2) L'agent A1 demande à l'agent A2 le prix d’un portable Samsung
Galaxy 7 et A2 lui répond:
(ask-one
:sender A1
:receiver A2
:content (val (prix Nokia-6100))
:language KIF
:ontology portables
)
(tell
:sender A2
:receiver A1
:content (=(prix Nokia-6100) (scalar 290 Euro))
:language KIF
:ontology portables
)
KQML -Knowledge Query and Manipulation Language
Exemple de KQML(3) L’agent A désire connaître le nom du président. Il interroge l’agent B qui
connaît la réponse à cette question. L’agent B informe l’agent A que le
président s’appelle Macron.
(ask-if
:sender A
:receiver B
:in-reply-to perf0
:content (president(X))
:reply-with perf1
:language Prolog
:ontology vote
)
(tell
:sender B
:receiver A
:in-reply-to perf1
:reply-with perf2
:language Prolog
:ontology vote
:content president(Macron)
)
KQML -Knowledge Query and Manipulation Language
KQML: Premier essai de standardisation d’un ACL MAIS:
pas de sémantique formelle, pas d’infrastructure pour la gestion des agents, …
Plates-formes des systèmes
multi-agents && Communcation avec KQML
AgentBuilder
http://www.agentbuilder.com
JAT : Java(tm) Agent Template
http://www-cdr.stanford.edu/ABE/JavaAgent.html
Java Intelligent Agent Library
http://www.bitpix.com/business/main/bitpix.htm
FIPA-ACLFoundation for Intelligent Physical Agents, 1996
FIPA-ACL: Standardisation d’un ACL au sein de la FIPA
FIPA est basée sur la théorie des actes de langage
Actes de communication (CA) au lieu de performatives
FIPA ACL : Syntaxe similaire à celle de KQML.
But de FIPA = offrir une spécification qui permet l'interopérabilité
maximale entre agents logiciels hétérogènes
Ensemble de messages prédéfinis que tout agent doit être capablede traiter :
- not-understood : Message prédéfini utilisé par un agent qui reçoit un message qu’il ne peut pas comprendre. Tout agent doit être capable de traiter un tel message.
Primitives d’administration et de facilitation hors de l’ACL– Elles sont définies dans le contenu !
FIPA-ACLFoundation for Intelligent Physical Agents, 1996
Performative : Type de l’acte de communication
sender : l’émetteur du message
receiver : le destinataire du message
reply-to : participant à l’acte de communication
content : le contenu du message (l’information transportée par la
performative)
language : le langage dans lequel le contenu est représenté
ontology : le nom de l'ontologie utilisé pour donner un sens aux termes
utilisés dans le content
conversation-id : identificateur de la conversation
reply-with : identificateur unique du message, en vue d'une référence
ultérieure
in-reply-to : référence à un message auquel l'agent est entrain de répondre
(précisé par l’attribut reply-with de l’émetteur)
reply-by : impose un délai pour la réponse
FIPA-ACL
FIPA-ACLFoundation for Intelligent Physical Agents, 1996
(inform
:sender Agent1
:receiver Agent2
:content (price (good2) 150)
:in-reply-to round-1
: reply-with bid03
: language S1
:ontology hp-auction
:reply-by 10
:protocol offer
:conversation-id conv-1
)
Exemple de FIPA-ACL(1)
FIPA-ACLFoundation for Intelligent Physical Agents, 1996
Catégorie de performatives FIPA
Information
query_if, query_ref, sunscribe, inform, inform_if, inform_ref,
confirm, disconfirm, not_understood
Gestion des erreurs
not-understood, failure
Négociation
cfp (Call for proposal), propose, accept_proposal,
reject_proposal
……http://jmvidal.cse.sc.edu/talks/agentcommunication/performatives.xml
FIPA-ACL: Les 20 performatives
Les langages de communication Agents
Les protocoles d’interaction
FIPA
Les Protocoles d’Interactions
Protocoles & Convesations
Protocole: un protocole fournit un ensemble de règles de
comportement à suivre par un agent impliqué dans ce protocole
Un protocole précise qui peut dire quoi à qui et les réactions
possibles à ce qui est dit.
Conversation: séquence de messages échangés entre plusieurs
agents, conforme à un protocole. Ce sont des occurrences du
protocole utilisé.
Les Protocoles d’Interactions
Protocoles d’interaction
Protocoles d'interaction = permettent aux agents d'avoir des
conversations (échange structuré des messages)
Protocoles d’interaction permettent de décrire explicitement les
enchaînements conversationnels lors des communications entre
les agents.
Ils représentent un schéma commun de conversation utilisé pour
exécuter une tâche.
Basé sur des actes de communication
Actes différents selon les étapes de la conversation,
restriction des actes possibles;
Actes agissent sur l’état mental de l’agent, sur la suite de la
conversation.
Les Protocoles d’Interactions
Exemple
Modélisation des Protocoles d’Interactions
Langages de modélisation: Existent plusieurs langages de modélisation (spécification)
Automates à états finis
Agent Unified Modeling Language (AUML)
Réseaux de Petri (RdP)
Spécification à base de logique
….
Modélisation des Protocoles d’Interactions
Automates à états finis Description d'une conversation par une suite d'états liés par des
transitions (interactions entre les agents).
1 2
34
B:A<<Accept(perform P)
A:B <<Comm(perform P)
B:A<<Fail(perform P)
B:A<<Refuse(perform P)
5
6
B:A<<Result(perform P)
Modélisation des Protocoles d’Interactions
AUML (Agent UML) Les interactions de l'agent peuvent être représentées dans le standard
UML à l'aide de diagrammes de séquence
Modélisation des Protocoles d’Interactions
Réseaux de Petri
Places
état interne de l'agent,
message en cours d'acheminement,
Transitions
synchronisation due à la réception d'un message
conditions d’application des actions.
Graphe orienté avec deux types de nœuds: places et transitions!
Une transition est activée si toutes les places d'entrée P de T possèdent
des tokens.
Modélisation des Protocoles d’Interactions
Réseaux de Petri (exemple)
Faiure Satisfaction
Modélisation des Protocoles d’Interactions
Exemple de RdP: demande de faire quelque
chose
Modélisation des Protocoles d’Interactions
Exemple de RdP: demande de faire quelque
chose
Modélisation des Protocoles d’Interactions
Exemple de RdP: demande de faire quelque
chose
Modélisation des Protocoles d’Interactions
Exemple de RdP: demande de faire quelque
chose
Modélisation des Protocoles d’Interactions
Exemple de RdP: demande de faire quelque
chose
Modélisation des Protocoles d’Interactions
Exemple de RdP: demande de faire quelque
chose
Exemple de Protocoles FIPA
Exemple de RdP: demande de faire quelque
chose
Exemple de Protocoles FIPA
Request Protocol
Identifié par fipa-request dans lechamp protocole d’un message ACLA tout point du protocole un
message de performatifnot-understood peut être envoyé
A tout point du protocole unprotocole d’annulation peut êtreDéroulé fipa-cancel-meta-protocol
Exemple de Protocoles FIPA
Contract-Net Protocol
Identifié parfipa-contract-net dans le champprotocol d’un message ACL
A tout point du protocole unmessage de performatifnot-understood peut être envoyé
A tout point du protocole unprotocole d’annulation peutêtre dérouléfipa-cancel-meta-protocol
Exemple de Protocoles FIPA
English Auction(Enchère Anglaise)
Identifié parfipa-english-auction dans lechamp protocol d’un message ACL
Suit le principe standard desenchères:publique,prix croissant,le meilleur offrant.
Fin du Chapitre 3