Parcours royal régicide

Mat en 19 coups

Sur une idée de Fredo :


[diag_echecs]
B:Ff6,pb5,pg5,pf4,Fd3,Rg3,pg2/N:Fg8,pf7,pb6,pg6,pf5,pa3,pb3,pa2,Tb2,Ra1
[config]
taille=35M
plateau=wood35.png
[coloration]
vert=h2
rouge=f3

Les Blancs jouent et font mat en 19 coups !

FEN :

6b1/5p2/1p3Bp1/1P3pP1/5P2/pp1B2K1/pr4P1/k7 w - - 0 1

1. Houdini 1.05a peut-il trouver ce mat ?

Au bout d’une minute, Houdini 1.5a évalue la position à -0.02 et on peut proposer nulle par répétition de la position 1. Rf3 Fh7 2. Re3 Fg8 3. Rf3 Fh7 1/2-1/2 avec une profondeur d’analyse de 37/63 soit 117 millions de positions évaluées à 2 346 kN/s avec 128 MB Hash.

Avec une profondeur maximum de 37 demi-coups, Houdini 1.5a dans sa configuration par défaut ne trouve pas la solution.

Le second nombre 63 indique un profondeur maximale de l’arbre de recherche pour la recherche d’une position dite tranquille (quiescence). En effet lors de l’évaluation de chaque feuille terminale de l’arbre à la profondeur maximale de 37, la recherche continue en profondeur jusqu’à qu’il n’y ait plus d’échanges si une capture était en cours.

C’est pour lutter contre l’effet horizon où une capture partielle pourrait être jugée favorable à une profondeur donnée (Ff6xTb2+ ?) et catastrophique un coup plus loin (a3xFb2 avec l’idée b2-b1:D Fd3xDb1 a2xFb1:D -+) après avoir atteint une position plus tranquille. Les programmes d’Echecs peuvent étendre la quiescence aux coups qui donnent échec et aussi aux promotions de pions. C’est dans la recherche quiescence que les programmes passent plus de la moitié de leur temps.

2. Elaborer un plan

A première vue, un mat en 19 coups est hors de portée d’un joueur humain. Cependant à la différence des moteurs de jeu d’Echecs basés sur la force brute, le joueur humain peut élaborer un plan en analysant les caractéristiques positionnelles du diagramme initial.

Pour les Noirs : la Tour b2 est clouée par le Fou f6. Le pion a2 est bloqué par son propre Roi qui empêche sa promotion. Le Roi est bloqué par ses propres pièces. La seule case de fuite b1 est contrôlée par le Fou des Blancs d3. Tous les pions sont bloqués. Il ne reste que le Fou g8 qui ne peut que faire un aller-retour Fg8-h7 puis Fh7-g8 à l’infini.

Pour les Blancs : seul le Roi a un certain degré de liberté. En effet si un Fou bouge, il augmente le facteur de liberté des Noirs. Ex : Ff6-d4 f7 et le Fou Noir est libéré. Idem pour le Fou en d3 qui, s’il bouge en f1 par exemple, libère le Roi des Noirs et donc facilite la promotion du pion a2.

Le but racine est : les Blancs font mat.

La méthode est d’améliorer le placement de ses pièces sans se préoccuper dans un premier temps ni des détails pratiques ni des Noirs qui ne peuvent jouer que Fg8-h7 et Fh7-g8.

Où le Roi blanc serait-il en meilleure position ? Concrètement, il faut déplacer le Roi blanc près du Roi noir pour soutenir le Fou f6 qui capturera la Tour pour mater sauf qu’il y a un pion noir a3 qui protège la Tour. 1. FxTb2+ axF et les Blancs ne peuvent plus empêcher la promotion d’un des deux pions noirs.


[diag_echecs]
B:Ff6,pb5,pg5,pf4,Fd3,Rg3,pg2/N:Fg8,pf7,pb6,pg6,pf5,pa3,pb3,pa2,Tb2,Ra1
[config]
taille=35M
redim=20
plateau=wood35.png
[coloration]
vert=a3,d3
rouge=c3,d4,e5

L’échiquier est divisé en deux selon la grande diagonale en rouge.

Les cases vertes sont les objectifs du Roi des Blancs.

Le nouveau but devient : le Roi des Blancs doit capturer le pion a3.

Ici intervient une recherche de chemin pour aller au but Rxa3. Si le Roi intercepte le rayon du Fou de la grande diagonale en rouge en passant par c3 ou d4, la Tour des Noirs sera libérée.

Le nouveau but devient : le Roi doit passer par la case d3 actuellement occupée par le Fou des cases blanches.

Le nouveau problème est alors comment déplacer le Fou d3 tout en contrôlant la case de fuite royale b1. Etant donné qu’il y a un pion f5 qui contrôle le centre e4, il ne reste que la case c2 pour le Fou d3. Mais cette case est protégée par le pion noir b3.

