Un programme d’échecs est un programme informatique qui est capable de jouer aux échecs.
Sommaire |
Histoire
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, autour de 1770, qui joua notamment contre la tsarine 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 mai 1952, é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.
Aujourd’hui
Chronologie des programmes d’échecs
- 1770, Wolfgang von Kempelen construit l’automate joueur-d’échecs, le Turc mécanique, qui devient le plus grand canular de cette période.
- 1868, Charles Hooper présente l’automate Ajeeb — qui avait également un joueur d’échecs à l’intérieur.
- 1912, Leonardo Torres y Quevedo construit une machine qui peut jouer les finales roi+tour contre roi.
- 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.
- 1950, John von Neumann développe un programme d’échecs (sur un échiquier 6×6 sans cavalier) sur le MANIAC I.
- 1951, Alan Turing développe sur le papier le premier programme capable de jouer une partie d’échecs complète.
- 1952, Dietrich Prinz développe un programme résolvant des problèmes d’échecs.
- 1956, invention de l’algorithme de recherche alpha-beta par John McCarthy.
- 1958, NSS devient le premier programme d’échecs à utiliser l’élagage alpha-beta.
- 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 surmainframe BESM.
- 1962, le premier programme avec un jeu crédible, Kotok-McCarthy est publié au MIT.
- 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.
- 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.
- 1970, le premier Championnat nord-américain des ordinateurs d’échecs est organisé.
- 1974 Kaissa devient le premier champion du monde des ordinateurs.
- 1977, le premier jeu d’échecs électronique, Chess Challenger, est commercialisé.
- 1977, l’International Computer Chess Association (ICCA) est créée.
- 1977, Chess devient le premier ordinateur à remporter un tournoi d’échecs majeur.
- 1978, Belle, un ordinateur spécialisé construit par Ken Thompson atteint le niveau de maître,
- 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),
- 1988, HiTech 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)1.
- 1989, Deep Thought, le premier ordinateur du niveau d’un grand maître est facilement battu en match 2-0 par Garry Kasparov.
- 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épartage : 4-12. Cette même année à Londres, Chess Genius bat Garry Kasparov en partie semi-rapide (1.5-0.5) avec un Pentium 100 MHz.
- 1996, le superordinateur Deep Blue perd contre Garry Kasparov. (1 victoire, 2 nulles et 3 défaites).
- 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.
- 2003, Kasparov fait match nul contre Deep Junior et plus tard contre Fritz X3D,
- 2005, Hydra gagne face à Michael Adams par 5 victoires et une nulle contre 0 victoire.
- 2006, Deep Fritz gagne face à Vladimir Kramnik par 2 victoires et 4 nulles contre 0 victoire.
Serveur internet d’échecs
Article détaillé : Serveur informatique.
Il existe des serveurs 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…
- Internet Chess Club
- Playchess
- FICS
- sur Yahoo!
- et d’autres …
Catégories
Supercalculateurs
Article détaillé : supercalculateur.
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 :
Jeux électroniques
Article détaillé : Jeu d’échecs électronique.
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 composants3, mais également des avancées théoriques dans le domaine de l’algorithmique4. 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 (jeu d’échecs)
- Leonardo, Galileo, Renaissance (Saitek)
- Centurion (Saitek)
- Citrine (Novag)
Logiciels informatiques
Article détaillé : logiciel.
Depuis les années 1990, la puissance croissante des ordinateurs personnels a relégué l’utilisation des supercalculateurs 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, combinent la puissance de plusieurs ordinateurs d’un même réseau, ce qui les rapproche de la catégorie des supercalculateurs et des ordinateurs multiprocesseurs (voir: calcul distribué).
Quelques logiciels titrés ou réputés:
- Chess Genius
- Chessmaster
- Crafty
- Fritz
- Fruit
- Junior
- GNU Chess
- HIARCS
- Naum
- Rybka
- Shredder
- Stockfish
- Zappa
- Houdini
Quelques interfaces graphiques
Article détaillé : interface graphique.
Avec le développement de moteurs d’échecs performants, la séparation entre l’interface de jeu (fenêtre, boutons et menus, présentation du plateau de jeu) et le moteur de jeu s’est faite naturellement.
Interfaces Windows :
- WinBoard (version Windows de XBoard)
- Thief (en)5
- Arena6
- Chess Giants7 (clone amélioré de Chess Titans utilisant Crafty)
- Babaschess8
Interfaces multi-plateformes :
Interfaces web :
Anecdote[modifier]
Lors du 2e championnat du monde d’échecs des ordinateurs en 1977, l’ordinateur Kaissa donna soudainement une tour, sans raison apparente contre son adversaire, Duchess, et perdit logiquement la partie. Mais à l’analyse post-mortem de la partie, on constata que ce coup était le seul qui parait un mat forcé. (Voir Kaissa)
Programmes 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).
Notes et références
- ↑ Arnold Denker était alors âgé de 74 ans et crédité d’un Elo de 2300
- ↑ (en) Man vs machine, the endless fascination [archive]
- ↑ 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.
- ↑ Thief [archive]
- ↑ Arena [archive]
- ↑ Chess Giants [archive]
- ↑ Babaschess [archive]
- ↑ http://www.framasoft.net/article4859.html [archive]
- ↑ http://cachivaches.chauca.net/scid/ [archive]
- ↑ http://scid.sourceforge.net/download.html [archive]
- ↑ WebChess [archive]
- ↑ Queenside.net [archive]
Articles connexes
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, hébergé par wikispaces.com.
- Les échecs électroniques : histoire d’une confrontation entre l’humain et la machine, Article de Pierre Nolot dans la revue scientifique en ligne Interstices.