Skip to content
Les moteurs ChessBase libérés en UCI

Laboratoire · moteurs d'échecs classiques

Faire rejouer les moteurs classiques

Fritz, Junior, Shredder, Nimzo, Hiarcs — les grands moteurs de 1997 à 2005 sont enfermés dans le logiciel ChessBase qui les a vus naître. Deux petits ponts les libèrent : ils les font passer pour des moteurs UCI ordinaires, afin qu'on puisse enfin les faire jouer dans les interfaces modernes et mesurer ce qu'ils valent vraiment.

Ce qu'on cherche à faire

Un moteur d'échecs moderne est un programme autonome qui dialogue en texte, selon un langage universel appelé UCI : l'interface lui envoie une position, il répond son coup. C'est ce langage que parlent toutes les interfaces d'aujourd'hui, et c'est lui qui permet de faire s'affronter des moteurs de toutes origines.

Les vieux moteurs ChessBase, eux, ne fonctionnent pas ainsi. Ce ne sont pas des programmes autonomes mais des modules internes : seul le logiciel d'origine sait les charger et les faire parler. Impossible, tel quel, de les brancher sur une interface moderne — ils restent muets. C'est d'ailleurs pour cette raison qu'ils sont absents des grandes listes de classement modernes, qui ne testent que des moteurs autonomes.

L'idée des ponts est de se glisser à la place du logiciel d'origine. Le programme charge le vieux moteur, lui parle exactement comme le faisait le logiciel d'époque, récupère le coup choisi, puis le retraduit en UCI. Vu de l'extérieur, le vieux moteur devient un moteur UCI comme les autres.

Pourquoi le faire Pour donner à ces moteurs historiques une place dans une échelle de calibration Elo : les faire jouer des centaines de parties contre des références, mesurer leur force réelle, et comparer les générations. Sans ces ponts, ils resteraient à jamais prisonniers de leur logiciel d'origine.

Deux ponts, seize moteurs

Les moteurs ChessBase ne sont pas tous bâtis pareil, d'où deux outils :

  • eng2uci.py — pour les moteurs livrés sous forme de fichier .eng (Fritz, Deep Fritz, Junior, les Tiger, Hiarcs, Nimzo). Il reconnaît le moteur à la taille exacte du fichier.
  • shredder2uci.py — pour Shredder 5.32, Shredder 6 et Shredder 7, qui exposent directement une bibliothèque .dll et se pilotent d'une tout autre façon.

Les moteurs pris en charge

Tous tournent désormais comme des moteurs UCI natifs — coups légaux, promotions, roques, prise en passant, détection des répétitions et de la règle des cinquante coups, et depuis septembre 2026 gestion autonome de la pendule (voir plus bas). La colonne taille est essentielle : c'est elle qui sert d'identification.

MoteurFichierTaille (octets)ÉtatÀ savoir
Fritz 5.32.eng126 976Publié Le doyen (1997). Format interne un peu différent des suivants.
Fritz 6.eng311 296Publié La première version mise au point, référence de tout le reste.
Fritz 7.eng434 176Publié Évaluations et meilleur coup lus dans le canal de rapport du moteur.
Fritz 8.eng471 040Publié Même base que la 7.
Fritz 9.eng446 464Publié Réclame MSVCR71.dll et vérifie la présence du CD — les deux sont gérés.
Deep Fritz 8.eng + .dll487 424Publié Multiprocesseur, mesuré en 1, 4 et 8 threads. Les noms de fichiers doivent contenir des espaces (Deep Fritz 8.eng) : la coquille se cherche elle-même sous ce nom.
Junior 7.eng + .dll212 992Publié Même taille que la 8 : distingués automatiquement par une signature interne.
Junior 8.eng + .dll212 992Publié À piloter au temps, jamais en go depth.
Hiarcs 7.32.eng + .dll155 648Publié Protection par contrôle de volume, contournée.
Hiarcs 8.eng + .dll245 760Publié Trois contrôles successifs à l'initialisation, tous neutralisés.
Nimzo 8.eng + .dll202 240Publié Le fichier Nimzo_8.cmp n'est pas un exécutable mais la base de combinaisons : il doit simplement rester à côté du .eng.
Chess Tiger 15.0.eng + .dll114 688Jouable Le plus fiable des deux Tiger, mais écarté de l'échelle de calibration (voir encadré).
Gambit Tiger 2.0.eng + .dll98 304Instable Se corrompt de lui-même sur certaines positions ; écarté de la calibration.
Shredder 5.32.dll—Publié Piloté par shredder2uci.py (pas par eng2uci.py).
Shredder 6.dll—Publié Idem. Multi-thread d'origine, ramené à un seul processeur pour des mesures comparables.
Shredder 7.dll307 200Publié Contrôle du CD contourné. Longtemps piloté par la coquille .eng, il est passé en septembre 2026 sur shredder2uci.py, qui lui donne enfin sa pendule.
Important : la taille fait foi

