Aucun titre de diapositive

publicité
Programmation linéaire, Jeux,
Complexité
http://www.lri.fr/~mdr
Professeur Michel de Rougemont
[email protected]
http://www.lri.fr/~mdr
Jeux et Complexité
1. Jeux, Equilibres
2. Complexité, NP-complétude
3. Programmation entière
4. Approximation
Jeux à somme nulle
Deux joueurs I et II:
 état 1, annonce 1 
 état 1, annonce 2 


 état 2, annonce 1 


état
2,
annonce
2


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
Gains des joueurs
n
  a .x y
i, j i
Résultat du jeu :
i1
j
j 1
t
Maxx Miny
Joueur I :
Miny
n
x .A.y  Min j
t
x .A.y
n
a
i, j
i 1
.xi  t
Montrons que la réponse de II peut être pure
n
n
n
j 1
j 1
j 1
x.A.y  y j(  ai, j.xi )  y j.tt
Toute solution pure doit satisfaire
Miny
x t .A.y  Min j
n
a
i 1
i, j
.xi  t
Programme linéaire
tMiny
Conclusion
Joueur II peut
jouer une stratégie pure
x.A.y t
Miny
n
a
Max Min j
n
i1
 x 1
i
i1
Max
z
n
z  ai, j.xi 0
i1
n
 x 1
i
i1
.x
i, j i
x.A.y t
Exemple: Morra
Conclusion
Max
z
z
2x23x3
0
z 2x1
3x40
z 3x1
4x40
z
3x24x3
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 j0
j 1
n
 y 1
j
j 1
Problème dual du précédent.
Théorème : Max Min = Min Max
Equilibre de Nash
Max
z
z
2x2 3x3
0
z 2x1
3x40
z 3x1
4x40
z
3x24x3
0
x1  x2  x3  x4 1
Solution x*= [0,3/5,2/5,0]. Pour le dual
y*= [0,3/5,2/5,0].
Solution (x*,y*) est un équilibre de Nash,
une paire de stratégies telles que:
x', x'.A.y*x*.A.y*
y', x*.B.y 'x*.B.y*
Les stratégies sont des meilleures réponses
mutuelles (B=-A). Généralisation aux jeux
à somme non nulle.
Exemple simple
Exemple: Matrice
Programme linéaire
 3 1


 3 1 


Max z
z 3x1 3 x20
z x1  x2 0
x1  x2 1
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
 B

A
 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]
Solution (x*,y*) est un équilibre de Nash.
Jeux matriciels
xT.A.yeT.u Primal Dual
Par dualité:
E.xe  et xt.Et
xT.A.yxt.Et.u
xT.(Et.u A.y)0
Et.u A.y0
Pour le joueur II:
Max xT.B.y
F .x  f
yT.(F t.vBt.x)0
(F t.vBt.x)0 par dualité
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.xe
F .y  f
Et.u A.y0
F t.vBt.x0
xT.(Et.u A.y)0
yT.(F t.vBt.x)0
Programme linéaire + contraintes quadratiques
de complémentarité.
Simplex + complémentarité= Lemke-Howson
Algorithme de Lemke-Howson
Procédure algorithmique pour trouver des
équilibres: Simplex+ complémentarité.
 2 1 3
 1 3 2
 B

A
 2 3 1
 4 1 3




LH Graphes dans les simplex de I et II
• Extrémités du simplex
•Points frontières
xi,1.bi,1xi,2.bi,2 ou xi,2.bi,2xi,3.bi,3 ou
i
i
i
x .b x .b
i,1 i,1
i
i
i,3 i,3
i
Exemple :
 
Soit  x1 1
 x2 
 y1    
Soit  y2   
  1-  

 y3  
Algorithme de Lemke-Howson
LH Graphes dans les simplex de I et II
• Extrémités du simplex
•Points frontières
x .b x .b
i,1 i,1
i
i,2 i,2
x .b x .b
ou
i,2 i,2
i
i
x .b x .b
i,1 i,1
i
i,3 i,3
i
Exemple :
 
Soit  x1 1
 x2 
 y1    
Soit  y2   
  1-  

 y3  
