# Hydra (ordinateur d'échecs)

Hydra (pour « Hydre » en français) est le nom d'un superordinateur destiné au jeu d'échecs.
Conçu vers 2002 par l'équipe composée du mathématicien et programmeur autrichien Christian Donninger (de), dit « Chrilly », du chercheur en informatique Ulf Lorenz, du grand maître international allemand Christopher Lutz et de l'universitaire et chercheur en informatique pakistanais Muhammad Nasir Ali, l'objectif du projet Hydra était de dominer le monde des ordinateurs d'échecs et d'obtenir une victoire probante contre les joueurs humains.
Hydra regroupait sous sa dénomination à la fois la partie matérielle et logicielle (hardware et software), et utilisait la force brute.
Hydra fut un bond en avant technologique significatif dans la course à la puissance des ordinateurs d'échecs. En juillet 2005, il était probablement à ce jeu l'entité la plus forte en confrontation en temps réel. Lorenz évalue son classement Elo FIDE à plus de 3 000 points — à cette période, le n$^o$ 1 mondial, Gary Kasparov, se situait dans les 2850 points — et, bien qu'Hydra n'ait joué qu'une trentaine de parties jusqu'à 2005, il possédait un classement Elo potentiellement supérieur à 2 900, corroboré par ses résultats contre le grand maître anglais Michael Adams et le programme concurrent Shredder 8, alors champion du monde des logiciels d'échecs. Jusqu'alors, les meilleurs logiciels d'échecs restaient à portée de l'élite mondiale humaine. Hydra semble avoir repoussé les limites dans ce domaine, en se situant au-delà des capacités des meilleurs grands maîtres humains qu'il a rencontré au cours de ses confrontations en temps-réel, et sans aide extérieure.
Le supercalculateur a joué son dernier match en juin 2006. En juin 2009, Christopher Lutz a déclaré que « malheureusement, le projet Hydra est interrompu », les sponsors du projet ayant décidé d'y mettre fin.

## Le projet Hydra

À l'origine, le projet Hydra devait se décomposer en quatre versions : « Orthus », « Chimera », « Scylla » et enfin la version finale « Hydra » — la plus puissante de toutes. La version originale de Hydra s'appuyait sur un précédent projet, « Brutus », et fonctionnait de manière similaire au supercalculateur d'échecs Deep Blue : utilisation massive de processeurs dédiés (dans ce cas, implémentés comme des circuits logiques programmables).
Hydra était composé de plusieurs ordinateurs, chacun ayant son propre circuit logique programmable qui se comportait comme un coprocesseur destiné aux échecs. Ces coprocesseurs permettaient à Hydra de rechercher un nombre énorme de positions par seconde, rendant chaque processeur plus de dix fois plus rapide que les ordinateurs classiques de l'époque.

## Matériel utilisé

Le supercalculateur Hydra est un ensemble de processeurs mis en grappe (« cluster » en anglais), interconnectés via de la fibre optique (Myrinet 2000 Fiber 8-port) et auxquels sont adjoints des circuits logiques programmables (FPGA) tenant le rôle de coprocesseurs destinés au jeu d'échecs. Le tout a accès à une grosse quantité de mémoire vive (RAM).
La version Hydra-Chimera disposait de 16 processeurs Intel Xeon cadencés à 3,06 GHz et d'un total de 32 Go de mémoire vive. Les circuits logiques programmables dédiés étaient des ADM-XRC/1000-6/4.
En 2005, la version Hydra-Scylla, plus puissante que Hydra-Chimera, fonctionnait sur un cluster de 32 processeurs Intel Xeon cadencés à 3,6 GHz ; en théorie, 64 Go de mémoire vive pouvaient être disponibles mais des contraintes logicielles l'empêchèrent et 32 Go seulement furent exploités. Les circuits logiques programmables associés à ces ordinateurs étaient des ADM-XP with XC2VP70-5 8MB SRAM & 128MB DRAM.
Hydra évaluait 200 millions de positions par seconde, soit approximativement comme son « ancêtre » Deep Blue, mais avec une puissance globale démultipliée. Alors que les circuits logiques programmables FPGA ont des performances moindres que les circuits intégrés ASIC (pour Application-specific integrated circuit), la loi de Moore permet aux FPGA modernes de fonctionner aussi vite que les anciens ASIC utilisés pour Deep Blue.
Le programme d'échecs d'Hydra était capable d'évaluer en moyenne jusqu'à 18 demi-coups d'avance (9 coups de chaque joueur), donc plus loin que Deep Blue qui était limité à 12 demi-coups en moyenne. Hydra utilisait des méthodes de recherche comme l'algorithme d'élagage alpha-bêta ainsi que l'optimisation heuristique à mouvement nul, une technique mise en lumière par Christian Donninger (de) en septembre 1993 dans un article.
Le gain de performances d'Hydra par rapport à Deep Blue se situe probablement dans l'utilisation de ces méthodes d'élagage plus modernes qui, bien que moins parfaites, permettent de mieux jouer grâce à l'augmentation de la profondeur d'analyse du moteur de jeu.
L'ordinateur Hydra était physiquement situé à Abou Dabi dans les Émirats arabes unis, et jouait généralement au travers d'un réseau informatique.

