Как правильно настроить стокфиш

Настройки движка Stockfish.

Здесь мы приведём все настройки, предоставляемые Stockfish последних версий (начиная с 2.0.1). От версии к версии набор настроек сильно меняется, потому мы постараемся указать, в каких версиях та или иная настройка работает. К сожалению, авторы движка опубликовали описания не для всех настроек, так что этот текст будет неполным. Для изменения настройки необходимо передать движку команду Подробнее про это можно прочитать в описании команды setoption протокола UCI.

Настройки последней версии ( v8 )

  • Clear Hash
  • Contempt — от v3
    (Contempt Factor до v6 )
  • Debug Log File — от v8
  • Hash
  • Minimum Thinking Time
  • Move Overhead — от v6
  • MultiPV
  • nodestime — от v7
  • Ponder
  • Slow Mover — от v3
  • Skill Level — от v2.1
  • SyzygyPath — от v6
  • SyzygyProbeDepth — от v6
  • Syzygy50MoveRule — от v6
  • SyzygyProbeLimit — от v6
  • Threads
  • UCI_Chess960

Настройки предыдущих версий

  • Aggressiveness — v2.0.1 — v5
  • Best Book Move — v2.0.1 — v5
  • Book File — v2.0.1 — v5
  • Check Extension (non-PV nodes) — v2.0.1
  • Check Extension (PV nodes) — v2.0.1
  • Cowardice — v2.0.1 — v6
  • Emergency Base Time — v2.0.1 — v5
  • Emergency Move Horizon — v2.0.1 — v5
  • Emergency Move Time — v2.0.1 — v5
  • Idle Threads Sleep — v2.0.1 — v5
    (Use Sleeping Threads до v4 )
  • Mate Threat Extension (non-PV nodes) — v2.0.1
  • Mate Threat Extension (PV nodes) — v2.0.1
  • Max Threads per Split Point — v2.0.1 — vDD
    (Maximum Number of Threads per Split Point до v2.2.2 )
  • Min Split Depth — v2.0.1 — v6
    (Minimum Split Depth до v2.2.2 )
  • Mobility (Endgame) — v2.0.1 — v5
  • Mobility (Midgame) — v2.0.1 — v5
    (Mobility (Middle Game) до v4 )
  • OwnBook — v2.0.1 — v5
  • Passed Pawn Extension (non-PV nodes) — v2.0.1
  • Passed Pawn Extension (PV nodes) — v2.0.1
  • Passed Pawns (Endgame) — v2.0.1 — v5
  • Passed Pawns (Midgame) — v2.0.1 — v5
    (Passed Pawns (Middle Game) до v4 )
  • Pawn Endgame Extension (non-PV nodes) — v2.0.1
  • Pawn Endgame Extension (PV nodes) — v2.0.1
  • Pawn Push to 7th Extension (non-PV nodes) — v2.0.1
  • Pawn Push to 7th Extension (PV nodes) — v2.0.1
  • Pawn Structure (Endgame) — v2.0.1 , v4 — v5
  • Pawn Structure (Midgame) — v2.0.1 , v4 — v5
    (Pawn Structure (Middle Game) до v4 )
  • Search Log Filename — v2.0.1 — v5
  • Single Evasion Extension (non-PV nodes) — v2.0.1
  • Single Evasion Extension (PV nodes) — v2.0.1
  • Space — v2.0.1 — v6
  • UCI_AnalyseMode — v2.0.1 — v5
  • Write Debug Log — v3 — v7
    (Use Debug Log до v4 )
  • Write Search Log — v2.0.1 — v5
    (Use Search Log до v4 )

Write Search Log. Возможные значения: true , false .
Use Search Log до версии 4.
Если настройка включена ( true ), то движок будет записывать результаты анализа позиции в файл. Имя этого файла записывается в настройке Search Log Filename. Значение по умолчанию: false .

Search Log Filename.
Имя файла, в который будут записываться результаты анализа позиции. Чтобы запись производилась, необходимо включить настройку Use Search Log. Значение по умолчанию: SearchLog.txt .

Write Debug Log. Возможные значения: true , false .
Use Debug Log до версии 4.
Если настройка включена ( true ), то движок будет записывать весь свой ввод и вывод в файл io_log.txt . Значение по умолчанию: false .

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

Book File.
Путь к дебютной книге, которая будет использоваться движком. Stockfish использует дебютные книги от Polyglot (расширение bin ). Значение по умолчанию: book.bin .

Best Book Move. Возможные значения: true , false .
Мы не знаем, что конкретно делает эта настройка. Вероятно, если она включена и в движок загружена дебютная книга (см. настройку Book File), то движок предлагает лучший ход из неё. Значение по умолчанию: false .

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

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

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

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

