# Moteur d'échecs

Un moteur d'échecs ou module d'échecs est un programme informatique d'échecs.

## Présentation

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. Ils peuvent être commerciaux, open source ou libres.
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.). 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).
Enfin le protocole est une norme commune nécessaire pour faire dialoguer entre eux les moteurs et l'interface graphique. 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, le premier interface libre (GnuChess, Crafty)
* Protocoles commerciaux (Fritz, Junior, Shredder, Hiarcs, etc. avec une extension .eng ou .exe du moteur)

## Principes généraux

Compte tenu du nombre astronomique de parties d'échecs possibles (10$^{120}$), et donc de la probable impossibilité de les expliciter toutes, deux voies, dans les années 1960-1970, se sont dessinées pour la conduite d'une partie d'échecs : les partisans de la « force brute » contre ceux de l'intelligence artificielle. Les tenants de cette dernière, conduit par le chercheur français Jacques Pitrat, préconisaient le développement de systèmes experts capables de reproduire les raisonnements humains. En pratique, les progrès fulgurants des programmes basés sur la « force brute » ont fait disparaître cette approche et tous les moteurs en 2021 utilisent la voie du calcul brut. Ainsi le principe de base des modules est de calculer tous les coups possibles et leurs conséquences à des profondeurs toujours plus grandes.
Plus exactement, au lieu de calculer toutes les variantes possibles, les programmes éliminent les positions jugées moins favorables par l'expertise des programmeurs alliés aux champions d'échecs. Avec le temps, ces méthodes heuristiques prennent en compte de plus en plus de paramètres, augmentant le niveau des moteurs.

## Palmarès

En 2015, le Thoresen Chess Engines Competition (aujourd'hui Top Chess Engine Championship, ou TCEC, tournoi principal des moteurs d'échecs), indiquait que les trois meilleurs moteurs étaient Komodo, puis Stockfish et enfin Houdini. Lors de la 20e saison du TCEC, déroulée entre novembre 2020 et février 2021, Stockfish a remporté la compétition contre LCZero.