Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur...

121
Technologie des agents Mme D.Boulahrouz [email protected] Université A.Mira, Bejaia Faculté des Sciences Exactes Département d'Informatique

Transcript of Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur...

Page 1: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Technologiedes agents

Mme [email protected]

Université A.Mira, Bejaia

Faculté des Sciences Exactes

Département d'Informatique

Page 2: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 3: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Chapitre 1

Sommaire

Introduction à l’IAD et aux Systèmes Multi-Agents

Page 4: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

A laProgrammation

Orientée Agents

Influence Historique

Page 5: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 6: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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)

Page 7: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 8: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 9: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 10: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 11: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 12: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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)

Page 13: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 14: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 15: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 16: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 17: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 18: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 19: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 20: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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, …)

Page 21: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 22: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 23: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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 "

Page 24: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 25: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 26: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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 .

Page 27: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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;

Page 28: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 29: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 30: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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 ?

Page 31: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 32: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 33: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 34: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Cycle de vie d’un Agent

Propriétés

Réactivité

Pro-activité

Sociabilité

Autonomie

Rationalité

Page 35: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 36: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

De l’Agent au Systèmes Multi-Agents

Page 37: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 38: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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 !

Page 39: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 40: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Agent

Environnement

MIND

+

BODY

SMA

OrganisationInteraction

Systèmes Multi-Agents

Page 41: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Domaines d’applications des SMA

Page 42: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des
Page 43: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Chapitre 2

Sommaire

Modèles et Architectures Agents

Page 44: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 45: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 46: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 47: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 48: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 49: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 50: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 51: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Agent Rationnel Délibératif

Agent rationnel délibératif

Perception

Analyse

Décision

Action

Page 52: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 53: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 54: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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;

Page 55: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 56: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 57: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 58: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 59: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 60: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 61: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 62: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 63: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 64: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Applications des agents mobiles

Le commerce électronique ;

La recherche dans les bases de données ;

La gestion de réseau ;

Le calcul mobile.

Page 65: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 66: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Chapitre 3

Sommaire

Interactions et Communications entre

Agents

Page 67: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 68: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Interactions: Exemple de surveillance maritime

Décideur Décideur Décideur Décideur

Echange d’informations

Echange d’observations

Observateur

Situation

Page 69: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 70: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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)

Page 71: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 72: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 73: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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]

Page 74: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 75: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 76: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Différentes formes d’interactions entre agents

Page 77: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 78: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 79: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Communication entre Agents

La Communication est le support de l’interaction, elle peut être:

Directe

Synchrone

Asynchrone

Indirecte

Point à point

Multi-cast

Broad-cast

Page 80: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 81: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Théorie des Actes de langage

Théorie des Actes de langage

Page 82: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 83: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 84: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 85: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 86: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Les langages de communication Agents

Les langages de communication Agents (ACLs)

Page 87: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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 :

Page 88: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 89: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

)

Page 90: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 91: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 92: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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)

Page 93: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

)

Page 94: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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)

)

Page 95: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 96: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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 !

Page 97: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 98: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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)

Page 99: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 100: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

FIPA-ACL: Les 20 performatives

Page 101: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Les langages de communication Agents

Les protocoles d’interaction

FIPA

Page 102: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 103: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 104: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Les Protocoles d’Interactions

Exemple

Page 105: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

….

Page 106: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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)

Page 107: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 108: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 109: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Modélisation des Protocoles d’Interactions

Réseaux de Petri (exemple)

Faiure Satisfaction

Page 110: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Modélisation des Protocoles d’Interactions

Exemple de RdP: demande de faire quelque

chose

Page 111: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Modélisation des Protocoles d’Interactions

Exemple de RdP: demande de faire quelque

chose

Page 112: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Modélisation des Protocoles d’Interactions

Exemple de RdP: demande de faire quelque

chose

Page 113: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Modélisation des Protocoles d’Interactions

Exemple de RdP: demande de faire quelque

chose

Page 114: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Modélisation des Protocoles d’Interactions

Exemple de RdP: demande de faire quelque

chose

Page 115: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Modélisation des Protocoles d’Interactions

Exemple de RdP: demande de faire quelque

chose

Page 116: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Exemple de Protocoles FIPA

Exemple de RdP: demande de faire quelque

chose

Page 117: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 118: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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

Page 119: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

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.

Page 120: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des

Fin du Chapitre 3

Page 121: Mme D.Boulahrouz boukredera@hotmail - Université A.Mira · 2017. 5. 20. · chaud : Conteneur (EJB) Composant disponibles à d’autresapplications distantes hétérogènes via des