Оценка

Панель Eval

Панель Eval (CTRL-E) оценивает в реальном времени любую позицию на доске; на позиции выбрасывания она специализируется и дополнительно вычисляет EPC (Effective Pip Count). Она открывается нажатием CTRL-E, щелчком по вкладке Eval нижней панели или командой eval; прежнее имя команды, epc, тоже её открывает. Панель называлась EPC, затем Bearoff, прежде чем стать Eval, — так что именно здесь следует искать то, что прежние версии называли панелью Bearoff, ведь это имя теперь обозначает лишь вкладку настройки таблиц выбрасывания.

Панель всегда показывает единственное решение, которого требует выставленная на доске позиция — никогда два сразу, — и сопутствующие факты. Каждая величина читается в подходящей ей оси, а не в единой навязанной: вероятность выигрыша, гаммона, бэкгаммона и cubeless-эквити каждого игрока, вычисленные до броска, читаются по игрокам (нижний, верхний, затем Δ), слева от решения по кубу, пока кости не выставлены. Факты и решение остаются рядом: решение по кубу никогда не уходит под цифры, которые его обосновывают, каковы бы ни были язык интерфейса и позиция на доске. Как только кости выставлены, те же значения до броска меняют ось: они читаются для игрока на ходу, во главе списка кандидатных ходов, в виде строки курсивом до броска — не ещё один кандидатный ход, а ориентир, относительно которого читается каждый ход. Разница между этой строкой и ходом содержит удачу броска, а не заслугу хода, и потому не несёт столбца ошибки. На позиции чистого bearoff вторая таблица, всегда по игрокам и всегда присутствующая, с выставленными костями или без, содержит EPC, пипкаунт, wastage, среднее число бросков и стандартное отклонение; эти пять столбцов никогда не мигрируют. Обе таблицы расположены одна над другой и разделяют общую сетку столбцов: те же границы, те же ориентиры столбцов, единственный столбец цветных точек — они читаются как один объект в два этажа. Над таблицами полоса заголовка несёт название, значок режима и указание движка (там же показана глубина последней оценки), а справа — флажок Вызов и кнопку Добавить в базу. Пока gammonNet ничего не вернул, панель говорит об этом одной строкой: «Оценка…», или «Расставьте позицию» на пустой доске.

Прокручивается только список кандидатных ходов — строка до броска тоже остаётся закреплённой над ним; остальная часть панели (факты, значок, решение по кубу) всегда видна, без особой настройки размера панели.

Таблица фактов и решение вычисляются gammonNet, встроенным в приложение, без XG и gnubg. Расчёт следует за позицией, никогда не замораживая интерфейс: глубина 0-ply отображается сразу при каждом действии, затем, после полсекунды неподвижности, более глубокая оценка (2 ply по умолчанию, настраивается на вкладке gammonNet конфигурации) заменяет её в фоне — любое новое действие отменяет этот фоновый расчёт. Глубина, показанная в полосе значков или внутри значка режима на гоночной позиции, всегда та, что действительно дала показанное число, а не запрошенная; она не повторяется в каждой строке, поскольку живая оценка использует одну и ту же глубину для всех ходов. Эквити кандидатных ходов и решения по кубу следует счёту позиции: в money game она выражается в пунктах, при счёте матча — в нормализованной эквити, той же шкале, что у XG и GNU Backgammon, где выигрыш текущей стоимости куба равен +1, а проигрыш −1, — и они никогда не смешиваются в одной таблице. Заголовок столбца прямо называет её, вместо того чтобы оставлять шкалу угадывать: «Equity (money)» в money game, «Equity (match)» при счёте матча. Она учитывает живой куб: поиск оценивает каждую конечную позицию через модель куба (Яновский, измеренная эффективность) в состоянии куба данной позиции — так же, как это делают XG и GNU Backgammon в cubeful-оценке. Именно это делает видимыми при счёте эффекты gammon-go и gammon-save — при 4-away/2-away отстающий игрок играет 8/2 6/2 на открывающем 6-4, потому что его ранний дабл придаст гаммону цену матча — то, чего оценка без куба увидеть не может. Строка до броска, напротив, остаётся cubeless-эквити: это факт о позиции, а не решение. Оценка никогда не сохраняется: это расчёт, а не анализ. Щелчок по кандидатному ходу показывает его на доске стрелками, точно как в панели анализа. Неброская кнопка ? в полосе значков ведёт в репозиторий движка gammonNet; полное указание авторства (сеть Strehl, конфигурация gammonNet) приведено в разделе «Благодарности» справки.

