Les programmes d'échecs deviennent hybrides

Les dernières versions des principaux programmes d'échecs ont intégré cette année une nouvelle technique combinant réseaux neuronaux et fonctions d'évaluation classiques.

La plus récente évolution des programmes d'ordinateur jouant aux échecs trouve sa source dans l'invention du NNUE (acronyme inversé de Réseau Neuronal Facilement Mis à jour en anglais) par l'informaticien japonais Yu Nasu en 2018 pour améliorer la programmation du jeu de shogi (les échecs japonais) en utilisant un réseau neuronal à 4 couches.
Cette nouvelle technique consiste à projeter sur les noeuds d'un réseau neuronal un jeu de pondérations permettant de retrouver les valeurs obtenues par une fonction d'évaluation classique, ce qui permet à la fois de démarrer avec un réseau déjà très optimisé et aussi de bénéficier, grâce aux interactions entre les couches, de la forte sensibilité des réseaux neuronaux aux petites évolutions du contexte (ce qui revient à obtenir au final une nouvelle fonction d'évaluation possédant d'utiles propriétés de non linéarité).
Après quelques tests conduits sur la version 10 de Stockfish, le NNUE a été mis en place cette année dans la version 12, et les performances du logiciel par rapport à sa version précédente, encore entièrement classique, s'en sont trouvées considérablement améliorées: le gain est estimé à 99 points Elo, ce qui est considérable (rappelons que sur l'échelle logarithmique définie par Arpad Elo une différence de 100 points signifie que le joueurs le plus fort remportera en moyenne deux fois plus de parties que son adversaire).

En terme d'architecture, le NNUE peut fonctionner sur un CPU classique (éventuellement dopé par une gestion SIMD permettant d'exécuter une même instruction en parallèle sur plusieurs jeux de données) ce qui est un autre avantage par rapport aux réseaux neuronaux "de base" qui ne peuvent fonctionner de façon vraiment performante qu'en utilisant une GPU (Graphic Processing Unit).

La plupart des autres logiciels d'échecs actuellement en compétition dans le TCEC N°20 ont suivi le mouvement initié par Stockfish: ainsi la version NNUE de Komodo s'appelle Komodo Dragon et occupe actuellement la troisième place du championnat derrière les indéboulonnables Stockfish et Leela (et devant AllieStein). Car les éditions du TCEC se suivent et se ressemblent: Stockfish et Leela sont un peu les Nadal et Djokovic du jeu d'échecs: depuis plusieurs années on peut prédire sans grand risque de se tromper qui seront les deux finalistes du tournoi.

D'autres systèmes NNUE, comme Igel, jouent également dans les divisions inférieures du championnat TCEC en utilisant des moteurs NNUE natifs (c'est-à-dire dont les fonctions d'évaluation n'ont pas été préalablement développées et optimisées dans le cadre d'un programme classique d'élagage alpha-bêta) mais ils ne sont pas encore au niveau des tout meilleurs.

La tentation est de plus en plus forte pour certains programmeurs de reprendre tout ou partie du logiciel de Stockfish (qui est dans le domaine public) plutôt que de développer leurs propres fonctions d'évaluation, et deux programmes ayant participé à la précédente édition du TCEC ont été déchus de leur classement après qu'il eut été découvert que leurs auteurs avaient plagié le code de Stockfish.

Le Club est l'espace de libre expression des abonnés de Mediapart. Ses contenus n'engagent pas la rédaction.