Diffusion d informations dans un réseau pair à pair par des fourmis artificielles



Documents pareils
Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Modélisation multi-agents - Agents réactifs

Jean-Philippe Préaux

Intelligence des essaims (Swarm Intelligence)

BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS

Implantation des protocoles de communication FIPA dans la plate-forme GAMA

Atelier Le gestionnaire de fichier

Définition et diffusion de signatures sémantiques dans les systèmes pair-à-pair

Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle


Une méthode d apprentissage pour la composition de services web

Ebauche Rapport finale

Mise en place d un service de voix sur IP

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

INF6304 Interfaces Intelligentes

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

Network musical jammin

Trois méthodes pour la construction de pages WEB personnalisées

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

Etude d un cas industriel : Optimisation de la modélisation de paramètre de production

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet.

Présentation Internet

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

CURRICULUM VITAE. Informations Personnelles

Cours n 12. Technologies WAN 2nd partie

Cloud Computing et SaaS

Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image

ETAP Safety Manager Systèmes centraux de contrôle et de gestion

Stratégies gagnantes pour la fabrication industrielle : le cloud computing vu par les dirigeants Dossier à l attention des dirigeants

Intégration de la dimension sémantique dans les réseaux sociaux

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Laboratoire 4 Développement d un système intelligent

Vers une Optimisation de l Algorithme AntTreeStoch

Traitement et exploration du fichier Log du Serveur Web, pour l extraction des connaissances: Web Usage Mining

DES FOURMIS POUR LIVRER DU MAZOUT

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

18 TCP Les protocoles de domaines d applications

CAPTURE DES PROFESSIONNELS

Sommaire. Introduction. I. Notions de routage a) Technologies actuelles b) Avantages et désavantages

Évaluation d une architecture de stockage RDF distribuée

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Recherche et Diffusion de l Information dans les Réseaux. Philippe Robert. Le 8 avril 2014

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

La tête dans les nuages

Alcatel OmniPCX Office

Complexité et auto-organisation chez les insectes sociaux. Complexité et auto-organisation chez les insectes sociaux

Laboratoire d Automatique et Productique Université de Batna, Algérie

NOTE SUR LA MODELISATION DU RISQUE D INFLATION

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

L apprentissage automatique

Comportements Individuels Adaptatifs dans un Environnement Dynamique pour l'exploitation Collective de Ressource

Cours CCNA 1. Exercices

Systèmes Multi-Agents : Modélisation et simulation informatique de comportements collectifs. Chapitre III

Revue d article : Dynamic Replica Placement for Scalable Content Delivery

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP

Convergence Grand public professionnelle

Bluetooth pour Windows

Surveillance de réseau : un élément indispensable de la sécurité informatique

MABioVis. Bio-informatique et la

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Analyse des logiciels d application spécialisée pour le courtage en épargne collective

Pair-à-Pair: Architectures et Services

Assistance à distance sous Windows

Connexion à distance. Pour configurer les automates Beckhoff via un PC de programmation VERSION : 1.0 / PH

laissez le service en démarrage automatique. Carte de performance WMI Manuel Désactivé Vous pouvez désactiver ce service.

Réplication adaptative sur les réseaux P2P

Surveiller les applications et les services grâce à la surveillance réseau

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

EXPERIMENTATIONS DE METHODES PARALLELES DE RECHERCHE D INFORMATION SUR INTERNET

Formula Negator, Outil de négation de formule.

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr

NOTIONS DE RESEAUX INFORMATIQUES

Guide d administration de Microsoft Exchange ActiveSync

Conception d une infrastructure «Cloud» pertinente

Cisco Certified Network Associate

Curriculum Vitae - Emmanuel Hebrard. Emmanuel Hebrard

Guide d utilisation. Version 1.1

RAPPORT DE STAGE DE MASTER INFORMATIQUE DE L UNIVERSITE PIERRE ET MARIE CURIE Sécurité des infrastructures critiques.

Manuel de System Monitor

