B.A.-BA des moteurs d'analyse par un "nul" pour les "nuls".

Préambule

Nous sommes nombreux, lors des confinements à avoir franchi, sans la moindre expérience, le pas du jeu sur des plateformes en ligne .

Comme son titre l' indique, cette page est rédigée par un débutant curieux, pour des joueurs, non initiés aux moteurs d'analyses numériques. Il ne s'agit pas d'un "tutoriel"  pour indiquer comment lancer une analyse (ça existe déjà voir liens en bas de page) mais de nous intéresser à l' architecture de ces outils pour en connaitre la pertinence par rapport à une analyse humaine et pour en cerner les limites.

Des passionnés débattent parfois férocement sur les forums, de la fiabilité ou la qualité ou la rapidité de tel ou tel moteur. Nous, nous en tiendrons à des principes généraux, des définitions, essentiels à la compréhension des résultats d'analyse que certains logiciels de jeu  nous mettent à disposition.

Tôt ou tard 

  • un débutant au jeu d'échecs s'entendra dire: "si tu veux progresser il faut analyser tes parties". 
  • les défaites répétées conduiront le débutant à corriger ses erreurs et à s' intéresser aux variantes
Un professeur expliquera la valeur des pièces, l'importance de la structure de pions, le contrôle du centre, des colonnes ouvertes semi ouvertes, la mise à l'abri du Roi, la paire de fous et le jeu des couleurs. Avec  ces quelques connaissances fondamentales, une analyse humaine devient possible. C'est formateur, gage de progrès mais beaucoup plus fastidieux que d'appuyer sur un bouton pour lancer l'analyse automatique par un ou plusieurs moteurs d'analyse.

C'est à ce stade que le débutant curieux se pose maintes questions.

  • Comment une machine peut elle évaluer mon niveau de jeu? jusqu' à  décider si je triche ou pas!!!
  • Pourquoi existe t il plusieurs moteurs et pourquoi leurs rapports de résultats sont différents pour une même partie? au risque d'être évalué comme un joueur exceptionnel par l un et tricheur par l'autre!!!

Des camarades de club,  plus expérimentés ou les forums apporteront souvent des réponses pouvant augmenter la curiosité du débutant.  

  • C'est quoi la profondeur d'analyse, c'est quoi une moyenne de "centipions" perdus?,  
  • quelles  sont les différences entre une imprécision, une erreur, ou une gaffe

C'est à ce stade que la connaissance de la terminologie et de certaines fonctionnalités s' impose.



Terminologie et fonctionnalités dans le jeu d'échecs numérique

Nous essayons dans les différents chapitres suivants de clarifier les termes utilisés dans le jargon des développeurs, pour désigner un équipement ou une fonction. Ceci nous permet en même temps d'expliquer très succinctement les fonctionnalités des moteurs d'analyse.

Logiciel de jeu d'échecs, plateforme en ligne, interface graphique, GUI: Interface Utilisateur Graphique(Chessbase ,Arena, Lichess, Chess.com, Lucas chess.....)

Nous sommes nombreux à faire l'amalgame entre l'interface graphique Chessbase , Arena et le moteur d'analyse Fritz, Stockfish, Komodo, Rybka

Un logiciel de jeu  permet à l'utilisateur de jouer de façon très conviviale grâce à l'interface graphique utilisateur (GUI) qui assure la passerelle entre l' homme et la machine. Les possibilités offertes par les GUI sont développées au chapitre Qu'est ce qui différencie les différents logiciels ?)



Moteur d'analyse, "bot": (Houdini, Stockfish, Komodo, Fritz...., Chessbot)

