Stockfish (шахматы)

редактировать
Stockfish
NewLogoSF.png
Разработчики) Марко Costalba Joona Kiiski Гэри Линскотт Торд Ромстад Stéphane Nicolet Стефан Geschwentner Joost VandeVondele
Первый выпуск 2 ноября 2008 г. ; 12 лет назад ( 2008-11-02)
Стабильный выпуск 14/2 июля 2021 г. ; 3 месяца назад ( 2021-07-02)
Репозиторий
Написано в C ++
Операционная система Microsoft Windows macOS Linux iOS Android
Тип Шахматный двигатель
Лицензия GPL-3.0 или новее
Веб-сайт stockfishchess.org   Отредактируйте это в Викиданных
Шахматное программирование
Представительства Совета
Шахматные компьютеры
Шахматные движки

Stockfish - это бесплатный шахматный движок с открытым исходным кодом, доступный для различных настольных и мобильных платформ. Его разработали Марко Костальба, Джоона Кийски, Гэри Линскотт, Торд Ромстад, Стефан Николе, Стефан Гешвентнер и Йуст ВандеВонделе при большом участии сообщества разработчиков открытого исходного кода.

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

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

СОДЕРЖАНИЕ
  • 1 Особенности
  • 2 История
  • 3 Фиштест
  • 4 Результаты конкурса
    • 4.1 Stockfish против Накамуры
    • 4.2 Участие в TCEC
    • 4.3 Компьютерный шахматный турнир
    • 4.4 Stockfish против AlphaZero
  • 5 платформ
  • 6 Производные
  • 7 См. Также
  • 8 Примечания
  • 9 ссылки
  • 10 Дальнейшее чтение
  • 11 Внешние ссылки
Функции

Stockfish может использовать до 512 потоков ЦП в многопроцессорных системах. Максимальный размер его таблицы транспонирования - 32 ТБ. Stockfish реализует расширенный альфа-бета-поиск и использует битовые доски. По сравнению с другими движками, он отличается большой глубиной поиска, отчасти из-за более агрессивной обрезки и позднего сокращения перемещений. По состоянию на октябрь 2021 года Stockfish 14 (4-х ниточный) достигает рейтинга Эло 3548.+21 −21 на тесте CCRL 40/15.

Stockfish поддерживает Chess960, что является одной из функций, унаследованных от Glaurung.

Поддержка Syzygy tablebase, ранее доступная в форке, поддерживаемом Рональдом де Маном, была интегрирована в Stockfish в 2014 году. В 2018 году была добавлена ​​поддержка Syzygy для 7 человек, вскоре после того, как она стала доступной.

История
Визуализация NNUE Stockfish

Программа возникла на основе Glaurung, шахматного движка с открытым исходным кодом, созданного Ромстадом и впервые выпущенного в 2004 году. Четыре года спустя Костальба, вдохновленный мощным движком с открытым исходным кодом, решил разделить проект. Он назвал его Stockfish, потому что он был «произведен в Норвегии и приготовлен в Италии» (Romstad - норвежский, Costalba - итальянский). Первая версия, Stockfish 1.0, была выпущена в ноябре 2008 года. Некоторое время новые идеи и изменения кода передавались между двумя программами в обоих направлениях, пока Ромстад не решил прекратить выпуск Glaurung в пользу Stockfish, который был более продвинутым движком на рынке. время. Последняя версия Glaurung (2.2) была выпущена в декабре 2008 года.

Примерно в 2011 году Ромстад решил отказаться от участия в Stockfish, чтобы больше времени уделять своему новому шахматному приложению для iOS.

18 июня 2014 года Марко Костальба объявил, что «решил уйти с должности сопровождающего Stockfish», и попросил сообщество создать форк текущей версии и продолжить ее разработку. Официальный репозиторий, которым управляет группа добровольцев из основных разработчиков Stockfish, был создан вскоре после этого и в настоящее время управляет развитием проекта.