Stratégies gagnantes pour les prestataires de services : le cloud computing vu par les dirigeants Dossier à l attention des dirigeants

Etude des outils du Cloud Computing

opti-vm Serveur Vocal et Standard Automatique Siemens HiPath 11xx et Hipath 12xx Installation et Guide Utilisateur Version 1.0

L3 informatique Réseaux : Configuration d une interface réseau

NON-LINEARITE ET RESEAUX NEURONAUX

Modélisation multi-agent d allocation des ressources : application à la maintenance

GNS 3 Travaux pratiques

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Constat. Nicole DAUSQUE, CNRS/UREC

Tarification comparative pour l'industrie des assurances

Objet du document. Version document : 1.00

Mécanisme de prédiction pour une plateforme de filtrage collaboratif*

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

TAGREROUT Seyf Allah TMRIM

Présentation Alfresco

Quelques propositions pour une organisation des ressources réseaux prenant en compte les besoins du LACL

Application de K-means à la définition du nombre de VM optimal dans un cloud

Espace Numérique Régional de Santé Formation sur la messagerie sécurisée. Version Auteur : Nathalie MEDA

Transcription:

Diffusion d informations dans un réseau pair à pair par des fourmis artificielles Christophe Guéret, Sonia Colas, Nicolas Monmarché, Mohamed Slimane Laboratoire d Informatique de l Université de Tours (EA2101) Département Informatique de l Ecole Polytechnique de l Université de Tours 64, Avenue Jean Portalis, 37200 Tours FRANCE christophe.gueret@etu.univ-tours.fr, sonia.colas@wanadoo.fr, monmarche@univ-tours.fr, slimane@univ-tours.fr Résumé : Dans cet article, nous présentons une nouvelle méthode de partage d information au sein d un réseau pair à pair (P2P). Notre architecture est basée sur un Système Multi-Agents (SMA) qui reproduit les comportements de déplacement des fourmis entre différents nids. Nous présentons ici les concepts et les éléments constitutifs de cette architecture ainsi qu un exemple de scénario pour en illustrer le fonctionnement. Mots-clés : Systèmes Multi-Agents, Fourmis artificielles, P2P, Internet. 1 INTRODUCTION De plus en plus d informations deviennent disponibles sur Internet et le nombre de personnes qui y ont accès est lui aussi en constante augmentation. Paradoxalement, ceci n implique pas forcément qu un plus grand nombre de données sont trouvées par des personnes effectuant une recherche ciblée sur le réseau. Dès 1995, plusieurs projets de recherche ont été menés dans le but de changer le status de l ordinateur en le faisant passer du rôle de terminal de saisie à celui d assistant intelligent capable d aider l utilisateur à effectuer des recherches sur le réseau. De ces travaux sont ressortis des navigateurs internet capables de recommander des sites aux utilisateurs [Veletsianos, 2002, Lieberman, 1995], d autres capables d aider l internaute à construire une carte de navigation des sites explorés [Joachims, 1997] ou encore des navigateurs autorisant la prise de note sur les pages comme il est courant de le faire avec les médias au format papier [Schickler, 1996]. Cet article présente notre contribution dans le domaine des navigateurs intelligents par une nouvelle façon de distribuer de l information au sein d un réseau. Nous nous basons pour cela sur des outils issus de la recherche sur les systèmes multi-agents, tels que les fourmis artificielles, ainsi que des concepts de réseau Pair à Pair (P2P) et de réseau social. Définir l intelligence d un navigateur Internet est un problème délicat. Plusieurs paramètres peuvent être pris en compte comme la créativité d un agent [Brazier, 2002] où la capacité des programmes informatiques à pouvoir apprendre à apprendre en s adaptant à leur environnement [Schmidhuber, 1994, Busetta, 2001]. Nous considérerons ici qu un navigateur Internet est intelligent s il est capable de conseiller et guider l utilisateur comme l aurait fait un autre utilisateur du réseau. Dans ce but, notre architecture met en relation les navigateurs Internet d un ensemble d utilisateurs afin que ceux-ci échangent le fruit de leur recherches. La définition par chaque utilisateur d un ensemble de mot clef permet au système d optimiser les connexions entre personnes partageant les mêmes centres d intêrét. Dans un premier temps seront présentés les différents éléments constitutifs de notre architecture puis un exemple pratique d utilisation sera décrit. 1.1 Fourmis artificielles et SMA Un SMA est un système mettant en oeuvre des programmes informatiques capables d avoir un comportement propre (les agents) au sein d un environnement global commun [Ferber, 1995]. Selon les différents SMA existants, les agents peuvent être mobiles [Picco, 2001], réactifs [Bauer, 2001], cognitifs [Bonabeau, 1999] ou capables de se reprogrammer eux même [Bravizer, 2002]. De nombreux travaux s inspirent des fourmis pour résoudre un nombre grandissant de problèmes d optimisation combinatoire [Monmarche, 2000]. Dans notre cas, il ne s agit pas directement d optimiser mais de modéliser les déplacements d agents-fourmis et ce travail s incrit donc plus nettement dans la problématique que l on rencontre dans les SMA. L idée principale est de créer des agents capables de reproduire des propriétés observées dans le comportement des fourmis réelles. Généralement, deux caractéristiques se révèlent plus particulièrement intéressantes et vont être utiles dans le cadre de notre système : les fourmis sont capables de créer des groupements ou des actions de groupe sans nécessiter d unité de coordination ; pour marquer leur chemin quand elles quittent le nid ou pour identifier les membres d autres colonnies, les fourmis utilisent des substances chimiques appelées

