{"id":3925,"date":"2026-06-26T00:08:13","date_gmt":"2026-06-26T00:08:13","guid":{"rendered":"https:\/\/www.chess.lumn.eu\/wordpress\/?p=3925"},"modified":"2026-06-26T00:12:06","modified_gmt":"2026-06-26T00:12:06","slug":"calibration-de-ma-liste-elo","status":"publish","type":"post","link":"https:\/\/www.chess.lumn.eu\/wordpress\/2026\/06\/26\/calibration-de-ma-liste-elo\/","title":{"rendered":"Calibration de ma liste elo"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"3925\" class=\"elementor elementor-3925\">\n\t\t\t\t\t\t<div class=\"elementor-inner\">\n\t\t\t\t<div class=\"elementor-section-wrap\">\n\t\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-32f85c1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"32f85c1\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5c2b86c\" data-id=\"5c2b86c\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7543406 elementor-widget elementor-widget-heading\" data-id=\"7543406\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Calibration de ma liste elo<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6b4c655 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6b4c655\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e894b9a\" data-id=\"e894b9a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-fe98c64 elementor-widget elementor-widget-html\" data-id=\"fe98c64\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<!DOCTYPE html>\n<html lang=\"fr\">\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<title>\u00c9talonner son laboratoire sur l'\u00e9chelle CCRL \u2014 m\u00e9thode des trois ancres<\/title>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,700;1,9..40,400&family=JetBrains+Mono:wght@400;700&display=swap\" rel=\"stylesheet\">\n<style>\n  .naum-body{\n    --crf:#f7f4ee; --ink:#23201c; --soft:#5b554c; --rule:#e0d9cc;\n    --red:#c0392b; --gold:#d4ac0d; --green:#4a7c59; --tan:#b8a878; --purple:#7d5ba6;\n    background:var(--crf); color:var(--ink);\n    font-family:\"DM Sans\",system-ui,sans-serif; line-height:1.6;\n    max-width:900px; margin:0 auto; padding:40px;\n    -webkit-font-smoothing:antialiased;\n  }\n  .naum-body *{box-sizing:border-box;}\n  .naum-hero-label{\n    font-family:\"JetBrains Mono\",monospace; font-size:.72rem; font-weight:700;\n    letter-spacing:.22em; text-transform:uppercase; color:var(--red); margin-bottom:14px;\n  }\n  .naum-title{\n    font-family:\"DM Serif Display\",serif; font-size:2.7rem; line-height:1.08;\n    font-weight:400; margin:0 0 10px; letter-spacing:-.01em;\n  }\n  .naum-title em{color:var(--red); font-style:italic;}\n  .naum-lede{font-size:1.06rem; color:var(--soft); max-width:62ch; margin:0 0 6px;}\n  .naum-rule{border:0; border-top:1px solid var(--rule); margin:34px 0;}\n  .naum-section-title{\n    font-family:\"DM Serif Display\",serif; font-size:1.6rem; font-weight:400;\n    margin:38px 0 4px; letter-spacing:-.01em;\n  }\n  .naum-section-title em{color:var(--red); font-style:italic;}\n  .naum-section-title .rk{\n    font-family:\"JetBrains Mono\",monospace; font-size:1rem; font-weight:700;\n    color:var(--soft); margin-right:10px; vertical-align:.12em;\n  }\n  .naum-meta{\n    font-family:\"JetBrains Mono\",monospace; font-size:.78rem; color:var(--soft);\n    letter-spacing:.03em; margin:0 0 16px;\n  }\n  .naum-meta b{color:var(--ink);}\n  .naum-p{margin:12px 0; max-width:64ch;}\n  .naum-steps{counter-reset:step; list-style:none; padding:0; margin:18px 0; max-width:64ch;}\n  .naum-steps li{\n    position:relative; padding:4px 0 16px 52px; margin:0;\n    border-left:1px solid var(--rule); margin-left:16px;\n  }\n  .naum-steps li:last-child{border-left:1px solid transparent;}\n  .naum-steps li::before{\n    counter-increment:step; content:counter(step);\n    position:absolute; left:-16px; top:0;\n    width:32px; height:32px; border-radius:50%;\n    background:var(--red); color:#fff;\n    font-family:\"JetBrains Mono\",monospace; font-size:.85rem; font-weight:700;\n    display:flex; align-items:center; justify-content:center;\n  }\n  .naum-steps li b{font-family:\"DM Sans\"; font-weight:700;}\n  .naum-table{width:100%; border-collapse:collapse; margin:14px 0 8px; font-size:.92rem;}\n  .naum-table th{\n    text-align:left; font-family:\"JetBrains Mono\",monospace; font-size:.7rem;\n    font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--soft);\n    padding:8px 10px; border-bottom:2px solid var(--ink);\n  }\n  .naum-table td{padding:9px 10px; border-bottom:1px solid var(--rule);}\n  .naum-table td.num,.naum-table th.num{text-align:right; font-family:\"JetBrains Mono\",monospace;}\n  .naum-table tr.total td{\n    border-top:2px solid var(--ink); border-bottom:none;\n    font-weight:700; background:rgba(192,57,43,.04);\n  }\n  .naum-table .eng{font-weight:500;}\n  .naum-table .perf{color:var(--red); font-weight:700;}\n  .naum-table .pos{color:var(--green); font-weight:700;}\n  .naum-elo-box{\n    background:#fdf3c0; border:1px solid var(--gold); border-left:5px solid var(--gold);\n    border-radius:3px; padding:18px 22px; margin:18px 0;\n    display:flex; align-items:baseline; gap:18px; flex-wrap:wrap;\n  }\n  .naum-elo-box .lab{\n    font-family:\"JetBrains Mono\",monospace; font-size:.72rem; font-weight:700;\n    letter-spacing:.14em; text-transform:uppercase; color:#8a6d00;\n  }\n  .naum-elo-box .val{font-family:\"DM Serif Display\",serif; font-size:2.4rem; line-height:1; color:#6b5500;}\n  .naum-elo-box .sig{font-family:\"JetBrains Mono\",monospace; font-size:.92rem; color:#8a6d00;}\n  .naum-mono-box{\n    background:#f2eef8; border:1px solid var(--purple); border-left:5px solid var(--purple);\n    border-radius:3px; padding:14px 18px; margin:16px 0;\n    font-family:\"JetBrains Mono\",monospace; font-size:.82rem; color:#4a3a63; line-height:1.7;\n  }\n  .naum-mono-box .k{color:var(--purple); font-weight:700;}\n  .naum-formula{\n    background:#f2eef8; border:1px solid var(--purple); border-radius:3px;\n    padding:16px 20px; margin:16px 0; text-align:center;\n    font-family:\"JetBrains Mono\",monospace; font-size:1rem; color:#3c2e52; line-height:1.9;\n  }\n  .naum-coherence-box{\n    background:#eaf3ec; border:1px solid var(--green); border-left:5px solid var(--green);\n    border-radius:3px; padding:14px 18px; margin:16px 0; font-size:.92rem; color:#2f4a38;\n  }\n  .naum-coherence-box b{color:var(--green);}\n  .naum-note-box{\n    background:#f1eadb; border:1px solid var(--tan); border-left:5px solid var(--tan);\n    border-radius:3px; padding:14px 18px; margin:16px 0; font-size:.92rem; color:#5a4f38;\n  }\n  .naum-note-box b{color:#8a6a1f;}\n  .naum-flow{display:flex; flex-direction:column; gap:0; margin:20px 0; max-width:620px;}\n  .naum-flow .stage{\n    background:#fff; border:1px solid var(--rule); border-left:5px solid var(--red);\n    border-radius:3px; padding:13px 18px;\n  }\n  .naum-flow .stage .st-lab{\n    font-family:\"JetBrains Mono\",monospace; font-size:.68rem; font-weight:700;\n    letter-spacing:.12em; text-transform:uppercase; color:var(--red); margin-bottom:3px;\n  }\n  .naum-flow .stage .st-main{font-family:\"DM Serif Display\",serif; font-size:1.12rem; line-height:1.2;}\n  .naum-flow .stage .st-sub{font-size:.84rem; color:var(--soft); margin-top:3px;}\n  .naum-flow .arrow{\n    align-self:center; color:var(--tan); font-size:1.3rem; line-height:1;\n    margin:7px 0; font-family:\"JetBrains Mono\",monospace;\n  }\n  .naum-flow .io{display:flex; gap:8px; flex-wrap:wrap; margin-top:8px;}\n  .naum-flow .chip{\n    font-family:\"JetBrains Mono\",monospace; font-size:.7rem; font-weight:700;\n    padding:3px 9px; border-radius:20px; border:1px solid var(--rule);\n    background:var(--crf); color:var(--soft);\n  }\n  .naum-flow .chip.out{border-color:var(--green); color:var(--green); background:#eaf3ec;}\n  .naum-flow .chip.html{border-color:var(--purple); color:var(--purple); background:#f2eef8;}\n  .naum-footer{\n    font-family:\"JetBrains Mono\",monospace; font-size:.72rem; color:var(--soft);\n    letter-spacing:.04em; margin-top:34px; padding-top:16px; border-top:1px solid var(--rule);\n  }\n  @media (max-width:620px){\n    .naum-body{padding:24px 16px;}\n    .naum-title{font-size:2rem;}\n    .naum-table{font-size:.8rem;}\n    .naum-table th,.naum-table td{padding:6px 5px;}\n    .naum-elo-box .val{font-size:1.9rem;}\n    .naum-formula{font-size:.85rem;}\n  }\n<\/style>\n<\/head>\n<body>\n<article class=\"naum-body\">\n\n  <div class=\"naum-hero-label\">M\u00e9thode \u00b7 \u00e9talonnage du laboratoire<\/div>\n  <h1 class=\"naum-title\">Aligner son labo sur l'<em>\u00e9chelle CCRL<\/em><\/h1>\n  <p class=\"naum-lede\">Comment donner \u00e0 des moteurs test\u00e9s sur sa propre machine une cote comparable \u00e0 celle de CCRL ? La r\u00e9ponse tient en trois moteurs-ancres, un bridage temporel, et une formule. Voici la m\u00e9thode compl\u00e8te, avec les gauntlets int\u00e9graux des trois ancres et leurs \u00e9carts mesur\u00e9s au r\u00e9f\u00e9rentiel CCRL.<\/p>\n\n  <div class=\"naum-mono-box\">\n    <span class=\"k\">Le probl\u00e8me.<\/span> CCRL note les moteurs sur son mat\u00e9riel et ses conditions de r\u00e9f\u00e9rence. Sur un Ryzen 9 7950X3D, plus rapide par c\u0153ur et souvent lanc\u00e9 avec davantage de threads, les m\u00eames moteurs marquent plus de points \u2014 leur cote \u00ab maison \u00bb est gonfl\u00e9e. Pour publier des valeurs comparables \u00e0 CCRL, il faut un <span class=\"k\">pont<\/span> entre l'\u00e9chelle du laboratoire et l'\u00e9chelle CCRL.<br>\n    <span class=\"k\">L'id\u00e9e.<\/span> Choisir des moteurs dont la cote CCRL est connue et fiable (les <span class=\"k\">ancres<\/span>), les faire jouer sur le Ryzen mais <span class=\"k\">brid\u00e9s en temps<\/span> pour qu'ils rejouent leur force CCRL. Tout moteur qui les affronte \u00e0 pleine cadence se positionne alors sur l'\u00e9chelle CCRL via son score.\n  <\/div>\n\n  <hr class=\"naum-rule\">\n\n  <!-- ===== PRINCIPE ===== -->\n  <h2 class=\"naum-section-title\">Le <em>principe<\/em>, \u00e9tape par \u00e9tape<\/h2>\n\n  <ol class=\"naum-steps\">\n    <li><b>Choisir trois ancres \u00e9tag\u00e9es.<\/b> Trois moteurs de cote CCRL connue, r\u00e9partis sur l'\u00e9chelle \u2014 haut, milieu, bas \u2014 pour que le pont soit tenu en plusieurs points plut\u00f4t qu'en un seul. Ici : 3327, 2911 et 2608, soit \u2248 730 points couverts.<\/li>\n    <li><b>Brider les ancres en temps.<\/b> Chaque ancre joue \u00e0 ~\u00bd temps (8 s\/coup) l\u00e0 o\u00f9 le moteur test\u00e9 joue \u00e0 pleine cadence (15 s\/coup). Ce handicap neutralise l'avantage de fr\u00e9quence par c\u0153ur du Ryzen : l'ancre joue \u00ab comme si \u00bb elle tournait sur un mat\u00e9riel plus lent, et reproduit son niveau CCRL.<\/li>\n    <li><b>Faire jouer chaque ancre contre des sous-ancres CCRL.<\/b> Un gauntlet de 100 parties (20 par adversaire, couleurs \u00e9quilibr\u00e9es) contre 4-5 moteurs de cote CCRL connue, eux aussi brid\u00e9s. Le score mesure la force de l'ancre sur le Ryzen.<\/li>\n    <li><b>Calculer la performance.<\/b> Formule maison : moyenne des cotes CCRL des adversaires + conversion logistique du pourcentage. On obtient la cote Ryzen de l'ancre.<\/li>\n    <li><b>\u00c9pingler les trois ancres dans Ordo.<\/b> On fixe les trois \u00e0 leur valeur CCRL mesur\u00e9e, et Ordo red\u00e9rive toute la liste sur le r\u00e9f\u00e9rentiel CCRL \u00e0 partir de ces points fixes.<\/li>\n  <\/ol>\n\n  <div class=\"naum-formula\">\n    perf = moyenne des ancres + 400 \u00b7 log\u2081\u2080( p \/ (1 \u2212 p) )<br>\n    <span style=\"font-size:.82rem; color:var(--purple);\">\u03c3 = 400 \u00b7 \u221a( p(1 \u2212 p) \/ N )&nbsp;&nbsp;\u2014 forme \u00ab table \u00bb, colonne Err \u00b1<\/span>\n  <\/div>\n\n  <div class=\"naum-note-box\">\n    <b>Subtilit\u00e9 du bridage.<\/b> Le handicap temporel est un facteur unique par c\u0153ur \u2014 il <b>ne se cumule pas<\/b> avec le nombre de threads. Chaque ancre tourne donc au nombre de threads de sa r\u00e9f\u00e9rence CCRL : la fr\u00e9quence est neutralis\u00e9e, mais pas le parall\u00e9lisme. C'est ce qui explique que le seul gain possible au-dessus de la cote CCRL provienne des threads <i>suppl\u00e9mentaires<\/i> par rapport \u00e0 la r\u00e9f\u00e9rence \u2014 et de rien d'autre.\n  <\/div>\n\n  <hr class=\"naum-rule\">\n\n  <!-- ===== ANCRE 1 : DS13 ===== -->\n  <h2 class=\"naum-section-title\"><span class=\"rk\">Ancre haute<\/span>Deep Shredder 13 <em>\u2014 8 threads<\/em><\/h2>\n  <p class=\"naum-meta\">Cote CCRL <b>3327<\/b> (4CPU) &nbsp;\u00b7&nbsp; movetime 15 \/ 8 &nbsp;\u00b7&nbsp; 100 parties &nbsp;\u00b7&nbsp; couleurs 50\/50<\/p>\n  <table class=\"naum-table\">\n    <thead><tr><th>Adversaire (sous-ancre)<\/th><th class=\"num\">CCRL<\/th><th class=\"num\">Score<\/th><th class=\"num\">%<\/th><th class=\"num\">+ \/ = \/ \u2212<\/th><th class=\"num\">Perf ind.<\/th><\/tr><\/thead>\n    <tbody>\n      <tr><td class=\"eng\">Caissa 1.17<\/td><td class=\"num\">3601<\/td><td class=\"num\">3.5 \/ 20<\/td><td class=\"num\">17,50 %<\/td><td class=\"num\">0 \/ 7 \/ 13<\/td><td class=\"num\">3332<\/td><\/tr>\n      <tr><td class=\"eng\">Stockfish 10<\/td><td class=\"num\">3522<\/td><td class=\"num\">6.5 \/ 20<\/td><td class=\"num\">32,50 %<\/td><td class=\"num\">0 \/ 13 \/ 7<\/td><td class=\"num\">3395<\/td><\/tr>\n      <tr><td class=\"eng\">Ethereal 12.75<\/td><td class=\"num\">3454<\/td><td class=\"num\">9.5 \/ 20<\/td><td class=\"num\">47,50 %<\/td><td class=\"num\">1 \/ 17 \/ 2<\/td><td class=\"num\">3437<\/td><\/tr>\n      <tr><td class=\"eng\">Wasp 5.50<\/td><td class=\"num\">3325<\/td><td class=\"num\">14.0 \/ 20<\/td><td class=\"num\">70,00 %<\/td><td class=\"num\">9 \/ 10 \/ 1<\/td><td class=\"num\">3472<\/td><\/tr>\n      <tr><td class=\"eng\">Gull 3<\/td><td class=\"num\">3223<\/td><td class=\"num\">12.0 \/ 20<\/td><td class=\"num\">60,00 %<\/td><td class=\"num\">4 \/ 16 \/ 0<\/td><td class=\"num\">3293<\/td><\/tr>\n      <tr class=\"total\"><td>Total \u00b7 moy. 3425<\/td><td class=\"num\">\u2014<\/td><td class=\"num\">45.5 \/ 100<\/td><td class=\"num\">45,50 %<\/td><td class=\"num\">14 \/ 63 \/ 23<\/td><td class=\"num perf\">3394<\/td><\/tr>\n    <\/tbody>\n  <\/table>\n  <div class=\"naum-elo-box\"><span class=\"lab\">Cote Ryzen 9<\/span><span class=\"val\">3394<\/span><span class=\"sig\">\u00b1 20 (table) \u00b7 \u00b1 9 (log) &nbsp;\u00b7&nbsp; \u00e9cart CCRL <b style=\"color:#6b5500\">+67<\/b><\/span><\/div>\n  <div class=\"naum-coherence-box\"><b>Coh\u00e9rence.<\/b> +67 au-dessus de la cote CCRL 4CPU, attribuable au doublement 4 \u2192 8 threads \u2014 la fr\u00e9quence par c\u0153ur \u00e9tant neutralis\u00e9e par le bridage. Profil propre : les cinq perfs individuelles s'ordonnent correctement avec la force des sous-ancres (3293 \u2192 3472), sans outlier.<\/div>\n\n  <!-- ===== ANCRE 2 : Glaurung ===== -->\n  <h2 class=\"naum-section-title\"><span class=\"rk\">Ancre m\u00e9diane<\/span>Glaurung 2.2 JA <em>\u2014 8 threads<\/em><\/h2>\n  <p class=\"naum-meta\">Cote CCRL <b>2911<\/b> (4CPU) &nbsp;\u00b7&nbsp; movetime 15 \/ 8 &nbsp;\u00b7&nbsp; 100 parties<\/p>\n  <table class=\"naum-table\">\n    <thead><tr><th>Adversaire (sous-ancre)<\/th><th class=\"num\">CCRL<\/th><th class=\"num\">Score<\/th><th class=\"num\">%<\/th><th class=\"num\">+ \/ = \/ \u2212<\/th><th class=\"num\">Perf ind.<\/th><\/tr><\/thead>\n    <tbody>\n      <tr><td class=\"eng\">Igel 2.3.1<\/td><td class=\"num\">3097<\/td><td class=\"num\">6.0 \/ 20<\/td><td class=\"num\">30,00 %<\/td><td class=\"num\">0 \/ 12 \/ 8<\/td><td class=\"num\">2950<\/td><\/tr>\n      <tr><td class=\"eng\">Deep Shredder 12<\/td><td class=\"num\">3043<\/td><td class=\"num\">10.5 \/ 20<\/td><td class=\"num\">52,50 %<\/td><td class=\"num\">6 \/ 9 \/ 5<\/td><td class=\"num\">3060<\/td><\/tr>\n      <tr><td class=\"eng\">Wasp 2.00<\/td><td class=\"num\">2946<\/td><td class=\"num\">9.0 \/ 20<\/td><td class=\"num\">45,00 %<\/td><td class=\"num\">5 \/ 8 \/ 7<\/td><td class=\"num\">2911<\/td><\/tr>\n      <tr><td class=\"eng\">Stockfish 1.4 JA<\/td><td class=\"num\">2845<\/td><td class=\"num\">15.5 \/ 20<\/td><td class=\"num\">77,50 %<\/td><td class=\"num\">12 \/ 7 \/ 1<\/td><td class=\"num\">3060<\/td><\/tr>\n      <tr><td class=\"eng\">Lux 5.0<\/td><td class=\"num\">2811<\/td><td class=\"num\">15.0 \/ 20<\/td><td class=\"num\">75,00 %<\/td><td class=\"num\">11 \/ 8 \/ 1<\/td><td class=\"num\">3002<\/td><\/tr>\n      <tr class=\"total\"><td>Total \u00b7 moy. 2948<\/td><td class=\"num\">\u2014<\/td><td class=\"num\">56.0 \/ 100<\/td><td class=\"num\">56,00 %<\/td><td class=\"num\">34 \/ 44 \/ 22<\/td><td class=\"num perf\">2990<\/td><\/tr>\n    <\/tbody>\n  <\/table>\n  <div class=\"naum-elo-box\"><span class=\"lab\">Cote Ryzen 9<\/span><span class=\"val\">2990<\/span><span class=\"sig\">\u00b1 20 (table) \u00b7 \u00b1 9 (log) &nbsp;\u00b7&nbsp; \u00e9cart CCRL <b style=\"color:#6b5500\">+79<\/b><\/span><\/div>\n  <div class=\"naum-coherence-box\"><b>Coh\u00e9rence.<\/b> +79 au-dessus de la cote CCRL 4CPU, l\u00e0 encore via le doublement 4 \u2192 8 threads. \u00c0 20 parties par sous-ancre le profil est homog\u00e8ne : Igel (2950) et Wasp 2.00 (2911) align\u00e9s en bas, DS12 et Stockfish 1.4 en haut (3060) \u2014 aucun outlier de style.<\/div>\n\n  <!-- ===== ANCRE 3 : List ===== -->\n  <h2 class=\"naum-section-title\"><span class=\"rk\">Ancre basse<\/span>List 5.12 <em>\u2014 1 thread<\/em><\/h2>\n  <p class=\"naum-meta\">Cote CCRL <b>2608<\/b> &nbsp;\u00b7&nbsp; movetime 15 \/ 8 &nbsp;\u00b7&nbsp; 92 parties &nbsp;\u00b7&nbsp; pool sans Tao, avec Hermann<\/p>\n  <table class=\"naum-table\">\n    <thead><tr><th>Adversaire (sous-ancre)<\/th><th class=\"num\">CCRL<\/th><th class=\"num\">Score<\/th><th class=\"num\">%<\/th><th class=\"num\">+ \/ = \/ \u2212<\/th><th class=\"num\">Perf ind.<\/th><\/tr><\/thead>\n    <tbody>\n      <tr><td class=\"eng\">Toga II 1.2.1a<\/td><td class=\"num\">2766<\/td><td class=\"num\">8.0 \/ 20<\/td><td class=\"num\">40,00 %<\/td><td class=\"num\">5 \/ 6 \/ 9<\/td><td class=\"num\">2696<\/td><\/tr>\n      <tr><td class=\"eng\">Spike 1.1<\/td><td class=\"num\">2690<\/td><td class=\"num\">10.0 \/ 20<\/td><td class=\"num\">50,00 %<\/td><td class=\"num\">6 \/ 8 \/ 6<\/td><td class=\"num\">2690<\/td><\/tr>\n      <tr><td class=\"eng\">Ruffian 1.0.5<\/td><td class=\"num\">2599<\/td><td class=\"num\">10.0 \/ 20<\/td><td class=\"num\">50,00 %<\/td><td class=\"num\">6 \/ 8 \/ 6<\/td><td class=\"num\">2599<\/td><\/tr>\n      <tr><td class=\"eng\">Hermann 2.8<\/td><td class=\"num\">2487<\/td><td class=\"num\">22.0 \/ 32<\/td><td class=\"num\">68,75 %<\/td><td class=\"num\">16 \/ 12 \/ 4<\/td><td class=\"num\">2624<\/td><\/tr>\n      <tr class=\"total\"><td>Total \u00b7 moy. 2635,5<\/td><td class=\"num\">\u2014<\/td><td class=\"num\">50.0 \/ 92<\/td><td class=\"num\">54,35 %<\/td><td class=\"num\">33 \/ 34 \/ 25<\/td><td class=\"num perf\">2666<\/td><\/tr>\n    <\/tbody>\n  <\/table>\n  <div class=\"naum-elo-box\"><span class=\"lab\">Cote Ryzen 9<\/span><span class=\"val\">2666<\/span><span class=\"sig\">\u00b1 21 (table) \u00b7 \u00b1 9 (log) &nbsp;\u00b7&nbsp; \u00e9cart CCRL <b style=\"color:#6b5500\">+58<\/b><\/span><\/div>\n  <div class=\"naum-note-box\"><b>Cas particulier : pas de bonus SMP.<\/b> List tourne en mono-thread, exactement comme sa r\u00e9f\u00e9rence CCRL \u2014 il n'y a donc <b>aucun gain de threads<\/b> ici. Son +58 ne vient pas du parall\u00e9lisme mais du pool retenu sans Tao (avec Tao inclus, la perf retombait vers ~2610). List fait par ailleurs 50 % contre Ruffian (2599) et contre Spike (2690), deux sous-ancres distantes de 91 points : une l\u00e9g\u00e8re non-transitivit\u00e9 qui fixe le plancher de pr\u00e9cision \u00e0 \u00b1 21. Tao 5.6, statistiquement indistinguable de Hermann (z = 0,64), a \u00e9t\u00e9 \u00e9cart\u00e9 du pool.<\/div>\n\n  <hr class=\"naum-rule\">\n\n  <!-- ===== SYNTH\u00c8SE ===== -->\n  <h2 class=\"naum-section-title\">Le triplet <em>d'ancrage<\/em> et la le\u00e7on des \u00e9carts<\/h2>\n  <p class=\"naum-meta\">Trois points fixes pour le r\u00e9\u00e9talonnage global \u00b7 \u00e9chelle couverte \u2248 730 points<\/p>\n\n  <table class=\"naum-table\">\n    <thead><tr><th>Moteur<\/th><th class=\"num\">Th.<\/th><th class=\"num\">CCRL<\/th><th class=\"num\">Ryzen 9<\/th><th class=\"num\">\u00c9cart CCRL<\/th><\/tr><\/thead>\n    <tbody>\n      <tr><td class=\"eng\">Deep Shredder 13 x64<\/td><td class=\"num\">8<\/td><td class=\"num\">3327<\/td><td class=\"num perf\">3394 \u00b1 20<\/td><td class=\"num pos\">+67<\/td><\/tr>\n      <tr><td class=\"eng\">Glaurung 2.2 JA<\/td><td class=\"num\">8<\/td><td class=\"num\">2911<\/td><td class=\"num perf\">2990 \u00b1 20<\/td><td class=\"num pos\">+79<\/td><\/tr>\n      <tr><td class=\"eng\">List 5.12<\/td><td class=\"num\">1<\/td><td class=\"num\">2608<\/td><td class=\"num perf\">2666 \u00b1 21<\/td><td class=\"num pos\">+58<\/td><\/tr>\n    <\/tbody>\n  <\/table>\n\n  <div class=\"naum-coherence-box\">\n    <b>La le\u00e7on centrale.<\/b> Les trois \u00e9carts \u2014 +67, +79, +58 \u2014 <b>ne suivent aucune r\u00e8gle uniforme<\/b>. Ils ne sont pas proportionnels au nombre de threads (les deux ancres 8T gagnent des montants diff\u00e9rents), ni constants. L'\u00e9cart au r\u00e9f\u00e9rentiel CCRL est <b>propre \u00e0 chaque moteur<\/b>. C'est pr\u00e9cis\u00e9ment pourquoi on ne peut pas d\u00e9caler toute la liste d'une constante : il faut mesurer plusieurs ancres r\u00e9elles et laisser Ordo interpoler entre elles.\n  <\/div>\n\n  <p class=\"naum-p\">Conclusion op\u00e9ratoire : on \u00e9pingle ces trois points \u00e0 leur valeur CCRL connue dans Ordo, et l'on red\u00e9rive l'ensemble de la liste sur le r\u00e9f\u00e9rentiel CCRL. Les ancres tiennent le pont en trois endroits \u2014 haut, milieu, bas \u2014 et tout moteur test\u00e9 contre elles, \u00e0 pleine cadence, h\u00e9rite d'une cote directement comparable \u00e0 CCRL, sans facteur correctif arbitraire. La pr\u00e9cision du pont, \u2248 \u00b1 20 par ancre, fixe le plancher d'incertitude de tout le r\u00e9\u00e9talonnage.<\/p>\n\n  <hr class=\"naum-rule\">\n\n  <!-- ===== CHA\u00ceNE DE PRODUCTION ===== -->\n  <h2 class=\"naum-section-title\">De la partie au <em>tableau publi\u00e9<\/em><\/h2>\n  <p class=\"naum-meta\">La cha\u00eene compl\u00e8te, du PGN brut au classement et aux d\u00e9briefs en ligne<\/p>\n\n  <p class=\"naum-p\">Une fois les ancres pos\u00e9es et les gauntlets jou\u00e9s, le passage des parties brutes au tableau publi\u00e9 suit une cha\u00eene fixe en quatre temps. Rien n'est saisi \u00e0 la main : tout est d\u00e9riv\u00e9 des PGN.<\/p>\n\n  <div class=\"naum-flow\">\n    <div class=\"stage\">\n      <div class=\"st-lab\">1 \u00b7 Assemblage<\/div>\n      <div class=\"st-main\">Tous les PGN en un seul<\/div>\n      <div class=\"st-sub\">Chaque gauntlet (un par moteur test\u00e9) est concat\u00e9n\u00e9 dans un PGN combin\u00e9 unique \u2014 la mati\u00e8re premi\u00e8re, l'int\u00e9gralit\u00e9 des parties du laboratoire.<\/div>\n      <div class=\"io\"><span class=\"chip\">gauntlets_combined.pgn<\/span><\/div>\n    <\/div>\n    <div class=\"arrow\">\u25bc<\/div>\n    <div class=\"stage\">\n      <div class=\"st-lab\">2 \u00b7 OrdoStat<\/div>\n      <div class=\"st-main\">Ajustement global Ordo \/ BayesElo<\/div>\n      <div class=\"st-sub\">Le PGN combin\u00e9 passe dans OrdoStat. Avec les trois ancres CCRL \u00e9pingl\u00e9es \u00e0 leur valeur (deux ancres minimum pour caler l'\u00e9chelle), Ordo r\u00e9sout tout le graphe d'un coup et red\u00e9rive chaque moteur sur le r\u00e9f\u00e9rentiel CCRL \u2014 bien mieux qu'une moyenne d'ancres, car il g\u00e8re la non-transitivit\u00e9.<\/div>\n    <\/div>\n    <div class=\"arrow\">\u25bc<\/div>\n    <div class=\"stage\" style=\"border-left-color:var(--green)\">\n      <div class=\"st-lab\" style=\"color:var(--green)\">3 \u00b7 Sorties<\/div>\n      <div class=\"st-main\">Fichiers CSV et TXT<\/div>\n      <div class=\"st-sub\">OrdoStat produit la liste cal\u00e9e : un CSV structur\u00e9 (cote, \u03c3, parties, %) et un TXT ordonn\u00e9 (rang, nom, cote, points, parties, %). C'est le classement officiel, \u00e0 l'\u00e9tat de donn\u00e9es.<\/div>\n      <div class=\"io\"><span class=\"chip out\">classement.csv<\/span><span class=\"chip out\">classement.txt<\/span><\/div>\n    <\/div>\n    <div class=\"arrow\">\u25bc<\/div>\n    <div class=\"stage\" style=\"border-left-color:var(--purple)\">\n      <div class=\"st-lab\" style=\"color:var(--purple)\">4 \u00b7 G\u00e9n\u00e9rateur HTML<\/div>\n      <div class=\"st-main\">Classement + d\u00e9briefs en ligne<\/div>\n      <div class=\"st-sub\">Le g\u00e9n\u00e9rateur croise le PGN, la sortie Ordo et la liste des moteurs fig\u00e9s, puis produit deux fragments HTML dans le th\u00e8me cr\u00e8me : le tableau de classement (avec liens internes) et l'ensemble des d\u00e9briefs de gauntlets (tables d'adversaires par moteur). Coll\u00e9s dans deux widgets HTML Elementor de la page WordPress.<\/div>\n      <div class=\"io\"><span class=\"chip html\">classement.html<\/span><span class=\"chip html\">debriefs.html<\/span><\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"naum-note-box\">\n    <b>Pourquoi cette s\u00e9paration en deux outils.<\/b> OrdoStat fait la <i>science<\/i> (l'ajustement statistique sur l'\u00e9chelle CCRL) ; le g\u00e9n\u00e9rateur fait la <i>mise en forme<\/i> (le HTML). Les garder distincts permet de rejouer l'un sans l'autre \u2014 r\u00e9\u00e9talonner apr\u00e8s l'ajout d'un moteur sans retoucher la pr\u00e9sentation, ou r\u00e9g\u00e9n\u00e9rer le HTML apr\u00e8s un changement de style sans relancer Ordo.<\/div>\n\n  <div class=\"naum-coherence-box\">\n    <b>Une cha\u00eene reproductible.<\/b> Du premier coup jou\u00e9 au tableau en ligne, chaque maillon part d'un fichier et en produit un autre. Ajouter un moteur, c'est rejouer son gauntlet, le verser dans le PGN combin\u00e9, et relancer la cha\u00eene : Ordo repositionne tout, le g\u00e9n\u00e9rateur r\u00e9\u00e9dite le classement et les d\u00e9briefs. Aucune valeur n'est jamais recopi\u00e9e \u00e0 la main \u2014 d'o\u00f9 la coh\u00e9rence d'ensemble de la liste.<\/div>\n\n  <div class=\"naum-footer\">\n    Chroniques Software \u00b7 Ryzen 9 7950X3D \u00b7 perf = moyenne ancres + 400\u00b7log\u2081\u2080(p\/(1\u2212p)) \u00b7 \u03c3 table \u00b7 pont liaison CCRL\n  <\/div>\n\n<\/article>\n<\/body>\n<\/html>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Calibration de ma liste elo \u00c9talonner son laboratoire sur l&#8217;\u00e9chelle CCRL \u2014 m\u00e9thode des trois ancres M\u00e9thode \u00b7 \u00e9talonnage du laboratoire Aligner son labo sur l&#8217;\u00e9chelle CCRL Comment donner \u00e0 des moteurs test\u00e9s sur sa propre machine une cote comparable \u00e0 celle de CCRL ? La r\u00e9ponse tient en trois moteurs-ancres, un bridage temporel, et&hellip;&nbsp;<a href=\"https:\/\/www.chess.lumn.eu\/wordpress\/2026\/06\/26\/calibration-de-ma-liste-elo\/\" class=\"\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">Calibration de ma liste elo<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":3931,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":""},"categories":[53],"tags":[],"rttpg_featured_image_url":{"full":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/06\/Gemini_Generated_Image_puyxvupuyxvupuyx.png",1136,943,false],"landscape":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/06\/Gemini_Generated_Image_puyxvupuyxvupuyx.png",1136,943,false],"portraits":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/06\/Gemini_Generated_Image_puyxvupuyxvupuyx.png",1136,943,false],"thumbnail":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/06\/Gemini_Generated_Image_puyxvupuyxvupuyx-150x150.png",150,150,true],"medium":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/06\/Gemini_Generated_Image_puyxvupuyxvupuyx-300x249.png",300,249,true],"large":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/06\/Gemini_Generated_Image_puyxvupuyxvupuyx-1024x850.png",1024,850,true],"1536x1536":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/06\/Gemini_Generated_Image_puyxvupuyxvupuyx.png",1136,943,false],"2048x2048":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/06\/Gemini_Generated_Image_puyxvupuyxvupuyx.png",1136,943,false],"neve-blog":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/06\/Gemini_Generated_Image_puyxvupuyxvupuyx-930x620.png",930,620,true]},"rttpg_author":{"display_name":"valterd","author_link":"https:\/\/www.chess.lumn.eu\/wordpress\/author\/valterd\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/www.chess.lumn.eu\/wordpress\/category\/blog\/\" rel=\"category tag\">Blog<\/a>","rttpg_excerpt":"Calibration de ma liste elo \u00c9talonner son laboratoire sur l&#8217;\u00e9chelle CCRL \u2014 m\u00e9thode des trois ancres M\u00e9thode \u00b7 \u00e9talonnage du laboratoire Aligner son labo sur l&#8217;\u00e9chelle CCRL Comment donner \u00e0 des moteurs test\u00e9s sur sa propre machine une cote comparable \u00e0 celle de CCRL ? La r\u00e9ponse tient en trois moteurs-ancres, un bridage temporel, et&hellip;&nbsp;Read&hellip;","_links":{"self":[{"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/posts\/3925"}],"collection":[{"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/comments?post=3925"}],"version-history":[{"count":5,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/posts\/3925\/revisions"}],"predecessor-version":[{"id":3930,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/posts\/3925\/revisions\/3930"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/media\/3931"}],"wp:attachment":[{"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/media?parent=3925"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/categories?post=3925"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/tags?post=3925"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}