La technique du X-Wing
Apprenez à croiser deux segments pour piéger un nombre dans un rectangle, pour éliminer des hypothèses que rien d'autre ne permet de supprimer.
Toutes les techniques vues jusqu'ici raisonnent à l'intérieur d'un seul segment : une ligne ou une colonne prise isolément. Le X-Wing est la première qui fait travailler deux segments ensemble. Voyons-la tout de suite à l'œuvre.
Le nom vient du Sudoku, où cette technique est un classique. Elle se transpose parfaitement au Yakazu, à condition de raisonner sur les segments (les suites de cases blanches d'une ligne ou d'une colonne) plutôt que sur les lignes et colonnes entières.
Une grille où plus rien ne bouge
Voici une grille 5×5 sans case noire : chaque ligne et chaque colonne forme donc un unique segment de 5 cases, qui doit contenir les nombres de 1 à 5. Nous avons rempli toutes les hypothèses :
1 3 5 | 3 5 | 1 3 | 4 | 2 |
1 3 5 | 4 | 2 | 1 5 | 3 5 |
4 | 2 | 1 3 | 1 5 | 3 5 |
2 | 1 | 5 | 3 | 4 |
3 5 | 3 5 | 4 | 2 | 1 |
Cette position est bel et bien bloquée : aucune case n'a d'hypothèse unique, aucun nombre n'est un singleton caché dans son segment, et ni les paires nues ni les paires cachées ne permettent la moindre suppression.
Où le 5 peut-il aller ?
Raisonnons nombre par nombre plutôt que case par case, et suivons le 5 :
- dans la première ligne, seules les deux premières cases l'acceptent encore ;
- dans la dernière ligne, c'est exactement pareil : les deux premières cases.
Ces quatre cases forment un rectangle, à cheval sur les deux premières colonnes : c'est un X-Wing.
1 3 5 | 3 5 | 1 3 | 4 | 2 |
1 3 5 | 4 | 2 | 1 5 | 3 5 |
4 | 2 | 1 3 | 1 5 | 3 5 |
2 | 1 | 5 | 3 | 4 |
3 5 | 3 5 | 4 | 2 | 1 |
La première ligne place son 5 dans l'une des deux colonnes, la dernière ligne place le sien dans l'autre : impossible qu'elles choisissent la même, puisqu'une colonne ne contient qu'un seul 5. Les deux premières colonnes ont donc déjà leur 5, sans qu'on sache encore lequel va où.
Conséquence : la case restante de la première colonne, en deuxième ligne, ne peut plus être un 5. On barre cette hypothèse :
1 3 5 | 3 5 | 1 3 | 4 | 2 |
1 3 | 4 | 2 | 1 5 | 3 5 |
4 | 2 | 1 3 | 1 5 | 3 5 |
2 | 1 | 5 | 3 | 4 |
3 5 | 3 5 | 4 | 2 | 1 |
La deuxième colonne, elle, n'avait pas d'autre case en jeu : il n'y a rien à y supprimer. C'est fréquent : un X-Wing ne rapporte parfois qu'une seule suppression. Mais c'est souvent celle qui relance toute la résolution.
Le principe, en général
L'exemple se résume en une phrase. Prenez un nombre et cherchez deux segments en ligne dans lesquels il n'a plus que deux places possibles. Si, dans ces deux segments, les places en question tombent dans les deux mêmes segments en colonne, vous tenez un X-Wing : les quatre cases forment un rectangle.
Le raisonnement tient alors en deux temps :
- chacun des deux segments en ligne doit contenir le nombre, et celui-ci est forcément dans l'un des deux coins du rectangle qui lui appartient ;
- ces deux exemplaires ne peuvent pas se retrouver dans la même colonne (un segment ne contient jamais deux fois le même nombre) : il y en a donc exactement un dans chacune des deux colonnes.
Autrement dit, les deux colonnes ont déjà leur exemplaire du nombre, quelque part dans le rectangle. Aucune autre case de ces deux colonnes ne pourra en accueillir un : on peut l'y supprimer.
Lignes et colonnes s'échangent
Tout ce qui précède fonctionne dans l'autre sens. Si vous trouvez deux segments en colonne où un nombre n'a plus que deux places, et que ces places tombent dans les deux mêmes segments en ligne, alors ce sont ces deux lignes qui ont déjà leur exemplaire du nombre : vous l'éliminez de leurs autres cases.
Notre grille en offre justement un second exemple, toujours avec le 5. Regardons-la cette fois colonne par colonne : dans la quatrième colonne, le 5 n'a plus que deux places, en deuxième et troisième lignes ; dans la cinquième colonne, ce sont exactement les mêmes deux lignes. Autre rectangle, autre X-Wing :
1 3 5 | 3 5 | 1 3 | 4 | 2 |
1 3 5 | 4 | 2 | 1 5 | 3 5 |
4 | 2 | 1 3 | 1 5 | 3 5 |
2 | 1 | 5 | 3 | 4 |
3 5 | 3 5 | 4 | 2 | 1 |
Les deuxième et troisième lignes ont donc déjà leur 5 quelque part dans ces deux colonnes : on peut le supprimer de toutes leurs autres cases. La seule concernée est la première case de la deuxième ligne, c'est-à-dire précisément l'hypothèse déjà barrée plus haut. Deux rectangles différents, la même conclusion : c'est courant, et cela ne fait que confirmer le raisonnement.
C'est bien ce qui se passe ici : le départ, ce sont les colonnes 4 et 5, avec leurs deux places chacune, et les suppressions tombent sur les lignes 2 et 3. Partir des lignes ne marcherait pas : la deuxième ligne compte encore trois places pour son 5 (première, quatrième et cinquième cases), rien ne garantit donc qu'elle le placera dans le rectangle.
En pratique, prenez l'habitude de balayer les deux sens : nombre par nombre, d'abord sur les lignes, puis sur les colonnes.
Swordfish et Jellyfish : le X-Wing en plus grand
Comme la paire nue se prolonge en triplet puis en quadruplet, le X-Wing se généralise en augmentant la taille du rectangle.
Le Swordfish travaille sur trois segments en ligne au lieu de deux. Cherchez trois segments dans lesquels un même nombre n'a plus que deux ou trois places ; si toutes ces places se répartissent sur seulement trois segments en colonne, alors ces trois colonnes recevront les trois exemplaires du nombre. On peut donc l'éliminer de toutes leurs autres cases.
Le Jellyfish pousse la même idée à quatre segments en ligne pour quatre segments en colonne. Le raisonnement est rigoureusement identique : n segments en ligne qui doivent chacun accueillir le nombre, et exactement n segments en colonne pour les recevoir, un par un.
Dans les faits, le Swordfish est nettement plus rare que le X-Wing, et le Jellyfish plus rare encore. Cherchez toujours le X-Wing en premier : il est bien plus facile à repérer et se présente bien plus souvent.
Comment le chercher sans y passer la journée
Le X-Wing se traque nombre par nombre, et non case par case. Une méthode qui fonctionne bien :
- choisissez un nombre, par exemple le 5 ;
- parcourez les segments en ligne et notez ceux où ce 5 n'a plus que deux places possibles ;
- comparez-les deux à deux : si deux d'entre eux pointent vers les mêmes colonnes, vous avez votre rectangle ;
- supprimez alors le nombre de toutes les autres cases de ces deux colonnes, puis recommencez avec le nombre suivant.