Programme d'échecs
Un programme d'échecs est un programme informatique conçu pour jouer au jeu d'échecs.
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 Wofgang 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.
L'un des pionniers fut Alan Turing qui, en , écrit un programme de jeu d'échecs. 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
- En 1770, Wolfgang von Kempelen construit l'automate joueur-d'échecs, le Turc mécanique, qui devient le plus grand canular de cette période.
- En 1868, Charles Hooper (en) présente l'automate Ajeeb — qui avait également un joueur d'échecs à l'intérieur.
- En 1876, Charles Geoffrey Gumpel contrôla cette fois-ci l'automate nommé Mephisto à distance grâce à des moyens électromécaniques.
- En 1912, Leonardo Torres y Quevedo construit une machine qui peut jouer les finales roi et tour contre roi.
- En 1948, le livre Cybernétique de Norbert Wiener décrit comment un programme d'échecs peut être développé en utilisant une profondeur minimale de recherche avec une fonction d'évaluation.
- En 1950, John von Neumann développe un programme d'échecs (sur un échiquier 6x6 sans fou) sur le MANIAC I.
- En 1951, Alan Turing développe sur le papier le premier programme capable de jouer une partie d'échecs complète.
- En 1952, Dietrich Prinz (en) développe un programme résolvant des problèmes d'échecs.
a | b | c | d | e | f | ||
6 | 6 | ||||||
5 | 5 | ||||||
4 | 4 | ||||||
3 | 3 | ||||||
2 | 2 | ||||||
1 | 1 | ||||||
a | b | c | d | e | f |
- En 1956, invention de l'algorithme de recherche alpha-bêta par John McCarthy.
- En 1958, NSS devient le premier programme d'échecs à utiliser l'élagage alpha-bêta.
- En 1958, les premiers programmes qui sont capables de jouer une partie complète voient le jour, le premier par Alex Bernstein et l'autre par des programmeurs russes sur mainframe BESM.
- En 1962, le premier programme avec un jeu crédible, Kotok-McCarthy est publié au MIT.
- En 1966-1967, le premier match entre programmes d'échecs voit le jour. Le programme Kaissa de l'Institut de physique théorique et expérimentale de Moscou triomphe de Kotok-McCarthy de l'université Stanford. Les coups étaient échangés par télégraphe et le match a duré 9 mois.
- En 1967, Max Hack 6 de Richard Greenblatt utilise des tables de transposition pour la première fois et devient le premier programme à gagner contre une personne en tournoi.
- En 1970, le premier Championnat nord-américain des ordinateurs d'échecs est organisé.
- En 1974, Kaissa devient le premier champion du monde des ordinateurs.
- En 1977, le premier jeu d'échecs électronique, Chess Challenger, est commercialisé. Chess 4.6 devient le premier ordinateur d'échecs à remporter un tournoi d'échecs majeur. Ben Mittman[2] cofonde l'International Computer Chess Association (ICCA). Également cette année, Applied Concepts commercialise Boris, un ordinateur dédié aux échecs dans une boîte en bois avec des pièces d’échecs en plastique et une planche pliante.
- En 1978, Belle, un ordinateur spécialisé construit par Ken Thompson atteint le niveau de maître,
- En 1985, HiTech réalise une performance Elo de 2530, c'est le premier programme à atteindre le classement de 2400 (niveau d'un maître international) ; en 1988 il remporte le championnat de l'État de Pennsylvanie après avoir battu le maître international Ed Formanek (2485). Il bat également le grand maître international Arnold Denker en match (3,5-2,5)[3].
- En 1989, Deep Thought, le premier ordinateur du niveau d'un grand maître est facilement battu en match 2-0 par Garry Kasparov.
- En 1994, Fritz 3 gagne une partie de blitz contre le champion du monde de l'époque, Garry Kasparov et ils terminent ex æquo. Kasparov prend sa revanche dans les départages : 4-1[4]. Cette même année à Londres, Chess Genius bat Garry Kasparov en partie semi-rapide (1,5-0,5) avec un Pentium 100 MHz.
- En 1996, le superordinateur Deep Blue perd contre Garry Kasparov. (1 victoire, 2 nulles et 3 défaites).
- En 1997, Deep Blue bat Garry Kasparov. (2 victoires, 3 nulles et 1 défaite). Cependant Kasparov ternit l'image de son adversaire en accusant l'équipe d'IBM d'avoir triché en faisant intervenir un humain dans les choix des coups de Deep Blue, surtout à la deuxième partie qui s'achèvera par une victoire de Deep Blue.
- En 2003, Kasparov fait match nul contre Deep Junior et plus tard contre Fritz X3D,
- En 2005, Hydra gagne face à Michael Adams par 5 victoires, une nulle, et aucune défaite.
- En 2006, Deep Fritz gagne face à Vladimir Kramnik par 2 victoires, 4 nulles et aucune défaite.
- En 2009, Pocket Fritz (en) 4 remporte la Copa Mercosur 9½/10.
- En 2010, avant le championnat du monde d'échecs 2010, le joueur Veselin Topalov se prépare en utilisant le superordinateur Blue Gene.
- En 2017, le système d'intelligence artificielle AlphaGo Zero de DeepMind, une filiale de Google, bat Stockfish, l'un des meilleurs programmes d'échecs existants sur 100 parties, avec un score de 28 victoires, 72 nulles et 0 défaites. Cependant, les ordinateurs avaient pour contrainte de jouer chaque coup en moins de 1 minute et Stockfish n’avait pas accès à toutes ses fonctionnalités (tables de finales notamment)[5].
- En 2019, le moteur d'échecs neuronal libre et open source Leela Chess Zero gagne un match contre Stockfish en parties rapides, sur 100 parties avec aucune ouverture prédéfinie, sur le score de 56 - 44 (+16 -4 =80).
Catégories
Supercalculateurs
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 informatiques.
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[6], mais également des avancées théoriques dans le domaine de l'algorithmique[7]. Ils ne deviennent réellement performants qu'à partir du milieu des années 1980.
Quelques jeux d'échecs électroniques réputés :
- 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[8], 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é leurs effets avec le jeu d'échecs, mais aussi 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
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 or Qemu[9] :
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[10].
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).
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.
Interfaces Windows :
- WinBoard (version Windows de XBoard)
- Thief (en)[11]
- Arena[12]
- Chess Giants[13] (clone amélioré de Chess Titans utilisant Crafty)
- Babaschess[14]
Interfaces multi-plateformes :
Interfaces web :
Serveurs d'échecs sur internet
Il existe des serveurs web dédiés entièrement, ou en partie, aux parties d'échecs entre différents joueurs. Ils peuvent disposer de classement de joueurs, de différentes variantes de jeu...
- anciennement sur Yahoo! (gratuit)
- depuis 1995 : Free Internet Chess Server (FICS, gratuit, possibilité de choisir plusieurs interfaces de jeu, dont BabasChess et XBoard)[20].
- depuis 1997 : Internet Chess Club (ICC, payant, mais accès possible comme « invité » et période d'essai gratuite)[21].
- 2004 : sur le site de l'International Correspondence Chess Federation (ICCF)[22]
- Playchess, sur le site de ChessBase (payant, mais accès possible comme « invité » ; client téléchargeable ; interface web depuis 2013)[23].
- 2006 : sur le site de Chess Tactics Server (fermé)[24]
- 2006 : sur le site de Chesstempo[25]
- 2006 : parties en ligne contre le programme Shredder[26].
- « SimpleChess », sur le site web du magazine Europe Échecs (réservé aux abonnés, mais accès en « invité » possible)[27].
- depuis 2007 : sur le site de Chess.com[28] (gratuit)
- depuis 2010 : Lichess (gratuit)
Anecdote
En 1977, lors du 2e championnat du monde d'échecs des ordinateurs, l'ordinateur Kaissa donna soudainement une tour, sans raison apparente contre 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
- « Les premiers automates », sur BlitzChess.fr (consulté le ).
- Fiche de Ben Mittman sur chessprogramming.org (consulté le 17 juin 2019).
- Arnold Denker était alors âgé de 74 ans et crédité d'un classement Elo de 2300.
- (en) Man vs machine, the endless fascination
- « L'IA de google deepmind devient en quelques heures une championne des echecs », Numerama.com, le 7 décembre 2017.
- 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.
- intégration de l'algorithme MinMax, utilisation des bibliothèques d'ouverture, etc.
- (en) présentation de ChessBrain, chessbrain.net (consulté le 15 octobre 2020).
- http://rebel13.nl/download/more%20dos%20oldies.html
- (en) Peter Jennings, « Microchess for the Kim-1 », sur benlo.com (consulté le ).
- Thief
- Arena
- Chess Giants
- Babaschess
- http://www.framasoft.net/article4859.html
- http://cachivaches.chauca.net/scid/
- http://scid.sourceforge.net/download.html
- WebChess
- Queenside.net
- https://web.archive.org/web/19981212025054/http://www.freechess.org:80/
- https://web.archive.org/web/19970620110903/http://www.chessclub.com:80/CoffeeHouse.html
- https://web.archive.org/web/20040831025215/http://www.iccf-webchess.com:80/
- https://web.archive.org/web/20131217045511/http://play.chessbase.com/js/apps/playchess/
- https://web.archive.org/web/20060408052731/http://chess.emrald.net:80/
- https://web.archive.org/web/20070613100847/http://chesstempo.com:80/
- https://web.archive.org/web/20061205205401/http://www.shredderchess.com:80/play-chess-online.html
- « Jouez aux échecs en ligne », europe-echecs.com (consulté le 14 mai 2019).
- https://web.archive.org/web/20071006143047/http://www.chess.com/echess/
- (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).
Voir aussi
Articles connexes
- Jeu d'échecs électronique
- Moteur d'échecs
- Championnat du monde d'échecs des ordinateurs
- Intelligence artificielle et les jeux
Liens externes
- (en) History of computer chess
- (en) Computer Chess History by Bill Wall, une chronologie de programmes d'échecs
- (en) La partie d'échecs entre Alick Glennie et le programme d'Alan Turing
- (en) The ChessBrain Network, un calculateur réparti.
- (en) 3D interface pour Unix
- (en) Chessprogramming, Un wiki rédigé par des informaticiens développeurs de programmes d'échecs.
- Les échecs électroniques : histoire d’une confrontation entre l’humain et la machine, Article de Pierre Nolot dans la revue scientifique en ligne Interstices.