Stockfish vs Stockfish dev: в чем разница? +БАЗА шахматных движков
После этого блога вы будете знать, что новый Stockfish на самом деле выходит ~раз в 2 неделиКу Бесты! Давно не виделись) Чтож, сразу скажу что Цитата из записи - не кликбэйт. Да, если вы не знали, новый Стокфиш выходит каждые 2 недели! Но обо всем по порядку)
Итак, что вы скорее всего знаете о стокфише:
- Последняя версия стокфиша - 17.1
- Сайт: https://stockfishchess.org/
Что вы скорее всего знаете о движках в общем:
- Они вычисляют лучший ход
Не густо, скажу я вам... Но ничего, для этого и этот блог!) Он будет разделен на 2 части. Часть 1 - БАЗА шахматных движков. Часть 2 - Стокфиш раз в 2 недели! Погнали
Часть 1: База шахматных движков
Как работают движки? Как они вычисляют лучший ход? На каких языках пишутся движки, как движки работают? Что такое uci? И т.п. Сегодня и узнаем, ведь мне самому пришлось с этим столкнуться, когда я писал SmileyMate (мой движок на python) и ClassicSF (на основе стокфиша, c++, все как полагается) )
Как работают движки?
Смотрите, давайте по порядку, что бы точно все поняли =) Как движок вычисляет лучший ход? Движок вычисляет лучший ход по логике. Вот простейшая логика, в которой даже если вы не программисты - разберетесь)
eval = 0 Создаем переменную, в которой будет храниться оценка. Изначально она 0.
if game_result == mate: Если результат - мат (естественно так просто все это не проверяется, но я написал это для примера)
eval = 9999 Если результат мат - оценка = 9999
Примерно так работают движки, естественно там и тайм-аут менеджер, и расчет кол-ва фигур, менеджер углубления и т.п.

Но как движки передают например личессу (боты - отличный пример) какой ход надо сделать? uci! Universal Chess Interface (uci) - штука, с помощью которой личесс общается с движком. Личесс отправляет команды движку, например если его ход - Yourmove (ну например)) ). Бот должен уметь отвечать на хотя бы на базовый uci команды и что бы хотя бы норм смог сыграть партию. Есть и дополнительные, вот я в свой ClassicSF добавил команду ClassicSF, которая выводит инфу) (Есть и другая команда, которая это делает, но я решил сделать еще одну) Вот кусок из 10000-строкового кода (разбитого на разные части), где я реализовал команду ClassicSF:
else if (token == "ClassicSF") { sync_cout << "ClassicSF version 1 of Classic. Based on Stockfish" << sync_endl;
}
Запустим код, иии..
ClassicSF version 1.1. Based on Stockfish
ClassicSF
ClassicSF version 1 of Classic. Based on Stockfish
hey
Unknown command: 'hey'. Type help for more information.
Работает! Кайф)
С са́мой базой вроде все... Давайте теперь по фасту про nnue, дебютные книги, кэши, syzygy / ETGB
Nnue - типо нейронки в движок. Она помогает принять верное решение в той или иной позиции.
Кэш - место, выделенное в оперативке под движок. Когда закроете движок - место очистится. Это место в основном для того, что бы запоминать некоторые позиции и потом уже знать оценку а не считать с начала.
Syzygy / ETGB - таблички, которые совершенно точно могут сказать точную оценку в любой позиции до 7 фигур. Правда, все позиции где 7 фигур весят... терабайт 16, но если у вас где-то столько завалялось - вперед!))
Дебютная книга - книга, по которой движок будет играть пока она не закончится. Потом движок "перейдет на себя".
Ну вот, теперь вы уже многое знаете о движках) Кста, если кто не знал - есть чемпионаты мира по движкам. Вы скажите - выйграет стокфиш, но там много сильных ребят) Ссылка на TCEC (Top Chess Engines Championship) - https://lichess.org/broadcast/tcec-s28-leagues--superfinal/match/KeswEzV5#boards (на данный момент самый новый сезон), еще хочу поделиться с вами таблицой шахматных движков по рейту) https://www.computerchess.org.uk/ccrl/4040/index.html
Предлагаю теперь приступить ко второй главе
Глава 2: новый стокфиш выходит чаще, чем вы думаете!
Итак, вот мы и добрались до второй части, ради которой наверное все и пришли) В этой главе вы узнаете что то новое, а именно - Stockfish dev!
Давайте разбираться) Stockfish - всем понятно, а dev - не всем) Dev - сокращение от Development (Разработка). Стокфиш дев выходит намного чаще чем обычный стокфиш, но почему и настолько ли силен стокфиш дев?

Смотрите, стокфиш дев не всегда стабилен, так как это экспериментальная версия. Однако обычно новая версия сильнее предыдущей. Да, пунктика на 0,3, но все равно) Вот так если по 0,3 пунктика на каждую версию повышать, то много выйдет) Крч, ластовая версия точно сильнее обычного стокфиша, только надо понять на сколько. Ведь предыдущая версия может быть еще сильнее, вот в чем прикол.
Хорошо, а где скачать стокфиш дев? Вы можете это сделать тут: https://abrok.eu/stockfish/ . Кста, как вы могли заметить в предыдущей версии написано Elo +2.60, так что это уже серьезно) Новый стокфиш дев выходит примерно раз в 2 недели. Кста, тут некоторые ребята заморочились, и сделали скрипт который на гитхаб качает ласт стокфиш дев.
Итого
Ну в целом вот так, пишите в форуме как вам блог. Ставьте лайки если блог понравился, удачи! Кста, я попытаюсь делать блоги почаще :)
You may also like
Where do Grandmasters play Chess? - Lichess vs. Chess.com
This is the first large-scale analysis of Grandmaster activity across Chess.com and Lichess from 200…Как создать СВОЕГО БОТА В 2025 году? [Подробнее, +LINUX]
https://chelibot.netlify.app/
SergeyVoronChess