Les protocoles d`interaction dans des systèmes multi agents
Transcription
Les protocoles d`interaction dans des systèmes multi agents
DEA Module Mots Clés Sujet Préparé par Dirigé par : : : : : : RACOR option RFCI IMR (Initiation à la Méthodologie et à la Recherche) SMA, protocoles d’interaction, FIPA Les protocoles d’interaction dans les SMA Houssam FAKIH ([email protected], UTT) Zahia GUESSOUM ([email protected], LIP6) Les protocoles d’interaction dans des systèmes multi agents L’interaction entre les agents est plus qu’un simple échange de messages [Barbuceanu, 1995] : un des aspects d’interaction montre une conversation basé sur un échange partagé et conventionné de messages. • • Les conversations entre agents dans les SMA sont souvent structurées selon des schémas typiques appelés protocoles d’interaction. Les protocoles d’interaction peuvent être modélisés en utilisant différents formalismes tels que : • les graphes état transition • les graphes de raisonnement • les réseaux de pétri • les langages formels • les langages de description de protocoles Les 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, une stratégie de haut niveau gouvernant les interactions entre les agents tout en permettant de faciliter leur dialogue. Un protocole précise qui peut dire quoi à qui et les réactions possibles à ce qui est dit. Les protocoles d’interaction permettent de définir une séquence causale des messages communiqués entre les agents et décrivent comment les agents doivent réagir aux messages reçus durant les interactions. Les aspects de ces protocoles d’interaction diffèrent selon le type des agents. (Agents concurrents ou agents à des buts communs) Il existe différents types protocoles d’interaction, on cite : • Les protocoles de coordination, de Les protocoles de coopération, Les protocoles de négociation, ainsi que • les mécanismes du commerce électronique. La définition d’une architecture logicielle générique permettant l’interopérabilité entre les agents dans des environnements ouverts et dynamiques semble intéressante pour l’exploitation des protocoles d’interaction. Plusieurs groupes de recherche ont déjà défini leurs propres modèles. On cite les modèles de FIPA, General Magic, KAoS, OMG, ZEUS le modèle des laboratoires de British Telecom, et le modèle de l’université de Calgary. Les protocoles de coordination Dans des environnements à ressources limitées, la coordination se traduit par un comportement individuel visant à servir ses propres intérêts tout en essayant de satisfaire le but global du système. [Jenings, 1993] caractérise la coordination par deux aspects étroitement liés, à savoir les engagements et les conventions : Les engagements fournissent la structure nécessaire pour des interactions prévisibles. Pendant que les situations changent, les agents doivent évaluer si les engagements existants sont encore valides. Les conventions fournissent des moyens pour contrôler les engagements dans des circonstances changeantes. Les protocoles de négociation Un des exemples de protocole pour la coordination est celui du réseau contractuel (contract-net) [smith, 1980]. L’intérêt d’un tel protocole est qu’il réalise la coordination de tâches parmi les agents en assurant l’allocation la plus optimale possible. Les mécanismes électronique Les protocoles de coopération Les protocoles de coopération consistent à décomposer un problème en tâches puis à les distribuer [Durfee et Montogomery, 1990]. Cette approche a l’avantage de réduire la complexité d’un problème. Mais il risque d’avoir des interactions entre les tâches et par conséquent des conflits entre les agents. Il existe plusieurs mécanismes pour distribuer les tâches. On cite les mécanismes d’élection où les tâches sont attribuées à des agents suite à un accord ou un vote, les réseaux contractuels où des tâches sont attribués aux agents suite à des cycles d’appels d’offres ou de propositions. La planification multi agents attribue aux agents planificateurs la responsabilité de la distribution des tâches et la structure organisationnelle où les agents ont des responsabilités pour des tâches particulières. Les protocoles de négociation sont utilisés dans le cas où les agents ont des buts différents. Les dispositifs principaux de la négociation sont : le langage utilisé, le protocole suivi dans le principe de négociation et la procédure de décision que chaque agent utilise pour déterminer ses positions, ses concessions et ses critères pour l’accord. du commerce Les mécanismes du commerce électronique exigent de l’organisation et un nombre important de communications. Ils présentent l’avantage d’être simple, équitable, distribué et très utile dans le cas où il s’agit de décider une action ou une solution parmi plusieurs proposées. Une autre approche consiste à utiliser de mécanismes de vente appelés aussi les ventes aux enchères. Une vente aux enchères est un mécanisme économique permettant de déterminer le prix d’un article. Elle exige une méthodologie prédéfinie, où se réunissent un ou plusieurs contractants qui souhaitent acheter l’article. Habituellement l’article est vendu d’une façon publique au plus offrant. Les protocoles de FIPA FIPA spécifie un environnement d’existence et de fonctionnement des agents ainsi qu’une infrastructure physique de déploiement des agents [FIPA, 1997a]. FIPA définie une plate-forme des agents qui représente l’infrastructure dans laquelle les agents peuvent être déployés, un système de gestion des agents décrit tel les agents peuvent gérer la création, la suppression, la suspension, la reprise, l’authentification et la migration des autres agents tout en assurant un service des pages blanches ainsi qu’un service des pages jaunes. On présente ci-dessous protocoles d’interaction de FIPA. les Le protocole FIPA-request : Il permet à un agent d’inviter d’autres agents à exécuter une certaine action. L’agent récepteur peut refuser ou accepter la tâche. S’il l’accepte, il doit exécuter l’action et informer l’agent qui l’a demandée. Le protocole FIPA-query : Dans ce protocole, l’agent cherche à connaître un objet correspondant à une description ou interroger un autre agent sur la proposition ou l’état sur l’exécution d’une autre action. La demande d’être informé est une requête qui se traduit par deux actes possibles : Query-if (questionner si une proposition est vraie) et Query-ref (demander la liste des objets correspondant à une référence ou à une description). L’un ou l’autre acte peut être utilisé pour lancer ce protocole. Le récepteur projettera de renvoyer la réponse à la requête par l’acte Inform. Le protocole FIPA-request-when : Ce protocole est utilisé par les agents voulant demander à d’autres agents d’exécuter une certaine action à l’avenir une fois la condition préalable donnée devient vraie. Si l’agent destinataire accepte la demande, il attend l ‘état vrai de la condition préalable pour exécuter l’action puis il informera l’agent expéditeur de demande que l’action a été exécuté. L’agent destinataire peut refuser l’exécution de la demande dans le cas où il serait occupé par des tâches plus prioritaires une fois que la condition préalable soit vraie. Le protocole FIPA-contract-net : L’agent prend ici le rôle du manager. Le manager souhaite faire accomplir une certaine tâche par un ou plusieurs autres agents, et optimaliser une fonction qui caractérise la tâche. Cette caractéristique est généralement exprimée comme coût, spécifique au domaine. L’agent sollicite des propositions d’autres agents en émettant un appel d’offres décrivant la tâche et les conditions nécessaires à son exécution. Les agents recevant l’appel peuvent fournir des propositions pour accomplir la tâche. La proposition de l’agent contractant contient les conditions préalables pour l’exécution de la tâche (prix par exemple). Une fois que le manager reçoit des réponses de tous les contractants, il évalue les propositions et fait son choix sur un, plusieurs ou aucun agent pouvant accomplir la tâche. Les agents ou l’agent choisis seront notifiés par un message d’acceptation. On suppose que le contractant s’engage à accomplir la tâche dès qu’il reçoit le message d’acceptation. Un message d’accomplissement de tâche sera envoyé au manager une fois que le contractant l’ait terminé. Notons que le protocole exige du manager de savoir le moment où il a reçu toutes les réponses. Une date limite de réception des offres sera précisée et toutes les réponses reçues après cette date seront automatiquement rejetées en se justifiant par le fait que la proposition était tardive. Le protocole FIPA-Iterated-contractnet : C’est une extension du protocole précédent. Il diffère de la version de base en permettant plusieurs itérations. Une fois que l’agent manager reçoit les propositions des contractants, il peut accepter une ou plusieurs offres, rejeter d’autres ou peut réitérer le processus en émettant une nouvelle offre ‘révisée’. L’objectif est de permettre au manager d’obtenir de meilleures offres des contractants en modifiant l’appel et en demandant de nouvelles offres (d’une manière équivalente mais révisée). Le processus termine quand le manager refuse toutes les propositions, n’émet pas de nouveaux appels en acceptant la meilleure offre de l’itération antérieure ou tout simplement lorsque les contractants refusent de faire des offres. d’autres domaines, d’autres règles peuvent éventuellement s’appliquer. Le modèle du General Magic Le protocole FIPA-Auction-English : Dans l’enchère anglaise, le manager cherche à trouver le prix du marché d’une marchandise en proposant initialement un prix au-dessous de celui de la valeur de la marchande supposée, et en augmentant alors graduellement le prix. Chaque fois que le prix est annoncé, le manager attend des acheteurs pour signaler leur accord sur le prix proposé. Dès qu’un acheteur indique qu’il accepte le prix, le manager émet un nouvel appel d’offres avec un prix légèrement supérieur. L’enchère continue jusqu’à ce qu’aucun acheteur ne soit disposé à payer le prix proposé, auquel cas l’enchère termine. Si le dernier prix qui a été reçu par un acheteur excède un prix de réserve (connu en privé par le manager), la marchandise est vendue à cet acheteur pour le prix convenu. Sinon la vente est annulée. Le protocole FIPA-Auction-English : Dans l’enchère hollandaise, les tentatives du manager de trouver le prix de vente d’une marchandise se concrétisent en commençant par un prix beaucoup plus haut que la valeur prévue, puis en réduisant progressivement le prix jusqu’à ce qu’un des acheteurs accepte le prix. Le manager a habituellement un prix de réserve au dessous duquel il ne vend pas. Si l’enchère ramène le prix de la marchandise au prix de réserve sans qu’il ait d’acheteurs, l’enchère se termine. Dans cette enchère, la marchandise peut être vendue en plusieurs parties, quelques marchés obligent d’acheter la marchandise toute entière. Dans le cas des agents, il est tout à fait possible que deux offres identiques ou plus soient reçus par le manager pour la même marchandise. Il n’est pas considéré dans la spécification de FIPA un mécanisme particulier pour résoudre ce conflit. Dans le cas général, les agents devraient appliquer ‘du premier venu, premier servi’. Dans Ce modèle présente les concepts des systèmes multi agents comme une place de marché électronique où les fournisseurs et les consommateurs des services se trouvent et accomplissent leur travail. Quelques places du marché sont modélisées comme un réseau des ordinateurs représentant un ensemble de places qui offrent des services aux agents mobiles [White, 1997]. Ce modèle introduit la notion de place dans un environnement distribué et il est explicitement destiné à supporter la mobilité des agents. Le modèle de KAoS Ce modèle était conçu dans le but d’assurer une architecture ouverte et distribuée des agents logiciels [Bradshaw et al, 1997]. Une des caractéristiques importantes de cette architecture est qu’elle développe les actions de conversation comme un protocole représentant les interactions dynamiques des agents. Le modèle KAoS introduit la notion du domaine pour un agent et la notion de domaine pour les managers. Le domaine pour un agent représente les limites de l’activité de l’agent. Le domaine des managers permet de contrôler l’entrée et la sortie des autres agents dans son domaine. KAoS définit également les notions des proxies et des médiateurs qui permettent l’intercommunication entre des agents KAoS et des agents non KAoS. KAoS définit encore une structure d’agent incluant les mécanismes pour gérer les faits, les croyances, les désirs, les intentions et les capacités des agents. Le modèle de l’OMG Le modèle de l’OMG représente un environnement d’agents consistant en des composant (les agents) et des localités (les agences) [Virdhagriswaram et al, 1995] où les agents et les agences peuvent interagir avec d’autres agents et agences en utilisant des politiques prédéfinies d’interaction. Dans ce modèle, on classe les agents suivant leurs capacités (par exemple, leurs capacités de déduire des faits, de planifier,..), le type supporté des interactions avec les autres agents (par exemple les données, la sémantique des demandes,..), la mobilité (par exemple, la mobilité statique, la mobilité avec ou sans état,..). Les agences, d’autre part, permettent de supporter entre autre l’exécution concurrente des agents, la sécurité et la mobilité des agents. Les agents dans le modèle OMG peuvent communiquer suivant plusieurs cardinalités, à savoir, 1-1, 1-n et n-n. La trousse à outils de BT Labs ZEUS Développée aux laboratoires de British Telecom. Elle implémente une application rapide de développement des systèmes multi agents dans un domaine orienté vers des tâches [Nwana et al, 1999]. Elle consiste en un ensemble des trois composants : • une librairie des composants d’agents, • un outil de développement des agents, et • une suite des utilités pour les agents. La librairie des composants d’agents fournit un certain niveau de fonctionnalité des agents tel la communication, le raisonnement, et la planification. L’outil de développement des agents supporte la création interactive des agents en visualisant leurs attributs. La suite des utilités pour les agents consiste en un agent fournissant le service des pages blanches, un autre fournissant le service des pages jaunes, et un autre agent pour déboguer les agents ZEUS. L’outil ZEUS comprend une architecture pour des agents génériques ainsi qu’un interface graphique représentant l’environnement et permettant le développement des systèmes multi agents. Le modèle de l’université de Calgary L’objectif principal de ce modèle est de définir une architecture logicielle ouverte fournissant une structure permettant aux agents la possibilité de contacter ou d’être contacté par d’autres agents [Flores et al, 1999]. Afin de permettre aux agents de se communiquer, les agents ont besoin de 4 conditions qui devraient être valides dans le sens direct et le sens réversible. Les agents ont besoin alors (C1) d’être inscrit comme des participants actives dans l’architecture, (C2) d’annoncer leurs services (s’ils veulent être contactés), (C3) de demander aux autres agents leurs services annoncés (s’ils veulent les contacter) et (C4) d’être capable de communiquer simultanément avec plusieurs agents. Les notions de la surface et de coordinateur local de surface sont alors définies. Le premier aspect comporte deux notions : la limite de surface représentant une fonction de ressources informatiques disponibles pour l’agent, et la résidence d’agent représentant la résidence dans une surface une fois que l’agent réussit à s’inscrire chez le coordinateur local de surface. Le coordinateur local de surface est un agent qui alloue aux autres agents des surfaces de résidence. Les protocoles définis sont : Registration Protocol : permet de s’inscrire ou de se désinscrire d’une surface. YP Locations : pour faire des demandes concernant les agents pages jaunes connus. Advertisement : pour annoncer ou retirer une annonce pour un service. Search : pour demander un service annoncé. Cooperation Domain Subscription : pour joindre ou se retirer d’un domaine de coopération. Cooperation Domain Invitation : pour inviter un agent à joindre un domaine de coopération. Cool (COOrdination Language) [Barbuceanu, 1995] : un exemple de protocole d’interaction COOL est un langage de description des protocoles de coordination. Il utilise KQML comme langage de communication entre les agents. On distingue plusieurs niveaux dans les interactions entre les agents : • Le premier niveau concerne le contenu de l’interaction. Ce niveau est abordé par les ontologies KIF [Genesereth et Fikes, 1992]. • Le deuxième niveau spécifie les intentions des agents. Ce niveau est abordé par le langage KQML. • Le troisième niveau spécifie les conventions de l’interaction. Ce niveau est abordé par un langage de coordination COOL. • Le quatrième niveau concerne la modélisation de l’interaction. Ce niveau est abordé par les automates d’états finis. On représente par les automates d’états finis : • Les états : ce sont les états possibles du déroulement d’une conversation (état accord, état refusé) • Les transitions : ce sont les messages ou les performatifs possibles. On définit des règles de conversation permettent de spécifier la réaction d’un agent, c'est-à-dire l’action à réaliser, dans un état donné. On représente alors : • Les règles de conversation : déterminent comment un agent doit répondre aux différents messages reçus, ce qu’il doit faire et quand. • Les règles de reprise d’erreurs : déterminent les réactions en cas d’erreur. • Les règles de poursuite : déterminent l’enchaînement des conversations. Des classes de conservation permettent de définir un plan de dialogue spécifiant les états, les règles de conversation, et les règles de reprise d’erreurs spécifiques à chaque type de conversation. Une instance de cette classe sera créée dès qu’un agent débute ou entre dans une réelle conversation. Un identificateur sera également crée pour l’y associer. Une conversation peut être interrompue à tout moment s’il manque l’agent le temps, l’information ou s’il doit corriger une erreur. L’agent peut interrompre une conversation pour en terminer une autre. On note qu’un agent peut avoir plusieurs classes de conversations dépendamment des agents avec lesquels il sera possible de se communiquer. Le schéma ci-dessus présente un exemple de protocole de négociation. La notation <Message reçu>/<Message émis> est utilisé pour modéliser les transitions entre les différents états. L’état 1 représente l’état initial et les états 5, 6 et 7 représentent les états finaux. La conversation commence lorsqu’un agent reçoit un message, on est alors dans l’état 1. S’il s’agit d’une demande, l’agent sera dans l’état 2. Il peut accepter (état 3), rejeter (état 2) ou proposer une autre demande révisée (état 4). S’il accepte la demande, on est dans l’état 3. S’il satisfait à la demande, on est dans l’état 6, sinon on est dans l’état 7. 1 6 /satisfy propose / 7 2 /accept /fail /reject 3 /counter 5 counter/ reject/ accept/accept 4 Exemple de protocole de négociation Conclusion Les protocoles d’interaction permettent de contrôler les différentes formes existantes d’interaction entre les agents ; toutefois, il n’existe pas à l’heure actuelle d’outils pour aider à la conception et à la validation de ces protocoles. Le projet de téléenseignement Baghera [Huget, 2000] introduit une plate forme pour l’ingénierie des protocoles. Cette plate forme est composée essentiellement de deux outils. L’un intervient dans la phase de conception et l’autre dans la phase de validation. D’autre part, les perspectives de recherche sur les interactions portera sur la réutilisabilité des schémas de communication d’agents [Deugo et al., 2001], de bibliothèques d’interactions [FIPA, 2001] ou de modules de communication [Shehory et al., 00]. Plus précisément sur la définition dynamique des interactions [Berger, 2001], une définition qui n’est pas présent dans les approches citées. Bibliographie [Barbuceanu, 1995] Barbuceanu M., Fox M.S. COOL : a language for describing coordination in multi-agent systems. ICMAS, p. 17-24, 1995. [Berger, 2001] Berger L., Mise en œuvre des interactions en environnements distribués, compilés et fortement typés : Le modèle MICADO. 2001. [Bradshaw et al., 1997] Bradshaw J.M., Dutfield S., Benoit P. et Woolley J.D. KAoS : Toward An Industrial Strength Open Agent Architecture. Software Agents, Bradshaw, J.M. (Ed.), AAAI Press, Menlo Park, CA, p. 375-418, 1997. [Deugo et al., 2001] Deugo D., Weiss M., Kendall E., Reusable Patterns for agent Coordiantion. Omicini A, Zambonelli F., Klusch M., Tolksdorf R., Eds., Coordination of Internet Agents : Models, technologies, and Applications, chapitre 14, p. 347-368, Springer-Verlag, March 2001. [Durfee et Montogomery, 1990] Durfee E.H. et montogomery T.A. A Hierarchical protocol for Coordinating MultiAgent Behaviours. In Proc. AAAI-90, 1990. [Genesereth et Fikes, 1992] Genesereth M.R. et Fikes R.E. Knowledge Interchange Format. Version 3, Reference Manual, Computer Science Dept., Stanford University, Technical report Logic-92-1. 1992. [Ferber, 1995] Ferber J. Les systèmes multi agents : Vers une intelligence collective. InterEditions. 1995. [FIPA, 1997a] Foundation for Intelligent Physical Agent. Part 1 : Agent Management. Version 1.2. 1997. [FIPA, 2000] Foundation for Intelligent Physical Agent. FIPA Interaction Protocol Library Specification.http://www.fipa.org/specs/fip a00025/, 2000. [FIPA, 2000] Foundation for Intelligent Physical Agent. FIPA Request Interaction Protocol Library Specification.http://www.fipa.org/specs/fip a00026/, 2000. [FIPA, 2000] Foundation for Intelligent Physical Agent. FIPA Query Interaction Protocol Library Specification.http://www.fipa.org/specs/fip a00027/, 2000. [FIPA, 2000] Foundation for Intelligent Physical Agent. FIPA Request When Interaction Protocol Library Specification. http://www.fipa.org/specs/fipa00028/, 2000. [FIPA, 2000] Foundation for Intelligent Physical Agent. FIPA Contract Net Interaction Protocol Library Specification. http://www.fipa.org/specs/fipa00029/, 2000. [FIPA, 2000] Foundation for Intelligent Physical Agent. FIPA Iterated Contract Net Interaction Protocol Library Specification. http://www.fipa.org/specs/fipa00030/, 2000. [FIPA, 2000] Foundation for Intelligent Physical Agent. FIPA English Auction Interaction Protocol Library specification. http://www.fipa.org/specs/fipa00031/, 2000. [FIPA, 2000] Foundation for Intelligent Physical Agent. FIPA Dutch Auction Interaction Protocol Library specification. http://www.fipa.org/specs/fipa00032/, 2000. [FIPA, 2001] Foundation for Intelligent Physical Agent. FIPA Communicative Act Library Specification. http://www.fipa.org/specs/fipa00037/, 2001. [Flores, 1999] Flores, R.A. et Wijngaards, N. J.E. Primitive Interaction Protocols for Agents in a Dynamic Environment. in B.R. Gaines, R.C. Kremer & M. Musen (Eds.), Proceedings of the 12th Workshop on Knowledge Acquisition, Modelling and Management (KAW '99), Banff, Canada, October 16-21, Volume 1, p. 3-2-1:3-2-20, 1999. [Huget et al, 2000] Huget M.P., Koning J.L., Bergia L. Une plate forme pour l’ingénierie des protocoles d’interaction. Application au projet de télé-enseignement Baghera. 1ère soumission à JFIADSMA, juillet 2000. [Jenings, 1993] Jenings J.R. Commitments and Conventions : The foundation of coordination in multi-agent systems. The knowledge Engineering review, 2(3) : pages 223-250, 1993. [Mazouzi, 2001] Mazouzi H. Ingénierie des protocoles d’interaction : des systèmes distribués aux systèmes multi agents. 2001. [Nwana et al., 1999] Nawan H., Ndumu D., Lee L. et Colis J. ZEUS : a tool-kit for building distributed Multi-Agent Systems. Applied Artificial Intelligence Journal, Volume 13 (1), p. 129-186, 1999. [Shehory et al., 2000] Shehory O., Sycara K., The Retsina Communicator, Autonomous Agents 2000, Poster Session 2000. [Smith, 1980] Smith R.G. The Contract Net Protocol : High Level Communication and Control in a Distributed Problem Solver. IEEE trans. On Computers, Vol. 29 (12), Pages 11041113, 1980. [Virdhagriswaram et al., 1995] Virdhagriswaram S., Osisek D., et O’Connor P. Standardizing Agent Technology. ACM Standard View, Volume 3, Number 3, p. 96-101, 1995. [White, 1997] White J.E. Mobile Agents. Software Agents. Bradshaw, J.M. (Ed.), AAAI Press, Menlo Park, CA, p. 437-472, 1997.