В июне 2020 года разработчики обсудили форк эффективно обновляемой нейронной сети (NNUE), представленный компьютерными сёги- программистами под названием Stockfish NNUE. В июле 2020 года в новостях о шахматах сообщалось, что Stockfish NNUE «открыл новые возможности в компьютерных шахматах, включив нейронную сеть в и без того невероятно мощный шахматный движок Stockfish». Затем было объявлено о слиянии NNUE с Stockfish, и стали доступны сборки для разработки.

«Ветвь NNUE, поддерживаемая @nodchip, продемонстрировала сильные результаты и предлагает большой потенциал, и мы продолжим слияние... Это слияние представит в движке кодирование на основе машинного обучения, тем самым расширив сообщество разработчиков и привнеся новые навыки. Мы стремимся держать всех в курсе, включая всех разработчиков и пользователей различного оборудования, стремясь стать инклюзивным сообществом... необходимые точные шаги станут более ясными по мере того, как мы продолжим, я с нетерпением жду работы с сообществом, чтобы это произошло ! "

-  Joost VandeVondele, 25 июля 2020 г.

2 сентября 2020 года была выпущена двенадцатая версия Stockfish, включающая вышеупомянутое усовершенствование нейронной сети. Согласно объявлению в блоге, эта новая версия «играет значительно сильнее, чем любая из ее предшественников», обычно выигрывая в десять раз больше игр, чем проигрывает при сопоставлении с одиннадцатой версией.

Фиштест

С 2013 года Stockfish разрабатывается с использованием распределенной среды тестирования Fishtest, где добровольцы могут жертвовать процессорное время для тестирования улучшений программы.

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

После создания Fishtest всего за 12 месяцев Stockfish испытала взрывной рост на 120 баллов Эло, подняв его на вершину всех основных рейтинговых списков. В Stockfish 7 автор Fishtest Гэри Линскотт был добавлен в официальный список авторов в знак признания его вклада в развитие Stockfish.

По состоянию на июнь 2021 года фреймворк использовал в общей сложности более 5400 лет процессорного времени, чтобы сыграть более 3,1 миллиарда шахматных партий.

Результаты конкурса

Stockfish против Накамуры

Сила Стокфиша по сравнению с лучшими шахматистами среди людей была наиболее очевидна в матче с гандикапом с гроссмейстером Хикару Накамурой (рейтинг 2798) в августе 2014 года. В первых двух партиях матча Накамуре помогала более старая версия Рыбки, и в следующих двух партиях он получил белых с пешечным перевесом, но без помощи. Накамура был пятым лучшим шахматистом в мире на момент матча, в то время как Stockfish было отказано в использовании его первой книги и таблицы эндшпиля. Штокфиш выигрывал каждую половину матча со счетом 1,5–0,5. Обе победы Stockfish возникли из позиций, в которых Накамура, что типично для его стиля игры, настаивал на победе вместо того, чтобы согласиться на ничью.

Подход с искусственным интеллектом, разработанный Жан-Марком Аллиотом из Института исследований и информатики Тулузы (Тулузский научно-исследовательский институт компьютерных наук), который сравнивает ходы шахматных гроссмейстеров с ходами Стокфиша, оценил Магнуса Карлсена как лучшего игрока из всех. - время, так как у него была самая высокая вероятность из всех чемпионов мира по шахматам сыграть ходы, предложенные Стокфишем.

Участие в TCEC

Stockfish - многократный чемпион TCEC и нынешний лидер по количеству трофеев. С момента перезапуска TCEC в 2013 году Stockfish финишировал первым или вторым в каждом сезоне, кроме одного. В сезонах 4 и 5 TCEC Stockfish занял второе место с результатом 23–25 в Суперфинале, сначала против Houdini 3, а затем против Komodo 1142. Сезон 5 был отмечен победившей командой Komodo, поскольку они посмертно приняли награду за создателя программы Дона. Дейли, которая скончалась от болезни на заключительном этапе соревнований. В его честь версия Stockfish, выпущенная вскоре после этого сезона, была названа "Stockfish DD".

