Moteur d'échecs

Un moteur d'échecs ou module d'échecs est un programme informatique d'échecs.
Présentation
[modifier | modifier le code]Un moteur d'échecs contient le code informatique, l’algorithme, qui calcule un coup dans une position donnée. Plusieurs de ces programmes existent, avec des systèmes d’évaluation spécifiques et des niveaux de jeu différents. Ils peuvent être commerciaux, open source ou libres[1].
Il faut distinguer l'interface graphique du moteur d'échecs. Cette interface utilisateur (ou chess GUI) est le programme qui va accueillir, faire fonctionner ces moteurs, gérer l'environnement visible par l'utilisateur (échiquier, information issus du calcul des modules, évaluation de la position, utilisation des tablebases, profondeur de la recherche, animation des variantes, etc.). La distinction entre l'interface et le moteur permet aux programmeurs de se concentrer sur les performances de ce dernier sans devoir gérer la représentation visuelle de l'échiquier. Ces interfaces peuvent être XBoard/WinBoard, Arena, ou Chessbase (commercial).
Enfin le protocole est une norme commune nécessaire pour faire dialoguer entre eux les moteurs et l'interface graphique. Ces protocoles permettent aussi aux moteurs de s'affronter lors de tournois. Actuellement, 3 types de protocoles dominent les modules d’échecs :
- Protocole UCI (Universal Chess Interface) est le plus répandu de tous (Arena, Rybka Aquarium, ChessGui, José Chess, etc.)
- Protocole Winboard, la première interface libre (GnuChess, Crafty)
- Protocoles commerciaux (Fritz, Junior, Shredder, Hiarcs, etc. avec une extension .eng ou .exe du moteur)
Principes généraux
[modifier | modifier le code]Compte tenu du nombre astronomique de parties d'échecs possibles et donc de l'impossibilité pratique de les expliciter toutes, deux manières de programmer un moteur d'échecs sont proposées par Claude Shannon dans un papier, en 1949 :
- La première consiste, dans une position donnée, à évaluer l'intégralité des positions qu'il est possible d'atteindre, jusqu'à une profondeur donnée, afin de choisir la meilleure.
- La seconde consiste à se concentrer sur les coups les plus prometteurs, afin de pouvoir les explorer plus en profondeur.
De nos jours, les principaux moteurs d'échecs, tels que Stockfish ou Komodo, utilisent une méthode intermédiaire, en évaluant toutes les positions possibles jusqu'à une faible profondeur et en sélectionnant les coups les plus intéressants pour les évaluer plus profondément.
La deuxième manière de programmer un moteur d'échecs implique l'utilisation d'heuristiques, permettant de déterminer les meilleurs coups à analyser. Ces heuristiques sont pendant longtemps restées explicites, demandant l'appui de joueurs d'échecs expérimentés afin d'aider les développeurs de moteurs. Mais, avec l'essor du machine learning, de nouvelles heuristiques qui ne nécessitent pas d'expertise humaine ont vu le jour. Stockfish, alors le meilleur moteur du monde, intègre un réseau neuronal efficacement actualisable (efficiently updatable neural network (en), NNUE) en 2020[2].
Palmarès
[modifier | modifier le code]En 2015, le Thoresen Chess Engines Competition (aujourd'hui Top Chess Engine Championship, ou TCEC, tournoi principal des moteurs d'échecs)[3], indiquait que les trois meilleurs moteurs étaient Komodo, puis Stockfish et enfin Houdini[4]. Lors de la 20e saison du TCEC, déroulée entre et , Stockfish a remporté la compétition contre LCZero[5].
Références
[modifier | modifier le code]- ↑ « Les moteurs d’échecs », sur Club d’Echecs Castelsarrasin-Moissac (consulté le ).
- ↑ (en) « Introducing NNUE Evaluation », sur Stockfish (consulté le )
- ↑ (en) « The Real Kings of Chess Are Computers », sur wsj.com, (consulté le )
- ↑ (en) « Komodo Is Computer Chess Champion Again », sur i-programmer.info, (consulté le )
- ↑ « You are being redirected... », sur www.panaynews.net (consulté le )
Voir aussi
[modifier | modifier le code]Articles connexes
[modifier | modifier le code]Liens externes
[modifier | modifier le code]- (en) Computer Chess Rating Lists 40/40 un comparateur de logiciels d'échecs basé sur des parties jouées entre eux.
- Le fou numérique, sur les moteurs d'échecs