Un moteur d'échecs contient le code informatique, l’algorithme, qui calcule le meilleur coup dans une position donnée. Ces programmes sont différents entre eux, ont un style de jeu paramétrable, un nom et des systèmes d’évaluations spécifiques, en bref ils ont une personnalité. Il en existe de tout niveau et ils peuvent être commerciaux, open source ou libres. Il faut cependant distinguer l'interface graphique du moteur d'échecs. Cette interface utilisateur (ou chess GUI) est le programme qui va accueillir, faire fonctionner ces moteurs et gérer l'environnement visible par l'utilisateur (échiquier, information issue du calcul des modules, évaluation de la position, utilisation des tablebases, profondeur de la recherche, animation des variantes, etc.).
Ces interfaces permettent aussi aux moteurs de se rencontrer entre eux lors de tournois. Un autre avantage est que les programmeurs peuvent se concentrer sur les performances de leur moteur sans devoir gérer la représentation visuelle de l'échiquier. Ces interfaces peuvent être XBoard/WinBoard, Arena, ou Chessbase (commercial). Ainsi, Leela Chess Zero (LCZero ou LCZ) a été présenté comme étant un moteur d’échecs libre et open source. Il a été développé par Alexander Lyashuk et Gary Linscott qui est aussi un développeur du programme Stockfish. Leela Chess Zero est inspiré du moteur de go Leela Zero, qui est lui-même basé sur le projet AlphaGo Zero de DeepMind.
Leela Chess Zero est un moteur d’échecs conforme aux normes UCI conçu pour jouer aux échecs via un réseau de neurones. Comme Leela Zero et AlphaGo Zero, Leela Chess Zero ne connaît que les règles du jeu et rien de plus. Leela Chess Zero est entraîné sur un site web dédié. Quelques mois de développement et d'entraînement on suffit à Leela Chess Zero pour atteindre le niveau d'un GMI (signifiant titre de grand maître international (GMI), créé à partir de 1950, utilisé aussi bien au jeu d'échecs qu'au jeu de dames). Il surpasse de ce fait des versions précédentes de Rybka, Stockfish ou Komodo, également de puissants moteurs d’échecs, tout en analysant moins de positions que ces programmes.
Selon la description qui est faite du moteur, cette performance est issue du fait qu’il utilise la recherche arborescente Monte-Carlo (Monte Carlo tree search (MCTS)). En avril 2018, Leela Chess Zero est devenu le premier moteur basé sur un réseau de neurones à entrer dans le Top Chess Engine Championship (TCEC) pendant la saison 12 dans la plus petite division, la division 4. Le moteur ne réussit pas bien : sur 28 parties il en gagne une, en annule deux et perd le reste, sa seule victoire survenant après le crash de son opposant Scorpio 2.82. Cependant, il est amélioré rapidement et, en juillet 2018, il se place 7e sur 8 au Championnat du monde d'échecs des ordinateurs.
Dans la saison 13 du TCEC, il gagne la division 4 avec un record de 14 victoires, 12 nulles et 2 défaites. Il est qualifié pour la division suivante et termine deuxième à égalité avec Arasan mais ne va pas plus loin (la règle étant qu'en cas d'égalité, les résultats entre les moteurs concernés priment). Son record dans la division 3 est de 7 victoires, 17 nulles et 3 défaites. En août 2018, il avait ainsi joué contre lui-même plus de 23 millions de parties. Leela Chess Zero a par la suite été en mesure de jouer contre les meilleurs moteurs du monde au Chess.com Computer Chess Championship (CCCC) en 2018.
À la fin du tournoi, Leela Chess Zero s'est placé à la 5e place sur les 24 participants. Les huit premiers se qualifiant au round 2, Leela Chess Zero se place alors quatrième. Leela Chess Zero a ensuite gagné un match de 30 parties contre Komodo pour conquérir la 3e place du tournoi. Parallèlement, Leela Chess Zero a participé à la coupe TCEC, un nouvel événement dans lequel des moteurs peuvent jouer contre d'autres moteurs issus de divisions différentes. Leela Chess Zero a défait des moteurs appartenant à la plus haute division comme Laser, Ethereal ou Fire avant de se faire éliminer par Stockfish en demi-finale. Ensuite, en octobre et novembre 2018, Leela Chess Zero a participé au Chess.com Computer Chess Championship Blitz Battle et a fini 3e derrière Stockfish et Komodo.
En décembre de la même année, Leela Chess Zero participe à la saison 14 du TCEC. Elle domine les divisions 4, 3 et 2 en finissant facilement première. En première division, Stockfish a dominé tandis que Houdini, Komodo et Leela se sont disputé la seconde place. Lors de la ronde finale, Leela Chess Zero devait faire un match nul contre Stockfish pour terminer seul deuxième. Ce qu’il fit et se qualifie donc pour la finale contre Stockfish. En février 2019, Leela Chess Zero a remporté son premier tournoi majeur en battant Houdini lors de la deuxième coupe TCEC, sans perdre aucune partie du tournoi.
À l’entame du mois de mars 2019, Leela Chess Zero a gagné un match (bonus de fin de la saison 14) contre Stockfish en rapide sur 100 parties. Une nouvelle version de Leela Chess Zero, la version 0.21.2, est disponible depuis juin 2019 et disponible sur GitHub. Cette version inclut les changements suivants :
- des optimisations pour les cartes GTX 16xx (cudnn-fp16 fonctionne maintenant pour elles, même si cela n'améliore pas autant les performances que pour les cartes RTX) ;
- la fonctionnalité « Post-it » est activée par défaut : cela rend le jeu de LC0 meilleur quand il voit un coéquipier quelque part pendant la recherche ;
- la formule Centipawn a été mise à jour : LC0 affichera désormais des valeurs d'évaluation plus similaires à celles affichées par les autres moteurs ;
- l’optimisation pour un réseau neuronal plus large (plus de filtres) pour de futures exécutions (peut-être test60).
Les sources du moteur d'échecs Leela Chess Zero et la configuration requise sur chaque plateforme pour le tester sont disponibles sur GitHub. Vous pouvez y accéder pour en savoir plus sur Leela Chess Zero. Le moteur dispose aussi désormais d’une interface graphique dénommée Nibbler inspirée de l’interface Lizzie Go. « Bien que Nibbler soit un travail en cours, il est très utilisable et a reçu de nombreux commentaires pour la plupart positifs », a déclaré son développeur.
Sources : LC0, GitHub
Et vous ?
Qu'en pensez-vous ?
Voir aussi
AlphaStar, l'agent IA de DeepMind pour le jeu StarCraft II, jouera anonymement contre des joueurs humains sur battle.net
DeepMind de Google : son IA a atteint une « performance humaine » dans une version modifiée de Quake III Arena, un jeu de tir en ligne
AlphaStar, l'IA de DeepMind qui a battu deux des meilleurs joueurs de Starcraft II. A-t-elle combattu à la loyale ou disposait-elle d'avantages ?