English version | Русская версия  
 
Кветка логотип
Кветка

Программа для анализа шахматных партий
 
 

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

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

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

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

Настройки

  • Passed Pawn Extension (non-PV nodes)
  • Passed Pawn Extension (PV nodes)
  • Passed Pawns (Endgame)
  • Passed Pawns (Middle Game)
  • Pawn Endgame Extension (non-PV nodes)
  • Pawn Endgame Extension (PV nodes)
  • Pawn Push to 7th Extension (non-PV nodes)
  • Pawn Push to 7th Extension (PV nodes)
  • Pawn Structure (Endgame)
  • Pawn Structure (Middle Game)
  • Ponder
  • Search Log Filename
  • Single Evasion Extension (non-PV nodes)
  • Single Evasion Extension (PV nodes)
  • Space
  • Threads
  • UCI_AnalyseMode
  • UCI_Chess960
  • Use Search Log
  • Use Sleeping Threads

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Emergency Base Time. Возможные значения от 0 до 60000.
Время на Emergency base. Что это такое - не ясно. Измеряется в миллисекундах. Значение по умолчанию: 200.

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

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

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

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

Настройки, задающие стиль игры

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

  • Mobility (Middle Game)
  • Mobility (Endgame)
  • Pawn Structure (Middle Game)
  • Pawn Structure (Endgame)
  • Passed Pawns (Middle Game)
  • Passed Pawns (Endgame)
  • Space
  • Aggressiveness
  • Cowardice
  • Check Extension (PV nodes)
  • Check Extension (non-PV nodes)
  • Single Evasion Extension (PV nodes)
  • Single Evasion Extension (non-PV nodes)
  • Mate Threat Extension (PV nodes)
  • Mate Threat Extension (non-PV nodes)
  • Pawn Push to 7th Extension (PV nodes)
  • Pawn Push to 7th Extension (non-PV nodes)
  • Passed Pawn Extension (PV nodes)
  • Passed Pawn Extension (non-PV nodes)
  • Pawn Endgame Extension (PV nodes)
  • Pawn Endgame Extension (non-PV nodes)

Бодягин Дмитрий (c) 2011
Если у вас есть какие-то дополнения или комментарии к тексту - пишите на info@kvetka.org.