• Aucun résultat trouvé

Dans cette section, nous présentons la résolution de WAK sur les arbres de profondeur 2 sans boucles, qui nous permet de résoudre certains cas du jeu des tours sur un échiquier troué présenté dans la section 6.1.2. Nous démontrons le théorème suivant :

Théorème 6.17 (D., Gledel, Heinrich). Il existe un algorithme polynomial calculant l’issue d’une

partie de WAK sur un arbre de profondeur 2 sans boucles.

La preuve de ce théorème s’appuie sur des lemmes techniques, mais aussi sur un méta-lemme qui simplifie l’étude de certains graphes. Son idée est la suivante : pour un certain graphe pondéré G, il y a certains intervalles de valeurs pour les poids des sommets pour lesquels le graphe n’est pas canonique, et en appliquant une réduction l’issue peut être calculée par induction sur la taille du graphe. Quand le graphe est canonique, nous prouvons qu’un ensemble d’intervalles de valeurs pour les poids des sommets décrit l’ensemble des positions dansP.

Définition 6.18. Soit G(V, E) un graphe, l’ensemble des positions de G, noté pos(G), est l’ensemble des fonctions de pondération ω : V N.

Lemme 6.19. Soit G un graphe, et soit S ⊆ pos(G) tel qu’il n’existe aucun coup d’une position hors de S à une position de S. Soit P un sous-ensemble de S, et supposons que :

1. Il n’y a pas de coup d’une position de P à une autre position de P ;

2. Depuis une position de P , tout coup vers une position hors de S est un coup perdant ;

1. Depuis un graphe G, le graphe adjoint L(G) est construit en créant un sommet pour chaque arête de G, deux sommets étant adjacents dans L(G) si leurs arêtes associées dans G ont une extrémité commune.

3. Depuis toute position de S\ P , il y a un coup vers soit une position de P , soit une position J

hors de S telle que J ∈ P.

Sous ses conditions, si J ∈ S, alors J ∈ P si et seulement si J ∈ P .

Preuve. Soit G(V, E) un graphe. La preuve s’effectue par induction sur la somme des poids des

sommets de G. Soit ω une fonction de pondération des sommets de G telle que ω ∈ S. S’il n’y a

pas de coup possible depuis G avec la fonction de pondération ω, alors G(V, E, ω)∈ P. Or, par la

troisième condition, ω ∈ P , ce qui prouve le résultat.

Si ω /∈ P , alors par la troisième condition il existe un coup vers soit une position dans P soit une

position dans P qui sera donc dans P par hypothèse d’induction. Par conséquent, G(V, E, ω) ∈ N .

Enfin, si ω ∈ P , alors par la première condition toute option G(V, E, ω) de G vérifie ω ∈ P ./

Si ω ∈ S, alors par hypothèse d’induction G ∈ N . Si au contraire ω ∈ S, alors par la deuxième/

condition G ∈ N . Comme toute option de G est dans N , cela signifie que G ∈ P.

Ce méta-lemme nous permet de simplifier les preuves en isolant, pour un graphe G donné, un ensemble de fonctions de pondération sur les sommets de G tel que G ∈ P. Les preuves des deux

lemmes techniques suivants utilisent ce méta-lemme :

Lemme 6.20. Soient a1, a2, a3, a4 des entiers, et G(V, E, ω) le graphe tel que :

— V ={u1, u2, u3, u4} ;

— E ={u1u1, u1u2, u2u3, u3u4} ;

— ω(ui) = ai pour tout i∈ {1, 2, 3, 4}.

Si G est canonique, alors G a la même issue que le graphe composé d’un unique sommet de poids

a1+ a3 avec une boucle qui lui est attachée.

Ce lemme est illustré figure 6.10.

a1 a2 a3 a4 a1+a3

Figure6.10 – Illustration du lemme 6.20 : ces deux graphes ont la même issue.

Preuve. Soit S ⊂ pos(G) l’ensemble des positions vérifiant a3 < a2 + a4 et soit P ⊂ S le

sous-ensemble de ces positions pour lesquelles a1+ a3est pair. Notons que si une fonction de pondération

ω est telle que G(V, E, ω) est canonique, alors ω ∈ S. Nous démontrons que S et P vérifient les trois

conditions du lemme 6.19. Comme chaque coup sur G fait décroître soit a1 soit a3 de 1, il n’y a aucun coup d’une position de P à une autre position de P , donc la première condition est vérifiée.

Si ω est une position de P telle qu’il existe un coup vers une position ω ∈ S, alors nécessairement/ ω est obtenue en faisant décroître a