Панель прокатывает позицию, как панель Анализ (см. Роллауты): Ctrl+клик и Shift+клик выделяют ходы, правый клик открывает то же меню — роллаут, копирование позиции и оценки или позиции и выбранных ходов —, Shift+R запускает или останавливает роллаут, а Esc отменяет его; тонкая полоса отслеживает сыгранные партии, и каждый прокатанный ход несёт свой результат в столбце Rollout (без кубиков, под решением о кубе). Поскольку доска является черновиком, роллаут никогда не сохраняется: он играется в памяти, без открытой базы, как на базе только для чтения, а его результат показывается, лишь пока доска остаётся прежней. Роллаут, запущенный до изменения доски, не показывается на новой позиции.

Кнопка Добавить в базу в начале полосы значков заносит в базу позицию, стоящую на доске; CTRL-S, команда w и кнопка Сохранить позицию на панели инструментов делают то же самое. Записывается только позиция, никогда не показанная оценка; если автоматический анализ gammonNet включён, затем запускается его пакет, как после импорта. Строка состояния сообщает номер позиции, в том числе когда она уже была в базе: тогда она отмечается как импортированная отдельно, и фильтр Импортирована отдельно (s i) её находит. Панель остаётся открытой на той же доске, которая остаётся черновой: можно передвинуть шашку и добавить вариант, а выход из панели возвращает к тому, что изучалось. Кнопка неактивна, пока не открыта ни одна база или пока позицию нельзя сохранить (например, начальная позиция панели, в которой верхний игрок вывел все свои шашки); её всплывающая подсказка называет причину.

Пользователь редактирует расположение шашек на всей доске, точно как в режиме редактирования: левый щелчок ставит шашку нижнего игрока, правый — шашку верхнего. Вторая таблица, таблица гонки, появляется только тогда, когда полученная позиция — чистый bearoff (все шашки обоих игроков в своих домах); на любой другой позиции отвечает только таблица с четырьмя общими столбцами (выигрыш, гаммон, бэкгаммон, cubeless), а решение касается шашек или обобщённого куба в зависимости от того, выставлены ли кости.

В каждой таблице фактов — по строке на игрока, обозначенной его цветной точкой, чёрный игрок всегда снизу. Первая содержит, пока кости не выставлены, выигрыш, гаммон, бэкгаммон (вероятности, без знака %) и cubeless-эквити игрока; вторая, на позиции bearoff и независимо от того, выставлены ли кости, — EPC, пипкаунт, wastage (разницу между EPC и пипкаунтом), среднее число бросков и стандартное отклонение. Когда у обоих игроков есть значения для сравнения, строка Δ показывает знаковые разности (нижний − верхний: отрицательные, когда чёрный игрок впереди). Вне гоночной позиции выставление костей, таким образом, убирает сами таблицы фактов: четыре столбца, которые они несли, только что сменили ось — на игрока на ходу, во главе списка ходов.

Решение по кубу всегда имеет одну и ту же форму, откуда бы ни взялись цифры — из точной таблицы, рассчитанного режима или обычной оценки gammonNet: по строке на вариант, в порядке без дабла, дабл/тейк, дабл/пас, с его эквити в системе отсчёта позиции и отрывом от лучшего варианта. Порядок никогда не меняется, в отличие от списка ходов: у трёх вариантов есть имена, поэтому читают имя, а не ранг. Лучший узнаётся по выделению и по пустой ячейке отрыва. Если куб уже был передан, варианты читаются как без редабла, редабл/тейк, редабл/пас.

Последняя строка даёт вердикт. Он принимает четыре значения: без дабла, дабл, тейк, дабл, пас и слишком хорошо для дабла; последнее — когда разыгрывать позицию выгоднее, чем забрать очко: дабл тогда был бы ошибкой по причине, обратной простому без дабла. Это также единственное место, где панель говорит, что вердикта нет, вместо того чтобы создавать впечатление идущего расчёта:

  • нет решения — режим не имеет на него права; вердикт по кубу никогда не оценивается приближённо (см. значок оценка);

  • не оценивается при этом счёте — движок отказывается от позиции, как правило, из-за счёта за горизонтом таблицы матчевых эквити, то есть когда одной из сторон осталось набрать больше 64 очков;

  • куб у соперника и куб не в игре (Кроуфорд) — куб нельзя передать. Эквити по-прежнему отображаются, для справки, но ни у одного варианта нет отрыва: ошибка — это цена выбора, а выбора здесь нет.

