Шахматный движок (англ. Chess engine) — компьютерная программа, предназначенная для просчитывания вариантов шахматных ходов.

Thumb
Шахматная программа «glChess» (основана на GNU Chess) из набора игр GNOME Games

Интерфейс

Большинство шахматных движков не имеют собственного графического интерфейса пользователя (GUI), но существуют дополнительные приложения, которые его формируют, например XBoard под Linux и WinBoard под Windows.

Протоколы

Интерфейс командной строки GNU Chess стал фактически начальным стандартом, названным Chess Engine Communication Protocol, и он впервые был поддержан в XBoard. Когда XBoard был портирован под операционную систему Windows под названием WinBoard, этот протокол был переименован в «Протокол WinBoard». Протокол WinBoard был самостоятельно модернизирован, и две версии протоколов упоминаются как «Протокол 1 WinBoard» (исходная версия) и «Протокол 2 WinBoard» (более новая версия). Есть другой протокол — универсальный шахматный интерфейс (Universal Chess Interface, UCI). Некоторые программы поддерживают оба протокола, но у каждого из них есть свои сторонники. Протокол Winboard в прошлом был популярен, но в настоящее время стандартом де-факто является UCI, множество разработчиков шахматных программ полагают, что универсальный шахматный интерфейс легче использовать. Некоторые интерфейсные программы (например, Arena) поддерживают оба протокола, тогда как другие поддерживают только один и зависят от дополнений, например, такого, как Polyglot[1].

Турниры

Результаты компьютерных турниров дают возможность сравнения силы шахматных движков. Вероятно, турниры не содержат достаточного количества игр для точной оценки их силы. Для того чтобы сделать достоверные выводы о силе программ, необходимо провести порядка тысячи игр между ними, поэтому на практике в турнирах поступают иначе[2]. Для достижения большей объективности на многих турнирах выдвигаются одинаковые для всех участников требования к аппаратной мощности.

Исторически, наиболее сильными стали коммерческие шахматные движки. В 2007, 2008 и 2009 годах чемпионат мира по шахматам среди компьютерных программ выиграла Rybka, что было в некоторой степени сбывшимся прогнозом. Если любительская программа выигрывает турнир или выступает хорошо, как, например, Zappa в 2005 году, то позже программа может стать коммерческой. Титулы, полученные на турнирах после победы, дают престиж и используются для последующего маркетинга.

Рейтинг-листы шахматных движков

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

Существует много факторов, различающих рейтинг-листы шахматных движков:

  • Контроль времени. Более долгий контроль времени, такой, как 40 ходов в течение 120 минут, лучше подходит для определения силы игры в турнире, но отнимает больше времени на тестирование.
  • Используемые аппаратные средства и операционная система: 64-битные или 32-битные аппаратные средства, мультипроцессорные или однопроцессорные системы, быстродействие процессоров и объём памяти. Более быстрые аппаратные средства с большей памятью позволяют сильнее играть.
  • Настройки параметра расчётов (возможность анализа во время хода соперника).
  • Размеры таблиц перестановок (повторяющихся шахматных позиций).
  • Настройки дебютных книг (начал шахматных партий).

Различия в этих факторах влияют на результат и усложняют прямое сравнение оценок рейтинг-листов.

Рейтинг лучших шахматных движков в различных листах (показаны только лучшие версии для каждой программы):

Подробнее Рейтинг-лист, Контрольвремени (ходы/минуты) ...
Рейтинг-лист Контроль
времени

(ходы/минуты)
Год
начала
Последнее
обновление
Кол-во
движков-
платформ
Сыграно
игр
Лучшие три движка
(только лучшие версии)
Рейтинг
CCRL[3] 40/15[4] 20059 ноября 202027321 189 229 Stockfish 12 64-bit 4CPU
Komodo 14 64-bit 4CPU
Houdini 6 64-bit 4CPU
3516
3419
3400
CEGT[5] 40/20[6] 20069 ноября 202018751 401 865 Stockfish 12.0 x64 4CPU
LCZero 0.26.3 Cuda
Fat Fritz 1.1 Cuda
3587
3539
3450
SSDF[7] 40/120 19849 ноября 2020391153 481 Stockfish 11 x64
Komodo 13.1 x64
Deep Shredder 13 x64
3558
3471
3357
Закрыть

Эти рейтинги не имеют прямого отношения к обычным рейтингам ФИДЕ или другим рейтингам шахматных федераций, хотя и посчитаны с использованием системы рейтинга Эло или подобных расчётных методов. За исключением нескольких шахматистов, игравших против шахматных программ, использованных много лет назад SSDF (которые далеки от сегодняшнего уровня), в настоящее время нет связи между этими рейтинг-листами и пулом игроков. Таким образом результаты, которые отражают разряды и разницу в рейтингах, а не абсолютный уровень в числовых значениях. Помимо этого, каждый список калибрует их рейтинг Эло при помощи других методов. По этой причине никакие сравнения рейтингов Эло невозможно провести по этим рейтинг-листам. Тем не менее, в свете последних матчей людей против машин, как правило, топовые шахматные компьютерные программы должны просчитывать на уровне предела человеческих шахматных возможностей, и, вероятно, значительно выше.

Практически во всех рейтинг-листах отсутствуют данные по программе IPPOLIT и её производных (к примеру, Fire). Хоть это и очень сильные шахматные программы с открытым исходным кодом, их всё же избегают по причине того, что они были созданы с применением обратной разработки программы Rybka[8]. Из-за возникших противоречий все эти движки угодили в черные списки на турнирах и рейтинговых списках. В свою очередь, программе Rybka были выдвинуты обвинения в том, что она нелегально содержала части программы Fruit[9], и в июне 2011 ICGA официально утверждала, что Rybka содержала в себе части программ Fruit и Crafty, за что получила запрет на участие в чемпионате мира по шахматам среди компьютерных программ, а также лишена всех титулов победителя (2007, 2008, 2009, и 2010)[10]. ICGA за такое решение подверглась критике от Dr. Søren Riis, который являлся давним сторонником программы Rybka[11]. Rybka по-прежнему включают во множество ранговых списков.

Тестовые наборы

Движки можно проверять при помощи специально подобранных шахматных позиций. Обычно в таких тестах используются позиции, где существует только один лучший ход. Эти позиции могут быть подобраны с упором на позиционность, тактику или эндшпиль. Тестовый набор Nolot подобран с фокусом на глубокие жертвы[12]. Также есть наборы BT2450 и BT2630, созданные Хубертом Беднорцем (Hubert Bednorz) и Фредом Тонниссеном (Fred Toennissen). Эти наборы призваны прощупать тактические возможности шахматных движков и были использованы, по крайней мере в шахматной программе REBEL. Существует также общий набор тестов, называемый «блеск» (Brilliancy), созданный Даной Турнмир (Dana Turnmire). Этот набор был составлен на основе книги How to Reassess Your Chess Workbook[13].

Тест стратегии (STS) от Шваминатана и Дэна Корбит (Swaminathan and Dann Corbit) проверял силу стратегического мышления движков[14].

Самым трудным современным набором тестов является Nightmare II, подобранный Вальтером Эйгенманном (Walter Eigenmann). В этом наборе содержится 30 чрезвычайно сложных заданий, подобранных специальным образом для шахматных движков[15].

См. также

Примечания

Литература

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.