Ce sont des outils s'appuyant sur un algorithme et des bases de données  pour trier, les variantes méritant d'être évaluées,  les évaluer,  les classer, explorer des bases de données (tables d'ouvertures de finales, de parties similaires) comparer votre mouvement  et la position en résultant à celle engendrée par le meilleur coup trouvé par le moteur de recherche. Le moteur indique également qui des blancs ou des noirs possède un avantage et de quelle valeur.
Le moteur Stockfish 14+NNUE de Lichess évalue la situation après le mauvais mouvement 37 des noirs car mat en 2 raté 



En fin de partie un bilan ou rapport statistique dénombrant les coups de "excellents" à "gaffes" en passant par "erreurs" ou "imprécisions" et votre qualité de jeu moyenne (perte moyenne de centipions)
Bilan les noirs n'ont perdu en moyenne que 17 centipions par rapport aux coups idéaux selon Stockfish 14


Lorsqu'on communique à propos des résultats d'analyse d'une même partie par plusieurs moteurs il est utile  de préciser la version du moteur utilisée pour une analyse car chaque moteur peut être importé dans des versions différentes selon le logiciel utilisé. Par exemple,  Chess.com propose Stockfish 15+NNUE, Lichess  utilise Stockfish 14 avec ou sans NNUE. 


Profondeur d'analyse:

La profondeur correspond au nombre de demi mouvements évalués pour la suite de partie. Par exemple si le coup analysé est un sacrifice de Dame permettant de gagner par un mat en 10 coups. Le moteur lancé avec une profondeur de 9 évaluerait  (si seule la profondeur était utilisée pour l'évaluation ) votre sacrifice comme un mauvais coup alors que le même moteur lancé avec une profondeur de 11 évaluerait le sacrifice comme un très bon coup. Vous pouvez paramétrer la profondeur  au niveau qui vous convient (par rapport au temps de réponse souhaité) 

NODES par seconde NPS :

La traduction littérale serait nœuds par secondes. Il s'agit du nombre de situations que le moteur peut évaluer en une seconde. Plus le chiffre est important plus la réponse serait rapide (si seule le NODES était utilisée pour l'évaluation). Toutes les situations théoriquement possibles ne sont pas systématiquement calculées. En effet chaque demi coup ne modifie pas forcément  énormément la situation précédente déjà évaluée le coup précédent. Les moteurs d'analyse s'appuient sur des outils (MIN-MAX, ALPHA BETA) dits d'élagage permettant de faire l 'impasse sur des situations considérées comme ne méritant pas d'être évaluées. De même, grâce aux tables d'ouvertures et de finales nombre de situations connues et  préalablement évaluées dans les tables ne nécessitent aucun calcul. Vous pouvez également trouver le terme  "hashtable" ou table de hachage. Elles permettent de stoker les valeurs attribuées à une situation déjà rencontrée dans une autre partie. Une simple recopie du résultat permet  au moteur un gain de temps considérable.



Pour évaluer la situation suite au coup 7 des blancs Stockfish 14+NNUE n'a pas calculé (la mention cloud l indique) et on ne voit pas de knodes par seconde. L'évaluation a certainement été recopiée  d'une table d'ouvertures. On voit d'ailleurs les réponses possibles des noirs, avec le nombre de fois qu'elles ont été jouées, et le taux de réussite qui en a découlé pour les blancs et pour les noirs.



A partir du coup 8 Stockfish 14+NNUE  commence à calculer. Avec une profondeur de 22 il évalue 207000 situations par secondes. Cette information fluctue jusqu' au terme de la profondeur (ici encore en cours 20/22). En fin de calcul l'information de vitesse de calcul disparait

Retour au sommaire

CPU-processeurs-cœurs-GPU:

C'est l'équivalent de notre cerveau pour un ordinateur. Si un ordinateur ou serveur  est équipé d'un processeur de 4 cœurs (ou de 4 processeurs) il pourra évaluer 4 situations en simultané. Le temps de réponse serait  en théorie 2 fois plus rapide avec un CPU quatre cœurs qu'avec un deux cœurs. En réalité le temps de réponse dépendra aussi de la fréquence en giga.Hertz,  de la mémoire cache et de l'architecture du CPU. On retiendra simplement que la vitesse et la qualité d'une analyse sont directement liés au CPU donc à l'appareil sur lequel elle est calculée. Vous pouvez vérifier par exemple dans Lichess que la mémoire allouée à l'accès aux tables entre autres est bien moins importante sur votre smartphone que sur votre ordinateur.

GPU c'est un processeur gérant la partie graphique de l'ordinateur. On le cite ici car certains moteurs d'analyse s'appuient aussi sur le GPU.

Pour la même partie, le même coup, à paramètres d'analyse identiques on voit la différence d'utilisation de mémoire cache mais aussi l'adaptation de la profondeur et  la vitesse de calcul toutes moindres sur le smartphone par rapport à l'ordinateur. Ceci ne change rien au meilleur coup proposé en réponse aux blancs identique dans les deux configurations smartphone ou PC

Le maximum de mémoire cache disponible est de 192Mo

La profondeur est réduite à 18 et la vitesse d'analyse tombe à 81000 situations par secondes

Mémoire cache disponible sur PC 512 Mo

Profondeur PC 22 et vitesse 181000 situations/s



NNUE

Efficiently Updateable Neural Network
Certains moteurs  sont dotés d'une capacité d'autoapprentissage à partir de millions de parties jouées. En plus de l'évaluation classique ils ont  entre autres, la capacité de détecter dans la profondeur d'une variante, quels sont les coups qui mettent en danger les Rois, par exemple. Ils peuvent ainsi limiter le nombre de calculs.  Leur performance progresse donc au fil du temps. Les moteurs traditionnels, souverains au début, ont fini par être battus par les moteurs dotés de cette capacité d'évolution. Désormais la plupart des moteurs intègrent ou proposent de coupler en option le NNUE à leur mode de calcul traditionnel Stockfish 14 par exemple. Komodo aussi a intégré le NNUE dans sa version "Dragon by Komodo"
 

Centipions:

Un centipion est l' unité d'évaluation utilisée par les moteurs d' analyse. Il  équivaut donc à un centième de pion. Le résultat d'une évaluation de situation consécutive à un mouvement est exprimée en centipions. Si le chiffre est précédé d'un + l'avantage est aux blancs s'il est négatif l'avantage est aux noirs (-2.70 signifierait que le demi coup évalué aurait engendré une position qui serait à l'avantage des noirs estimée à un équivalent de 2.7 pions supplémentaires.) Le moteur affiche également une ou plusieurs (au choix de l'utilisateur)  meilleures réponses  pour la suite de partie en précisant l 'évaluation en centipions  de chacune des variantes proposées. Pour une illustration de ces propos cliquez ici
  L'étude critique de ces évaluations de positions par certains grands maîtres pointe souvent l'absence d'élagage de variantes composées de multitudes coups impossibles à anticiper par le cerveau humain. Le meilleur coup proposé est parfois difficilement compréhensible. Par exemple, le moteur peut parfois renoncer à une prise majeure car il a identifié une menace potentielle 8 coups théoriques plus tard et préfèrera donner comme meilleur coup le mouvement qui permettra de parer à cette potentielle menace future.
Ce défaut  n'en est pas un pour les débutants qui font beaucoup d'erreurs et de gaffes en partie simplement car ils ne voient pas toutes les menaces à un ou deux coups. Pour les très bons joueurs le défaut peut être gommé en paramétrant (niveau ELO, hashtable, NNUE...) le moteur mais il doivent tâtonner pour trouver le niveau qui leur convient. L'objectif pour eux est de progresser pour remporter des tournois FIDE et non pas d'exceller contre des coups d'ordinateurs qu'un humain ne jouera jamais
 

Rapport ou bilan de partie:

  • Perte en centipions ou taux de réussite. Le moteur compare sans l'afficher la cote de chaque  demi coup à celle du meilleur coup trouvé par le moteur. Par exemple  si votre position (blancs) est cotée à +0.70 et la position du meilleur coup proposé par l ordinateur cotée à +1 vous avez perdu sur ce coup (1-0.7=0.3) soit 30 centipions . 
  • Cette valeur permet grâce à une échelle particulière à chaque moteur de regrouper les mouvements de chaque joueur sous des qualificatifs tels que "meilleur coup", "imprécision" "erreur" ou "gaffes". Un code de couleur  allant  graduellement des couleurs dites froides (bleu, vert) pour les meilleurs et  bons coups, vers les couleurs chaudes (jaune ,orange, rouge) pour les imprécisions erreurs et gaffes est souvent utilisé pour repérer  facilement les moments clés dans une partie
  •  On y trouve (Lichess) également la moyenne des centipions perdus par chaque joueur sur la partie (somme des pertes à chaque coup divisé par le nombre de coups joués) Plus le chiffre se rapproche de 0 (jeu idéal d'un ordinateur) plus la qualité de jeu est excellente.. Cette statistique peut également être exprimée en  pourcentage de réussite (CHESS.com) (plus le taux  se rapproche du jeu idéal de l'ordinateur de 100% meilleure est, la qualité du jeu du joueur évalué
  • Le graphique montre les moments clés de la partie avec la prise d'avantage par un joueur ou l'autre
Exemple Chess.com
On peut également accéder à une statistique de nombres de mouvements et de qualité pour chaque pièce
On peut également trouver une statistique par phase: ouverture, milieu, finale
Un autre graphique de Lichess  visualise le temps par coup au fil de la partie.
Exemple Lichess

Qu'est ce qui différencie les différents logiciels, bot, moteurs d'analyse:

Nous espérons avoir aidé les débutants à décrypter les rapports d'analyse et  à admettre, les différences de résultats dans l'analyse des parties en fonction du moteur utilisé, des options choisies quand au complément ou pas de NNUE, de la profondeur demandée, de la performance du CPU de la machine utilisée pour l'analyse. 

La possibilité, de paramétrer le niveau ELO du moteur, d'utiliser ou pas les différentes tables, de limiter la profondeur permet désormais de limiter l'analyse trop théorique d'un algorithme pour la  rapprocher de la capacité du cerveau humain et de son niveau ELO. Le stress, l'enthousiasme, le tempérament d' attaquant ou de défenseur, la condition physique, le fairplay et la tricherie restent encore à modéliser....

L'énumération entamée plus haut, dans le titre :" moteurs d'analyse" est loin d'être exhaustive, une multitude de logiciels et de moteurs ou bots existent mais lesquels choisir?

Les grandes différences permettant d'effectuer un premier tri entre les multiples interfaces graphiques  GUI pourraient être: 

  • la gratuité d'utilisation ou pas 
  • la nécessité ou pas de télécharger et d'installer un programme sur son appareil
  • la possibilité ou pas de l' utiliser indifféremment sur un ordinateur, smartphone, tablette et sous différents systèmes d'exploitation Windows Unix Android Apple Linux...
  • la possibilité ou pas de l' utiliser dans une langue que l' on maîtrise

A l' intérieur de ce premier critère de tri on aura le choix entre des GUI:

  • imposant ou pas de créer un compte et de s' y connecter selon les fonctionnalités utilisées
et cochant plus ou moins d'options ci dessous:

  •  d'analyser nos coups en nous proposant un choix de moteurs d'analyse pour le faire. 
  •  donner l'accès à des bases de données de parties déjà jouées, à des tables d'ouverture, de finales,
  •  de proposer des exercices ciblés
  •  de jouer contre un ami, un anonyme ou un "bot".
  • de "chater" en direct pendant le jeu ou entre les rondes de tournois
  • de  permettre l'accès à des vidéos d'enseignement de décryptage ou tout simplement des "tutoriels" pour optimiser le paramétrage et l 'utilisation de la plateforme .
  • de permettre l'accès aux parties des autres en direct ou différé
  • de donner la possibilité d'exporter les parties sous format PGN
  • de mettre à disposition du codage "html" permettant de publier des échiquiers numériques interactifs sur vos sites ou blogs.

Un troisième critère de différenciation (plus important pour les très bons joueurs)

 réside dans les algorithmes de calcul utilisés par les différents moteurs d'analyse mis à disposition, et les priorités données par le développeur par exemple:
  •  analyser peu profondément beaucoup de situations ou 
  • élaguer pour diminuer le nombre de situations à évaluer pour privilégier la profondeur 
Chacun préfèrera tel ou tel moteur par rapport au temps de réponse souhaité en fonction de la puissance de l'appareil utilisé

Nous terminerons par des critères beaucoup plus subjectifs mais primordiaux pour des débutants

 la convivialité, l'ergonomie, l'intuitivité de l interface graphique en fonction de leur besoin propre.

Pour ceux qui auraient aimé un conseil de choix de GUI ou de moteur d'analyse, ils devront aller sur des sites beaucoup plus aptes à comparer les différents produits existant . Notre objectif  on le rappelle,  se limite à clarifier la terminologie pour justement être moins perdus lorsqu'on navigue sur des sites spécialisés.

Détection des tricheurs, outils, BOT, signalement, arbitrage des modérateurs, sanctions:

Ces moteurs sont parfois utilisés par certains perdants 😀(tous niveaux confondus) pour mettre en doute le fair-play de leurs adversaires et de les désigner comme tricheurs. Le milieu des échecs numérique n'étant pas épargné par la tricherie (sans doute parce qu'on ne peut pas se serrer la main en début de partie 😂) les plateformes  surveillent leurs utilisateurs grâce a des outils (IRWIN pour Lichess par exemple) permettant de comparer le niveau ELO d'un joueur à sa vitesse de jeu, son nombre de coups parfaits joués, sa connaissance des ouvertures ou finales, la rareté des coups joués dans les bases de données, l'ancienneté du compte, et sa fréquentation, et ce sur maintes parties. Les joueurs se sentant lésés peuvent bloquer leur adversaire et même le signaler aux modérateurs en argumentant Les modérateurs pourront s'ils considèrent que la triche est avérée aller jusqu' à bannir définitivement le compte d'un joueur et recréditer les points perdus contre lui  à ses adversaires. Certaines plateformes semblent le faire avec ce que nous qualifierons de désinvolture à savoir sans entendre les arguments du tricheur présumé sous prétexte qu'il peut faire appel, ou se réinscrire sous un autre pseudo (email différent).

Le nombre de témoignages sur les forums de joueurs honnêtes ou de leur camarades de clubs, souvent investis dans l'enseignement, et totalement désabusés pour avoir été condamnés et sanctionnés injustement  aux yeux de tous ne manquent pas.

Détecter un vrai tricheur  reste difficile car les robots ("bot" diminutif en anglais) sont conçus pour se rapprocher du jeu humain à des fins d'entrainement. Certains tricheurs jouent en ligne avec leur appui, prennent le temps de la réflexion face à des situations pour maquiller leur graphique de temps par coup, font des erreurs volontaires sachant que le bot va leur permettre de les compenser .

(maj. Octobre2022: L'actualité de cet automne 22 démontre malheureusement que malgré tous les dispositifs de surveillance mis en place lors des tournois professionnels certains passent au travers des mailles et poursuivent impunément les compétitions internationales. Seuls leur aveux permettent de faire aboutir les enquêtes..)

Nous ne tenterons pas de répondre à leur place aux questions suivantes:
  • Aux tricheurs avérés: 
    • Pourquoi détourner la technologie pour dominer (il n' y a  pas d'argent ni de pouvoir en jeu)  ou obtenir un classement supérieur à sa réelle capacité? 
  • Aux victimes potentielles de tricheurs présumés:
    • Pourquoi les signaler aux modérateurs? sachant qu'ils ont à faire à des "médiocres" sans amour propre. S'ils sont bannis ils se reconnecteront sous un autre email. Les vrais tricheurs déjouent les outils de surveillance et laisseront les modérateurs compétents avec un doute ne permettant aucune sanction. 
  • Aux modérateurs qui dans le doute bannissent
    • Pourquoi bafouer la présomption  d'innocence sur la base du verdict d'un robot et sans chercher à connaitre les arguments du joueur incriminé?
Dans les trois cas, nous pensons qu' à force de fréquenter des machines dotées de ce qu'on appelle de l' Intelligence Artificielle il manquerait  un peu de place à l' humain?

Conclusion

Ces outils quoiqu'on en pense ont le mérite d'exister car nous avons tous apprécié, pendant les confinements, de pouvoir poursuivre notre activité échiquéenne. Merci à tous ceux qui l'ont rendu possible.

Nous espérons avoir aidé ceux pour qui les analyses de parties par une machine restaient ténébreuses et 
avoir:
  •  répondu à la question: " pourquoi pour une même partie on peut obtenir  des résultats d'analyse différents?" 
  •   avoir donné l'envie  à certains de les utiliser au niveau où ils le souhaitent pour progresser.
  •   avoir dissuadé ceux qui tirent une fierté du résultat et du classement de jouer en ligne car ils y croiseront aussi des tricheurs.
et à tous nous recommandons, de fréquenter un club ou de rencontrer physiquement des amis pour conserver les notions de respect et d'humanité et de debriefer ensemble les bons coups et les gaffes. 



Sources d'informations utilisées pour rédiger cette page

Pour compléter l'information sur:
  •  les différentes tables permettant de limiter les calculs cliquez ici
  • la multitude de moteurs existants leurs avantages et inconvénients respectifs  cliquez ici
  • comment analyser vos parties (jouées et notées sur papier) cliquez ici
  • Comment est calculée la précision dans Chess.com cliquez ici et  cliquez ici 
  • Comment lire le bian de partie dans Chess.com cliquez ici
  • le NNUE  cliquez ici
  • la tricherie aux échecs en ligne cliquez ici

Aucun commentaire:

Enregistrer un commentaire

Vos critiques, réponses au quizz sont les bienvenues.