36
Programmation linéaire, Jeux, Complexité http://www.lri.fr/~mdr Professeur Michel de Rougemont [email protected] http://www.lri.fr/~mdr

Programmation linéaire, Jeux, Complexité

  • Upload
    penn

  • View
    54

  • Download
    0

Embed Size (px)

DESCRIPTION

Programmation linéaire, Jeux, Complexité. http://www.lri.fr/~mdr. Professeur Michel de Rougemont [email protected] http://www.lri.fr/~mdr. Jeux et Complexité. Jeux, Equilibres Complexité, NP-complétude Programmation entière Approximation. Jeux à somme nulle. Deux joueurs I et II:. - PowerPoint PPT Presentation

Citation preview

Page 1: Programmation linéaire, Jeux, Complexité

Programmation linéaire, Jeux, Complexité

http://www.lri.fr/~mdr

Professeur Michel de [email protected]

http://www.lri.fr/~mdr

Page 2: Programmation linéaire, Jeux, Complexité

Jeux et Complexité

1. Jeux, Equilibres

2. Complexité, NP-complétude

3. Programmation entière

4. Approximation

Page 3: Programmation linéaire, Jeux, Complexité

Jeux à somme nulle

Deux joueurs I et II:

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

04304003

30020320 1, 1

1, 2

2, 1

2, 2

état annonce

état annonce

état annonce

état annonce

Page 4: Programmation linéaire, Jeux, Complexité

Gains des joueurs

Résultat du jeu :

Joueur I : tx yMax Min x .A.y

,1

.n

ty j i j i

i

Min x .A.y Min a x t

jiji

n

j

n

i

yxa . ,11

Montrons que la réponse de II peut être pure

Toute solution pure doit satisfaire

ttyxayx.A.yn

jjiji

n

j

n

jj

1,

11

