Mécanismes Professeur Michel de Rougemont [email protected] http://www.lri.fr/~mdr Equilibres et mécanismes 1. Mécanismes élémentaires 2. Mécanismes de Vickrey 3. Enchères combinatoires 4. Non approximation Mécanismes Jeu à N joueurs pour résoudre un problème: •Equilibre du jeu est une solution, •Chaque joueur essaye de maximiser son utilité Equilibre au sens de stratégies dominantes. Situation informatique: Protocole. Mi Dans quel état est Mi Mi est dans l’état q mais répond r. Diner des Philosophes Pi-1 Pi Fourchette libre? Pi est dans l’état q ou en panne Mécanisme d’Enchères Un objet aux enchères: Jeu à N joueurs: •Type de chaque joueur ti valeur supposée. •Pari (Bid) de chaque joueur di valeur affichée Problème: Entrée (T,D) •Allouer l’objet au joueur j •Déterminer un paiement p Utilité pour i: ui = ti -p Définition. Un mécanisme est vérace si la stratégie D=T est dominante. Différentes Enchères Enchères anglaises: Allocation à i Max di au prix p= Max di Enchères de Vickrey: Allocation à i Max di au prix p= Maxj dj pour j différent de i. D=T est dominante. Supposons D’ dominante: ui (D’) = ti (D’) -p (D’) > ti (D) -p (D) =0 Cas 1. d’j dominante ne change pas l’allocation. Cas 2. Joueur i gagne l’enchère et j gagnait avec D. Donc di > dj > ti mais u i <0!! Cas 3. Joueur i perd l’enchère et gagnait avec D. Donc di < ti mais u i =0. Enchères combinatoires K objets sont à allouer parmi N joueurs: G ensemble objets, P ensemble des joueurs Pour chaque s G soit :G P type du joueur i, i : 2 R ou R G 2G Chaque joueur annonce di pour chaque s, et garde le type ti secret. Soit T et D les vecteurs correspondants et P le vecteur paiement. L’utilité pour i de s est u=t(s) - p Le mécanisme doit: •Allouer les objets, trouver f(D) •Déterminer les paiements P Enchère vérace (truthful) si D=T est dominant, n f(D) MaxA di (A1(i)) i1 Enchères combinatoire de Vickrey n f(D) MaxA di (A1(i)) i1 sgi (D) f(D)1(i) Soit s alloué au joueur i: n n i1 i1,i j pj(D) di (gi (Z)) di (gi (D)) Paiement de j: Z est tel que Zi Di pour i j et Z j (s)0 GVA est vérace. Soit D’ tel que Di 'Di pour i j et Dj 't On veut montrer que D’ est une meilleure stratégie: n n d '(g (D'))d '(g (D)) car D 'tD i i1 i i i1 i j j Enchères combinatoire de Vickrey n n i1 i1,i j u j(D')t j(g j(D')) -pj(D') t j(g j(D')) - di '(gi (Z)) di '(gi (D')) On minore la somme et t j(g j(D')) par t j(g j(D)) n n i1 i1,i j u j(D') t j(g j(D))- di '(gi (Z)) di '(gi (D))u j(D) L’utilité est meilleure pour D’. Le mécanisme est vérace. Problème: L’allocation est NP-complète et non approximable. Le mécanisme n’est plus vérace!! Joueurs simples Chaque joueur ne recherche qu’un s: t(s')v pour tout ss' Problème: L’allocation reste NP-complète et non approximable. Allocation gloutonne: •Définir une norme pour (s,v) •Trier selon la norme et allouer Mécanisme non vérace. Il existe des conditions suffisantes de véracité. (D. Lehmann et al. , JACM 2002) NP -complétude Existe-t-il un algorithme polynomial? Exemple SAT (variables booléennes) x1 x2 x3 x2 x3 x4 x3x4 1x1 x2 x3 0 1x2 x3 x4 0 1x3 1x40 Pas d’algorithme polynomial connu. Définition : Un problème est NP s’il est vérifiable en temps polynomial. A est réductible à B A p B s’il existe une fonction f calculable en temps polynomial t.q. xA ssi f(x)B A est NP-complet si A est NP et tout B de la classe NP est réductible à A. Théorème. SAT est NP-complet Programmation linéaire en nombres entiers Théorème. PL est NP-complet Réduction à SAT x1 x2 x3 x2 x3 x4 x3x4 1x1 x2 x3 0 1x2 x3 x4 0 1x3 1x40 Pas d’algorithme polynomial connu. Définition : Un problème d’optimisation est approximab le s’il existe un algorithme polynomial dont la solution A(x) est t.q. f(x)(1) A(x) f(x)(1) Théorème. alors P=NP. Si PL est approximab le Couverture, Hamiltonicité, Voyageur de commerce 1 5 1 2 4 2 9 6 3 3 2 2 6 10 7 4 Couverture : ensemble (minimum) d’arêtes qui couvre tous les nœuds. Circuit Hamiltonien : circuit qui passe une seule fois par tous les nœuds. Voyageur de Commerce : circuit hamiltonien n qui minimise ci i Théorème : ces 3 problèmes sont NP-complets Couverture est approximable Couverture minimum : ensemble (minimum) d’arêtes qui couvre tous les nœuds. Algorithme : prendre une arête e=(u,v), l’ajouter à C et retirer u et v au graphe. Comment évaluer C Cmin / C Cmin C /2 Tout nœud est couvert C Cmin / C 1/2 On en déduit : Algorithme 0.5 approximatif. n c i i Voyageur de commerce n’est pas approximable VC : n arêtes qui définissent un circuit hamiltonien de coût minimum. S’il existe un algorithme d’approximation, alors P=NP. Réduire HAM à VC Soit Gn donné : introduire des coûts de 1 pour les arêtes de Gn et de n/1 pour les autres. Si on approxime VC à près, alors si la solution est proche de n, HAM est vrai sinon HAM est faux. Pas d’algorithme d’approximation. Complexité et approximation 3 solutions possibles: •Problème est approximable pour un (Couverture) •Problème est approximable pour tout Knapsack (Sac-à-dos) •Problème est non approximable (VC) Approximation par échantillonnage MAXCUT, 3COL. Estimer ces fonctions sur des sousgraphes aléatoires et faire la moyenne. G Applications 1.Recherche opérationnelle classique. 2. Analyse d’algorithmes : Simplex est polynomial en perturbation (smoothed complexity, Spielman 2001) 3. Jeux et Complexité. Les joueurs ont des ressources bornées. Les équilibres changent lorsqu’on prend en compte la complexité. 4. Mécanismes. Quel est le jeu lorsqu’on part d’un équilibre? Enchères, enchères combinatoires. 5. Economie de l’information. Comment construire des modèles de valeur pour: un site, un email, un formulaire?