Analyser vos parties d’Echecs par un Grand Maître Digital

Analyser un PGN avec Houdini 1.5a dans Arena 3.0

Le Grand Maître Digital n’est autre que le moteur Houdini 1.5a dans l’échiquier Arena 3.0. Il est gratuit et disponible quand vous le souhaitez. Il a un classement estimé à plus de 3000 ELO, c’est-à-dire supérieur au classement humain bien que les classements entre moteurs et joueurs humains ne sont pas comparables. Trente secondes lui suffisent pour faire l’analyse d’un coup à une profondeur de 19 demi-coups.

Pour configurer l’échiquier Arena 3.0 en français, cliquer sur le menu "Extras" > "Choisir votre langue" > "French"

Copier-coller le PGN de la défense Petrov (ECO C42) ANAND-Piket 2001 dans Arena 3.0
avec le menu "Partie" | "Importer PGN depuis le presse-papiers"

Cliquer sur la case d8 pour copier-coller le PGN également téléchargeable depuis le document ci-joint annoté.

C42 ANAND vs. Piket 2001
Annotations d’Houdini 1.5a dans Arena 3.0

Ajouter le moteur Houdini 1.5a dans l’échiquier Arena 3.0

Pourquoi le moteur Houdini ? Parce que c’est le meilleur moteur de jeu d’Echecs selon ChessBase : Houdini 3 - the world’s strongest chess engine in the Fritz interface. Interview with Robert Houdart, author of Houdini.

Télécharger la dernière version gratuite d’Houdini 1.5a zippé.

Une fois dézippé (le gestionnaire de fichiers de Windows permet de décompresser les archives au format .zip), on trouve deux exécutables pour Windows.
Se rappeler du chemin de l’exécutable Houdini_15a_w32.exe pour Windows 32-bit qui fonctionnera pour tous les Windows 32 et 64-bit. N’utiliser la version optimisée w64 pour Windows 64-bit que si on dispose d’un Windows 64-bit.
On copiera ou sélectionnera le chemin complet de l’exécutable dans le champ "L. Commande" ou ligne de commande.

Bouton "Nouveau" module
Ajouter le moteur Houdini dans l’échiquier Arena

Dans Arena, cliquer sur le menu "Modules" > "Gérer"
Onglet 2 "Détails"

Cliquer sur le bouton "Nouveau" dans la partie droite.
Nom : "Houdini_15a_w32" ou ce que vous voulez
Auteur : Robert Houdart
L. commande : votre chemin complet où vous avez dézippé Houdini\Houdini_15a_w32.exe
Paramètres ligne de commande : ""
Pays : Belgium
Type : UCI il s’agit du protocole d’échange entre l’interface Arena et le moteur Houdini.
Fichier Logo : ""
Cliquer sur "OK"

Analyse Automatique

L’analyse automatique consiste à faire analyser par un moteur de jeu d’Echecs tous les coups d’une partie. Elle sert à annoter le PGN.

Courbe de la fonction d’évaluation de la partie

Avantage : une fois l’analyse configurée, chaque coup est analysé et on obtient la courbe de la fonction d’évaluation sur toute la partie. Cette courbe permet visuellement de trouver les deux moments clefs de la partie : la colline rouge au 13e coup et l’imprécision fatale du 21e coup. Au notera avec la courbe bleue de la profondeur d’analyse des Blancs que la recherche s’est approfondie juste avant ces instants clefs. Ensuite il suffit d’exécuter ... le plan.

Courbe de la fonction d’évaluation de la partie ANAND-Piket 2001
Houdini 1.5a dispose de 30s/coup pour chaque coup des Blancs ou des Noirs. Il n’analyse pas à la même profondeur la position du point de vue des Blancs par rapport à celui des Noirs. La défaite est détectée plus tôt côté des Noirs que la victoire des Blancs.

Inconvénient : c’est long à 30 secondes par coup et cela fait chauffer la CPU qui tourne à 100% car tous les coups ou la plage de coups sélectionnés sont analysés. Il faut que le PC dispose d’un bon ventilateur de refroidissement. On peut toutefois stopper l’analyse le temps que le PC se refroidisse puis la reprendre en configurant à partir de quel coup la reprise se fera.

