Komodo 8 скачать шахматный движок. Шахматный движок Komodo: краткий обзор программы

Komodo - один из самых сильных шахматных движков. Он использует протокол UCI . То есть, сам движок представляет из себя консольное приложение, и для комфортной работы с ним необходима графическая оболочка, поддерживающая этот протокол (подойдёт, например, или Chessbase).

Здесь мы приведём все настройки, предоставляемые в последних версиях Komodo (начиная с 9.2). Возможно, в будущем они будут меняться. Для изменения настройки необходимо передать движку команду

setoption <имя_настройки> value <новое значение> Подробнее про это можно прочитать в описании команды setoption протокола UCI.

Настройки

Большинство настроек Komodo подробно описаны либо на сайте авторов , либо в файле Readme , поставляемого вместе с движком. Здесь мы приведём их описание на русском.

OwnBook
Если настройка включена, то Komodo при анализе позиции будет использовать дебютную книгу. Она располагается в отдельном файле, путь к которому задаётся в настройке . Значение по умолчанию: true .

Book File .
Имя файла с дебютной книгой. Komodo поддерживает дебютные книги в формате Polyglot (расширение .bin ). Значение по умолчанию: komodo.bin

Best Book Line . Возможные значения: true , false .
Если настройка включена, то Komodo будет уделять больше внимания наилучшему ходу из дебютной книги. Для работы этой настройки необходимо, чтобы движок использовал дебютную книгу ( = true ) и настройка указывала на файл с дебютной книгой. Значение по умолчанию: false .

Use Syzygy . Возможные значения: true , false .
Если настройка включена, то Komodo будет использовать эндшпильные таблицы в формате Syzygy. Путь к ним задаётся настройкой . Значение по умолчанию: true .

SyzygyPath .
Путь к папке, в которой расположены файлы с эндшпильными базами в формате syzygy. Если папок несколько, то пути к ним нужно разделять символом "; " в системе Windows и символом ": " в Unix-системах. Значение по умолчанию:

Syzygy Probe Depth . Возможные значения от 0 до 99 .
Эта настройка задаёт глубину анализа, начиная с которой движок начнёт обращаться к эндшпильным базам в формате syzygy (для этого должна быть включена настройка ). При этом движок всегда проверит изначальную позицию в эндшпильных базах. Оптимальное значение настройки тем выше, чем медленнее скорость доступа к эндшпильным базам. Так, если базы хранятся на SSD накопителе (то есть скорость доступа к ним очень высока), то оптимальным будет значение 1. Если же базы записаны на обычном жёстком диске или, что ещё хуже, на USB накопителе, то слишком частое обращение к ним может существенно замедлить анализ позиции. В этом случае настройку Syzygy Probe Depth стоит установить повыше. Измеряется в полуходах. Значение по умолчанию: 2 .

Syzygy Probe Limit . Возможные значения от 0 до 6 .
Задаёт, сколько на доске должно остаться фигур, чтобы начать обращаться к эндшпильным базам. Оптимальное значение этого параметра зависит от того, какие у вас имеются базы. Если шестифигурки, то стоит указать 6 . Однако если есть только пятифигурки, то лучше указать 5 . Значение параметра 0 полностью отключит использование эндшпильных баз. Значение по умолчанию: 6 .

Syzygy 50 Move Rule . Возможные значения: true , false .
Если настройка включена, то при доступе к эндшпильным базам в формате syzygy (см. ) будет учитываться правило 50-ти ходов. То есть, если позиция приводит к мату, но до него нужно сделать более 50 обратимых ходов, то позиция будет объявлена ничейной. Значение по умолчанию: true .

Smart Syzygy . Возможные значения: true , false .
Если настройка включена, то движок всегда будет обращаться к эндшпильным базам в формате syzygy (см. ), как только на доске осталось ( - 1) фигур, при любой глубине анализа. Если же настройка выключена, то обращение к эндшпильным базам начнётся только по достижении глубины . Эта настройка позволяет получать больше пользы от эндшпильных баз на компьютерах с медленным доступом к жёсткому диску.
Например, пусть выставлен в 6, выставлен в 10 и включена Smart Syzygy . Тогда при достижении глубины анализа 10 Komodo будет использовать 6-фигурные эндшпильные базы Syzygy. На меньшей глубине он будет обращаться к пятифигуркам. Дело в том, что пятифигурные базы занимают полгигабайта и на многих компьютерах кешируются в оперативную память. С другой стороны, обращение к шестифигуркам обычно замедляет работу движка при использовании стандартных жёстких дисков.
Параметр Smart Syzygy не влияет на анализ стартовой позиции. То есть, если в позиции осталось шесть фигур, то Komodo в любом случае будет обращаться к шестифигуркам. Значение по умолчанию: false .

