Wikiwand AI

Programme d'échecs

From Wikipedia, the free encyclopedia

Un programme d'échecs est un programme informatique conçu pour jouer au jeu d'échecs.

Jeu d'échecs électronique des années 1990 avec écran LCD.

Historique

Débuts et développement

L'histoire des machines joueuses d'échecs n'attend pas le développement de l'électronique et de l'informatique : la première fut l'automate turc inventée en 1769 par Johan Wolfgang von Kempelen[1], qui joua notamment contre l'impératrice Catherine II et Napoléon Bonaparte. C'était en fait un homme de petite taille caché dans la machine.

Les premiers véritables programmes virent le jour dans les années 1950, avec le développement des ordinateurs. Ils passèrent en un demi-siècle de la connaissance des règles à un niveau au moins égal à celui des meilleurs joueurs humains.

Le premier programme d'échecs, Turochamp, fut écrit par Alan Turing en . Ne disposant pas d'un ordinateur assez puissant pour le faire tourner, il simule lui-même les calculs de la machine, mettant environ une demi-heure pour effectuer chaque coup. Une partie fut enregistrée, où le programme perdit contre Alick Glennie, un collègue de Turing.

Chronologie

abcdef
6
Tour noire sur case blanche a6
Cavalier noir sur case noire b6
Dame noire sur case blanche c6
Roi noir sur case noire d6
Cavalier noir sur case blanche e6
Tour noire sur case noire f6
Pion noir sur case noire a5
Pion noir sur case blanche b5
Pion noir sur case noire c5
Pion noir sur case blanche d5
Pion noir sur case noire e5
Pion noir sur case blanche f5
Case blanche a4 vide
Case noire b4 vide
Case blanche c4 vide
Case noire d4 vide
Case blanche e4 vide
Case noire f4 vide
Case noire a3 vide
Case blanche b3 vide
Case noire c3 vide
Case blanche d3 vide
Case noire e3 vide
Case blanche f3 vide
Pion blanc sur case blanche a2
Pion blanc sur case noire b2
Pion blanc sur case blanche c2
Pion blanc sur case noire d2
Pion blanc sur case blanche e2
Pion blanc sur case noire f2
Tour blanche sur case noire a1
Cavalier blanc sur case blanche b1
Dame blanche sur case noire c1
Roi blanc sur case blanche d1
Cavalier blanc sur case noire e1
Tour blanche sur case blanche f1
6
55
44
33
22
11
abcdef
Los Alamos chess (en). Cette version simplifiée des échecs (sur un échiquier de 36 cases sans les fous) a été jouée en 1956 par l'ordinateur MANIAC I.
Sorti en 1977, Boris a été l’un des premiers ordinateurs d'échecs à être largement commercialisé.

Les principaux algorithmes de sélection des coups

Les moteurs d’échecs classiques

Les moteurs d’échecs classiques, depuis Turochamp d’Alan Turing jusqu’à Stockfish, reposent sur un même principe : explorer les coups possibles, évaluer les positions obtenues et choisir la variante jugée la meilleure.

Leur fonctionnement s’appuie sur trois piliers principaux :

Une fonction d’évaluation conçue par l’homme

Les positions sont notées par la fonction d'évaluation selon de nombreux critères définis manuellement : matériel, sécurité du roi, mobilité, structure de pions, activité des pièces, contrôle de l’espace, etc. Les moteurs classiques expriment généralement cette évaluation en unités de pions. Deep Blue, par exemple, utilisait environ 8 000 paramètres ajustés par des programmeurs et des maîtres d’échecs.

Des algorithmes de recherche

Les moteurs utilisent surtout l’algorithme minimax, qui suppose un adversaire jouant toujours les meilleurs coups. Pour limiter l’explosion du nombre de variantes, ils emploient l'élagage alpha-bêta, ainsi que d’autres techniques comme l’approfondissement itératif, la recherche de quiescence, les bibliothèques d’ouvertures et les tables de finales.

Une très grande puissance de calcul