2+ a4 mais pas a3, et donc en jouant sur u1u2. Après un tel coup, u3 devient un sommet pesant, et appliquer le lemme de réduction nous permet de simplifier

G avec la fonction de pondération ω en :

u1 u2 + u4

où ω(u1) = a1− 1 et ω(u2) = a2− 1. Comme ω ∈ P et ω∈ S, nous avons a/ 3= a2+ a4− 1 et a1+ a3 est pair. Cela implique que a1− 1 + a2− 1 + a4= a1+ a3− 1 est impair. Par la proposition 6.8, le

graphe est dans N , donc la deuxième condition est vérifiée.

Enfin, supposons que ω ∈ S \ P . Alors, soit a1 soit a3 est impair et donc non-nul. Donc, parmi les arêtes u1u1, u2u3 et u3u4, au moins une peut être sélectionnée. Comme aucun de ces trois coups

ne modifie la quantité a3− a2− a4, la position que nous obtiendrons sera dans P , donc la troisième condition est vérifiée.

Comme les trois conditions du lemme 6.19 sont vérifiées, nous pouvons appliquer celui-ci, ce qui démontre le résultat souhaité.

Lemme 6.21. Soient a, b, c1, . . . , ck, d1, . . . , dk des entiers avec ci> di pour tout i, et G(V, E, ω) le graphe tel que :

— V ={u, v, w1, . . . , wk, x1, . . . , xk} ;

— E ={uu, uv, vw1, . . . , vwk, w1x1, w2x2, . . . , wkxk} ;

— ω(u) = a, ω(v) = b, ω(wi) = ci et ω(xi) = di pour tout i∈ {1, . . . , k}.

Soit également G(V, E, ω) le graphe tel que :

— V={u, v, w, x} ;

— E={uu, uv, vw, wx} ;

— ω(u) = a, ω(v) = b, ω(w) =k

i=0ci et ω(x) =k

i=0di.

Alors, G et G ont la même issue.

Notons que G peut ne pas être canonique. Ce lemme est illustré figure 6.11.

b a c1 d1 ck dk .. . .. .. .. a b c d où c =k i=1ci et d =k i=1di

Figure6.11 – Illustration du lemme 6.21 : ces deux graphes ont la même issue.

Preuve. Soient G1, G2, G3, G4 les graphes représentés figure 6.12. Si c≥ b + d, alors le sommet de

poids c dans G2 est pesant. Le lemme de réduction nous permet alors de simplifier G2, ce qui nous fait obtenir G4. Si c < b + d, alors soit b < a + c auquel cas G2 est canonique et G2 et G3 ont la même issue par le lemme 6.20, soit b≥ a + c auquel cas le sommet de poids b est pesant. Le lemme

de réduction nous permet de simplifier G2 en supprimant le sommet de poids b et en ajoutant une boucle sur le sommet de poids c, ce qui rend le sommet de poids d inutile. En appliquant de nouveau le lemme de réduction, nous obtenons G3. Donc, l’issue de G2est la même que celle de G3 ou de G4 en fonction des cas indiqués sur la figure 6.12.

Sur la figure 6.12, les arêtes des quatre graphes ont des étiquettes. Pour toute arête e de G1, nous appelons f (e) l’arête de G2 ayant la même étiquette. De plus, pour toute position ω = (a, b, c1, . . . , ck, d1, . . . , dk) de G1, nous appelons f (ω) la position (a, b, c, d) de G2 correspondante (c’est-à-dire avec c =k

i=1ci et d =k

i=1di). Il est aisé de vérifier que pour toutes positions de G1

ω et ω telles que ω est obtenue en jouant e depuis ω, f (ω) est obtenue en jouant f (e) depuis f (ω).

Si c ou d est nul, alors tous les ciou di le sont également, et il est aisé de constater que G1 et G2

ont la même issue. Nous allons donc supposer que c, d > 0. Nous démontrons que les issues de G1et de G2 sont les mêmes par induction sur k. Si k = 1, clairement, le résultat se tient. Supposons donc que k > 1 et que le résultat est valide quand il y a strictement moins que k chemins (v, wi, xi).

Soit S l’ensemble des positions de G1 telles que pour tout i nous avons ci > di. Soit P le sous-ensemble des positions s∈ S telles que G2muni de la fonction de pondération f (s) est dansP. Nous

démontrons que S et P vérifient les trois conditions du lemme 6.19.

1. Si s et s sont deux positions dans P , alors il n’y a aucun coup de s à s ou inversement. En effet, supposons par contradiction et sans perte de généralité qu’il existe un coup menant de