phéromones. Du point de vue d un système multi-agent, le premier point signifie que les agents sont capables de prendre des décisions uniquement à partir d informations locales. Le second point est utile afin de suivre l évolution du système, ce qui est particulèrement intéressant dans le cadre d un système P2P destiné à constamment changer de topologie au grès des connexions et déconnexions des utilisateurs. 1.2 Réseaux P2P Les réseaux P2P sont également un domaine de recherche récent et en pleine expansion comme en témoignent les récentes publications sur le sujet [Loo, 2003, Bagci, 2003, Druschel, 2002]. Afin de comprendre l intérêt d une architecture P2P, il convient de comparer celle-ci à l architecture client/serveur. Dans cette dernière, un réseau est composé de deux groupes d utilisateurs : les premiers (les serveurs) disposent d informations qu ils communiquent aux seconds (les clients) selon leur demandes (cf figure 1). FIG. 1 Mode Client/Serveur A l opposé, dans un réseau P2P tous les membres du réseau peuvent à la fois prendre le rôle de serveur et de client pour tous les services qu ils sont capables de gérer (voir figure 2). Etant donné que toutes les machines sont alors similaires du point de vue des fonctionnalités, elles sont appellées pairs (ou peer). Cette simple différence autorise des transfers de données depuis et vers n importe quel pair dans le réseau. FIG. 2 Mode P2P 1.3 Réseaux sociaux La mise en place d un réseau entre machines requiert la mise en œuvre de matériel de connectique (routeurs, commutateurs,...). La topologie qui en resulte est issue des contraintes telles que le nombre d appareils ou leur emplacement dans le bâtiment où le réseau est installé. Les communications entre les machines sont alors imposées par cette organisation matérielle et ne correspondent pas toujours aux réélles interactions entre les utilisateurs du réseau. Un réseau social a pour but la mise en place d une topologie traduisnt les relations existantes entre chaque utilisateur du réseau. Le principal but est de garder en contact uniquement les utilisateurs qui sont le plus suscéptibles d avoir des informations à s échanger et de s affranchir des contraintes imposée par les réseaux classiques. Utiliser un réseau social permet donc d améliorer les communications entre les différents acteurs. Cependant, les connexions entre machines restent dictées par les contraintes matérielles et il est rare de pouvoir connecter des ordinateurs directement en suivant la topologie du réseau social. Ainsi est mis en place un système à deux niveaux. Le premier niveau (physique) caractérise le réseau tel qu il est cablé entre les différentes machines alors que le second niveau (logique) fournit une représentation différente du réseau. Le second niveau faisant abstraction au premier, les applications peuvent échanger des informations en utilisant la topologie du réseau social. Un exemple de réseau social peut être trouvé dans les travaux de Eagle et al. [Eagle, 2003]. 2 ARCHITECTURE DE PARTAGE D INFORMA- TIONS Le système que nous proposons est un SMA composé lui même d autres SMA : le réseau est constitué d un ensembles de pair, ce qui constitue un premier niveau de SMA, et chaque pair est lui même un SMA conçu de façon à reproduire le comportement d une fourmilière. 2.1 Description globale du réseau La première apparence du réseau est celui d un SMA mettant en relation chaque pair. A ce niveau n analyse sont considérés un ensemble de nids connectés entre eux par des routes et des fourmis circulant sur ces dernières. Chaque élément peut être confronté à son homologue biologique qu il modélise : Les nids Chaque nid présent sur le réseau correspond à un des pairs. Un nid contient essentiellement des fourmis et un grenier pour entreposer la nourriture nécessaire à la survie de la fourmilière. Dans l architecture de partage d informations proposée ici, cela se traduit par le fait que chaque pair dispose d une zone de stockage pour les informations circulant sur le réseau. Ils disposent également d un ensemble de fourmis artificielles permettant de faire circuler ces informations (voir figure 3). La nourriture Les fourmis ont besoin de trouver de la nourriture qu elle partent chercher à l extérieur de la fourmilière. Dans le réseau, la nourriture correspond à des paquets de données à faire circuler entre les pairs. A la différence des fourmis qui sortent du nid pour aller chercher de la nourriture et la ramener, les fourmis artificielles que nous utilisons déplacent de la nourriture produite localement vers les nids voisins. Les paquets de nourriture contiennent des éléments permettant de caractériser le type de donnée représenté,