Le nouveau but devient : le Fou doit capturer le pion b3.


[diag_echecs]
B:Ff6,pb5,pg5,pf4,Fd3,pg2,Rc1/N:Fg8,pf7,pb6,pg6,pf5,pa3,pb3,pa2,Tb2,Ra1
[config]
taille=35M
plateau=wood35.png
[coloration]
vert=b3
jaune=g1-c1,g3-h2,h2-g1,d3-c4,c4-b3,b3-c2

Plan des Blancs : 7.Fd3-c4 puis 8.Fc4xb3 et enfin 9.Fb3-c2 !

Comme il faut continuer à contrôler la case de fuite b1, c’est le Roi blanc qui s’occupera de cette tâche en allant en c1. Comme le Roi doit éviter le rayon horizontal d’action de la Tour noire, le pion bouclier g2 permet le contournement via h2 pour aller en c1.

Une fois le Roi en c1, le Fou d3 a tout le loisir d’aller cueillir le pion b3 : 7.Fd3-c4 puis 8.Fc4xb3. Le Fou servira également de bouclier contre le rayon d’action de la Tour clouée : 9.Fb3-c2 ! Et le Roi blanc est libéré de la surveillance de la case de fuite royale b1. Inutile de refaire un détour à nouveau via h2 derrière le pion g2, le Fou en c2 offre un rempart contre la Tour tout en contrôlant la case de fuite royale b1. Le plan du Fou des cases blanches est maintenant terminé.


[diag_echecs]
B:Ff6,pb5,pg5,pf4,Rd3,Fc2,pg2/N:pf7,Fh7,pb6,pg6,pf5,pa3,pa2,Tb2,Ra1
[config]
taille=35M
plateau=wood35.png
[coloration]
vert=b6,a3
rouge=c3,d4,e5,b3,b4,
jaune=c1-d2,d2-d3,d3-c4,c4-d5,d5-c6,c6-b6,b6-a5,a5-a3

10. Rc1-d2

11. Rd2-d3

Les cases rouges sont interdites au Roi blanc.

Les cases vertes sont des pions noirs à capturer par le Roi blanc en suivant le chemin des flèches jaunes.

Le Roi blanc peut passer via d3 pour aller capturer le pion a3. Mais le problème avec la disparition du pion b3 est que la Tour clouée a un rayon vertical d’action augmenté. Le Roi blanc ne peut plus passer en b4.

Le nouveau but devient : grâce au pion bouclier b5 qui joue un rôle similaire à celui en g2, le Roi des Blancs doit capturer le pion b6 pour contourner le rayon d’action de la Tour clouée.

Une fois le pion b6 capturé par le Roi blanc, le chemin est libre pour aller capturer le pion a3.


[diag_echecs]
B:Ff6,pb5,pg5,pf4,Ra3,Fc2,pg2/N:Fg8,pf7,pg6,pf5,pa2,Tb2,Ra1
[config]
taille=35M
plateau=wood35.png
[coloration]
vert=f6-b2

Position finale de mat 19. Ff6xTb2#

Il ne reste donc plus qu’au Fou de la grande diagonale de prendre la Tour et faire mat.

3. PGN de la solution du mat en 19 coups

[SetUp "1"]
[FEN "6b1/5p2/1p3Bp1/1P3pP1/5P2/pp1B2K1/pr4P1/k7 w - - 0 1"]
[Termination "normal"]
[PlyCount "37"]
[WhiteType "program"]
[BlackType "program"]
1. Kh2 Bh7 2. Kg1 Bg8 3. Kf1 Bh7 4. Ke1 Bg8 5. Kd1 Bh7 6. Kc1 Bg8 7. Bc4
Bh7 8. Bxb3 Bg8 9. Bc2 Bh7 10. Kd2 Bg8 11. Kd3 Bh7 12. Kc4 Bg8 13. Kd5 Bh7
14. Kc6 Bg8 15. Kxb6 Bh7 16. Ka5 Bg8 17. Ka4 Bh7 18. Kxa3 Bg8 19. Bxb2# 1-0

4. Comment Houdini 1.05a peut trouver la solution ?

Dans Arena, menu "Modules", chargez classiquement Houdini 1.05a 32-bit.

Toujours notez les anciennes valeurs de paramètres avant de les modifier.

Arena menu "Modules" > "Module 1" > "Configurer" (Ctrl+1)

Threads : 2 (pour un Core 2 Duo. Valeur initiale était 8)

Augmenter Hard_Probe_Depth jusqu’à 38 (valeur initiale était 24).

38 est la profondeur attendue de la solution en demi-coup.

Idem pour Soft_Probe_Depth = 38 (valeur initiale était 16).

En repoussant à 38 le seuil au plus tôt de preuve (probe) de tablebase EGTB hard et soft, il semble que cela peut faciliter la recherche de ce mat complexe.