. ). (

,1

.n

ty j i j i

i

Min x .A.y Min a x t

Page 5: Programmation linéaire, Jeux, Complexité

Programme linéaire

Conclusion

Joueur II peut jouer une stratégie pure

1

.

1

,1

i

n

i

iji

n

ij

x

xaMinMax

t x.A.yMint y

t x.A.yMiny

1

0.

1

,1

i

n

i

iji

n

i

x

xaz

zMax

Page 6: Programmation linéaire, Jeux, Complexité

Exemple: Morra

Conclusion

1043043032032

4321

32

41

41

32

xxxxxxz

xxzxxz

xxzzMax

Solution x*= [0,3/5,2/5,0]

Résolution par simplex.

Trouver une solution initiale

Page 7: Programmation linéaire, Jeux, Complexité

Théorème Minimax

Situation pour le joueur II

1

.

1

,1

j

n

j

jji

n

ji

y

yaMaxMin

1

0.

1

,1

j

n

j

jji

n

j

y

yaw

wMin

Problème dual du précédent.

Théorème : Max Min = Min Max

Page 8: Programmation linéaire, Jeux, Complexité

Equilibre de Nash

1043043032032

4321

32

41

41

32

xxxxxxz

xxzxxz

xxzzMax

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:

Les stratégies sont des meilleures réponses mutuelles (B=-A). Généralisation aux jeux à somme non nulle.

***' , .A.yx.A.yxx' **'* , .B.yx.B.yxy'

Page 9: Programmation linéaire, Jeux, Complexité

Exemple simple

Exemple: Matrice

Programme linéaire10033

21

21

21

xxxxzxxz

zMax

Solution x*= [1/2, 1/2]Interprétation graphique: Sommet de l’enveloppe inférieure

13

13

1

Page 10: Programmation linéaire, Jeux, Complexité

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.

Solution possible: x*= [2/3,1/3] , y*= [1/3,2/3]

Solution (x*,y*) est un équilibre de Nash.

314

231

132

312BA

exE

yAxMax T

.

..

yAuE

ueMin

T

T

..

.

Page 11: Programmation linéaire, Jeux, Complexité

Jeux matriciels

Par dualité: DualPrimal ... ueyAx TT

tt ExexE .e . t

.... uExyAx ttT 0)...( yAuEx tT

0.. yAuEt

Pour le joueur II:

fxF

yBxMax T

.

..

0)...( xBvFy ttT

dualitépar 0)..( xBvF tt

Page 12: Programmation linéaire, Jeux, Complexité

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:

. exE

0)...( yAuEx tT

0.. yAuEt

Programme linéaire + contraintes quadratiques de complémentarité.

Simplex + complémentarité= Lemke-Howson

fyF .

0)...( xBvFy ttT

0.. xBvF tt

Page 13: Programmation linéaire, Jeux, Complexité

Algorithme de Lemke-Howson

Procédure algorithmique pour trouver des équilibres: Simplex+ complémentarité.

314

231

132

312BA

LH Graphes dans les simplex de I et II• Extrémités du simplex•Points frontières

ou ..ou .. 3,3,2,2,2,2,1,1, ii

iii

ii

iiii

i bxbxbxbx

Exemple :

.. 3,3,1,1, i

iii

ii bxbx

1Soit 2

1

xx

-1yyy

Soit 3

2

1

Page 14: Programmation linéaire, Jeux, Complexité

Algorithme de Lemke-Howson

LH Graphes dans les simplex de I et II• Extrémités du simplex•Points frontières

ou ..ou .. 3,3,2,2,2,2,1,1, ii

iii

ii

iiii

i bxbxbxbx

Exemple :

.. 3,3,1,1, i

iii

ii bxbx

1Soit 2

1

xx

-1yyy

Soit 3

2

1

Page 15: Programmation linéaire, Jeux, Complexité

Algorithme de Lemke-Howson

314

231

133

312BA

Lignes de A:

5/3où d' )1(3)1(4 :2,1 Colonnes 1,2 colonnespour 11/5 valeur5/3Pour

limite.point Non 3. colonnepour 12/5 valeur5/3Pour

3/2où d' )1(32)1(3 :3,2 Colonnes 1,2 colonnespour 7/3 valeur3/2Pour

limite.Point 1. colonnepour 2 valeur3/7Pour

2/1où d' )1(32)1(4 :3,1 Colonnes 1,3 colonnespour 5/2 valeur2/1Pour

limite.Point 2. colonnepour 2 valeur2/1Pour

)1(.33. )1.(32.A dans Lignes1,2 43 2

Colonnes de B:

Page 16: Programmation linéaire, Jeux, Complexité

Algorithme de Lemke-Howson

314

231

133

312BA

Coloriage LH Graphes dans les simplex de I et II5 couleurs: (1,2) pour I et (3,4,5) pour II.

Coloriage dans le simplex de I:

2ou 1ipour i colorié )x,(xpoint ,0 x 21i Si ,(B) optimale j colonne si point x,un Pour

IIpour symétrique Coloriage

3,4,5)(j j coloriépoint x

3,4,5jpour j colorié ),y,y(ypoint ,0y 321i Si

,(A) optimale i ligne si y,point un Pour 1,2)(i i coloriéy point

Page 17: Programmation linéaire, Jeux, Complexité

Algorithme de Lemke-Howson

314

231

133

312BA

(1,0)

(0,1)

(2/3,1/3)

1 2

3

4 5

1 3

4

2 4

3

(1,0,0) (0,1,0)

(0,0,1)

(0,1/2,1/2)

1

2

4

3

1 2

4 5

1

2

Couleurs Lemke-Howson

5

3

3

(2/3,0,1/3)4

(1/2,1/2)

5

5

2

Page 18: Programmation linéaire, Jeux, Complexité

Algorithme de Lemke-Howson

314

231

133

312BA

Lemke-Howson:

Nash de équilibreun est ),y,y(y )x,(x Paire 32121

couleurs. des C ensemblel' couleurs leurs deunion l' ssi

Exemple:

Nash de équilibreun est (1,0,0) (0,1) Paire

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.

Nash de équilibres autres 2 lessont )(2/3,0,1/3, (1/2,1/2)et )(0,1/2,1/2, (2/3,1/3) Paires

Page 19: Programmation linéaire, Jeux, Complexité

Exemple 2

356

320

320

401BA

Algorithme LH1. Points frontières pour I: (1/3,2/3) et (2/3,1/3)

pour II: 2. Coloriage des points: 1/3

D’après B. Von Stengel, Computing Equilibria for two-person games, Handbook of Game theory with Economic applications, 2002.

Page 20: Programmation linéaire, Jeux, Complexité

Coloriage Lemke-Howson

(1,0)

(0,1)

(2/3,1/3)

1 2 4 5

1

42

3

(1,0,0) (0,1,0)

(0,0,1)(0,1/3,2/3)

1

2

4

3

1 2

4 5

1

Couleurs Lemke-Howson

5

3

3

(2/3,1/3,0)

356

320

320

401BA

(1/3,2/3)33 4

5

1

2 5

4 5

Page 21: Programmation linéaire, Jeux, Complexité

Equilibres de l’exemple 2

356

320

320

401BA

Equilibres de Nash1. (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)

Page 22: Programmation linéaire, Jeux, Complexité

Existence d’Equilibres

Lemme deSperner

Point-fixeBrouwer

EquilibreArrow-Debreu

Point-fixeKakutani

EquilibreNash

Preuves non-constructives.

Page 23: Programmation linéaire, Jeux, Complexité

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 2

1

1

0

0

0

21

2 21

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.

Page 24: Programmation linéaire, Jeux, Complexité

Point fixe de Brouwer

Brouwer:

0

1 2

simplex.n-un sur continuefonction une Soit x.(x) que x telexiste Il

Soit un découpage en triangles de plus en plus fins.Déterminer un coloriage en détectant le côté traversé par . 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.

,...T,...,T ,T i21

1

(x).

Page 25: Programmation linéaire, Jeux, Complexité

Point fixe de Kakutani

Soit:Fonction à valeur convexe.Graphe continuité

2 S : S

(x,y), versconverge qui ),( suite Pour toute ii yx

)( alors )( , si xyxyi ii

)( que tel existe il : Kakutani *** xxx

Preuve: réduire le problème à l’existence d’un point fixe de Brouwer.Définir à l’étape i de la triangulation

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 sous-séquence qui converge vers x*.

(x)y(x) i

Page 26: Programmation linéaire, Jeux, Complexité

Existence de Nash

Soit:

Ipour y à réponses meilleuresx (y) 1

),(, que tel),( existe il :Nash ****** yxyxyx

Preuve: montrer que la fonction est à valeurs convexes et continue comme graphe.On applique Kakutani et on obtient un équilibre de Nash.

IIpour x à réponses meilleuresy (x) 2

(x) (y) (x,y) 21

Page 27: Programmation linéaire, Jeux, Complexité

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é

ii mxp .

ipar achetés biens de vecteur leest ix

jjii

ax ,

jiji uxMax ,, .

Page 28: Programmation linéaire, Jeux, Complexité

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

C

xpapp i

jijjj

j

).( )(

,

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)

