From 270cb59d67df7ff08863e0f3b434763762ad6e8d Mon Sep 17 00:00:00 2001 From: "David A. Madore" Date: Sun, 28 Feb 2016 22:20:16 +0100 Subject: Link zero-sum games and linear programming. --- notes-mitro206.tex | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 96 insertions(+), 1 deletion(-) (limited to 'notes-mitro206.tex') diff --git a/notes-mitro206.tex b/notes-mitro206.tex index f3253a6..1bcf911 100644 --- a/notes-mitro206.tex +++ b/notes-mitro206.tex @@ -30,6 +30,7 @@ \newtheorem{thm}[comcnt]{Théorème} \newtheorem{cor}[comcnt]{Corollaire} \newtheorem{scho}[comcnt]{Scholie} +\newtheorem{algo}[comcnt]{Algorithme} \renewcommand{\qedsymbol}{\smiley} % \newcommand{\outnb}{\operatorname{outnb}} @@ -1260,7 +1261,7 @@ peut prendre $\varepsilon$ arbitrairement petit, on a ce qu'on voulait. \end{proof} -\begin{cor} +\begin{cor}\label{symmetric-zero-sum-game} Soit $C$ un convexe compact dans un espace affine réel de dimension finie, et $u\colon C^2 \to \mathbb{R}$ une application bi-affine antisymétrique (i.e., $u(y,x) = -u(x,y)$). Alors il @@ -1284,6 +1285,100 @@ Avec les hypothèses et notations du corollaire, l'ensemble des $x$ tels que $u(x,y)\geq 0$ pour tout $y\in C$ est un convexe compact $C_0 \neq \varnothing$ inclus dans $C$. +\thingy\label{minimax-for-games} Le théorème \ref{theorem-minimax} +s'applique à la théorie des jeux de la manière suivante : si on +considère un jeu à deux joueurs à somme nulle, en notant $S_1$ et +$S_2$ les ensembles des stratégies mixtes des deux joueurs, et $u +\colon S_1 \times S_2 \to \mathbb{R}$ le gain espéré du joueur $1$, le +gain du joueur $2$ étant donc $-u$, le fait que $(x_0,y_0)$ soit un +équilibre de Nash se traduit par le fait que $x_0$ soit la meilleure +réponse possible de $1$ contre $y_0$, i.e., $u(x_0,y_0) = \max_{x\in + S_1} u(x,y_0)$, et le fait que $y_0$ soit la meilleure réponse +possible de $2$ contre $x_0$, c'est-à-dire $u(x_0,y_0) = \min_{y\in + S_2} u(x_0,y)$ (puisque $2$ cherche à maximiser $-u$, c'est-à-dire +minimiser $u$). Comme on l'a expliqué dans la preuve, on a +\[ +\max_{x\in S_1} \min_{y\in S_2} u(x,y) +\geq \min_{y\in S_2} u(x_0,y) = u(x_0,y_0) += \max_{x\in S_1} u(x,y_0) \geq +\min_{y\in S_2} \max_{x\in S_1} u(x,y) +\] +donc en fait il y a égalité partout : tout équilibre de Nash réalise +la même valeur $u(x_0,y_0) = \max_{x\in S_1} \min_{y\in S_2} u(x,y) = +\min_{y\in S_2} \max_{x\in S_1} u(x,y)$, qu'on appelle la +\textbf{valeur} du jeu à somme nulle. On peut donc parler de +\textbf{stratégie optimale} pour le joueur $1$, resp. $2$ pour +désigner une composante $x_0$, resp. $y_0$, d'un équilibre de Nash, +i.e., vérifiant $\min_{y\in S_2} u(x_0,y) = \max_{x\in S_1} \min_{y\in + S_2} u(x,y)$, resp. $\max_{x\in S_1} u(x,y_0) = \min_{y\in S_2} +\max_{x\in S_1} u(x,y)$, ces deux quantités étant égales à la valeur +du jeu. + +Le corollaire \ref{symmetric-zero-sum-game} nous apprend (de façon peu +surprenante) que si le jeu à somme nulle est \emph{symétrique} (ce qui +signifie que $u$ est antisymétrique), alors la valeur du jeu est +nulle. + +\thingy Dans le contexte ci-dessus, on peut légèrement reformuler le +minimax : si on se rappelle qu'\emph{une fonction affine sur un + simplexe prend son maximum (ou son minimum) sur un des sommets} du +simplexe, cela signifie que, quel que soit $x\in S_1$ fixé, le minimum +$\min_{y\in S_2} u(x,y)$ est en fait atteint sur une stratégie +\emph{pure}, $\min_{y\in S_2} u(x,y) = \min_{y\in A_2} u(x,y)$ (avec +$A_2$ l'ensemble des sommets de $S_2$, i.e., l'ensemble des stratégies +pures du joueur $2$), et de même $\max_{x\in S_1} u(x,y) = \max_{x\in + A_1} u(x,y)$ quel que soit $y \in S_2$. \emph{Ceci ne signifie pas} +qu'il existe un équilibre de Nash en stratégies pures (penser à +pierre-papier-ciseaux). Néanmoins, cela signifie que pour calculer la +pire valeur possible $\min_{y\in S_2} u(x,y)$ d'une stratégie $x$ du +joueur $1$, celui-ci peut ne considérer que les réponses en stratégies +pures du joueur $2$. + +\begin{algo} +Donnée une fonction $u\colon A_1 \times A_2 \to \mathbb{R}$ (avec +$A_1,A_2$ deux ensembles finis) définissant la matrice de gains pour +le joueur $1$ d'un jeu à somme nulle. On peut calculer une stratégie +mixte optimale (cf. \ref{minimax-for-games}) pour le joueur $1$ en +résolvant, par exemple au moyen de l'algorithme du simplexe, le +problème de programmation linéaire dont les variables sont les $x_a$ +pour $a \in A_1$ (les poids de la stratégie mixte) et $v$ (le gain +obtenu) cherchant à maximiser $v$ sujet aux contraintes : +\[(\forall a\in A_1)\;x_a \geq 0\] +\[\sum_{a\in A_1} x_a = 1\] +\[(\forall b\in A_2)\;v \leq u(x,b) := \sum_{a \in A_1} u(a,b)\, x_a\] +Autrement dit, il s'agit d'un problème de programmation linéaire à +$\#A_1 + 1$ variables avec des contraintes de positivité sur $\#A_1$ +d'entre elles, une contrainte d'égalité et $\#A_2$ inégalités affines. +\end{algo} + +\thingy Pour ramener ce problème à un problème de programmation +linéaire en \emph{forme normale} (maximiser $\textbf{p} x$ sous les +contraintes $\textbf{M} x \leq \textbf{q}$ et $x\geq 0$), on sépare la +variable $v$ en $v_+ - v_-$ avec $v_+,v_- \geq 0$, et le problème +devient de maximiser $v_+ - v_-$ sous les contraintes +\[v_+\geq 0,\; v_- \geq 0,\;\; (\forall a\in A_1)\;x_a \geq 0\] +\[\sum_{a\in A_1} x_a \leq 1\] +\[-\sum_{a\in A_1} x_a \leq -1\] +\[(\forall b\in A_2)\;v_+ - v_- - \sum_{a \in A_1} u(a,b)\, x_a \leq 0\] +Le problème dual (minimiser ${^{\mathrm{t}}\textbf{q}} y$ sous les +contraintes ${^{\mathrm{t}}\textbf{M}} y \geq {^\mathrm{t}\textbf{q}}$ +et $y\geq 0$) est alors de minimiser $w_+ - w_-$ sous les contraintes +\[w_+\geq 0,\; w_- \geq 0,\;\; (\forall b\in A_2)\;y_b \geq 0\] +\[\sum_{b\in A_2} y_b \leq 1\] +\[-\sum_{b\in A_2} y_b \leq -1\] +\[(\forall a\in A_1)\;w_+ - w_- - \sum_{b \in A_2} u(a,b)\, y_b \geq 0\] +Il s'agit donc exactement du même problème, mais pour l'autre joueur. + +Le théorème \ref{theorem-minimax} est essentiellement équivalent au +théorème de dualité pour la programmation linéaire (qui assure que si +le problème primal a un optimum $x_0$ alors le dual en a un $y_0$, et +on a égalité des optima). + +Comme l'algorithme du simplexe résout simultanément le problème primal +et le problème dual, l'algorithme ci-dessus (exécuté avec l'algorithme +du simplexe) trouve simultanément la stratégie optimale pour les deux +joueurs. + % % -- cgit v1.2.3