FIG. 3 Réseau constitué de 3 nids les données à faire circuler ainsi qu un ensemble de mot clef (voir tableau 1). Element type contenu mots clefs Utilisation Nature du contenu : page web, document,... Description du contenu Liste de mots clef associés au contenu TAB. 1 Contenu d un paquet de nourriture Les routes et chemins Au cours de leurs passages sur les différentes routes, les fourmis laissent des phéromones qui s évaporent ensuite avec le temps. Nous considérons que chaque route qui existe entre deux nids est constituée de deux chemins à sens unique. Quand une des fourmis artificielles emprunte un chemin, celle ci dépose des phéromones correspondants la liste des mots clef associée au paquet de nourriture qu elle transporte (voir figure 4). FIG. 4 Chemins entre deux peers 2.2 Vue détaillée des pairs Un peer est constitué de plusieurs éléments, la figure 5 présente leur agencement ainsi que les flux de données qui existent entre eux. Ces éléments sont regroupés en trois classes : les interfaces de bas niveau chargées de l interaction FIG. 5 Architecture globale d un pair entre l environnement et le système d exploitation sur lequel il est exécuté ; les gestionnaires de ressources gérant tous les aspects de l environnement dans lequel évoluent les agents ; et, pour finir, les agents eux mêmes. Dans la classe de bas niveau se trouvent trois éléments essentiels : le noyau qui gère le bon fonctionnement de l ensemble du programme et les communications internes, les connexions qui permettent d échanger des données entre machines et les disques dur qui sont utilisés comme emplacement de stockage pour la nourriture. Vient ensuite la classe des gestionnaires de ressources composée quant à elle de quatres éléments. Les deux premiers, le gestionnaire de réseau (GR) et le gestionnaire de connexions (GC), ont respectivement la charge de maintenir le réseau physique entre les machines et le réseau social entre les agents. Le GR utilise les connexions de bas niveau pour relier les différents pairs entre eux, le GC quant à lui établit les relations qu il existe entre les différents pairs. On peux remarquer que seul le GR a accès aux éléments constitutifs du réseau physique et que les agents n ont quand à eux accès qu au réseau social via le GC. Le gestionnaire d agents (GA) réagit aux demandes des autres éléments du système pour créer, détruire, arrêter ou démarrer des agents. C est lui qui est chargé d executer le code des divers agents existants sur le pair et protège également le système contre du code qui pourrait être malicieu (virus,...). Le gestionnaire de nourriture (GN) quant à lui stocke les paquets de nourriture dont dispose le pair. Pour ce faire, il utilise un certain nombre de disques dont il est le seul à avoir l accès. La dernière classe d éléments du système est celle des agents. Elle englobe tous les agents présents sur un pair. Chaque agent possède un type prédéfini dependant de la

