Aller au contenu

Programme d'échecs

Un article de Wikipédia, l'encyclopédie libre.
Jeu d'échecs électronique des années 1990 avec écran LCD.

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

Débuts et développement

[modifier | modifier le code]

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

[modifier | modifier le code]
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

[modifier | modifier le code]

Les moteurs d’échecs classiques

[modifier | modifier le code]

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

[modifier | modifier le code]

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

[modifier | modifier le code]

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

[modifier | modifier le code]

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.

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

[modifier | modifier le code]

Supercalculateurs

[modifier | modifier le code]
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

[modifier | modifier le code]

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

[modifier | modifier le code]

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

[modifier | modifier le code]
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

[modifier | modifier le code]

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

[modifier | modifier le code]

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

[modifier | modifier le code]

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

[modifier | modifier le code]

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

[modifier | modifier le code]

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

[modifier | modifier le code]

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. :

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

[modifier | modifier le code]
(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Computer chess » (voir la liste des auteurs).
  1. ↑ « Les premiers automates », sur BlitzChess.fr (consulté le ).
  2. ↑ (en) « How Claude Shannon Helped Kick-start Machine Learning - IEEE Spectrum », sur spectrum.ieee.org (consulté le )
  3. ↑ (en) Claude E. Shannon, « A chess-playing machine », Scientific American,‎ (lire en ligne)
  4. ↑ Fiche de Ben Mittman sur chessprogramming.org (consulté le 17 juin 2019).
  5. ↑ Arnold Denker était alors âgé de 74 ans et crédité d'un classement Elo de 2300.
  6. ↑ (en) Dylan Loeb McClain, « Bent Larsen, Chess Grandmaster, Dies at 75 », The New York Times,‎ (ISSN 0362-4331, lire en ligne, consulté le )
  7. ↑ (en) « Chess legend Bent Larsen turns 75 », sur Chess News, (consulté le )
  8. ↑ (en) Man vs machine, the endless fascination.
  9. ↑ Pierre Barthélémy, « L’espèce humaine, échec et mat », Le Monde.fr,‎ (lire en ligne, consulté le )
  10. ↑ (en) Mark Robert Anderson, « Twenty years on from Deep Blue vs Kasparov: how a chess match started the big data revolution », sur The Conversation, (consulté le )
  11. ↑ (en) « Adams vs Hydra: Man 0.5 – Machine 5.5 », sur Chess Base, (consulté le )
  12. ↑ (en) Dylan Loeb McClain, « Yes, All Players Make Blunders, but Kramnik’s Was Colossal », The New York Times,‎ (ISSN 0362-4331, lire en ligne, consulté le )
  13. ↑ (en) Chidanand Rajghatta, « Return of the King: Viswanathan Anand », The Times of India,‎ (ISSN 0971-8257, lire en ligne, consulté le )
  14. ↑ « L'IA de google deepmind devient en quelques heures une championne des echecs », Numerama.com, le 7 décembre 2017.
  15. ↑ (en) « Introducing NNUE Evaluation », sur Stockfish (consulté le )
  16. ↑ La grande majorité des jeux d'échecs électroniques utilisent des composants RISC, qu'on retrouve également dans les PowerPC et les machines spécialisées.
  17. ↑ intégration de l'algorithme MinMax, utilisation des bibliothèques d'ouverture, etc.
  18. ↑ (en) présentation de ChessBrain, chessbrain.net (consulté le 15 octobre 2020).
  19. ↑ (en) « Other DOS oldies » [archive du ]
  20. ↑ (en) Peter Jennings, « Microchess for the Kim-1 », sur benlo.com (consulté le ).
  21. 1 2 3 4 Thibaut Giraud, La parole aux machines : Philosophie des grands modèles de langage, , 473 p. (ISBN 978-2-246-84165-4, présentation en ligne), chap. 7 (« Les LLMs rêvent-ils de cavaliers électriques ? »).
  22. ↑ Thief.
  23. ↑ Arena.
  24. ↑ Chess Giants.
  25. ↑ Babaschess.
  26. ↑ « JChecs », sur framasoft.net (consulté le ).
  27. ↑ « Scid - Chess Database Software », sur scid.sourceforge.net (consulté le )
  28. ↑ WebChess.
  29. ↑ Queenside.net.
  30. ↑ « Wayback Machine », sur Internet Archive (consulté le ).
  31. ↑ « CoffeeHouse : The Internet Chess Club Java Interface », sur Internet Archive (consulté le ).
  32. ↑ « Wayback Machine », sur Internet Archive (consulté le ).
  33. ↑ « Play Chess Online For Free », sur Internet Archive (consulté le ).
  34. ↑ « Chess Tactics Server », sur Internet Archive (consulté le ).
  35. ↑ « Chess Tactics », sur Internet Archive (consulté le ).
  36. ↑ (en) « Shredder Computer Chess Download », sur Internet Archive (consulté le ).
  37. ↑ « Jouez aux échecs en ligne », europe-echecs.com (consulté le 14 mai 2019).
  38. ↑ « Online Chess », sur Internet Archive (consulté le ).

Articles connexes

[modifier | modifier le code]

Liens externes

[modifier | modifier le code]