30 мая 2014 года Stockfish 170514 (разрабатываемая версия Stockfish 5 с поддержкой tablebase) убедительно выиграл 6-й сезон TCEC, набрав 35,5–28,5 очков против Komodo 7x в Суперфинале. На следующий день был выпущен Stockfish 5. В 7-м сезоне TCEC Stockfish снова попал в Суперфинал, но проиграл Комодо со счетом 30,5–33,5. В 8-м сезоне TCEC, несмотря на потери времени, вызванные ошибками в коде, Stockfish, тем не менее, снова прошел квалификацию в Суперфинал, но проиграл Комодо в последующем матче из 100 игр 46,5–53,5. В 9 сезоне Stockfish победил Houdini 5 со счетом 54,5 против 45,5.

Stockfish финишировал третьим в 10 сезоне TCEC, единственном сезоне с 2013 года, в котором Stockfish не прошел квалификацию в суперфинал. Он не проиграл ни одной игры, но все же выбыл, потому что не смог набрать достаточное количество побед против движков с более низким рейтингом. После этого технического исключения Stockfish продолжил длинную победную серию, выиграв 11 сезонов (59 против 41 против Houdini 6,03), 12 (60 против 40 против Komodo 12.1.1) и 13 (55 против 45 против Komodo 2155.00). убедительно. В сезоне 14 Stockfish столкнулся с новым претендентом в Leela Chess Zero, но сумел одержать победу в одной игре (50,5–49,5). Его победная серия наконец завершилась в 15 сезоне, когда Лила снова квалифицировалась и выиграла 53,5–46,5, но Stockfish быстро выиграла 16 сезон, победив AllieStein 54,5–45,5 после того, как Лила не прошла квалификацию в суперфинал. В 17 сезоне Стокфиш снова встретился с Лилой в суперфинале, проиграв 52,5–47,5. Однако Стокфиш убедительно победил Лилу в следующих четырех суперфиналах: 53,5–46,5 в 18 сезоне, 54,5–45,5 в 19 сезоне, 53–47 в 20 сезоне и 56–44 в 21 сезоне.

Stockfish также принял участие в кубке TCEC, выиграв первое издание, но был удивительно расстроен Гудини в полуфинале второго выпуска. Stockfish восстановился, чтобы обыграть Комодо в плей-офф за третье место. В третьем выпуске Stockfish вышла в финал, но проиграла Лиле Chess Zero после грубого промаха в жеребьевке эндшпиля с 7 игроками. Он отыгрался в четвертом выпуске, победив Лилу в финале 4.5–3.5.

Компьютерный шахматный турнир

С тех пор, как в 2018 году сайт chess.com провел свой первый чемпионат по компьютерным шахматам, Stockfish стал самым успешным движком. Он доминировал в предыдущих чемпионатах, выиграв шесть титулов подряд, прежде чем финишировал вторым в CCC7. С тех пор его доминирование оказалось под угрозой со стороны нейросетевых движков Leelenstein и Leela Chess Zero, но оно продолжало хорошо работать, достигая по крайней мере суперфинала в каждом выпуске до CCC11. У CCC12 впервые был формат на выбывание, когда финалисты CCC11 Stockfish и Leela оказались в одной половине. Лила выбила Stockfish в полуфинале. Однако в послетурнирном матче против проигравшего финала, Лиленштейна, Stockfish выиграл в том же формате, что и главное событие.