В money game правила Jacoby и Beaver, действующие на позиции, отображаются под таблицей куба в виде небольших значков рядом с вердиктом, который они меняют: вердикт «без даблинга» для позиции по правилу Jacoby — это не тот же расчёт, что без него, и ничто другое на экране об этом не говорило.

При правиле Beaver строка дабл, принять равна лучшему ответу соперника, кроме сдачи: принять или сделать бивер — сразу передублировать, оставив куб у себя, так что партия играется на учетверённую ставку, — после чего удвоивший отвечает рэкуном (восьмикратная ставка, куб у него), когда ему это выгодно. Вердикт и ошибки читаются в этой строке, как и без правила; при счёте матча правило не применяется.

Третий бейдж, Макс. куб, появляется, когда исходный идентификатор ограничивает куб — как при счёте матча, так и в money game. Он не описывает расчёт, показанный выше: встроенный оценщик не моделирует потолок, поэтому вердикт относится к свободному кубу. Именно поэтому бейдж и нужен: ограниченный куб — единственная видимая причина, по которой blunderDB и eXtreme Gammon могут вынести два разных вердикта об одной и той же позиции.

Игрок на ходу и позиция куба редактируются прямо на доске, как в режиме редактирования: щелчок по прямоугольнику снятия/счёта игрока передаёт ему ход; щелчок по кубу переключает по кругу: в центре → у нижнего → у верхнего (правая кнопка мыши — в обратном порядке). Значение куба остаётся закреплённым — в money game эквити выражаются в единицах текущего куба, важен только его владелец. Анализ пересчитывается немедленно. В режиме оценки сам значок кликабелен и открывает непосредственно вкладку Bearoff конфигурации; его подсказка объясняет почему (вердикт по кубу не поддаётся оценке, ADR-0009) и как расширить точную область.

Счёт тоже редактируется прямо на доске, как в режиме редактирования: левый щелчок по прямоугольнику счёта игрока уменьшает число очков, которые ему осталось набрать, правый — увеличивает. Выход из money-счёта (-1, -1) редактированием только одной стороны автоматически выравнивает другую сторону на то же значение, вместо того чтобы оставить несогласованный счёт. На позиции bearoff в точном режиме переход от money-счёта к счёту матча оставляет вероятность выигрыша как есть (чтение из базы, верное в любой системе отсчёта), но переключает показанные эквити и вердикт по кубу на значения рассчитанного режима — точная таблица по построению money и не умеет отвечать на вопрос, заданный при счёте матча. Значок тогда становится составным («точно (победа) · рассчитано (куб)»), чтобы сказать об этом явно.

Наконец, кости редактируются тем же способом, и именно они определяют, какой вопрос задаётся: выставленные кости дают решение о ходе шашками (список кандидатных ходов), отсутствие костей — решение куба. Левый клик по кости увеличивает её значение (6 переходит в 1), правый клик уменьшает его (1 переходит в 6); клик по кости на доске, где костей нет, выставляет сразу две — одна кость не была бы ни решением о ходе шашками, ни решением куба. Клик по прямоугольнику игрока убирает кости, чтобы задать вопрос куба, а следующий клик по кости возвращает их такими, какими они были.

BACKSPACE или пункт Очистить позицию в меню правого щелчка вне доски стирает позицию: пустая доска, money-счёт (-1, -1), кости не выставлены — значения, свойственные панели Eval и отличные от используемых в режиме редактирования (7 у обоих, кости 3-1), чтобы оставаться согласованными с тем, что панель показывает по умолчанию. Пункт Начальная позиция в том же меню расставляет шашки новой партии на эти же значения.

Матрица куба

Решение о кубе — не свойство доски. Те же шашки и тот же счёт пипсов удваиваются при 2-away/4-away и не удваиваются при 4-away/2-away; тот, кто выучил ответ для money, выучил одну клетку сетки. Панель Eval показывает клетку, которую несёт позиция; матрица куба показывает всю сетку.