Threads . Возможные значения от 1 до 64 .
Число потоков, которые будут параллельно производить анализ. Чем больше значение настройки, тем быстрее анализируется позиция, а следовательно возрастает сила игры. С другой стороны, большое число потоков может "тормозить" систему. Также не имеет смысла устанавливать значение больше, чем число ядер в процессоре. Даже если процессор поддерживает больше потоков, чем у него есть физических ядер (режим hyper-threading), то всё равно наиболее сильная игра будет при параметре Threads равном числу физических ядер. Значение по умолчанию: 1 .

Use LMR . Возможные значения: true , false .
Use Lmr до версии 9.3.
Включает(true )/выключает(false ) режим LMR (удаление поздних ходов). Это специальный режим в Komodo, который позволяет выкидывать из рассмотрения многие ходы, в результате чего серьёзно увеличивается глубина анализа позиции. Однако некоторые важные ходы при этом могут быть пропущены.
Обычно со включенным режимом LMR Komodo играет гораздо сильнее. Однако в некоторых сложных позициях может иметь смысл отключить его, чтобы тщательнее исследовать позицию на предмет неожиданных решений.
Значение по умолчанию: true .

Null Move Pruning . Возможные значения: true , false .
Включает(true )/выключает(false ) режим обрезания пустых ходов. Он во многом похож на режим . В этом режиме движок отбрасывает многие, по его мнению не стоящие ходы. Со включенным режимом движок играет гораздо сильнее, однако время от времени он может пропускать глубокие угрозы или цугцванги. Рекомендации здесь такие же, как и для LMR. В сложных позициях можно попробовать отключить этот режим для более тщательного анализа позиции. Значение по умолчанию: true .

Null Scale . Возможные значения от 10 до 50 .
Позволяет управлять, насколько сильно Komodo сокращает глубину анализа при использовании режима обрезания пустых ходов. Большие значения приводят к большим обрезаниям, что позволяет движку анализировать глубже, увеличивая при этом риск пропустить что-нибудь важное. Чтобы этот параметр работал, настройка должна быть включена. Тесты разработчиков показали, что значение настройки 29 оптимально. Значение по умолчанию: 29 .

Time Usage . Возможные значения от -9 до 9 .
Эта настройка задаёт то, как Komodo управляет эвристиками контроля времени. Они могут сделать движок более или менее агрессивным. Скорее всего, значение 0 близко к идеальному. Однако можно заставить движок играть быстрее, выставив негативное значение Time Usage или наоборот, заставить движок выделять время на ход более агрессивно, выставив положительное значение настройки. Вряд ли при экстремальных значениях Time Usage движок будет играть хорошо. Так что рекомендуется экспериментировать с его небольшими изменениями. Значение по умолчанию: 0 .

King Safety
Настройка контролирует, как высоко движок оценивает безопасность короля. Чем выше значение King Safety , тем большим будет эффект от атак на короля в оценке позиции. Значение по умолчанию: 60 для версий до v9.4, 70 для v9.4 и 85 для v10.2 и выше.

Selectivity . Возможные значения от 10 до 200 .
Настройка контролирует, какое воличество ходов Komodo отбрасывает при анализе. Более высокие значения настройки заставят движок отбрасывать больше ходов на небольших глубинах поиска, что приведёт к большей глубине поиска. Однако это увеличит риск потери некоторых хороших ходов. Значение по умолчанию: 74 для версий до v9.3, 131 для v9.3, v9.4 и 100 для v10 и выше.

Reduction . Возможные значения от -1000 до 150 .
Настройка контролирует глубину анализа движка. Увеличение значения этой настройки заставит Komodo "обрубать" части дерева поиска раньше. Это увеличит глубину поиска, однако, как и для настройки , некоторые хорошие ходы могут быть утеряны. Авторы утверждают, что в однопоточном режиме ( = 1 ) оптимальное значение параметра близко к нулю. Однако в многопоточном режиме такой уверенности нет. Значение по умолчанию: 0 .

Contempt . Возможные значения от -500 до 500 .
Рискованность движка. Чем значение больше, тем более рискованные ходы движок делает. С уменьшением значения движок будет делать более осторожные ходы, что будет приводить к большему числу ничьих. Авторы Komodo дают такие рекомендации: против приблизительно равных по силе оппонентов значение Contempt лучше выставить в 0. Если оппонент слабее, то значение стоит слегка увеличить (по умолчанию оно равно 15 ). Против человека его следует выставлять минимум 25. Рекомендованные значения: 40 против гроссмейстеров, 50 против мастеров и 75 против сильных любителей. Значение по умолчанию: 15 для версий до v9.3 и 10 для v9.3 и выше.

