База данных шахматных окончаний

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Типичный интерфейс для использования баз данных эндшпиля. Для каждого хода белых таблицы показывают число ходов к выигрышу. В результате ходов Крc6 или Фa6 + белые выигрывают в 5 ходов, следовательно, это оптимальные ходы

База данных шахматных окончаний — компьютеризированная база данных, содержащая предварительно рассчитанный исчерпывающий анализ шахматных эндшпилей. В такой базе данных хранятся оценки (выигрыш, ничья, поражение) для каждой возможной позиции шахматного окончания как при ходе белых, так и при ходе чёрных[1]. Некоторые распространённые базы данных также содержат количество ходов, необходимых для достижения теоретического результата (мат, переход в младший выигранный эндшпиль и т. п.) при наилучшей игре обеих сторон. Базы данных шахматных окончаний создаются путём ретроспективного анализа, двигаясь от всех возможных заключительных позиций в обратном направлении — в сторону увеличения количества ходов, необходимых для достижения этих заключительных позиций.

Таблицы Налимова[править | править код]

В компьютерных шахматах одним из наиболее популярных форматов баз данных шахматных окончаний являются эндшпильные таблицы Налимова. Эта база данных (состоящая из множества отдельных файлов-таблиц) названа именем новосибирского программиста Евгения Налимова, который предложил эффективный алгоритм для генерации эндшпильных баз данных. В таблицах Налимова имеются абсолютно точные варианты развития шахматной партии в эндшпиле. С помощью таблиц Налимова определяются все возможные варианты продолжения игры, все возможные результаты и число ходов, через которое при оптимальной игре партия придёт к мату слабейшей стороне[2].

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

Некоторые интересные позиции[править | править код]

Длиннейшие выигрыши[править | править код]