Команда cm открывает её для показанной позиции. Каждая клетка даёт вердикт при одном счёте: строка — сколько очков ещё нужно игроку на ходу, столбец — сколько нужно сопернику. Четыре вердикта записываются как БУ (без удвоения), УП (удвоение, приём), УО (удвоение, отказ) и СХ (слишком хорошо); клетка, от которой движок отказался, помечена вопросительным знаком и при наведении объясняет причину, а также показывает три эквити клетки. Предлагаются три длины матча: 5, 7 и 9 очков.

Клетка счёта, который позиция несёт на самом деле, обведена рамкой, а заголовки её строки и столбца подчёркнуты: чтение начинается отсюда, «моя клетка и то, что вокруг неё». Рамка появляется, как только оба счёта away позиции умещаются в показанной сетке; смена длины перемещает рамку или убирает её. Позиция money, игра Кроуфорда или away за пределами сетки не указывают ни на одну клетку: показывать нечего, а показать приблизительную было бы неверно.

Счёт самой позиции заменяется счётом каждой клетки; её куб сохраняется. Сетка отвечает на вопрос, при каком счёте стоит повернуть этот куб, а не на то, как играла бы позиция с центральным кубом. Она всюду построена для положения после Кроуфорда: в игре Кроуфорда куб не используется, и столбец «удваивать нельзя» ничего не сказал бы о позиции.

Каждая клетка — отдельный поиск. Движок учитывает счёт — при 2-away он играет не ту же партию, что при 7-away — поэтому единственный поиск, прочитанный через разные матчевые эквити, был бы неверен именно там, где счёт важен. Сетка сначала появляется на 0-ply, а затем пересчитывается на настроенной глубине отображения, когда окно приходит в покой: то же нарастание, что и в остальной части панели; сетка на 9 очков стоит около полутора секунд.

Ту же сетку можно вычислить вне интерфейса командой cubematrix командной строки.

Панель «Справочные данные»

Панель Справочные данные объединяет таблицы счёта. Она открывается по CTRL-SHIFT-R или командой ref, без открытой базы. Команды met, tp2, tp4 и их варианты _live / _last, gv1, gv2 и gv4 открывают её на вкладке запрошенной таблицы. Строки и столбцы — это очки, оставшиеся до победы в матче: строка — игрок, о котором идёт речь, столбец — его соперник. Пять вкладок:

  • MET — таблица матчевого эквити Kazaross-XG2, от 1 до 15 оставшихся очков, в процентах шансов выиграть матч;

  • Точки принятия — при кубе 2 (от 2 до 9 оставшихся очков) и при кубе 4 (от 3 до 9), каждая в двух таблицах рядом: длинная гонка (живой куб) и последний бросок (мёртвый куб);

  • Значения гаммона — при кубах 1, 2 и 4;

  • Сводная — таблица от 2 до 9 оставшихся очков, в каждой клетке которой три строки: точка принятия при кубе 2 (живой / мёртвый), при кубе 4 (живой / мёртвый), затем значения гаммона при кубах 1, 2 и 4 приглушённым цветом. Тире отмечает значение, которое таблица не определяет при этом счёте;

  • Числа Нила — мысленное правило для MET, принадлежащее Neil Kazaross.

Числа Нила. Эквити лидера оценивается по формуле E ≃ 50 % + (разница в счёте) × Neil(n), где n — число очков, оставшихся отстающему. Числа равны 10 при 3 оставшихся очках, 9 при 4, 8 при 5, 7 при 6, 6 при 8, 5 при 11, 4 при 15, 3½ при 19 и 3 при 25 (мнемоника: «8 is 6, 11 is 5, 15 is 4»); между ними они интерполируются линейно (6½ при 7, 5⅔ при 9, 5⅓ при 10, 4¾ при 12). Например, при 3 оставшихся очках против 5 оценка равна 50 + 2 × 8 = 66 %, а MET даёт 64,8 %. Вкладка показывает строку чисел, затем таблицу лидер × отстающий, от 2 до 15 оставшихся очков: каждая клетка даёт оценку и, мелким шрифтом, её отклонение от MET Kazaross-XG2, чтобы видеть, где правило расходится. Правило не работает, когда лидеру осталось 1 или 2 очка: строка лидера при 2 оставшихся очках показывает значение MET приглушённым цветом и без отклонения. Источник: Kit Woolsey, Match Equity Table, GammOnLine, 1999.

