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

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

Plus en détail