Статистика
Панель Stats
Введение
Панель Stats позволяет анализировать уровень игры и отслеживать прогресс во времени на основе позиций, импортированных в базу данных. Вычисляет и отображает PR (Performance Rating) и MWC cost (Match Winning Chance cost) для всех позиций или отфильтрованного подмножества.
Панель Stats особенно полезна для:
определения своего уровня относительно полос уровня (Мировой класс, Эксперт, Продвинутый…) с помощью общего PR;
отслеживания прогресса от турнира к турниру или от матча к матчу с помощью графиков вкладки Progression;
выявления слабых мест: вкладка Erreurs отображает соотношение ходов шашками и решений куба, а также распределение величин ошибок;
сравнивать игроков базы между собой, по строке на игрока, во вкладке «Игроки» — удобно, когда следишь за целым турниром;
прямого перехода к соответствующим позициям щелчком по любому показателю (drill-down).
Определение, формула, неопределённость и ограничения каждого числа панели собраны в Метрики и инструменты для изучения.
Открытие панели
Для открытия панели Stats:
Нажмите CTRL-D.
Введите команду
statsилиstв командной строке.
Примечание
Панель автоматически обновляется при каждом изменении фильтра. При простом переключении PR ↔ MWC статистика не пересчитывается: обе метрики вычисляются одновременно на стороне сервера.
Панель фильтров
Панель фильтров в верхней части панели позволяет ограничить вычисление подмножеством позиций.
Перспектива игрока
Поле Игрок фильтрует статистику по анализируемому игроку. Ввод нескольких букв сужает список до содержащих их имён; щелчок или Enter выбирает игрока, ✕ или опустошённое поле возвращает все перспективы.
Фильтр единый для всех вкладок панели и сохраняется от сеанса к сеансу. Его можно задать и из других панелей: имя игрока в заголовке матча или в строке над доской открывает всю его статистику (турниры и даты очищаются), а кнопка Stats в заголовке турнира открывает статистику всего этого турнира (даты очищаются, игрок сохраняется). Дата окончания раньше даты начала отклоняется: поле возвращает применённую дату.
Доступные фильтры
Турнир(ы) — ограничение одним или несколькими турнирами. Можно одновременно выбрать несколько турниров.
Даты — временной диапазон (От … До). Если указана только начальная дата, включаются более поздние позиции.
Тип решения — Все / Ходы шашками / Решения куба.
Длина матча — ограничение конкретными длинами матча (1, 3, 5, 7, 9, 11, 13, 15, 21 очко). Можно комбинировать несколько длин.
Движок и Мин. глубина — оставить только решения, проанализированные данным движком или как минимум на данной глубине, в плаях. Меню Движок предлагает движки, присутствующие в анализах базы (eXtreme Gammon, GNU Backgammon…).
Кнопка ↺ Сбросить сбрасывает все фильтры, кроме игрока.
Примечание
Фильтры сохраняются в конфигурации blunderDB (config.yaml) и восстанавливаются при следующем запуске.
Переключение PR / MWC
Кнопка PR / MWC в верхней части панели переключает отображаемую метрику во всех вкладках.
PR (Performance Rating)
Средняя ошибка эквити на учитываемое решение, умноженная на 500, как это делают eXtreme Gammon и GNUbg: PR 5,0 соответствует 0,010 потерянного эквити на решение, то есть 10 миллипунктам (mpt). Точное правило подсчёта — какие решения входят в знаменатель, как пересчитывается счёт — приведено в PR (Performance Rating).
Полосы уровня, которые панель рисует за кривой прогресса, — это ориентир, принятый в самом blunderDB: ни одна публикация не устанавливает эти пороги авторитетно. Верхняя граница каждой полосы не включается: PR, равный 4, — это Продвинутый, а не Эксперт.
Уровень
PR
Мировой класс
< 2
Expert
2 – 4
Продвинутый
4 – 6
Средний
6 – 9
Любитель
9 – 12
Начинающий
≥ 12
MWC cost (Match Winning Chance cost)
Накопленная вероятность победы в матче, утраченная из-за ошибок, по всему отфильтрованному набору данных. Вычисляется по текущей MET базы, по умолчанию Kazaross-XG2, встроенной в blunderDB. Анализ при счёте матча, вычисленный с другой таблицей, считается «другой MET» и остаётся вне статистики.
Осторожно
MWC cost не применяется к позициям money-game (без ставки матча). Эти позиции исключаются из вычисления MWC. Значения MWC зависят от используемой MET; они не сопоставимы напрямую между программами, использующими разные MET.
Потери MWC (экв. 7 очков)
Вероятность выиграть матч, потерянная игроком по всем его решениям — ходы фишками, куб, принятие или отказ, с кубом — приведённая к матчу до 7 очков. Для матча до N очков, в котором игрок потерял L MWC:
L₇ = L × √(7 / N)
Для матча до 7 очков это потери MWC матча, те, что показывает eXtreme Gammon. Корень происходит из модели формулы FIBS: при равной силе потери игрока растут как корень из длины матча. 7 очков — опорная длина, потому что она самая распространённая на турнирах.
Читается как доля матча, потерянная против идеального игрока: 12,3 % означает, что вместо 50 % шансов против движка у игрока осталось лишь 37,7 % в матче до 7 очков. Подсказка даёт то же в Эло против движка, обращая формулу FIBS: D = (2000 / √7) × log₁₀(q / (1 − q)), где q = 0,5 − L₇. При потерях свыше 49 % формула не имеет конечного значения: показанное Эло тогда является верхней границей («≤»). Оба числа упорядочивают игроков одинаково.
Дополняет PR, не заменяя его: PR делит ошибки на число решений, а это число зависит от того, что считать решением (вынужденные ходы, очевидные решения по кубу). Потери MWC не считают решений: каждая ошибка весит столько, сколько она стоила при счёте, на котором была сделана.
По нескольким матчам (статистика игрока или турнира) потери и корни длин суммируются до взятия отношения: L₇ = √7 × ΣL / Σ√N. Матч до 7 очков весит больше, чем матч до 1 очка, а один-единственный матч даёт своё собственное значение.
Отдельный матч очень шумный: нескольких крупных ошибок хватает, чтобы значение изменилось вдвое. Значок и итоги матча (итоги матча) дают 95-процентный интервал повторной выборкой его партий; агрегат (статистика игрока или турнира) даёт его повторной выборкой своих матчей; без фильтра по игроку два места матча образуют одну единицу, поскольку они играют одни и те же позиции. Нужно как минимум три партии или три матча, и они не должны давать одну и ту же потерю: иначе интервала нет. Поэтому у строки статистики по матчу его нет: это одна единица. Не ранжируйте игроков по одному матчу.
Осторожно
У партии money-game нет длины матча: потери MWC (экв. 7 очков) для неё не определены, и панель сообщает об этом вместо числа. Как и стоимость MWC, они зависят от MET.
Третий вариант кнопки, MWC 7 pts, строит эту потерю на вкладке «Прогресс» и показывает её на карточках панели и в сравнении фишки/куб на вкладке «Ошибки», разделённой на фишки и куб по тем же матчам (две части складываются). У рейтинга игроков есть свой столбец. Графики без эквивалента на 7 очков (по действию с кубом) сохраняют MWC cost.
Переключение PR ↔ MWC мгновенное: перерасчёт на стороне сервера не выполняется.
Отчёт в HTML
Кнопка Отчёт HTML в заголовке панели создаёт самодостаточный документ: один файл, без внешних изображений, без удалённых стилей, без скриптов. Диаграммы — встроенный SVG, нарисованный тем же движком, что и доска на экране, с вашей палитрой. Он открывается в любом браузере, уходит по почте и печатается в PDF самим браузером — что избавляет от встраивания генератора PDF ради того, что и так есть у всех.
В нём — показатели текущего объёма (позиции, матчи, учтённые решения, общий PR, PR ходов и куба), затем десять самых дорогих решений, каждое со своей диаграммой, стоимостью, матчем, откуда оно взято, и лучшим ходом, если анализ его даёт.
Документ строит движок, а не экран: командная строка (stats report --html, см. stats — Повторяющиеся ошибки) и HTTP-демон (маршрут stats.report) создают один и тот же отчёт на одном из девяти языков интерфейса. Диаграммы с палитрой доски рисует только графическое приложение; остальные два используют палитру по умолчанию.
Отчёт несёт текущий фильтр панели статистики. Отчёт, не называющий свой объём, — это отчёт, цифры которого ничего не значат: настройте фильтр — турнир, диапазон дат, игрока — прежде чем его создавать.
Вкладка Сводка
Вкладка Сводка даёт обобщённый вид ключевых показателей. Она читается сверху вниз: карточки уровня, затем то, над чем работают (план обучения, top blunders), затем выводы (скользящий PR, до/после обучения, знаковые смещения). Объяснение каждой карточки находится во всплывающей подсказке её заголовка.
Вкладка Сводка: общий PR, PR по шашкам, PR по кубу.
Карточки уровня
Три карточки отображают PR (или MWC) для:
PR Общий — все решения (ходы + куб);
PR по шашкам — только решения по ходам;
PR Куб — только решения по кубу.
Щелчок по карточке загружает в панель анализа позиции соответствующего подмножества (drill-down). Четвёртая карточка, Потеря MWC (экв. 7 очков), показывает эту потерю независимо от выбора кнопки PR / MWC, с её интервалом; она ничего не загружает.
Под карточками строка итогов считает турниры, матчи и решения фильтра. Число турниров открывает эти турниры в панели «Турниры»: единственный турнир открывается сразу; несколько ограничивают список, на котором тогда появляется кнопка « N турниров открыто из статистики × »: она возвращает полный список.
Число решений открывает их позиции; число матчей открывает эти матчи в панели «Матчи», кроме случая, когда активен тип решения или фильтр происхождения: тогда оно считает меньше матчей, чем открыл бы список, и остаётся простым числом.
Примечание
Общее количество решений отображается внизу каждой карточки при наведении.
План обучения
Карточка План обучения отвечает на вопрос «над чем мне работать сейчас?». Повторяющиеся ошибки (вкладка Erreurs) показывают, где фильтр потерял больше всего; они не показывают, где учёба приносит больше всего. Семейство действительно трудных позиций дорого обходится всем, а три ошибки ещё не тенденция. План исправляет и то и другое.
Семейство — это группа повторяющихся ошибок: план игры, характер решения (шашки или куб) и тема. Ошибки без темы семейства не образуют: они не указывают ни на что, что стоило бы изучать.
Каждая ошибка оценивается в MWC, как в панели Match: её потеря ℓ и её сложность d — потеря, которую понёс бы эталонный игрок в той же позиции (см. сложность по решениям в панели Match). У ошибки в свободной партии нет MWC: она лишь подсчитывается как «без оценки».
Возвратимый MWC семейства — это сумма ℓ − d по его ошибкам: частота семейства, умноженная на среднюю потерю сверх сложности. Это то, что вы вернули бы, играя эти позиции как эталонный игрок. Семейство устранимых ошибок поднимается, семейство позиций, где ошибаются все, опускается.
Каждую цифру сопровождает 95-процентный интервал. Семейство попадает в план начиная с 5 ошибок и при интервале, целиком лежащем выше нуля; план упорядочен по нижней границе интервала, так что при равном возвратимом выше оказывается лучше обоснованное семейство. Остальные названы под списком, требуют подтверждения, без ранга: план не толкает вас к шуму. Та же строка считает ошибки вне плана (без темы, без оценки).
Каждая строка плана показывает свой ранг, семейство, полосу, длина которой равна его возвратимому MWC относительно MWC первого семейства, этот MWC с его интервалом и число ошибок. Каждое число позиций в плане (по семействам, к подтверждению, вне плана) кликабельно: оно загружает в список именно эти позиции.
Каждое семейство предлагает три действия: Изучить открывает очередь изучения по его позициям, сначала с наибольшим отставанием от эталонного игрока; Викторина запускает упражнение «Решение» панели Тренировка на двадцати из них; Anki делает из них колоду карточек. В верхней части карточки Викторина по трём первым семействам берёт двадцать позиций из позиций трёх ведущих семейств. План следует фильтру панели: задайте игрока, чтобы получить свой план. В командной строке: blunderdb stats plan (см. stats — Повторяющиеся ошибки).
До/после обучения
Карточка До/после обучения замыкает цикл плана: стоит ли вам то, над чем вы работали, меньше в настоящих матчах? Без неё обучение оценивают на глаз; с ней семейство, которое не сдвигается несмотря на работу, говорит, что пора менять метод, а семейство в прогрессе может уступить своё место в плане.
Семейство (из плана) считается изученным с даты первого учебного действия над одной из его позиций: отметка «изучено» в очереди обучения, повторение в Anki, ответ в квизе. Создание карточки или помещение позиции в коллекцию не считается.
Для каждого изученного семейства карточка сравнивает два окна: матчи, сыгранные до этого дня, и матчи после него (сам день исключён). В каждом уровень потерь — это MWC, потерянный из-за ошибок семейства, по отношению ко всем решениям того же плана игры и того же характера; он показан в пунктах MWC на 100 решений.
Выигрыш — это уровень до минус уровень после, с его 95-процентным интервалом. Вердикт «улучшение» (или «ухудшение») выносится, только если в каждом окне не менее 30 решений и интервал исключает ноль; иначе остаётся «не определено» или «слишком мало решений».
Рядом с каждым окном столбец Позиции считает различные позиции его решений и открывает их щелчком; число в скобках остаётся числом решений, знаменателем доли.
Это изменение, а не эффект: семейство изучают, потому что оно стоило дорого, и часть выигрыша — регрессия к среднему; ничто не учитывает соперников, формат и кости. В командной строке: blunderdb stats effect (см. stats — Повторяющиеся ошибки).
Знаковые смещения
Карточка Знаковые смещения показывает, в какую сторону вы ошибаетесь, а не только насколько. «Вы слишком много принимаете» исправляется лучше, чем PR: правило для пересмотра названо. Каждое смещение — это доля ошибочных решений в одну сторону минус доля ошибочных в другую, с 95-процентным интервалом; склонность называется только начиная с 20 решений и при интервале, исключающем ноль.
Принятие / отказ — по ответам на куб: ошибочные принятия (бот отказывается) минус ошибочные отказы (бот принимает). Это в точности ваша доля принятий минус доля бота на тех же позициях.
Удвоения — по решениям об удвоении: преждевременные удвоения (бот не удваивает или позиция слишком хороша для удвоения) минус упущенные удвоения. То же смещение дано по счёту (ваш away, away соперника, счёт после Кроуфорда считается как 1 очко; свободная партия в отдельной ячейке) для счетов с достаточным числом решений.
Блоты — по ходам шашек с контактом: ходы, оставляющие больше блотов, чем лучший ход, минус ходы, оставляющие меньше. Ход узнаётся по доске, которую он оставляет, как бы он ни был записан («13/7(2)», «8/5*/4»); ход, который генератор ходов по-прежнему не умеет воспроизвести, отбрасывается, а доля отброшенных ходов указана под таблицей. Смещение считает блоты, не взвешивая их уязвимость: блот вне досягаемости считается так же, как открытый.
Рядом с каждым счётом его цена в миллипунктах показывает, обходится ли склонность дорого; позиция, сыгранная в нескольких матчах, учитывается в них с ходом, сыгранным в каждом. Смещения следуют фильтру панели. В командной строке: blunderdb stats biases (см. stats — Повторяющиеся ошибки).
За каждым числом решений (всех, в одну сторону, в другую) следует столбец Позиции: различные позиции этих решений, которые открывает щелчок. Позиция, сыгранная в нескольких матчах, даёт по одному решению на матч, но одну позицию.
Скользящий PR за последние N решений
Строка значений PR (или MWC), вычисленных по последним N решениям (N = 5, 10, 50, 100, 250, 500, 1000), позволяет оценить последнюю тенденцию. Серые значения соответствуют N, превышающему количество доступных решений.
Щелчок по значению загружает соответствующие последние N позиций.
Топ грубых ошибок
Список 10 худших ошибок (или MWC cost), отсортированных по убыванию величины. Щелчок по строке загружает соответствующую позицию в панель анализа.
Вкладка Progression
Вкладка Progression показывает динамику уровня игры во времени.
В начале вкладки — цель: «PR < 5 за двенадцать недель». Цель, срок и тенденция, говорящая, куда вы идёте, — и ничего больше. Цель, которая начала бы оценивать, поздравлять или напоминать, была бы другой функцией, не этой.
Кнопка Предложить подсказывает цель исходя из текущего уровня: нижнюю границу вашей полосы, то есть вход в следующую. Предлагать «чуть лучше» было бы ни к чему не привязано; предложить ступень — уже что-то: переход из среднего в продвинутый виден и о нём можно рассказать.
Тенденция — это подгонка методом наименьших квадратов по PR ваших матчей, спроецированная на срок. Она отказывается высказываться менее чем по трём матчам: провести прямую между двумя точками значило бы утверждать то, что не удержишь. И фраза говорит это каждый раз — тенденция не есть предсказание.
Цель хранится в метаданных базы, а не в конфигурации: она относится к этой библиотеке и потому следует за файлом, а не за машиной. Схема не меняется: metadata уже таблица ключей и значений, читаемая и blunderdb info, и демоном.
График по турнирам
Линейный график показывает PR (или MWC) каждого турнира: одна точка на турнир, подписанная его названием, в хронологическом порядке его даты — а при её отсутствии даты самого раннего матча (ось Y: значение метрики). Цветные полосы отмечают пороги уровней.
Щелчок по точке графика открывает контекстное меню с двумя вариантами:
Открыть турнир — открывает турнир в панели Tournois.
Открыть позиции — загружает все позиции турнира в панель анализа.
Диаграмма рассеяния по матчам
Точечная диаграмма представляет каждый матч (ось X: дата, ось Y: PR или MWC). Размер точки пропорционален числу решений в матче. Матч без даты на ней не отображается.
Щелчок по точке открывает контекстное меню:
Открыть партию — открывает матч в панели матчей.
Открыть позиции — загружает все позиции матча в панель анализа.
Вкладка Erreurs
Вкладка Erreurs разбивает источники ошибок.
Вкладка Errors: распределение PR по действиям с кубом.
Повторяющиеся ошибки
В верхней части вкладки таблица группирует ошибки текущего фильтра — то есть одного игрока, если выбран игрок, — по плану игры и по теме, начиная с самой дорогой. Она отвечает на вопрос «где я теряю больше всего?»: например, «удержание · слишком много блотов».
Ошибка — это учитываемое решение, стоимость которого достигает порога Ошибка библиотеки.
План игры — это план игрока, чей ход, в том виде, в каком его показывает вкладка Разбивки.
Тема хода фишками — та, которую называют правила поясняющей фразы панели анализа: недооценённый гаммон, слишком много блотов, не сделанный пункт, слишком пассивно. Тема решения по кубу — это направление ошибки, как в направлении ошибок с кубом ниже: пропущенное удвоение, преждевременное удвоение, ошибочный пас, ошибочное принятие.
Ошибка, которую ни одно правило не называет уверенно, не угадывается: она выходит из рейтинга и появляется отдельно, под таблицей, одной строкой на каждый план игры («тема не определена: N ошибок, стоимость X»), тоже с возможностью щелчка. Этот остаток часто самый тяжёлый, потому что пояснение высказывается только от 60 mp, выше порога Ошибка: будучи ранжирован вместе с остальными, он возглавил бы таблицу, которая ничего не говорит.
Стоимость — доля PR фильтра, которую составляет группа: формула PR, применённая к ошибкам группы и отнесённая ко всем учитываемым решениям. Поэтому стоимость групп никогда не превышает PR.
Щелчок по группе или по числу её ошибок загружает её позиции — от самой дорогой к наименее дорогой. Тема пересчитывается при каждом показе и никогда не сохраняется: как и план игры, это производная метка, которую нельзя изменить. В командной строке: blunderdb stats recurring (см. stats — Повторяющиеся ошибки).
Каждая строка предлагает три действия, чтобы перейти от ошибки к изучению: Викторина по этой группе запускает упражнение «Решение» панели Тренировка на позициях группы, Колода Anki делает из них колоду карточек, Коллекция помещает их в новую коллекцию. Над таблицей Викторина по трём худшим группам случайно выбирает двадцать позиций из позиций трёх самых затратных групп. В командной строке stats recurring --quiz выбирает эти позиции, а --deck создаёт колоду.
Разбивка по действиям куба
Столбчатая диаграмма отображает PR (или MWC) для каждого типа решения куба: NoDouble, DoubleTake, DoublePass, TooGood. Каждый столбец также показывает количество решений и долю грубых ошибок в подсказке.
Щелчок по столбцу загружает позиции, соответствующие этому действию куба, только те, в которых была ошибка (drill-down).
Направление ошибок с кубом
Разбивка выше говорит, сколько стоят решения по кубу; эта таблица говорит, в какую сторону они ошибаются.
Позиция с кубом несёт два решения, принимаемые двумя разными игроками; здесь они показаны двумя строками:
Предложить — игрок, владеющий кубом, даблит или нет. Его ошибки — упущенные даблы (надо было даблить) и преждевременные даблы (не надо было).
Ответить — игрок, которому предлагают куб, берёт или пасует. Его ошибки — ошибочные пассы (правильный тейк был спасован) и ошибочные тейки (правильный пасс был взят).
Две строки намеренно разделены: игрок вполне может доблить поздно и брать широко, а единый показатель назвал бы это «сбалансированным», потеряв обе половины сведений.
В каждой ячейке — число решений; всплывающая подсказка даёт суммарно потерянную эквити. Щелчок по ячейке загружает соответствующие позиции. Ячейка с нулём не кликабельна.
Примечание
Эта таблица считает решения, а не выносит суждения. С какого расхождения тенденцию стоит называть тенденцией, зависит от объёма выборки и от точки отсчёта, а это не данные движка.
Сравнение Checker / Cube
Сравнительная диаграмма размещает рядом PR ходов шашками и решений куба. Щелчок по столбцу загружает позиции подмножества с ошибкой.
Гистограмма величин ошибок
Гистограмма распределяет ошибки по их величине в миллипунктах (mpt, диапазоны: 0–5, 5–10, 10–25, 25–50, 50–100, ≥ 100). Щелчок по столбцу загружает позиции данного диапазона.
Тренировка во времени
Вкладка Тренировка ставит рядом, на одних и тех же календарных окнах — неделя или месяц, по выбору — три ряда, измеряющих прогресс тремя путями:
PR викторины: PR сессий упражнения «Решение» панели Тренировка, взвешенный по числу оценённых решений. Он вычисляется по шкале реального PR, поэтому сопоставим с ним;
PR матчей текущего фильтра, взвешенный по числу решений;
удержание Anki: доля повторений уже выученных карточек с оценкой Трудно или выше, по правой оси (в %).
Под графиком PR викторины по плану игры перечисляет решения викторины по позициям библиотеки, сначала худшие планы, с PR последнего окна, в котором играли этот план.
В скобках — число решений или повторений за каждым значением: у окна без выборки нет значения — прочерк, а не ноль. Число решений по матчам окна открывает их позиции. Фильтр ограничивает только матчи; журналы викторины и Anki — ваши и не содержат игрока. Ничего дополнительно не записывается: три ряда считываются из существующих журналов. В командной строке: blunderdb stats training (см. stats — Повторяющиеся ошибки).
Вкладка Разбивки
Вкладка Разбивки делит те же решения, что считают общие цифры, по четырём осям. Ни одна из них не переопределяет, что считается решением: это был бы второй PR под тем же именем.
По фазе игры — дебют, миттельшпиль, гонка, снятие шашек. Именно это отвечает на «мой PR в гонке против моего PR в контакте». Метка вычисляется по доске (см. Панель поиска); база, фазы которой никогда не вычислялись, относит всё к Не классифицировано, и
blunderdb repairеё заполняет.По плану игры — гонка, блиц, якорь, бэкгейм, прайм против прайма… Это та разбивка, ради которой классификатор и существует: «где я теряю больше всего?», план за планом. Та же производная метка, что и фаза, те же оговорки, и
blunderdb repairзаполняет её так же.По метке —
#слово, написанные в комментариях. Позиция может нести несколько: эти строки не складываются в итог, и панель говорит об этом под таблицей. Метка характеризует, она не разбивает на части.По счёту — недостающие очки обеих сторон, прочитанные со стороны ходящего, то есть со стороны того, кто решает. Строка Money — игра на деньги. Ячейка менее чем с десятью решениями показана серым, с видимым количеством, а не скрыта: слишком мало, чтобы читать, но пропуск остаётся проверяемым.
Столбцы Позиции и Грубые ошибки считают различные позиции, и каждая цифра является ссылкой: щелчок загружает именно эти позиции в панель анализа, как счётчики строки состояния. Грубые ошибки считают позиции, где хотя бы одно решение является грубой ошибкой. Позиция, сыгранная в нескольких матчах (например, дебют), считается здесь один раз; столбец Решения считает её каждый раз, потому что это знаменатель PR.
Каждая строка несёт свой 95-процентный доверительный интервал (столбец 95 % ДИ), который заменяет фиксированный порог в десять решений: он говорит, чего стоит PR, а не только сколько решений за ним стоит. Он делает повторную выборку матчей выбора, а не решений и не партий: партии матча делят соперника, сессию и усталость, и считать их независимыми дало бы слишком узкий интервал; без фильтра по игроку два места матча образуют одну единицу. Строка, опирающаяся менее чем на три матча или такая, у которой все матчи дают один и тот же PR, не имеет интервала и затенена, даже при множестве решений: два матча ничего не говорят о разбросе, а одинаковые матчи говорят лишь о том, что они согласуются, а не о том, что PR точен. Для обучения: семейство позиций, интервал которого остаётся выше вашего общего PR, — установленная слабость; строка с широким интервалом ещё не оправдывает план занятий. Общий PR панели несёт тот же интервал под своей карточкой.
Примечание
В разбивке по счёту счёт после Кроуфорда читается как 1-away: партия Кроуфорда и партии после Кроуфорда при том же счёте попадают в одну и ту же ячейку.
Учёба и реальная игра
Команда blunderdb list --type study --days 30 ставит рядом три числа, план за планом: сколько различных позиций было повторено за период, каким был PR до него, каков PR с тех пор.
Три числа, и никакого четвёртого. Нет ни колонки выигрыша, ни стрелки, потому что здесь ничто ни на что не контролируется: игрок мог встретить более сильных соперников, сменить формат или просто сыграть больше гонок в этом месяце. Сопоставление — дело читателя; колонка, объявляющая эффект, утверждала бы причинность, которой эти данные не несут. Сами же числа точны.
Повторения считаются в различных позициях: карточка, повторённая четыре раза за месяц, — это одна изученная позиция, а счёт повторений превратил бы месяц зубрёжки в месяц охвата. Решения же PR считаются все — каждое было принято один раз. PR, опирающийся менее чем на десять решений, показывается как —, с видимой рядом выборкой.
Вкладка «Игроки»
Пять предыдущих вкладок описывают одного игрока; вкладка Игроки сравнивает всех. Она показывает строку на каждого игрока базы, что отвечает потребности организатора, следящего за целым соревнованием, а не за отдельным игроком.
Вкладка Players: одна строка на игрока, сортируемая по любому столбцу.
Столбцы по порядку:
Столбец |
Значение |
|---|---|
Игрок |
Имя в том виде, в каком оно записано в матчах. Игрок, записанный в двух написаниях, появляется в двух строках, если только одно не является алиасом другого (раздел «Корпус» настроек): тогда строка несёт каноническое имя. |
Матчи |
Число матчей, сыгранных в выбранный период. |
П–Пр |
Победы и поражения. Незавершённый матч (обрезанный журнал, отказ от игры) не идёт ни в те, ни в другие: П + Пр может быть меньше числа матчей. |
Решения |
Число учтённых решений — знаменатель PR. Именно этот столбец говорит, чего стоят соседние показатели: PR, посчитанный по двенадцати решениям, не значит ничего. |
PR |
Общий Performance Rating. |
PR шашек, PR куба |
PR в разбивке по типу решения. |
Snowie |
Snowie Error Rate (см. Приложение: Модель статистики — выравнивание XG / gnuBG / blunderDB). |
Бландеры |
Число ошибок, достигающих порога бландера библиотеки (по умолчанию 0,100 EMG). Щелчок по этому числу загружает эти позиции в панель анализа. |
Удача |
Средняя удача за бросок, в миллипунктах (mpt), со знаком: положительная, если кости благоволили. |
Использование:
Сортировка — щёлкните заголовок столбца. Таблица открывается отсортированной по возрастанию PR, лучший игрок сверху, и помнит от сеанса к сеансу последнюю выбранную сортировку. Игроки, у которых ничего не измерено, остаются внизу при любом направлении сортировки: ноль по причине отсутствия данных — не безупречная игра.
Фильтр по столбцу — строка полей под заголовками фильтрует каждый столбец: часть имени для текста, границу для чисел (
>=500,>500,<2.5,<=2), интервал (3-7) или точное значение (5). Нечитаемое поле обводится красным и ничего не фильтрует; ни разу не измеренное значение не проходит ни одну границу. Фильтры столбцов действуют в течение сеанса. Рейтинг игроков читается так: сортировка по PR, столбец Решения с фильтром>=500. Все таблицы панели Stats — разбивки, корпус, повторяющиеся ошибки, время размышления, тренировка, смещение, эффект обучения — сортируются и фильтруются одинаково.Открыть подробности игрока — щёлкните строку. Игрок выбирается в панели фильтров, а отображение переключается на вкладку Сводка.
Открыть свои решения — число решений открывает их позиции с учётом фильтров таблицы. Число матчей и баланс П–П остаются простыми числами: они считают и матчи без проанализированных решений, которых не воспроизводит ни один список матчей.
Ограничить период — фильтры дат, турниров и длины матча работают как обычно, что позволяет ограничить таблицу днями соревнования.
Сравнить двух игроков — отметьте флажок в первом столбце на двух строках. Над таблицей появится блок, ставящий их показатели друг напротив друга; отметка третьего игрока заменяет более раннего из двух. Флажок не выбирает строку: отметка сравнивает, щелчок открывает подробности.
Посмотреть позиции, в которых один сыграл лучше — кнопка блока сравнения перечисляет позиции, которые должны были играть оба игрока и в которых один сыграл хорошо (ниже порога Ошибки библиотеки), а другой нет; сначала наибольшая разница; игрок оценивается по своему худшему ходу в позиции. Открыть эти позиции загружает их в окно анализа. Командная строка и сервер выдают тот же список (
stats contrast).Сначала оценить ходы — список сравнивает только ходы с оценённой ошибкой, а ни один импорт их не оценивает: оценка выполняется по запросу. Пока остаются неоценённые ходы, блок показывает их число и кнопку Оценить ходы; командная строка делает то же самое через
repair --move-errors.
В этом блоке вердикт получают только относительные показатели, и лучший из двух выделяется полужирным. Три показателя не получают его никогда, и стоит сказать почему. Везение — не достоинство: более везучий игрок не играет лучше. Матчи, баланс и решения говорят, чего стоят относительные показатели, но столкнуть их значило бы отдать победу тому, кто просто больше играл. Число бландеров не сравнивается напрямую — двенадцать на тысячу решений лучше десяти на сотню, — поэтому блок добавляет строку Бландеры / 100 реш., которая сравнивается, а само число остаётся рядом как контекст.
Ничья — не победа: полужирным не выделяется ни одна сторона. Показатель, за которым ничего нет, отображается как «—» и ничего не решает.
Примечание
На этой вкладке выбор типа решения отключён: таблица уже разделяет решения по фишкам и по кубу на отдельные столбцы. Игрок из панели фильтров остаётся активным: таблица всегда показывает всех игроков, а строка этого игрока выделяется и выводится на экран.
Два представления корпуса находятся на вкладке Корпус панели, в командной строке и в API демона (см. stats — Повторяющиеся ошибки): очная встреча двух игроков (общие матчи, PR каждого, итог) и PR по скользящему календарному окну (1, 3, 6 или 12 месяцев). Вкладка «Корпус» вычисляет каждое представление по запросу, под текущим фильтром. Рейтинг по PR читается на вкладке «Игроки», отсортированной по PR и отфильтрованной по столбцу Решения; командная строка и API также выдают его (stats ranking). Фильтр происхождения (поля Движок и Мин. глубина панели фильтров) ограничивает статистику решениями, проанализированными таким образом; он действует на каждое решение, и затронутые им цифры пересчитываются по решениям. Очная встреча и PR по окну его не принимают: пока он активен, они отказываются считаться. Как и остальная панель, он сохраняется от сеанса к сеансу.
На вкладке Corpus каждая строка открывает то, что она резюмирует. Итог очного сравнения открывает его матчи в панели «Матчи», где тогда появляется кнопка «N матчей открыто из Stats ×»: она возвращает полный список; строка очного сравнения открывает свой матч. Первый игрок очного сравнения изначально совпадает с игроком из панели фильтров. Строка окна и её число решений открывают её позиции, число матчей открывает матчи. Число позиций в панели Stats, на любой вкладке, сначала выходит из текущего матча, а затем открывает свой список; команда m потом снова открывает матч на сохранённом ходу.
Важно
Прочерк («—») означает величину, которая никогда не измерялась, и её не следует путать с нулём. Так, в частности, обстоит дело со столбцом «Удача» для любого матча, импортированного до версии схемы 2.15.0: тогда удача не сохранялась, и восстановить её задним числом нечем. Повторного импорта исходного файла недостаточно: импорт распознаёт дубликат и применяет только вновь поставленные учебные отметки (отчёт сообщает их число). Матч нужно удалить, а затем импортировать заново. Форматы, которые её не переносят (BGF, Jellyfish .mat), не дадут её никогда.
Правило агрегации
Важно
PR турнира (или любого подмножества) вычисляется по правилу сумма/сумма — никогда как среднее PR отдельных матчей.
Формула:
Пример: игрок проводит два матча в турнире —
Матч A: 10 решений, потеряно 0,100 эквити → PR = 5,0
Матч B: 90 решений, потеряно 0,540 эквити → PR = 3,0
Наивное среднее PR: (5,0 + 3,0) / 2 = 4,0 (неверно)
Правило сумма/сумма: 500 × 0,640 / (10 + 90) = 3,2 (верно)
Правило сумма/сумма — единственное, которое корректно учитывает различную длину матчей (матч до 21 очка весит больше, чем матч до 1 очка).
MWC: ограничения
По умолчанию MWC cost вычисляется по MET Kazaross-XG2 — де-факто эталонной таблице в соревновательных нардах. Результаты напрямую несопоставимы с программами, использующими другие MET. Это та же таблица, считываемая через ту же точку входа, которой встроенный оценщик пользуется для своих решений по кубу при счёте: статистика и движок не могут расходиться в этом. Она даёт собственные значения до 25 очков до конца с каждой стороны; дальше она продлевается таблицей Заде, вычисленной как в GNUbg, до 64.
Позиции money-game (без счёта матча) исключаются из вычисления MWC. Если ваша база данных содержит много позиций money-game, MWC cost может быть занижен или недоступен.
MWC cost является накопительным по всему отфильтрованному набору данных — не показателем на решение. Он измеряет суммарное влияние ваших ошибок на шансы победы.