Menu d’Arena "Modules" > "Analyse automatique..."

Onglet 1 "Source"

[x] Partie en cours
[x] Coups Blancs
[x] Coups Noirs
[x] Avancer
[x] Tous les coups

Onglet 2 "Modules". Un module est un moteur de jeu d’Echecs.

Houdini_15a_w32

Dans le cadre "Niveau" :

[x] Utiliser seconde par coup : 30 secondes par coup

Onglet 3 "Output"

[x] Enregist. Évaluations calculées dans la partie (éval. Anciennes remplacées)

Bouton "Démarrage" de l’analyse automatique
Sélection de la plage des coups à analyser

Revenir au premier onglet "Source"

Cliquer sur le bouton "Démarrage" pour lancer l’analyse.

En gras sont les coups prédits par Houdini  :

1. e4 e5 2. Cf3 Cf6 3. Cxe5 d6 4. Cf3 Cxe4 5. d4 d5 6. Fd3 Fd6 7. O-O O-O
8. c4 c6 9. Te1 Te8 10. Cc3 Cxc3 11. Bxc3 Fg4 12. Fg5 Txe1+ 13. Dxe1 Dd7
14. c5 {+0.51} Fc7 15. Ch4 {Houdini préfère 15. Tb1}
15... h6 16. Fd2 Dd8 17. f4 Fc8 18. Dg3 b6 19. Te1 bxc5
20. dxc5 {+1.69} Df8 21. Fe3 {+2.42} Ca6
22. Fd4 {+4.84} g5 {-5.25} 23. Df2 1-0

L’analyse complète d’Houdini est dans le commentaire de chaque coup entre accolades selon le format d’Arena où le score est exprimé en centième de pion. 1 pion vaut 1.00. Un cavalier 3.00. Un fou 3.00 voire légèrement plus qu’un cavalier. Une tour 5.00. Une dame 9.00. Un roi a une valeur infinie.

{(variation) score/profondeur temps}

Le score avec une précision au centième de pion n’est pas en prendre dans l’absolu. C’est la dynamique de l’évolution du score qui importe (voir ci-dessus la courbe du score). Houdini chiffre un avantage positionnel en fraction de pion virtuellement gagné. Le score est une estimation, un oracle de la note d’évaluation. Une fois la position simulée devenue réelle, il convient de comparer la note estimée avec la note réelle.

C42 ANAND vs. Piket 2001
Annotations d’Houdini 1.5a dans Arena 3.0

Les variantes sont entre parenthèses. Une nouvelle mise en page du PGN analysé est présentée dans le document ci-dessus avec un demi-coup par ligne et l’évaluation alignée vers le début d’une nouvelle ligne.

Configurer la fenêtre d’analyse

Le menu "Modules" > "Configurer l'output des analyses" permet d’améliorer la présentation des analyses.

Onglet 2 "Variantes principales"

Dans le cadre "Insérer les n° de coup dans la variante principale" :

[x] "Nombre de coup de la partie en cours" pour mieux se repérer par rapport à la position actuelle.

Dans le cadre "Notation des coups" :

[x] "Avec trait d'union".

Onglet 3 "Options"

[x] "Voir resumé à la fin de la recherche" affiche une ligne de statistique du moteur sur sa recherche.

Analyse manuelle a posteriori

L’analyse manuelle n’est pas incompatible avec l’analyse automatique. On peut très bien commencer par une analyse automatique à 10s/coup pour avoir la courbe de la fonction d’évaluation puis approfondir les coups importants en analyse interactive manuelle.

Avantage : c’est une analyse ciblée qui économise du temps et donc de la CPU. Elle permet de n’approfondir que les positions que l’on juge intéressantes.

Inconvénient : on n’obtient pas la courbe complète de la fonction d’évaluation de la partie.

Dans Arena, cliquer sur le menu "Modules" > "Gérer"
Onglet 1 "Choix"

Sélectionner "Houdini_15a_w32" dans la partie droite "Choix des modules depuis cette liste"
Cliquer sur la flèche vers la fenêtre "Modules chargés" dans le coin supérieur gauche.
Cliquer sur "OK".

L’analyse manuelle peut se faire quand on saisit sa propre partie.