i,3 i,3
i
ou
Algorithme de Lemke-Howson
 2 1 3
 1 3 2
 B

A
 3 3 1
 4 1 3




Colonnes de B:
Colonnes 1,2:  4(1)3 (1) d'où  3/5
Pour  3/5 valeur 11/5 pour colonnes 1,2
Pour  3/5 valeur 12/5 pour colonne 3. Non point limite.
Colonnes 2,3: 3 (1)2 3(1) d'où  2/3
Pour  2/3 valeur 7/3 pour colonnes 1,2
Pour  7/3 valeur 2 pour colonne 1. Point limite.
Colonnes 1,3:  4(1)2 3(1) d'où  1/2
Pour  1/2 valeur 5/2 pour colonnes 1,3
Pour  1/2 valeur 2 pour colonne 2. Point limite.
Lignes de A:
Lignes1,2 dans A 2.  3.(1 ) 3. 3. (1 )
2 3 4
Algorithme de Lemke-Howson
 2 1 3
 1 3 2
 B

A
 3 3 1
 4 1 3




Coloriage LH Graphes dans les simplex de I et II
5 couleurs: (1,2) pour I et (3,4,5) pour II.
Coloriage dans le simplex de I:
Si xi 0, point (x1,x2) colorié i pour i1 ou 2
Pour un point x, si colonne j optimale (B) ,
point x colorié j (j3,4,5)
Coloriage symétrique pour II
Si yi 0, point (y1,y2,y3) colorié j pour j3,4,5
Pour un point y, si ligne i optimale (A),
point y colorié i (i1,2)
Algorithme de Lemke-Howson
 2 1 3
 1 3 2
 B

A
 3 3 1
 4 1 3




1 3 (0,1)
3 5
(1/2,1/
2)
(2/3,1/
3)
(1,0)2
4 5
4
1 3 4
(0,0,1)
1 2 4
(0,1/2,1/2)
1
2
3
(0,1,0)
3
5
2
(2/3,0,1/3)
2 4 5 (1,0,0)
Couleurs Lemke-Howson
1
2
3
4
5
Algorithme de Lemke-Howson
 2 1 3
 1 3 2
 B

A
 3 3 1
 4 1 3




Lemke-Howson:
Paire (x1,x2) (y1,y2,y3) est un équilibre de Nash
ssi l'union de leurs couleurs  l'ensemble C des couleurs.
Exemple:
Paire (0,1) (1,0,0) est un équilibre de Nash
Paires (2/3,1/3) ,(0,1/2,1/2 ) et (1/2,1/2) ,(2/3,0,1/3 )
sont les 2 autres équilibres de Nash
Procédure algorithmique:
Commencer en (0,0),(0,0,0) et choisir une
couleur à exclure pour x puis pour y.
On termine sur un équilibre de Nash.
Exemple 2
D’après B. Von Stengel, Computing Equilibria
for two-person games, Handbook of Game
theory with Economic applications, 2002.
1 0
A
0 2

4
 0 2 3
 B

 6 5 3
3


Algorithme LH
1. Points frontières pour I: (1/3,2/3) et (2/3,1/3)
pour II:
2. Coloriage des points:  1/3
Coloriage Lemke-Howson
1 0
A
0 2

1 3
4
 0 2 3
 B

 6 5 3
3


3 4
(1/3,2/3)
(0,1)
(2/3,1/3)4
(1,0)
5
2 4 5
1 3 4
(0,0,1)
(0,1/3,2/3)
1 2 3
(0,1,0)
1 4 5 (1,0,0)
3 5 2
(2/3,1/3,0)
1 2 5
Couleurs Lemke-Howson
1
2
3
4
5
Equilibres de l’exemple 2
1 0
A
0 2

4
 0 2 3
 B

 6 5 3
3