Min Split Depth. Возможные значения: от 4 до 7 для версий ниже 3;
&nbsp от 4 до 12 для версии 3;
&nbsp от 0 до 12 для версии 4 и выше.

Minimum Split Depth до версии 2.2.2
При использовании нескольких процессоров Stockfish ведёт себя следующим образом. Сначала анализ проводится одним потоком. Далее, по достижению глубины Minimum Split Depth анализ распараллеливается на несколько потоков (момент, когда это происходит, называется «точкой разбиения»). Максимальное их число записывается в Maximum Number of Threads per Split Point. Если после такого распараллеливания ещё остаются свободные потоки, то анализ продолжается до следующей точки распараллеливания, где один из потоков анализа разбивается дальше. Глубина измеряется в полуходах (не уверен на 100%). Изменение этой настройки может привести к более эффективному использованию многозадачности. Однако тут сложно дать какие-то рекомендации. Значение по умолчанию: 4 для версий до 4-й и 0 для более новых версий.

Max Threads per Split Point. Возможные значения от 4 до 8 .
Maximum Number of Threads per Split Point до версии 2.2.2.
Максимальное число параллельных потоков, на которое разбивается анализ позиции. Подобных «точек разбиения» во время анализа может быть несколько. Подробнее про них см. описание Minimum Split Depth. Изменение этой настройки может привести к более эффективному использованию многозадачности. Однако тут сложно дать какие-то рекомендации. Значение по умолчанию: 5 .

Threads. Возможные значения: от 1 до 16 для v2.0.1;
&nbsp от 1 до 32 для v2.1 — v2.2.2;
&nbsp от 1 до 64 для v3 — v DD;
&nbsp от 1 до 128 для v5 и выше.

Число потоков, которые будут параллельно производить анализ. Чем больше значение настройки, тем быстрее анализируется позиция, а следовательно возрастает сила игры. С другой стороны, большое число потоков может «тормозить» систему. Также не имеет смысла устанавливать значение больше, чем число ядер в процессоре. По умолчанию до v4 число потоков устанавливалось равным числу ядер процессора, на котором запущен движок. В более новых версиях значение по умолчанию: 1 .

Use Sleeping Threads. Возможные значения: true , false .
Если настройка включена, то будут использоваться «спящие потоки». Не до конца представляю, что это значит. Однако авторы утверждают, что эта настройка может ускорить анализ на процессорах с технологией Hyper-Threading. По умолчанию настройка выключена ( false ).

Hash. Возможные значения: от 4 до 8192 для версий ниже v3;
&nbsp от 1 до 8192 для v3 — v DD;
&nbsp от 1 до 16384 для v5;
&nbsp от 1 до 2048 для v6 и выше (32 бит);
&nbsp от 1 до 1048576 для v6 и выше (64 бит).

Размер памяти, выделяемой для хранения хеш таблиц. Косвенно влияет на силу игры (больше памяти — сильнее игра). Измеряется в мегабайтах. Значение по умолчанию: 32 для версий до v6 и 16 для v6 и выше.

Clear Hash.
Эта команда используется для очищения памяти, используемой для хранения хеш таблиц.

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

OwnBook. Возможные значения: true , false .
Если настройка включена, то Stockfish будет использовать свою собственную дебютную базу. По умолчанию настройка выключена ( false ).

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

Emergency Move Horizon. Возможные значения от 0 до 50 .
Горизонт для экстренного хода. Что это такое — не ясно. Значение по умолчанию: 40 .

Emergency Base Time. Возможные значения: от 0 до 60000 для версий ниже 2.1;
&nbsp от 0 до 30000 для версии 2.1 и выше.

Время на Emergency base. Что это такое — не ясно. Измеряется в миллисекундах. Значение по умолчанию: 200 .

Emergency Move Time. Возможные значения от 0 до 5000 .
Время на экстренный ход. Что это такое — не ясно. Измеряется в миллисекундах. Значение по умолчанию: 70 .

Minimum Thinking Time. Возможные значения от 0 до 5000 .
Минимальное время, которое Stockfish будет затрачивать на ход. Измеряется в миллисекундах. Значение по умолчанию: 20 .

Slow Mover. Возможные значения от 10 до 1000 .
Параметр влияет на то, сколько времени движок будет раздумывать над текущим ходом в зависимости от того, сколько времени ему осталось. Чем больше значение параметра, тем медленнее движок будет делать ходы при одном и том же контроле времени. Значение по умолчанию: 100 в версиях 3 и 4; 70 в версии DD; 80 в версии 5 и 6; 84 в версии 7; 89 в версии 8.