White Contempt . Возможные значения: true , false .
Contempt for White до версии 10.
Если установлен в true , то рискованность позиции (параметр ) движок всегда вычисляет с точки зрения белых. В противном случае, она вычисляется со стороны игрока, чей сейчас ход. То есть, при включённой настройке White Contempt , положительное значение означает, что белые будут менее склонны принимать ничьи или обмен фигурами. При отрицательном значении белые, наоборот, будут более склонны к ничьим. Если движок играет чёрными, то значение нужно брать с противоположным знаком. Установление этого параметра в true также запретит автоматическое установление рискованности в ноль при бесконечном анализе позиции. Значение по умолчанию: false .

Dynamism . Возможные значения от 0 до 200 .
Настройка, контролирующая, насколько серьёзно в своём анализе движок учитывает динамичную составляющую. Чем меньше значение настройки, тем аккуратнее движок играет. Большие же начения делают игру более рискованной. Статичные составляющие оценки позиции (материал, пешечная структура и т.п.) этой настройкой не затрагиваются. При слишком маленьких значениях Dynamism игра движка станет неадекватной. При значениях параметра в районе 80 движок выдаёт более реалистичную оценку позиции, чем при значении 117 . Однако сила игры при этом снижается где-то на 20 - 30 ELO. Значение по умолчанию: 100 для версий до v10 и 117 для v10 и выше.

Progress Threshold . Возможные значения от 10 до 99 .
Указывает, после какого числа обратимых полуходов Komodo начинает устремлять оценку позиции к нулю (в соответствии с правилом 50 ходов). Чем меньше это значение, тем раньше движок начинает замечать, что не было сделано никакого прогресса, и начинает давать больший приоритет необратимым ходам. На чемпионате мира использовалось значение 85 . По всей видимости, оно даёт прирост в 1-2 ELO по сравнению с нынешним значением по умолчанию 30 . Однако значение по умолчанию делает движок лучшим средством для анализа, сокращает длинные партии и успешно помогло выиграть мировой чемпионат по рапиду. Значение по умолчанию: 30 .

Эта настройка нужна в случае, когда движок работает с медленным интернет соединением или медленным пользовательским интерфейсом. Она указывает, на сколько миллисекунд стоит раньше выдавать ход, чем если бы он передавался сопернику мгновенно. Этот параметр можно увеличить, если дижок слишком часто проигрывает по времени. Значение по умолчанию: 30 .

Minimal Reporting . Возможные значения от 0 до 200 .
Suppress в версиях 9.3 и 9.4.
Настройка позволяет уменьшить объём выдаваемой движком информации в самом начале анализа хода. Например, если выставлено значение 8, то движок не будет выдавать никаких оценок, пока не достигнута глубина в 8 полуходов. Эта настройка может быть полезной, если движок запущен через сеть. В этом случае, сократив вывод на начальном этапе анализа, можно существенно ускорить работу движка. Значение по умолчанию: 0 .
В версиях 9.3 и 9.4 эта настройка включала и выключала режим suppress , который уже в свою очередь делал то, что Minimal Reporting делает сейчас.

Ponder . Возможные значения: true , false .
Если настройка включена, движок переключается в режим, когда он может думать над позицией во время хода противника. В этом режиме Komodo не начинает анализ сам по себе, для этого ему должна быть послана команда "go ponder " (см. описание команды ). Значение по умолчанию: true .

Log File .
Имя файла, в который будет записываться журнал действий движка. Значение по умолчанию:

UCI_Chess960 . Возможные значения: true , false .
Если настройка включена, то Komodo будет анализировать игру для шахмат Фишера. Значение по умолчанию: false .

UCI_AnalyseMode . Возможные значения: true , false .
Включенная настройка означает, что движок будет оптимизирован под бесконечный анализ позиции, а не под непосредственно игру. Значение по умолчанию: false .

MultiPV . Возможные значения от 1 до 218 .
Указывает, сколько рекомендуемых ходов должен выводить движок. Значение по умолчанию: 1 .

Hash . Возможные значения от 1 до 65536 (от 1 до 2048 в 32-хбитной версии).
Размер памяти, выделяемой для хранения различной информации. Косвенно влияет на силу игры: больше памяти - сильнее игра. Однако слишком большие значения Hash могут наоборот замедлить работу движка, так как всей системе перестанет хватать памяти. Рекомендации по оптимальной установке этого параметра можно найти в файле setHash.txt , который поставляется вместе с движком. Измеряется в мегабайтах. Значение по умолчанию: 128 .

Clear Hash .
Эта команда используется для очистки памяти, выделенной параметром

Table Memory . Возможные значения от 1 до 1024 .
Размер памяти в мегабайтах, выделяемой для хранения различных внутренних таблиц, таких как хеш таблица пешечных структур и некоторые другие. Слишком много памяти может негативно сказаться на силе игры, ровно как и слишком мало памяти. Значение по умолчанию 128 на современных машинах в большинстве случаев выглядит оптимальным. Для достаточно медленных компьютеров можно попробовать уменьшить этот параметр, а для высокопроизводительных компьютеров или для игр с большим контролем (или для анализа) можно попробовать его увеличить. В последних турнирах разработчики выставляли значение 512 . Значение по умолчанию: 64 для версий до v9.4 и 128 для версии v10.0 и выше.