nature de son programme mais il possède ses propres paramètres d éxécution et ses propres données. Les agents sont ainsi regroupés en familles d agents tout en gardant une personnalité propre. Le nombre d agents n est pas fixé par le système : chaque élément (y compris les agents eux même) peut demander au GA de créer un nouvel agents selon ses besoins. L ensemble du système est codé en langage PERL. L utilisation d un langage interpreté dans un SMA nous permet de faciliter le portage de l architecture sur différents systèmes d exploitation ainsi que de créer des nouvelles parties de code à la volée, c est à dire sans arrêter l exécution du pair. Ainsi il est possible de créer dynamiquement de nouveaux type d agents si ceux déja présents sur le système ne suffisent pas à des besoins donnés. 2.3 Gestion des informations Nous allons ici plus spécifiquement nous intéresser à la circulation des informations dans le réseau au travers de leur génération, leur stockage et leur transfert 2.3.1 Génération et Utilisation Comme décrit dans le schéma global, chaque peer contient un ensemble d agents intelligents. Ces agents sont tous susceptibles soit de produire un certain nombre d informations soit d en utiliser d autres mais il n est pas nécessaire qu un agent doivent pouvoir à la fois produire un certain type d information et le consommer également. Quand un agent décide de produire un nouveau paquet, celui ci est envoyé au GN qui va se charger de le stocker sur un des disques dont dispose le pair. 2.3.2 Transfert Le transfert des données se fait via les connexions qu il existe entre les différentes machines sur lesquelles sont executés le programme gérant le réseau. Les mots clef laissés sur les chemins servent de mémoir globale au système. Au moment de partir de la fourmilière pour ammener un paquet d information à l extérieur, une fourmis va comparer la liste des mots clefs dudit paquet avec celle de chaque chemin ouvert (connecté à un autre peer), le chemin utilisé sera celui offrant le plus de similarité. Cette similarité est calculée selon une mesure de cosinus entre les deux vecteurs de mots clefs. Afin de modéliser des phéromones se déposant sur les chemins, les mots sont stockés sous forme de vecteur de 3 éléments : le mot lui même, sa dernière date de passage sur le chemin et une valeur indiquant sa densité sur le chemin à un instant t (voir tableau 2). Mot Musique MP3 Voyages... Densité 10 5 20... Temps 300 20 400... TAB. 2 Exemple de vecteur de mot Chaque passage d une information sur un chemin accroît la densité des mots clef sur ce chemin. Cette densitée diminue ensuite au cours du temps. Une fois cette celle ci arrivée à 0, les phéronomes qui étaient associées au mot associées au mot sont évaporées et donc celui ci peut être retiré du chemin. Tout comme d autres éléments sensibles à l évaporation ou à l érosion, la vitesse de dispersion des phéromones dépend de leur densité : une grande quantité de ces produits profitera d un effet de masse qui les fera se disperser plus lentement qu une petite quantitée. Nous avons donc choisi de calculer la valeur de α selon une loi gaussienne. Un premier coèfficient α est utilisé pour quantifier l ajout de nouvelles phéromones sur le chemin. Parallèlement à celui-ci, un second coèfficient β est quant à lui utilisé afin de calculer la quantité de phéromones à faire évaporer (cf algorithme EvaporePher). La valeur de β suit les mêmes principes d évolution de α mais fournit une courbe de valeurs inverse. ( ) t 2 α = e β = 1 e ( t ) 2 (1) (2) Les deux variables servent à modéliser l évolution des quantités de phéromones : t correspond à l écart de temps entre deux apparitions du mot est un paramètre permettant d ajuster l importance de la valeur de α en fonction du temps. Plus sera grand, plus α sera grand même pour des valeurs de t élevées. Pour faire évoluer les quantités de phéromones au cours du temps, deux algorithmes EvaporePher et UpdatePher assurent respectivement l évaporation et le dépôt des phéromones présentes sur les chemins. l algorithme EvaporePher est executé périodiquement par le GN à une fréquence paramétrable. Son but est de simuler l évaporation de l ensemble des phéromones présentes sur un chemin donné ; Données : L ensemble des mots sur le chemin (mots); /* t contient la valeur du temps actuel */; t time; pour tout mot mot ( dans mots faire ) t mot.temps 2 β 1 e ; si quantite β 0 alors /* Les phéronomes sont totalement évaporées */; mots mots mot; sinon mot.quantite mot.quantite β; Algorithme 1: EvaporePher