Количество фигур Мат в Х ходов FEN
3-фигурные окончания. 28 8/8/8/k7/8/K7/6P1/8 b.
4-фигурные окончания. 43 8/5k2/2PK4/5r2/8/8/8/8 w.
5-фигурные окончания. 127 8/8/8/8/1p2P3/4P3/1k6/3K4 w.
6-фигурные окончания. 262 6k1/5n2/8/8/8/5n2/1RK5/1N6 w.
7-фигурные окончания. 549 1n1k4/6Q1/5KP1/8/7b/1r6/8/8 w.[3]
Длиннейшие выигрыши для разных типов семи фигурных эндшпилей
Атакующие фигуры Защищающиеся фигуры Длиннейший выигрыш
Chess plt45.svgChess plt45.svg Chess rdt45.svgChess bdt45.svgChess pdt45.svg 476
Chess blt45.svgChess blt45.svgChess blt45.svgChess plt45.svg Chess qdt45.svg 380
Chess rlt45.svgChess blt45.svgChess blt45.svgChess plt45.svg Chess qdt45.svg 400
Chess qlt45.svgChess plt45.svg Chess bdt45.svgChess bdt45.svgChess pdt45.svg 186
Chess qlt45.svgChess plt45.svg Chess ndt45.svgChess ndt45.svgChess bdt45.svg 143
Chess qlt45.svgChess plt45.svg Chess bdt45.svgChess bdt45.svgChess ndt45.svg 140
Chess qlt45.svgChess plt45.svg Chess rdt45.svgChess bdt45.svgChess ndt45.svg 549
Chess qlt45.svgChess nlt45.svgChess nlt45.svg Chess pdt45.svgChess pdt45.svg 260
Chess rlt45.svgChess nlt45.svgChess nlt45.svg Chess pdt45.svgChess pdt45.svg 201
Chess nlt45.svgChess nlt45.svgChess nlt45.svg Chess pdt45.svgChess pdt45.svg 143
Chess plt45.svgChess qlt45.svgChess nlt45.svg Chess pdt45.svgChess pdt45.svg 211
Chess plt45.svgChess rlt45.svgChess nlt45.svg Chess pdt45.svgChess pdt45.svg 211
Chess plt45.svgChess blt45.svgChess nlt45.svg Chess pdt45.svgChess pdt45.svg 298
Chess plt45.svgChess nlt45.svgChess nlt45.svg Chess pdt45.svgChess pdt45.svg 261
Chess plt45.svgChess plt45.svgChess qlt45.svg Chess pdt45.svgChess pdt45.svg 293
Chess plt45.svgChess plt45.svgChess rlt45.svg Chess pdt45.svgChess pdt45.svg 217
Chess plt45.svgChess plt45.svgChess blt45.svg Chess pdt45.svgChess pdt45.svg 224
Chess nlt45.svgChess nlt45.svgChess plt45.svg Chess qdt45.svgChess pdt45.svg 259
Chess plt45.svgChess plt45.svgChess nlt45.svg Chess pdt45.svgChess pdt45.svg 228
Chess plt45.svgChess plt45.svgChess plt45.svg Chess pdt45.svgChess qdt45.svg 297
Chess plt45.svgChess plt45.svgChess plt45.svg Chess pdt45.svgChess rdt45.svg 176
Chess plt45.svgChess plt45.svgChess plt45.svg Chess pdt45.svgChess bdt45.svg 182
Chess plt45.svgChess plt45.svgChess plt45.svg Chess pdt45.svgChess ndt45.svg 184
Chess plt45.svgChess plt45.svgChess plt45.svg Chess pdt45.svgChess pdt45.svg 296
Chess plt45.svgChess plt45.svgChess plt45.svgChess nlt45.svg Chess pdt45.svg 269
Chess plt45.svgChess plt45.svgChess plt45.svgChess plt45.svg Chess qdt45.svg 191
Chess plt45.svgChess plt45.svgChess plt45.svgChess plt45.svg Chess rdt45.svg 104
Chess plt45.svgChess plt45.svgChess plt45.svgChess plt45.svg Chess bdt45.svg 79
Chess plt45.svgChess plt45.svgChess plt45.svgChess plt45.svg Chess ndt45.svg 92
Chess plt45.svgChess plt45.svgChess plt45.svgChess plt45.svg Chess pdt45.svg 189
Chess blt45.svgChess blt45.svgChess blt45.svg Chess rdt45.svgChess rdt45.svg 77
Chess blt45.svgChess blt45.svgChess nlt45.svg Chess rdt45.svgChess rdt45.svg 88
Chess rlt45.svgChess rlt45.svg Chess ndt45.svgChess ndt45.svgChess ndt45.svg 70
Chess rlt45.svgChess rlt45.svg Chess bdt45.svgChess ndt45.svgChess ndt45.svg 98
Chess rlt45.svgChess nlt45.svgChess nlt45.svg Chess ndt45.svgChess ndt45.svg 262
Chess rlt45.svgChess nlt45.svgChess nlt45.svg Chess rdt45.svgChess bdt45.svg 246
Chess rlt45.svgChess nlt45.svgChess nlt45.svg Chess rdt45.svgChess ndt45.svg 246
Chess rlt45.svgChess blt45.svgChess blt45.svg Chess ndt45.svgChess ndt45.svg 238
Chess blt45.svgChess blt45.svgChess blt45.svgChess blt45.svg Chess qdt45.svg 105
Chess blt45.svgChess blt45.svgChess blt45.svgChess nlt45.svg Chess qdt45.svg 149
Chess blt45.svgChess blt45.svgChess nlt45.svgChess nlt45.svg Chess qdt45.svg 140
Chess blt45.svgChess nlt45.svgChess nlt45.svgChess nlt45.svg Chess qdt45.svg 232
Chess nlt45.svgChess nlt45.svgChess nlt45.svgChess nlt45.svg Chess qdt45.svg 86
Chess rlt45.svgChess nlt45.svgChess nlt45.svgChess nlt45.svg Chess qdt45.svg 102
Chess rlt45.svgChess nlt45.svgChess nlt45.svg Chess bdt45.svgChess ndt45.svg 210
Chess qlt45.svgChess nlt45.svgChess nlt45.svg Chess rdt45.svgChess rdt45.svg 176
Chess rlt45.svgChess rlt45.svgChess nlt45.svg Chess rdt45.svgChess rdt45.svg 304
Chess rlt45.svgChess rlt45.svgChess nlt45.svg Chess bdt45.svgChess bdt45.svg 152
Chess rlt45.svgChess rlt45.svgChess nlt45.svg Chess ndt45.svgChess ndt45.svg 262
Chess rlt45.svgChess rlt45.svgChess rlt45.svg Chess qdt45.svgChess bdt45.svg 212
Chess qlt45.svgChess rlt45.svgChess blt45.svg Chess qdt45.svgChess qdt45.svg 84
Chess qlt45.svgChess rlt45.svg Chess rdt45.svgChess rdt45.svgChess bdt45.svg 134
Chess qlt45.svgChess rlt45.svg Chess rdt45.svgChess rdt45.svgChess ndt45.svg 112
Chess qlt45.svgChess blt45.svg Chess ndt45.svgChess ndt45.svgChess ndt45.svg 117
Chess qlt45.svgChess blt45.svg Chess ndt45.svgChess ndt45.svgChess rdt45.svg 122
Chess qlt45.svgChess blt45.svg Chess ndt45.svgChess rdt45.svgChess rdt45.svg 182
Chess qlt45.svgChess blt45.svg Chess bdt45.svgChess rdt45.svgChess rdt45.svg 120
Chess qlt45.svgChess blt45.svg Chess bdt45.svgChess bdt45.svgChess rdt45.svg 195
Chess qlt45.svgChess blt45.svg Chess rdt45.svgChess bdt45.svgChess ndt45.svg 229
Chess qlt45.svgChess blt45.svg Chess bdt45.svgChess bdt45.svgChess ndt45.svg 150
Chess qlt45.svgChess nlt45.svg Chess rdt45.svgChess rdt45.svgChess ndt45.svg 192
Chess qlt45.svgChess nlt45.svg Chess rdt45.svgChess rdt45.svgChess rdt45.svg 176
Chess qlt45.svgChess nlt45.svg Chess rdt45.svgChess rdt45.svgChess bdt45.svg 197
Chess qlt45.svgChess nlt45.svg Chess rdt45.svgChess bdt45.svgChess ndt45.svg 545
Chess qlt45.svgChess nlt45.svg Chess rdt45.svgChess bdt45.svgChess bdt45.svg 169
Chess qlt45.svgChess nlt45.svg Chess bdt45.svgChess bdt45.svgChess bdt45.svg 106
Chess qlt45.svgChess nlt45.svg Chess bdt45.svgChess bdt45.svgChess ndt45.svg 115
Chess qlt45.svgChess nlt45.svg Chess rdt45.svgChess ndt45.svgChess ndt45.svg 154
Chess qlt45.svgChess blt45.svg Chess bdt45.svgChess qdt45.svgChess qdt45.svg 141
Chess qlt45.svgChess qlt45.svg Chess qdt45.svgChess rdt45.svgChess ndt45.svg 94
Chess qlt45.svgChess qlt45.svg Chess qdt45.svgChess bdt45.svgChess bdt45.svg 141
Chess qlt45.svgChess qlt45.svg Chess qdt45.svgChess bdt45.svgChess ndt45.svg 107
Chess qlt45.svgChess qlt45.svg Chess qdt45.svgChess ndt45.svgChess ndt45.svg 247
Chess qlt45.svgChess qlt45.svg Chess qdt45.svgChess pdt45.svgChess pdt45.svg 213
Chess qlt45.svgChess plt45.svgChess plt45.svg Chess qdt45.svgChess rdt45.svg 184
Chess qlt45.svgChess plt45.svgChess plt45.svg Chess qdt45.svgChess bdt45.svg 239
Chess qlt45.svgChess plt45.svgChess plt45.svg Chess qdt45.svgChess ndt45.svg 192
Chess qlt45.svgChess plt45.svgChess plt45.svg Chess qdt45.svgChess pdt45.svg 297