Перенос позиции в панель Eval

Панель по умолчанию открывается на позиции bearoff, но изучение чаще всего начинается с уже имеющейся позиции. Четыре жеста приводят к ней:

  • Правый щелчок по доске в панели анализа или при навигации по матчу, затем Оценить эту позицию: панель Eval открывается прямо на этой позиции, в том виде, в каком она показана; Оценить зеркальное отражение этой позиции открывает её там с точки зрения другой стороны. Контекстное меню не появляется ни в панели Eval, ни в панели Поиска, где правая кнопка уже служит для расстановки шашек другого цвета.

  • Щелчок правой кнопкой по доске, затем Оценить в новой вкладке: новый вид с именем Вариант #n (n — номер исходного вида) открывается в панели Eval на показанной позиции, где можно свободно расставлять варианты. Исходный вид сохраняет свою позицию, список и анализ. Этот пункт не предлагается в панели Транскрипции.

  • CTRL-C, затем CTRL-V: скопировать позицию из панели анализа, затем вставить её один раз в панели Eval. Вставка принимает и идентификатор из другого источника — XGID (eXtreme Gammon, GNU Backgammon, другой экземпляр blunderDB) или OGID (OpenGammon): достаточно, чтобы он был в буфере обмена.

  • Команда import XGID=… (или import OGID=…) — для случая, когда идентификатор не в буфере обмена, а в сообщении, на форуме, читаемом в терминале, или получен от скрипта. Это тот же глагол, что и просто import: без аргумента он открывает выбор файла, с аргументом — читает идентификатор. Дальше путь тот же, что и при вставке: то же чтение, та же дедупликация, то же открытие импортированной позиции.

OGID несёт только позицию: ни оценки, ни комментария. Поэтому позиция приходит без анализа, ровно как голый XGID, а встроенный оценщик может заполнить этот пробел позже.

В OGID партия Кроуфорда обозначается буквой C после длины матча (7C): без неё игрок, которому до победы остаётся одно очко, находится уже после партии Кроуфорда.

Снимок экрана доски (eXtreme Gammon, тема по умолчанию) можно прочитать тремя способами: вставить изображение (CTRL-V), перетащить его на окно или открыть через CTRL-I (.png, .jpg). База данных не нужна. Прочитанная позиция попадает на доску редактирования и остаётся лишь предложением: пункты и куб, в которых чтение не уверено, обводятся оранжевым; сомнение, которое нельзя обвести (направление доски, когда номера пунктов вне изображения, нечитаемые кости), и то, чего снимок не показывает никогда (счёт, очередь хода при скрытых костях), называются в строке состояния. Исправьте доску как обычно и сохраните привычным жестом: до этого ничего не сохраняется. Изображение, на котором не опознана ни одна известная доска, отклоняется, причина указывается в строке состояния. То же чтение доступно в командной строке (capture).

Доска панели Eval — черновик: позиция попадает туда без своего идентификатора в базе, так что никакое сделанное здесь изменение не может перезаписать запись, из которой она взята. Все обычные правки доски остаются доступны (шашки, куб, кости, счёт), и оценка следует за каждым изменением.

В обратную сторону CTRL-C копирует доску панели Eval в буфер обмена с XGID, пересчитанным по выставленным шашкам, — то есть её можно вставить прямо в eXtreme Gammon или в другой экземпляр blunderDB. Путешествует только позиция: оценка, показанная панелью, не является записью базы и не сопровождает копию.

При выходе из панели Eval восстанавливается ранее просматривавшаяся позиция: черновик никогда не сохраняется сам по себе.

Когда позиция является чистым bearoff (все шашки обоих игроков в своём доме) и кости не выставлены, решение по кубу отображает для игрока на ходу:

  • в точном режиме: money-эквити (cubeless, без дабла, дабл/тейк, дабл/пас) и money-вердикт по кубу (без дабла, дабл/тейк, дабл/пас или слишком хорошо для дабла) — вне счёта матча; случай счёта матча см. выше,

  • в рассчитанном режиме: те же эквити и тот же вердикт с четырьмя значениями, но разыгранные gammonNet (поиск + модель куба Яновского), а не прочитанные из таблицы — доступные даже при счёте матча, чего режим оценки никогда не мог предложить;

  • в режиме оценки: вердикт по кубу тогда намеренно не отображается — доступна лишь вероятность выигрыша в таблице фактов, с её погрешностью.

