Skip to content
Les tests BT : le temps médian des trente positions du BT-2450, en barres

Laboratoire · tests de positions · 167 machines

Les tests BT, mesurés en série

Six mille cent quarante et une positions, mille cinq cent trente-cinq heures de calcul, et pas une seule pièce posée à la main. Reste à savoir si ces chiffres valent quelque chose : sur les vingt et une machines que je peux comparer à des valeurs déjà publiées, l’écart médian est de zéro point Elo.

167machines
testées
6 141positions
mesurées
1 535 hde calcul
soit 64 jours
0écart médian
avec le publié

Ce que le test mesure

Les tests BT-2450 et BT-2630 sont deux séries de trente positions, chacune avec un coup et un seul à trouver. On ne demande pas au programme de résoudre vite : on lui donne quinze minutes par position et on note l’instant où il a affiché le bon coup en tête de sa variante et ne l’a plus abandonné jusqu’à la fin. Une position non résolue compte pour les 900 secondes entières. Puis :

BT-Elo = base − (somme des 30 temps en secondes) / 30

avec 2450 pour le premier test, 2630 pour le second. Un programme qui trouve tout instantanément plafonne à la base ; un programme qui ne trouve rien tombe à base − 900. La nuance du et ne l’a plus abandonné est ce qui rend le test honnête — et, on va le voir, ce qui le rend pénible à mesurer à la main.

Rien n’a été fait à la main

Toute la campagne tient dans un fichier de commandes et un script Python de 584 lignes. Le fichier de commandes porte les réglages : les listes de moteurs, les deux fichiers de positions, les 900 secondes, le nombre de moteurs à tester en parallèle. Le script fait le reste, et le reste est plus long qu’il n’y paraît.

Il recrute les participants tout seul. Il prend les moteurs des listes d’adversaires du classement, et, si on le lui demande, tous les moteurs du dossier des machines : chaque uci.bat — machines CB-Emu d’origine et accélérées, programmes DOS, cartes ChessMachine — plus les moteurs Windows. Un même moteur présent dans plusieurs listes n’est pris qu’une fois. Cent soixante-sept machines se sont présentées d’elles-mêmes.

Il parle UCI directement. cutechess-cli sait organiser des parties, pas passer des tests de positions : le script ouvre donc lui-même un processus par moteur, lui envoie position fen … puis go movetime 900000, et lit les lignes info au vol. Un seul processus par moteur pour les deux tests, ce qui évite 167 démarrages de machine supplémentaires.

Il surveille le bon coup à chaque instant. C’est le cœur du dispositif. À chaque ligne d’analyse, il compare le premier coup de la variante à la solution, et tient à jour l’instant du dernier passage à la solution. Si le moteur trouve le coup à la quatrième seconde, le perd à la trentième et le retrouve à la deux-centième, le temps retenu est 200 s, pas 4 s. Ce suivi réclame de ne rien manquer pendant quinze minutes, position après position.

Il pose les positions sur les vraies machines. Les machines d’échecs émulées n’ont pas de commande position : le relais tape la position sur l’échiquier avec les touches de la machine, ce qui prend de dix à quarante secondes, la vérifie, et annonce seulement alors info string position en place. Le chronomètre ne part qu’à ce signal : le temps de pose n’entre ni dans la réflexion ni dans les temps notés. Pour les programmes DOS, c’est le même principe en plus acrobatique : le relais entre dans le mode de mise en place du programme, tape la position, puis la relit à l’écran pour vérifier qu’elle y est bien.

Il ne refait jamais deux fois le même travail. Vingt-trois des trente positions sont communes aux deux tests. Dès qu’une position a été jouée dans un test, son résultat est recopié dans l’autre : 9 929 cases de résultat pour seulement 6 141 mesures réelles. Et chaque position est écrite dans un fichier CSV dès qu’elle est faite, si bien qu’on peut couper la campagne n’importe quand et la relancer : elle reprend où elle en était. Elle a été coupée plusieurs fois.

Il tourne à quatorze de front, un moteur par cœur, et recalcule le bilan après chaque position : à tout moment, on sait où en est la campagne sans rien interrompre.

Ce que la même expérience aurait coûté à la main

Le calcul est instructif, et il n’est pas flatteur pour la méthode manuelle.

