Mes ordinateurs d'échecs

Un peu de recul...

1978, le Chess Challenger 10 d'un copain de lycée fut mon premier contact avec un échiquier électronique. Une merveille impressionnante venue d'Amérique, mais tellement chère, hors de portée... A cette époque, j'entendais aussi parler de son concurrent, le Boris, mais n'ai jamais croisé sa route.

1979, je prépare le baccalauréat. Un autre copain, d'une famille aisée, possède un Apple II tout neuf ; une machine plutôt élitiste à l'époque. Avec son programme Sargon II, il le croit imbattable aux échecs. Je lui propose de jouer contre lui, à son niveau le plus fort... Plusieurs heures de réflexion, dis-tu ? Eh bien on jouera un coup par jour ; ça tombe bien, on se voit tous les jours au lycée... et j'ai battu le "monstre". Une fois le bac en poche, j'obtiens ma première machine :  le Fidelity Chess Challenger 7, qui pour nettement moins cher procure un niveau de jeu équivalent à celui du CC10. Que de parties j'ai jouées face à cette machine... A cette époque j'ai joué quelques tournois d'échecs par correspondance, et malgré son niveau faible, le CC7 me permettait de simuler quelques échanges tactiques pour valider mes choix stratégiques... De quoi faire sourire, connaissant la puissance d'analyse des "engines" modernes.