Il a circulé plusieurs éditions d'un même Fritz (versions localisées, mises à jour, rééditions), qui n'ont pas toutes exactement la même taille de fichier. Le pont identifie le moteur par sa taille : si votre fichier ne fait pas le compte à l'octet près, il s'arrêtera avec un message du type « taille non reconnue » suivi de la liste des tailles connues.

Ce n'est pas un échec : cela signifie simplement que votre édition n'a pas encore été analysée. Les repères internes diffèrent d'une édition à l'autre, et les reprendre demande une passe d'analyse dédiée. Vérifiez la taille exacte par un clic droit → Propriétés sur le fichier .eng.

Télécharger les ponts

eng2uci.py

Le pont principal, en un seul fichier. Gère les treize moteurs à fichier .eng : les cinq Fritz, Deep Fritz 8, les deux Junior, les deux Hiarcs, Nimzo 8 et les deux Tiger.

script Python · à placer dans le dossier du moteur

shredder2uci.py

Le pont dédié à Shredder 5.32, Shredder 6 et Shredder 7, qui se pilotent directement par leur bibliothèque .dll.

script Python · à placer dans le dossier du moteur
Prérequis indispensable Ces moteurs sont en 32 bits : il faut donc un Python 32 bits (les versions 64 bits ne pourront pas les charger). Sous Windows, installer Python puis vérifier depuis un terminal : py -3-32 --version doit répondre sans erreur.

Le dossier à préparer

Un dossier par moteur, contenant :

  • eng2uci.py — le pont ;
  • Chess32.dll — le petit relais que les moteurs .eng réclament ;
  • le fichier du moteur, par exemple Fritz 6.eng ;
  • la DLL associée quand le moteur en a une : Tiger_g.dll, Tiger15.dll, hiarcs7.dll, Hiarcs8.dll, Jr_70.dll, Jr_80.dll, Nimzo_8.dll, Deep Fritz 8.dll ;
  • pour Fritz 9 uniquement : MSVCR71.dll ;
  • pour Nimzo 8 : Nimzo_8.cmp.

Pour les trois Shredder, le dossier contient shredder2uci.py et la DLL du moteur (pas de .eng, pas de Chess32.dll).

Utilisation dans Banksia