Page 29: Programmation linéaire, Jeux, Complexité

Classes PPA et PPAD

PPA : Polynomial Parity Argument

PPAD : Polynomial Parity Argument in Directed graphs

A est dand PPA (PPAD) si:Il existe une TM avec é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

)(2 xp

Page 30: Programmation linéaire, Jeux, Complexité

NP -complétude

Existe-t-il un algorithme polynomial?

Exemple SAT (variables booléennes)

0110101

43

432

321

xxxxx

xxx

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 s’il existe une fonction f calculable en temps polynomial t.q.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

43

432

321

xxxxx

xxx

BA p

BxfAx )( ssi

Page 31: Programmation linéaire, Jeux, Complexité

Programmation linéaire en nombres entiers

Théorème. PL est NP-complet

Réduction à SAT

0110101

43

432

321

xxxxx

xxx

Pas d’algorithme polynomial connu.

Définition : Un problème d’optimisation est s’il existe un algorithme polynomial dont la solution A(x) est t.q.

43

432

321

xxxxx

xxx

)1)(()()1)(( xfxAxf

leapproximab

Théorème. Si PL est alors P=NP.

leapproximab

Page 32: Programmation linéaire, Jeux, Complexité

Couverture, Hamiltonicité, Voyageur de commerce

1 5

6 7

3

4

2

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 qui minimise

Théorème : ces 3 problèmes sont NP-complets

4

2

3

1

2 2

6

10

9

n

iic

Page 33: Programmation linéaire, Jeux, Complexité

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

Tout nœud est couvert

On en déduit :

Algorithme 0.5 approximatif.

n

iic

CCC / min

2/ min CC

2/1 / min CCC

Page 34: Programmation linéaire, Jeux, Complexité

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 à

Soit Gn donné : introduire des coûts de 1 pour les arêtes de Gn et de 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.

VC

1/n

Page 35: Programmation linéaire, Jeux, Complexité

Complexité et approximation

3 solutions possibles:•Problème est approximable pour un(Couverture) •Problème est approximable pour toutKnapsack (Sac-à-dos)•Problème est non approximable (VC)

Approximation par échantillonnageMAXCUT, 3COL.Estimer ces fonctions sur des sous-graphes aléatoires et faire la moyenne.

G

Page 36: Programmation linéaire, Jeux, Complexité

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?