Programme d'échecs
373073
31264417
2008-07-03T15:00:43Z
83.197.161.57
/* Aujourd'hui */
{{ébauche|échecs|informatique}}
Un '''programme d'échecs''' est un [[programme informatique]] qui est capable de jouer aux [[échecs]].
== 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'[[Turc mécanique|automate turc]], autour de [[1789]], qui joua notamment contre la tsarine [[Catherine II]] et [[Napoléon Ier|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 ===
Actuellement, [[Rybka]], [[Fritz (programme d'échecs)|Fritz]], [[Shredder (jeu d'échecs)|Shredder]], [[Hydra (échecs)|Hydra]] ou encore [[Crafty (programme d'échecs)|Crafty]], un [[moteur d'échecs|moteur]] [[Open Source|opensource]], figurent parmi les meilleurs programmes d'échecs. On peut aussi citer des projets de [[calcul réparti]] comme ''[[The ChessBrain Network]]'' qui utilise la puissance de plusieurs calculateurs. Il a réalisé en 2004 le record du nombre d’ordinateurs réunis autour d’une partie d'échecs en regroupant simultanément {{formatnum:2070}} calculateurs.
Il existe également [[GNU Chess]]. Comme ces programmes se sont développés avec l'évolution de l'ordinateur, au début, il n'y avait pas d'[[interface graphique]]. Aujourd'hui certains programmes ont leurs propres interfaces (c'est-à-dire, que cela forme un tout, ils sont souvent en licence propriétaire), et d'autres peuvent être utilisés avec l'interface de son choix. (on peut même avoir plusieurs programmes dans une interface, il ne reste plus qu'à choisir)
Les programmes d'échecs sont devenus tellement puissants que récemment le programme [[Fritz (programme d'échecs)|Deep Fritz]] (qui n 'est pas le plus puissant des programmes) a battu en 2006 le champion du monde d'échecs le Russe [[Vladimir Kramnik]].
Aujourd'hui il existe de nombreux programmes gratuits d'échecs. Cependant les 3 meilleurs sont certainement [[Rybka]] 1.0, [[Fruit (programme d'échecs)|Fruit]] 2.3.1 et Toga 1.3.1. Ces 3 programmes ont un niveau de jeu au delà de 2800 elo.
=== Chronologie des programmes d'échecs ===
*1769, [[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 6x6 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 [[Élagage alpha-beta|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 [[russe]]s sur [[mainframe]] [[BESM (ordinateur)|BESM]]
* 1962, le premier programme avec un jeu crédible, [[Kotok-McCarthy]] est publié au [[Massachusetts Institute of Technology|MIT]]
* 1966-1967, le premier match entre programmes d'échecs voit Le programme de l'Institut de physique théorique et expérimentale de [[Moscou]] triompher 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 a gagner contre une personne en tournoi
* 1970, le premier [[Championnat du monde d'échecs des ordinateurs#Championnat nord-américain des ordinateurs d'échecs (NACCC)|Championnat nord-américain des ordinateurs d'échecs]] est organisé
* 1974 Kaissa devient le premier [[Championnat du monde d'échecs des ordinateurs|champion du monde des ordinateurs]].
* 1977, le premier [[jeu d'échecs électronique]], Chess Challenger, est commercialisé.
* 1977, l'International Computer Chess Association (ICGA) est créée.
* 1977, [[Chess (programme d'échecs)|Chess]] devient le prermier ordinateur à remporter un tournoi d'échecs majeur.
*1978, [[Belle (ordinateur d'échecs)|Belle]], un ordinateur spécialisé construit par [[Ken Thompson]] atteint le niveau de maître,
*1989, [[Deep Thought (ordinateur d'échecs)|Deep Thought]], le premier ordinateur du niveau d'un [[grand maître international|grand maître]] est facilement battu en match 2-0 par [[Garry Kasparov]]
*1994, [[Fritz (programme d'échecs)|Fritz 3]] gagne une partie de [[blitz (jeu d'échecs)|blitz]] contre le champion du monde de l'époque, [[Garry Kasparov]] et ils terminent ''ex æquo''. Kasparov se venge dans les départage: 4-1<ref>{{en}} [http://www.chessbase.com/newsdetail.asp?newsid=1296 Man vs machine, the endless fascination]</ref>.
*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 (programme d'échecs)|Fritz X3D]],
*2005, [[Hydra (échecs)|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]]
* [[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:
* [[Belle (ordinateur d'échecs)|Belle]]
* [[Deep Blue]]
* [[HiTech]]
* [[Hydra (ordinateur d'échecs)|Hydra]]
=== Jeux électroniques ===
{{article détaillé|Jeu d'échecs électronique}}
Au même titre que le [[micro ordinateur]] pour les premiers [[ordinateur]]s, 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<ref>La grande majorité des jeux d'échecs électroniques utilisent des composants [[Reduced instruction set computer|RISC]], qu'on retrouve également dans les [[PowerPC]] et les machines spécialisées.</ref>, mais également des avancées théoriques dans le domaine de l'[[algorithmique]]<ref>intégration de l'[[algorithme MinMax]], utilisation des bibliothèques d'ouverture, etc.</ref>. Ils ne deviennent réellement performants qu'à partir du milieu des années 1980.
Quelques jeux d'échecs électroniques réputés :
* [[Chess Challenger (Fidelity)|Chess Challenger 7]] (Fidelity)
* [[President (Saitek)|President]] (Saitek)
* [[Centurion (Saitek)|Centurion]] (Saitek)
* [[Citrine (Novag)|Citrine]] (Novag)
=== Logiciels informatiques ===
{{article détaillé|logiciel}}
Depuis les années 1990, la puissance croissante des [[ordinateur personnel|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 [[supercalculateur]]s et des ordinateurs [[multiprocesseur]]s (''voir: [[calcul distribué]]'').
Quelques logiciels titrés ou réputés:
* [[Chessmaster]]
* [[Crafty_(programme_d'échecs)|Crafty]]
* [[Fritz (programme d'échecs)|Fritz]]
* [[Fruit (programme d'échecs)|Fruit]]
* [[Junior (programme d'échecs)|Junior]]
* [[GNU Chess]]
* [[HIARCS]]
* [[Rybka]]
* [[Shredder (jeu d'échecs)|Shredder]]
* [[Zappa (programme d'échecs)|Zappa]]
== Quelques interfaces graphiques ==
{{article détaillé|interface graphique}}
Avec le développement de [[moteur d'échecs|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 fait naturellement.
Interfaces sous [[Unix]], [[Linux]] :
* [[XBoard]]
* [[Eboard]]
* [[glChess]]
Interfaces [[Java (langage)|Java]] :
* [[Jin (programme)|Jin]]
Interfaces sous [[Windows]] :
* [[WinBoard]] : version Windows de XBoard
* [[Thief (programme d'échecs)|Thief]]
* [[Arena (programme d'échecs)|Arena]]
* [[Babaschess]]
== Anecdote ==
Lors du 2{{e}} [[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 (échecs)|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).
== Voir aussi ==
* [[Jeu d'échecs électronique]]
* [[Moteur d'échecs]]
* [[Championnat du monde d'échecs des ordinateurs]]
== Liens externes ==
*{{en}} [http://www.chessbase.com/columns/column.asp?pid=102 History of computer chess]
*{{en}} [http://www.geocities.com/SiliconValley/Lab/7378/comphis.htm Computer Chess History by Bill Wall], une chronologie de programmes d'échecs
*{{en}} [http://www.chessgames.com/perl/chessgame?gid=1356927 La partie d'échecs entre Alick Glennie et le programme d'Alan Turing]
*{{fr}} [http://www.supinfo-projects.com/fr/2005/recherche_heuristic_echec/ Jeu d'échecs électronique - Recherche heuristique et algorithme pour déterminer le meilleur coup]
*{{en}} [http://chessbrain.net/ The ChessBrain Network], un calculateur réparti.
*{{en}} [http://glchess.sourceforge.net/ 3D interface pour Unix]
== Notes et références ==
<references />
{{Portail|informatique|échecs}}
[[Catégorie:Ordinateur d'échecs]]
[[da:Computerskak]]
[[de:Computerschach]]
[[en:Computer chess]]
[[es:Ajedrez por computadora]]
[[fi:Tietokoneshakki]]
[[he:תוכנת שחמט]]
[[it:Videogioco di scacchi]]
[[ja:コンピュータチェス]]
[[nl:Schaaksoftware]]
[[pl:Szachy komputerowe]]
[[pt:Xadrez por computador]]
[[sl:Šahovski računalniški programi]]
[[uk:Комп'ютерні шахи]] {{Lien BA|uk}}