Chaque position demande d’abord d’être posée. Sur une machine dédiée, cela veut dire entrer une vingtaine de pièces case par case avec les touches, puis vérifier : comptons trois minutes, ce qui est optimiste pour qui ne veut pas se tromper. Sur un programme DOS, il faut ouvrir le mode de mise en place, placer les pièces, régler le trait, le même ordre de grandeur.

Ensuite il faut regarder. Et là se trouve le piège : comme la règle demande l’instant du dernier passage à la solution, on ne peut pas revenir dans un quart d’heure voir le résultat. Il faut surveiller la ligne d’analyse en continu pendant les quinze minutes, et noter chaque fois qu’elle change d’avis — un moteur UCI moderne change de variante plusieurs dizaines de fois par position. Quinze minutes de surveillance, donc, même quand la réponse tombe en quatre secondes.

Le compte

6 141 positions × (3 min de mise en place + 15 min de surveillance) = 1 842 heures, soit 230 journées de huit heures sans un jour de congé, sans une erreur de recopie, et sans jamais regarder ailleurs.

Les mêmes mesures ont pris 1 535 heures de machine — mais quatorze de front, et pendant que je dormais : moins de cinq jours de temps réel.

Autrement dit : ce n’est pas un gain de temps, c’est un changement de nature. L’expérience n’aurait pas été plus longue à la main ; elle n’aurait pas eu lieu.

Deux positions que le script a obligé à corriger

Automatiser impose une rigueur dont on se passe sans y penser quand on travaille à la main. Le script doit reconnaître le bon coup dans la sortie du moteur : il lui faut donc la solution en notation UCI, case de départ et case d’arrivée, et non en notation algébrique. En écrivant ce champ pour les soixante positions, deux d’entre elles ont refusé de se laisser convertir.

BT-2450, position 04

5r1k/1P4pp/3P1p2/4p3/1P5P/3q2P1/Q2b2K1/B3R3

Le fichier qui circule depuis 1998 donne les Noirs au trait, avec bm Qf7. Or la seule dame noire est en d3, et d3–f7 n’est pas un coup de dame. Ce sont les Blancs qui sont au trait : la solution est Da2–f7, un coup de dame le long de la diagonale a2–g8.

BT-2450, position 15

4k1rr/ppp5/3b1p1p/4pP1P/3pP2N/3P3P/PPP5/2KR2R1

Le fichier accorde aux Noirs le droit de roquer des deux côtés (kq). Les Noirs n’ont pas de tour en a8 : seul le petit roque existe. Un moteur strict refuse la position telle quelle.

Un humain lit par-dessus ces deux détails sans même les voir. Un script, non : il rejette la position ou cherche un coup qui n’existe pas. Les deux fichiers corrigés sont dans le téléchargement ci-dessous, à côté des fichiers d’origine.

Le contrôle : mes chiffres contre ceux qui sont publiés

Tout cela ne vaut rien si les nombres sont faux. Heureusement, ces deux tests sont mesurés depuis trente ans sur des machines réelles, et le wiki de schach-computer.info en publie des tableaux. Vingt-trois machines de mon laboratoire y figurent sous un nom identifiable, ce qui donne, en comptant les machines présentes dans les deux tests, vingt-trois paires de valeurs — dont vingt et une où la mesure du laboratoire est terminée et où la machine du site est bien la même que la mienne.

Je n’ai rien ajusté : pas de recalage, pas de facteur, pas de moyenne pondérée. Ce sont les chiffres bruts des deux côtés.

-80 -60 -40 -20 0 +20 +40 +60 +80 Écart entre ma mesure et la valeur publiée, en points Elo Novag Super Forte C v3.6 2450 -66 Mephisto MM IV (v7.10) 2450 -49 Mephisto Amsterdam 2450 -35 Saitek Sparc (rev.518) 2630 -25 Fidelity Designer Mach IV 2630 -8 Mephisto Mondial 68000 XL 2450 -5 Fidelity Elite Avantgarde V9 2630 -2 Fidelity Designer Mach III 2450 -2 Fidelity Elite Avantgarde V9 2450 -1 Mephisto Berlin 68000 v0.03 2630 +0 Novag Super VIP v3.7 2450 +0 Mephisto Genius 68030 London 2630 +1 Mephisto Modena (set 3) 2450 +1 Mephisto MM V (v5.1) 2450 +2 Mephisto RISC II 2630 +3 Novag Sapphire 2630 +6 Novag Sapphire 2450 +7 Fidelity Designer Mach III 2630 +9 Novag Constellation Forte A 2450 +12 Fidelity Designer Mach IV 2450 +19 Saitek RISC 2500 v1.04 2630 +28 Saitek Simultano (ver. B) 2450 -145 Saitek Turbo King II (D+) 2450 -81
Les 21 paires dont la mesure est terminée, classées par écart croissant, plus les 2 mesures inachevées en gris. La bande claire marque ±10 points. Vert : écart inférieur à 30 points ; rouge : supérieur. À gauche de chaque nom, le test concerné.