l algorithme UpdatePher est appelé à chaque fois qu une liste de mots clef est reçue via un chemin donné. Il est utilisé afin de prendre en compte l ajout de nouvelles phéromones pour chaque mot rencontré dans la liste. Données : Le mot rencontré (mot) et l ensemble des mots sur le chemin (mots); /* t contient la valeur du temps actuel */; t time; si mots ne contient pas mot alors mots mots + mot; mots.temps t 1; mots.quantite 0; ( ) t mot.temps 2 α e ; mots.quantite mots.quantite + α; mots.temps t; les signets et l interprete comme le signal de la présence d une page qui pourrait intéresser d autres utilisateurs du réseau. Effectivement, nous considérerons que cette page se révélera intéressante pour C et uniquement ce dernier. Le but du système sera donc de faire parvenir l information de A vers C. La première action du pair A est de générer un packet de nourriture indiquant l existance de l URL qu il vient de trouver grâce aux recherches de son utilisateur. Pour cela il remplit les champs d un packet générique : Type GOOD URL Contenu http ://www.goodurl.com Mots-clef Musique, Vélos Une fois le paquet produit, il est stocké dans la reserve de nourriture de A (figure 7, étape 1) d où une fourmis peut ensuite le prendre (figure 7, étape 2) et décider de l emmener vers une autre fourmilière. Algorithme 2: UpdatePher 3 EXEMPLE D APPLICATION Une des applications possible de cette architecture est la collaboration entre utilisateurs effectuant des recherches sur Internet. Le problème rencontré dans ce cas est là difficulté qu éprouve un groupe de personnes à s échanger des conseils de recherche ou des adresses de site Internet interessants. L architecture presentée ici peut alors être utilisée afin de constituer une mémoire globale au groupe d utilisateur et contenant les informations trouvées par chacun. Les utilisateurs bénéficient alors d une nouvelle source de données pour faciliter leur recherches. Un navigateur Internet intelligent va se charger d aller y chercher des informations mais également d y placer le résultat des recherches de l utilisateur. Prenons l exemple d un réseau constitué de 4 pairs : A, B, C et D connectés de telle façon que C puisse ne pas connaitre l existence de A (voir figure 6). Sur chaque pair travaille un utilisateur effectuant des recherches sur Internet. FIG. 7 Une fourmis prends un packet La fourmis doit alors décider vers quelle fourmilière emporter le paquet. Pour se faire, elle compare les mots clef du paquets avec ceux de chacun des chemins à sa disposition. Cette série de comparaisons donne lieu à un classement probabiliste des divers chemins, le plus probable étant celui offrant le plus de similarités entre ses mots clef et ceux du paquet de nourriture. Une fois ce classement effectué, un tirage aléatoire permet à la fourmis de choisir quel chemin prendre. En partance de A, la fourmis peut aller vers B ou D. Supposant que B est choisi après le tirage aléatoire, la fourmis emporte le paquet vers ce dernier (figure 9, étape 1) et retourne ensuite chez elle (figure 9, étape 2). FIG. 8 Déplacement d un paquet entre deux nids FIG. 6 Exemple de réseau avec 4 pairs Supposons maintenant que l utilisateur du pair A ait trouvé sur Internet une page qui lui convient, il la place alors dans ses signets afin de pouvoir y revenir facilement. Le pair A intercepte alors cet enregistrement dans Une fois que B reçoit le paquet, son gestionnaire de connexions commence par mettre à jour la liste des mots clef du chemin par lequel la fourmis vient d arriver. Puis, c est au tour des différents agents présents sur B d analyser le paquet : selon les hypothèses de l exemple, aucun agent ne trouve ce paquet interessant. Une fourmis de B peut ensuite prendre le paquet et le déplacer selon

