Русская Википедия:Stockfish

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Программа

Stockfish (Шаблон:Lang-en) — свободный шахматный движок[1] с поддержкой UCI с открытым исходным кодом, доступный для различных настольных и мобильных платформ. Он разработан Марко Костальбой, Джоной Кийски, Гэри Линскоттом и Тордом Ромстадом, при большом вкладе сообщества разработчиков с открытым исходным кодом.[2]

Stockfish занимает первые места большинства рейтинговых списков и соревнований среди компьютерных шахматных программ, и признаётся сильнейшей шахматной программой, не использующей GPU.[3][4] Он выиграл неофициальный чемпионат мира по компьютерным шахматам в 6 сезоне (2014), 9 сезоне (2016), 11 сезоне (2018), 12 сезоне (2018), 13 сезоне (2018), 14 сезоне (2019) , 16 сезоне (2019),18 сезоне (2020) 19 сезоне (2020) , 20 сезоне (2021), 21 сезоне (2021) и в 22 сезоне (2022). Он финишировал вторым в 5 сезоне (2013), 7 сезоне (2014), 8 сезоне (2015), 15 (2019) и 17 (2020).

Stockfish произошел от Glaurung, движка с открытым исходным кодом Торда Ромстада, выпущенного в 2004 году.

Особенности

Stockfish может использовать до 1024[5] потоков ЦП в многопроцессорных системах. Максимальный размер таблицы транскрипции составляет 128 ГБ. Stockfish реализует расширенный альфа-бета-поиск и использует битборды. По сравнению с другими движками, он отличается большей глубиной поиска, отчасти из-за более агрессивного альфа-бета-отсечения, и поздними сокращениями хода.[6][7]

Stockfish поддерживает шахматы-960, что является одной из особенностей, которая была унаследована от Glaurung.

Поддержка баз данных шахматных окончаний Syzygy, ранее доступная в форке, которую поддерживал Рональд де Ман, была интегрирована в Stockfish в 2014 году.[8] В 2018 году была добавлена поддержка 7-фигурных баз Syzygy, вскоре после того, как стала доступна.

В августе 2020 под влиянием бурного развития движков на основе ИИ Stockfish претерпел существенные изменения в архитектуре и стал использовать нейронные сети NNUE[9], оптимизированные под CPU и алгоритм поиска Stockfish наряду с традиционной оценочной функцией движка. Stockfish из классического движка стал гибридным, использующим оценочную функцию на базе нейронных сетей (есть возможность отключить использование нейронных сетей в настройках) в материально сбалансированных позициях и традиционную в остальных. Это изменение дало существенное усиление игры.[10]

Стиль игры Stockfish, как и у любой другой сильной программы, — универсальный, но с уклоном в тактикуШаблон:Нет АИ.

Код программы работает на алгоритме распараллеливания LAZY_SMP (внедрён в 2015 году), который прекрасно распараллеливается на больших количествах ядер/потоков.

Имеет свой порт на языке ассемблера[11] и порт на языке Си[12] (обновляются почти параллельно с основным проектом).

История участия в TCEC

Участие Stockfish в TCEC[13]
Сезон Дата Место Соперник Счёт Примечания
6 Май 2014 Победитель Komodo 35½-28½
7 Декабрь 2014 2-е Komodo 30½-33½
8 Ноябрь 2015 2-е Komodo 46½-53½ Программы играли на 24-ядерном сервере
9 Декабрь 2016 Победитель Houdini 54½-45½ 44-ядерный сервер
10 Ноябрь 2017 3-е Houdini

Komodo

Stockfish не прошёл в суперфинал1
11 Апрель 2018 Победитель Houdini 59-41
12 Июль 2018 Победитель Komodo 60-40
13 Ноябрь 2018 Победитель Komodo 55-45
14 Февраль 2019 Победитель Leela Chess Zero 50½-49½
15 Май 2019 2-е Leela Chess Zero2
16 Октябрь 2019 Победитель Alliestein
17 Апрель 2020 2-е Leela Chess Zero 47½-52½
18 Июнь 2020 Победитель Leela Chess Zero 53½-46½
19 Октябрь 2020 Победитель Leela Chess Zero
20 Февраль 2021 Победитель Leela Chess Zero 53-47
21 Август 2021 Победитель Leela Chess Zero 56-44

1В 10 сезоне Stockfish не проиграл ни одной игры, но не прошёл в суперфинал по дополнительным параметрам (общее количество выигрышей).

2В мае 2019 Лила выиграла кубок TCEC, выиграв у Stockfish 10 в финале 5.5-4.5 (+2 =7 −1). Она также выиграла cуперфинал TCEC 15 против Stockfish.[23][24]

Рейтинг

По состоянию на 2022 год Stockfish является лидером многих рейтинг-листов[14][15][16] шахматных движков.

Примечания

Шаблон:Примечания

Ссылки

Шаблон:Шахматы