Sur les 21 paires complètes

Écart médian : 0 point. Écart moyen : −5 points. Écart absolu médian : 6 points.

Huit machines sur vingt et une tombent à deux points ou moins — 2075 contre 2075 pour le Berlin, 1660 contre 1660 pour le Super VIP, 2279 contre 2280 pour le London, 1757 contre 1758 pour le Modena. Quatorze sur vingt et une tiennent dans ±10 points, dix-huit dans ±30.

Pour une mesure de temps faite trente ans plus tard, sur du matériel émulé, par un autre opérateur, avec un autre chronomètre et un autre jugement de ce qu’est « avoir trouvé le coup », c’est une concordance que je n’attendais pas aussi franche. Elle valide deux choses d’un coup : que l’émulation restitue bien la vitesse des machines d’origine, et que ma règle de chronométrage est celle que les testeurs d’époque appliquaient.

MachineTestschach-
computer.info
LaboratoireÉcart
Novag Super Forte C v3.6245019071841-66
Mephisto MM IV (v7.10)245017781729-49
Mephisto Amsterdam245017311696-35
Saitek RISC 2500 v1.04263022402268+28
Saitek Sparc (rev.518)263021872162-25
Fidelity Designer Mach IV245020652084+19
Novag Constellation Forte A245017121724+12
Fidelity Designer Mach III263019481957+9
Fidelity Designer Mach IV263020702062-8
Novag Sapphire245020512058+7
Novag Sapphire263020742080+6
Mephisto Mondial 68000 XL245017421737-5
Mephisto RISC II263022032206+3
Fidelity Elite Avantgarde V9263021082106-2
Fidelity Designer Mach III245019701968-2
Mephisto MM V (v5.1)245018931895+2
Mephisto Genius 68030 London263022792280+1
Fidelity Elite Avantgarde V9245021322131-1
Mephisto Modena (set 3)245017571758+1
Mephisto Berlin 68000 v0.03263020752075+0
Novag Super VIP v3.7245016601660+0
Saitek Simultano (ver. B)
mesure interrompue : la machine ne rend pas son coup
245017451600-145
Saitek Turbo King II (D+)
mesure en cours, 28 positions sur 30
245018651784-81

Et les trois écarts qui dépassent trente points sont instructifs, parce qu’aucun n’est mystérieux. Le Novag Super Forte C : le site ne précise pas la version du programme, et il en existe plusieurs, de force différente. Le Mephisto MM IV : le site publie aussi une variante Turbo à 16 MHz, à 1860, ce qui montre que la fréquence exacte compte beaucoup ici. Le Mephisto Amsterdam : à 35 points, c’est le seul des trois qui reste à expliquer. Les deux lignes en gris, elles, ne sont pas des désaccords mais des mesures inachevées : le Turbo King II n’a que 28 positions sur 30, et le Simultano s’est arrêté parce qu’il ne rend pas son coup.

C’est précisément pour cela que je ne publie pas encore le classement complet.

Les positions, à télécharger

Les soixante positions des deux tests, en EPD et en PGN, avec le champ UCI qui permet de les passer automatiquement, les deux corrections décrites plus haut, et les fichiers d’origine pour comparaison.

ZIP
10 Ko
positions_bt.zip — tout : BT2450.epd · BT2630.epd · BT2450.pgn · BT2630.pgn · les deux fichiers tels qu’ils circulent · un LISEZMOI qui détaille la règle de mesure
PGN
6 Ko
BT2450.pgn  ·  BT2630.pgn
Les deux tests en PGN, directement : une partie par position, le coup solution joué. Les fichiers EPD ne sont pas acceptés en dépôt direct sur le site ; ils sont dans l’archive ci-dessus.

Et maintenant, le tri

La campagne est terminée. Avant de publier les résultats, il fallait écarter ceux qui ne veulent rien dire : une machine qui cesse de répondre, une position que le programme refuse, et surtout une version dite accélérée qui tourne en réalité à sa fréquence d’origine. Neuf mesures sur trois cent quarante-deux sont sorties pour ces trois raisons ; le tableau ci-dessous les nomme une par une, avec le chiffre qui les condamne.

