13. Приложение: Модель статистики — выравнивание XG / gnuBG / blunderDB

Эта страница описывает, как blunderDB вычисляет PR (Performance Rate), Snowie Error Rate и потерю MWC, и как эти метрики выровнены с eXtreme Gammon (XG) и gnuBG (открытый эталон).

13.1. Формальные определения

13.1.1. PR (Performance Rate)

PR (также называемый «error rate per decision» в gnuBG) измеряет среднюю ошибку в тысячных долях очка эквити (миллипоинты, mpt) на одно засчитанное решение.

\[\mathrm{PR} = \frac{\sum_i |\mathrm{error}_i|}{\mathrm{N_{counted}}} \times 500\]
  • Числитель — это сумма абсолютных значений ошибок EMG (cubeful equity) по всем решениям в периметре.

  • Знаменатель \(N_\text{compté}\) — количество засчитанных решений (см. ниже).

  • Множитель 500 переводит эквити в миллипоинты (1 очко = 1000 mpt, но шкала умножается на ×500 по соглашению XG/gnuBG — ср. gnubg/formatgs.c:399–409).

13.1.2. Snowie Error Rate

Snowie ER использует тот же числитель, что и PR, но знаменатель — это общее количество ходов обоих игроков, включая вынужденные ходы (все решения, без фильтрации):

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

Источник: gnubg/formatgs.c:415–424.

Snowie ER более стабилен между инструментами, поскольку его знаменатель не зависит от фильтрации вынужденных/тривиальных решений. Он служит перекрёстной метрикой между XG, gnuBG и blunderDB.

Примечание

Snowie ER игрока обычно составляет около половины его PR, так как знаменатель включает ходы обоих игроков, тогда как PR использует только решения данного игрока.

13.1.3. Потеря MWC (Match Winning Chance)

Потеря MWC выражает в процентных пунктах вероятности выигрыша матча суммарный эффект ошибок игрока. Для каждого решения ошибка EMG преобразуется в MWC через таблицу MET (Match Equity Table) при текущем счёте:

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

Источник: gnubg/analysis.c:1449–1464.

13.2. Засчитанные решения в знаменателе PR

blunderDB следует тем же правилам исключения, что XG и gnuBG.

13.2.1. Ходы шашками — засчитанные решения

Учитываются только невынужденные ходы:

  • Ход является вынужденным, если кости предлагают только один легальный ход (cMoves == 1 в gnubg/analysis.c:458).

  • Вынужденные ходы по определению имеют нулевую ошибку: у игрока не было выбора. Включение их в знаменатель искусственно занижало бы PR.

13.2.2. Решения по кубу — засчитанные решения

Учитываются только близкие решения по кубу:

  • Решение по кубу является близким, если оно находится в окне эквити [-0.16, +0.16] вокруг точки удвоения (предикат isCloseCubedecision в gnubg/eval.c:5088–5100).

  • Тривиальный «No Double» (очень отрицательное или очень положительное эквити) не является настоящим стратегическим решением; его включение раздуло бы знаменатель и занизило бы PR.

13.2.3. Сводка фильтра

Тип решения

Включён в \(N_\text{compté}\) (PR)

Невынужденный ход

Да

Вынужденный ход

Нет

Близкое решение по кубу

Да

Тривиальный No Double

Нет

Take / Pass

Всегда (это ответы на удвоение)

13.3. Соответствие blunderDB ↔ XG ↔ gnuBG

Метрики выровнены в следующих пределах (измерено на 3 эталонных матчах):

13.3.1. Сравнение XG ↔ blunderDB (один движок анализа)

Метрика

Типичное отклонение

Общее количество решений

≤ 5

Невынужденные ходы

≤ 7

PR

≤ 0.10

Потеря MWC

≤ 1.0 pp

Суммарное эквити (EMG)

≤ 0.05

13.3.2. Сравнение gnuBG ↔ blunderDB (импорт SGF — разные движки)

Метрика

Типичное отклонение

PR

≤ 0.20

расхождение эквити между движками

Потеря MWC

≤ 3.5 pp

неполные данные close-cube в SGF

Snowie ER

≤ 0.50

вынужденные ходы без анализа (SGF)

Примечание

Snowie ER

13.4. Проверка собственных данных

PR

  1. PR

  2. Версия XG — XG может менять расчёты между версиями. blunderDB выровнен с поведением, наблюдаемым в последних версиях.

  3. Формат импорта — файлы SGF gnuBG дают более значительные расхождения по кубу (см. таблицу выше), поскольку файл не включает полные анализы для всех решений по кубу.

  4. Миграция базы данных — После обновления blunderDB существующие базы данных мигрируются автоматически. Сделайте резервную копию перед открытием базы данных с новой версией.

13.5. Ссылки gnuBG

Формулы проверены в следующих исходных файлах (репозиторий gnuBG):

  • PR

  • Snowie Error Rate

  • gnubg/analysis.c:458–462 — Накопление ходов шашками, исключение вынужденных (cMoves > 1).

  • gnubg/analysis.c:1430–1474 — Преобразование EMG → MWC по каждому решению.

  • Источник: gnubg/analysis.c:1449–1464.

  • Решение по кубу является близким, если оно находится в окне эквити [-0.16, +0.16] вокруг точки удвоения (предикат isCloseCubedecision в gnubg/eval.c:5088–5100).