Move Overhead. Возможные значения от 0 до 5000 .
Этот параметр призван компенсировать внешние задержки времени между тем, как движок закончил обдумывание, и тем, когда ход был непосредственно сделан на доске. Измеряется в миллисекундах. Например, значение 1000 будет означать, что движок делает ходы из расчёта, что у него на одну секунду меньше, чем есть на самом деле. Значение по умолчанию: 30 .

nodestime. Возможные значения от 0 до 10000 .
Если параметр установлен в ноль, то время на ход вычисляется движком с помощью таймера. Если значение положительно, то время на ход измеряется числом обработанных ходов. То есть, движок будет предполагать, что за одну миллисекунду обрабатывается ровно nodestime ходов. Использование параметра полезно, когда параллельно играет несколько движков, и нет гарантии, что на них выделяется одинаковое процессорное время. Значение по умолчанию: 0 .

Skill Level. Возможные значения от 0 до 20 .
Сила игры движка. Чем значение больше, тем сильнее движок играет. Значение по умолчанию: 20 .

Contempt. Возможные значения от -100 до 100 .
Contempt Factor до версии 6.
Рискованность движка. Чем значение больше, тем более рискованные ходы движок делает. С уменьшением значения движок будет делать более осторожные ходы, что будет приводить к большему числу ничьих. Значение по умолчанию : 0 .

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

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

Источник

Как правильно настроить стокфиш

БлогNot. Как скачать StockFish и заставить его играть 🙂

Как скачать StockFish и заставить его играть 🙂

StockFish (дословно, «вяленая рыба», в народе «вяленый») — открытый бесплатный шахматный движок, претендующий в настоящий момент на звание сильнейшего в мире.

По отзывам экспертов, текущая версия 8 на приличном «железе» играет едва ли не на ЭЛО 3450-3500 против 2800-2850 у чемпиона мира-человека (впрочем, стоит помнить об относительности машинных рейтингов, как и человеческих).

Как посмотреть это чудо на простой домашней «персоналке»? А проблем, в общем-то, никаких нет, вот инструкция для «совсем чайников». Она подойдёт и для других «движков».

Сначала нам нужно скачать и разархивировать сам движок, наш Стокфиш есть для всех основных операционных систем, вот официальная ссылка. Кстати, в архиве прилагаются все исходники на C++.

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

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

Кстати, если не хотите возиться с настройкой «движка», скачайте и установите Кветку, в которую Стокфиш уже зашит.

А мы лучше на этой странице посмотрим и «Арену», и альтернативы.

Со страницы удобнее всего скачать портабельную (не требующую установки) «Арену», возьмём последнюю из имеющихся на данный момент версий по ссылке 3.5.1-port.

На офсайте «Арены» (переехал!) тоже выкладываются как портабельные (ZIP), так и устанавливаемые (Setup) сборки каждой новой версии.

Извлекаем содержимое архива Arena с созданием новой папки.

Запускаем Arena.exe , выбираем английский язык, в программе жмём F11 (Менеджер движков), в окне менеджера выбираем вкладку Details, кнопка Installation wizard (растяните окно за правый нижний уголок, если в нём видны не все элементы интерфейса), кнопка Forward, показываем на папку движка, опять Forward, выбираем и отмечаем «галочкой» подходящий исполняемый файл для своей платформы, например, stockfish_8_x64.exe , если у вас 64-разрядная Windows, потом пару раз опять жмём кнопку Forward, правильно выбираем тип движка UCI и, наконец, тыкаем заветную Finish.

Удобнее всего разместить папку «движка» в папку Engines, вложенную в папку «Арены» (см. на рис. ниже)

В исходном окне конфигурации «движков» всё на той же вкладке Details выбираем наш новый движок из списка, жмём кнопку «Start this engine right now!». Стокфиш готов к игре с предустановленным в «Арену» движком.

По комбинации клавиш Ctrl+1 или из меню Engines — Engine1 — Configure появится окно настроек, где можно конфигурировать активный движок.

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

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

Во избежание скучных повторов партий, дебютную книгу всё же подключите.

Меню Book — Manage в программе, а дальше загрузите и подтвердите файл Perfect_2010.abk из комплекта, как показано на картинках, находящихся в папке [Arena]\Books

Потом в окне настройки движков (F11) на вкладке Details — Installed Engines (выбрать движок) — Books (вложенная вкладка справа) скажите нужным движкам «Use Arena main books wifth this engine» (включите эту опцию).