Как только на гоночной позиции выставлены кости, это решение по кубу до броска исчезает — доска требует тогда решения о шашках, а не о кубе, — но вероятность выигрыша остаётся фактом о позиции, а не решением: она переходит в строку до броска во главе списка ходов, рядом с EPC, который по-прежнему показан чуть левее.

Значок указывает режим: точно (значение прочитано из two-sided базы), рассчитано · <глубина> (разыграно gammonNet — показанная глубина та, что действительно дала показанное число), оценка ± погрешность, либо, при счёте матча в точной области, точно (победа) · рассчитано (куб) — см. выше. Точный режим имеет приоритет везде, где доступен; иначе рассчитанный режим появляется, как только закончит вычисление, заменяя на месте режим оценки, показанный во время ожидания. Точное определение трёх режимов и их допущений см. в Методология и допущения панели Eval.

Расширение точной области. Таблица, вычисленная при первом запуске, охватывает 6 шашек с каждой стороны. Два способа пойти дальше, во вкладке Bearoff настроек:

  • вычислить более широкую двустороннюю таблицу — вплоть до TS-06-15, если у машины хватает памяти. Вкладка называет размер, память и время на этой машине до начала, а вычисление ставится на паузу и продолжается. Отменённое вычисление оставляет файл .part, который никогда не читается как таблица;

  • указать любой two-sided файл .bd из gnubg. База с самой широкой областью автоматически имеет приоритет.

Доска панели — черновик, и она запоминается. Если выйти из панели Eval и вернуться, вы найдёте позицию, на которой её оставили, а не доску выбрасывания по умолчанию: та выдаётся только при первом открытии панели за сеанс. Отправка позиции из базы в панель имеет приоритет над этой памятью, а BACKSPACE в любой момент возвращает доску по умолчанию. По пути в базу ничего не записывается — у черновика нет идентичности позиции, а его оценка пересчитывается по прибытии, а не переносится.

Режим вызова. Флажок Вызов в полосе заголовка включает режим тренировки: при каждом изменении позиции значения трёх зон скрываются (заменяются на « ··· »); щелчок по зоне открывает только эту зону. Без костей это строка нижнего игрока, строка верхнего игрока и решение по кубу — строка Δ появляется лишь после открытия обеих строк игроков. Блок решения сохраняет при этом свои три строки: исчезают его значения, вердикт и выделение лучшего варианта, иначе упражнение решалось бы поиском жирной строки. При выставленных костях на гоночной позиции строка EPC каждого игрока скрывается как прежде, но третья зона тогда охватывает строку до броска и список ходов вместе: поскольку список упорядочен от лучшего хода к худшему, частичное его открытие уже выдало бы ответ. При выставленных костях вне гоночной позиции та же единственная зона охватывает всё, что показывает панель. Так можно тренироваться оценивать EPC каждой стороны, затем принимать решение по кубу или по ходу, прежде чем проверить. Настройка запоминается.

Без открытой базы. Панели Eval база не нужна: после закрытия экрана приветствия в ней можно расставить, вставить (CTRL-V) и изменить позицию, оценить её, провести ролаут и скопировать как текст (CTRL-C) или как изображение (CTRL-X, а CTRL-X CTRL-X — вместе с оценкой). Контекстное меню по правой кнопке в панели также предлагает Сохранить изображение (SVG)… и Сохранить изображение (PNG)…. Доска вкладки Поиск тоже является черновой: её можно редактировать и вставлять в неё позицию без базы, а переходить от одной к другой можно ничего не теряя; запуск же поиска требует базу. Только Добавить в базу и CTRL-S требуют базу в панели, и строка состояния сообщает об этом. База в фоновом режиме не создаётся. В панели Eval, как и на вкладке Поиск, команда import XGID=… (или import OGID=…) помещает позицию на черновую доску без базы. Вкладка Тренировка тоже открывается без базы: Счета, Шашки, Bearoff и Оценка доступны, Решение отключено с указанием причины, а завершённая сессия не записывается (журнал сообщает об этом). Управление турниром требует открытой базы.

