Mécanisme de rétribution pour les syst`emes P2P d`échange de
Transcription
Mécanisme de rétribution pour les syst`emes P2P d`échange de
Mécanisme de rétribution pour les systèmes P2P d’échange de fichiers Comment résoudre le problème du cavalier seul Maxime Morge* — Philippe Mathieu** * Dipartimento di Informatica - Università di Pisa via F. Buonarroti, 2 I-56127 Pisa [email protected] ∗∗ Équipe SMAC Laboratoire d’Informatique Fondamentale de Lille Bat M3 - F-59655 Villeneuve d’Ascq cedex [email protected] RÉSUMÉ. Les systèmes pair-à-pair d’échange de fichiers consituent un domaine d’application privilégié pour les systèmes multi-agents. Ces systèmes font émerger de nouvelles problématiques en termes de coopération. Notre objectif consiste à adapter le modèle théorique d’allocation de ressources à ce contexte applicatif pour proposer un mécanisme incitant les agents à coopérer. Le mécanisme proposé ici permet de résoudre le problème du cavalier seul. Il permet de converger vers un équilibre de Nash et propose une distribution de ressources qui est optimale et calculable. Peer-to-peer systems for file-sharing consist of a domain which could be adressed by multiagent systems. We adapt the theoretical framework for ressource allocation to this application and we propose here a computational mechanism to solve the free-riding problem. ABSTRACT. MOTS-CLÉS : KEYWORDS: P2P, système multi-agent, théorie des jeux computationnelle. P2P, multiagent systems, game theory, computational economics. DOI:10.3166/ISI.12.3.61-84 © 2007 Lavoisier, Paris RSTI - ISI – 12/2007. Systèmes d’information pair-à-pair, pages 61 à 84 62 RSTI - ISI - 12/2007. Systèmes d’information pair-à-pair 1. Introduction Depuis l’apparition de nouveaux protocoles applicatifs comme Gnutella, l’internet constitue une plateforme pour des systèmes pair-à-pair (P2P) d’échange de fichiers. Domaine d’application privilégié pour les systèmes multi-agents (SMA), ces systèmes font émerger de nouvelles problématiques en termes de coopération telles que le problème du cavalier seul (Adar et al., 2000; Groupe Intelligence collective de la Fing, 2005). L’émergence de ces nouveaux usages sur l’internet nécessite que le point de vue économique et le point de vue informatique soient désormais considérés conjointement. Dans cet article, nous modélisons un système P2P d’échange de fichiers à l’aide d’un système multi-agent. Même si les approches adoptées sont très différentes, ce paradigme a été considérablement étudié que cela soit en Informatique ou en Economie (von Neumann et al., 1944; Hardin, 1968; Groves et al., 1975). En Informatique, les agents logiciels sont considérés comme obéissants, i.e. ils exécutent sans autonomie un algorithme. A l’inverse, la théorie des jeux considère que les agents répondent à l’incitation, i.e. ils sont autonomes et agissent selon leur propre intérêt. Notre objectif consiste à proposer un mécanisme de rétribution incitant les agents à ne pas se contenter de consommer mais à produire. Nous proposons ici un mécanisme qui est, contrairement au mécanisme de Vickrey-Clarke-Groves, décentralisé et adapté aux échanges P2P. Ce mécanisme aboutit, pour notre stratégie d’offres ascendantes, à une situation du jeu qui est un équilibre de Nash et qui consiste en un partage optimal et calculable de ressources. Dans un premier temps, nous considérons les échanges de fichiers P2P et plus particulièrement le protocole Gnutella comme un domaine d’application des SMAs (cf. section 2). La section 3 introduit le problème du cavalier seul dans ce contexte applicatif et parcourt quelques-unes des solutions déjà envisagées pour répondre à cette problématique. Dans la section 4, nous adaptons le modèle théorique d’allocation de ressources à ce problème applicatif. Dans cet article, nous présentons et évaluons trois mécanismes pour la distribution d’une ressource. Le premier d’entre-eux est le mécanisme bien connu de VickreyClarke-Groves (Groves et al., 1975), que nous avons adapté à notre contexte applicatif (cf. sections 5). Nous proposons ensuite un mécanisme dans la section 6 qui est, contrairement au précédent, décentralisé. Le dernier mécanisme, proposé dans la section 7, en est une extension qui a pour propriété d’être optimal et stable. Dans la section 8, nous généralisons la dernière de ces procédures à la distribution d’un lot de ressources. La section 9 conclut et dresse quelques-unes des nombreuses perspectives de ce travail. Mécanisme de rétribution 63 2. Système P2P d’échange de fichiers Depuis l’apparition de nouveaux protocoles applicatifs tels que Gnutella1 , l’internet constitue une plateforme pour des systèmes P2P d’échange de fichiers. Napster2 est considéré comme le premier système P2P d’échange de fichiers bien que son architecture soit centralisée. En effet, Napster mettait à disposition sur un serveur une liste des fichiers musicaux disponibles sur le réseau. Chacun pouvait ainsi rechercher puis télécharger des fichiers à l’aide d’un logiciel particulier, appelé servent (contraction de (( serveur )) et de (( client ))). Comme l’illustre la figure 1, les différents servents : – signalent, à un serveur central, les fichiers dont ils disposent ; – l’interrogent pour obtenir les coordonnées des fichiers qu’ils recherchent ; – téléchargent les fichiers auprès d’autres servents. Représentés par leur servent, les utilisateurs (alors appelés pairs), se comportent soit comme des consommateurs soit comme des producteurs. Ils sont mis en relation afin d’échanger des fichiers. Gnutella, contrairement à Napster, dispose d’une architecture décentralisée. Il permet de distribuer non seulement le transfert mais également la recherche de fichiers. Comme l’illustre la figure 1, le réseau Gnutella ne dispose pas d’un serveur mais de plusieurs supernœuds branchés en permanence qui propagent les requêtes de recherche au travers du réseau pour mettre en relation les servents. Ainsi, on ne dispose plus d’une entité centrale qui supervise les échanges. Puisque les ressources échangées ne sont pas seulement des fichiers (musicaux, vidéos. . . ) mais également des tables de routage, Gnutella fournit les fonctionnalités pour l’établissement d’un réseau ad hoc. Lorsqu’un pair souhaite rejoindre le réseau, il doit connaı̂tre au préalable un autre pair. C’est la raison pour laquelle, les logiciels pairs sont munis d’une liste d’adresses de supernœuds3 . Un système multi-agent (SMA) est un ensemble organisé d’entités informatiques appelées agents qui interagissent dans un environnement. Les SMAs constituent un nouveau paradigme de programmation. Etant donné un domaine d’application, pour savoir si ce paradigme est adapté, voici les bonnes questions à se poser : 1. http ://www.gnutella.com 2. http ://www.napster.com 3. Pour des raisons juridiques, ces derniers ne fournissent ni ne consomment aucun fichier, mais transmettent uniquement les coordonnées d’autres pairs. Dans cet article, nous supposerons que, conformément à l’esprit des lois françaises à l’exception de la DAVDSI, la conception et l’usage de systèmes d’échanges de fichiers libres de droits sont légaux. 64 RSTI - ISI - 12/2007. Systèmes d’information pair-à-pair Get/Push Query/Answer Get/Push Query/Answer Figure 1. Représentation d’un réseau Napster (haut de la figure) et d’un réseau Gnutella (bas de la figure). Alors que le premier est consituté d’un serveur central et de quatre servents, le second est constitué de deux supernœuds et de quatre nœuds simples. Les échanges pour les recherches de fichiers sont représentés en trait pointillé et les échanges de fichiers sont représentés en trait plein • Q1. Est-ce que le contrôle est décentralisé ? C’est le cas des systèmes P2P d’échange de fichiers. • Q2. Est-ce que ce domaine est représentable à l’aide de plusieurs entités ? Oui, les pairs. • Q3. Est-ce que ces entités ont une vue locale sur leur environnement ? Les pairs ont accès à différentes sources d’information, i.e. leurs accointances. Mécanisme de rétribution 65 • Q4. Est-ce que ces entités ont différents buts/préférences/utilités ? Puisque les utilisateurs ont des préférences différentes vis-à-vis des fichiers qu’ils souhaitent mettre à disposition ou auxquels ils souhaitent accéder, ces pairs ont des buts différents. • Q5. Est-ce que les relations entre ces entités sont dynamiques ? Puisque les pairs peuvent entrer et sortir du réseau en cours d’exécution, de tels systèmes sont dits ouverts. Par conséquence, les relations organisationnelles entre ces entités sont dynamiques. Ce sont les raisons pour lesquelles, de tels systèmes, sont de notre point de vue, un domaine d’application privilégié pour les systèmes multi-agents. C’est un nouvel outil pour faciliter le travail au sein d’un groupe d’acteurs au même titre que les places d’enchères virtuelles (Aknine et al., 2005) ou les collecticiels (Morge, 2007) qui ont déjà été envisagés. Dans la suite de cet article, nous utilisons le terme agent (respectivement ressource) en lieu et place de pair (respectivement fichier). On peut noter que ce domaine d’application pose le problème du passage à très grande échelle. Les problèmes qui sont liés au passage à l’échelle (hétérogénéité, robustesse, adaptation dynamique, facteurs humains. . . ) font l’objet de toutes les attentions de la communauté SMA (Briot et al., 2003). Au travers du protocole Gnutella, les agents interagissent via la diffusion ou la rediffusion de messages parmi lesquels on compte : – des messages Ping, afin de s’assurer de la présence d’un agent ; – des messages Pong, afin de répondre aux messages précédents ; – des messages Query/Answer afin de rechercher des ressources ; – des messages Get afin de demander les ressources localisées lors de précédentes recherches. Afin d’éviter que les messages tournent indéfiniment dans le réseau, ceux-ci sont munis d’une durée de vie (TTL, i.e. Time-To-Live) qui est décrémentée à chaque réception jusqu’à ce qu’elle soit nulle. D’après ce protocole, les agents sont libres de répondre ou non aux sollicitations de leurs pairs. 3. Le problème du cavalier seul Bien que certaines des caractéristiques de l’architecture P2P soient attrayantes (décentralisation, anonymat), celles-ci font émerger de nouvelles problématiques en termes de coopération comme le problème du cavalier seul. Selon l’architecture P2P, la quantité et la qualité des ressources partagées ne peuvent être supervisées par une entité centrale. Puisque les agents sont rationnels et ont des capacités limitées (CPU, stockage, bande passante), leur intérêt individuel consiste à consommer sans produire. Toutefois, si tous les 66 RSTI - ISI - 12/2007. Systèmes d’information pair-à-pair agents adoptent un tel comportement, c’est-à-dire font cavalier seul (Adar et al., 2000; Groupe Intelligence collective de la Fing, 2005), les performances globales du système se dégradent considérablement ce qui a des conséquences pour tous. Ce problème, appelé tragédie des biens communs, est le résultat des tensions qui existent entre l’intérêt individuel et l’intérêt général (Hardin, 1968). De plus, faire cavalier seul rend le réseau plus vulnérable. Si un petit nombre d’agents contribuent au bien commun, ceux-ci agissent en qualité de serveurs centraux et sont vulnérables (déni de service, perte de confidentialité et poursuite juridique). Exemple 1 (Problème du cavalier seul) Considérons la distribution de deux ressources ♥ et ♦. Les agents n° 1 et n° 2 souhaitent obtenir la première ressource dont disposent les agents n° 4 et n° 6. L’agent n° 6 veut obtenir la seconde ressource dont disposent les agents n° 1, n° 2 et n° 4. Lorsque les agents n° 1 et n° 2 recherchent la ressource ♥, leur requête est transmise au travers du réseau par les agents n° 3 et n° 5. L’agent n° 6 est autonome, il est donc libre de révéler ou non qu’il en dispose. Son intérêt individuel le pousse à ne pas en informer ses accointances, ce qui ne l’empêche pas d’obtenir la ressource ♦ auprès de l’agent n° 1. En d’autres termes, l’agent n° 6 fait cavalier seul. Son comportement dégrade le système. En effet, les agents n° 1 et n° 2 ont plus de difficultés à obtenir la ressource ♥ puisque l’agent n° 6 ne la distribue pas. De plus, l’agent n° 4 tient le rôle de serveur en étant le seul agent du groupe à distribuer la ressource ♥. ♦,?♥ ♦ 1 ♦,?♥ ♥ 2 3 ♥ ♦,♥ ♥,?♦ / 4 Figure 2. L’agent n° 6 fait cavalier seul 5 6 Mécanisme de rétribution 67 eMule4 est un logiciel servent sous licence GPL qui permet de se connecter au réseau eDonkey et qui décompte le temps passé par un consommateur dans sa file d’attente afin de déterminer sa priorité. Certaines implémentations combinent ce mécanisme de gestion de file d’attente avec un système artificiel5 de crédit. Ce mécanisme permet de rétribuer les agents qui coopèrent pour raccourcir d’autant le temps d’attente que les échanges entre les deux agents considérés ont été nombreux. Ainsi, plus un agent fournit de ressources à un second agent, plus le premier agent progresse rapidement dans la file d’attente du second. Toutefois, selon ce mécanisme, seuls les échanges entre ces deux agents sont considérés. En d’autres termes, ce critère est local. De plus, comme nous l’avons signalé précédemment, un nombre restreint de servent implémente un tel mécanisme de rétribution. Dans le réseau Bitorrent6 , le débit de téléchargement est proportionnel au débit de télé-déchargement. Ceci se veut être une solution au problème du cavalier seul. Malheureusement, cette approche est problématique lorsqu’on considère des systèmes à très grande échelle, puisqu’elle ne prend pas en considération l’hétérogénéité des agents, notamment leurs capacités (bande passante, CPU, stockage) qui peuvent être très différentes. Lai et al. (2003) proposent également un mécanisme incitatif pour les système P2P d’échange de fichiers. Afin de modéliser ce problème, le dilemme itéré des prisonniers (DIP) est envisagé et des stratégies selon lesquelles un agent peut consommer des ressources en fonction de sa propre production ont été étudiées. Pour le lecteur non familier avec le DIP, nous rappelons que celuici est un modèle formel de coopération au travers duquel deux agents égoı̈stes s’affrontent (Mathieu et al., 1999). Comme l’illustre le tableau 1, chacun d’eux a le choix entre deux stratégies : soit coopérer, soit trahir. Le gain de chacun des joueurs dépend de la situation de jeu : – s’ils ont tous les deux coopéré, ils obtiennent chacun une récompense pour coopération, Rc pour le consommateur et Rp pour le producteur ; – s’ils ont tous les deux trahi, ils obtiennent chacun une punition pour égoı̈sme, respectivement Pc et PP ; – si le producteur (respectivement le consommateur) a choisi de trahir et le consommateur (respectivement le producteur) de coopérer, alors le producteur (respectivement le consommateur) se voit attribuer le score de la trahison Tp (respectivement Ts ) alors que le consommateur (respectivement le producteur) se voit attribuer le salaire de la dupe, Sc (respectivement Sp ). La tentation est plus avantageuse que la coopération mutuelle, qui est ellemême plus avantageuse que la punition, qui est plus valorisée que la duperie. 4. http ://www.emule-project.net 5. Les crédits échangés ne correspondent en aucun cas à un échange monétaire entre les utilisateurs. 6. http ://www.bitorrent.org 68 RSTI - ISI - 12/2007. Systèmes d’information pair-à-pair Plus formellement, T > R > P > S. Dans ce jeu, la coopération est exploitable par des traı̂tres. Toutefois, le gain moyen sur plusieurs itérations est plus faible dans ce genre de situation que dans une population constituée uniquement d’agents qui coopèrent. Ce dilemme social semble a priori similaire à celui rencontré dans notre contexte applicatif. C’est la raison pour laquelle Lai et al. (2003) a considéré ce modèle. Toutefois, le DIP est en fait inadapté à la représentation des interactions entre agents dans un système P2P d’échange de fichiers. En effet, les interactions sont, dans les systèmes P2P, séquentielles et non pas simultanées comme dans le DIP. En conséquence, dans un système P2P, contrairement au DIP, seul le producteur peut choisir entre coopérer et trahir dans le cadre d’un système P2P. De plus, le consommateur ne peut pas distinguer si le producteur le trahit ou s’il coopère sans disposer de la ressource demandée. hhhh hhhh Producteur Coopérer Trahir hh hh Consommateur hh h Coopérer (Rc , Rp ) (Sc , Tp ) Trahir (Tc , Sp ) (Pc , Pp ) Tableau 1. Matrice de gain dans le DIP où le score du joueur de ligne est donné en premier Notre objectif consiste donc à proposer un mécanisme incitant les agents, dans un système P2P d’échange de fichiers, à produire et ne pas seulement consommer. A cette intention, nous devons tout d’abord adapter le modèle théorique d’allocation de ressources à notre contexte applicatif. 4. Procédure d’allocation de ressources L’allocation de ressources est un processus qui consiste à distribuer un certain nombre d’unités parmi des agents. Nous pouvons distinguer différents types de ressources. Une ressource peut être un objet physique ou un bien immatériel comme une information digitalisée. Alors que cette caractéristique est intrinsèque à la ressource, d’autres caractéristiques ont attrait au système d’allocation : le fait qu’une ressource soit ou non divisible, par exemple. Ces propriétés ont une influence sur la manière dont la ressource est négociée, c’est-à-dire sur la procédure que l’on doit envisager. Afin de préciser la sémantique des différentes caractéristiques d’une ressource, le tableau 2 présente plusieurs ressources envisagées dans différents domaines d’application et selon différents points de vue. Lorsqu’un humain achète un bien matériel (e.g. un ordinateur, un CD, de l’énergie), il considère des ressources non duplicables. En effet, dupliquer un bien matériel consiste à proposer une nouvelle ressource distincte. A l’inverse, une information digitale (comme un fichier musical) est une ressource duplicable. Nous considérons Mécanisme de rétribution 69 ici que les fichiers ne sont pas munis de mesures techniques de protection (en anglais, DRM c’est-à-dire Digital Right Management). Munir un fichier d’un DRM revient à le rendre non duplicable. Les biens matériels considérés dans le e-commerce sont le plus souvent des ressources discrètes. A l’inverse les sources d’énergie considérées dans le e-business (e.g. gaz, électricité, pétrole. . . ) sont des ressources continues. Contrairement à un ordinateur portable, un ordinateur de bureau peut être acheté en pièces détachées chez un assembleur, c’est une ressource discrète mais divisible. Pour un utilisateur, un fichier est une ressource discrète et indivisible. En effet, seuls les fichiers dans leur intégralité ont une valeur sur les plateformes de téléchargement. D’un point de vue informatique, les ressources échangées sont divisibles et continues. En effet, dans un système P2P les téléchargements peuvent, contrairement aux téléchargements via le protocole ftp, être partiels. Puisque nous nous intéressons à ce domaine d’application, nous souhaitons proposer un mécanisme de rétribution pour l’allocation de ressources continues, divisibles et duplicables. Les crédits, tels qu’ils sont envisagés dans la suite de cet article, sont virtuels. Ils ne correspondent en aucun cas à un échange monétaire entre les utilisateurs. Points de vue humain informatique Ressources ordinateur portable ordinateur de bureau énergie CD fichier musical fichier musical avec DRM fichier par P2P fichier par ftp divisible ✓ ✓ discrète ✓ ✓ ✓ ✓ ✓ ✓ duplicable ✓ ✓ ✓ Tableau 2. Types de ressources Dans cet article, on considère A = {ag1 , . . . , agn } un groupe de n > 0 agents et R = {r1 , . . . , rm } un lot de m > 0 ressources. Dans un premier temps, nous envisagerons l’allocation A d’une ressource r ∈ R au sein de ce groupe. L’agent ag1 joue le rôle de producteur de la ressource en la distribuant et les autres agents jouent le rôle de consommateurs en la téléchargeant. Nous supposons que les différents consommateurs communiquent avec le producteur au travers d’un canal sécurisé. Dans la suite de cet article, agi (respectivement agj ) désigne un consommateur (respectivement un agent) quelconque. Puisque la ressource est continue et divisible, on peut noter q ∈ R∗+ la provision de cette ressource, c’est-à-dire la quantité disponible de cette ressource. Chaque consommateur agi exprime quantitativement ses préférences au travers d’une fonction de valuation (notée vi (q)). De manière alternative, ses préférences peuvent être exprimées qualitativement à l’aide d’une relation binaire entre différentes quantités potentielles. Toutefois, l’expression qualitative de préférences n’est pas adaptée à notre contexte applicatif. Elle ne permet ni la comparaison interpersonnelle des préférences ni l’expression de différentes intensités. A 70 RSTI - ISI - 12/2007. Systèmes d’information pair-à-pair l’inverse, on peut définir pour toute fonction de valuation une relation binaire réflexive, transitive et complète, i.e. un ordre total. De même, la tâche d’un producteur, qui consiste à partager une ressource, est associée à une fonction de valuation négative, appelée fonction de coût (notée c(q)). D’après Groves et al. (1975), la fonction de valuation (respectivement la fonction de coût), représentée dans la partie supérieure (respectivement dans la partie inférieure) de la figure 3 est croissante et concave (respectivement strictement décroissante et convexe). Ces fonctions sont dérivables. La fonction inverse d ≡ c−1 est définie telle que : ∀q ∈ R∗+ d(c(q)) = q. Celle-ci est décroissante, concave et dérivable 1 ( δd(q) δq = δc(q) ). δq utilité fonction de valuation quantité échangée fonction de coût Figure 3. Fonctions de valuation et de coût Le protocole représenté en AUML7 (en anglais, Agent-based Unified Modelling Language) dans la figure 4 est générique et peut légèrement varier d’uneprocédure à l’autre. A chaque tour de négociation : 1) l consommateurs font des offres (notées bi ∈ R∗+ pour l’agent agi ) ; 2) le producteur ag1 informe chaque consommateur agi de la quantité qi qui lui a été affectée et du paiement pi exigé en retour. Bien entendu, ce dernier est toujours inférieur à l’offre émise. Le producteur peut lors de cette procédure informer les consommateurs de la provision disponible pour cette ressource (q) et de la somme des paiements obtenus (p). Nous supposons que les paiements s’effectuent au travers d’un service (( bancaire )) qui centralise les paiements. Si les opérations bancaires sont centralisées, les informations concernant les fichiers échangés ne le sont pas. Un tel service ne peut superviser ni la qualité ni la quantité des ressources 7. http ://www.auml.org Mécanisme de rétribution 71 partagées. De même, la recherche de fichiers et le stockage des fichiers restent décentralisés. i>1 1 Consomateur Producteur query(q) n-1 inform(q) inform(bi) l2 (n − 1) n-1 l2 (n − 1) inform(qi/q, pi, p) Figure 4. Protocole de négociation d’une ressource Etant donnée une allocation A, la rationalité des agents est économique : – la satisfaction d’un consommateur agi dépend de son estimation de la valeur de la quantité de ressource qui lui est affectée et du paiement effectué en retour : πi (A) = vi (qi ) − pi ; – la satisfaction du producteur ag1 dépend du coût de la provision de la ressource et de la somme des paiements : π1 (A) = c1 (q) + p. John Rawls (1971) désigne par voile d’ignorance, le principe selon lequel une procédure sociale peut être évaluée par un agent a priori indépendamment de la position qu’il y occupera. En d’autres termes, la procédure doit fournir une allocation optimale vis-à-vis d’une métrique qui dépend des préférences individuelles de tous les agents. À cette intention, différentes notions ont été envisagées par la théorie du choix social. Par exemple, une allocation est un optimum de Pareto si et seulement s’il n’existe pas d’autres allocations qui permettent d’accroı̂tre la satisfaction individuelle d’un ou plusieurs agents sans faire diminuer celle d’au moins un autre agent. Puisque ce critère est ordinal, il n’est pas adapté à des préférences quantitatives. Une allocation ne suscite aucune jalousie (en anglais, envy-free), si chaque agent est au moins aussi 72 RSTI - ISI - 12/2007. Systèmes d’information pair-à-pair satisfait avec son lot de ressources qu’avec le lot de n’importe quel autre agent. Puisque les ressources sont duplicables et donc attribuables simultanément à plusieurs agents, cette notion est ici dénuée de sens. D’autres critères sont plus adaptés à notre domaine d’application : – le bien-être social utilitariste, qui mesure la somme des gains individuels : P sw(A) = j>0 πj (A) ; – le bien-être social égalitariste, qui est défini par le gain de l’agent le plus pauvre : sw(A) = minj>0 {πj (A)} ; Q – le produit de Nash, qui est le produit des gains individuels : sw(A) = j>0 πj (A). Le bien-être social utilitariste évalue la qualité d’une allocation du point de vue du système global. Le bien-être social égalitariste mesure l’équité de l’allocation. On peut noter que le produit de Nash constitue un bon compromis. Toutefois, ce dernier nécessite que les gains soient tous positifs ce qui ne peut pas être garanti ici. Nous ne considérons dans la suite de cet article que le bien-être social utilitariste. Pour des raisons de confidentialité, les consommateurs ne révèlent non pas leurs préférences c’est-à-dire leur fonction de valuation mais simplement une offre. Si chaque consommateur agi (avec i > 1) propose une offre particulière bi parmi un ensemble d’offres possibles Bi ⊆ R∗+ alors on appelle profil de stratégie ou situation de jeu, le vecteur ~s = (s2 , . . . , sn ) qui correspond à l’ensemble des offres : ∀i > 1 si = bi . Si le producteur ag1 , qui dispose de la provision q d’une ressource, accepte de lui affecter une partie qi en échange du paiement pi , alors l’allocation A = ho, gi correspond au résultat de la négociation : d’une part une distribution, notée o = (q2 , . . . , qn ), et d’autre part les paiements, notés g = (p2 , . . . , pn ). Le gain d’un consommateur agi dépend de la situation de jeu : πi (A) = πi (~s). On peut distinguer sa stratégie si (en l’occurrence, son offre) de celles des autres participants s~−i . On a donc : πi (A) = πi (~s) = πi (si , s~−i ). Pour une procédure, la stabilité de la situation de jeu est essentielle. A cette intention, la notion d’équilibre en stratégies dominantes est la plus intuitive mais également la plus exigeante. Une stratégie est dominante pour l’agent agi (notée ŝi ) si et seulement si elle permet d’optimiser son gain quelles que soient les stratégies des autres agents : ∀si 6= ŝi ∀s~−i πi (ŝi , s~−i ) ≥ πi (si , s~−i ). Un équilibre en stratégie dominante est une situation pour laquelle tous les agents ont joué une stratégie dominante : ∀i ≥ 1 ∀~s = (si , s~−i ) πi (ŝi , s~−i ) ≥ πi (si , s~−i ). Puisque les consommateurs ne révèlent pas leurs préférences mais simplement une offre, il n’est pas raisonnable d’espérer pouvoir garantir un équilibre en stratégie dominante. Toutefois, on est en mesure d’exiger un équilibre de Nash. Un équilibre de Nash est une situation ~ṡ = (ṡ2 , ..., ṡn ) pour laquelle aucun consommateur n’a intérêt à modifier sa stratégie, compte tenu des stratégies des autres joueurs : ∀si 6= s˙i πi (ṡi , ṡ−i ) ≥ πi (si , ṡ−i ). Mécanisme de rétribution 73 Ayant contraint le modèle théorique d’allocation de ressources en fonction de notre contexte applicatif, nous souhaitons proposer une procédure (appelée également mécanisme) qui réponde à ces exigences. La conception de mécanisme8 est un art qui consiste à élaborer les règles d’un jeu, en l’occurrence une procédure de négociation, pour garantir qu’un certain résultat sera atteint. On dit alors que la procédure implémente le résultat désiré. La description d’un problème de conception de mécanisme comprend le type des agents impliqués, la spécification d’une situation de jeu et l’objectif de chacun des agents. Définition 1 (Problème de conception de mécanisme) On appelle pro~ ~s, ~π i où : blème de conception de mécanisme un triplet hθ, – θ~ = (θ1 , . . . , θn ) est appelé vecteur de types. θj ∈ Θj correspond à l’état interne de l’agent agj ; ~ est appelé vecteur de stratégies où la stratégie d’un – ~s = (s2 , . . . , sn ) ∈ S consommateur agi correspond à son offre bi ; – ~π = (π1 , . . . , πn ) et appelé vecteur d’utilité et pour lequel chaque agent agj dispose d’une fonction d’utilité πj (~s, θj ) qui donne son évaluation du résultat de la négociation selon son type θj . Les gains dépendent, comme précédemment, de la situation de jeu, mais également du type de l’agent. Le type d’un agent est un paramètre intrinsèque et privé à l’agent. Le type d’un consommateur correspond à son désir d’obtenir une ressource. Le type du fournisseur est intuitivement une mesure quantitative de sa générosité. L’objectif d’un mécanisme consiste à garantir qu’un résultat sera atteint lorsque les agents tentent de maximiser leur gain. ~ ~s, ~π i un problème de conception de méDéfinition 2 (Mécanisme) Soit hθ, canisme. On appelle mécanisme d’allocation un couple M = ho, gi qui vérifie que : – le mécanisme propose à chaque consommateur un ensemble d’offre Bi à partir duquel il en choisit une, notée bi ∈ Bi ; – le mécanisme affecte une provision q de ressource disponible au producteur à partir de laquelle il choisit la quantité qi affectée au consommateur agi (Σi>1 qi = q) ; – le mécanisme propose au producteur un ensemble de paiement P ⊆ R∗+ à partir duquel il choisit le paiement demandé à un consommateur, celui-ci devant être inférieur à son offre (∀i > 1 pi ∈ P ∧ pi ≤ bi ) ; 8. Parfois appelée théorie de jeux inverse. 74 RSTI - ISI - 12/2007. Systèmes d’information pair-à-pair – le mécanisme garantit que le résultat o = (q2 , . . . , qn ) ∈ O est atteint ; – le mécanisme détermine les paiements g = (p2 , . . . , pn ) ∈ G. Nous faisons l’hypothèse selon laquelle l’ensemble des types Θ et l’ensemble des offres B sont prédéterminés et communs à l’ensemble des agents. ~ → O × G) associe une allocation La fonction de choix social (scf : Θn × S à chaque vecteur de type et à chaque profil de stratégie. Comme vu précédemment, différents critères peuvent être envisagés pour définir l’efficacité de l’allocation. Nous souhaitons ici maximiser le bien-être social utilitariste : ~ ~s) = maxo∈O Σj>0 πj (~s, θj ) scf(θ, En d’autres termes, le vecteur des quantités q~∗ = (q2∗ , . . . , qn∗ ) est optimal ssi le bien-être social utilitariste est maximal : ∀~q ∈ O Σi>1 (vi (qi∗ ) − c(q)) ≥ Σi>1 (vi (qi ) − c(q)) [1] De plus, on souhaite garantir que la situation de jeu soit un équilibre de Nash. En résumé, nous souhaitons proposer un mécanisme qui implémente un résultat optimal, c’est-à-dire qui propose une distribution optimale, et qui aboutit à un équilibre de Nash. Le mécanisme le plus connu est celui de Vickrey-ClarkeGroves (VCG). 5. Mécanisme de Vickrey-Clarke-Groves Dans cette section, nous souhaitons adapter ici le mécanisme de VickreyClarke-Groves (Groves et al., 1975) à notre contexte applicatif. Une enchère est un mécanisme qui permet de déterminer, pour une ressource mise en jeu, qui l’obtient et à quel prix. Selon l’enchère de Vickrey9 (appelée également en anglais second-price sealed-bid auction), chaque enchérisseur remet une offre confidentielle, sous pli cacheté et scellé (via un canal de communication sécurisé), au commissaire-priseur (le producteur) qui examine toutes les offres. La ressource est attribuée au plus offrant, qui paie le prix offert par le deuxième meilleur enchérisseur. Cette enchère incite les enchérisseurs à ne pas adopter un comportement stratégique c’est-à-dire à révéler la valeur qu’il assigne véritablement à la ressource. Ce mécanisme permet de distribuer une seule ressource indivisible. Le mécanisme d’enchère à prix uniforme (en anglais, uniform-price auction) est fondé sur le même principe et permet de distribuer une ressource divisible. Il consiste à faire payer à tous les vainqueurs de l’enchère l’offre perdante la plus élevée. Malheureusement, ce mécanisme incite les enchérisseurs à adopter 9. Proposé par William Spencer Vickrey (1914-1996) prix Nobel d’économie en 1996. Mécanisme de rétribution 75 un comportement stratégique. C’est la raison pour laquelle le mécanisme de Vickrey-Clarke-Groves a été introduit. Il incite les enchérisseurs à révéler les valeurs qu’ils assignent véritablement aux différentes distributions possibles d’une ressource divisible10 . Nous souhaitons adapter le mécanisme de Vickrey-Clarke-Groves à la distribution d’une ressource continue, divisible et duplicable. A cette attention, les enchérisseurs ne doivent pas seulement soumettre une offre mais une fonction qui détermine pour chaque distribution l’offre correspondante. Etant donné le ~ vecteur de ces fonctions d’offre (noté b(q)), le mécanisme que nous proposons (noté MVCG = hoVCG , gVCG i) est constitué : 1) de la distribution suivante : ~ = argmax [(Σi>1 bi (qi )) − c(q)] oVCG (b(q)) q ~ 2) des paiements calculés tels que ∀i > 1 : ~ = pi (b(q)) maxq~ [Σk>1,k6=i bk (qk ) − c(q)] ~ ~ − Σk>1,k6=i [bk (oVCG (b(q)))] − c(oVCG (b(q))) Nous souhaitons ainsi maximiser la somme des offres et faire payer à chaque enchérisseur ce que coûte sa présence. Comme le producteur calcule l’allocation à partir des fonctions d’offre révélées, le contrôle de ce mécanisme est centralisé. Exemple 2 (Vickrey-Clarke-Groves) Considérons la distribution d’une unique ressource au sein d’un groupe de quatre agents : un producteur ag1 et trois consommateurs ag2 , ag3 et ag4 . Le producteur dispose d’une provision q = 2 qu’il peut soit distribuer entièrement à un seul consommateur soit diviser en deux pour la distribuer à deux consommateurs de son choix. Les fonctions, qui déterminent pour une distribution les offres correspondantes, sont définies de la manière suivante : – l’enchérisseur ag2 désire la quantité q2 ≥ 1 et offre 5 € ; – l’enchérisseur ag3 désire la quantité q3 ≥ 1 et offre 4 € ; – l’enchérisseur ag4 désire la quantité q4 = 2 et offre 6 €. Affecter la totalité de la provision à l’agent ag4 ne maximise pas la somme des offres. Puisque ce mécanisme incite les enchérisseurs à révéler les valeurs qu’ils assignent véritablement aux différentes distributions, la valeur selon l’agent ag4 (respectivement les agents ag2 et ag3 ) de cette distribution est de 6 € (respectivement 0 €). 10. Sans perte de généralité, nous faisons l’hypothèse que l’ensemble des consommateurs sont des enchérisseurs. 76 RSTI - ISI - 12/2007. Systèmes d’information pair-à-pair Distribuer q2 = 1 et q3 = 1 maximise la somme des offres. La valeur selon l’agent ag2 (respectivement ag3 ) de cette distribution est de 5 € (respectivement 4 €). Évidemment cette distribution n’a aucune valeur pour l’agent ag4 . En l’absence de l’agent ag2 , l’agent ag4 aurait remporté l’enchère. L’agent ag2 doit donc payer 6 − 5 = 1 €. En l’absence de l’agent ag3 , l’agent ag4 aurait remporté l’enchère. L’agent ag3 doit donc payer 6 − 4 = 2 €. Que l’agent ag4 soit ou non présent, la distribution reste inchangée. Il ne doit donc rien payer. Ces résultats sont résumés dans le tableau 3. D’après ce mécanisme, les fonctions de valuation de chacun des consommateurs sont transmises au producteur qui seul calcule le résultat de jeu afin de maximiser le bien-être social utilitariste. Résultats q2 = 0 ∧ q 3 = 0 ∧ q 4 = 2 q2 = 1 ∧ q 3 = 1 ∧ q 4 = 0 v2 0 5 v3 0 4 v4 6 0 p2 0 1 p3 0 2 p4 3 0 Tableau 3. Distributions et allocation via le mécanisme de Vickrey-ClarkeGroves Nous avons adapté ici le mécanisme de Vickrey-Clarke-Groves (Groves et al., 1975) à la distribution d’une ressource continue, divisible et duplicable. Malheureusement, un tel mécanisme exige des consommateurs de révéler leurs fonctions d’offre, Afin de palier cette carrence en termes de confidentialité, nous souhaitons proposer dans la section suivante un mécanisme décentralisé. 6. Mécanisme décentralisé non optimal Nous proposons ici un mécanisme décentralisé très simple et nous évaluons ses propriétés. Etant donné que nous souhaitons proposer un mécanisme décentralisé, celuici doit se contenter d’un vecteur d’offres pour implémenter une allocation. Nous proposons ici le mécanisme le plus simple possible (noté M̆ = hŏ, ği). On note B la somme des offres (B = Σi>1 bi ). Notre mécanisme est constitué : 1) de la distribution ŏ(b(q)) = d(B) ; 2) des paiements calculés tels que ∀i > 1 p̆i (b(q)) = bi . Malheureusement, ce mécanisme ne permet pas toujours d’aboutir à une allocation satisfaisante11 . 11. Toutes les preuves des théorèmes présentés dans cet article sont dans l’appendice A. Mécanisme de rétribution 77 Théorème 1 (Mécanisme non optimal) Considérons le mécanisme M̆ = hŏ, ği. S’il existe plus de deux consommateurs, ce mécanisme ne permet pas d’implémenter une allocation qui soit optimale et d’aboutir à un équilibre de Nash quelles que soient les fonctions de valuation et la fonction de coût. L’exemple 3 illustre ce résultat négatif. Exemple 3 (Mécanisme non optimal) Comme précédemment, nous considérons la distribution d’une unique ressource au sein d’un groupe de quatre agents : un producteur ag1 et trois consommateurs ag2 , ag3 et ag4 . Nous supposons : – la fonction de coût est : c(q) = −5q ; – la valuation de l’agent ag2 est v2 (q) = 7 si q ≥ 1 ; – la valuation de l’agent ag3 est v3 (q) = 2 si q ≥ 1 ; – la valuation de l’agent ag4 est v4 (q) = 10 si q = 2. Dans la situation de jeu où l’enchérisseur ag2 offre 4 €, l’enchérisseur ag3 offre 5 € et l’enchérisseur ag4 offre 10 €. Distribuer une provision q = 2 à l’agent ag4 contre un paiement de 10 € lui permet de recouvrir le coût de cette production. Dans cette situation, cette distribution est optimale. Toutefois cette situation n’est pas un équilibre de Nash. En effet, l’agent ag2 a intérêt à modifier sa stratégie compte tenu des stratégies des autres enchérisseurs. S’il offre non plus 4 € mais 6 €, son gain est supérieur. Ces résultats sont résumés dans le tableau 4. Le mécanisme que nous avons proposé ici est décentralisé, puisque la distribution et les fonctions de paiement sont déterminées par le producteur en fonction du vecteur d’offres qui elles sont calculées par les consommateurs. Malheureusement ce mécanisme n’est ni optimal ni stable. 7. Mécanisme décentralisé, optimal et stable Dans cette section, nous souhaitons proposer un mécanisme décentralisé, optimal et stable. Nous proposons ici le mécanisme M̂ = hô, ĝi qui spécifie pour l’ensemble des offres : 1) la distribution ô(~b) = d(B) ; 2) les paiements calculés tels que ∀i > 1 : bi pi (~b) = bi − B−i log(1 + ) avec B−i = Σk6=i,k>1 bk B−i 78 RSTI - ISI - 12/2007. Systèmes d’information pair-à-pair c(q) = v2 (q) = v3 (q) = v4 (q) = Situation p2 = p3 = p4 = p= q= q2 = q3 = q4 = π1 (~s) = π2 (~s) = π3 (~s) = π4 (~s) = Σj>0 πi (~s) −5q 7si q ≥ 1 2 si q ≥ 1 10 si q = 2 b2 = 4 ∧ b3 = 5 ∧ b4 = 10 b2 = 6 ∧ b3 = 5 ∧ b4 = 10 0 6 0 5 10 0 10 11 2 22/10 0 6/5 0 1 2 0 0 0 0 1 0 −3 0 0 0 −2 Tableau 4. Distributions et allocation via le mécanisme non optimal On vérifie bien que selon ce mécanisme, un consommateur ne paie jamais plus que le montant de son offre (0 < pi < bi ). Comme le montre le théorème 2, le mécanisme M̂ , contrairement au mécanisme précédent, permet d’aboutir à un résultat satisfaisant. Théorème 2 (Mécanisme optimal et stable) Considérons le mécanisme M̂ = hô, ĝi. Selon ce mécanisme, les situations qui sont des équilibres de Nash donnent lieu à des résultats qui sont optimaux. Exemple 4 (Mécanisme optimal et stable) Reprenons l’exemple envisagé précédemment. Quelle que soit la situation, notamment celle représentée dans le tableau 5, la distribution est identique à celle du précédent mécanisme mais le paiement exigé est toujours inférieur à l’offre. La subvention d’une allocation permet d’évaluer son équilibre budgétaire : S = B − Σi>1 pi (~b)). Pour notre mécanisme, celle-ci peut être bornée par une n fraction du coût total : S ≤ B(n − 1) log n−1 Considérons une procédure au cours de laquelle ce mécanisme est itéré. Afin que les agents convergent vers un équilibre de Nash, les agents doivent suivre une stratégie d’offre ascendante : Mécanisme de rétribution c(q) = v2 (q) = v3 (q) = v4 (q) = Situation p2 = p3 = p4 = p= q= q2 = q3 = q4 = π1 (~s) = π2 (~s) = π3 (~s) = π4 (~s) = Σj>0 πi (~s) 79 −5q 7si q ≥ 1 2 si q ≥ 1 10 si q = 2 b2 = 4 ∧ b3 = 5 ∧ b4 = 10 0 0 ∼ 7, 07 ∼ 7, 07 2 0 0 2 ∼ 2, 93 0 0 ∼ −2, 93 0 Tableau 5. Distribution via le mécanisme optimal et stable Théorème 3 (Stratégie convergente) Soit |R| le nombre de tour de négociation. Si les consommateurs adoptent la stratégie d’offre ascendante suivante : δbi = δ|R| δ δt πi (bi , B−i ) = δ δ δ|R| vi (d(B)). δ|R| d(B) − bi B alors le profil des stratégies ~s converge vers un équilibre de Nash et les allocations sont optimales. On peut noter que pour surenchérir, les agents doivent connaı̂tre du tour de négociation précédent la provision de la ressource et la somme des gains offerts par les consommateurs sans en connaı̂tre le détail (c’est-à-dire les offres émises par chacun des consommateurs et le nombre de consommateurs). La complexité computationnelle liée à ce mécanisme est linéaire selon le nombre de consommateurs. De même, la complexité communicationnelle, c’està-dire le nombre de messages échangés est linéaire selon le nombre de consommateurs. De plus, le langage de communication n’est pas nécessairement très expressif. Nous avons proposé ici un mécanisme décentralisé pour la distribution d’une ressource continue, divisible et duplicable. Celui-ci peut être itéré. Nous avons alors garanti que, pour la stratégie d’offre ascendante identifiée ici, ces différents 80 RSTI - ISI - 12/2007. Systèmes d’information pair-à-pair mécanismes implémentent des allocations optimales et calculables. De plus, les agents convergent vers un équilibre de Nash. 8. Lot de ressources Dans cette section, nous étendons le mécanisme précédent à la distribution d’un lot de ressources. Considérons la production de m ressources. Le vecteur des provisions distribuées est noté ~q = (q 1 , . . . , q m ). Ces quantités sont toutes strictement positives (q l ∈ R∗+ , avec 1 ≤ l ≤ m). Comme nous l’avons fait précédemment, il est raisonnable d’effectuer les hypothèses suivantes concernant les fonctions de valuation et de coût. Chaque consommateur agi est muni d’une fonction de valuation vi (~q) qui est concave et strictement croissante en chaque coordonnée. Nous faisons l’hypothèse qu’il n’existe aucune synergie, positive ou négative, entre ces ressources. En d’autres termes, la valeur associée par un agent à une ressource est indépendante du fait qu’il dispose ou non d’une autre ressource. Les coûts de production (cl (q l ), 1 ≤ l ≤ m) associés à ces quantités sont convexes et strictement décroissantes. Toutes ces fonctions sont dérivables. Les fonctions inverses dl ≡ cl−1 sont définies telles que : ∀l, 1 ≤ l ≤ m ∀q l ∈ R∗+ dl (cl (q l )) = ql . Les l fonctions d sont décroissantes, concaves et dérivables ( δdδq(ql l ) = 1 δcl (q l ) δq l ). Quel que soit le mécanisme envisagé pour la distribution d’un lot de ressources, il procède de la manière suivante. Dans un premier temps, chaque consommateur agi doit soumettre un vecteur d’offre b~i ∈ (R∗+ )m . Le producteur doit alors mettre en correspondance le vecteur de ces vecteurs d’offres ~b avec d’une part une distribution, i.e. le vecteur des vecteurs quantités affectés à chacun des consommateurs (~o = (q~2 , . . . , q~n )) et d’autre part, les paiements qui sont affectés à chacun des consommateurs. Comme précédemment, nous souhaitons maximiser le bien-être social utilitariste : scf(~b) = maxo∈O Σj>0 πj (o(~s), θj ). En d’autres termes, le vecteur des vecteurs ~q∗ = (q~2∗ , . . . , q~n∗ ) est optimal ssi le bien-être social utilitariste est maximal : ∀~q ∈ (R∗+ )m Σi>1 (vi (q~i∗ ) − c(~q)) ≥ Σi>1 (vi (~ qi ) − c(~q)) Nous proposons ici le mécanisme M̂ = hô, ĝi qui est constitué : 1) de la distribution suivante : ∀l, 1 ≤ l ≤ m ôl (bl ) = dl (B l ) Mécanisme de rétribution 81 2) des paiements calculés tels que ∀i > 1 : bli l l l=m l m pi (~b) = Σl=m p (b ) = Σ b − B log(1 + ) l=1 i i l=1 i −i l B−i l avec B−i = Σk6=i,k>0 blk . Comme le mécanisme précédent, M̂ permet d’aboutir à un résultat satisfaisant. Théorème 4 (Mécanisme multiressource) Considérons le mécanisme M̂ = hô, ĝi. Celui-ci implémente une distribution optimale dans une situation d’équilibre de Nash. La démonstration est identique à celle du théorème 2. Nous avons proposé ici un mécanisme décentralisé pour la distribution d’un lot de ressources continues, divisibles et duplicables. Ce mécanisme garantit que la distribution est optimale, calculable et stable. Nous avons proposé ici un mécanisme décentralisé pour la distribution d’un lot de ressources continues, divisibles et duplicables sans synergie. Celui-ci implémente une allocation optimale et calculable. 9. Conclusions et perspectives Dans cet article, nous avons montré que les systèmes P2P d’échange de fichiers sont un domaine d’application privilégié pour les SMAs. Bien que certaines des caractéristiques de l’architecture P2P soient attrayantes, nous avons vu que celle-ci fait émerger des comportements problématiques : les pairs ont intérêt à télécharger sans mettre à disposition de fichiers. Afin de proposer une solution à ce problème qui soit robuste au passage à l’échelle, nous avons souhaité proposer un mécanisme de rétribution des producteurs. Puisque nous nous intéressons aux systèmes P2P d’échange de fichiers, nous nous sommes focalisés sur les procédures d’allocation de ressources continues, divisibles et duplicables. Nous avons proposé un mécanisme itéré et décentralisé qui implémente une distribution optimale et qui converge vers un équilibre de Nash. D’un point de vue théorique, Feigenbaum et al. (2002) mettent en exergue les fondements de la conception de mécanisme décentralisé et présente quelques résultats récents ainsi que quelques-uns des problèmes ouverts. C’est sur celui des systèmes P2P d’échange de fichiers que nous nous sommes focalisés ici. Comme le préconisent Chevaleyre et al. (2006), nous avons évalué les contraintes que notre contexte applicatif impose sur le modèle information d’allocation et nous avons adopté un point de vue économique afin de concevoir un mécanisme (( efficace )). Nous avons proposé un mécanisme qui implémente une distribution 82 RSTI - ISI - 12/2007. Systèmes d’information pair-à-pair optimale. Comme le bien-être social utilitariste, le bien-être social égalitariste est un critère d’évaluation pertinent dans notre contexte applicatif. Nous souhaitons proposer prochainement un mécanisme qui implémente une distribution équitable et étudier sous quelles conditions ces deux types de distributions peuvent coı̈ncider. Parkes et al. (2004) proposent une version décentralisée du mécanisme de Vickrey-Clarke-Groves. Comme l’exige notre contexte applicatif, nous souhaitons l’adapter à l’allocation de ressource duplicable. Quel que soit le mécanisme proposé, nous devrons non seulement vérifier que celui-ci est décentralisé mais aussi qu’il incite les agents à ne pas adopter de comportement stratégique. A cette intention, nous souhaitons nous inspirer de Petcu et al. (2006) qui mixent les techniques de conception de mécanisme et d’optimisation de contraintes distribuées. Finalement, lorsque nous avons considéré l’allocation de lots de ressources, nous n’avons envisagé aucune synergie entre ressources. Bien entendu, cette hypothèse mériterait d’être levée. D’un point de vue pratique, nous souhaitons valider notre approche à l’aide de simulations. Remerciements Le premier auteur est soutenu par le 6e programme IST de la CE, au travers du projet ARGUGRID 035200. Le travail du second auteur a été cofinancé par le CPER TAC de la région Nord-Pas de Calais et les fonds européens FEDER. Nous remercions les relecteurs anonymes pour leurs commentaires détaillés de ce travail. 10. Bibliographie Adar E., Huberman B. A., “Free Riding on Gnutella”, First Monday, October, 2000. http ://firstmonday.org/issues/issue5 10/adar/index.html. Aknine S., Pinson S., (( Modèles de Négociations Multi-agents Combinées )), Actes des Journées Francophones sur les Systèmes Multi-Agents, Hermès, 2005. Briot J.-P., Ghedira K. (eds), (( Déploiement des systèmes multi-agents )), Revue des Sciences et Technologies de l’Information, Hermès Sciences Publication, Hammamet, Tunisie, 2003. Chevaleyre Y., Dunne P. E., Endriss U., Lang J., Lemaı̂tre M., Maudet N., Padget J., Phelps S., Rodrı́guez-Aguilar J. A., Sousa P., “Issues in Multiagent Resource Allocation”, Informatica, 2006, vol. 30, p. 3-31. Feigenbaum J., Shenker S., “Distributed algorithmic mechanism design : recent results and future directions”, DIALM ’02 : Proceedings of the 6th international workshop on Discrete algorithms and methods for mobile computing and communications, 2002, ACM Press, New York, NY, USA, p. 1-13. Groupe Intelligence collective de la Fing, (( La coordination de groupes )), Portail InternetActu.net, aout, 2005. http ://www.internetactu.net/index.php ?p=6119. Mécanisme de rétribution 83 Groves T., Loeb M., “Incentives and public inputs”, J. of Public Economics, 1975. Hardin G., “The Tragedy of the Commons”, Science, 1968, vol. 162, p. 1243-1248. Lai K., Feldman M., Stoica I., Chuang J., “Incentive for Cooperation in P2P Networks”, Proc. of the 1st Workshop Economics of Peer-to-Peer systems, Berkley, 2003. http ://www.sims.berkeley.edu :8000/research/conferences/p2pecon. Mathieu P., Beaufils B., Delahaye J.-P., “Studies on Dynamics in the Classical Iterated Prisoner’s Dilemma with Few Strategies”, Artificial Evolution, 1999, vol. 1829 of Lecture Notes in Computer Science, Springer, p. 177-190. Morge M., Humanités numériques, Traité Information-Commande-Communication, Hermès science publication, chaptire (( Se concerter à l’aide d’un système multiagents )), 2007. À paraı̂tre. Parkes D. C., Shneidman J., (( Distributed Implementations of Vickrey-Clarke-Groves Mechanism )), Proc. of the 3rd International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS), IEEE Computer Society, 2004, p. 261268. Petcu A., Faltings B., Parkes D. C., “MDPOP : faithful distributed implementation of efficient social choice problems”, Proc. of the 5rd International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS), ACM Press, 2006, p. 1397-1404. Rawls J., A Theory of Justice, Belknap Press of Harvard University Press, Cambridge, 1971. von Neumann J., Morgenstern O., Theory of Games and Economic Behavior, Princeton University Press, 1944. A. Preuves Démonstration 1 (Mécanisme non optimal) On peut facilement démontrer qu’une distribution q ∗ est optimale ssi : Σi>1 δvi (qi∗ ) δc(q) = δq δq Si le vecteur d’offre b̌ donne lieu à un équilibre de Nash alors on peut déduire l’équation du premier ordre suivante : ∀i > 1 δvi (d(b̌)) δc(d(b̌)) ≤ , avec bˇi > 0 δq δq On déduit des deux équations précédentes que, lorsqu’on considère plus de deux consommateurs, dans une situation d’équilibre de Nash, ce mécanisme n’implémente pas à une allocation optimale. Démonstration 2 (Mécanisme optimal et stable) On constate que les fonctions de valuation vi , considérées comme des fonctions de leur propre offre 84 RSTI - ISI - 12/2007. Systèmes d’information pair-à-pair bi , sont concaves. Le vecteur d’offre b̌ donne lieu à un équilibre de Nash ~q̌ = d(~b̌) ssi : Bˇ−i δvi (d(~b)) δd(~b) =0 . −1+ ∀i > 1 δq δq B̌ + bi On peut réécrire cette équation de la manière suivante : ∀i > 0 bˇi δc(~q̌) δvi (~q̌) = . δq B̌ δq Ce qui équivaut à ~q̌ est optimale. Démonstration 3 (Stratégie convergente) Considérons q~∗ une distribution optimale. La somme des offres correspondantes est définie telle que : B ∗ = argmaxB Σi>1 [vi (d(B))] − B Etant donnée la stratégie d’offre ascendante proposée, on obtient l’équation suivante : δB δ δ = Σi>1 vi (d(B)). d(B) − 1 δ|R| δ|R| δ|R| La dérivée de la somme des offres est le résultat des dérivées individuelles pour chacun des agents qui converge vers un résultat optimal.