Equilibres de Nash
1. (1,0) et (0,0,1)
2. (1/3,2/3) et (2/3,1/3,0)
3. (2/3,1/3) et (0,1/3,2/3)
Existence d’Equilibres
Point-fixe
Brouwer
Lemme de
Sperner
Point-fixe
Kakutani
Equilibre
Arrow-Debreu
Equilibre
Nash
Preuves non-constructives.
Lemme de Sperner
Etiquetter un simplex:
•Chaque point frontière ne peut pas avoir
l’étiquette du sommet opposé.
•Chaque point intérieur a une étiquette arbitraire.
0
1
0
0
1
1
2
0
2
2
1
2
1
2
2
Sperner : il existe un triangle 0-1-2
Commencer sur le côté gauche avec une arête
0-1 qui détermine un triangle qui admet une
autre autre arête 0-1. On parcourt ainsi des
triangles 1 seule fois. Il existe un nombre fini
de triangles et on doit terminer sur 0-1-2.
Point fixe de Brouwer
Brouwer:
Soit  une fonction continue sur un n-simplex.
Il existe x tel que (x) x.
0
1
1
2
Soit T1 , T2 ,...,Ti ,... un découpage en
triangles de plus en plus fins.
Déterminer un coloriage en détectant le côté
traversé par  (x). . C’est un étiquettage de
Sperner. Il existe un triangle ti 0-1-2 de centre
mi . Pour une séquence de mi il existe une
sous-séquence xi qui converge vers x, point
fixe.
Point fixe de Kakutani
Soit:  : S  2S
Fonction à valeur convexe.
Graphe continuité
Pour toute suite (xi , yi ) qui converge vers (x,y),
si i, yi (xi ) alors y (x )
Kakutani : il existe x* tel que x*(x*)
Preuve: réduire le problème à l’existence
d’un point fixe de Brouwer.
Définir à l’étape i de la triangulation
i (x) y(x)
Sur la triangulation. Ensuite par interpolation
linéaire. La fonction est continue et a un point
fixe en xi. La séquence des xi. Admet une sousséquence qui converge vers x*.
Existence de Nash
Soit:
 1 (y) x meilleures réponses à y pour I 
 2 (x) y meilleures réponses à x pour II 
 (x,y)  1 (y) 2 (x)
Nash : il existe (x*, y*) tel que x*, y*(x*, y*)
Preuve: montrer que la fonction 
est
à valeurs convexes et continue comme graphe.
On applique Kakutani et on obtient un
équilibre de Nash.
Equilibre Arrow-Debreu
Entrée:
•Ensemble B d’acheteurs
•Ensemble A de biens divisibles
•Vecteur M de valeurs mi entières pour chaque
acheteur
•Matrice Utilité: ui,j donnant l’utilité du produit i
pour l’acheteur j.
Sortie: vecteur de prix pi pour chaque produit i
•Chaque acheteur maximise son utilité
•Tout est dépensé
•Tout est acheté
xi est le vecteur de biens achetés par i
p.xi mi
Max xi, j.ui, j
x
i, j
i
a j
Equilibre Arrow-Debreu
Arrow-Debreu: il existe un vecteur p qui
résout le marché.
Preuve: définir un potentiel pour p.
•Si la demande trop forte, augmenter p
 (p j) 
p j (a j  p j.xi, j)
i
C
D’après Brouwer, il existe un point fixe qui
résoud le marché.
Observations:
•L’équilibre peut-être non calculable au sens
des réels (Richter et Wong)
•Algorithme polynomial au sens BSS
(Devanur, Papadimitriou, Saberi, Vazirani)
Classes PPA et PPAD
PPA : Polynomial Parity Argument
PPAD : Polynomial Parity Argument in
Directed graphs
A est dand PPA (PPAD) si:
p( x )
Il existe une TM avec 2
états.
Graphe d’états de degré au plus 2. Etat
(0,0,..0) est une feuille.
Problème: trouver une autre feuille.
(Papadimitriou, On the Complexity of the
Parity argument, JCSS 1994)
Exemple: Sperner est dans PPAD
NP -complétude
Existe-t-il un algorithme polynomial?
Exemple SAT (variables booléennes)
x1  x2 x3
x2  x3  x4
x3x4
1x1  x2  x3
0
1x2
 x3 x4
0
1x3
 1x40
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. xA 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
x3x4
1x1  x2  x3
0
1x2
 x3 x4
0
1x3
 1x40
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?
Téléchargement