Для закрытия панели Eval нажмите CTRL-E или переключитесь на другую вкладку.

Методология и допущения панели Eval

Каждое значение, отображаемое панелью, опирается на точные допущения, исчерпывающе изложенные здесь.

Область. Зона гонки — вероятность выигрыша и вердикт куба — охватывает только чистый бирофф: все оставшиеся шашки обоих игроков в своём доме. Позиция оценивается до броска; выставленные кости игнорируются.

Блоки EPC, напротив, идут дальше: сторона получает свой EPC, как только её самая дальняя шашка помещается в загруженную одностороннюю таблицу. С таблицей по умолчанию (шесть пунктов) это старое правило дома; с таблицей на восемь пунктов, вычисленной во вкладке Bearoff, сторона с шашкой на 8 рассматривается как любая другая. Ничего не экстраполируется: шашка на пункт дальше просто не имеет EPC, ровно как шашка на 7 не имела его раньше. Когда ответившая таблица не та, что на шесть пунктов, её имя появляется в углу блока гонки («OS-08») — без него читалось бы «шесть» по умолчанию и сторона казалась бы полностью дома.

Блоки EPC (всегда точные). EPC, среднее число бросков и стандартное отклонение берутся из точного распределения числа бросков для вывода всех шашек, прочитанного из односторонней базы GNUbg (от 6 до 10 пунктов, 15 шашек, вычислена на машине). EPC = средние броски × 49/6 (49/6 ≈ 8,167 — точное среднее пипов на бросок, дубли считаются четырежды); wastage = EPC − pip count. Единственная идеализация — односторонняя оптимальная игра: каждый игрок минимизирует свои броски, игнорируя соперника; это стандартное определение EPC.

Вероятность выигрыша, точный режим. Прямое чтение из самой широкой доступной two-sided базы (TS-06-06, вычисляемая при первом запуске, внешний файл или TS-06-11, вычисляемая во вкладке Bearoff). Эти базы получены полным ретроградным анализом при оптимальной two-sided игре обеих сторон: никаких дополнительных допущений, ошибка ограничена квантованием (< 0,002 %).

Вероятность выигрыша, режим оценки. Вне области базы вероятность получается свёрткой двух one-sided распределений (игрок на ходу выигрывает, если его число бросков меньше или равно числу бросков соперника) с последующей фиксированной полиномиальной поправкой, откалиброванной офлайн по базе TS-06-11. Три допущения:

  • независимость двух процессов снятия — структурная в гонке: без контакта нет никакого взаимодействия;

  • оптимальная one-sided игра обеих сторон — это и есть приближение: в действительности отстающий игрок отклоняется ради дисперсии, а лидер — ради безопасности. Измеренный эффект — антисимметричное смещение (свёртка преувеличивает преимущество лидера), которое поправка статистически поглощает;

  • поправка откалибрована и проверена на области оракула (до 11 шашек у каждого игрока). Измеренная остаточная ошибка: стандартное отклонение 0,05 %, 99-й процентиль 0,17 %, наблюдаемый максимум 0,9 % (в пунктах вероятности выигрыша). Свыше 11 шашек у игрока эта граница экстраполируется — тенденция монотонна, но никакой оракул её не подтверждает.

Эквити и вердикт по кубу (только точный режим). Отображаемые эквити — это эквити money game без правила Джекоби, в системе отсчёта литературы по bearoff. В области ≤ 11 шашек у каждого игрока гаммоны невозможны (каждая сторона уже сняла не менее 4 шашек): это не приближение. Вердикт (без дабла / дабл, тейк / дабл, пас) точно восстанавливается из сохранённых эквити по правилу GNUbg, проверенному один в один против его анализа.

Примечание

Cubeful-эквити предполагают оптимальную игру кубом обеих сторон до самого конца: будущие редаблы полностью учитываются (полный ретроградный анализ). В очень волатильных гонках конца партии каскад редаблов съедает почти всё преимущество стороны на ходу — эквити «без дабла» и «дабл/тейк» тогда могут быть близки к нулю там, где движок вроде XG, чья модель куба не учитывает эту каскаду, показывает значения, близкие к dead cube (например, 2 шашки на пункте 3 против 2 шашек на пункте 2: 62 % выигрыша, точное D/T +0,006 против +0,475 у XG). Отображаемое решение при этом совпадает с решением движков.