Les moteurs classiques analysent un nombre colossal de positions grâce à la force brute. Stockfish peut ainsi examiner environ 70 millions de positions par seconde.

Cette approche contraste avec celle d’AlphaZero : celui-ci analyse beaucoup moins de positions (environ 80 000 par seconde), mais les sélectionne de manière bien plus pertinente grâce à ses réseaux neuronaux et à sa recherche Monte Carlo.

AlphaZero

DeepMind a présenté en 2018 AlphaZero, un moteur d’échecs capable d’apprendre seul en quelques heures grâce à l’auto-apprentissage, sans parties humaines, ouvertures ni connaissances stratégiques préprogrammées.

Contrairement aux moteurs classiques comme Stockfish, AlphaZero ne repose pas principalement sur la force brute ni sur des heuristiques humaines. Il utilise l’apprentissage par renforcement : en jouant des millions de parties contre lui-même, il renforce progressivement les coups qui conduisent à la victoire.

Son fonctionnement repose sur deux éléments principaux : un réseau de neurones profond, qui estime les meilleurs coups possibles et les probabilités de victoire et une recherche arborescente Monte Carlo (MCTS), qui explore sélectivement les variantes les plus prometteuses.

Au lieu d’évaluer les positions en unités de pions, AlphaZero raisonne en probabilités de gain. Cela lui permet de privilégier l’initiative, l’activité des pièces et les compensations positionnelles à long terme, même au prix de sacrifices matériels importants.

Son style a marqué le monde des échecs par sa créativité stratégique, ses plans de long terme et sa capacité à détecter des avantages positionnels subtils.

L’impact d’AlphaZero a été majeur : il a accéléré l’adoption des réseaux neuronaux dans les moteurs modernes, influençant notamment Leela Chess Zero et les versions récentes de Stockfish utilisant la technologie NNUE (efficiently updatable neural network (en) : réseau neuronal efficacement actualisable)[15]. Son influence s’est également étendue aux échecs humains, certaines idées stratégiques popularisées par AlphaZero ayant ensuite été reprises par des joueurs comme Magnus Carlsen.

Catégories

Supercalculateurs

Un superordinateur IBM du même type que Deep Blue lors de son match de 1997 contre Gary Kasparov.

L'utilisation des supercalculateurs dans le cadre des échecs avait deux buts principaux : battre les meilleurs joueurs d'échecs humains, mais surtout créer une vitrine technologique pour les constructeurs de matériel informatique.

Quelques supercalculateurs dédiés au jeu d'échecs :

Les réseaux neuronaux (intelligence artificielle) dédiés au jeu d’échecs :

Jeux électroniques

Au même titre que le micro-ordinateur pour les premiers ordinateurs, les jeux d'échecs électroniques sont une évolution naturelle des supercalculateurs dédiés au jeu d'échecs vers un format commercialisable. Ils bénéficient des avancées technologiques de miniaturisation des composants[16], mais également des avancées théoriques dans le domaine de l'algorithmique[17]. Ils ne deviennent réellement performants qu'à partir du milieu des années 1980.

Quelques jeux d'échecs électroniques réputés :

Ordinateur Mephisto Exclusive.
  • Chess Challenger 7 (Fidelity)
  • Mephisto
  • Leonardo, Galileo, Renaissance (Saitek)
  • Centurion (Saitek)
  • Citrine (Novag)

Logiciels de jeu d'échecs

Depuis les années 1990, la puissance croissante des ordinateurs personnels a relégué l'utilisation des supercalculateurs et des jeux électroniques au second plan. Depuis, les recherches portent plus sur le développement de logiciels performants que sur les machines utilisées.

Certains logiciels, comme ChessBrain[18], combinent la puissance de plusieurs ordinateurs d'un même réseau (calcul distribué), ce qui les rapproche de la catégorie des supercalculateurs et des ordinateurs multiprocesseurs.

À la fin des années 2010, les progrès de l'Intelligence artificielle ont montré leur effet sur le jeu d'échecs, le jeu de go et les jeux de réflexion en général. En témoignent la victoire de AlphaGo sur le champion du monde de go Lee Sedol et la victoire d'AlphaZero sur le fort programme d'échecs Stockfish.

