Systèmes multi-agents : éléments introductifs

Transcription

Systèmes multi-agents : éléments introductifs
Systèmes multi-agents : éléments introductifs
Emmanuel ADAM
LAMIH UMR CNRS 8530
Université de Valenciennes et du Hainaut-Cambrésis
FRANCE
SCP@GDR MACS-20/11/2008
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
1 / 26
Plan
1
Rappels sur les agents, les systèmes multi-agents
Définition d’un agent
Système multi-agent
Les types d’agents
Couplage de types d’agents
Eléments de formalisation
Organisation
Emergence
Communication
Agent vs Objet
2
Programmation d’agents
Programmation d’agents réactifs
Programmation d’agents cognitifs
JADE
3
Fin
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
2 / 26
Rappels sur les agents, les systèmes multi-agents
Définition d’un agent
Définition d’un agent
Définition générale
Un agent est une entité adaptative, rationnelle, autonome, capable de
communication et d’action.
Selon [Gasser 89], [Demazeau 95], [Ferber 95], [Nwana 96], [Chaib-Draa 96], ...
Un agent est :
autonome
agir
capable de perception
adaptatif
apprendre
modifier le comportement
coopérant
communiquer
négocier
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
3 / 26
Rappels sur les agents, les systèmes multi-agents
Système multi-agent
Système Multi-Agent
SMA, Monde et Environnement
Un système multi-agent (SMA) est constitué d’agents.
Les entités en interaction avec le SMA forment l’Environnement.
L’ensemble SMA + Environnement est appelé Monde
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
4 / 26
Rappels sur les agents, les systèmes multi-agents
Système multi-agent
Structure d’un agent
Grille d’analyse fonctionnelle
[Ferber 95]
Les agents possèdent des fonctions décrites selon différents axes :
...
Représentationnel
Organisationnel
Conatif
Interactionnel
Productif
Conservatif
E. ADAM (University of Valenciennes)
Personnel
Environnemental Social
Connaissances
Planification
But, désirs, contraintes
Perception, coopération
Action
Conservation, protection
Systèmes multi-agents
Relationnel
SCP@GDR MACS’08
5 / 26
Rappels sur les agents, les systèmes multi-agents
Les types d’agents
Les types d’agents
Agents cognitifs et réactifs
Les agents cognitifs possèdent une représentions partielle du monde,
communiquent avec les autres agents et élaborent de stratégies.
Les agents réactifs ont un perception limitée et fonctionnent par
action/réaction.
Certains besoins nécessitent l’utilisation de SMA hybrides couplant ces
types d’agents.
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
6 / 26
Rappels sur les agents, les systèmes multi-agents
Les types d’agents
Exemples d’application avec agents réactifs
Agents réactifs
Les agents réactifs peuvent posséder des stratégies de choix
complexes. Exemples :
Simulateur d’évolution de piétons dans une ville ; chaque piéton adapte
son trajet en votant la meilleure direction selon ses perceptions locales
GRISLIN-LE STRUGEON E., HANON D., MANDIAU R. Behavioral Self-control of Agent-Based
Virtual Pedestrians. ISSADS 2005
Simulateur de circulation dans un carrefour complexe ; chaque
voiture choisit son action par rapport à sa perception des actions
des autres voitures, par une matrice de jeu locale
DONIEC A., MANDIAU R., PIECHOWIAK S., ESPIÉ S. (2008). Controlling non-normative
behaviors by anticipation for autonomous agents. Web Intelligence and Agent Systems : An
International Journal, 6, pp. 29-42.
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
7 / 26
Rappels sur les agents, les systèmes multi-agents
Couplage de types d’agents
Couplage de types d’agents
Exemple : la recherche d’informations
Cet exemple dans la recherche d’information fait interagir des agents
d’interfaces, des agents d’informations et des agents de collaboration.
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
8 / 26
Rappels sur les agents, les systèmes multi-agents
Eléments de formalisation
Détail d’un agent
Agents
Agent : Un agent peut être formalisé par :
KP, KE , KS, messagesa ,
agenta =
perceptiona , rulesa , rolesa
KP : (Personal knowledge) = {name; current state; individual goals(GI )}
KE : (Environmental knowledge) = partial representations of objects of the
environment.
KS : (Social knowledge) = partial representations of the acquaintances &
collective goal (GC).
ADAM E., MANDIAU R. Flexible roles in a holonic multi-agent system. HoloMAS 2007
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
9 / 26
Rappels sur les agents, les systèmes multi-agents
Eléments de formalisation
Détail d’un rôle
Rôles
Une règle est un ensemble de comportements :
R = (nameR , priorityR , tasksR )
n
o
R
tasksR = t0R , . . . , tnt
nt = number of tasks
Un rôle peut être défini comme un ensemble règles
role = (name, priority , KP, KE , KS, rules)
KP :
KE :
KS :
Pre-requirement, consequences, weight,
Environmental Knowledge (data)
Social Knowledge (roles names and constraints)
For example : a speaker has to respect the time-limit fixed by
the chair-man
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
10 / 26
Rappels sur les agents, les systèmes multi-agents
Organisation
Structures de SMA
Organisations
Les SMA peuvent être :
organisés a priori : en structure hiérarchique, de marché, de communauté,
de société
organisés par émergence : la structure de l’organisation apparaît suite aux
interactions entre agents
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
11 / 26
Rappels sur les agents, les systèmes multi-agents
Emergence
Emergence
Principe
L’émergence repose sur le principe que le tout est supérieur à somme
des parties.
Le nombre de parties doit être important pour visualiser l’émergence
Emergence de comportements, construits/modifiés à partir de règles
Emergence d’organisation, par auto coordination d’agents résolvant un
problème
Emergence d’organisation, par choix individuels de placement, dans le
cadre de la classification
...
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
12 / 26
Rappels sur les agents, les systèmes multi-agents
Système MultiAgent Holonique
Emergence
1/3
SMA Holonique
Un sma holonique possède une structure récursive de société. Les agents
(holons) sont stables, autonomes et coopérants.
Proposé par Koestler en 1968 (env. 55 règles). Concept basé sur H. Simon.
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
13 / 26
Rappels sur les agents, les systèmes multi-agents
Système MultiAgent Holonique
Emergence
2/3
Récursivité
Chaque holon du système possède les mêmes caractéristiques que
l’ensemble et possède une spécialité.
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
14 / 26
Rappels sur les agents, les systèmes multi-agents
Système MultiAgent Holonique
Emergence
3/3
SMA Holonique
Un ensemble de sma holoniques (agents holoniques), est composé de sma
holoniques.
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
15 / 26
Rappels sur les agents, les systèmes multi-agents
Communication
Langage de communication agent
ACL : Agent Communication Language
La nécessité de posséder un langage commun entre agents est claire.
Plusieurs propositions :
KIF : Knowledge Interchange Format (Langage formel de dialogue
interne)
KQML : Knowledge Query Meta Language
FIPA ACL : extension de KQML
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
16 / 26
Rappels sur les agents, les systèmes multi-agents
FIPA-ACL
Communication
1/2
structure d’un message FIPA-ACL
Un message en FIPA ACL est constitué de champs obligatoires et
facultatifs :
performative :
sender :
type de l’acte communicatif
emetteur du message
receiver :
destinataire(s) du message
reply-to :
destinataire de la réponse au message
content :
language :
contenu du message
type de langage utilisé
encoding :
type de codage du message
ontology :
ontologie sur laquelle est basée le message
protocol :
type de protocole utilisé
conversation-id :
identifiant de la conversation
reply-with :
type de réponse souhaitée
in-reply-to :
nom de la requête
reply-by :
type de réponse
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
17 / 26
Rappels sur les agents, les systèmes multi-agents
FIPA-ACL
Communication
2/2
Liste de performatifs de FIPA ACL :
Les performatifs possibles sont :
Accept Proposal, Agree, Cancel, Call for Proposal, Confirm, Disconfirm,
Failure, Inform, Inform If, Inform Ref, Not Understood, Propagate, Propose,
Proxy, Query If, Query Ref, Refuse, Reject Proposal, Request,
Request When, Request Whenever, Subscribe
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
18 / 26
Rappels sur les agents, les systèmes multi-agents
Communication
Protocoles
Protocoles de communications
Des normes de communications fixant les règles d’interactions peuvent être
utilisées, par exemple :
AchieveRE : un Initiateur envoie un message, le receveur peut répondre
par not-understood, refuse ou agree. Suite à l’accord (agree),
le receveur retourne un message de type inform (réponse) ou
failure.
FIPA - Contract NET : Protocole d’établissement d’un contrat (de vente
par exemple).
FIPA - Propose : un Initiateur propose à Participant d’effectuer une action
.
FIPA - Subscribe : un Initiateur envoie un message à un Participant de
souscription de service.
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
19 / 26
Rappels sur les agents, les systèmes multi-agents
Agent vs Objet
Agent vs Objet
Un agent est il un objet ?
Un agent est un objet qui est adaptatif, rationnel, autonome, capable
de communication et d’action.
Un agent logiciel est de préférence créé sous forme d’un objet ayant
les caractéristiques d’un processus
Un objet o1 ne peut qu’appeler une méthode existante d’un objet o2
qui doit l’exécuter
Un agent a1 peut demander l’exécution d’une méthode à l’agent a2
qui peut ne pas comprendre le message, ne pas posséder la méthode,
ou ne pas souhaiter l’exécuter (dans l’instant ou jamais !)
Un agent agit en fonction de son but, de ses contraintes et de ses
capacités.
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
20 / 26
Programmation d’agents
Programmation d’agents réactifs
Programmation d’agents réactifs
Environnement de développements d’agents réactifs
NetLogo : L’environnement de développement le plus simple
d’utilisation et tout de même performant
nombreuses fonctions spécifiques aux agents réactifs (champ de vision,
évaporation, dilution, ...)
environnement graphique 2D et 3D ! intégré
swarm : environnement de développement très rapide,
programmation plus complexe, basée sur les notions de sondes, de
’schedullers’
programmation donc plus libre
MadKit : plateforme multiAgent francophone (LIRMM), gratuite,
permettant la conception d’agents cognitifs et d’agents réactifs,
programmation basée sur les notions de sondes, de ’schedullers’
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
21 / 26
Programmation d’agents
Programmation d’agents cognitifs
Programmation d’agents cognitifs
Environnement de développements d’agents cognitifs
De nombreuses plateformes, les principales sont conformes à la FIPA :
(Foundation of Intelligent Physical Agents)
But : favoriser l’interopérabilité et la réutilisabilité
Transport de messages, langage de communication, services de
renseignements, langages de contenu
Gestion et mobilité des agents
But : fournir la structure permettant l’existence et le fonctionnement
des agents
Modèle de référence logique pour la création, l’enregistrement, la
localisation, la communication, la migration et le retrait d’agents
Décrit les primitives et ontologies nécessaires pour les services
Pages Blanches : localisation, désignation et contrôle de l’accès aux
services (AMS)
Pages Jaunes : localisation, et enregistrement des services (DF)
Service de transport de messages
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
22 / 26
Programmation d’agents
Programmation d’agents cognitifs
Programmation d’agents cognitifs : FIPA
Communication entre agents
Techniques de communication pour structurer les interactions dans le
système
Spécifications du langage de communication + protocoles
d’interaction + bibliothèques d’actes communicatifs prédéfinis +
protocoles d’interaction + langages de contenu
Plateforme FIPA
16 plateformes “FIPA-compliant”, dont 9 du domaine public, dont :
ZEUS (British Telecoms)
JADE (CSELT)
FIPA-OS (Emorphia)
April Agent Platform (Fujitsu Labs of America)
LEAP (Lightweight Extensible Agent Platform)
JACK (Agent Oriented Software Group)
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
23 / 26
Programmation d’agents
JADE
Généralités sur JADE
JADE : Java Agent DEvelopment framework
But : développement et exécution de systèmes multi-agent conformes
aux normes FIPA
service de nommage
service de pages jaunes
transport de messages
service d’analyse
bibliothèque des protocoles d’interaction de FIPA
Les agents sont des coquilles auxquelles il faut ajouter des
comportements implémentant des services/fonctionnalités
Les communications utilisent le standard ACL
Possibilité de communications entre plateformes JADE
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
24 / 26
Programmation d’agents
JADE
Généralités sur JADE
Caractéristiques de JADE
Entièrement implémentée en JAVA
Conforme aux spécifications FIPA
Open Source et distribué avec licence LGPL
Distribution possible sur différents serveurs
Modifiable en cours d’exécution (mobilité des agents)
Remarques sur JADE
Programmation ’simple’ mais longue
De nombreuses foctionnalités pré existent (protocoles, ontologies,
services, version pour PDA, . . .
Outils de debuggage fournis
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
25 / 26
Fin
Fin
Fin de l’introduction aux agents
E. ADAM (University of Valenciennes)
Systèmes multi-agents
SCP@GDR MACS’08
26 / 26

Documents pareils