Вероятность выигрыша и вердикт, рассчитанный режим. Вне точной области вероятность выигрыша берётся из сырого выхода gammonNet (поиск 0-ply, затем на настроенной глубине, никогда не читается из таблицы), а вердикт — из «Decide» Яновского, применённого к этому выходу: поиск разыгрывает траекторию, а не подытоживает мгновенный снимок, что как раз и не мог делать оценочный режим (см. ниже) и позволяет, единственный из трёх режимов наряду с точным, вердикт при счёте матча.

Этот режим был измерен, а не только предположен, против встроенной two-sided таблицы (TestEvalMeasure, 4000 выборочных money-решений, канонические параметры 2 ply k=12): совпадение money-вердикта 93,4 % (3735/4000), в разбивке по расстоянию до точки тейка gammonNet — 61,1 % ближе 1 % от точки тейка (зона, наиболее чувствительная к «орлу или решке»), 88,3 % между 1 и 5 %, 91,5 % между 5 и 10 %, 94,0 % между 10 и 20 %, 94,4 % дальше. Расхождение вероятности выигрыша: среднее 0,85 %, медиана 0,44 %, 95-й процентиль 3,21 %, максимум 8,30 %. Расхождение cubeful-эквити: среднее 0,039, медиана 0,018, 95-й процентиль 0,151, максимум 0,406. Форма ожидаемая: основная часть разногласий сосредоточена ровно в точке тейка, где два законно различных метода сильнее всего расходятся на близком решении, — а не размытая ошибка, которая стоила бы эквити повсюду.

Это измерение относится к money-решениям в гонке. Вердикт при матчевом счёте — который умеет выдавать только этот режим — и контактные позиции опубликованных измерений не имеют: сказанное выше на эти случаи не переносится.

Почему не глубже двух плаев? Потому что измерение говорит, что это ничего не даёт. Решение по шашкам при 3 плаях вызывает сеть в четырнадцать раз чаще, чем при 2 (159 000 оценок против 11 400, среднее по двадцати настоящим решениям), и занимает примерно в четырнадцать раз больше времени (3,9 с против 0,27 с на одном ядре той же машины). На сорока настоящих решениях, переигранных на обеих глубинах, более глубокий поиск передумал дважды, и оба раза выигрыш, который он приписывал самому себе, составлял не более 0,0002 нормализованной эквити: на два порядка ниже 0,020 — порога, с которого eXtreme Gammon вообще говорит об ошибке. На решение, во всех случаях вместе, выигрыш равен 0,0000.

Поэтому 2 плая остаются по умолчанию; 3 и 4 плая выбираются на вкладке gammonNet настроек. На 3 и 4 плаях, как в GNUbg, несколько ходов сравнивает только корень: в каждом внутреннем узле выбранный ответ — лучший на 0 плаев, и только он исследуется глубже. Это не значит, что 3 плая вообще ничего не стоят, а значит, что на этой сети, с этим фильтром, они не окупают ожидание человека перед панелью. Измерение воспроизводимо (TestThreePlyMeasure), и вывод будет пересмотрен, если сеть изменится.

Почему не существует оценочного вердикта? Сказанное ниже относится именно к методу свёртки (режим оценки), а не к рассчитанному режиму выше: cubeful-эквити — задача о траектории (когда даблить), которую не улавливает никакая статистическая сводка позиции: лучшая из измеренных статических моделей оставляет остаточную ошибку (стандартное отклонение 0,016 эквити, максимум 0,20), достаточную, чтобы перевернуть все близкие решения. Аналогично, пересчёт вердикта на счёт матча через таблицу матчевых эквити оказался недостаточным (12 % расхождений с 2-ply анализом GNUbg, включая настоящие бландеры). Поскольку уверенно показанный неверный вердикт хуже отсутствия вердикта, свёртка никогда не имела права показывать вердикт — этот пробел заполняет поиск, разыгрывающий траекторию, а не статистическая сводка.

Примечание

Базы бироффа — неизменные математические таблицы. blunderDB вычисляет их сам, байт в байт так же, как инструмент makebearoff из GNUbg, — во вкладке Bearoff настроек или командой blunderdb bearoff generate.