## Tournois contre les ordinateurs

En juillet 2002, « Brutus » finit 3e des championnats du monde des logiciels d'échecs à Maastricht, aux Pays-Bas. Il annule deux parties et en perd une, totalisant un score de 7 points sur 9 possibles. La défaite d'Hydra, contre le logiciel Junior, provenait d'un sacrifice de tour de Junior avec une compensation à très long terme ; malgré la puissance additionnelle de Brutus, celui-ci ne fut pas capable de prendre en compte ce sacrifice. Junior remporta le tournoi.
En novembre 2003, Brutus finit 4e aux championnats du monde des logiciels d'échecs à Graz, en Autriche. Il perd deux parties et en annule une, avec un score total de 8,5 points sur 11. Ce résultat décevant laissa l'équipe de Brutus sans sponsor. Par la suite, c'est le groupe PAL qui permit de continuer le projet.
En août 2004, « Hydra » finit 2e du tournoi CSVN international à Leyde, aux Pays-Bas. Une défaite et trois parties nulles lui permirent de totaliser 6,5 points sur 9, soit 1,5 point derrière le vainqueur, le programme Shredder. La défaite d'Hydra, considérée comme anormale à cause d'une mauvaise ouverture, a conduit à l'embauche du grand maître Christopher Lutz pour écrire un nouveau répertoire d'ouvertures pour le programme.
En août 2004, au cours du 14e festival international des échecs d'Abou Dabi, Hydra joue un match en 8 parties contre le logiciel Shredder 8, à l’époque multiple champion du monde des programmes d'échecs. Fonctionnant sur « seulement » 16 nœuds (nodes), Hydra bat Shredder sur le score de 5,5 points à 2,5, remportant trois parties et annulant les cinq autres. Dans un match informel lors du même tournoi, Hydra bat le grand maître Kazakh Ievgueni Vladimirov sur le score de 3,5 points à 0,5.
En février 2005, Hydra remporte le 14e tournoi International Paderborn Computer Chess Championships (IPCCC). Son score de 8 points sur 9 (sept victoires, deux nulles) lui permet de prendre la première place contre le programme Shredder.

## Matches contre des joueurs humains

En octobre 2004, dans le cadre d'une rencontre homme-machine, Hydra bat le champion du monde FIDE en titre, le russe Ruslan Ponomariov en deux parties. Ponomariov était alors classé à 2 710 points Elo.
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
Du 21 au 27 juin 2005, Hydra joue un match en six parties contre le grand maître anglais Michael Adams, n$^o$ 1 britannique et n$^o$ 7 mondial à l'époque. Le prix était de 150 000 dollars décomposé par partie : une victoire permet de remporter 25 000 dollars, une nulle 10 000 dollars et une défaite rien. Lors de ce match, Hydra écrase Adams sur le score de 5,5 points à 0,5. Le grand maître humain a perdu toutes ses parties, sauf la 2e où il a réussi à annuler. La version d'Hydra utilisée pour ce match (Hydra-Scylla) fonctionnait avec 32 processeurs au lieu des 64 possibles.
Du 20 au 23 novembre 2005, dans le cadre d'une rencontre hommes-machines à Bilbao en Espagne, Hydra joue quatre parties contre trois ex-champions du monde FIDE. Le programme remporte la première partie contre Rustam Qosimjonov, obtient une partie nulle contre Alexander Khalifman, gagne contre Ruslan Ponomariov avant de finalement obtenir une nulle contre Rustam Qosimjonov. Les machines, représentées par Junior et Fritz en plus d'Hydra, ont nettement dominé le match sur le score de 8 points à 4.
Toutefois, en juin 2005, Hydra montre ses limites au PAL/CSS Freestyle Chess Tournament, un tournoi en ligne où les joueurs sont autorisés à exploiter toutes les ressources à leur disposition, incluant des logiciels d'échecs, des bases de données aussi bien que des grands maîtres. Deux versions d'Hydra participent à la compétition, mais aucune des deux ne se qualifie pour les quarts de finale. Hydra-Chimera (sans intervention humaine) finit sur un score de 3,5 points sur 8 et Hydra-Scylla (avec intervention humaine) finit sur un score de 4 points sur 8.
Hydra reste invaincu contre un joueur humain non assisté dans le cas d'une rencontre en temps-réel. Mais il a été battu par des joueurs disposant d'accès à leurs ressources logicielles ; par exemple le grand maître international d'échecs par correspondance Arno Nickel a battu Hydra dans un match en deux parties qui a duré 6 mois. Nickel a joué contre la version Chimera de Hydra et a remporté les deux parties. Une troisième partie les a opposés et Hydra a, cette fois, obtenu la nulle.