1980, j'ai acheté d'occasion un TRS-80 modèle 1, basic niveau 2, équipé d'un processeur Z80 à 1,77Mhz (!). Je le passe de 16K de RAM à 48K grâce à l'interface d'extension, qui permet également de reléguer aux oubliettes le magnétophone à cassettes (équipé d'un compteur, un point important à l'époque ! ) au profit de deux lecteurs de disquettes souples 5,25". La capacité de stockage ? 100Ko sur le second drive, moins sur le premier car de l'espace est réservé pour le système d'exploitation (restent environ 80Ko utilisables sur ce drive, si ma mémoire est bonne). Je monte avec succès un kit d'accélération d'horloge, gain +50%, le Z80 passe à 2,66Mhz. Le kit est bien fichu, lorsqu'un signal d'accès aux drives s'active, l'horloge revient automatiquement en vitesse normale - sans quoi l'accès aux disquettes échouerait. Un petit interrupteur manuel permet de désactiver le kit, par exemple pour respecter le timing d'un jeu d'arcade. Pourquoi décrire tout cela ? Eh bien, cela marquera la fin du CC7 et, provisoirement, de mon intérêt pour les machines d'échecs dédiées. Je collecte rapidement les différents programmes d'échecs pour le TRS-80, dont le fameux Sargon II bien sûr, mais aussi Sfinks et MyChess, qui surclassent le CC7 malgré son avantage de vitesse (Z80 à 4Mhz tout de même, quoique j'apprendrai bien plus tard que son horloge est plus modestement calée à 3,6Mhz). Fort du succès de mon kit "overclocking" sur le TRS-80, je tente une substitution de quartz sur le CC7. Il ne s'en remettra pas...

1985, mes études terminées j'ai revendu le TRS-80 pour acheter ma première moto, j'ai effectué mon service national et je travaille depuis quelques mois. Les échecs électroniques me manquent, j'achète un Fidelity Excellence. Encore un excellent rapport qualité/prix, mais cette fois le programme des Spracklen (dérivé de Sargon III ) a nettement progressé, et son microprocesseur 6502 pédale à 3Mhz, soit trois fois plus vite que l'Apple II... Une expression en Anglais lui va bien : a tough nut to crack. Trop fort  pour moi, cette  fois. Je  jouerai beaucoup moins avec lui qu'avec le CC7, c'est moins drôle de perdre que de gagner...

2010, j'ai toujours mon Excellence, les logiciels d'échecs sont capables de jouer à des niveaux astronomiques ; la nostalgie me fait acheter d'occasion le CC7 de ma jeunesse, quelques 30 ans après. Quel plaisir ! Je reconnais immédiatement son jeu, c'est comme retrouver un vieux copain. Il me faut lui trouver des adversaires à sa portée ; des machines coûteuses dans les années 80-90 se trouvent désormais d'occasion pour quelques dizaines d'euros... Et voilà comment on se retrouve avec une petite collection d'échiquiers électroniques.

Mes machines de niveau joueur débutant
Mes machines de niveau joueur occasionnel
Mes machines de niveau joueur de club faible, quatrième catégorie
Mes machines de niveau joueur de club moyen, troisième catégorie
Mes machines de niveau bon joueur de club, deuxième catégorie
Mes machines de niveau fort joueur de club, première catégorie et plus

Précisions sur les données présentées :

Niveau Elo : échelle relative de force des machines, établie au travers de tournois de programmes que je fais jouer au rythme de 15 secondes par coup, soit 40 coups en 10 minutes.  L'échelle Elo que je maintiens (les valeurs continuent à évoluer au gré des tournois) est calée sur une "ancre" que j'ai choisie, à savoir l'Excellence 3Mhz de Fidelity Electronics, pour plusieurs raisons :
- c'est une machine que je possède depuis plus de trente ans,
- à son époque les tournois mixtes hommes-machines étaient pratiqués et donc les niveaux Elo relativement bien établis (je ne parle pas ici des prétentions marketing des constructeurs !)
J'ai fixé par convention personnelle un niveau de 1780 Elo pour l'Excellence, soit un niveau de bon joueur de club. Si l'Excellence gagne ou perd des points à l'issue d'un tournoi, je translate toute l'échelle Elo du nombre de points en moins ou en plus pour ramener l'ancre à sa valeur de 1780.
Les catégories de niveau listées ci-dessus (usuelles) sont échelonnées de 200 points en 200 points et, à titre indicatif, un joueur dominant son adversaire de 200 points Elo a les probabilités en sa faveur de gagner approximativement 3 parties sur 4. A 400 points d'écart, soit deux catégories, le joueur dominant gagnera 10 parties contre 1 (ou par exemple 9 gagnées et deux nulles, la nulle rapportant 0,5 points à chaque joueur).

Equivalence FIDE :  l'échelle Elo a, avant tout, été conçue pour représenter le niveau des joueurs (humains !) d'échecs. Ou plutôt, elle représente leurs niveaux relatifs au sein d'une organisation. Les modalités de calcul peuvent légèrement différer d'une organisation à l'autre, et les rencontres "consanguines" entre joueurs d'une organisation tendent avec le temps à stabiliser une échelle Elo propre à cette même organisation. Ainsi, par exemple, un Elo USCF (United States Chess Federation) n'est pas directement comparable à un Elo FIDE (Fédération Internationale Des Echecs). Il en va bien sûr de même avec l'échelle Elo établie par des parties entre ordinateurs. Non seulement il s'agit d'un microcosme à part (similaire à la notion d'organisation), mais, également, les forces et faiblesses en jeu entre programmes sont différentes de celles en jeu lors de parties avec des joueurs humains. Un joueur humain faible peut être débordé par la capacité de calcul tactique d'un programme faible ; réciproquement un joueur fort peut déborder un programme fort par sa meilleure vision stratégique du jeu. De même qu'il existe des formules de conversion arithmétique entre les valeurs Elo USCF et FIDE, une telle conversion est possible pour traduire le niveau Elo des machines d'échecs en un niveau indicatif parlant pour un joueur d'échecs classé.

CMhz : pour "Chess Mhz", cette notion introduite par Eric Hallsworth dans sa revue "Selective Search" n°34  (Juin-Juillet 1991) est pratique pour comparer la puissance des processeurs de nos machines d'échecs. Sa référence est la valeur 1 pour le 6502 à 1Mhz. Ainsi, un Apple II ou un Commodore 64 valent 1CMhz, et l'Excellence 3Mhz vaut 3 sur cette échelle de puissance processeur.

Rperf : pour "relative performance", exploite la notion précédente d'échelle de puissance hardware pour déduire un niveau de performance du pur software. Je me base là encore sur mon "ancre", à savoir l'Excellence, à qui j'attribue par convention un Rperf de 100%. Donc 100%, c'est le niveau de jeu du programme des époux Spracklen implémenté dans l'Excellence. Un Excellence à 4Mhz (que je ne possède pas) présentera ainsi le même Rperf de 100%. Je calcule le Rperf d'un programme d'échecs comme le rapport, exprimé en pourcentage, entre le Elo du programme sur son hardware, et le Elo projeté dont serait capable l'Excellence à puissance équivalente. Je constitue ainsi une échelle agnostique du hardware, dans laquelle un programme moins évolué que celui de l'Excellence présente un Rperf inférieur à 100 (exemple : Sargon II à 82%) et un programme plus évolué présente un Rperf supérieur à 100 (exemple : l'Elite Avant-Garde à 108%).  Un Par Excellence, successeur de l'Excellence et réputé nettement plus fort, bénéficie surtout de son horloge à 5Mhz, car son Rperf à 102% montre une évolution relativement limitée de son logiciel, bien que tout de même en progrès. La formule de calcul est la suivante, pour une machine de puissance "CMhz" délivrant un niveau de "Elo" :
Rperf = Elo / ( 1780 + Log10(CMhz/3) / Log10(2) * 60 ))
Explication : 1780 est le niveau Elo "ancre" de l'Excellence 3Mhz ; CMhz/3 est le rapport de puissance CPU entre la machine considérée et l'Excellence (qui vaut 3CMhz), le rapport du Log base 10 de cette précédente valeur au Log base 10 de 2 mesure le nombre de fois où la puissance est doublée entre la machine considérée et l'Excellence, et 60 est la valeur de gain Elo adoptée (conventionnellement là encore) pour un doublement de puissance de calcul.