b a c1 d1 ck dk .. . .... .. (1) (2) (3) (4) (3) (4) G1 a (2) b (3) c (4) d (1) G2 a c (1) (4) a (2) b d (1) (3) (4) sic<d+b sic≥d+b G3 G4 Figure6.12 – Avec c =k i=1ci et d =k

i=1di. Les arêtes correspondantes entre les quatre graphes sont désignées par la même étiquette.

s à s en jouant sur e. Alors, il existe un coup menant de f (s) à f (s) en jouant sur f (e). Or,

comme G2 muni des fonctions de pondération f (s) et f (s) est dans P, nous obtenons une

contradiction.

2. Soit s une position dans P , montrons qu’il n’y a aucun coup vers une position s ∈ S telle/

que s ∈ P. Supposons par contradiction qu’il existe une telle position s. Comme s ∈ S, elle/

est nécessairement obtenue en jouant sur une arête étiquetée par (3) sur la figure 6.12. Sans perte de généralité, supposons que cette arête est vwk. Comme s ∈ S et s ∈ S, nous avons/

nécessairement ck = dk+ 1. La position s n’est pas canonique : xk est maintenant un sommet pesant. En appliquant le lemme de réduction, nous pouvons supprimer xk et ajouter une boucle à wk. Les sommets wk et u sont maintenant des faux jumeaux, et peuvent donc être fusionnés. Ces deux opérations de réduction ne changeant pas la valeur de Grundy du graphe, elles ne changent pas son issue. Cela implique que G1 avec la fonction de pondération s a la même issue que le graphe suivant :

b−1 a c1 d1 ck-1 dk-1 .. . .. .. .. a b c d

où a= a + ck− 1, c = c− ck et d = d− yk. En appliquant l’hypothèse d’induction (puisqu’il n’y a plus que k− 1 chemins (v, wi, xi)), ce graphe a la même issue que le graphe à droite dans la figure ci-dessus. Appelons ce dernier G2.

Si c < b + d, alors G2 a la même issue que G3. Comme s∈ P , G2 ∈ P et donc a + c est pair.

Cependant, comme ck = dk+ 1, nous avons également c− ck ≥ c − 1 + d − dk, et par le même argument G2 ∈ P si et seulement si a+cest pair. Or, comme a+c = a+c

k−1+c−ck = a+c−1,

c’est impossible.

Nous pouvons donc supposer que c≥ b + d, et donc que G2 a la même issue que G4. Une fois de plus, G2 ∈ P donc par la proposition 6.8 a + b + d est pair. Comme ck = dk+ 1, nous avons également c− ck ≥ b − 1 + d − dk. Donc, G2 n’est pas canonique : le sommet de poids c est

pesant, donc nous pouvons appliquer le lemme de réduction et obtenir le graphe suivant :

a b−1 d (6.1)

Comme a + b + d est pair, nous avons nécessairement a+ b−1+d= a + c

k−1+b−1+d−yk =

a + b− 1 + d qui est impair. Donc, par la proposition 6.8, le graphe ci-dessus est dans N , ce

qui implique que G2∈ N , une contradiction.

3. Finalement, soit s∈ S \ P une position de G1. Nous voulons montrer que s a soit une option dans P soit une option hors de S dont l’issue estP. Notons que, par définition, G2 muni de la fonction de pondération f (s) est dansN . Il y a deux cas à considérer :

(a) Il existe une arête e2 de G2 telle que jouer sur e2 depuis la position f (s) est un coup gagnant, et e2 a une étiquette différente de (3). Soit e∈ f−1(e

2) une arête de G1 avec la même étiquette que e2 tel que jouer sur e depuis la position s est un coup légal, et soit

s la position obtenue en jouant ce coup. Comme e a une étiquette différente de (3), nous avons nécessairement s ∈ S et donc s ∈ P car G2 muni de la fonction de pondération

f (s) est dansP. Donc, il existe un coup vers une position de P .

(b) Le seul gagnant depuis la position f (s) est de jouer sur une arête avec une étiquette égale à (3). Soit e une arête de G1 étiquetée par (3) telle que jouer sur e depuis la position s est un coup légal, et soit s la position obtenue en jouant ce coup. Si s ∈ S alors s ∈ P

car G2 muni de la fonction de pondération f (s) est dansP. Supposons donc que s ∈ S./

Supposons également que jouer sur une arête étiquetée autrement que par (3) est un coup perdant. Nous voulons prouver que G1muni de la fonction de pondération sest également dansP.

Si c < b + d alors la figure 6.12 indique un coup gagnant dans G2depuis la position f (s) en jouant une arête étiquetée par (2) ou par (4). Donc, nous pouvons supposer que c≥ b + d,

