GNU Chess (GNU Chess)

Перейти к навигации Перейти к поиску
GNU Chess
Логотип программы GNU Chess
Скриншот программы GNU Chess
Тип Шахматный движок
Разработчик Проект GNU
Написана на C++[2]
Операционные системы Linux, OS X и др. UNIX-подобные, Windows
Языки интерфейса Русский и др.
Первый выпуск 1984
Аппаратные платформы Intel P6[3] и x86-64[3]
Последняя версия 6.2.9[1] (14 июля 2021; 3 года назад (2021-07-14))
Репозиторий git.savannah.gnu.org/cgi…
Лицензия GNU GPL
Сайт gnu.org/software/… (англ.)
Логотип Викисклада Медиафайлы на Викискладе

GNU Chess (/ˈgnuː ʧɛs/) — бесплатная свободная шахматная программа, написанная на языке C++.

GNU Chess сама по себе имеет текстовый интерфейс, и для комфортной игры нужно использовать одну из графических оболочек, например glChess, XBoard[англ.] или WinBoard, PyChess.

Поиск следующего хода

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

Основан на модификации профессора Тони Марсланда, внесённой им в алгоритм альфа-бета минимакса, и называемой Поиском Основных Отклонений (Principal Variation Search — PVS). Этот алгоритм работает надёжно и достоверно.

Оценка позиции начиная с 5-х версий программы немного отличается от более ранних. Ранние версии использовали таблицы «фигура-поле» с неполной оценкой конечных узлов (end-leaf). Это таблицы, заполненные значениями, которые соответствуют важности присутствия фигур на данном поле. Таблица заполнялась один раз в начале поиска хода.

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

Совсем недавно произошёл возврат к идее, которую поддерживают разработчики GNU Chess: полный обсчёт конечных узлов. Далее, GNU Chess использует битовые доски для представления свойств шахматной доски. Это напоминает нам прошлое на заре компьютерных шахмат, когда гигантские электронно-вычислительные машины 1960-х использовали растровые изображения (битовые карты) для описания позиций.

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

GNU Chess не имеет официального рейтинга Эло. На бесплатном шахматном интернет-сервере freechess.org, блиц-рейтинг GNU Chess версии 5.04, работающей на компьютере на базе процессора Cyrix 166 MHz (эквивалент Pentium 200 MHz), с настройками по умолчанию превысил 2100 пунктов (рейтинги сильнейших шахматистов превышают 2700).

GNU Chess на других платформах

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

Разработчики GNU Chess получали отзывы, что их детище действительно компилируется и запускается также на платформах DOS и OS/2 c использованием инструментария EMX.

Компьютерные шахматы на основе GNU Chess

[править | править код]
  • Компьютерные шахматы
  • UCI (англ. Universal Chess Inteface) — свободно распространяемый коммуникационный протокол, позволяющий движкам шахматных программ взаимодействовать с их графическим интерфейсом.

Примечания

[править | править код]
  1. Antonio Ceballos. GNU Chess 6.2.9 released (англ.). lists.gnu.org (9 мая 2020). Дата обращения: 14 июля 2021. Архивировано 10 мая 2021 года.
  2. The gnuchess Open Source Project on Open Hub: Languages Page — 2006.
  3. 1 2 Guix