Modèle des jeux et des mécanismes Michel de Rougemont, LRI , University Paris II Jeux et Mécanismes 1. Modèle de calculs, adapté à un nombre important d’agents, suivant une fonction d’utilité. WEB. 2. Jeux: N joueurs suivant chacun un but. Quels sont les Equilibres? 3. Mécanismes: observons un équilibre, de quel jeu sommes nous l’équilibre? Exemples de Jeux 1. Dilemme des Prisonniers Deux décisions C (collaborer), T (Trahir) 2,2 4 ,1 1. Version répétée. 3. Jeux de vérification. Graphes d’accessibilité. 4. MaxSAT, MaxCUT: jeux à N joueurs 4. Jeux logiques: Nord-Est, dames, Echecs. 1,4 3,3 Mécanisme pour réduire le SPAM 1. Comment faire la différence entre un vrai mail et un SPAM? 2. Modifications au protocole de mail (pop, smtp) 3. Valeur d’un Email? Valeur proportionnelle aux calculs demandés à A (Alice) par B (Bob) Modifications au protocole de mail (pop, smtp) 1. A prend un ticket sur la page Web de B. (Entrée x d’un problème) 2. A calcule f(x)=y 3. A envoie y et l’Email 4. B vérifie y A 1. ticket 3. Résultat et Email B A calcule une fonction polynomiale A prend un ticket sur la page Web de B. B : génère un polynôme aléatoire de degré n P(x)a1.x a2 x2....an xn B: choisit n+1 valeurs aléatoires y1 P(x1 ), y2 P(x2),..., yn1P(xn1) Ticket= (x1 , y1 ),(x2, y2),...,(xn1yn1) A doit trouver P(x) à partir du ticket. Interpolation ou Inversion matricielle B vérifie le calcul B garde P(x) lorsqu’il génère le ticket. Vérifier consiste à comparer les coefficients de P(x) avec ceux envoyés par A. P(x)a1.x a2 x2....an xn On peut paramétrer: le degré, la précision des valeurs aléatoires pour forcer A à calculer 10 minutes 30 minutes…. Interpolation est polynomiale La vérification est triviale Jeux à somme nulle Deux joueurs I et II: 0 2 3 0 2 3 0 0 0 3 0 0 4 3 4 0 Gain de II = - Gain de I Jeu Morra: chaque joueur cache 1 ou 2 Euros et cherche à deviner le choix de l’autre joueur. Il gagne s’il devine correctement. Si 1 seul joueur gagne, son gain est le montant caché total, payé par l’autre joueur, sinon le gain est de 0 Gain du Jeu n n a .x y Gain du jeu : i, j i i1 Miny Joueur I : Miny x.A.yMin j j 1 x.A.y n a .x t i, j i i1 Réponse de II peut être pure n n n j 1 i1 j 1 x.A.y y j( ai, j.xi ) y j.tt Donc : Miny x.A.y t Toute solution pure doit satisfaire n Miny x.A.y Min j ai, j.xi t i1 j Stratégie optimale tMiny Conclusion Miny Joueur II peut jouer une stratégie pure n Max Min j n a i1 x 1 i i1 Max z n z ai, j.xi 0 i1 n x 1 i i1 .x i, j i x.A.y t x.A.y t Stratégie optimale Conclusion Max z z 2x23x3 0 z 2x1 3x40 z 3x1 4x40 z 3x24x3 0 x1 x2 x3 x4 1 Solution x*= [0,3/5,2/5,0] Résolution par simplex. Trouver une solution initiale Théorème Minimax Situation pour le joueur II n a Min Maxi .y j i, j j 1 n y 1 j j 1 Min w n w ai, j.y j0 j 1 n y 1 j j 1 Problème dual du précédent. Par dualité: Théorème (Von Neuman) : Max Min = Min Max Dualité: Simplex Résolution d’un système linéaire de maximisation: Max ct.x A.xb x1 ,x2,...xn 0 •Introduction de variables d’écart •Solution initiale •Itération pour augmenter la valeur de la solution. •Terminaison Bases de la Dualité Max 4x1 x2 5x33x4 x1 x2 x3 3x4 1 5x1 x2 3x3 8x455 x1 2x23x3 5x4 3 x1 , x2, x3, x4 0 Estimation de z > a z>5 avec (0,0,1,0) z>22 avec (3,0,2,0) …. Estimation de z <b ? Quel est le témoin? Dualité : z < b Max 4x1 x2 5x33x4 x1 x2 x3 3x4 1 5x1 x2 3x3 8x455 x1 2x23x3 5x4 3 x1 , x2, x3, x4 0 Montrons que z <275/3 2nd contrainte . 5/3 25/3x1 5/3x25x3 40/3x4275/3 4x1 x2 5x3 3x425/3x1 5/3x25x340/3x4275/3 Donc z <275/3 Dualité Max 4x1 x2 5x33x4 x1 x2 x3 3x4 1 5x1 x2 3x3 8x455 x1 2x23x3 5x4 3 x1 , x2, x3, x4 0 2nd contrainte +3ème contrainte 4x1 3x26x33x458 Donc z <58 Méthode systématique. Dualité : méthode Max 4x1 x2 5x33x4 y1 . x1 x2 x3 3x4 1 y2 . 5x1 x2 3x3 8x455 y3 . x1 2x23x3 5x4 3 x1 , x2, x3, x4 0 (y1 5y2 y3).x1 (y1 y2 2y3).x2(y1 3y2 3y3).x3 (3y1 8y2 5y3).x4(y1 55y2 3y3) Conditions pour que le membre gauche > 4x1 x2 5x3 3x4 y1 5y2 y3 y1 y2 2y3 y1 3y23y3 3y1 8y2 5y3 4 1 5 3 Dualité: exemple 4x1 x2 5x3 3x4z y1 55y1 3y3 On obtient donc le système dual: Min y1 55y2 3y3 y1 5y2 y3 y1 y2 2y3 y1 3y23y3 3y1 8y2 5y3 4 1 5 3 Remarques générales Problème Primal de Maximisation donne un problème Dual de minimisation. 4x1 x2 5x3 3x4z y1 55y1 3y3 n j 1 a y x b y a x y c j x j j 1 n m i1 n j 1 m i, j i1 i m i, j j i i1 A l’optimum: n j 1 j c j x*ji1 bi yi* m i i Démonstration Minimax Considérons la dernière ligne du dernier système du primal: zz*k 1 ck' .xk nm z j 1 c j.x*j n * Posons: yi*ci'n pour i1...m Vérifions que y* satisfait : n j 1 c j.x * j m i1 bi .yi* Démonstration Minimax Les variables d’écart sont définies comme: xni bi j 1 ai, j.x j n i1...m j1c j.x j z*k 1 ck' .xk nm n yi*ci'n pour i1...m n c j.x j z k 1 ck' .xk i1 yi*.xni j 1 n * m j1c j.x j z*k 1 ck' .xk i1 yi*.bi j1 ai, j.x j n n m j1c j.x j (z*i1 yi*bi )k 1 n m n c n ' k j 1 ai, j.y*j xk z*i1 yi*bi Comparant les coefficients de xj m n Et on conclut: n j 1 c j.x*j m i1 bi .yi* Complémentarité Contraintes saturées du dual (m=3) et variables nulles du primal (n=2) x3*x4*0 x1*2,x2*2, x5*1 *0, y4 *0, y5 *0 y1*2, y3*1, y2 x1*2 x2*2 Min 2y1 y22y3 y1 y2 2 y2 y3 1 Soit xi=0 soit contrainte duale est saturée Complémentarité Contraintes saturées du primal (n=2) et variables nulles du dual (m=3) x3*x4*0 x1*2,x2*2, x5*1 *0, y4 *0, y5 *0 y1*2, y3*1, y2 y1*2 y2*0 y3*1 Max 2x1 x2 x1 2 x1 x2 1 x2 2 Soit yi=0 soit contrainte primale est saturée Théorème : Ces deux conditions caractérisent une solution x*,y* optimum. Interprétation économique Exemple de fabrication de produits en quantité x1, x2, x3. Chaque produit utilise des composants e1,e2,e3,e4 et contribue à un profit ci ($ par unité de xi) Contraintes du primal : Ax < b Contraintes du dual A’ y >c yj = $ par unité de composant ej Min y.b : coût minimum des composants Exemple simple Exemple: Matrice 3 1 3 1 Max z z 3x1 3 x20 z x1 x2 0 x1 x2 1 Programme linéaire Solution x*= [1/2, 1/2] Interprétation graphique: Sommet de l’enveloppe inférieure 1 Jeux matriciels Deux joueurs: les gains des I et II sont définies par deux matrices A,B de même dimension. Pour n joueurs, n hypercubes. 2 1 3 1 3 2 A B 2 3 1 4 1 3 Max xT.A.y Min eT.u E .x e ET.u A.y Solution possible: x*= [2/3,1/3] , y*= [1/3,2/3] Jeux matriciels xT.A.yeT.u Par dualité: E.xe et xt.Et xT.A.yxt.Et.u xT.(Et.u A.y)0 Et.u A.y0 Pour le joueur II: Max xT.B.y F .x f yT.(F t.vBt.x)0 (F t.vBt.x)0 par dualité Primal Dual C.N.S. pour être un équilibre de Nash Un couple (x,y) est un équilibre de Nash ssi il existe u,v tel que: E.xe F .y f Et.u A.y0 F t.vBt.x0 xT.(Et.u A.y)0 yT.(F t.vBt.x)0 Programme linéaire + contraintes quadratiques de complémentarité. Simplex + complémentarité= Lemke-Howson Algorithmique des Jeux 1. Etant donné deux matrices A,B, trouver un équilibre. 2. Généralisation à N joueurs: représentation compacte de l’hypercube. 3. Approximation. 4. Vérification approchée.