13. Liite: Tilastomalli — XG / gnuBG / blunderDB -yhdenmukaisuus

Tällä sivulla kuvataan, kuinka blunderDB laskee PR-arvon (Performance Rate), Snowie Error Rate -arvon ja MWC-tappion, ja kuinka nämä mittarit on yhdenmukaistettu eXtreme Gammonin (XG) ja gnuBG:n (avoin viite) kanssa.

13.1. Muodolliset määritelmät

13.1.1. PR (Performance Rate)

PR (gnuBG:ssä myös nimellä ”error rate per decision”) mittaa keskimääräistä virhettä equity-pisteen tuhannesosina (millipisteet, mpt) laskettua päätöstä kohden.

\[\mathrm{PR} = \frac{\sum_i |\mathrm{erreur}_i|}{\mathrm{N_{compté}}} \times 500\]
  • Osoittaja on EMG-virheiden (cubeful equity) itseisarvojen summa kaikkien tarkasteltavien päätösten yli.

  • Nimittäjä \(N_\text{compté}\) on laskettujen päätösten määrä (katso alla).

  • Kerroin 500 muuntaa equityn millipisteiksi (1 piste = 1000 mpt, mutta asteikko on ×500 XG/gnuBG-käytännön mukaisesti — vrt. gnubg/formatgs.c:399–409).

13.1.2. Snowie Error Rate

Snowie ER käyttää samaa osoittajaa kuin PR, mutta nimittäjä on molempien pelaajien siirtojen kokonaismäärä, pakkosiirrot mukaan luettuna (kaikki päätökset, ilman suodatusta):

\[\mathrm{SnowieER} = \frac{\sum_i |\mathrm{erreur}_i|}{N_\text{P1} + N_\text{P2}} \times 500\]

Viite: gnubg/formatgs.c:415–424.

Snowie ER on vakaampi eri työkalujen välillä, koska sen nimittäjä ei riipu pakotettujen/triviaalien päätösten suodattimesta. Se toimii ristiintarkistusmittarina XG:n, gnuBG:n ja blunderDB:n välillä.

Muista

Pelaajan Snowie ER on tyypillisesti noin puolet hänen PR-arvostaan, koska nimittäjä sisältää molempien pelaajien siirrot, kun taas PR käyttää vain kyseisen pelaajan päätöksiä.

13.1.3. MWC-tappio (Match Winning Chance)

MWC-tappio ilmaisee ottelun voittotodennäköisyyden prosenttiyksikköinä pelaajan virheiden kumulatiivisen vaikutuksen. Jokaisen päätöksen kohdalla EMG-virhe muunnetaan MWC:ksi MET-taulukon (Match Equity Table) avulla nykyisellä pistetilanteella:

\[\mathrm{MWCLoss} = \sum_i \mathrm{eq2mwc}(\mathrm{erreur}_i, \mathrm{score}_i)\]

Viite: gnubg/analysis.c:1449–1464.

13.2. PR:n nimittäjässä lasketut päätökset

blunderDB noudattaa samoja poissulkemissääntöjä kuin XG ja gnuBG.

13.2.1. Nappulasiirrot — lasketut päätökset

Vain pakottamattomat siirrot lasketaan:

  • Siirto on pakotettu, jos nopat tarjoavat vain yhden laillisen siirron (cMoves == 1 tiedostossa gnubg/analysis.c:458).

  • Pakotetuilla siirroilla on määritelmän mukaan nollavirhe: pelaajalla ei ollut valinnanvaraa. Niiden sisällyttäminen nimittäjään laskisi PR-arvoa keinotekoisesti.

13.2.2. Tuplauskuution päätökset — lasketut päätökset