Расчёт[править | править код]

Время расчёта и объём баз данных шахматных окончаний экспоненциально возрастает с количеством участвующих фигур.

К настоящему времени имеются базы данных для всех трёх-, четырёх-, пяти-, шести- и семифигурных окончаний (включая двух королей). Расчет восьмифигурных окончаний пока ещё не планируется.

Размер[править | править код]

Размеры баз данных зависят как от количества фигур, так и от формата самой базы.

  • Эндшпильные таблицы Налимова
    • Все 3-фигурные таблицы занимают 62,4 КБ.
    • Все 4-фигурные таблицы занимают 29,5 МБ.
    • Все 5-фигурные таблицы занимают 7,03 ГБ.
    • Все 6-фигурные таблицы занимают 1,205 ТБ.
  • Базы Ломоносова
    • Все 7-фигурные таблицы занимают 140 ТБ.
  • Все 8-фигурные таблицы будут занимать приблизительно 10 ПБ.

История[править | править код]

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

В 1965 году Ричард Белман (англ. Richard Bellman) впервые предложил использовать метод ретроспективного анализа для создания баз данных для решений шахматных и шашечных эндшпилей. В отличие от обычного прямого поиска начинающегося с конкретной позиции стоящей на доске, эндшпильные базы данных, включающие в себя все возможные расстановки фигур, проводят поиск в обратном направлении: начиная с позиций где одна из сторон уже получила пат или мат и заканчивая конкретной позицией стоящей на доске, позволяя тем самым, получить решение с абсолютной точностью. Таким образом шахматному компьютеру во время игры больше не нужно производить расчеты эндшпиля, а достаточно лишь посмотреть в базе данных заранее посчитанный результат и сделать идеальный ход.

