Stockfish

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Stockfish
Stock logo.jpg
DroidFish.jpg
Тип Шахматный движок
Разработчики Торд Ромстад, Марко Костальба, Йоона Кииски, Гэри Линскотт
Написана на C++
Операционная система Windows, macOS, Linux, iOS, Android
Первый выпуск 2 ноября 2008
Последняя версия 12 (2 сентября 2020)
Лицензия GNU GPLv3
Сайт stockfishchess.org

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

Stockfish последовательно занимает первое место или около вершины большинства рейтинговых списков шахматных движков и является сильнейшим обычным шахматным движком с открытым исходным кодом в мире.[3][4] Он выиграл неофициальный чемпионат мира по компьютерным шахматам в 6 сезоне (2014), 9 сезоне (2016), 11 сезоне (2018), 12 сезоне (2018), 13 сезоне (2018), 14 сезоне (2019) и 16 сезоне (2019). Он финишировал вторым в 5 сезоне (2013), 7 сезоне (2014) и 8 сезоне (2015).

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

Особенности[править | править код]

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

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

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

История[править | править код]

В мае 2014 года Stockfish убедительно обыграл Komodo в суперфинале неофициального мирового чемпионата шахматных движков TCEC (Season 6, 2014) со счётом 35.5-28.5 и стал новым чемпионом[8].

В декабре 2014 года Stockfish утратил чемпионство в суперфинале TCEC (Season 7, 2014) со счётом 30.5-33.5 в пользу Komodo[8].

В ноябре 2015 года Stockfish снова потерпел поражение от Komodo со счётом 46.5-53.5 в суперфинале TCEC (Season 8, 2015). Программы имели в своём распоряжении достаточно мощный сервер, обладающий 24 ядрами[8].

Декабрь 2016 года принёс Stockfish победу над Houdini со счётом 54.5-45.5 в суперфинале TCEC (Season 9, 2016). Программы имели в своём распоряжении очень мощный сервер, обладающий 44 ядрами[8].

В ноябре 2017 года в чемпионате TCEC (Season 10, 2017), Stockfish не потерпев ни одного поражения за весь отборочный турнир, занял лишь третье место, пропустив в суперфинал Houdini и Komodo[8].

В апреле 2018 года в суперфинале TCEC (Season 11, 2018), Stockfish нанёс поражение чемпиону предыдущего сезона — Houdini, выиграв со счётом 59-41[8].

В июле 2018 года в суперфинале TCEC (Season 12, 2018) Stockfish обыграл Komodo со счётом 60-40.

8 ноября 2018 года завершился суперфинал TCEC (Season 13, 2018), где в упорной борьбе Stockfish нанёс поражение Komodo со счётом 55-45.

23 февраля 2019 года завершился суперфинал TCEC (Season 14, 2018), где в тяжелейшем поединке Stockfish версии от 3 февраля 2019 всё же одолел бурно развивающийся проект искусственного интеллекта Leela Chess Zero (использовавшего связку видеокарт RTX 2080Ti + RTX 2080), со счётом 50,5-49,5.

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

В октябре 2019 Stockfish вернул звание чемпиона, уверенно выиграв суперфинал TCEC 16, у шахматного искусственного интеллекта AllieStein.

В апреле 2020 Stockfish снова потерпел поражение от Лилы в суперфинале TCEC 17 со счетом 47,5-52,5.

В июне 2020 состоялся чемпионат TCEC 18, где в суперфинале Stockfish вернул себе титул чемпиона в противостоянии с Лилой со счетом 53,5-46,5.

Октябрь 2020, и снова в противостоянии с Leela Chess Zero, Stockfish уверенно отстоял звание чемпиона компьютерных программ 19го сезона TCEC.

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

Стиль игры Stockfish, как и у любой другой программы феноменальной практической силы, — универсальный, но с уклоном в тактику.

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

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

Рейтинг[править | править код]

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

Примечания[править | править код]

  1. Chabris, Christopher. The Real Kings of Chess Are Computers, Wall Street Journal (9 января 2015). Дата обращения 15 августа 2019.
  2. James Eade. Chess For Dummies. — John Wiley & Sons, 2016-08-10. — 610 с. — ISBN 9781119280033.
  3. CEGT Best Versions 40/20 (AMD 4200+). archive.is (8 сентября 2012). Дата обращения: 15 августа 2019.
  4. CCRL 40/40 — Index. web.archive.org (2 октября 2011). Дата обращения: 15 августа 2019.
  5. Stockfish depth vs. others; challenge — TalkChess.com. www.talkchess.com. Дата обращения: 15 августа 2019.
  6. Chess Daily News (англ.). Chess Daily News. Дата обращения: 15 августа 2019.
  7. Stockfish Development Versions. web.archive.org (11 ноября 2014). Дата обращения: 15 августа 2019.
  8. 1 2 3 4 5 6 TCEC Season Archive (недоступная ссылка). tcec.chessdom.com. Дата обращения: 28 декабря 2014. Архивировано 3 мая 2015 года.
  9. NNUE - Chessprogramming wiki. www.chessprogramming.org. Дата обращения: 24 августа 2020.
  10. Stockfish NNUE - Chessprogramming wiki. www.chessprogramming.org. Дата обращения: 24 августа 2020.
  11. Форк lantonov/asmFish с последними патчами Stockfish.
  12. Cfish
  13. Рейтинг компьютерных шахматных программ CCRL 40/40.
  14. IPON-Rating-List (недоступная ссылка). www.inwoba.de. Дата обращения: 7 апреля 2018. Архивировано 12 июня 2011 года.
  15. FastGMs Rating Lists (FGRL). www.fastgm.de. Дата обращения: 7 апреля 2018.

Ссылки[править | править код]