12. Annexe : Modèle de statistiques — alignement XG / gnuBG / blunderDB
Cette page décrit comment blunderDB calcule le PR (Performance Rate), le Snowie Error Rate et la perte MWC, et comment ces métriques sont alignées sur eXtreme Gammon (XG) et gnuBG (référence ouverte).
12.1. Définitions formelles
12.1.1. PR (Performance Rate)
Le PR (aussi appelé « error rate per decision » dans gnuBG) mesure l’erreur moyenne en millièmes de point de jetons (millipoints, mpt) par décision comptée.
Le numérateur est la somme absolue des erreurs EMG (en equity cubeful) sur toutes les décisions du périmètre.
Le dénominateur \(N_\text{compté}\) est le nombre de décisions comptées (voir ci-dessous).
Le facteur 500 convertit l’equity en millipoints (1 point = 1000 mpt, mais l’échelle est ×500 par convention XG/gnuBG — cf.
gnubg/formatgs.c:399–409).
12.1.2. Snowie Error Rate
Le Snowie ER utilise le même numérateur que le PR, mais le dénominateur est le nombre total de coups des deux joueurs, coups forcés inclus (toutes décisions, sans filtre) :
Référence : gnubg/formatgs.c:415–424.
Le Snowie ER est plus stable entre les outils car son dénominateur ne dépend pas du filtre des décisions forcées/triviales. Il sert de métrique de recoupement XG ↔ gnuBG ↔ blunderDB.
Note
Le Snowie ER d’un joueur est typiquement environ la moitié de son PR, car le dénominateur inclut les coups des deux joueurs alors que le PR n’utilise que les décisions de ce joueur.
12.1.3. Perte MWC (Match Winning Chance)
La perte MWC exprime en points de pourcentage de probabilité de gagner le match l’effet cumulé des erreurs d’un joueur. Pour chaque décision, l’erreur EMG est convertie en MWC via la table MET (Match Equity Table) au score courant :
Référence : gnubg/analysis.c:1449–1464.
12.2. Décisions comptées au dénominateur du PR
blunderDB suit les mêmes règles d’exclusion qu’XG et gnuBG.
12.2.1. Coups de pions — décisions comptées
Seuls les coups non-forcés sont comptés :
Un coup est forcé si le dé n’offre qu’un seul coup légal (
cMoves == 1dansgnubg/analysis.c:458).Les coups forcés ont une erreur nulle par définition : le joueur n’avait pas le choix. Les inclure dans le dénominateur abaisserait artificiellement le PR.
12.2.2. Décisions de cube — décisions comptées
Seules les décisions de cube proches sont comptées :
Une décision cube est proche si elle se situe dans la fenêtre d’équité
[-0.16, +0.16]autour du point de redoublement (prédicatisCloseCubedecisiondansgnubg/eval.c:5088–5100).Un « No Double » trivial (équité très négative ou très positive) n’est pas une vraie décision stratégique ; l’inclure gonflerait le dénominateur et dépresserait le PR.
12.2.3. Résumé du filtre
Type de décision |
Inclus dans \(N_\text{compté}\) (PR) |
|---|---|
Coup non-forcé |
Oui |
Coup forcé |
Non |
Cube proche |
Oui |
No Double trivial |
Non |
Take / Pass |
Toujours (ce sont des réponses au double) |
12.3. Correspondance blunderDB ↔ XG ↔ gnuBG
Les métriques sont alignées dans les limites suivantes (mesurées sur 3 matchs de référence) :
12.3.1. Comparaison XG ↔ blunderDB (même moteur d’analyse)
Métrique |
Écart typique |
|---|---|
Décisions totales |
≤ 5 |
Coups non-forcés |
≤ 7 |
PR |
≤ 0.10 |
Perte MWC |
≤ 1.0 pp |
Equity total (EMG) |
≤ 0.05 |
12.3.2. Comparaison gnuBG ↔ blunderDB (import SGF — moteurs différents)
Métrique |
Écart typique | Cause principale |
|
|---|---|---|
PR (checker) |
≤ 0.20 |
equity cross-engine |
Perte MWC |
≤ 3.5 pp |
close-cube SGF incomplet |
Snowie ER |
≤ 0.50 |
forcés sans analyse (SGF) |
Note
Les fichiers SGF (gnuBG) n’incluent pas les alternatives pour les coups forcés, ce qui signifie que blunderDB ne peut pas détecter tous les coups forcés à l’import SGF. Cela crée un écart structurel sur le Snowie ER (dénominateur légèrement différent).
12.4. Valider vos propres chiffres
Si vos valeurs PR ou MWC divergent des chiffres XG, vérifier les points suivants :
Analyses complètes — Le PR ne peut être calculé que sur les positions disposant d’une analyse. Des positions sans analyse sont comptées comme erreur zéro mais n’entrent pas dans \(N_\text{compté}\).
Version XG — XG peut changer ses calculs entre versions. blunderDB s’aligne sur le comportement observé des versions récentes.
Format d’import — Les fichiers SGF gnuBG produisent des écarts plus importants sur le cube (voir tableau ci-dessus) car le fichier n’inclut pas les analyses complètes pour tous les cubes.
Migration de base — Après mise à jour de blunderDB, les bases existantes sont migrées automatiquement. Faire une sauvegarde avant d’ouvrir une base avec une nouvelle version.
12.5. Référence gnuBG
Les formules ont été vérifiées dans les fichiers source suivants (dépôt gnuBG) :
gnubg/formatgs.c:399–409— PR (« Error rate per decision »).gnubg/formatgs.c:415–424— Snowie Error Rate.gnubg/analysis.c:458–462— Accumulation checker, exclusion des forcés (cMoves > 1).gnubg/analysis.c:1430–1474— Conversion EMG → MWC par décision.gnubg/analysis.c:1449–1464— Accumulation de la perte MWC (eq2mwc).gnubg/eval.c:5088–5100— PrédicatisCloseCubedecision(seuil 0.16).