%% This is a LaTeX document.  Hey, Emacs, -*- latex -*- , get it?
\documentclass[12pt,a4paper]{article}
\usepackage[francais]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
%\usepackage{ucs}
\usepackage{times}
% A tribute to the worthy AMS:
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
%
\usepackage{mathrsfs}
\usepackage{wasysym}
\usepackage{url}
%
\usepackage{xr-hyper}
%
\usepackage{graphics}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{matrix,calc}
\usepackage{hyperref}
%
\externaldocument{notes-mitro206}[notes-mitro206.pdf]
%
\theoremstyle{definition}
\newtheorem{comcnt}{Tout}
\newcommand\thingy{%
\refstepcounter{comcnt}\smallbreak\noindent\textbf{\thecomcnt.} }
\newcommand\exercice{%
\refstepcounter{comcnt}\bigbreak\noindent\textbf{Exercice~\thecomcnt.}}
\renewcommand{\qedsymbol}{\smiley}
%
\newcommand{\outnb}{\operatorname{outnb}}
\newcommand{\downstr}{\operatorname{downstr}}
\newcommand{\precs}{\operatorname{precs}}
\newcommand{\mex}{\operatorname{mex}}
\newcommand{\id}{\operatorname{id}}
\newcommand{\limp}{\Longrightarrow}
\newcommand{\gr}{\operatorname{gr}}
\newcommand{\rk}{\operatorname{rk}}
\newcommand{\fuzzy}{\mathrel{\|}}
%
\DeclareUnicodeCharacter{00A0}{~}
%
\DeclareMathSymbol{\tiret}{\mathord}{operators}{"7C}
\DeclareMathSymbol{\traitdunion}{\mathord}{operators}{"2D}
%
\DeclareFontFamily{U}{manual}{} 
\DeclareFontShape{U}{manual}{m}{n}{ <->  manfnt }{}
\newcommand{\manfntsymbol}[1]{%
    {\fontencoding{U}\fontfamily{manual}\selectfont\symbol{#1}}}
\newcommand{\dbend}{\manfntsymbol{127}}% Z-shaped
\newcommand{\danger}{\noindent\hangindent\parindent\hangafter=-2%
  \hbox to0pt{\hskip-\hangindent\dbend\hfill}}
%
\newcommand{\spaceout}{\hskip1emplus2emminus.5em}
\newif\ifcorrige
\corrigetrue
\newenvironment{corrige}%
{\ifcorrige\relax\else\setbox0=\vbox\bgroup\fi%
\smallbreak\noindent{\underbar{\textit{Corrigé.}}\quad}}
{{\hbox{}\nobreak\hfill\checkmark}%
\ifcorrige\relax\else\egroup\fi\par}
%
%
%
\begin{document}
\ifcorrige
\title{MITRO206\\Contrôle de connaissances — Corrigé\\{\normalsize Théorie des jeux}}
\else
\title{MITRO206\\Contrôle de connaissances\\{\normalsize Théorie des jeux}}
\fi
\author{}
\date{21 avril 2016}
\maketitle

%% {\footnotesize
%% \immediate\write18{sh ./vc > vcline.tex}
%% \begin{center}
%% Git: \input{vcline.tex}
%% \end{center}
%% \immediate\write18{echo ' (stale)' >> vcline.tex}
%% \par}

\pretolerance=8000
\tolerance=50000

\vskip1truein\relax

\noindent\textbf{Consignes.}

Les exercices sont indépendants sauf dans la mesure où le contraire
est précisé.  Ils pourront être traités dans un ordre quelconque, mais
on demande de faire apparaître de façon très visible dans les copies
où commence chaque exercice.

Il n'est pas nécessaire de faire des réponses longues.  Notamment, si
certaines réponses sont très semblables à des exercices déjà traités
en cours, on pourra donner une justification lapidaire, mais on
prendra bien soin de souligner tout ce qui diffère.

\medbreak

L'usage de tous les documents (notes de cours manuscrites ou
imprimées, feuilles d'exercices, livres) est autorisé.

L'usage des calculatrices électroniques est interdit.

\medbreak

Durée : 3h

\medbreak

Barème indicatif : chaque question a approximativement la même valeur.
Il ne sera pas nécessaire de tout traiter pour avoir le maximum des
points.

\pagebreak


%
%
%

\exercice

Alice joue contre Bob un jeu dans lequel elle choisit une option parmi
deux possibles appelées U et V, et Bob choisit une option parmi deux
appelées X et Y (les modalités du choix varient selon les questions
ci-dessous) : les gains d'\emph{Alice} (c'est-à-dire, la fonction
qu'elle cherche à maximiser) sont donnés par le tableau ci-dessous, en
fonction de son choix (colonne de gauche) et de celui de Bob (ligne du
haut) :

\begin{center}
\begin{tabular}{r|ccc}
$\downarrow$A, B$\rightarrow$&X&Y\\\hline
U&$3$&$1$\\
V&$0$&$4$\\
\end{tabular}
\end{center}

\smallbreak

(1) On suppose que Bob fait son choix \emph{après} Alice, et en
connaissant le choix d'Alice, et qu'il cherche à minimiser le gain
d'Alice (i.e., le gain de Bob est l'opposé de celui d'Alice).  Comment
Alice a-t-elle intérêt à jouer et comment Bob répondra-t-il ?  Quelle
est le gain d'Alice dans ce cas ?

\begin{corrige}
Si Alice choisit U, Bob répondra par Y et le gain d'Alice sera $1$ ;
si Alice choisit V, Bob répondra par X et le gain d'Alice sera $0$.
Comme Alice veut maximiser son gain, elle a intérêt à choisir U, et
Bob répondra par Y, et le gain d'Alice sera $1$ dans ce cas.
\end{corrige}

\smallbreak

(2) On suppose maintenant que Bob fait son choix \emph{avant} Alice,
et qu'Alice connaîtra le choix de Bob ; on suppose toujours que Bob
cherche à minimiser le gain d'Alice.  Que fera Bob et comment Alice
répondra-t-elle ?  Quelle est le gain d'Alice dans ce cas ?

\begin{corrige}
Si Bob choisit X, Alice répondra par U et le gain d'Alice sera $3$ ;
si Bob choisit Y, Alice répondra par V et le gain d'Alice sera $4$.
Comme Bob veut minimiser le gain d'Alice, il a intérêt à choisir X, et
Alice répondra par U, et le gain d'Alice sera $3$ dans ce cas.
\end{corrige}

\smallbreak

(3) On suppose qu'Alice et Bob font leur choix séparément, sans
connaître le choix de l'autre, et toujours que Bob cherche à minimiser
le gain d'Alice.  Comment ont-ils intérêt à faire leurs choix ?  Quel
est le gain (espéré) d'Alice dans ce cas ?

\begin{corrige}
On a affaire à un jeu à somme nulle écrit en forme normale :
l'algorithme \ref{zero-sum-games-by-linear-programming-algorithm} nous
indique qu'on obtient la stratégie optimale d'Alice en résolvant le
problème de programmation linéaire suivant :
\[
\left\{
\begin{aligned}
\text{maximiser\ }v&\text{\ avec}\\
p_U \geq 0\;, \;\; p_V \geq 0&\\
p_U + p_V &= 1\\
v - 3p_U - 1p_V &\leq 0\;\;\text{(X)}\\
v - 0p_U - 4p_V &\leq 0\;\;\text{(Y)}\\
\end{aligned}
\right.
\]
On peut l'écrire sous forme normale en réécrivant $v = v_+ - v_-$ avec
$v_+,v_- \geq 0$, mais on gagne un petit peu en remarquant que $v$
sera forcément positif puisque tous les gains du tableau le sont, donc
on peut ajouter la contrainte $v \geq 0$.  Une application de
l'algorithme du simplexe donne finalement l'optimum $v = 2$ atteint
pour $p_U = \frac{2}{3}$ et $p_V = \frac{1}{3}$, avec pour le dual
$q_X = \frac{1}{2}$ et $q_Y = \frac{1}{2}$ (les inégalités (X) et (Y)
sont toutes les deux saturées).

Autrement dit, Alice joue les options U et V avec probabilités
$\frac{1}{3}$ et $\frac{2}{3}$, Bob réplique avec les options X et Y
de façon équiprobable, et le gain espéré d'Alice est $2$, qui est la
valeur du jeu à somme nulle en forme normale considéré ici.
\end{corrige}

\smallbreak

(4) On suppose maintenant que Bob cherche à \emph{maximiser} le gain
d'Alice (i.e., il n'est plus son adversaire comme dans les questions
(1), (2) et (3), mais son allié).  On cherche à déterminer quels sont
les équilibres de Nash possibles.  On notera $(p_U,p_V, q_X,q_Y)$ un
profil de stratégies mixtes général, où $p_U,p_V$ (positifs de
somme $1$) sont les poids des deux options d'Alice (=probabilités
qu'elle les joue), et $q_X,q_Y$ (positifs, également de somme $1$) les
poids des deux options de Bob.  On va discuter selon le support des
stratégies (i.e., selon les ensembles d'options qui ont un poids
strictement positif).\spaceout (a) Pour commencer, quels sont les
équilibres de Nash évidents en stratégies pures ?  Expliquer pourquoi
ce sont bien les seuls équilibres de Nash où l'un des deux joueurs a
une stratégie pure.\spaceout (b) Calculer ce que doivent valoir $p_U$
et $p_V$ dans un équilibre de Nash où $q_X > 0$ et $q_Y > 0$ (i.e.,
les options X et Y de Bob sont dans le support), et ce que doivent
valoir $q_X$ et $q_Y$ dans un équilibre de Nash où $p_U > 0$ et $p_V >
0$ (i.e., les options U et V d'Alice sont dans le support).  Ces
contraintes donnent-elles effectivement un équilibre de
Nash ?\spaceout (c) Conclure quant à l'ensemble des équilibres de Nash
du jeu considéré.

\begin{corrige}
(a) Deux équilibres de Nash sont évidents : si Alice joue (purement) U
  et Bob joue (purement) X, aucun n'a intérêt à changer puisque $3$
  est maximum sur la ligne et sur la colonne ; si Alice joue
  (purement) V et Bob joue (purement) Y, aucun n'a intérêt à changer
  puisque $4$ est maximum sur la ligne et sur la colonne.  Les gains
  d'Alice (et de Bob) dans chacun de ces cas sont donc $3$ et $4$
  respectivement.

Il s'agit là de l'ensemble des équilibres de Nash où l'un des deux
joueurs a une stratégie pure : par exemple, si Alice joue purement U,
Bob ne peut que répondre par purement X puisque le gain $3$ est
strictement plus grand que tout autre gain sur la ligne (i.e., donner
un poids non nul à une autre option de Bob ne pourrait que diminuer le
gain).

(b) Si $q_X > 0$ et $q_Y > 0$, les stratégies pures X et Y de Bob
donnent forcément le même gain, car si l'une d'elle donnait un gain
strictement supérieure à l'autre, Bob aurait intérêt à augmenter le
poids $q$ correspondant et améliorerait ainsi strictement sa réponse.
Autrement dit, l'espérance de gain contre la stratégie pure X,
c'est-à-dire $6 p_U$, est égale à l'espérance de gain contre la
stratégie pure Y, soit $p_U + 4 p_V$.  On a donc $3 p_U = p_U + 4
p_V$, et comme aussi $p_U + p_V = 1$ on trouve $(p_U, p_V) =
(\frac{1}{3}, \frac{2}{3})$ en résolvant le système (soit la même
stratégie mixte que trouvée en (3), ce qui n'est pas un hasard vu que
le signe des gains de Bob n'est pas du tout intervenu dans le
raisonnement).  De même, si $p_U > 0$ et $p_V > 0$, on a $3 q_X + q_Y
= 4 q_Y$, et comme aussi $q_X + q_Y = 1$ on trouve $(q_X, q_Y) =
(\frac{1}{2}, \frac{1}{2})$ en résolvant le système (même remarque).

Bref, on a un équilibre de Nash \emph{potentiel} donné par $(p_U,p_V,
q_X,q_Y) = (\frac{2}{3}, \frac{1}{3}, \frac{1}{2}, \frac{1}{2})$,
c'est-à-dire exactement le même profil que dans la question (3) quand
les joueurs étaient adversaires.  Pourtant, aucun des deux joueurs n'a
(strictement) intérêt à changer unilatéralement sa stratégie puisque
les deux options qui se présentent à lui sont indifférentes (elles ont
le même gain espéré) compte tenu du comportement de l'autre.  On a
donc bien trouvé un troisième équilibre de Nash.

(c) Pour résumer, on a trois équilibres de Nash récapitulés par le
tableau (triés par ordre de gain espéré décroissant) :
\begin{center}
\begin{tabular}{cc|cc|c}
$p_U$&$p_V$&$q_X$&$q_Y$&gain\\\hline
$0$&$1$&$0$&$1$&$4$\\
$1$&$0$&$1$&$0$&$3$\\
$\frac{2}{3}$&$\frac{1}{3}$&$\frac{1}{2}$&$\frac{1}{2}$&$2$\\
\end{tabular}
\end{center}
et on a prouvé que c'étaient bien les seuls.
\end{corrige}


%
%
%

\exercice\label{game-for-nim-product}

On considère le jeu suivant : une position du jeu consiste en un
certain nombre fini de jetons placés sur un damier transfini dont les
cases étiquetées par un couple $(\alpha,\beta)$ d'ordinaux (on dira
que $\alpha$ est [le numéro de] la ligne de la case et $\beta$ [le
  numéro de] la colonne).  Plusieurs jetons peuvent se trouver sur la
même case.

Un coup du jeu consiste à faire l'opération suivante : le joueur qui
doit jouer choisit un jeton du jeu, disons qu'il soit sur la case
$(\alpha,\beta)$, et il choisit aussi $\alpha' < \alpha$ (i.e., une
ligne située plus haut) et $\beta' < \beta$ (i.e., une colonne située
plus à gauche), il retire le jeton choisi de la case $(\alpha,\beta)$
et le remplace par \emph{trois} jetons, sur les cases
$(\alpha',\beta)$, $(\alpha,\beta')$ et $(\alpha',\beta')$.  (À titre
d'exemple, si le jeu comporte un seul jeton sur la case $(42,7)$, un
coup valable consiste à le remplacer par trois jetons, sur les cases
$(18,7)$, $(42,5)$ et $(18,5)$.)  Le nombre de jetons présents
augmente donc de $2$ à chaque coup joué.

\begin{center}
\vskip-\baselineskip
\begin{tikzpicture}
\draw[step=.5cm,help lines] (0,-2) grid (3.5,0);
\begin{scope}[every node/.style={circle,fill,inner sep=1.2mm}]
\node at (1.25,-0.75) {};
\node at (1.25,-1.75) {};
\node at (2.75,-0.75) {};
\node[fill=gray] at (2.75,-1.75) {};
\end{scope}
\node[anchor=east] at (0,-0.75) {$\alpha'$};
\node[anchor=east] at (0,-1.75) {$\alpha$};
\node[anchor=south] at (1.25,0) {$\beta'$};
\node[anchor=south] at (2.75,0) {$\beta$};
\end{tikzpicture}
\\{\footnotesize (Le jeton en gris est remplacé par les trois noirs.)}
\end{center}

On remarquera que les jetons sur la ligne ou la colonne $0$ ne peuvent
plus être retirés ou servir de quelque manière que ce soit : on pourra
dire que cette ligne et cette colonne $0$ sont la « défausse » des
jetons.  Le jeu se termine lorsque chacun des jetons est sur la ligne
ou la colonne $0$ (=dans la défausse), car il n'est alors plus
possible de jouer.  Les joueurs (Alice et Bob) jouent à tour de rôle
et celui qui ne peut plus jouer a perdu.

(0) Décrire brièvement le jeu complètement équivalent dans lequel il
n'y a pas de ligne ou de colonne $0$ (on fait démarrer la numérotation
à $1$) et il n'y a pas de défausse (les jetons disparaissent plutôt
qu'être défaussés) : quels sont les types de coups possibles à ce
jeu ?  On se permettra dans la suite d'utiliser librement l'une ou
l'autre variante du jeu.

\begin{corrige}
Les jetons défaussés ne jouant aucun rôle dans le jeu, on peut les
ignorer et obtenir un jeu équivalent.  Les lignes et les colonnes sont
alors numérotés par des ordinaux non nuls, c'est-à-dire $\geq 1$.  Les
quatre types de coups possibles dans ce jeu, selon que $\alpha'$ et/ou
$\beta'$ vaut $0$, sont alors :
\begin{itemize}
\item simplement retirer un jeton de la case $(\alpha,\beta)$ [cas où
  $\alpha' = 0$ et $\beta' = 0$],
\item déplacer un jeton de la case $(\alpha,\beta)$ vers une case
  $(\alpha,\beta')$ plus à gauche (i.e., $\beta' < \beta$) dans la
  ligne [cas où $\alpha' = 0$ et $\beta' \neq 0$],
\item déplacer un jeton de la case $(\alpha,\beta)$ vers une case
  $(\alpha',\beta)$ plus haut (i.e., $\alpha' < \alpha$) dans la
  colonne [cas où $\alpha' \neq 0$ et $\beta' = 0$],
\item remplacer un jeton de la case $(\alpha,\beta)$ par un jeton sur
  une case $(\alpha,\beta')$ plus à gauche dans la ligne, un autre sur
  une case $(\alpha',\beta)$ plus haut dans la colonne, et un
  troisième sur la case $(\alpha',\beta')$ à l'intersection de la
  nouvelle ligne et de la nouvelle colonne, comme dans le jeu
  d'origine [cas où $\alpha' \neq 0$ et $\beta' \neq 0$].
\end{itemize}
\vskip-\baselineskip\vskip-\baselineskip
\end{corrige}

\smallbreak

(1) (a) Montrer qu'il existe une fonction $h(\alpha,\beta)$ de deux
ordinaux $\alpha,\beta$ et à valeurs ordinales qui soit strictement
croissante en chaque variable (c'est-à-dire que si $\alpha' < \alpha$
alors $h(\alpha',\beta) < h(\alpha,\beta)$ et que si $\beta' < \beta$
alors $h(\alpha,\beta') < h(\alpha,\beta)$).  Pour cela, on pourra,
comme on préfère, poser $h(\alpha,\beta) = \omega^{\max(\alpha,\beta)}
+ \omega^{\min(\alpha,\beta)}$ ou bien $h(\alpha,\beta) =
\alpha\boxplus\beta$ où $\alpha\boxplus\beta$ désigne l'ordinal dont
les chiffres de la forme normale de Cantor sont la somme des chiffres
correspondants de $\alpha$ et de $\beta$.\spaceout (b) En déduire que
le jeu considéré dans cet exercice termine toujours en temps fini.
(On pourra par exemple considérer la somme des $\omega^\gamma$ où
$\gamma$ parcourt les $h(\alpha,\beta)$ des cases où il y a un jeton,
dans l'ordre décroissant.)

\begin{corrige}
(a) Si on pose $h(\alpha,\beta) = \omega^{\max(\alpha,\beta)} +
  \omega^{\min(\alpha,\beta)}$ et si $\alpha' < \alpha$, alors soit
  $\max(\alpha,\beta) < \max(\alpha',\beta)$ soit $\max(\alpha,\beta)
  = \max(\alpha',\beta)$ et alors $\min(\alpha,\beta) <
  \min(\alpha',\beta)$, et dans les deux cas $h(\alpha',\beta) <
  h(\alpha,\beta)$ par comparaison des formes normales de Cantor.
  Comme la fonction $h$ est symétrique en ses deux arguments, on a
  aussi $h(\alpha,\beta') < h(\alpha,\beta)$ si $\beta' < \beta$.

Si on préfère poser $h(\alpha,\beta) = \alpha\boxplus\beta$, et si
$\alpha' < \alpha$, le chiffre correspondant à la plus haute puissance
de $\omega$ qui diffère est strictement plus petit dans la forme
normale de Cantor de $\alpha'$ que celui de $\alpha$, et cette
affirmation est encore vraie lorsqu'on ajoute chiffre à chiffre la
forme normale de Cantor de $\beta$, donc on a bien $h(\alpha',\beta) <
h(\alpha,\beta)$.  Comme la fonction $h$ est symétrique en ses deux
arguments, on a aussi $h(\alpha,\beta') < h(\alpha,\beta)$ si $\beta'
< \beta$.

(\emph{Remarque :} En fait, la fonction $\boxplus$, aussi appelée
« somme naturelle » sur les ordinaux, est plus naturelle dans ce
contexte, parce qu'on peut se convaincre que $\alpha \boxplus \beta =
\sup^+ \big( \{\alpha'\boxplus\beta : \alpha' < \alpha\} \cup\,
\{\alpha\boxplus\beta' : \beta' < \beta\}\big)$, c'est-à-dire qu'elle
est justement la « plus petite » fonction strictement croissante en
chacun de ses arguments.  On comparera cette définition avec $\alpha
\oplus \beta = \mex \big( \{\alpha'\oplus\beta : \alpha' < \alpha\}
\cup\, \{\alpha\oplus\beta' : \beta' < \beta\}\big)$.  En revanche,
l'addition usuelle ne convient pas, parce que $\alpha'+\beta$ peut
être égal à $\alpha+\beta$ même si $\alpha'<\alpha$, par exemple
$1+\omega = 0+\omega$.)

(b) À une position du jeu ayant $s$ jetons sur les
cases $(\alpha_i,\beta_i)$ (pour $i=1,\ldots,s$) on peut associer
l'ordinal $\omega^{\gamma_1} + \cdots + \omega^{\gamma_s}$ où les
$\gamma_i := h(\alpha_i,\beta_i)$ ont été triés de façon à avoir
$\gamma_1 > \cdots > \gamma_s$ (donc, quitte à regrouper les mêmes
puissances, à avoir une forme normale de Cantor).  Un coup consistae à
remplacer un terme $\omega^{\gamma_i}$ par une somme de
$\omega^{\gamma'}$ pour des $\gamma' < \gamma_i$ vu que
$h(\alpha',\beta) < h(\alpha,\beta)$ et $h(\alpha,\beta') <
h(\alpha,\beta)$ et \textit{a fortiori} $h(\alpha',\beta') <
h(\alpha,\beta)$ si $\alpha'<\alpha$ et $\beta'<\beta$.  Ceci fait
donc décroître strictement l'ordinal en question, et en particulier,
la partie doit terminer en temps fini.
\end{corrige}

(2) Dans le cas particulier où il n'y a qu'une ligne de jetons
(numérotée $1$ ; ou bien deux lignes numérotées $0$ et $1$ si on garde
la défausse), expliquer pourquoi le jeu est simplement une
reformulation du jeu de nim.

\begin{corrige}
Un coup joué sur un jeton de la ligne $1$ consiste simplement soit à
le retirer soit à le déplacer vers une colonne plus à gauche ; on peut
identifier la position ayant $n_i$ jetons sur la case $(1,\alpha_i)$ à
un partie de nim ayant $n_i$ lignes avec $\alpha_i$ allumettes : le
coup consistant à déplacer un jeton de la case $\alpha_i$ vers la case
$\alpha_i' < \alpha_i$ peut se voir comme un coup de nim consistant à
diminuer le nombre d'allumettes de la ligne qui en a $\alpha_i$ pour
qu'il en reste $\alpha'_i$ ; et le fait de retirer un jeton sur la
case $(1,\alpha_i)$ comme le coup de nim consistant à retirer toutes
les allumettes de la ligne correspondante.  Les jeux sont donc
complètement équivalents.
\end{corrige}

\smallbreak

(3) Montrer que la valeur de Grundy d'un état quelconque du jeu vaut
\[
\bigoplus_{i=1}^s (\alpha_i\otimes\beta_i)
\]
où $(\alpha_1,\beta_1),\ldots,(\alpha_s,\beta_s)$ sont les cases où se
trouvent les $s$ jetons (en autant de fois que nécessaire les cases
sur lesquelles se trouvent des jetons multiples), où $\oplus$ désigne
la somme de nim et où l'opération $\otimes$ sur les ordinaux est
définie inductivement par
\[
\alpha\otimes\beta := \mex\Big\{(\alpha'\otimes\beta)
\oplus (\alpha\otimes\beta') \oplus (\alpha'\otimes\beta')
: \alpha'<\alpha,\text{~et~}\beta'<\beta\Big\}
\tag{*}
\]

\begin{corrige}
Il n'y a aucune interaction entre les jetons dans le jeu.  En
particulier, jouer à une somme de nim de deux positions du jeu
considéré dans cet exercice revient au même que de jouer à la position
ayant la réunion de ces deux ensembles de jetons.  Si on note
$u_{\alpha,\beta}$ la position du jeu ayant un unique jeton sur la
case $(\alpha,\beta)$, on déduit de \ref{summary-of-grundy-theory} que
la valeur de Grundy d'un état quelconque du jeu vaut
$\bigoplus_{i=1}^s \gr(u_{\alpha_i,\beta_i})$.  Or
$\gr(u_{\alpha,\beta})$ est le plus petit ordinal qui n'est pas de la
forme $\gr(z)$ pour $z$ une position voisine sortante
de $u_{\alpha,\beta}$, et d'après ce qu'on vient de dire, on obtient
exactement $\gr(u_{\alpha,\beta}) = \mex\big\{\gr(u_{\alpha',\beta})
\oplus \gr(u_{\alpha,\beta'}) \oplus \gr(u_{\alpha',\beta'}) :
\alpha'<\alpha, \beta'<\beta\big\}$, c'est-à-dire bien
$\gr(u_{\alpha,\beta}) = \alpha\otimes\beta$ (même définition
inductive), et on a montré ce qui était demandé.
\end{corrige}

\smallbreak

(4) Calculer la valeur de $\alpha\otimes\beta$ pour $0\leq\alpha\leq
5$ et $0\leq\beta\leq 5$.  Pour accélérer les calculs ou bien pour les
vérifier, on pourra utiliser les résultats de
l'exercice \ref{inductions-on-nim-product} (il n'est pas nécessaire
d'avoir traité l'exercice en question).  On ne demande pas de
justifier les calculs, mais on recommande de les vérifier
soigneusement.

\begin{corrige}
En calculant un peu plus loin que ce qui était demandé, on trouve :
{\[
\begin{array}{c|cccccccccccccccc}
\otimes&0&1&2&3&4&5&6&7\\\hline
0&0&0&0&0&0&0&0&0\\
1&0&1&2&3&4&5&6&7\\
2&0&2&3&1&8&10&11&9\\
3&0&3&1&2&12&15&13&14\\
4&0&4&8&12&6&2&14&10\\
5&0&5&10&15&2&7&8&13\\
6&0&6&11&13&14&8&5&3\\
7&0&7&9&14&10&13&3&4\\
\end{array}
\]}
(pour simplifier les calculs, on peut notamment utiliser la
commutativité, et le fait que $\alpha\otimes 3 = \alpha\otimes(2\oplus
1) = (\alpha\otimes 2) \oplus \alpha$ et de même $\alpha\otimes 5 =
\alpha\otimes(4\oplus 1) = (\alpha\otimes 4) \oplus \alpha$).
\end{corrige}

\smallbreak

(5) Si vous devez jouer dans la position suivante (les lignes et
colonnes sont numérotées à partir de $1$, c'est-à-dire que la défausse
n'est pas figurée), quel coup feriez-vous ?

\begin{center}
\vskip-\baselineskip
\begin{tikzpicture}
\draw[step=.5cm,help lines] (0,-2.5) grid (2.5,0);
\begin{scope}[every node/.style={circle,fill,inner sep=1.2mm}]
\node at (0.25,-0.25) {};
\node at (0.75,-0.75) {};
\node at (1.25,-1.25) {};
\node at (1.75,-1.75) {};
\node at (2.25,-2.25) {};
\end{scope}
\node[anchor=east] at (0,-0.25) {$1$};
\node[anchor=east] at (0,-0.75) {$2$};
\node[anchor=east] at (0,-1.25) {$3$};
\node[anchor=east] at (0,-1.75) {$4$};
\node[anchor=east] at (0,-2.25) {$5$};
\node[anchor=south] at (0.25,0) {$1$};
\node[anchor=south] at (0.75,0) {$2$};
\node[anchor=south] at (1.25,0) {$3$};
\node[anchor=south] at (1.75,0) {$4$};
\node[anchor=south] at (2.25,0) {$5$};
\end{tikzpicture}
\end{center}

\begin{corrige}
La valeur de Grundy est $(1\otimes 1) \oplus (2\otimes 2) \oplus
(3\otimes 3) \oplus (4\otimes 4) \oplus (5\otimes 5) = 1 \oplus 3
\oplus 2 \oplus 6 \oplus 7 = 1$, et on veut l'annuler.  Plusieurs
coups gagnants sont possibles, par exemple : retirer le jeton en
$(1,1)$ (c'est-à-dire jouer $(\alpha,\beta,\alpha',\beta') =
(1,1,0,0)$) ; ou bien, remonter le jeton $(3,3)$ en $(1,3)$
(c'est-à-dire jouer $(\alpha,\beta,\alpha',\beta') = (3,3,1,0)$) ; ou
encore, remplacer le jeton $(5,5)$ par trois jetons en $(4,5)$,
$(5,4)$ et $(4,4)$ (c'est-à-dire jouer $(\alpha,\beta,\alpha',\beta')
= (5,5,4,4)$).
\end{corrige}


%
%
%

\exercice\label{inductions-on-nim-product}

On définit inductivement une opération $\alpha\otimes\beta$
(\emph{produit de nim}) de deux ordinaux $\alpha,\beta$ par
$\alpha\otimes\beta := \mex\{(\alpha'\otimes\beta) \oplus
(\alpha\otimes\beta') \oplus (\alpha'\otimes\beta') : \alpha'<\alpha,
\beta'<\beta\}$ (autrement dit, par la formule (*) de
l'exercice \ref{game-for-nim-product} ; il n'est pas nécessaire
d'avoir traité l'exercice en question, même s'il est permis de s'en
servir).  La notation $\oplus$ désigne la somme de nim.  On rappelle
par ailleurs que $\gamma = \mex S$ signifie que $\gamma\not\in S$ et
que tout ordinal $\gamma'<\gamma$ appartient à $S$.

(1) Montrer que $\otimes$ est commutative, c'est-à-dire que
$\beta\otimes\alpha = \alpha\otimes\beta$ quels que soient les
ordinaux $\alpha,\beta$.

\begin{corrige}
Par induction sur $\alpha$ et $\beta$, on prouve $\beta\otimes\alpha =
\alpha\otimes\beta$ en supposant que la même formule est vraie si l'un
de $\alpha$ ou $\beta$ est remplacé par un ordinal strictement plus
petit.  Or $\beta\otimes\alpha = \mex \{(\beta\otimes\alpha') \oplus
(\beta'\otimes\alpha) \oplus (\beta'\otimes\alpha') : \alpha'<\alpha,
\beta'<\beta\}$, et par hypothèse d'induction ceci vaut $\mex
\{(\alpha'\otimes\beta) \oplus (\alpha\otimes\beta') \oplus
(\alpha'\otimes\beta') : \alpha'<\alpha, \beta'<\beta\} =
\alpha\otimes\beta$.

Si on préfère, on peut aussi utiliser le jeu défini dans
l'exercice \ref{game-for-nim-product}, en remarquant qu'échanger les
coordonnées des cases de tous les jetons ne change rien au jeu (i.e.,
les règles sont symétriques ligne/colonne) donc ne change pas la
fonction de Grundy.
\end{corrige}

\smallbreak

(2) Montrer que $0$ est absorbant pour $\otimes$,
c'est-à-dire $\alpha\otimes 0 = 0$ pour tout ordinal $\alpha$.
Montrer que $1$ est neutre pour otimes, c'est-à-dire $\alpha\otimes 1
= \alpha$ pour tout ordinal $\alpha$.

\begin{corrige}
On a $\alpha \otimes 0 = \mex \varnothing = 0$ (puisqu'il n'existe pas
de $\beta'<0$).  Pour la seconde affirmation, par induction sur
$\alpha$, on prouve $\alpha \otimes 1 = \alpha$ : en effet, $\alpha
\otimes 1 = \mex \{(\alpha'\otimes 1) \oplus (\alpha\otimes 0) \oplus
(\alpha'\otimes 0): \alpha'<\alpha\}$, et en utilisant le fait que $0$
est aborbant pour $\otimes$ et neutre pour $\oplus$ et l'hypothèse
d'induction, ceci vaut $\mex \{\alpha': \alpha'<\alpha\} = \mex \alpha
= \alpha$.

Si on préfère, on peut aussi utiliser le jeu défini dans
l'exercice \ref{game-for-nim-product}, en remarquant qu'un jeton sur
la ligne ou colonne $0$ est mort (défaussé), et que jouer sur la ligne
ou colonne $1$ revient à jouer au jeu de nim d'après la question (2)
de l'exercice \ref{game-for-nim-product}.
\end{corrige}

\smallbreak

(3) (a) Montrer que si $\alpha\otimes\beta = \alpha\otimes\beta'$
alors $\alpha=0$ ou bien $\beta=\beta'$ (on pourra procéder par
contraposée).\spaceout (b) En déduire que si $\alpha'\neq\alpha$ et
$\beta'\neq\beta$, alors $(\alpha'\otimes\beta) \oplus
(\alpha\otimes\beta') \oplus (\alpha'\otimes\beta') \neq
\alpha\otimes\beta$.

\begin{corrige}
(a) Si $\alpha>0$ et $\beta\neq\beta'$, supposons sans perte de
  généralité que $\beta'<\beta$.  Alors $\alpha\otimes\beta$ est
  le $\mex$ d'un ensemble contenant $(0\otimes\beta) \oplus
  (\alpha\otimes\beta') \oplus (0\otimes\beta') =
  \alpha\otimes\beta'$, donc il ne peut pas lui être égal.

(b) Grâce aux propriétés de la somme de nim ($\gamma \neq \gamma'$
  équivaut à $\gamma\oplus\gamma' \neq 0$), la condition qu'on veut
  montrer est équivalente à : $(\alpha\otimes\beta) \oplus
  (\alpha'\otimes\beta) \oplus (\alpha\otimes\beta') \oplus
  (\alpha'\otimes\beta') \neq 0$.  Sous cette forme, on voit qu'il y a
  symétrie entre $\alpha'$ et $\alpha$ et entre $\beta'$ et $\beta$ :
  on peut donc supposer $\alpha'<\alpha$ et $\beta'<\beta$, auquel cas
  la condition est claire par la définition même de $\otimes$.
\end{corrige}

\smallbreak

(4) Montrer que $\otimes$ est distributive sur $\oplus$, c'est-à-dire
$\alpha \otimes (\beta\oplus\gamma) = (\alpha\otimes\beta) \oplus
(\alpha\otimes\gamma)$.  Pour cela, on pourra procéder par induction
(et remarquer que pour montrer $\lambda = \mu$ il suffit de montrer
que (a) $\xi<\lambda$ implique $\xi\neq\mu$ et que (b) $\xi<\mu$
implique $\xi\neq\lambda$).

\begin{corrige}
Pour montrer $\lambda = \mu$ il suffit de montrer que
(a) $\xi<\lambda$ implique $\xi\neq\mu$ et que (b) $\xi<\mu$ implique
$\xi\neq\lambda$ : en effet, si on avait $\lambda > \mu$, on aurait
une contradiction en posant $\xi = \mu$ dans (a), et si on avait
$\lambda < \mu$, on aurait une contradiction en posant $\xi = \lambda$
dans (b).

Procédons par induction pour prouver $\alpha \otimes
(\beta\oplus\gamma) = (\alpha\otimes\beta) \oplus
(\alpha\otimes\gamma)$ : on peut supposer cette égalité connue si l'un
des ordinaux $\alpha,\beta,\gamma$ est remplacé par un strictement
plus petit.

(a) Si $\xi < \alpha \otimes (\beta\oplus\gamma)$, alors on peut
écrire $\xi = (\alpha'\otimes(\beta\oplus\gamma)) \oplus
(\alpha\otimes\delta') \oplus (\alpha'\otimes\delta')$ où
$\alpha'<\alpha$ et $\delta' < \beta\oplus\gamma$.  La définition
inductive de $\oplus$ permet alors d'écrire soit $\delta' =
\beta'\oplus\gamma$ où $\beta'<\beta$, soit $\delta' =
\beta\oplus\gamma'$ où $\gamma'<\gamma$ : par symétrie, plaçons nous
sans perte de généralité dans le premier cas.  On a alors $\xi =
(\alpha'\otimes (\beta\oplus\gamma)) \oplus (\alpha\otimes
(\beta'\oplus\gamma)) \oplus (\alpha'\otimes (\beta'\oplus\gamma))$.
Par hypothèse d'induction, on peut développer les trois termes, et
quitte à simplifier les deux termes $\alpha'\otimes\gamma$ qui
apparaissent, on obtient $\xi = (\alpha'\otimes\beta) \oplus
(\alpha\otimes\beta') \oplus (\alpha'\otimes\beta') \oplus
(\alpha\otimes\gamma)$.  Puisque la somme $(\alpha'\otimes\beta)
\oplus (\alpha\otimes\beta') \oplus (\alpha'\otimes\beta')$ des trois
premiers termes est différente de $\alpha\otimes\beta$
(d'après (3)(b)), on en déduit que $\xi \neq (\alpha\otimes\beta)
\oplus (\alpha\otimes\gamma)$, ce qu'on voulait.

(b) Maintenant, si $\xi < (\alpha\otimes\beta) \oplus
(\alpha\otimes\gamma)$, on a soit $\xi = \delta' \oplus
(\alpha\otimes\gamma)$ avec $\delta' < \alpha\otimes\beta$, soit $\xi
= (\alpha\otimes\beta) \oplus \varepsilon'$ avec $\varepsilon' <
\alpha\otimes\gamma$ : par symétrie, plaçons nous sans perte de
généralité dans le premier cas.  On peut alors écrire $\delta' =
(\alpha'\otimes\beta) \oplus (\alpha\otimes\beta') \oplus
(\alpha'\otimes\beta')$ avec $\alpha'<\alpha$ et $\beta'<\beta$, donc
on a : $\xi = (\alpha'\otimes\beta) \oplus (\alpha\otimes\beta')
\oplus (\alpha'\otimes\beta') \oplus (\alpha\otimes\gamma)$.  Quitte à
faire apparaître deux termes $\alpha'\otimes\gamma$ qui s'annulent,
l'hypothèse d'induction permet de réécrire $\xi = (\alpha'\otimes
(\beta\oplus\gamma)) \oplus (\alpha\otimes (\beta'\oplus\gamma))
\oplus (\alpha'\otimes (\beta'\oplus\gamma))$.  Or $\beta'\oplus\gamma
\neq \beta\oplus\gamma$ : en utilisant (3)(b), on a $\xi \neq \alpha
\otimes (\beta\oplus\gamma)$, ce qu'on voulait.
\end{corrige}

%% \smallbreak
%%
%% On \emph{admet} que $\otimes$ est associative, c'est-à-dire
%% $(\alpha\otimes\beta) \otimes \gamma = \alpha \otimes
%% (\beta\otimes\gamma)$ (ce n'est pas très difficile à prouver).



%
%
%
\end{document}
