13. Anhang: Statistikmodell — Abgleich XG / gnuBG / blunderDB
Diese Seite beschreibt, wie blunderDB den PR (Performance Rate), die Snowie Error Rate und den MWC-Verlust berechnet und wie diese Kennzahlen mit eXtreme Gammon (XG) und gnuBG (offene Referenz) abgeglichen sind.
13.1. Formale Definitionen
13.1.1. PR (Performance Rate)
Der PR (in gnuBG auch „error rate per decision“ genannt) misst den durchschnittlichen Fehler in Tausendstel eines Equity-Punkts (Millipoints, mpt) pro gezählter Entscheidung.
Der Zähler ist die absolute Summe der EMG-Fehler (Cubeful-Equity) über alle Entscheidungen im betrachteten Bereich.
Der Nenner \(N_\text{compté}\) ist die Anzahl der gezählten Entscheidungen (siehe unten).
Der Faktor 500 wandelt die Equity in Millipoints um (1 Punkt = 1000 mpt, die Skala ist jedoch nach XG/gnuBG-Konvention ×500 — vgl.
gnubg/formatgs.c:399–409).
13.1.2. Snowie Error Rate
Die Snowie ER verwendet denselben Zähler wie der PR, aber der Nenner ist die Gesamtzahl der Züge beider Spieler, einschließlich erzwungener Züge (alle Entscheidungen, ohne Filter):
Referenz: gnubg/formatgs.c:415–424.
Die Snowie ER ist über die verschiedenen Werkzeuge hinweg stabiler, da ihr Nenner nicht vom Filter für erzwungene/triviale Entscheidungen abhängt. Sie dient als Abgleichskennzahl zwischen XG, gnuBG und blunderDB.
Bemerkung
Die Snowie ER eines Spielers beträgt typischerweise etwa die Hälfte seines PR, da der Nenner die Züge beider Spieler einschließt, während der PR nur die Entscheidungen dieses Spielers verwendet.
13.1.3. MWC-Verlust (Match Winning Chance)
Der MWC-Verlust drückt die kumulierte Auswirkung der Fehler eines Spielers in Prozentpunkten der Match-Gewinnwahrscheinlichkeit aus. Für jede Entscheidung wird der EMG-Fehler über die MET (Match Equity Table) beim aktuellen Spielstand in MWC umgerechnet:
Referenz: gnubg/analysis.c:1449–1464.
13.2. Im PR-Nenner gezählte Entscheidungen
blunderDB folgt denselben Ausschlussregeln wie XG und gnuBG.
13.2.1. Steinzüge — gezählte Entscheidungen
Nur nicht erzwungene Züge werden gezählt:
Ein Zug ist erzwungen, wenn der Würfel nur einen einzigen legalen Zug zulässt (
cMoves == 1ingnubg/analysis.c:458).Erzwungene Züge haben definitionsgemäß einen Fehler von null: Der Spieler hatte keine Wahl. Sie in den Nenner einzubeziehen würde den PR künstlich senken.
13.2.2. Cube-Entscheidungen — gezählte Entscheidungen
Nur knappe Cube-Entscheidungen werden gezählt:
Eine Cube-Entscheidung ist knapp, wenn sie innerhalb des Equity-Fensters
[-0.16, +0.16]um den Verdopplungspunkt liegt (PrädikatisCloseCubedecisioningnubg/eval.c:5088–5100).Ein triviales „No Double“ (sehr negative oder sehr positive Equity) ist keine echte strategische Entscheidung; es einzubeziehen würde den Nenner aufblähen und den PR drücken.
13.2.3. Zusammenfassung des Filters
Entscheidungstyp |
Enthalten in \(N_\text{compté}\) (PR) |
|---|---|
Nicht erzwungener Zug |
Ja |
Erzwungener Zug |
Nein |
Knapper Cube |
Ja |
Triviales No Double |
Nein |
Take / Pass |
Immer (dies sind Antworten auf ein Double) |
13.3. Übereinstimmung blunderDB ↔ XG ↔ gnuBG
Die Kennzahlen sind innerhalb der folgenden Grenzen abgeglichen (gemessen an 3 Referenzmatches):
13.3.1. Vergleich XG ↔ blunderDB (gleiche Analyse-Engine)
Kennzahl |
Typische Abweichung |
|---|---|
Entscheidungen gesamt |
≤ 5 |
Nicht erzwungene Züge |
≤ 7 |
PR |
≤ 0.10 |
MWC-Verlust |
≤ 1.0 pp |
Gesamt-Equity (EMG) |
≤ 0.05 |
13.3.2. Vergleich gnuBG ↔ blunderDB (SGF-Import — unterschiedliche Engines)
Kennzahl |
Typische Abweichung | Hauptursache |
|
|---|---|---|
PR (Checker) |
≤ 0.20 |
Engine-übergreifende Equity-Unterschiede |
MWC-Verlust |
≤ 3.5 pp |
unvollständige Close-Cube-Daten im SGF |
Snowie ER |
≤ 0.50 |
erzwungene Züge ohne Analyse (SGF) |
Bemerkung
SGF-Dateien (gnuBG) enthalten keine Alternativen für erzwungene Züge, was bedeutet, dass blunderDB beim SGF-Import nicht alle erzwungenen Züge erkennen kann. Dies führt zu einer strukturellen Abweichung bei der Snowie ER (leicht abweichender Nenner).
13.4. Eigene Zahlen überprüfen
Wenn Ihre PR- oder MWC-Werte von den XG-Zahlen abweichen, prüfen Sie die folgenden Punkte:
Vollständige Analysen — Der PR kann nur für Positionen berechnet werden, die über eine Analyse verfügen. Positionen ohne Analyse zählen als Fehler null, gehen aber nicht in \(N_\text{compté}\) ein.
XG-Version — XG kann seine Berechnungen zwischen Versionen ändern. blunderDB orientiert sich am beobachteten Verhalten aktueller Versionen.
Importformat — gnuBG-SGF-Dateien führen zu größeren Abweichungen bei den Cube-Kennzahlen (siehe Tabelle oben), da die Datei keine vollständigen Analysen für alle Cube-Entscheidungen enthält.
Datenbankmigration — Nach einer Aktualisierung von blunderDB werden bestehende Datenbanken automatisch migriert. Erstellen Sie eine Sicherung, bevor Sie eine Datenbank mit einer neuen Version öffnen.
13.5. gnuBG-Referenz
Die Formeln wurden anhand der folgenden Quelldateien (gnuBG-Repository) überprüft:
gnubg/formatgs.c:399–409— PR („Error rate per decision“).gnubg/formatgs.c:415–424— Snowie Error Rate.gnubg/analysis.c:458–462— Checker-Akkumulation, Ausschluss erzwungener Züge (cMoves > 1).gnubg/analysis.c:1430–1474— Umrechnung EMG → MWC pro Entscheidung.gnubg/analysis.c:1449–1464— Akkumulation des MWC-Verlusts (eq2mwc).gnubg/eval.c:5088–5100— PrädikatisCloseCubedecision(Schwelle 0.16).