un comportement similaire à celui observé plus tôt sur A, ce qui la conduit à ammener le paquet vers C (figure 9). FIG. 9 Second déplacement Le pair C reçoit le paquet émit au départ par A et, comme l a fait le pair B, celui ci commence par mettre à jour sa liste de mots clef. Les divers agents analysent ensuitent un à un le paquet : l un d eux, un agent chargé de repérer les URL intéressantes, trouve que ce paquet contient une URL correspondant au critères de sélection que l utilisateur du système à fixé : sa réaction est donc d ouvrir une boite de dialogue pour avertir la personne qu un nouveau site Internet susceptible de l interesser vient d être découvert. Finalement C a profité des découvertes de A sans qu il n ait eu besoin de faire de recherche explicite sur le réseau et sans que A n ait eu à lui envoyer l information directement. De plus D était susceptible de recevoir également l information car la selection d un chemin est dictée par un choix probabiliste. Ce type de situation illustre l interêt d utiliser des agents fourmis pour la diffusion d informations à l intérieur d un réseau social P2P. 4 CONCLUSION Dans cet article, nous avons présenté une architecture permettant à un groupe d utilisateurs de partager des informations. L utilisation d une analogie avec les fourmis nous permet d y modéliser une durée de vie des informations, ce qui évite les problèmes tels que la réception d une information qui n a plus lieu d être mais qui tourne en boucle dans le réseau depuis longtemps. L autre avantage de cette architecture est l association des mots clef aux chemins qui permet de mettre en place un routage dynamique des paquets basés sur les thèmes entendus sur le réseau. Ainsi, un utilisateur changeant souvent de centre d intérêt peut actualiser ses connections directement en fonction de son travail en cours pour optimiser les résultats de ses recherches. Des tests sont actuellement en cours avec un simulateur pour vérifier que le système reste fiable et performant dans le cadre d un réseau soumis à diverses perturbations telles que l arrêt innopiné d un ou un nombre trés élevé de participants. Les étapes suivantes du projet s orientent autour de la conception de divers agents capables de tirer partie de cette architecture. En plus des agents assurant l échange d adresse Internet présentés en exemple, des agents capables d échanger des prises de notes sur les pages, d assurer des services de publication de documents ou de créer des communautées d utilisateurs sont également envisagés. BIBLIOGRAPHIE [Ackerman, 1997] M. Ackerman, B. Starr, and M. Pazzani. The do-i-care agent : Effectivesocial discovery and filtering on the web, 1997. [Bagci, 2003] Faruk Bagci, Jan Petzold, Wolfgang Trumler and Theo Ungerer. Ubiquitous Mobile Agent System in a P2P-Network, Fifth Annual Conference on Ubiquitous Computing, 2003. [Bauer, 2001] Travis Bauer and David Leake. A research agent architecture for real timedata collection and analysis. In Proceedings of the Workshop on Infrastructure for Agents, MAS, and Scalable MAS, 2001. [Bonabeau, 1999] E. Bonabeau, M. Dorigo and G. Theraulaz. Swarm Intelligence : From Natural to Artificial Systems, Oxford University Press, 1999 [Brazier, 2002] Frances M.T. Brazier and Niek J.E. Wijngaards. Designing creativity. 2002. [Busetta, 2001] Paolo Busetta, Luciano Serafini, Dhirendra Singh, and Floriano Zini. Extending multi-agent cooperation by overhearing. Lecture Notes in Computer Science, 2172 :40+, 2001. [Bravizer, 2002] France MT. Brazier and Niek J.E. Wijngaards. Automated (re-)design of software agents. In Proceedings of the Artificial Intelligence in Design Conference, 2002. [Chen, 1998] James R. Chen, Nathalie Mathe, and Shawn Wolfe. Collaborative information agents on the world wide web. In ACM DL, pages 279-280, 1998. [Druschel, 2002] Peter Druschel, Frans Kaasshoek and Antony Rowstron Editors. Peer-to-peer systems. First international workshop IPTPS, USA (2002). [Eagle, 2003] Nathan Eagle and Alex (Sandy) Pentland. Social network computing. In Ubicomp 2003, pages 289-296, 2003. [Ferber, 1995] J. Ferber. Les Systèmes multi-agents, vers une intelligence collective, InterEdition, 1995 [Joachims, 1997] Thorsten Joachims, Dayne Freitag, and Tom M. Mitchell. Web watcher : Atour guide for the world wide web. In IJCAI (1), pages 770-777, 1997. [Loo, 2003] Alfred W Loo. The future of peer-to-peer computing. Communications ofthe ACM, 46(9), 2003. [Lieberman, 1995] Henry Lieberman. Letizia : An agent that assists web browsing. In Chris S.Mellish, editor, Proceedings of the Fourteenth International Joint Conference on Artificial Intelligence (IJCAI-95), pages 924-929, Montreal, Que-bec, Canada, 1995. Morgan Kaufmann publishers Inc. : San Mateo, CA, USA. [Lieberman, 1999] Henry Lieberman, Neil W. Van Dyke, and Adrian S. Vivacqua. Let sbrowse : a collaborative Web browsing agent. In Proceedings of the 1999 International Conference on Intelligent User Interfaces (IUI 99), pages 65-68, Los Angeles, CA, USA, 1999. ACM Press. [Magedanz, 1996] T. Magedanz, K. Rothermel, and S. Krause. Intelligent agents : An emerging technology