Дополнительные дебютные книги (Opening Books) для StockFish в формате «Арены» *.abk есть на офсайте (после переезда не очень-то есть, выложил некоторые сюда ниже).

В главном окне с доской делаем двойной щелчок по часам компа, в появившемся окне выбираем ограничение времени игры (по умолчанию время на раздумья не ограничено, Infinite). Поставьте ему, например блиц.

Жмём кнопку Demo или комбинацию клавиш Ctrl+D и сильнейший в мире движок заиграл сам с собой блиц 🙂 По обычному пункту меню File — New движок, впрочем, захотел играть со мной чёрными, чтобы он заиграл сам с собой, опять тыркнул Demo.

Для русификации интерфейса достаточно на той же странице сайта sdchess скачать «rus_for Arena 30», файл из архива положить в папку «Арены» Languages (см. рисунок) и в программе выбрать меню Extras — Change Languages (последний пункт меню)

После русификации часть текста всё равно отображается «козябликами»?

Шрифты в Арене можно настроить через меню Установки — Настройки — Главное — вкладка Другие — Шрифты — Изменить.

Поставьте, например, шрифт System.

Также не забудьте заглянуть на вкладку Установки — Настройки — Запись, там задаются шрифты для текста партии.

Если никакой из стандартных шрифтов не подходит — редактируем реестр: жмём (с правами администратора) меню Пуск, команду Выполнить, вводим строку regedit и нажимаем ENTER. В реестре переходим по дереву папок к месту назначения HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage

В правом окне ищем параметр (цифру) 1252. Кликаем на неё 2 раза. В открывшемся окне меняем её значение c_1252.nls на c_1251.nls , затем жмём ОК и закрываем всё. Перезагружаем компьютер, шрифт должен исправиться.

Если не помогает и это, под Windows 7 можно применить классический патч (сохранить текст как файл типа .reg , выполнить двойным щелчком, согласиться с внесением изменений).

Если не хочется применять патч и совсем ничего не помогает со шрифтами, то есть, «козяблики» в каких-то окнах остаются, можно скачать пропатченный файл Arena.exe (изменены только свойства шрифтов) и записать его вместо стандартного в папку «Арены». Вот ссылка на прямую закачку exe-файла, файлы на Яндекс.Диске проверяются антивирусами, так что это безопасно: https://yadi.sk/d/M04TnmdW_NDmqg. Для Windows 10 может понадобиться дополнительное разрешение на запуск файла. В архиве — исполняемый файл именно версии 3.5.1, его размер в байтах должен в точности совпадать с размером исходного файла, убедитесь в этом.

Чтобы начать турнир, выберите команду меню Движки — Турнир. В левый список выбираются нужные для игры движки, кнопкой «Уровень» устанавливается время игры.

Все движки кроме «Рыбки» из стандартного комплекта Арены лучше «убить». Добавьте туда «Комодо» и «Гудини», будет интересней. К октябрю-2017 со «Стокфишем» может посоперничать один из его клонов Sugar XPro (скачать нужный для вашей системы файл .exe и скачать+развернуть библиотеки DLL, скопировать всё в папку нового движка внутри Arena\Engines , установить движок средствами оболочки)

Пожалуй, единственный оставшийся авторитетным на это время рейтинг движков — CCRL.

В Windows 10 «Арена» 3.5.1 работает так же устойчиво и стабильно

Ещё дебютные книги .abk для «Арены»

Дебютная книга Zandokan1 для Арены, файл .abk в архиве .zip, развёрнутый около 55 Мб

Большая дебютная книга Kingliveson, файл .abk в архиве .zip, развёрнутый около 635 Мб, 75% игр движков и 25% мастеров, ELO движков не ниже 2700

GrandBook от Harry Schnapp, файл .abk в архиве .zip, развёрнутый около 140 Мб

HIARCS, только игры гроссмейстеров с ELO от 2550, файл .abk в архиве .zip, развёрнутый около 64 Мб

Классическая дебютная книга HS_12-moves.abk в архиве .zip, в развёрнутом виде 5.8 Мб

Как подключить эндшпильные базы к «Арене»

В меню программы выбрать Установки — Настроить эндшпильные базы, указать пути. На скрине видно, в какую папку я собрался копировать скачанные 4-фигурные базы, с 5-фигурными аналогично, подняться уровнем выше и перейти в папку gtb5 , только учтите, что скачивать придётся уже порядка 7 гигабайт. Скачать архивы с трёх-, четырёх и пятифигурными базами можно, например, здесь.

Источник

Читайте также:  Не работает табло скат протерм
Оцените статью