KT :  pour "Khmelnitsky test", sur une idée de Scandien ; cette analyse en profondeur ne sera présentée que pour certaines machines. Igor
Khmelnitsky est l'auteur du livre : "Echecs : le test / Diagnostic et guide d'entraînement" ; ce livre propose 100 positions à analyser, avec deux questions par position. La particularité très intéressante de ce test est de mettre en lumière les points forts ou faibles du joueur, en attribuant des points aux réponses ; lesquels points alimentent sélectivement les domaines de savoir-faire sollicités par chacune des positions : finale, milieu de jeu, ouverture, calcul, finales théoriques, stratégie, tactique, repérer les menaces, attaque, contre-attaque, défense, et sacrifice. Chaque question contribue au score de trois, quatre ou cinq des douze domaines. Une fois les 200 questions répondues, des tableaux de correspondance transforment le pourcentage de points de chaque domaine en une estimation de niveau Elo, et fournissent également une estimation globale. Cette estimation est réputée fiable pour les joueurs humains ; et pour avoir moi-même exécuté le test, je peux témoigner avoir obtenu un score me plaçant précisément dans la catégorie de force des machines d'échecs me convenant le mieux (joueur de club faible, 4ème catégorie). Je suis en revanche moins convaincu de la pertinence de l'évaluation de niveau absolu, s'agissant d'échiquiers électroniques : le test n'a pas été conçu pour eux, ni ses résultats calibrés pour évaluer ces machines. Quel intérêt alors à mener ce test long et plutôt complexe ? Eh bien les valeurs relatives, elles, sont tout-à-fait intéressantes. Sans même parler de comparer deux ordinateurs d'échecs, le profil des domaines de savoir-faire d'une machine analysée est très révélateur, et sera représenté par un graphe "en toile". Méthode de réalisation du test :
- seules les machines capables d'afficher leur évaluation d'une position sont éligibles, une question fréquente étant d'estimer si la position est à peu près égale, ou si les blancs ou les noirs sont mieux, ou si l'un des camps est gagnant. J'ai décidé de limiter le temps de réflexion à trois minutes : le test recommande de ne pas excéder vingt minutes d'analyse par diagramme pour un joueur humain ; mais dans mon échelle de valeurs, un ordinateur se doit d'être rapide ; et trois minutes est le temps de réflexion moyen usuel en partie de tournoi.
- une seconde question fréquente est le meilleur coup à jouer, parmi quatre propositions. A l'issue des trois minutes de réflexion, en sus de noter l'évaluation, j'affiche ou fais jouer le coup sélectionné. S'il s'agit de l'un des quatre proposés, la question 2 a sa réponse. Sinon, je joue chacun des quatre coups et note l'évaluation du programme ; mais cette fois après seulement une minute chacun (soit un total de quatre minutes de réflexion pour la machine, pour cette seconde question).
- quelques rares questions plus complexes ou stratégiques demandent à faire jouer plusieurs coups à la machine afin de révéler 
sa ligne de jeu ; dans ces situations je la fais jouer contre elle-même au rythme de quinze secondes par coup (mon standard de jeu usuel).
- enfin, je précise réaliser l'intégralité du test, soit les 100 positions et donc 200 questions.

Statistiques et données


Et les échecs non-électroniques, alors ?