Programmes les plus connus

DroidFish, un programme d'échecs libre pour systèmes Android basé sur Stockfish.

Quelques logiciels d'échecs parmi les plus connus, titrés ou réputés et relativement récents (2019) :

Programmes DOS

Ces anciens programmes d'échecs des années 1970 à 1990 ont été conçus pour fonctionner dans l'environnement MS-DOS, mais peuvent toujours être lancées actuellement (2019) sur la version 64 bit de Windows 10 grâce aux émulateurs tels que DOSBox ou QEMU[19] :

Précurseurs

Ces programmes d'échecs fonctionnent sur du matériel obsolète :

Microchess était le premier jeu commercial pour un ordinateur personnel, développé d'abord pour le KIM-1 et plus tard pour le Commodore PET, l'Apple II, le TRS-80 et autres. Le grand maître Bobby Fischer a joué contre MicroChess[20].

Mac Hack a été le premier programme d'échecs à se voir attribuer un classement Elo et le premier à gagner contre une personne en tournoi.

Logiciels de résolution de problèmes d'échecs

De nombreux programmes ont également vu le jour pour vérifier la correction d'un problème d'échecs. Ce type de programme est très spécifique, car contrairement à un programme de partie, il se doit d'analyser la totalité des coups possibles, puisqu'un problème qui aurait d'autres solutions que celles voulues par l'auteur serait démoli.

Lorsqu'un problème a été vérifié par ordinateur, cela est mentionné sous le diagramme du problème par le symbole « C+ » (C pour le mot anglais Computer).

Grands modèles de langage

Le début des années 2020 a vu se répandre l'usage de l'intelligence artificielle générative basée sur les grands modèles de langage. Plusieurs tentatives ont été faites pour jouer aux échecs contre elles. Il s'agit d'un bon exemple de la difficulté de l'ingénierie de prompt : une manière naïve de décrire les positions et le déroulement de la partie à la machine donne lieu à des coups mauvais voire illégaux[21]. En présentant la partie sous la même forme que les archives textuelles au format PGN comme utilisée sur des sites tels que chess.com, il a été possible d'obtenir un niveau de jeu de l'ordre de 1800 elo, soit le niveau d'un bon joueur de club[21]. En revanche si l'historique de la partie est constitué de coups médiocres, la machine va elle aussi proposer des coups médiocres[21]. De plus le résultat n'a pas pu être répliqué sous tous les LLMs et a essentiellement été constaté sur GPT-3.5-turbo-instruct qui a la particularité de ne pas avoir été modifié pour faire office de chatbot ou d'assistant IA[21].

Interfaces graphiques

Avec le développement de moteurs d'échecs performants, la séparation entre l'interface graphique de jeu (fenêtre, boutons et menus, présentation du plateau de jeu) et le moteur de jeu s'est faite naturellement.

La liste suivante n'est pas exhaustive.

Le programme GNU Chess, fonctionnant sous GNU/Linux, utilise l'interface XBoard.

Interfaces Unix, Linux :

Interfaces Windows :

Interfaces multi-plateformes :

Interfaces web :

Serveurs d'échecs sur internet

Il existe différents serveurs web dédiés entièrement, ou en partie, au jeu d'échecs entre joueurs. Ils peuvent disposer de nombreux outils : jeu en direct ou en différé (parties par correspondance), classement des joueurs, différentes variantes de jeu (Chess960, Bughouse, Atomic, etc.), tournois, leçons pour débutants, etc. :

Anecdote

En 1977, lors du 2e championnat du monde d'échecs des ordinateurs, l'ordinateur d'échecs Kaïssa donna soudainement une tour sans raison apparente à son adversaire Duchess, et perdit logiquement la partie. Mais, lors de l'analyse post-mortem de la partie (analyse détaillée), on constata que ce coup était en fait le seul qui parait un mat forcé.

Notes et références

Voir aussi

Related Articles

Timelines

Top Qs

Fact Checks