Banksia est l'interface recommandée pour jouer et analyser au quotidien : elle pilote les ponts sans configuration exotique.

  1. Dans Banksia, ouvrir Engines puis Add.
  2. Au champ Fichier du moteur (l'exécutable), indiquer le chemin du Python 32 bits, typiquement :
    C:\Users\...\Python313-32\python.exe
  3. Au champ Dossier de travail, indiquer le dossier préparé.
  4. Au champ Ligne de commandes, passer le pont suivi du nom du fichier moteur, entre guillemets s'il contient une espace :
    eng2uci.py "Fritz 6.eng"
    … ou, pour les Shredder :
    shredder2uci.py shredder6.dll
  5. Choisir le protocole UCI, puis valider. Banksia interroge le moteur : il doit répondre son nom et son auteur.
  6. Régler la taille de hash (512 Mo pour les mesures publiées ici), créer un tournoi, choisir la cadence et lancer.
Deux réglages de tournoi à ne pas oublier Désactiver le pondering (réflexion sur le temps de l'adversaire) et fixer la concurrence à 1. Ces deux points ne relèvent pas des ponts, mais de la validité de toute mesure : voir l'encadré sur la machine plus bas.

Utilisation dans Arena

Arena fonctionne aussi. Comme il préfère pointer vers un lanceur unique, le plus simple est de créer à côté du moteur un petit fichier lancer.bat d'une ligne :

py -3-32 eng2uci.py "Fritz 6.eng"
  1. Menu Engines → Install New Engine.
  2. Sélectionner le lancer.bat qu'on vient de créer.
  3. Quand Arena demande le type de moteur, choisir UCI.
  4. Vérifier que le dossier de travail pointe bien sur le dossier du moteur.
  5. Le moteur apparaît dans la liste, prêt à jouer ou à analyser.

Arena reste le plus commode pour une partie contre l'ordinateur ou une analyse ponctuelle. Pour les mesures, on lui préfère les deux outils ci-dessous.

Faire jouer les matchs : cutechess-cli

Banksia est parfait pour piloter une partie à la main. Pour mesurer, on lui préfère souvent cutechess-cli : pas d'interface graphique, tout tient dans une ligne de commande, le tournoi se relance à l'identique, et c'est l'outil qui sert de référence aux grandes listes de calibration. Un pont Python s'y déclare comme n'importe quel moteur UCI — il suffit de désigner Python comme exécutable et de lui passer le script en argument.

@echo off
setlocal
set CC=C:\Chess\cutechess\cutechess-cli.exe
set PY=C:\Users\...\Python313-32\python.exe
set ENG=C:\Chess\Engines
set BOOK=C:\Chess\books\Perfect2023.bin

"%CC%" ^
 -engine name="Fritz 9 UCI py" cmd="%PY%" arg=eng2uci.py arg="Fritz 9.eng" dir="%ENG%\FRITZ9" ^
 -engine name="Ruffian 2.1.0" cmd="%ENG%\Ruffian\Ruffian.exe" dir="%ENG%\Ruffian" ^
 -each proto=uci tc=60/900 option.Hash=512 timemargin=2000 ^
      book="%BOOK%" bookdepth=8 ^
 -games 2 -rounds 24 -repeat -concurrency 1 -recover ^
 -pgnout serie_fritz9_ruffian.pgn

endlocal

Ligne par ligne, ce qui compte :

  • -engine — un bloc par moteur. Pour un moteur adapté, l'exécutable est Python, et les deux arg= passent le pont puis le nom du fichier moteur. Le dir= doit pointer sur le dossier préparé.
  • -each — ce qui s'applique aux deux : protocole UCI, cadence, taille de hash. Le timemargin laisse deux secondes de tolérance, indispensable avec des moteurs anciens qui ne vérifient l'ordre d'arrêt qu'à intervalles.
  • book et bookdepth — les ouvertures imposées. Sans elles, deux moteurs déterministes rejouent la même partie indéfiniment.
  • -games 2 -rounds 24 -repeat — 48 parties, chaque ouverture jouée deux fois avec les couleurs inversées. C'est ce qui neutralise l'avantage des Blancs.
  • -concurrency 1 — une seule partie à la fois. Voir l'encadré sur la machine : ce chiffre n'est pas négociable.
  • -recover — si un moteur plante, il est relancé pour la partie suivante au lieu d'emporter tout le match.

Le fichier PGN produit contient, pour chaque coup, l'évaluation annoncée, la profondeur et le temps consommé. C'est la matière première de tout ce qui suit : les scores donnent la cote, mais ce sont les parties elles-mêmes qui disent si le moteur joue vraiment comme il devrait.


Deuxième partie · les résultats

Que valent vraiment ces moteurs ?

Faire rejouer ces moteurs n'était que la première moitié du travail. Un moteur peut jouer des coups parfaitement légaux et pourtant ne plus jouer à son niveau. La seule façon de trancher est la calibration : plusieurs dizaines ou centaines de parties contre des adversaires dont la cote est établie, puis la comparaison avec la version d'origine.

Toutes les mesures sont faites sur la même machine, un Ryzen 9 7950X3D, à un seul processeur (sauf pour les multiprocesseurs, traités plus bas), hash de 512 Mo, ouvertures imposées. Les cotes et incertitudes citées sont celles du classement au 24 septembre 2026. Les cotes citées sont celles du classement du laboratoire, recalculées par Ordo sur l'ensemble des parties.

Treize moteurs adaptés au classement

Les treize moteurs adaptés figurent désormais dans le classement du laboratoire sous leur cote mesurée. Dix d'entre eux ont aussi leur version d'origine dans la liste, calibrée dans les mêmes conditions : la comparaison est directe. Les moteurs multiprocesseurs sont traités à part, plus bas.

MoteurAdaptéNatifÉcartVerdict
Fritz 72893 ± 152902 ± 21−9indiscernables
Hiarcs 7.322718 ± 172738 ± 18−20indiscernables
Junior 82838 ± 122864 ± 14−26indiscernables
Fritz 5.322717 ± 142744 ± 14−27indiscernables
Hiarcs 82857 ± 182886 ± 20−29indiscernables
Nimzo 82714 ± 182749 ± 15−35indiscernables
Fritz 82872 ± 152917 ± 20−45indiscernables
Fritz 62841 ± 152794 ± 10+47adapté au-dessus
Junior 72785 ± 142840 ± 14−55adapté en dessous
Shredder 62836 ± 212933 ± 26−97adapté en dessous*

« Indiscernables » : écart inférieur à deux fois l'incertitude combinée des deux mesures. * La cote native de Shredder 6 ne repose que sur 60 parties, et l'adaptée sur 92 : c'est l'écart le plus fragile du tableau, des deux côtés.

Sept moteurs sur dix sont indiscernables de leur version d'origine. Fritz 7 tombe à neuf points de son natif, Hiarcs 7.32 à vingt, Junior 8 à vingt-six.

Trois écarts dépassent le seuil, et pas dans le même sens. Fritz 6 adapté est au-dessus de son natif, de 47 points. Junior 7 est en dessous de 55 points. Shredder 6, à −97, est à prendre avec précaution : les deux mesures reposent sur peu de parties.

Le coût du pont, en un chiffre Pris un par un, la plupart des écarts sont dans le bruit de mesure. Pris ensemble, ils racontent autre chose : neuf sur dix sont négatifs. Leur moyenne, pondérée par la précision de chaque mesure, vaut −23 ± 7 Elo. Passer par un pont coûte donc environ vingt points — peu, mais de façon mesurable. C'est l'ordre de grandeur de la couche Python qui s'intercale entre l'interface et le moteur.

Trois moteurs sans équivalent

Trois moteurs adaptés n'ont aucune version native dans la liste, parce que leur version d'origine n'a jamais pu tourner ailleurs que dans son logiciel. Leur cote est donc, à notre connaissance, la seule mesure publique de ces moteurs sur matériel moderne.

Moteur adaptéCotePartiesSituation
Fritz 9 UCI py2969 ± 10424 Le mieux mesuré des adaptés. Au niveau de Shredder 10 UCI (2979), juste sous Fritz 10.
Shredder 7 UCI py2954 ± 1997 Au niveau de Shredder 9.1 UCI (2962), son successeur de deux générations.
Shredder 5.32 UCI py2749 ± 2095 Au niveau de Zarkov 6.50 et de Nimzo 8.

Si l'on applique à ces trois moteurs le coût moyen du pont mesuré plus haut, leur version d'origine se situerait une vingtaine de points plus haut. C'est une estimation, pas une mesure.

La confrontation avec la SSDF

Comparer deux échelles Elo n'a de sens que par un adversaire commun. Shredder 10 UCI figure dans le classement du laboratoire (2979) comme dans les listes historiques de la SSDF (2832 sur Athlon 1200) : on raisonne donc en écart à ce repère, ce qui annule les différences de machine.

MoteurIciÉcart au repèreSSDFÉcart au repèreDifférence
Fritz 9 UCI py2969−102951−20+10
Fritz 8 (natif)2917−622896−75+13
Fritz 7 (natif)2902−772880−91+14
Junior 7 (natif)2840−1392826−145+6
Fritz 6 (natif)2794−1852762−209+24

Fritz 9 adapté se comporte exactement comme les moteurs natifs de contrôle. Les quatre natifs sont décalés de six à vingt-quatre points par rapport à la SSDF, quatorze en moyenne ; Fritz 9, de dix. Un moteur qui n'avait jamais pu être testé hors de son logiciel retrouve, une fois libéré, le rang que lui donnaient les testeurs de son époque.

Et les grandes listes modernes ? Le CCRL ne peut pas tester ces moteurs : sa procédure exige des programmes autonomes. Les Fritz n'y figurent qu'à partir de la version 7, la première livrée en UCI. Pour tout ce qui précède, la SSDF des années 1998-2006 reste la seule référence — et elle a été établie sur des machines à 450 MHz ou 1,2 GHz. D'où l'intérêt d'un ancrage par adversaire commun plutôt que d'une comparaison brute des cotes.
Ce que ça veut dire, en une phrase Ces moteurs, une fois sortis de leur logiciel d'origine, jouent à leur niveau, à une vingtaine de points près. Le doute qui pesait sur les premières campagnes, où les versions adaptées accusaient cent à deux cents points de retard, est levé.

Les multiprocesseurs : un, quatre, huit threads

Deep Fritz 8 et Deep Junior 10 sont les seuls moteurs adaptés conçus pour plusieurs processeurs. La question est double : jouent-ils à leur niveau, et tirent-ils parti de leurs threads une fois sortis de leur logiciel ? Pour y répondre, les deux ont affronté le même champ de cinq moteurs mono-processeur, dans les mêmes conditions, avec un nombre de threads différent d'une série à l'autre.

  • Adversaires : Gull 1.2 (3124), Fruit 2.3.1 (3020), Shredder 10 UCI (2979), ProDeo 2.0 (2923), Chess Tiger 2007 (2879) — cote moyenne 2985 ;
  • 60 coups en 15 minutes, hash de 512 Mo, livre Perfect 2023 sur huit coups, livres internes coupés ;
  • abandon arbitré à dix pions d'écart pendant trois coups, les deux moteurs d'accord ;
  • 20 parties contre chaque adversaire, 100 par série.
SérieThreadsParties comptéesScorePerf.Cote OrdoIncidents
Deep Fritz 8 UCI py110035,5 · 35,5 %28812873 ± 19aucun
Deep Fritz 8 UCI py496 sur 9739,5 · 41,1 %29232921 ± 201 coup illégal
Deep Fritz 8 UCI py899 sur 10049 · 49,5 %29822979 ± 201 coup illégal
Deep Junior 10 UCI py498 sur 10039 · 39,8 %27742907 ± 202 déconnexions
Deep Junior 10 UCI py890 sur 10042,5 · 47,2 %29662962 ± 2110 déconnexions

Parties incidentées écartées du score et de la cote. Perf. : performance simple sur la cote moyenne du champ (2985), perf = 2985 + 400 · log10(p / (1 − p)). Cote Ordo : classement du laboratoire au 24 septembre 2026. « Coup illégal » : le pont a rendu un coup nul (0000) au lieu d'un coup, une fois dans chacune des deux séries.

Ce que rapportent les threads

ComparaisonÉcartIncertitudeVerdict
Deep Fritz 8 : 1 → 4 threads+48±28non significatif seul
Deep Fritz 8 : 4 → 8 threads+58±28à la limite (2,1 fois l'incertitude)
Deep Fritz 8 : 1 → 8 threads+106±28significatif
Deep Junior 10 : 4 → 8 threads+55±29non significatif seul

Deep Fritz 8 tire bien parti de ses threads : 106 points entre un et huit. La progression est régulière, 48 points de un à quatre, 58 de quatre à huit. À huit threads, il rejoint Shredder 10 (2979) et Fritz 9 adapté (2969). Deep Junior 10 gagne 55 points de quatre à huit threads, dans le même ordre de grandeur, et se place à 2962.

Contre les cinq adversaires, la hausse de Deep Fritz 8 n'est pas uniforme : de un à huit threads, il passe de 3,5 à 8 points sur 20 contre Gull et de 7 à 10,5 contre Shredder 10, mais de 10 à 12 seulement contre Chess Tiger, contre qui il faisait déjà jeu égal à un thread.

La profondeur, coup par coup

Cutechess inscrit la profondeur atteinte à chaque coup. Sur les quarante premiers coups hors livre, à temps de réflexion comparable :

SérieProfondeur moyenneTemps par coup
Deep Fritz 8, 1 thread14,018,5 s
Deep Fritz 8, 4 threads14,018,8 s
Deep Fritz 8, 8 threads14,818,2 s
Deep Junior 10, 4 threads18,420,0 s
Deep Junior 10, 8 threads19,819,8 s

À huit threads, Deep Fritz 8 gagne huit dixièmes de demi-coup sur sa série à un thread, et Deep Junior 10 près d'un demi-coup et demi sur sa série à quatre. À quatre threads en revanche, Deep Fritz 8 n'atteint pas une profondeur plus grande qu'à un seul, alors que son score progresse. La profondeur ne se compare qu'à l'intérieur d'un même moteur : chaque programme annonce la sienne selon sa propre définition.

Fritz 8 et Deep Fritz 8 sur un seul thread

MoteurCoteParties
Fritz 8 (natif)2917 ± 2090
Fritz 8 UCI py2872 ± 15179
Deep Fritz 8 UCI py, 1 thread2873 ± 19100

Ramené à un seul thread, Deep Fritz 8 vaut exactement Fritz 8 : un point d'écart. Les deux moteurs adaptés sont au même niveau, et au même écart de leur natif commun, Fritz 8 mono-processeur : −45 et −44, pour une incertitude combinée de ±25 à ±28. La version multiprocesseur ne coûte rien en force quand elle tourne sur un seul cœur ; tout ce qu'elle gagne au-delà vient des threads supplémentaires. Ni Deep Fritz 8 ni Deep Junior 10 n'ont de version native au classement : leur comparaison au natif passe par Fritz 8.

Deep Junior 10 : les déconnexions suivent les threads Dix parties perdues par déconnexion sur cent à huit threads, deux sur cent à quatre, et aucune sur dix dans une série d'essai à deux threads. Le nombre d'incidents croît avec le nombre de threads. Sa cote à huit threads repose donc sur 90 parties seulement. Deep Fritz 8, lui, n'a perdu qu'une partie par série, sur un coup nul rendu par le pont, et aucune à un thread.
Les conditions de ces séries Les cinq séries ont été jouées en même temps, du 21 au 24 septembre 2026, parallèlement à deux autres gauntlets et, à partir du 22 septembre à 12 h 14, à un tournoi Banksia. La série à un thread de Deep Fritz 8 a joué quatre parties à la fois et s'est achevée le 22 septembre à 11 h 22 ; les quatre autres ont joué une partie à la fois. Les écarts entre un, quatre et huit threads sont mesurés dans ces conditions de charge.

Ce qui a rendu ces résultats possibles

Deux corrections successives expliquent le chemin parcouru depuis les premières mesures, qui donnaient toutes les versions adaptées cent à deux cents points sous leur original.

  1. La mémoire de la partie. Les moteurs ChessBase attendent qu'on leur rejoue les coups déjà joués, pour reconstituer leur propre enregistrement. Le pont ne le faisait pas : ils jouaient donc aveugles à la triple répétition et à la règle des cinquante coups, et bradaient des positions gagnantes en répétant sans le savoir. Sur les vingt-trois premières parties d'un moteur, les onze nulles étaient toutes des répétitions, dont cinq alors qu'il était gagnant.
  2. La pendule. Le pont imposait à chaque coup un temps calculé par lui-même et interrompait le moteur à l'échéance. Résultat : sur cent cinquante parties, un moteur n'a jamais dépassé vingt-huit secondes sur un coup, quand ses adversaires montaient à cent cinquante. Il ne pouvait donc jamais investir sur une position critique. Depuis septembre 2026, le pont transmet la vraie pendule et laisse le moteur décider : les mêmes moteurs montent maintenant à quatre cents secondes quand la position l'exige, et s'arrêtent à cinq quand le coup est évident.

C'est cette seconde correction qui a fait basculer les résultats. Sur le moteur où elle a été mesurée isolément, elle vaut à elle seule quatre-vingts points.

La machine est un instrument de mesure

Une leçon coûteuse, qui vaut pour quiconque voudrait refaire ces mesures. Faire tourner plusieurs tournois en même temps sur une machine à seize cœurs invalide tous les résultats, et pas seulement en les ralentissant. La perte n'est pas la même pour tout le monde : un moteur adapté paye deux fois (sa recherche et la couche Python), un moteur multiprocesseur vole les cœurs de ses adversaires, et les processeurs modernes à cœurs hétérogènes ajoutent leur propre loterie. On a vu un même moteur passer de 75 % à 40 % en cours de tournoi, simplement parce que d'autres calculs avaient démarré à côté.

La règle est donc devenue absolue : un seul tournoi à la fois, machine dédiée. Les mesures faites autrement ont été jetées, y compris quand elles étaient flatteuses.

La suite

Les treize moteurs mono-processeur sont au classement, et les deux multiprocesseurs y sont entrés, mesurés à plusieurs nombres de threads. Restent des points ouverts :

MoteurOù il en est
Deep Fritz 8 Mesuré en 1, 4 et 8 threads (2873, 2921, 2979). Reste à expliquer les deux coups nuls rendus par le pont, un à quatre threads et un à huit.
Deep Junior 10 Mesuré en 4 et 8 threads (2907, 2962). Les déconnexions augmentent avec le nombre de threads et restent à supprimer.
Deep Junior 9 Adapté en septembre 2026, pas encore calibré.

Au-delà, deux chantiers restent ouverts : porter les deux Tiger à un niveau de fiabilité suffisant pour la calibration, et explorer Fritz 13 SE, d'une toute autre génération — plus de table de fonctions, un protocole à commandes sérialisées et un mécanisme de signature. Sans promesse.

Ce qu'on en fait dans le classement Les moteurs adaptés gardent leur place dans la liste sous leur cote réellement mesurée, jamais celle de leur passé natif, et portent une marque distinctive (couleur et mention « py ») pour qu'on ne les confonde jamais avec un moteur UCI d'origine.

Il aura fallu regarder les parties, et non les tableaux, pour comprendre. Ces vieux moteurs ne perdaient pas leur force en changeant de logiciel : on leur avait retiré la mémoire de ce qu'ils venaient de jouer, puis on les avait empêchés de gérer leur temps. Rendus à eux-mêmes, ils rejouent exactement comme il y a vingt-cinq ans — à ceci près qu'ils le font sur une machine mille fois plus rapide, et qu'on peut enfin les mesurer.

chess.lumn.eu · laboratoire de calibration · mise à jour du 24 septembre 2026