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.
Et les échecs non-électroniques, alors ?