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