Sinon même après 40 minutes de réflexion, Houdini ne trouve pas mieux que la nulle.

Arena menu "Niveaux" > "Régler..." > "Infini"

Notez que le mode "Recherche de mat" peut générer des coups illégaux Fg8xFf6 illégal.

"Infini" est plus efficace que "Prof. de recherche fixe : 38".

Cliquez sur la roue d’engrenage entre la barre de navigation "Liste de coups" et "Auto" pour laisser le module calculé et faire le meilleur coup.

Pendant plusieurs minutes, Houdini considère Rg3-f3 avec la note 0.00.

GaviotaTb EGTB not available
11/12   00:00          2 144   142 000    0,00   Rg3-f3 Fg8-h7 Rf3-e3 Fh7-g8 Re3-f3 Fg8-h7
35/77+   33:09   4 830 600 686   2 427 000   +0,04   Rg3-h2
35/79+   33:10   4 832 489 487   2 427 000   +11,82   Rg3-h2
35/79   33:20   4 865 433 579   2 432 000   +M22   Rg3-h2 Fg8-h7 Rh2-g1 Fh7-g8 Rg1-f1 Fg8-h7 Rf1-e1 Fh7-g8 Re1-d1 Fg8-h7 Rd1-c1 Fh7-g8 Fd3-c4 Fg8-h7 Fc4xb3 Fh7-g8 Fb3-c2 Fg8-h7 g2-g3 Fh7-g8 Rc1-d2 Fg8-h7 Rd2-d3 Fh7-g8 Rd3-c4 Fg8-h7 Rc4-d5 Fh7-g8 Rd5-c6 Fg8-h7 Rc6xb6 Fh7-g8 Rb6-c6 Fg8-h7 b5-b6 Fh7-g8 b6-b7 Fg8-h7 b7-b8D Fh7-g8 Db8-e5 Fg8-h7 De5-e1+

36/79   33:25   4 886 589 303   2 436 000   +M20   Rg3-h2 Fg8-h7 Rh2-g1 Fh7-g8 Rg1-f1 Fg8-h7 Rf1-e1 Fh7-g8 Re1-d1 Fg8-h7 Rd1-c1 Fh7-g8 Fd3-c4 Fg8-h7 Fc4xb3 Fh7-g8 Fb3-c2 Fg8-h7 g2-g3 Fh7-g8 Rc1-d2 Fg8-h7 Rd2-d3 Fh7-g8 Rd3-c4 Fg8-h7 Rc4-d5 Fh7-g8 Rd5-c6 Fg8-h7 Rc6xb6 Fh7-g8 Rb6-a5 Fg8-h7 Ra5-a4 Fh7-g8 Ra4xa3 Fg8-h7 Ff6xb2+#

Profondeur : 37/79 pour le mat +M20

Coup envisagé : Rg3-h2 (1/19)

Nombre de positions évaluées : 4 936 456 159 à 2 445 kN/sec.

128 MB Hash utilisé à 100%

Houdini ajoute le coup intermédiaire g2-g3. Même après une heure de réflexion, il ne trouve pas que cette avance de pion ne sert à rien.

En mode infini, c’est à vous à stopper manuellement l’analyse dès que le mat est trouvé.

Référence : Forum ComputerSchach

La traduction Allemand -> Anglais de Google semble meilleure qu’en Français.

On comparera les performances présentées ci-dessous avec :

#20 : Houdini 2.0c x64 12 cores autour de 10 minutes, 37/87, 13 820 mN

#24 : Critter 1.4 64-bit SSE4, 12 minutes, 35/78, 12 335 mN

5. Paramètres et raccourcis utiles dans Arena

Arena menu "Modules" > "Gérer..." > 4ème onglet "UCI" > [ ] Abandon. Décochez l’option.

Comme il s’agit d’une recherche de mat, il faut déconnecter le système d’abandon, sinon Arena provoque l’abandon des Noirs après la capture de pion b3 voire a3 pour cause de mat dans N coups.

Afin de ne pas être influencé par le cache, il est recommandé de faire une nouvelle recherche de mat dans des conditions initiales similaires :

Ctrl+F6 sauve la position actuelle dans le presse-papiers. Alternativement, repartir du FEN initial.

Ctrl+N Partie n’est pas sauvegardée. Sauvegarder maintenant ? Non. Crée une nouvelle partie.

F6 restaure la position du presse-papiers sur l’échiquier.

Ctrl+1 permet de configurer le module n°1. Bien veiller à ce que la recherche en cours soit stoppée avant de modifier les paramètres de configuration du module.

Vous pouvez cliquer sur le bouton "Clear Hash" sinon Houdini peut réutiliser des évaluations précédentes successives et peut retrouver plus facilement la solution entre 4 et 10 minutes.

Dans les traces UCI, cliquez avec le bouton droit de la souris > menu contextuel "(Re)démarrer module".

Posté le 14 janvier 2012 par Matt