Шахматный движок Komodo — разработанный Американскими программистами Don Dailey и Mark Lefler, а также поддерживаемый шахматистом Larry Kaufman. Данная машина является коммерческим программным обеспечением, однако версия «9 » полностью бесплатна для некоммерческого использования. Комодо является одним из сильнейших движков , наряду со и , занимая лидирующие позиции в известных рейтинговых списках. Главной особенностью является то, что он в большей степени полагается на оценку позиции, нежели на глубину поиска, и потому имеет отличительный позиционный стиль игры. Don Dailey полагал, что у машины лучшая оценочная функция.

Вот что сказал о движке гроссмейстер Roman Dzindzichashvili:

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

Одна из интересных партий сыгранных в одном из сильнейших компьютерных турниров в мире — TCEC. Он выиграл седьмой сезон TCEC, победив своего главного соперника, Stockfish, в супер финале со счетом 33,5-30,5.

Аналогичные движки по силе.

  • Andscacs 0.921 (ЭЛО - 3257)
  • Stockfish 8 (ELO - 3420)
  • Houdini 6 (ЭЛО - 3410)

Желаем удачи!

Stockfish (Стокфиш) 9, 8

Версия "9" вышла в феврале 2018 года. В рейтинговом списке 2018 года занимает 1 место. ELO - 3420. Страна: Норвегия.

Houdini (Гудини) 5, 6

Версия "6" вышла в сентябре 2017 года. В рейтинговом списке 2018 года занимает 2 место. ELO - 3410. Страна: Бельгия.

Будущее шахмат за компьютерами. Трудно найти человека, который не согласится с этим утверждением.

Однако эти слова не совсем точны. В общем и целом компьютеры стали для шахмат и настоящим .

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

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

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

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

Подобно тому, как Магнус Карлсен, Фабиано Каруана, Виши Ананд, Веселин Топалов и Хикаро Накамура (и прочие) доминируют в шахматном мире людей, также и элитные движки царят в мире компьютерных шахмат.

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

5. Gull 2.8b (англ. "чайка", произносится - "галл")

Рейтинг: 3214


"Галл" можно назвать дебютантом среди элиты компьютерных шахмат. Этот бесплатный движок на основе открытого кода создан Вадимом Демичевым по образу и подобию 2-х других более ранних шахматных программ: "Айвенго" и "Стрелки".

В новой версии рейтинга компьютерных шахматных программ CCRL 40/40 Pure (в котором для предотвращения размывания показателей от каждого семейства движков представлена только одна версия) "Галл" завоевал 11 баллов, расположившись на 5-м месте среди лучших шахматистов Вселенной.

4. Fire 4 (англ. "пламя", произносится - "фаер")

Рейтинг: 3229


Картинка с сайта Fire

"Фаер" - бесплатный движок, который ранее функционировал на основе открытого кода (но больше его не использует).

Его разработка началась в 2010-м году, и поэтому "Фаер" можно назвать еще одним быстро прогрессирующий представитель мира компьютерных шахмат. В рейтинге компьютерных шахматных программ CCRL pure он набрал на 16 баллов больше своей версии с обычной базой данных, превысив аналогичные показатели всех движков из топ15.

3. Houdini 4 (англ. "Гудини")

Рейтинг: 3277

картинка с сайта Гудини

Гудини - платный движок, который раньше был сильнейшим в мире, но и сегодня остается мощной шахматной программой.

По словам создателей: "Название "Гудини" было дано за стиль позиционной игры, демонстрируемый движком, его стойкость в сложных позициях и способность обороняться с упорством и находить спасительную ничью, иногда находясь на волосок от гибели".

2. Stockfish 6 (англ. "вяленая рыба", произносится - "стокфиш")

Рейтинг: 3318

Картинка с сайта Stockfish

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

Главные преимущества Стокфиш, заключаются в том, что он бесплатный, использует открытый код и поддерживает кросс-платформенность.

Комодо - лучшая платная программа, ставшая безоговорочным чемпионом в 2014-м году, после чего ее в этом году ненадолго превзошла новая версия Стокфиш. Затем его разработчики выпустили 9-ю версию Комодо, которая приблизительно на 50 рейтинговых баллов превзошла свою предшественницу.

“Я поражен до глубины души игрой Комодо. Я наблюдал и анализировал все партии и стал свидетелем безупречной позиционной игры, равной которой никогда не показывали ни компьютеры, ни люди.”

Что вы думаете о компьютерных шахматах? Поделитесь с нами своим мнением в разделе "Комментарии".