for next generation telecommunications? In INFO- COM 96, San Francisco, CA, USA, 24-28 1996. [Monmarche, 2000] N. Monmarché. Algorithmes de fourmis artificielles : applications à la classifiction et l optimisation. Thèse de doctorat, Université François Rabelais de Tours, Décembre 2000. [Moukas, 1996] Alexandros Moukas, Amalthaea : Information Discovery and Filtering using a Multiagent Evolving Ecosystem, Proceedings of the Conference on Practical Applications of Agents and Multiagent Technology, 1996 [Payton, 1998] David W. Payton. Discovering collaborators by analyzing trails through an information space. pages 84-87, October 1998 [Parkes, 1998] D. Parkes. Multiagent cooperative search for portfolio selection. 1998 [Picco, 2001] Gian Pietro Picco. Mobile agents : an introduction. Microprocessors and Microsystems, 25(2) :65-74, 2001. [Schmidhuber, 1994] J. Schmidhuber. On learning how to learn learning strategies. TechnicalReport FKI-198-94, Technische Universitt Mnchen, 1994. [Veletsianos, 2002] George Veletsianos. Recommender systems and personalization techniques.technical report, CS 50 : Internet Programming, October 2002. [Schickler, 1996] Matthew A. Schickler, Murray S. Mazer, and Charles Brooks. Pan-Browser support for Annotations and Other Meta-Information on the World Wide Web. Fifth international world wide web conference. 1996. [Wolber, 2002] David Wolber, John Witchel, Michael Kepe, and Igor Ranitovic. The personal web. 2002.