В 1970 году Томас Штрохлейн (нем. Thomas Ströhlein) защитил докторскую диссертацию в которой анализировались такие окончания, как KQK, KRK, KPK, KQKR, KRKB, и KRKN.

В 1977 году Кен Томпсон на конференции Международной федерации по обработке информации в Торонто представил построенную им таблицу для всех возможных положений в эндшпиле KRKQ «ладья и король против ферзя и короля». Общее число позиций для него составляет около 4 миллионов. Кен Томпсон провёл несколько показательных выступлений — компьютер играл за игрока, владеющего ладьёй. Этот эндшпиль теоретически проигрышный, шахматист уровня мастера, владея ферзём, обычно легко выигрывает его у любого противника. Поэтому компьютеру была поставлена задача максимально оттянуть свой теоретически неизбежный проигрыш. Результаты экспериментов, в которых компьютер играл с шахматистами, были довольно интересными. Против программы пытались играть Ханс Берлинер, экс-чемпион мира в игре по переписке, и Лоуренс Дей, чемпион Канады. Ни тот, ни другой не смогли выиграть у программы, хотя любая позиция была для них выигрышной. Дело в том, что теоретически безупречная игра компьютера часто выглядела нелогично, противоречила принципам, предписываемым шахматной теорией (например, обычно рекомендуется не уводить ладью далеко от короля во избежание возможных вилок, но программа нередко делала это), необычные ходы компьютера сбивали шахматиста с толку, и он упускал выигрыш, не успевая за 50 ходов поставить мат или выиграть ладью.

В 1970-е и 1980-е годы идея предварительно рассчитанных эндшпилей развивалась очень медленными темпами, так как быстродействие и объём памяти тогдашних компьютеров были существенным ограничением и не позволяли получать подробные базы данных. Тем не менее, Кен Томпсон и другие энтузиасты продолжали медленно генерировать малофигурные окончания и, спустя некоторое время, были посчитаны все 4-фигурные окончания, а к концу 1980-х — уже все 5-фигурные окончания, включая такие интересные позиции, как KBBKN, KQPKQ и KRPKR.

В 1995 году Льюис Стиллер (англ. Lewis Stiller) опубликовал работу, посвящённую исследованию некоторых 6-фигурных окончаний.

В 1998 году Евгений Налимов создал генератор шахматных окончаний, который оказался чрезвычайно эффективен. Благодаря новому эффективному генератору и росту производительности компьютеров к началу 2000-х посчитаны были все 6-фигурные окончания, что произвело настоящую революцию в понимании некоторых эндшпилей. Вскоре 6-фигурные окончания стали общедоступными в интернете и являются таковыми по сей день.

В 2012 году были рассчитаны 7-фигурные таблицы для следующих материальных соотношений — четыре фигуры против трёх и пять фигур против двух. Расчёты проводились весной-летом 2012 года, авторы таблиц — Владимир Махнычев и Виктор Захаров, сотрудники ВМК МГУ. База данных названа «таблицами Ломоносова», так как они рассчитывались на суперкомпьютерах «Ломоносов» и IBM Blue Gene/P, установленных в Московском государственном университете имени М. В. Ломоносова. 7-фигурные таблицы окончаний впервые активно использовались при анализе партий Чемпионата Мира по шахматам 2012 года[4][5]. Публичный онлайн доступ к 7-фигурным таблицам окончаний пока отсутствует. В 2016 году бесплатный доступ к таблицам был частично открыт, но пока только для пользователей с операционной системой Android, через специальное приложение[6].

См. также[править | править код]

Примечания[править | править код]

  1. Некоторые базы данных, например таблицы Налимова, содержат в себе оценки позиций при ходе только одной стороны — только белых или только чёрных. Одна и та же позиция при разной очереди хода содержится в разных таблицах.
  2. Таблицы Налимова имеют метрику DTM (англ. Depth to mate) — в выигранных позициях указывается количество ходов до мата.
  3. Мат в 549 ходов
  4. Примеры анализа сложных ситуаций в семифигурных таблицах в блоге разработчиков 7TB, (ВМК МГУ)
  5. Официальная публикация решающей партии матча на звание Чемпиона Мира по шахматам 2012 года Ананд — Гельфанд с комментариями ключевых моментов партии на основе таблиц Ломоносова
  6. https://play.google.com/store/apps/details?id=com.convekta.android.lomonosovtb&hl=ru.

Ссылки[править | править код]