et donc que l’issue de G2 est la même que l’issue de G4. De même que pour G2, le seul coup gagnant sur G4 est de jouer sur l’arête étiquetée par (3) (s’il existe un coup gagnant sur G4 avec une arête étiquetée autrement que par (3), alors le coup sur une arête avec la même étiquette sur G2 serait également gagnant).

En utilisant la caractérisation des valeurs de Grundy obtenue avec la proposition 6.7, nous savons que la valeur de Grundy de G4 est de (a + b + d mod 2) + 2(min(a, b) mod 2). Comme G4∈ N , cette valeur est différente de 0. Nous pouvons supposer que min(a, b) est

impair : dans le cas contraire, jouer sur l’arête étiquetée par (4) sur G4 ferait décroître

d de 1, laissant une position dans P, ce qui est une contradiction avec le fait que le seul

coup gagnant est de jouer sur l’arête étiquetée par (3). De plus, b < a car dans le cas contraire jouer sur une des deux arêtes étiquetées par (1) ou (2) serait un coup gagnant. En particulier, cela implique que b est impair. Enfin, comme jouer sur l’arête étiquetée par (3) est un coup gagnant, la position atteinte en faisant décroître b de 1 est dansP, ce qui

implique que a + b + d− 1 est pair, et donc que a + d est pair.

Supposons sans perte de généralité que e = vwk et que ck = dk + 1. En utilisant le même argument que pour la deuxième condition et en remarquant que c≥ b + d et donc

c−ck ≥ b−1+d−dk, nous savons que G1muni de la fonction de pondération sa la même

issue que le graphe illustré en 6.1. Nous savons que b < a, donc a= a + ck− 1 > b − 1. De

plus, b− 1 est pair et d+ a = d− dk+ a + xk− 1 = d + a est également pair. Donc, a et d

ont la même parité, et la proposition 6.8 implique que le graphe est dans P, et donc que G1 muni de la fonction de pondération s est dansP, ce que nous cherchions à démontrer.

Comme les trois conditions du lemme 6.19 sont vérifiées, nous pouvons appliquer celui-ci, ce qui démontre le résultat souhaité.

Nous pouvons désormais expliciter l’algorithme polynomial permettant de calculer l’issue d’un arbre de profondeur 2 sans boucles :

Preuve du théorème 6.17. Soit T un arbre de profondeur 2 sans boucles. Deux feuilles attachées

au même sommet (la racine ou un sommet de profondeur 1) étant des faux jumeaux, le lemme de réduction nous permet de les fusionner sans changer la valeur de Grundy de T . Dans l’arbre résultant, chaque sommet est adjacent à au plus une feuille. Si un sommet de profondeur 2 est pesant, alors il peut être supprimé et une boucle attachée à son voisin. Tous les sommets avec des boucles sont des faux jumeaux car leur seul voisin est la racine ; ils peuvent donc être fusionnés. S’il y a une feuille de profondeur 1, on peut lui attacher une feuille de poids 0 sans changer la valeur de Grundy. Cette réduction est illustrée figure 6.13. Soit T l’arbre obtenu.

Le lemme de réduction nous assure que G(T ) = G(T). De plus, T est exactement l’arbre G du lemme 6.21, qui a donc la même issue que le chemin avec une boucle G du même lemme. Si G est canonique, alors il a la même issue qu’un sommet isolé avec une boucle, dont la valeur de Grundy (et donc l’issue) peut être déterminée en temps constant par la proposition 6.4. Sinon, appliquer le lemme de réduction sur G donne des graphes ou sommes de graphes sur un ou deux sommets, dont les issues peuvent être déterminées en temps polynomial par les propositions 6.4 à 6.7.

Au final, l’algorithme décidant de l’issue de T est donc polynomial.

Le théorème 6.17 nous permet de résoudre le jeu des tours sur un échiquier troué dont le seul trou se situe sur le bord de l’échiquier en temps polynomial, comme illustré précédemment (figure 6.5).

Notons que l’issue d’un arbre de profondeur 2 sans boucles ne dépend que des parités de poids de sommets et d’inégalités entre poids de sommets. Ce n’est pas le cas du C3, pour lequel les issues semblent dépendre des poids de sommets modulo 4. Plusieurs questions naturelles se posent alors : des comportements plus complexes émergent-ils pour des graphes d’ordre plus élevé, ou plus denses ? Tous les graphes bipartis ont-ils des comportements relativement simples (c’est-à-dire basés sur des parités de poids de sommets et inégalités entre poids de sommets) quant à leurs issues ?