Interaction Dynamique Basée sur la Délégation
Transcription
Interaction Dynamique Basée sur la Délégation
SETIT 2007 4th International Conference: Sciences of Electronic, Technologies of Information and Telecommunications March 25-29, 2007 – TUNISIA Interaction Dynamique Basée sur la Délégation Ahmed HARBOUCHE *, Abdellah KOUIDER EL OUAHED * * Département d'informatique, Faculté des sciences de l'ingénieur, Université HASSIBA BEN BOUALI , CHLEF. ALGERIE. [email protected] [email protected] Résumé: Actuellement, les systèmes informatiques sont de plus en plus complexes, souvent répartis sur plusieurs sites et constitués de logiciels en interaction entre eux ou avec les êtres humains. Le besoin d'utiliser les systèmes multiagents se fait ressentir pour représenter de tels systèmes, les composants du système sont des agents qui bénéficient d'une très forte autonomie d'exécution. Les systèmes multi-agents actuels sont complexes et doivent évoluer progressivement par l'ajout ou le retrait de composants. Toutefois la mise en œuvre d'un système multi-agents n'est pas une tâche aisée. Dans notre analyse, nous mettons en évidence qu'une des principales difficultés, à savoir que les agents aient à implémenter plusieurs protocoles d'interaction induisant ainsi une grande complexité des agents. L’objet de notre étude en premier lieu est l'analyse et l’exploration des modèles dynamiques et approches d'interaction inter-agents. Nous présentons par la suite, notre approche d'interaction entre agents. Cette approche est basée sur la notion de délégation dynamique des tâches d'interaction en utilisant un serveur d'interactions. Tout en permettant l'ajout, la modification et la suppression d'interactions durant l'exécution du système, notre approche consiste à intercaler dynamiquement, à la demande d’un agent, un agent proxy entre ce dernier et les autres participants. Le proxy est chargé de gérer l'interaction initiée par l'agent en exécutant le protocole d'interaction approprié à celle-ci. Cette approche va permettre de soulager l'agent de certaines tâches d'interaction, et réduire sa complexité en évitant aux agents d'implémenter plusieurs protocoles. Mots clés : Délégation, Interaction, Systèmes multi agents. Cette collaboration pose des questions d'organisation et d'interaction entre les agents. INTRODUCTION Nos travaux se concentrent sur les systèmes multiagents, plus précisément sur les systèmes multi-agents ouverts (SMAO) où les agents peuvent entrer et sortir dynamiquement. Le travail que nous présentons se place dans le domaine de l'intelligence artificielle distribuée (IAD), qui est une branche de l'intelligence artificielle. Cette discipline s'occupe des situations où plusieurs systèmes interagissent pour résoudre un problème commun [MOU 96]. L'IAD est l'étude, la construction et l'application des systèmes dans lesquels plusieurs agents intelligents interagissent, poursuivant un ensemble d'objectifs ou exécutant un ensemble de tâches [WEI 99]. L'extension des domaines d'application des systèmes multi-agents impose le développement de SMA de plus en plus performants et plus complexes et doivent être capable d'évoluer progressivement par ajout ou retrait de composants. Toutefois, la mise en œuvre d'un SMA n'est pas une tâche facile. Dans notre analyse, nous mettons en évidence une des principales difficultés rencontrée dans les SMA, à savoir que les agents aient à implémenter plusieurs protocoles d'interaction induisant ainsi une énorme complexité des agents. L'IAD se décompose en deux branches: la résolution de problème distribuée (RDP), qui s'occupe de la distribution des algorithmes provenant de l'IA, et les systèmes multi-agents. Les systèmes multi-agents traitent du comportement d'un ensemble d'agents autonomes qui collaborent pour résoudre un problème. -1- SETIT2007 Dans cette section, nous passons en revue les travaux sur les modèles d'interaction qui présentent un intérêt pour notre travail. Les protocoles d'interaction garantissent en grande partie l'interopérabilité des agents, ils constituent aussi une difficulté majeure dans leur ingénierie, comme le montre l'analyse de plateformes de développement et de SMA existants. Plusieurs auteurs affirment que les modèles d'interactions existants limitent les possibilités d'interaction des agents et demandent un très grand effort pour atteindre des interactions plus évoluées [BOU 98]. Les protocoles sont une partie très importante de l'agent, ainsi l'ajout, la modification ou le retrait d'un protocole entraînera l'arrêt du système et la modification de l'agent, ce qui augmente la complexité des agents. Il serait plus intéressant d'opérer ces changements sans bloquer le fonctionnement du système et maintenir une cohérence de ce dernier. L'approche choisie dans [RIB 98 ,RIB 99 et RIB 01] consiste à analyser l'interaction comme un composant à part entière dans la conception d'un système. Le modèle proposé est appelé modèle dynamique d’interactions pour les SMA (figure 01.). Le principe dans ce modèle est qu'une partie de la gestion de l'interaction est déplacée de l'agent vers le mécanisme d'interaction afin de soulager l’agent de certaines tâches d’interaction. Le principe consiste à transférer les tâches d'interaction de l'agent aux messages actifs. De ce fait, afin d'augmenter les capacités d'interaction des agents, il est nécessaire de retirer quelques aspects de l'interaction et de les transférer vers un mécanisme d'interaction permettant ainsi aux agents de déléguer certaines tâches d'interactions à ce mécanisme d'interaction. Cette délégation va permettre d'augmenter les capacités d'interaction des agents sans être amener à concevoir des agents très complexes. Agent 1 Message Actif Autre Agent Mécanisme d'interaction Cette approche de délégation va permettre de faire interagir des agents utilisant différentes formes d'interactions (ontologies, langages différents). Elle provient aussi de l'observation de la communication humaine où les messages peuvent être éventuellement transmis de façon indirecte via un messager. Figure 01. Modèle d'interaction dynamique Pour chaque émission ou réception d'un message par l'agent, un message actif le prend en charge. Le cycle de vie d'un message actif est celui de l'interaction. Les Messages Actifs sont les composants actifs du Modèle d’Interaction Dynamique ; c'est à travers le remplacement des messages par des messages actifs que le modèle d’interaction devient Dynamique. Les messages actifs jouent un rôle central dans l'interaction, ils reçoivent la responsabilité de mener à terme une interaction. Ils peuvent manipuler, dynamiquement, le message de différentes manières : trouver le bon destinataire dans le cas où l’adresse est incorrecte, donner une meilleure présentation du message et s’assurer que le message sera bien interprété par le destinataire (ajouter des informations supplémentaires au message d’origine). Notre approche consiste en le développement d'un SMA basé sur le principe de délégation de tâches d'interaction vers d'autres agents via un serveur d'interaction. Cette délégation libère l'agent de beaucoup de tâches d'interactions (protocoles d'interaction non implémentés par l'agent) et ainsi l'agent sera concentré sur le traitement proprement dit relevant de l'application. Dans un premier temps, nous présentons les travaux réalisés sur les modèles dynamiques d'interaction qui présentent un intérêt pour notre travail. Le deuxième point est consacré à la présentation de notre approche de délégation d'interaction. Le fonctionnement du mécanisme proposé est illustré par un exemple d'application. On terminera ce rapport par une conclusion et les perspectives de recherches. Aussi l'utilisation du message actif se place dans le même contexte que [LEJ 98] qui propose l'utilisation d'un agent spécialisé pour prendre en charge la communication entre les agents du système. L'approche présentée par [JOU 03] consiste à utiliser un protocole d’interaction basé sur le protocole de négociation générique (regroupement de quatre protocoles FIPA: FIPA-Contract-Net, FIPA IteratedContract-Net, FIPA Auction-English, FIPA AuctionDutch). Ce protocole est implémenté par un agent intermédiaire appelé proxy. En quelques mots, cela consiste à intercaler dynamiquement, à la demande d’un agent, un proxy entre ce dernier et les autres participants de la conversation. Vis à vis des autres participants, le proxy prendra la place de l’agent qu’il représente, et jouera donc son rôle pour toute la durée de la conversation. Le proxy peut quant à lui effectuer 1. Travaux sur la dynamicité dans les SMA Les interactions sont omniprésentes dans le monde réel, différents travaux ont pris en charge leur spécification et leur mise en œuvre dans la communauté de développement d'applications SMA. Plus précisément, nous nous sommes intéressés par les travaux et les recherches sur la dynamicité de l'interaction. -2- SETIT2007 mesure d’effectuer une tâche qu’il a l’intention de réaliser. Dans ce cas, l’agent recherche une cible pouvant exécuter un rôle à sa place, vis-à-vis d’autres interlocuteurs, sans qu'il soit impliqué directement dans l'interaction (dont il n’implémente pas le protocole, par exemple). simultanément une sous-conversation (en l’occurrence un dialogue) arbitraire avec l’initiateur, pour obtenir les informations nécessaires à l’accomplissement du rôle. 2. Présentation de l'approche Dans cette approche, la délégation est effectuée sur demande d'un agent, qui décide de déléguer son interaction, vers le serveur d'interaction alors que dans [RIB 98] la délégation vers le mécanisme d'interaction est réalisée d'une manière implicite (i.e. le Mécanisme d'interaction prend en charge toutes les interactions menées par les agents à travers les messages actifs). Les travaux sur l'hétérogénéité des agents s'intéressent à l'adaptation dynamique des messages à différents protocoles. Cependant, peu de travaux se sont intéressés à l'intégration dynamique d'agents intermédiaires, à la dynamicité par l'ajout, à la modification et la suppression d'interaction en cours d'exécution ou encore l'ajout dynamiquement d'un agent non prévu à l'avance. Le serveur suivantes: Ainsi, l'idée de la dynamicité dans les SMA mérite d'être creusée davantage. C'est pourquoi nous nous sommes intéressés à présenter une approche fondée sur la délégation de tâches d'interactions en utilisant un serveur d'interaction. assure les tâches - maintient d'une librairie de protocoles d'interaction qui peut être mise à jour à travers un outil responsable de l'ajout, la modification et le retrait de protocoles. L'architecture interne d'un agent en général peut être illustrée par la figure ci-dessous (figure 02.). - génération d'agents proxy capables de prendre en charge une interaction et cela en exécutant le protocole d'interaction approprié. - gestion des agents proxy dans le système multi agents. Agent1 Agent2 La délégation est valable uniquement pour la durée de l'interaction. Elle doit être établie à l'initialisation de cette dernière avant que tout message ne soit envoyé par le délégateur. La délégation ne peut donc intervenir en cours d'exécution, mais cette restriction est valable seulement pour le délégateur. Compétences Gestionnaire d'interactions (Protocoles d'interaction) d'interaction Agent3 L'architecture proposée pour un tel système est illustrée par la figure ci-dessous (figure 03.). Figure 02. Architecture générale d'un agent Serveur d'interaction Dans cette architecture les agents sont contraints d'implémenter les protocoles d'interaction plus ou moins complexes. L'ajout, la modification ou la suppression d'un protocole nécessite l'arrêt du système, ainsi ces opérations ne peuvent être réalisées en cours d'exécution du système. Agent1 (Délégateur) L'approche que nous proposons cherche à déléguer certaines tâches d'interactions de l'agent vers le serveur d'interaction ainsi soulager l'agent et réduire sa complexité. Les protocoles d'interactions, ou les interactions ne pouvant pas être réalisées par l'agent (Protocoles d'interaction non implémentés par l'agent ou l'agent est occupé) seront désormais pris en charge par le serveur d'interactions dont le rôle est de générer un agent Proxy auquel sera déléguée la tâche d'interaction. Agent2 Proxy (Délégué) Gestionnaire d'interactions Agent3 Agent4 Figure 03. Architecture basée sur un mécanisme dynamique de délégation Cette délégation correspond au fait de transmettre les responsabilités communicationnelles à un autre agent, dans le cadre d'une interaction, l'agent qui effectue la délégation est nommé délégateur et l'agent recevant la délégation délégué. Le serveur d'interaction joue le rôle d'un recruteur en premier lieu pour le délégateur, dans le cas où l'agent Proxy satisfaisant le rôle de la délégation requise n'existe pas dans la plate forme, le serveur De manière générale, la délégation est une catégorie d’actions utile lorsqu’un agent n’est pas en -3- SETIT2007 ne peuvent offrir plus de 12, le delta d'enchère utilisé par les agents est fixe et est égale à 1. L'enchère va se dérouler en quatre itérations (on n'a représenté que deux pour plus de clarté), après quoi le Proxy propose au vendeur l'offre gagnante. Puis ce dernier l'accepte, cette acceptation est confirmée par le Proxy, qui va ensuite finaliser la transaction avec le vainqueur de l'enchère. Seuls le vendeur, le Proxy représentant le vendeur, et deux acheteurs, sont représentés. En réalité, lors de certaines applications le nombre des participants s'élève à plusieurs dizaines, mais le principe ne change pas. d'interaction va générer un nouvel agent Proxy réalisant ce protocole pouvant exécuter l'interaction du délégateur. Lors d'une délégation, le premier message relevant de l'interaction est intégré (imbriqué) dans la requête de délégation. Ce message permet de transmettre au délégué les paramètres sur l'interaction, notamment les identités des différents participants. Dans l'approche que nous proposons à base d'interaction, nous remarquons qu'il est désormais possible d'ajouter au cours d'une exécution, une interaction entre agent. Pour cela, l'agent délégateur sollicite le serveur d'interaction afin de générer l'agent Proxy capable d'exécuter le protocole d'interaction ou de déléguer cet agent Proxy directement s'il existe dans le système. Il est également possible d'ajouter de nouveaux protocoles d'interactions dynamiquement en enregistrant ces protocoles auprès du serveur d'interaction. Par ailleurs, les agents acheteurs pourront, à leurs tours, déléguer leurs interactions aux proxy permettant de participer à l'enchère. De même, comme chaque agent délégateur interagit d'abord avec le serveur d'interaction pour déléguer son interaction à un proxy qui sera chargé de celle-ci, pour plus de clarté dans la figure, les échanges entre le délégateur et le serveur d'interactions ne sont pas représentés. La possibilité d'ajouter un protocole en cours d'exécution rend possible l'ajout dynamique d'agents non prévu dans le SMA. En effet, pour intégrer un nouvel agent dans le SMA, il suffit que cet agent s'enregistre auprès du facilitateur de répertoires. Par la suite, il lui sera possible d'interagir avec les autres agents du SMA et peut lui-même utiliser les services du serveur d'interaction. Vendeur Proxy Ach 1 Ach 2 Propose (P,10) Inform (start) Inform (start) 3. Exemple d'application Cfp (P,10) Cfp (P,10) Dans le but de valider l'approche expérimentalement, de fournir un exemple concret d'application et d'expliquer le déroulement des interactions, nous considérons l'exemple d'enchères électroniques dans un environnement ouvert dont le scénario est donné comme suit: le commissairepriseur (Vendeur) établit le prix minimal initial pour un item à vendre, chaque participant fait une offre et tous les participants sont libres d’augmenter leur offre jusqu’au moment où personne ne veut plus surenchérir. La vente aux enchères est finie et le participant ayant soumis la meilleure offre, achète l’item pour le prix correspondant à son offre. Une stratégie très simple pour le comportement des participants dans une vente aux enchères est de faire des offres d’une valeur légèrement supérieure à l’offre courante (l’intérêt est toujours d’acheter l’item au prix le plus bas) et s’arrêter quand la valeur limite est atteinte. Propose (11) Propose (11) Reject-proposal Accept-proposal [Itérations…] Accept-proposal Cfp (P,12) Propose(13) Accept-proposal Inform (end) Inform (end) Un système multi-agents pour les enchères peut être imaginé, avec un agent commissaire-priseur et plusieurs agents participants (acheteurs). Les agents acheteurs achètent un seul objet à la fois (ça n’empêche pas l’agent Vendeur d’avoir une liste d’objets à vendre et chaque agent acheteur sa liste d’objets qui peuvent l’intéresser). Request Inform (done) Inform(done, Acheteur1,P,13) La figure suivante (Figure 04.) montre une trace pour une enchère, dans laquelle le vendeur émet une offre à un prix initial de 10, et l'acheteur 1 est prêt à payer 18, tandis que l'acheteur 2, ainsi que les autres, Figure 04. Exemple de Déroulement d'enchère -4- SETIT2007 La mise en œuvre de cette application nous a permis de tester et de remarquer le potentiel du Mécanisme d'Interaction basé sur la délégation. Nous remarquons, dans cette application, que l'agent Vendeur n'implémente pas le protocole d'interaction utilisé dans l'enchère, et il lui est possible d'interagir à travers le Proxy. [LEJ 98] LEJOUAD CHAARI W., MOURIA BEJI F., " High level communication protocol in a distibuted multi agents system", 11th International Conference on Industrial and engineering applications of Artificial Intelligence and Expert Systems, Spain, 1998. [MOU 96] MOULIN B., CHAIB DRAA B., "An overview of distributed Artificial Intelligence ", Foundation of DAI, Wiley Intersciences Publication, 1996. Dans le but de comparer ce mécanisme avec d'autres modèles tel que le modèle d'interaction statique et le MID [RIB 01], nous envisageons de mettre en œuvre des applications multi-agents de simulations dans divers domaines. [RIB 98] RIBEIRO A., DEMAZEAU Y., "A dynamic Interaction Model for Multi agent Systems", Proceeding of the II Iberoamerican Workshop on DAI and MAS, 1998. 4. Conclusion [RIB 99] RIBEIRO A., DEMAZEAU Y., "Passive and active interaction mechanisms", 24th International conference, 1999. La répartition de l'interaction permet le développement des interactions indépendamment des agents, ce qui rend possible, d'une part, l'évaluation des interactions sans avoir besoin de modifier les agents, on peut alors augmenter les possibilités d'interaction d'un système sans pour autant augmenter la complexité des agents eux-mêmes. Et d'autre part, les agents, en déléguant leurs interactions à l'agent Proxy, se libèrent pour se concentrer sur leurs tâches à réaliser. Cette répartition par la modularisation qu'elle induit, aide aussi à la gestion de la complexité du système. [RIB 01] RIBEIRO A., "Un modèle d'interaction dynamique pour les systèmes multi agents", thèse de doctorat, Université Joseph Fourier, 2001. [RIC 99] RICORDEL P.M.," Plates formes multi agents ", Présentation MAGMA, 1999. [WEI 99] WEISS G., "Multi agent systems, A modern Approach to distributed Artificial Intelligence", MIT Press, 1999 Pour évaluer l'approche proposée, nous montrons qu'elle contribue à la résolution d'un certains nombre de problèmes ouverts, comme l'interaction entre agents hétérogènes. Plus la façon dont les agents interagissent est différente et plus le modèle d'interaction se révèle intéressant pour les faire interagir. L'ajout et la suppression d'interaction, pendant l'exécution du système, est aussi un avantage qu'offre cette approche. Les proxy étant purement des agents, nous bénéficions des avantages des SMA tels que l'indépendance d'implémentation et de la localisation de ces agents. Comme extension de cette approche, nous proposons l'utilisation du code mobile pour l'implémentation des proxy, car il nous semble que les proxy peuvent, dans certains cas, avoir une meilleure performance s’ils se trouvent proches des agents avec lesquels ils doivent interagir. BIBLIOGRAPHIE [BOU 98 ] BOUZOUBA K., MOULIN B., "KQML+: Pour que les agents s'échangent des actes de discours de la conversation humaine", rapport de recherche, université Laval, 1998. [JOU 03] JOUVIN D., HASSAS S., " Architectures dynamiques de systèmes multi agents conversationnels", Journées francophones des SMA, 2003. [KHA 04] KHALFAOUI S., LEJOUAD CHAARI W., "Interaction entre composants pour environnement multi agents", Journées sur les composants, 2004. -5-
Documents pareils
Interactions entre Composants pour des Systèmes Multi
rajouter de nouveaux agents à la simulation pour la rendre
plus complexe et observer le comportement qui en résulte.
Cette opération est prise en charge par les plates-formes
agent actuelles, à co...