On choisira un temps de réflexion par trop long pour l’analyse manuelle.
Dans Arena, cliquer sur le menu "Niveaux" > "40 coups en 20 minutes".
Cela permet d’initialiser les horloges à un temps suffisant sinon Arena signale la fin de la partie sur dépassement de temps.

Bouton "Edition" de saisie d’une partie d’Echecs

A droite vers le bas, cliquer sur le bouton "Edition" au-dessus de la courbe vide de la fonction d’évaluation. Cela évite à Houdini de répondre au dernier coup saisi.

Bouton "Analyse"

A la souris, on saisit les coups de la partie un à un. On peut en parallèle cliquer sur le bouton "Analyse" pour le ou les coups qui méritent d’être analysé(s) par exemple quand on est sortit de l’ouverture.

On n’est pas obligé de maintenir enfoncé le bouton "Analyse" tout le temps pendant la saisie.
De temps en temps, il faut arrêter l’analyse si le PC chauffe trop (bruit de ventilateur trop important).

Quand le coup joué diffère de celui préconisé par Houdini en mode d’analyse et que l’on veut conserver cette analyse dans le PGN :

  • Arrêter l’analyse en cours en cliquant à nouveau sur le bouton bleu enfoncé "Analyse".
  • Cliquer sur la roue dentée pour relancer l’analyse.

Cette seconde analyse est beaucoup plus rapide pour les premiers niveaux de profondeur car la précédente analyse est encore dans les tables de transposition, une sorte de cache où sont stockées temporairement les récentes évaluations de positions par le moteur de jeu d’échecs.

Là où cela devient intéressant c’est que cette seconde analyse avec le contexte récent dans les tables de transpositions des positions et de leurs évaluations peut être plus pertinente que la première analyse car on repart de la position courante avec une meilleure vue d’ensemble. Il est possible qu’Houdini considère une nouvelle variante qu’il n’avait pas retenue dans la première analyse à la volée.

La durée maximum de cette seconde analyse dépend du niveau que l’on a configuré pour les horloges. En pratique on peut interrompre l’analyse en recliquant sur la roue dentée.
A une profondeur donnée, si Houdini affiche un "+" ou un "-" dans le premier champ après la profondeur maximum, c’est que le score n’est pas stabilisé. Le "+" signifie que le score progresse alors que le "-" veut dire qu’Houdini a surévalué temporairement la position. Il faut donc attendre manuellement qu’une nouvelle principale variation s’affiche sans signe dans le premier champ pour considérer que le score est stabilisé à la profondeur voulue.

Ajouter une variante annotée par Houdini

Quand on interrompt l’analyse en cliquant sur la route dentée ou quand l’analyse est terminée, la boîte de dialogue "Ajouter nouveau coup" s’ouvre.
Cliquer sur "Nouvelle variante" et l’analyse d’Houdini (principale variation et score) est sauvée dans le PGN.

Enregistrement du PGN et de ses annotations

Avant la sauvegarde, le menu "Partie" > "En-tête de partie" permet de remplir les tags PGN caractéristiques de la partie : joueurs, ELO, ECO déterminé par Arena, date et surtout comment la partie s’est terminée (score final, fin : "abandoned", "normal" ou "time forfeit").

Menu "Options" > "Apparences et autres..." > "PGN" dans la colonne de gauche.
Dans le cadre "Sauvegarder coups et informations"