Chess.com Чемпионат по компьютерным шахматам
Мероприятие Год Контроль времени Результат Ссылка
CCC 1: Rapid Rumble (Ускоренная битва) 2018 г. 15 + 5 1-й
CCC 2: Блиц-битва 2018 г. 5 + 2 1-й
CCC 3: Быстрый Redux 2019 г. 30 + 5 1-й
CCC 4: Bullet Brawl (драка с пулями) 2019 г. 1 + 2 1-й
CCC 5: Эскалация 2019 г. 10 + 5 1-й
CCC 6: Зимняя классика 2019 г. 10 + 10 1-й
CCC 7: Blitz Bonanza 2019 г. 5 + 2 2-й
CCC 8: Глубокое погружение 2019 г. 15 + 5 1-й
CCC 9: Перчатка 2019 г. 5 + 2, 10 + 5 1-й
CCC 10: двойные цифры 2019 г. 10 + 3 2-й
CCC 11 2019 г. 30 + 5 2-й
CCC 12: Bullet Madness! 2020 г. 1 + 1 3-й
CCC 13: семиугольник 2020 г. 5 + 5 2-й

Stockfish против AlphaZero

Основная статья: AlphaZero

В декабре 2017 года, вяленая 8 была использована в качестве ориентира для теста Google подразделения DeepMind «s AlphaZero, с каждым двигателем при поддержке различных аппаратных средств. AlphaZero был обучен через самостоятельную игру в течение девяти часов и достиг уровня Stockfish всего за четыре. В 100 партиях с нормальной стартовой позиции AlphaZero выиграла 25 партий белыми, 3 - черными и сыграла вничью в оставшихся 72 партиях с 0 поражениями. AlphaZero также сыграла двенадцать матчей из 100 игр против Stockfish, начиная с двенадцати популярных дебютов, и в итоге набрала 290 побед, 886 ничьих и 24 поражения и набрала 733: 467 очков.

Победа AlphaZero над Stockfish вызвала волну активности в компьютерном шахматном сообществе, что привело к созданию нового движка с открытым исходным кодом, нацеленного на копирование AlphaZero, известного как Leela Chess Zero. К январю 2019 года Лила смогла победить версию Stockfish, которая играла в AlphaZero (Stockfish 8), в матче из 100 игр. Обновленная версия Stockfish едва победила Лилу Chess Zero в суперфинале 14-го сезона TCEC, 50,5–49,5 (+10 = 81–9), но проиграла суперфинал следующего сезона Лиле 53,5–46,5 (+14 = 79 - 7). Два движка остаются очень близкими по силе друг к другу, даже несмотря на то, что они продолжают совершенствоваться: Лила победила Stockfish в суперфинале TCEC Season 17, но Stockfish выиграла TCEC Season 18, TCEC Season 19 и TCEC Season 20, каждый раз с небольшим перевесом победив Лилу. в суперфинале.

Платформы

Релизные и разрабатываемые версии доступны как исходный код C ++ и как предварительно скомпилированные версии для Microsoft Windows, macOS, 32-разрядной / 64-разрядной версии Linux и Android.

Stockfish был очень популярным движком на различных платформах. На настольных компьютерах это шахматный движок по умолчанию, связанный с интерфейсными программами интернет-шахматного клуба BlitzIn и Dasher. На мобильных устройствах он поставляется в комплекте с приложением Stockfish, SmallFish и Droidfish. Другие графические пользовательские интерфейсы, совместимые со Stockfish, включают Fritz, Arena, Stockfish для Mac и PyChess. По состоянию на март 2014 года Stockfish - это шахматный движок, используемый Lichess, популярным шахматным онлайн-сайтом.

Stockfish можно скомпилировать в WebAssembly или JavaScript, что позволит запускать его в браузере. И Chess.com, и Lichess предоставляют Stockfish в этой форме в дополнение к серверной программе.

Производные

Stockfish использовался для создания программ для многих вариантов шахмат. Некоторые из вилок:

  • YaneuraOu, мощный движок сёги и начало NNUE. Говорит USI, вариант UCI для шахмат.
  • Fairy Stockfish, версия, модифицированная для игры в сказочные шахматы. Забегает с региональными вариантами (шахматы, сёги, макрук и т. Д.), А также с другими вариантами, такими как антишах.
  • Lichess Stockfish, версия для вариантов игры без сказочных фигур.
Смотрите также
Примечания
использованная литература
дальнейшее чтение
внешние ссылки
Последняя правка сделана 2023-04-13 03:00:29
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте