Interested Article - Шахматный движок

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

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

Интерфейс

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

Протоколы

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

Турниры

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

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

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

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

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

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

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

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

Рейтинг-лист Контроль
времени

(ходы/минуты)
Год
начала
Последнее
обновление
Кол-во
движков-
платформ
Сыграно
игр
Лучшие три движка
(только лучшие версии)
Рейтинг
CCRL 40/15 2005 9 ноября 2020 2732 1 189 229 Stockfish 12 64-bit 4CPU
Komodo 14 64-bit 4CPU
Houdini 6 64-bit 4CPU
3516
3419
3400
CEGT 40/20 2006 9 ноября 2020 1875 1 401 865 Stockfish 12.0 x64 4CPU
LCZero 0.26.3 Cuda
Fat Fritz 1.1 Cuda
3587
3539
3450
SSDF 40/120 1984 9 ноября 2020 391 153 481 Stockfish 11 x64
Komodo 13.1 x64
Deep Shredder 13 x64
3558
3471
3357

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

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

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

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

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

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

См. также

Примечания

  1. . Дата обращения: 29 июня 2009. 2 августа 2008 года.
  2. Дата обращения: 1 июля 2009. 2 мая 2008 года.
  3. . Дата обращения: 29 июня 2009. 14 июля 2009 года.
  4. Также доступно: 40 ходов за 4 минуты.
  5. . Chess Engines Grand Tournament . Дата обращения: 29 июня 2009. Архивировано из 20 апреля 2009 года.
  6. Также доступно: 40 ходов за 4 минуты, 40 ходов за 120 минут.
  7. . Swedish Chess Computer Association . Дата обращения: 29 июня 2009. 3 марта 2012 года.
  8. . www.chessvibes.com. Дата обращения: 15 января 2017. Архивировано из 16 января 2017 года.
  9. . chessprogramming.wikispaces.com. Дата обращения: 15 января 2017. 3 ноября 2012 года.
  10. . www.chessvibes.com. Дата обращения: 15 января 2017. Архивировано из 21 апреля 2017 года.
  11. . Chess News (англ.) . 2012-01-02. из оригинала 31 октября 2016 . Дата обращения: 15 января 2017 .
  12. . chessprogramming.wikispaces.com. Дата обращения: 15 января 2017. 18 ноября 2016 года.
  13. . www.talkchess.com. Дата обращения: 15 января 2017. 27 сентября 2016 года.
  14. . sites.google.com. Дата обращения: 15 января 2017. 18 января 2017 года.
  15. Walter Eigenmann. . Glarean Magazin (25 августа 2016). Дата обращения: 15 января 2017. 9 января 2017 года.

Литература

  • Корнилов Е. Н. Программирование шахмат и других логических игр. — СПб. : БХВ-Петербург, 2005. — ISBN 5-94157-497-5 .
Источник —

Same as Шахматный движок