[x] Enregistrer la variante principale
[ ] Save mainline as variation (n'est pas cochée)
[x] Enregistrer coups, évaluations, profondeur et durée

La sauvegarde du PGN se fait par le menu standard "Fichier" > "Enregistrer sous".

Analyse manuelle a priori

L’analyse a priori est une autre façon d’opérer lors de la saisie de sa partie. Avant d’entrer un coup important faire une préanalyse (bouton "Analyse") suivie si le coup diffère de la partie jouée ou si le coup est intéressant par la seconde analyse en cliquant sur la roue dentée. Bien que le bouton bleu "Edition" soit enfoncé, comme c’est le dernier coup de la partie en cours de saisie, il n’y aura pas à ce moment là la boîte de dialogue "Ajouter nouveau coup". Houdini jouera comme s’il était votre adversaire dans la position actuelle.

Par exemple, il est ainsi toujours possible de compléter une partie après sa fin qui n’est pas un mat comme après un abandon. Ci-dessous Houdini a complété la partie par le moins mauvais des coups tous perdants 23... f7-f5 empêchant la Dame f2 de viser à plus ou moins court terme la case f6 sur la grande diagonale noire avec l’idée Df6-h8# ou Df6-g7# si précédé d’une déviation de la Dame noire par le sacrifice de la Tour Te1-e8 ! ou Df2-c2 sur la diagonale blanche c2-h7 avec l’idée Fd3-h7#.

Maintenant on saisit le coup réel à la souris. Ici le coup naturel serait la capture du Cavalier sur le bord par 23... g5xCh4. Cette fois-ci, la boîte de dialogue "Ajouter nouveau coup" s’affiche car le 23e coup des Noirs existe déjà. On clique "Nouvelle variante" pour ce dernier coup saisi.

Menu contextuel "Upgrade variante"
Cliquer avec le bouton droit de la souris sur la dernière variante saisie à promouvoir dans la partie réelle

Puis on clique avec le bouton droit de la souris sur cette nouvelle variante dans la liste des coups, menu contextuel "Upgrade variante". Le coup réel de la partie et celui d’Houdini sont intervertis. L’analyse a priori d’Houdini devient variante et le dernier coup réel est intégré dans la partie.

Comment considérer si un coup mérite d’être analysé ou pas ? Cela dépend si le plan trouvé par Houdini est suivi ou non par les deux joueurs. En cas de rupture de plan, le meilleur coup estimé n’a pas été joué, une analyse plus profonde peut faire l’objet d’une investigation ciblée.

Analyse multivariantes

Une multianalyse peut être opérée au niveau des variantes, c’est-à-dire qu’Houdini affiche les N=3 meilleures principales variations. Cela permet de comparer le score de ses variations. Un écart significatif peut être un critère d’arrêt de l’analyse puisque Houdini a peu de chance de changer d’avis quant à la meilleure principale variation. A l’inverse, s’il y a instabilité du meilleur coup car les deux ou trois meilleures principales variations sont proches en score, il faut donner du temps additionnel à l’analyse jusqu’au moment où un écart significatif apparaît.

Il s’agit d’une démarche heuristique empirique. S’il y a un sacrifice gagnant à une profondeur hors de l’horizon, Houdini ne le verra que quand il aura atteint la dite profondeur. Dans ce cas, il y aura un bouleversement radical de l’ordre des principales variations. En pratique, un tel cas est rare. De toute façon, un tel sacrifice ne sera possible que si la position adverse a suffisamment de faiblesses pour l’autoriser et donc Houdini en aura pressenti les failles avant la dite profondeur hors de l’horizon.

Analyse multivariantes
Noter les lignes pointillées dans la fenêtre du bas où les analyses sont groupées par trois à une profondeur donnée

L’analyse multivariantes pour un même moteur tel qu’Houdini se configure en cliquant avec le bouton droit de la souris dans la fenêtre du bas des analyses, menu contextuel "Mode multivariantes". Par défaut "Off" est coché signifiant qu’il n’est affiché que la principale variante.

En choisissant "3", on demande à Houdini de présenter ses trois meilleures principales variations.
Cliquer sur le bouton "Analyse" (si on clique sur la roue dentée, la fenêtre d’analyse sera effacée quand le meilleur coup sera trouvé).
Si les trois variantes ne s’affichent pas, arrêter l’analyse, redémarrer le moteur et recliquer sur "Analyse".

L’analyse multivariante peut être sauvegardée (menu contextuel "Copier analyses dans le presse-papiers") dans un fichier texte séparé du PGN. Cependant Arena 3.0 ne semble pas correctement gérer la sauvegarde de la meilleure principale variation dans le PGN en mode multivariantes car il sauve la troisième alors qu’il devrait enregistrer la première ou les trois principales variations.

Analyse des trois meilleures principales variations par Houdini 1.5a

Le listing ci-dessus de l’analyse multivariante montre l’évolution du score et des principales variantes dans le temps et à telle profondeur lors de la position finale. Cela permet d’identifier le coût en terme de temps de passage d’une profondeur à l’autre en particulier pour les profondeurs extrêmes. Le timing dépend si on est en mode pré-analyse (première "Analyse") ou si on recommence une analyse dans le contexte des tables de transpositions (seconde analyse de la roue dentée) où le temps est fortement réduit pour les profondeurs déjà analysées ce qui permet d’aller plus en profondeur.

L’analyse multivariantes est utile dans un contexte interactif avec le joueur humain qui cherche à comprendre et à comparer les différentes variantes une fois que le PGN a déjà été annoté. Car la performance maximale pour l’annotation du PGN est préférable en mode principale variation unique (MultiPV off = 1 Principale Variation). MultiPV = 3 nécessite de la ressource supplémentaire pour analyser et conserver les deux lignes non optimales en plus de la meilleure principale variation.

L’analyse multivariantes (MultiPV = 3) est un facteur clef d’amélioration du joueur humain opérateur et observateur car pendant le temps d’analyse du moteur, le joueur humain peut comparer son propre classement qualitatif de ses trois meilleurs coups par rapport à celui quantitatif des trois meilleures principales variations d’Houdini. C’est la meilleure école comme si un Grand Maître Digital (GMD) était disponible pour un cours particulier quand le joueur humain le souhaite et dans la position échiquéenne voulue.

Analyse multimoteurs

Il est possible d’ajouter un autre moteur en plus d’Houdini tel que StockFish pour comparer l’analyse de chaque moteur (profondeur, score, principales variations dans le temps). Les multi-threads des deux moteurs se partagent les CPU qui tournent à 100%. Cela chauffe encore plus !

Dans Arena, cliquer sur le menu "Modules" > "Gérer"
Onglet 1 "Choix"

Ajouter StockFish 3 dans la fenêtre "Modules chargés".

Analyse multimoteurs de jeu d’Echecs
Houdini 1.5a et StockFish 3.0 analysent en parallèle la position finale

Quand on clique sur le bouton "Analyse", la fenêtre d’analyse du bas se scinde en deux, une partie pour Houdini et une autre pour StockFish.

Chaque moteur a sa propre couleur de flèche sur l’échiquier montrant le meilleur coup à l’instant donné.

Menu "Options" > "Apparences et autres..." > "Echiquier"
Onglet 5 "Flèches"

[x] "Montrer flèches durant les analyses"
[x] "Montrer flèches durant les calculs"
[x] "Montrer flèches durant la réflexion permanente"

Cadre "Style"

[x] "translucide"

Analyse en cluster (grappe de serveurs ou ferme de calcul en réseau)

Un marché émergent se développe sur internet : la location (principalement commerciale) du temps CPU de moteurs de jeu d’Echecs (mots clefs : chess cluster, Rybka cluster rental de Lukas Cimiotti, ArShah chess analystic cluster de Giovanni Ornaghi, Deep Fritz 13 ChessBase Engine Cloud nécessite une nouvelle monnaie 10 Ducats = 1 €, Google server farms, FishTest afin d’évaluer les nouvelles versions de StockFish, etc.).

Vasik Rajlich l’auteur de Rybka a annoncé en avril 2012 lors de son interview sur ChessBase par Frederic Friedel (qui a été consultant de Kasparov lors de son match contre Deep Blue) que le Gambit du Roi est résolu.

1.e4 e5 2.f4 exf4 3.Nf3 d6 0-1 selon la réfutation de Bobby Fischer "a bust to the King’s Gambit".

Vasik Rajlich a trouvé que la seule façon d’annuler avec les Blancs serait 3.Be2 après plusieurs mois d’analyse sur un cluster IBM de la puissance d’un IBM Watson (Not So Elementary selon Garry Kasparov, janvier 2013). IBM Watson est le gagnant du jeu télévisé Jeopardy (des questions de culture générale où il faut répondre en quelques secondes) contre des humains en langue naturelle américaine. C’est le successeur de Deep Blue ayant compilé toutes les connaissances de l’encyclopédie Wikipedia.

La prochaine cible de Vasik Rajlich serait la B94 Sicilienne Najdorf attaque Rauzer 6.Bg5 !

Posté le 18 octobre 2013 par Matt