Les trois cent trente-trois autres sont là, filtrables test par test, famille par famille, et position par position.

Toutes les mesures, filtrables

Le tableau qui suit porte les 329 mesures retenues des deux tests, après retrait des treize dont les chiffres ne veulent rien dire. Il fonctionne comme le filtre d’un tableur : on choisit un test, on coche les catégories qui intéressent, et le classement se recalcule sur la seule sélection retenue.

Le menu Position est le plus intéressant. En le quittant pour l’une des trente positions, les colonnes changent : on ne lit plus un classement général mais le temps que chaque machine a mis sur cette position-là, classé du plus rapide au plus lent. Croisé avec les cases à cocher, cela répond à des questions très précises : qui trouve BT2450.15 le plus vite parmi les machines dédiées non accélérées ? et parmi les programmes DOS ? et chez les adaptés ?

Les machines accélérées ne sont pas désignées comme telles mais par la fréquence qu’elles tournent réellement, celle que le relais annonce à l’interface : un Mephisto Nigel Short à 89 MHz au lieu de ses 4,9 MHz, un Novag Super VIP à 430 MHz au lieu de 9,8. Cette fréquence est 80 % du maximum que cette machine atteint sur le PC du laboratoire, mesuré machine par machine ; la colonne MHz la donne. Elles forment leur propre famille, Dédiées accélérées : une seule case à cocher suffit pour les isoler, ou pour ne garder que les machines d’origine.

Le numéro de la première colonne est le rang dans la sélection affichée : sans aucun filtre, c’est le rang général. Un clic sur un en-tête trie sur cette colonne, un second clic inverse le sens ; les deux petits entonnoirs ouvrent la liste à cocher des familles et des types. La mention 26/30 après un nom signale les rares machines auxquelles toutes les positions n’ont pas été posées : les manquantes comptent 900 secondes, comme une position non résolue, donc leur BT-Elo est un minorant. J’ai vérifié ce que cette convention coûte en estimant les positions manquantes d’après les machines de force voisine : l’écart va de zéro à trente points Elo, et reste sous dix points pour les deux Tandy, les plus incomplètes.

Les treize mesures écartées

Quatre raisons, et quatre seulement, font sortir une machine du tableau. Elles sont listées ici nommément : une mesure jetée en silence est une mesure qu’on ne peut pas vérifier.

  • Mephisto Roma 68000, Amsterdam et Dallas 68000, versions accélérées — accélération inexistante, et pour une raison qui se lit dans les fichiers : la vitesse maximale de ces trois pilotes n’a jamais été mesurée sur ce PC. Sans facteur dans la table, le relais lance la machine à ses 12 MHz d’origine — et ne lui donne aucune fréquence dans son nom, ce qui est le vrai signe. Les temps le confirment : 1,00× sur les dix positions comparables du Roma, les cinq de l’Amsterdam, les trois du Dallas, et des temps identiques à la seconde sur l’ensemble des trente. (six mesures)
  • Saitek Simultano (ver. B), d’origine et à 50 MHz — le programme cesse de renvoyer un coup en cours de route : 18 positions posées sur 30 pour la version accélérée au BT-2450, 5 seulement pour l’originale au BT-2630. (deux mesures)
  • Saitek President, d’origine et à 395 MHz — temps non réalistes. La machine ne résout aucune des trente positions du BT-2450, ni à 20 MHz ni à 395, et les deux versions affichent les mêmes 900 secondes sur les trente. À 395 MHz elle devrait figurer parmi les plus rapides des machines dédiées ; quelle qu’en soit la cause, ce n’est pas une mesure. (quatre mesures)
  • Sargon III 286 16 MHz QEMU — refuse la position : la saisie échoue dès le premier coup, une position posée sur trente. (une mesure)

Le cas des accélérations mortes mérite un mot, parce qu’il montre ce qu’un filtrage attrape. Des trente-trois couples origine / accélérée que le BT-2450 permet encore de comparer, trente donnent un gain franc : de 2,3× pour le Saitek Sparc à plus de 15× pour le Mephisto Berlin 68000. Trois donnent exactement 1,00×. Entre 1,00 et 2,30 il n’y a rien : ce n’est pas une accélération faible qu’on aurait arbitrée au seuil, c’est une accélération absente.

Laboratoire chess.lumn.eu — 13 octobre 2026