Эндшпильные таблицы Syzygy: когда компьютер точно знает результат позиции
Обычно шахматный движок ищет варианты и оценивает позицию. Но в некоторых окончаниях ответ уже вычислен точно: при идеальной игре известно, выигрыш это, ничья или поражение. Для этого существуют эндшпильные таблицы, или tablebases.
Разберемся, чем Syzygy отличается от обычного анализа движка, что означают WDL и DTZ, почему здесь важно правило 50 ходов и почему точное знание результата еще не означает кратчайший или самый понятный человеку путь к победе.
Что такое эндшпильная таблица
Эндшпильная таблица, или tablebase, — это не коллекция сыгранных партий и не набор готовых советов. Это база заранее вычисленных шахматных позиций с малым числом фигур.
Для каждой позиции можно определить ее теоретический результат при безошибочной игре обеих сторон: выигрыш, ничья или поражение. Поэтому здесь компьютер уже не пытается оценить, насколько хороша позиция, а обращается к известному точному результату.
Современный формат Syzygy используется шахматными движками и программами для таких окончаний. Стандартная поддержка Stockfish охватывает позиции, где на доске осталось не более семи фигур. В это число входят оба короля: например, король, ладья и пешка против короля, ладьи и пешки — это уже шесть фигур.
Чем tablebase отличается от обычного шахматного движка
При обычном анализе движок перебирает варианты на определенную глубину и получает оценку позиции. Значение вроде +1.0 говорит, что положение белых считается лучше, но само по себе не является математическим доказательством победы.
Подробнее о таких оценках, глубине, PV и лучшем ходе рассказано в материале как читать анализ шахматного движка.
Tablebase работает иначе. Если позиция входит в рассчитанный набор и ее состояние известно полностью, результат не зависит от глубины поиска или мощности процессора. При идеальной игре ответ уже определен.
Именно поэтому в одном и том же анализе могут соседствовать два разных типа информации:
- пока фигур много, движок ищет и оценивает;
- когда возникает позиция из tablebase, программа может получить точный теоретический результат.
Что означает WDL
Самый понятный слой Syzygy — WDL, от английского Win / Draw / Loss: выигрыш, ничья или поражение для стороны, которой принадлежит ход.
На первый взгляд этого достаточно. Но шахматные правила добавляют важную деталь: некоторые позиции теоретически можно выиграть, если играть неограниченно долго, однако в реальной партии победе может помешать правило 50 ходов.
Поэтому Syzygy умеет различать не только обычные выигрыш, ничью и поражение, но и пограничные случаи. В технической терминологии встречаются выражения cursed win и blessed loss: позиция имеет выигрыш или поражение без ограничения по числу ходов, но с учетом 50-ходового правила практический результат может стать ничейным.
Зачем нужен DTZ
Одного ответа «выиграно» недостаточно, чтобы выбрать ход. Нужно еще не потерять выигрыш из-за правила 50 ходов. Для этого в Syzygy используется показатель DTZ — Distance to Zero.
Под «нулем» здесь понимается обнуление счетчика ходов без взятия и движения пешки. Его обнуляет:
- взятие фигуры;
- ход пешкой.
DTZ помогает выбирать продолжения так, чтобы сохранять теоретический результат и вовремя добираться до такого хода.
Это важное отличие от показателя DTM — Distance to Mate, расстояния до мата. Syzygy не обязана вести фигуры по кратчайшему пути к мату. Иногда лучший с точки зрения DTZ ход выглядит для человека странно: вместо очевидного продвижения к королю соперника программа может сначала обеспечить возможность взятия или движения пешки и тем самым сохранить выигрыш в рамках правила 50 ходов.
Как правило 50 ходов меняет теорию эндшпиля
По действующим правилам FIDE игрок может потребовать ничью, если последние 50 ходов каждой стороны прошли без движения пешки и без взятия. Если такая серия достигает 75 ходов каждой стороны, ничья фиксируется автоматически, кроме случая, когда последний ход одновременно поставил мат.
Общие правила окончания партии разобраны отдельно в материале «Правила игры в шахматы».
Для tablebase это не мелкая формальность. Существуют окончания, которые без такого ограничения являются математически выигранными, но требуют слишком долгой серии ходов до следующего взятия или движения пешки. Поэтому фраза «tablebase показывает выигрыш» всегда должна читаться вместе с тем, какая именно метрика и какие правила учитываются.
Почему точный ответ иногда выглядит нелогично
Tablebase знает результат позиции, но не пытается объяснить шахматисту план человеческим языком. Ее задача — сохранить объективный исход.
Допустим, несколько ходов одинаково удерживают победу. Один ведет к знакомой схеме быстро и понятно, другой делает редкий маневр, но раньше достигает хода, обнуляющего счетчик. Для DTZ второй вариант может оказаться предпочтительным.
Отсюда возникает характерный парадокс: абсолютно точный компьютерный ход иногда выглядит менее естественно, чем хороший ход сильного шахматиста. Ошибки здесь нет — просто критерии разные.
Поэтому tablebase особенно полезна как арбитр результата, но не всегда как готовый учебник техники эндшпиля.
Почему предел составляет семь фигур
Число возможных позиций растет чрезвычайно быстро с добавлением каждой новой фигуры. Поэтому переход от шести фигур к семи требует уже огромного объема вычислений и хранения данных.
Полный комплект семифигурных Syzygy занимает порядка десятков терабайт; для Stockfish обычно указывается около 17 ТБ. По этой причине обычному шахматисту не обязательно хранить все таблицы локально: программы и онлайн-инструменты могут обращаться только к нужным данным.
Исследования более крупных tablebase продолжаются, однако стандартная практическая поддержка Syzygy в Stockfish по-прежнему ограничена семью фигурами. Поэтому формулировка «семь фигур» относится не к пределу шахматной математики вообще, а к текущему широко используемому формату.
Когда tablebase полезна обычному шахматисту
Главная польза — не в том, чтобы заучивать машинные линии. Таблицы окончаний позволяют проверить то, что обычный анализ иногда оставляет неочевидным.
- Узнать объективный результат. Позиция действительно выиграна или только выглядит выигранной?
- Найти единственный сохраняющий результат ход. Иногда несколько естественных продолжений превращают победу в ничью.
- Проверить эндшпильный анализ. После партии можно точно установить момент, когда результат изменился.
- Разобрать правило 50 ходов. Можно увидеть позиции, где абстрактный выигрыш уже не реализуется в рамках практических правил.
- Проверять задачи и этюды. Для позиций с подходящим числом фигур tablebase помогает обнаружить скрытую ничью или неожиданный выигрыш.
Что tablebase не умеет объяснить
Точный результат не отвечает на все шахматные вопросы. Tablebase не расскажет, почему один план проще другого, какой ход легче найти человеку за доской и какую технику стоит запомнить для будущих партий.
Она также не заменяет движок в миттельшпиле: если фигур больше допустимого числа, готового полного ответа для позиции нет и снова требуется обычный поиск.
Лучше всего воспринимать Syzygy как последний уровень проверки. Движок помогает исследовать позицию, а tablebase в подходящем окончании способна поставить точку: при идеальной игре это победа, ничья или поражение.
Главное
Эндшпильные таблицы показывают необычную границу компьютерных шахмат. Пока позиция слишком сложна, машина ищет варианты и оценивает их. Когда фигур остается достаточно мало, тот же вопрос можно решить заранее для всего класса позиций.
Поэтому в таком окончании компьютер уже не говорит: «эта сторона, вероятно, стоит лучше». Он может знать точный результат. Но даже это знание нужно читать правильно: учитывать WDL, DTZ, правило 50 ходов и понимать, что математически оптимальная линия не обязательно будет самой короткой или самой понятной человеку.