Vain läheiset kuutiopäätökset lasketaan:

  • Kuutiopäätös on läheinen, jos se sijaitsee equity-ikkunassa [-0.16, +0.16] tuplauspisteen ympärillä (predikaatti isCloseCubedecision tiedostossa gnubg/eval.c:5088–5100).

  • Triviaali ”No Double” (hyvin negatiivinen tai hyvin positiivinen equity) ei ole aito strateginen päätös; sen sisällyttäminen kasvattaisi nimittäjää ja laskisi PR-arvoa.

13.2.3. Suodattimen yhteenveto

Päätöksen tyyppi

Sisältyy lukuun \(N_\text{compté}\) (PR)

Pakottamaton siirto

Kyllä

Pakotettu siirto

Ei

Läheinen kuutio

Kyllä

Triviaali No Double

Ei

Take / Pass

Aina (nämä ovat vastauksia tuplaukseen)

13.3. Vastaavuus blunderDB ↔ XG ↔ gnuBG

Mittarit on yhdenmukaistettu seuraavien rajojen sisällä (mitattu 3 viiteottelusta):

13.3.1. Vertailu XG ↔ blunderDB (sama analyysimoottori)

Mittari

Tyypillinen ero

Päätöksiä yhteensä

≤ 5

Pakottamattomat siirrot

≤ 7

PR

≤ 0.10

MWC-tappio

≤ 1.0 pp

Kokonaisequity (EMG)

≤ 0.05

13.3.2. Vertailu gnuBG ↔ blunderDB (SGF-tuonti — eri moottorit)

Mittari

Tyypillinen ero | Pääsyy

PR (nappulat)

≤ 0.20

equity-erot eri moottorien välillä

MWC-tappio

≤ 3.5 pp

puutteelliset läheisten kuutioiden tiedot SGF:ssä

Snowie ER

≤ 0.50

pakotetut siirrot ilman analyysiä (SGF)

Muista

SGF-tiedostot (gnuBG) eivät sisällä vaihtoehtoja pakotetuille siirroille, mikä tarkoittaa, ettei blunderDB pysty tunnistamaan kaikkia pakotettuja siirtoja SGF:ää tuotaessa. Tämä aiheuttaa rakenteellisen eron Snowie ER:ssä (hieman erilainen nimittäjä).

13.4. Omien lukujen tarkistaminen

Jos PR- tai MWC-arvosi poikkeavat XG:n luvuista, tarkista seuraavat seikat:

  1. Täydelliset analyysit — PR voidaan laskea vain asemille, joilla on analyysi. Ilman analyysiä olevat asemat lasketaan nollavirheinä, mutta ne eivät sisälly lukuun \(N_\text{compté}\).

  2. XG-versio — XG saattaa muuttaa laskentaansa versioiden välillä. blunderDB on yhdenmukaistettu viimeaikaisissa versioissa havaitun käyttäytymisen kanssa.

  3. Tuontimuoto — gnuBG:n SGF-tiedostot tuottavat suurempia eroja kuutiomittareissa (katso yllä oleva taulukko), koska tiedosto ei sisällä täydellisiä analyysejä kaikille kuutiopäätöksille.

  4. Tietokannan migraatio — blunderDB:n päivityksen jälkeen olemassa olevat tietokannat migratoidaan automaattisesti. Tee varmuuskopio ennen tietokannan avaamista uudella versiolla.

13.5. gnuBG-viite

Kaavat on todennettu seuraavista lähdetiedostoista (gnuBG-arkisto):

  • gnubg/formatgs.c:399–409 — PR (”Error rate per decision”).

  • gnubg/formatgs.c:415–424 — Snowie Error Rate.

  • gnubg/analysis.c:458–462 — Nappulasiirtojen kertymä, pakotettujen siirtojen poissulkeminen (cMoves > 1).

  • gnubg/analysis.c:1430–1474 — Päätöskohtainen EMG → MWC -muunnos.

  • gnubg/analysis.c:1449–1464 — MWC-tappion kertymä (eq2mwc).

  • gnubg/eval.c:5088–5100isCloseCubedecision-predikaatti (kynnys 0.16).