Bob Hyatt - Crafty
Anthologie complète de Crafty, Blitz et Cray Blitz
Articles associés
Cray Blitz – L’héritage échiquéen sur PC
Cet article explore la renaissance moderne de Cray Blitz grâce à son portage UCI, permettant de faire tourner un moteur conçu pour les supercalculateurs Cray sur un PC contemporain. Il détaille les défis techniques du portage, la fidélité historique du moteur et les protocoles nécessaires pour le calibrer dans Arena. L’ensemble montre comment un champion du monde des années 1980 retrouve une seconde vie sur Ryzen 9.
Cette anthologie retrace l’épopée complète de Cray Blitz, depuis ses origines en Fortran jusqu’à ses titres mondiaux sur supercalculateurs Cray. Elle décrit les innovations majeures comme le YBWC, les contributions de Hyatt et Nelson, et le déclin face aux puces spécialisées de Deep Thought. Le texte montre comment l’héritage de Cray Blitz se prolonge dans Crafty et dans les moteurs open‑source modernes.
I. Bob Hyatt : portrait d’un professeur de l’arrière-pays américain
Il y a dans l’histoire de Robert “Bob” Hyatt quelque chose de profondément américain au sens le plus noble du terme — pas la grandeur tonitruante des côtes, pas la puissance des grandes universités de l’Ivy League, mais la ténacité tranquille d’un homme du Sud qui construit une œuvre sans bruit pendant plus de cinquante ans, dans l’État du Mississippi, puis dans l’Alabama.
Robert Morgan Hyatt, né en 1948, est un informaticien et programmeur américain. Il grandit à Laurel, Mississippi, une ville moyenne au cœur du Deep South, à l’heure où IBM n’a pas encore lancé son PC personnel et où un ordinateur est une machine qui occupe une salle entière.
Hyatt enseigne l’informatique pendant quarante-six ans : de 1970 à 1985 à l’Université du Mississippi du Sud, puis de 1985 à 2016 à l’Université d’Alabama à Birmingham. Quarante-six ans de cours magistraux, de thèses encadrées, de séminaires sur l’algorithmique parallèle — et pendant tout ce temps, en parallèle, une vie entière dédiée à un programme d’échecs qui évoluera, se transformera, changera de nom et de machine, mais restera toujours le projet central de son auteur.
Ce n’est pas un entrepreneur. Ce n’est pas un entrepreneur de la Silicon Valley cherchant à monetizer son algorithme. C’est un professeur qui a développé des programmes qui ont avancé l’état de l’art dans le jeu d’échecs informatique — et qui a tout partagé. Cette générosité fondamentale sera le fil rouge de toute son histoire.
Le joueur d’échecs du club universitaire
En 1975, Hyatt est étudiant de licence à l’Université du Mississippi du Sud quand il commence à travailler sur Blitz. Il s’associe tôt avec Bert Gower, collègue membre du club d’échecs de l’université et professeur de musique — Gower travaille principalement sur les ouvertures.
L’image est cocasse et touchante : un étudiant en informatique et un professeur de musique qui partagent une passion pour les échecs, qui décident ensemble de construire un programme. Pas un laboratoire de recherche. Pas un budget de recherche. Un club d’échecs universitaire et une amitié.
II. Blitz : l’aube dans le Mississippi (1968–1979)
Automne 1968 : le premier coup
Blitz joue son premier coup à l’automne 1968, et est développé continuellement depuis lors jusqu’en 1980 environ, quand Cray Research choisit de sponsoriser le programme pour la publicité que le jeu d’échecs informatique générait à l’époque.
1968. La France vit Mai 68. Les États-Unis perdent Martin Luther King et Robert Kennedy. Et dans un couloir de l’Université du Mississippi du Sud, un étudiant de 20 ans fait jouer une machine pour la première fois. Le programme s’appelle simplement Blitz — “éclair” en allemand — parce que Hyatt veut qu’il soit rapide.
La machine sur laquelle tourne ce premier Blitz n’est pas un PC. C’est un mainframe universitaire, accessible en temps partagé. Le programme original est écrit en FORTRAN, le seul choix disponible sur le système de 1968. Les parties prennent des minutes, parfois plus. Le programme joue mal, mais il joue légalement — et c’est déjà quelque chose.
Le premier Blitz : 30 000 lignes de Fortran sélectif
Blitz est un programme de type Shannon B — une recherche avec élagage vers l’avant. Il cherche environ 6 coups à chaque niveau, jusqu’à une profondeur de 5 niveaux. Il n’y a pas de recherche des captures après ça, juste une évaluation statique complexe (pour l’époque) qui utilise aussi un évaluateur d’échanges statique pour s’assurer que le dernier coup est sûr. Les parties les plus intéressantes sont les suivantes : il contient environ 30 000 lignes de code dédiées à analyser l’ensemble des coups légaux à chaque niveau et à sélectionner ceux qui semblent tactiquement ou positionnellement prometteurs.
30 000 lignes de Fortran pour de la recherche sélective — en 1968, c’est colossal. Ça dit quelque chose de l’ambition de Hyatt dès le départ : il ne veut pas un programme qui cherche bêtement tout, il veut un programme qui comprend quels coups méritent d’être examinés.
L’ACM 1976 : première apparition publique
Blitz dispute l’ACM 1976 — le championnat nord-américain organisé par l’Association for Computing Machinery — et finit dans un triplé pour la deuxième place.
C’est la première apparition de Blitz sur la scène nationale. L’événement est dominé par Chess 4.x de Northwestern University (Dave Slate et Larry Atkin), le programme le plus fort de l’époque. Blitz se classe honnêtement — pas de victoire, mais une présence qui sera remarquée.
ACM 1977 : la réécriture
À l’ACM 1977, le programme est entièrement réécrit comme une recherche de type Shannon A brute force, suite au succès de Slate/Atkin et Chess 4.x. C’est un revirement stratégique majeur : Hyatt abandonne provisoirement sa recherche sélective pour s’adapter au paradigme dominant. Il le regrettera peut-être, mais c’est un signe de lucidité : quand le monde change, on s’adapte.
1978 : UNIVAC sponsorise Blitz
En 1978, les efforts de Hyatt sont soutenus par le constructeur UNIVAC. C’est le premier vrai sponsor — UNIVAC, constructeur de mainframes américain historique, voit dans le jeu d’échecs informatique un terrain de publicité idéal et offre à Hyatt l’accès à ses machines.
1979 : 1690 USCF, la reconnaissance des pairs
Le programme s’améliore lentement pendant la fin des années 1970, et en 1979 a obtenu un classement USCF de 1690.
1690 USCF correspond à peu près à un joueur de club solide — quelqu’un capable de battre les débutants et les intermédiaires, mais pas encore un candidat-maître. Pour un programme qui tourne sur un mainframe partagé en Fortran, c’est un résultat significatif qui ouvre des portes.
III. Cray Blitz : la foudre sur superordinateur (1980–1994)
La rencontre de la vie : Cray Research et Harry Nelson
L’année suivante (1980), Hyatt a l’opportunité d’installer son programme sur un Cray-1, rebaptisant le programme Cray Blitz. Au championnat ACM 1980, un tournoi spécial de vitesse est organisé, et Cray Blitz termine premier sans être battu dans neuf parties. Cela donne un avertissement à la communauté des jeux d’échecs informatiques : Cray Blitz va être un candidat sérieux dans les années à venir.
Le Cray-1 est alors la machine la plus puissante du monde civil — une machine à 8 millions de dollars en forme de banane, capable de 160 millions d’opérations par seconde. Hyatt y installe Blitz. Le résultat est immédiat et spectaculaire : neuf parties, neuf résultats positifs dans le tournoi de vitesse.
Cray Research sponsorise le programme, soutenu par Dave Darling et Derek Robb, et plus tard par l’expert en assembleur Cray Harry Nelson du Lawrence Livermore National Laboratory.
Harry Nelson est un personnage fascinant. Harry Lewis Nelson, né le 8 janvier 1932, est un mathématicien américain et programmeur. Il était co-découvreur du 27ème nombre premier de Mersenne en 1979 — à l’époque le plus grand nombre premier connu. Il a passé la majeure partie de sa carrière au Lawrence Livermore National Laboratory, où il était considéré comme l’un des plus grands experts mondiaux de la rédaction de routines en assembleur optimisé pour les Cray-1 et Cray X-MP.
Un mathématicien spécialiste des nombres premiers de Mersenne et expert en assembleur Cray. Un informaticien professeur du Mississippi passionné d’échecs. Une machine à 8 millions de dollars. L’association est bizarre et géniale. Nelson travaille sur Blitz pendant son temps libre avec le professeur Hyatt. Deux universitaires, deux passionnés, une machine que les gouvernements s’arrachent pour leurs calculs nucléaires — et ils l’utilisent pour jouer aux échecs.
1981 : Le premier maître battu en tournoi
En 1981, Cray Blitz remporte le Championnat d’État du Mississippi avec un score parfait de 5/5 et un Elo de performance de 2258. Au quatrième tour, il bat Joe Sentef (2262) et devient le premier ordinateur à battre un maître en tournoi officiel, et le premier ordinateur à obtenir un classement de maître (2258).
2258 USCF est le niveau “maître” au sens américain — équivalent à peu près à un candidat-maître FIDE. C’est la première fois qu’un programme franchit cette barre dans un tournoi officiel avec arbitres et conditions normales. L’événement est reporté dans Chess Life, le journal de la fédération américaine. L’histoire commence vraiment.
En 1982, Harry Nelson, spécialiste de l’assembleur Cray, rejoint l’équipe et aide à optimiser le code ; le programme termine à égalité de points avec le programme victorieux Belle au championnat ACM de cette année.
WCCC 1983 New York : le couronnement mondial
22-25 octobre 1983, Hôtel Sheraton Center, New York. Le 4ème Championnat du Monde WCCC, organisé simultanément avec le 14ème ACM, dans le Royal Ballroom A.
C’est un tournoi suisse de cinq rondes avec 22 participants. Cray Blitz est le seul vainqueur avec 4,5 points sur 5.
Hyatt, Nelson et Gower sont dans la salle. La photo prise après la victoire — publiée dans Chess Life de février 1984 sous le titre “The New Champion” — montre Ken Thompson (de Bell Labs, auteur de Belle), Joe Condon, Robert Hyatt et Albert Gower. Quatre pionniers réunis autour d’une victoire historique.
L’invité d’honneur de ce championnat est Mikhail Botvinnik, ancien champion du monde soviétique, l’un des joueurs les plus grands du XXe siècle. Frederic Friedel, co-fondateur de ChessBase, rapporte une anecdote devenue célèbre :
Botvinnik visite les Bell Laboratories et se retrouve dans la section du club d’échecs de la cafétéria, en attente d’une conférence. Friedel lui présente la position du “mauvais fou” — finale Roi, Fou et Pion de tour contre Roi, toujours nulle quand le fou ne contrôle pas la case de promotion. Botvinnik regarde la position, dit “Les blancs gagnent ?”, montre une fausse ligne. Après réfutation, il repose les pièces et reste immobile pendant dix minutes avant d’exécuter le bon premier coup avec un petit sourire narquois. Le lendemain du championnat, Friedel montre la même position à Cray Blitz, le nouveau champion.
Le programme passe 13 secondes à considérer un faux coup clé — avec un score logique de +4,032. Puis, à dix niveaux, il bascule vers le bon coup et affiche +10,878. Botvinnik voit tout ça se dérouler et il n’est pas du tout content qu’un ordinateur résolve la position si efficacement par la pure force brute, sans la connaissance des échecs qu’il, fervent défenseur de la “méthode intelligente”, prônait avec tant de ferveur.
WCCC 1986 Cologne : la victoire controversée
Juin 1986, Cologne, Allemagne. Le 5ème WCCC, organisé dans le cadre de la foire de Cologne. C’est l’événement où, rappelons-le, Rebel faillit renverser les superordinateurs — et perdit finalement face à Bebe.
C’est un tournoi difficile et controversé. Quatre programmes terminent avec 4 points sur 5, et le vainqueur est déterminé par la somme des scores des adversaires.
Le parcours de Cray Blitz est lui-même semé d’embûches. Cray Blitz perd la deuxième ronde contre Bobby, mais gagne la dernière ronde contre HiTech, qui avait un score parfait jusque-là. Une protestation de Hans Berliner, suspicieux d’un coup de Cray Blitz, est rejetée par l’arbitre après inspection des fichiers journaux de Blitz.
La controverse Berliner-Hyatt est l’une des grandes querelles de l’histoire du jeu d’échecs informatique. Hans Berliner — inventeur de HiTech, professeur à Carnegie-Mellon, ancien champion du monde de correspondance — accuse littéralement Cray Blitz d’avoir triché. L’accusation est enquêtée pendant quelques mois par le directeur du tournoi, David Levy, et dismissée. Malgré le rejet, l’expérience a quelque peu empoisonné les choses.
Pour Hyatt, cette accusation est douloureuse. Un professeur d’université, dont toute la carrière repose sur l’intégrité académique, se fait accuser de triche sur la scène mondiale. Il finira par publier l’intégralité des fichiers journaux de Cray Blitz pour réfuter toute accusation. La transparence comme arme défensive — c’est déjà l’embryon de la philosophie open-source qui guidera Crafty une décennie plus tard.
Cray Blitz remporte le titre, défendant ainsi son titre de 1983. Deux championnats du monde consécutifs, 1983 et 1986. La honte de la controverse ne peut pas effacer ça.
Les superordinateurs Cray successifs : de la Cray-1 à la C916
Cray Blitz est adopté et optimisé pour un Cray-1, puis une Cray X-MP, Cray Y-MP et C916 avec jusqu’à 16 processeurs. Cray Blitz utilise initialement le “root splitting” comme algorithme de recherche parallèle sur la Cray X-MP à deux processeurs, implémenté et testé juste avant le WCCC 1983, puis le “principal variation splitting”, le “enhanced principal variation splitting”, et dans les années 90, le DTS (Dynamic Tree Splitting), spécifiquement conçu pour l’architecture multiprocesseur à mémoire partagée des Cray.
Cette progression technologique illustre comment Hyatt et Nelson exploitent chaque nouvelle génération de Cray pour pousser la recherche parallèle. À la Cray X-MP avec 2 processeurs en 1983, on répond avec le root splitting — l’idée la plus simple de parallélisme. Avec les 4, 8, 16 processeurs des Cray suivants, les algorithmes deviennent plus sophistiqués : PVS parallèle, puis DTS.
Cray Blitz participe aux événements d’échecs informatiques de 1980 à 1994, quand le dernier tournoi d’échecs ACM est organisé à Cape May, New Jersey.
L’ACM de Cape May 1994 est le chant du cygne de Cray Blitz. La machine Cray qui a dominé les années 80 est maintenant moins puissante que les clusters de PC qui commencent à émerger. Hyatt le sait. Il est temps de repartir de zéro.
IV. Le tournant 1994 : la décision de tout reprendre
Cape May, New Jersey, automne 1994
Fin 1994, après l’événement ACM de Cape May, Hyatt décide de se lancer dans un remplacement complet du programme d’échecs pour Cray Blitz. Il a toujours voulu essayer l’approche des bitmaps/bitboards utilisée dans Chess 4.X — le programme d’échecs de Northwestern par Dave Slate — et avec les nouveaux processeurs 64 bits disponibles, c’est le bon moment pour le changement.
Cette décision mérite d’être pesée. Hyatt a 46 ans. Il has déjà deux titres mondiaux. Cray Blitz fonctionne. Il aurait pu continuer, corriger, améliorer à la marge. Non — il choisit de tout jeter et de repartir de zéro avec une architecture fondamentalement différente.
C’est un geste d’intellectuel pur, pas de bureaucrate. Quand la technologie change, quand une meilleure idée existe, on ne s’accroche pas à l’ancien par confort. On repart de zéro.
La nouvelle architecture repose sur les bitboards — une représentation de l’échiquier où chaque case est un bit d’un entier 64 bits. Avec les processeurs 64 bits qui arrivent sur le marché, cette représentation devient enfin naturelle et efficace.
V. Crafty : la naissance du legs open source (1995–2016)
Ce que “Crafty” veut dire
Pourquoi Crafty ? Le mot anglais signifie “rusé”, “ingénieux” — quelqu’un qui s’en sort par la ruse plutôt que par la force. C’est un nom à double lecture : le programme est crafty dans ses recherches, dans ses heuristiques, dans sa façon d’exploiter les positions. Et Hyatt lui-même est crafty dans sa façon d’aborder les problèmes algorithmiques.
L’architecture révolutionnaire : les rotated bitboards
Crafty a été un pionnier de l’utilisation des structures de données de bitboard rotatif pour représenter l’échiquier.
Le problème des bitboards classiques est le suivant : pour calculer les coups d’une tour ou d’un fou, il faut connaître les pièces qui bloquent leurs diagonales et colonnes. Avec un bitboard normal, on peut facilement calculer les coups sur les rangées, mais pas sur les colonnes et diagonales — parce que les bits correspondants ne sont pas adjacents en mémoire.
La solution de Hyatt : maintenir trois représentations simultanées de l’échiquier. Une normale (rangées), une “rotée de 90 degrés” (colonnes), et une “rotée de 45 degrés” (diagonales). Chaque fois qu’une pièce bouge, on met à jour les trois. En échange de ce coût de mise à jour, les calculs d’attaque sont rendus uniformément rapides dans toutes les directions.
Crafty a été l’un des premiers programmes d’échecs à supporter les processeurs multiples.
En 2006/2007, Crafty passe des bitboards rotatifs aux Magic bitboards, selon Hyatt parce que ce n’est pas plus rapide mais plus simple. Vingt ans plus tard, il abandonne son invention pour une technique plus propre. C’est intellectuellement honnête.
La boîte à outils algorithmique de Crafty
Crafty effectue une Principal Variation Search, un élagage null-move, le LMR ainsi qu’un algorithme d’échange SEE pour l’ordonnancement des coups et pour élaguer les captures “mauvaises” dans la recherche de quiescence. Il inclut également l’heuristique du coup tueur, la table de transposition, une table de réfutation, un cache d’évaluation, des extensions sélectives, et bien d’autres fonctionnalités.
La richesse de cette boîte à outils — et le fait qu’elle soit publique, documentée, commentée — est ce qui fait de Crafty une université à elle seule. Chaque technique est une leçon.
La décision fondatrice : rendre Crafty open source
C’est ici que l’histoire de Crafty prend une dimension qui dépasse largement le jeu d’échecs. En termes d’impact global, Crafty est peut-être le programme d’échecs le plus important. En tant que programme open source de haute performance, il a été utilisé par d’innombrables chercheurs et amateurs pour développer des programmes d’échecs informatiques pour des compétitions, de la recherche, et pour le plaisir.
Hyatt publie non seulement le binaire, mais le code source complet de Crafty. N’importe qui peut le télécharger, l’étudier, le modifier. C’est un geste sans précédent à l’époque pour un programme de cette force.
La position de Hyatt sur le partage du code est philosophiquement cohérente avec sa carrière d’enseignant. Dans une réponse à Ren Wu en janvier 1999 sur le réemploi du code, il écrit : “C’est un principe de base du génie logiciel appelé ‘réemploi du code’. Pourquoi vous payerais-je pour écrire quelque chose de zéro en un an, si vous pouvez prendre quelque chose qui existe et le modifier pour faire la même chose en un mois ? Et je n’ai pas autant de difficultés à déboguer et tester, puisque c’est déjà largement fait… ce n’est pas un mauvais côté… Bien sûr, recommencer de zéro est parfois bien. Mais pas à partir de ‘rien’. Si vous ne savez pas ce qui a déjà été essayé, vous réinventerez les mêmes mauvaises roues encore et encore…”
Cette philosophie est la sienne depuis 1968. Partager, construire sur ce qui existe, faire avancer l’état de l’art collectivement. C’est la culture universitaire appliquée à la programmation compétitive.
La remarque de Tord Romstad : le programme le plus important
Tord Romstad, co-auteur de Stockfish, a décrit Crafty comme “sans doute le programme d’échecs le plus important et le plus influent jamais écrit.”
Romstad est l’un des meilleurs auteurs de moteurs d’échecs qui ait jamais vécu — Stockfish, co-créé avec Marco Costalba, est aujourd’hui le programme le plus fort du monde. Et il dit que Crafty est le programme le plus important de l’histoire. Pas Cray Blitz malgré ses deux titres mondiaux. Pas Deep Blue malgré sa victoire sur Kasparov. Crafty.
Pourquoi ? Parce que des dizaines, peut-être des centaines de programmeurs ont appris à écrire des moteurs d’échecs en lisant le code de Crafty. Stockfish lui-même porte l’empreinte génétique de Crafty. La chaîne de transmission est directe et documentée.
Benchmark universel : Crafty comme règle à mesurer
Le CCRL (Computer Chess Rating Lists), l’organisation qui teste la force des moteurs d’échecs en les faisant jouer les uns contre les autres, utilise Crafty 19.17 BH comme benchmark pour calibrer les temps de calcul.
C’est l’utilisation la plus inattendue — et la plus révélatrice — du statut de Crafty dans l’écosystème. Quand le CCRL veut comparer des performances sur des machines différentes, il utilise Crafty comme étalon. Un programme devient la règle qui mesure tous les autres. C’est une forme de canonisation.
VI. Les performances compétitives de Crafty
CCT1 (2000) : premier tournoi en ligne, première victoire
Crafty remporte le premier Computer Chess Tournament (CCT) en 2000, devançant Shredder, Junior et 19 autres programmes.
Le CCT est un tournoi en ligne organisé sur l’Internet Chess Club — un format qui deviendra la compétition de référence pour les moteurs PC à l’aube des années 2000. Crafty le remporte d’emblée, battant Shredder et Junior — les deux programmes commerciaux dominants de l’époque. C’est une démonstration que le programme libre peut rivaliser avec les meilleurs commerciaux.
CCT5 (2003) et CCT6 (2004) : la domination continue
Crafty remporte le CCT1 en 2000, le CCT5 en 2003 et le CCT6 en 2004.
Au CCT6, qui se tient sur l’Internet Chess Club le week-end du 31 janvier et 1er février 2004, Crafty tourne sur un AMD64 (Opteron) avec quatre processeurs 848 à 2,2 GHz. Il cherche en moyenne 8 millions de nœuds par seconde. Le tournoi a 54 participants dans un Swiss de 9 rondes, avec les trois meilleurs programmes jouant un double round-robin en blitz pour choisir le vainqueur final. Crafty termine l’événement principal avec 5 victoires et 4 nulles, sans défaite, et remporte deux des parties de playoff en tirant les deux autres.
Trois victoires CCT séparées par plusieurs années — ce n’est pas de la chance. C’est la confirmation d’un programme qui, malgré son absence de budget marketing et son statut free, reste régulièrement dans l’élite mondiale.
WCCC 2004 Ramat-Gan : 4ème place, dans le sillage des géants
Au Championnat du Monde WCCC 2004 à Ramat-Gan, Israël, tournant sur un matériel légèrement plus rapide que tous les autres programmes, Crafty termine à la quatrième place avec le même nombre de points que le troisième, Fritz 8.
4ème sur le podium mondial, à égalité avec Fritz — le programme commercial phare de ChessBase. Pour un programme gratuit dont le code source est public, c’est une performance extraordinaire.
WCCC 2005, 2006 : présence dans l’élite
Crafty participe à trois Championnats du Monde WCCC : le WCCC 2004, le WCCC 2005 et le WCCC 2006.
ACCA 2010 : deuxième place sur le continent américain
Crafty termine en deuxième position au 5ème Championnat Annuel des Amériques d’Échecs Informatique en 2010, derrière le vainqueur Thinker. Crafty aussi termine en deuxième place au Championnat Mondial Rapide d’Échecs Informatiques 2010. Crafty gagne sept parties sur neuf, terminant derrière le vainqueur Rybka de ½ point.
VII. L’affaire Rybka : Crafty au cœur du plus grand scandale du jeu d’échecs informatique
La domination de Rybka et les premières suspicions
Entre 2007 et 2010, Rybka — développé par le maître international tchéco-américain Vasik Rajlich — domine la planète des moteurs d’échecs. Elle remporte le WCCC 2007, 2008, 2009, 2010 et figure en tête de toutes les listes de classement avec des marges considérables.
Les suspicions commencent à émerger vers 2009-2010. Des comparaisons détaillées entre le binaire de Rybka et les sources de Fruit 2.1 et de Crafty révèlent des similitudes impossibles à expliquer par des développements indépendants.
Juin 2011 : le verdict de l’ICGA
Rybka, vainqueur des quatre derniers Championnats du Monde d’Échecs Informatiques, est déclaré coupable par un panel de 34 programmeurs de moteurs d’échecs d’avoir plagié deux moteurs open source : Crafty et Fruit.
Dans les premières versions de Rybka, des fonctions obsolètes du code de Crafty étaient présentes — juste là, sans être appelées. Et les mêmes tests unitaires pour ces fonctions inutilisées.
Le détail des fonctions inutilisées est particulièrement accablant. Une fonction copiée et utilisée peut être coïncidence. Une fonction copiée, rendue obsolète, et quand même présente avec ses tests unitaires — c’est la preuve d’un copier-coller inattentif, tellement mécanique que même le nettoyage n’a pas été fait.
En juin 2011, l’ICGA disqualifie et bannit Rybka et son programmeur Vasik Rajlich des Championnats du Monde d’Échecs Informatiques passés et futurs.
Pour Hyatt, c’est une validation douloureuse : son travail a été volé, son code utilisé sans attribution ni permission pour gagner des titres mondiaux. La générosité de l’open source — si tout le monde peut voir, tout le monde peut aussi prendre sans demander.
La leçon que Hyatt en tire n’est pas l’amertume mais une mise au point sur les licences. Beaucoup de programmeurs n’ont pas bien saisi la déclaration de droits d’auteur de Crafty, prenant apparemment des remarques de Hyatt sur le réemploi du code comme une autorisation pour leur propre programmation. Ce malentendu est au cœur du problème Rybka : Rajlich a peut-être cru que “open source” signifiait “libre de tout droit”. Ce n’est pas ce que Hyatt a jamais dit.
VIII. La philosophie Crafty : l’enseignant jusqu’au bout
20 000 parties par an sur les serveurs internet
Crafty joue sur divers serveurs d’échecs internet, et en conséquence, joue typiquement plus de 20 000 parties par année.
20 000 parties par an. C’est une base de données vivante en temps réel, un corpus d’apprentissage gigantesque. Pour un programme universitaire dont le but est aussi la recherche, cette masse de parties fournit des données inestimables sur les ouvertures, les structures de pions, les typologies d’erreur.
Book learning : l’apprentissage automatique de l’ouverture
La recherche de Hyatt développe des expériences sur l’apprentissage des ouvertures par le programme Crafty — une méthodologie pour régler automatiquement un livre d’ouverture.
L’idée : après chaque partie, Crafty analyse ses propres décisions d’ouverture et note statistiquement quelles lignes l’ont amené à de bonnes ou mauvaises positions. Au fil du temps, son livre d’ouverture s’auto-corrige. C’est une forme primitive et efficace d’apprentissage automatique appliquée spécifiquement au problème des ouvertures.
Crafty 25.0/25.1/25.3 : le dernier chapitre
Crafty 25.1, publié en octobre 2016, inclut non seulement une augmentation de force de jeu mais aussi le support des bases Syzygy de Ronald de Man, grâce aux contributions de code de Basil Falcinelli. Crafty 25.3 propose un ajustement de force de jeu entre 800 et 2600 Elo.
Cette dernière fonctionnalité — jouer de 800 à 2600 Elo sur demande — illustre la transformation complète de Crafty sur la fin de sa carrière compétitive. Ce n’est plus seulement un adversaire à battre : c’est un compagnon d’entraînement adaptable, capable de se mettre au niveau du débutant comme du fort amateur.
IX. Tableau chronologique des versions et classements
| Programme | Année | Événement | NPS / Elo estimé |
|---|---|---|---|
| Blitz 1.0 (Fortran) | 1968 | Premier coup | Très faible |
| Blitz 6.x | 1976-1979 | ACM 1976 (2e-3e), USCF 1690 | 1690 USCF |
| Cray Blitz (Cray-1) | 1980 | ACM speed chess, 1er invaincus | ~2000-2100 |
| Cray Blitz (Cray X-MP) | 1981 | Championnat Mississippi, bat maître | 2258 USCF |
| Cray Blitz | 1982 | ACM, égalité avec Belle | ~2300-2400 |
| Cray Blitz | 1983 | WCCC New York : 1er titre mondial | ~200 000 NPS |
| Cray Blitz (Cray X-MP) | 1984-1985 | Plusieurs ACM, bat Levy | ~2400-2500 |
| Cray Blitz | 1986 | WCCC Cologne : 2ème titre mondial | ~200 000 NPS |
| Cray Blitz (Cray Y-MP C916) | 1989-1994 | Dernier ACM Cape May 1994 | 16 processeurs parallèles |
| Crafty 1.x | 1995 | Première version bitboards | ~2300 |
| Crafty ~8-9 | 1996-1997 | Premières compétitions | ~2400-2500 |
| Crafty 14-15 | 1999-2000 | CCT1 : 1er; rivalise avec Shredder/Junior | ~2600 |
| Crafty ~18 | 2003 | CCT5 : 1er | ~2650-2700 |
| Crafty 19.x | 2004 | CCT6 : 1er, WCCC 4ème | ~2700 |
| Crafty 23.x | 2010-2012 | ACCA 2ème, WCCC Rapid 2ème | ~2650 CCRL |
| Crafty 25.0-25.3 | 2015-2016 | Dernières |
