Stockfish (шахматы) - Stockfish (chess)
Эта статья отсутствует информация о стиле игры.Ноябрь 2020) ( |
Разработчики) | Марко Костальба Джуна Кийски Гэри Линскотт Торд Ромстад Стефан Николе Стефан Гешвентнер Йост Ванде Вонделе |
---|---|
изначальный выпуск | 2 ноября 2008 г. |
Стабильный выпуск | 12/2 сентября 2020 г. |
Репозиторий | |
Написано в | C ++ |
Операционная система | Майкрософт Виндоус macOS Linux iOS Android |
Тип | Шахматный двигатель |
Лицензия | GPLv3[1] |
Интернет сайт | сток |
Эта статья является частью серии статей о |
Шахматное программирование |
---|
Представительства Совета |
Шахматные компьютеры |
Шахматные движки |
Stockfish это бесплатно и с открытым исходным кодом шахматный двигатель, доступный для различных настольных и мобильных платформ. Он разработан Марко Костальба, Joona Kiiski, Gary Linscott, Tord Romstad, Stéphane Nicolet, Stefan Geschwentner и Joost VandeVondele, при участии сообщества разработчиков открытого исходного кода.[2]
Stockfish постоянно занимает первое или почти верхнее место в большинстве рейтинговых списков шахматных движков и является самым мощным шахматным движком с процессором в мире.[3] Он выиграл неофициальные чемпионаты мира по компьютерным шахматам в сезонах 6 (2014), 9 (2016), 11 (2018), 12 (2018), 13 (2018), 14 (2019), 16 (2019), 18 (2020) и 19 (2020). Он занял второе место в сезонах 5 (2013), 7 (2014), 8 (2015), 15 (2019) и 17 (2020).
Stockfish является производным от Glaurung, движка с открытым исходным кодом, созданного Торд Ромстад выпущен в 2004 году.
Функции
Stockfish может использовать до 512 Потоки процессора в мультипроцессор системы. Максимальный размер его таблица транспонирования составляет 32 ТБ. Stockfish реализует продвинутый альфа – бета поиск и использует битовые доски. По сравнению с другими движками, он отличается большой глубиной поиска, отчасти из-за более агрессивных обрезка, и сокращение позднего переезда.[4] По состоянию на ноябрь 2020 г.[Обновить], Stockfish 12 (4-х резьбовой) достигает Рейтинг Эло из 3516+24
−20 на тесте CCRL 40/15.[5]
Stockfish поддерживает Шахматы960, это одна из функций, унаследованных от Glaurung.
В Сизигий основание стола поддержка, ранее доступная в вилка поддерживаемая Рональдом де Маном, была интегрирована в Stockfish в 2014 году.[6] В 2018 году была добавлена поддержка Syzygy из 7 человек, вскоре после того, как она стала доступной.
История
Программа возникла из Глаурунг- шахматный движок с открытым исходным кодом, созданный Ромстадом и впервые выпущенный в 2004 году. Четыре года спустя Костальба, вдохновленный мощным движком с открытым исходным кодом, решил разделить проект. Он назвал это Stockfish потому что он был «произведен в Норвегии и приготовлен в Италии» (Romstad - норвежский, Costalba - итальянский). Первая версия Stockfish 1.0 была выпущена в ноябре 2008 года.[7][8] Некоторое время новые идеи и изменения кода передавались между двумя программами в обоих направлениях, пока Ромстад не решил прекратить выпуск Glaurung в пользу Stockfish, который был более совершенным движком в то время.[9] Последний Glaurung (версия 2.2) был выпущен в декабре 2008 года.
Примерно в 2011 году Ромстад решил отказаться от участия в Stockfish, чтобы больше времени уделять своему новому шахматному приложению для iOS.[нужна цитата ]
18 июня 2014 года Марко Костальба объявил, что «решил уйти с поста сопровождающего Stockfish», и попросил сообщество создать форк текущей версии и продолжить ее разработку.[10] Официальный репозиторий, которым управляет группа добровольцев из основных разработчиков Stockfish, был создан вскоре после этого и в настоящее время управляет развитием проекта.[11]
В июне 2020 г. эффективно обновляемая нейронная сеть (NNUE) форк, представленный компьютерные сёги Программисты под названием Stockfish ННУЭ обсудили разработчики.[12][13] В июле 2020 года в шахматных новостях сообщалось, что Stockfish NNUE «проложил новый путь в компьютерных шахматах, включив нейронную сеть в и без того невероятно мощный шахматный движок Stockfish».[14] NNUE слияние в Stockfish, и стали доступны сборки для разработки.[15][16]
«Ветвь NNUE, поддерживаемая @nodchip, продемонстрировала сильные результаты и предлагает большой потенциал, и мы продолжим слияние ... Это слияние представит в движке кодирование на основе машинного обучения, тем самым расширив сообщество разработчиков и привнеся новые навыки. Мы стремимся держать всех в курсе, включая всех разработчиков и пользователей различного оборудования, стремясь стать инклюзивным сообществом ... необходимые точные шаги станут более ясными по мере того, как мы продолжим, я с нетерпением жду работы с сообществом, чтобы это произошло ! "
— Йост ВандеВонделе, 25 июля 2020 г.[15]
2 сентября 2020 года была выпущена двенадцатая версия Stockfish, включающая вышеупомянутое усовершенствование нейронной сети. Согласно объявлению в блоге, эта новая версия «играет значительно сильнее, чем любые из ее предшественников», обычно выигрывая в десять раз больше игр, чем проигрывает при сопоставлении с одиннадцатой версией.[17]
Фиштест
С 2013 года Stockfish разрабатывается с использованием распределен среда тестирования, названная Фиштест, где волонтеры могут жертвовать процессорное время для тестирования улучшений программы.[18][19][20]
Изменения в игровом коде принимаются или отклоняются на основании результатов прохождения десятков тысяч игр на фреймворке против более старой «эталонной» версии программы с использованием последовательное тестирование отношения вероятностей. Тесты на платформе проверяются с помощью критерий хи-квадрат, и только если результаты статистически значимы, они считаются надежными и используются для корректировки программного кода.
По состоянию на июнь 2018 г.[Обновить], фреймворк использовал в общей сложности более 1200 лет процессорного времени, чтобы сыграть более 840 миллионов шахматных партий.[21] После создания Fishtest у Stockfish произошел взрывной рост на 120 Очки Эло всего за 12 месяцев, подняв его на вершину всех основных рейтинговых списков.[22] В Stockfish 7, автор Fishtest Гэри Линскотт был добавлен в официальный список авторов в знак признания его вклада в развитие Stockfish.
Результаты конкурса
Stockfish против Накамуры
Сила Stockfish по сравнению с лучшими шахматистами среди людей была наиболее очевидна в матче с гандикапом с гроссмейстером. Хикару Накамура (Рейтинг 2798) в августе 2014 года. В первых двух играх матча Накамура пользовался помощью более старой версии Рыбка, и в следующих двух партиях он получил белых с пешечным перевесом, но без помощи. Накамура был пятым лучшим шахматистом в мире на момент матча, в то время как Stockfish было отказано в использовании его первой книги и таблицы эндшпиля. Штокфиш выигрывал каждую половину матча со счетом 1,5–0,5. Обе победы Стокфиша возникли из позиций, в которых Накамура, что типично для его стиля игры, настаивал на победе вместо того, чтобы соглашаться на ничью.[23]
Подход с использованием искусственного интеллекта, разработанный Жан-Марком Аллиотом из Institut de recherche en informatique de Toulouse («Тулузский исследовательский институт компьютерных наук»), который сравнивает ходы гроссмейстера по шахматам с ходами Стокфиша, рейтинг Магнус Карлсен как лучший игрок всех времен, поскольку у него была самая высокая вероятность из всех чемпионов мира по шахматам разыграть ходы, предложенные Стокфишем.[24]
Участие в TCEC
Stockfish - это TCEC многократный чемпион и действующий лидер по количеству трофеев. С момента перезапуска TCEC в 2013 году Stockfish финишировал первым или вторым в каждом сезоне, кроме одного. В сезонах 4 и 5 TCEC Stockfish занял второе место с результатом 23–25 в Суперфинале против Гудини 3 и выше против Комодо 1142. Пятый сезон был примечателен победившей командой Комодо, поскольку они посмертно приняли награду за создателя программы. Дон Дэйли, заболевшим на заключительном этапе соревнований. В его честь версия Stockfish, выпущенная вскоре после этого сезона, была названа "Stockfish DD".[25]
30 мая 2014 года Stockfish 170514 (разрабатываемая версия Stockfish 5 с поддержкой tablebase) убедительно выиграл 6-й сезон TCEC, набрав 35,5–28,5 очков против Komodo 7x в Суперфинале.[26] На следующий день был выпущен Stockfish 5.[27] В 7-м сезоне TCEC Stockfish снова пробился в Суперфинал, но проиграл Комодо со счетом 30,5–33,5.[26] В 8-м сезоне TCEC, несмотря на потери времени, вызванные ошибками в коде, Stockfish, тем не менее, снова прошел квалификацию в Суперфинал, но проиграл Комодо в следующем матче из 100 игр 46,5–53,5.[26] В 9 сезоне Stockfish победил Houdini 5 со счетом 54,5 против 45,5.[26][28]
Stockfish занял третье место в 10 сезоне TCEC, единственном сезоне с 2013 года, в котором Stockfish не прошел квалификацию в суперфинал. Он не проиграл ни одной игры, но все же выбыл, потому что не смог набрать достаточно побед против движков с более низким рейтингом. После этого технического исключения Stockfish продолжил длинную победную серию, выиграв 11 сезонов (59 против 41 против Houdini 6,03),[26][29] 12 (60 против 40 против Komodo 12.1.1),[26][30] и 13 (55 против 45 против 2155.00 Komodo)[26][31] убедительно.[32] В 14 сезон, Stockfish столкнулся с новым соперником в Лила Чесс Зеро, но сумел отыграть одну партию (50,5–49,5).[26][33] Его победная серия наконец завершилась 15 сезон, когда Лила снова квалифицировалась и выиграла 53,5-46,5,[26] но Stockfish быстро выиграл 16 сезон, победив AllieStein 54,5–45,5 после того, как Лила не прошла в суперфинал.[26] В 17 сезон, Stockfish снова встретился с Лилой в суперфинале, проиграв 52.5-47.5. Однако в следующих двух суперфиналах Стокфиш убедительно обыграл Лилу: 53,5-46,5 18 сезон и 54,5-45,5 дюйма 19 сезон.[26]
Stockfish также принял участие в кубке TCEC, выиграв первое издание, но был удивительно расстроен Гудини в полуфинале второго выпуска.[26][34] Stockfish восстановился, чтобы обыграть Комодо в плей-офф за третье место.[26] В третьем выпуске Stockfish пробился в финал, но проиграл Лила Чесс Зеро после промаха в 7-человек таблица финала рисовать. Он отомстил[тон ] в четвертом выпуске, победив Лилу в финале 4,5–3,5.[26]
Компьютерный шахматный турнир
С тех пор Chess.com в 2018 году прошел первый чемпионат по компьютерным шахматам, Stockfish оказался самым успешным движком. Он доминировал в предыдущих чемпионатах, выиграв шесть титулов подряд, прежде чем финишировал вторым в CCC7. С тех пор его доминирование оказалось под угрозой со стороны нейросетевых движков. Leelenstein и Лила Чесс Зеро, но он продолжал хорошо работать, достигая по крайней мере суперфинала в каждом выпуске до CCC11. У CCC12 впервые был формат на выбывание, когда финалисты CCC11 Stockfish и Лила оказались в одной половине. Лила выбила Stockfish в полуфинале. Однако в послетурнирном матче против проигравшего финала, Лиленштейна, Stockfish выиграл в том же формате, что и главное событие.
Мероприятие | Год | Контроль времени | Результат | Ссылка |
---|---|---|---|---|
CCC 1: Rapid Rumble | 2018 | 15+5 | 1-й | [35] |
CCC 2: Блиц-битва | 2018 | 5+2 | 1-й | [36] |
CCC 3: Быстрый Redux | 2019 | 30+5 | 1-й | [37] |
CCC 4: Драка пули | 2019 | 1+2 | 1-й | [38] |
CCC 5: Эскалация | 2019 | 10+5 | 1-й | [39] |
CCC 6: Зимняя классика | 2019 | 10+10 | 1-й | [40] |
CCC 7: Blitz Bonanza | 2019 | 5+2 | 2-й | [41] |
CCC 8: Глубокое погружение | 2019 | 15+5 | 1-й | [42] |
CCC 9: Рукавица | 2019 | 5+2, 10+5 | 1-й | [43] |
CCC 10: двойные цифры | 2019 | 10+3 | 2-й | [44] |
CCC 11 | 2019 | 30+5 | 2-й | [45] |
CCC 12: Bullet Madness! | 2020 | 1+1 | 3-й | [46] |
CCC 13: семиугольник | 2020 | 5+5 | 2-й | [47] |
Stockfish против AlphaZero
В декабре 2017 года Stockfish 8 использовался в качестве эталона для тестирования Google разделение Deepmind с AlphaZero, причем каждый движок поддерживается разным оборудованием. AlphaZero был обучен через самостоятельную игру в течение девяти часов и достиг уровня Stockfish всего за четыре.[48][49][50] В 100 партиях с нормальной стартовой позиции AlphaZero выиграла 25 партий белыми, 3 - черными и сыграла вничью в оставшихся 72 партиях с 0 поражениями.[51] AlphaZero также сыграла двенадцать матчей из 100 игр против Stockfish, начиная с двенадцати популярных дебютов, и в итоге набрала 290 побед, 886 ничьих и 24 поражения, набрав 733: 467 очков.[52][примечание 1]
Победа AlphaZero над Stockfish вызвала волну активности в компьютерном шахматном сообществе, что привело к созданию нового движка с открытым исходным кодом, нацеленного на копирование AlphaZero, известного как Лила Чесс Зеро. К январю 2019 года Лила смогла победить версию Stockfish, которая играла в AlphaZero (Stockfish 8), в матче из 100 игр. Обновленная версия Stockfish с небольшим перевесом победила Лилу Chess Zero в суперфинале турнира. 14-й сезон TCEC, 50.5–49.5 (+10 =81 −9),[26] но проиграл суперфинал следующий сезон Лиле 53,5-46,5 (+14 = 79-7).[26][54] Два двигателя остаются очень близкими по силе друг к другу, даже несмотря на то, что они продолжают совершенствоваться: Лила победила Stockfish в суперфинале TCEC Сезон 17, но Stockfish выиграл TCEC Сезон 18 и TCEC Сезон 19.
Платформы
Версии выпуска и версии для разработки доступны как C ++ исходный код и как предварительно скомпилированные версии для Майкрософт Виндоус, macOS, Linux 32-бит / 64-бит и Android.
Stockfish был очень популярным движком для различных платформ. На настольном компьютере это шахматный движок по умолчанию, связанный с Интернет-шахматный клуб интерфейс программ BlitzIn и Dasher. На мобильной платформе он был связан с приложением Stockfish, SmallFish и Рыба-дроид. Другое Stockfish-совместимое графический пользовательский интерфейс (GUI) включают Фриц, Arena, Stockfish для Mac и PyChess.[55][56] По состоянию на март 2014 года Stockfish - это шахматный движок, используемый Личинка,[57] популярный шахматный онлайн-сайт.
Stockfish можно скомпилировать в WebAssembly или же JavaScript, позволяя запускать его в браузере. Обе Chess.com и lichess предоставляют вяленую рыбу в этой форме в дополнение к серверной программе.[58]
Производные
Stockfish использовался для создания программ для многих шахматные варианты. Вот некоторые из вилок:
- YaneuraOu, мощный движок сёги и начало NNUE. Говорит УСИ, вариант UCI для шахмат.[59]
- Fairy Stockfish, версия, модифицированная для игры сказочные шахматы. Забеги с региональными вариантами (шахматы, сёги, макрук и т. д.), а также другие варианты, например антишам.[60]
- Личинка Stockfish, версия для вариантов игры без сказочных фигур.[58]
Смотрите также
Примечания
Рекомендации
- ^ "Лицензия Stockfish GPLv3". github.com/official-stockfish/Stockfish. Получено 20 июля 2020.
- ^ Ошибка цитирования: указанная ссылка
:0
был вызван, но не определен (см. страница помощи). - ^ «CCRL 40/15». computerchess.org.uk. 11 января 2010 г.. Получено 13 января 2020.
- ^ Кауфман, Ларри (24 ноября 2013 г.). «Глубина вяленой рыбы по сравнению с другими; проблема». talkchess.com. Получено 8 марта 2014.
- ^ «CCRL 40/15 - Полный список». computerchess.org.uk.
- ^ "Версии разработки Stockfish". abrok.eu. Архивировано из оригинал 11 ноября 2014 г.. Получено 1 февраля 2015.
- ^ "О". stockfishchess.org. Получено 5 марта 2014.
- ^ Костальба, Марко (2 ноября 2008 г.). "Stockfish 1.0". talkchess.com. Получено 6 марта 2014.
- ^ Ромстад, Торд (5 сентября 2009 г.). "Re: Stockfish - Glaurung". wbec-ridderkerk.forumotion.com. Получено 5 марта 2014.
- ^ Костальба, Марко (18 июня 2014 г.). "Шаг вниз". groups.google.com. Получено 19 июн 2014.
- ^ Линскотт, Гэри (18 июня 2014 г.). «Новый официальный репозиторий». groups.google.com. Получено 19 июн 2014.
- ^ нодчип. «Стокфиш ННУЭ». Получено 3 августа, 2020.
- ^ «СФ ННУЭ. Выпуск №2728 официальная-вяленая». 27 июня 2020 г.. Получено 3 августа, 2020.
- ^ Канарейка-Рид (the_real_greco), Вильгельм. «Stockfish + NNUE, сильнейший шахматный движок всех времен, чтобы соревноваться в СССС». Chess.com. Получено 2020-07-24.
- ^ а б Йост ВандеВонделе (25 июля 2020 г.). "официальный-вяленый / Stockfish, ННУЭ слияние". Получено 3 августа, 2020.
- ^ abrok.eu. «Версии разработки Stockfish ННУЭ». Получено 3 августа, 2020.
- ^ анонс версии 12 в блоге
- ^ «Система тестирования Stockfish». tests.stockfishchess.org. Получено 7 марта 2014.
- ^ "Увлекаться". stockfishchess.org. Получено 8 марта 2014.
- ^ Костальба, Марко (1 мая 2013 г.). «Фреймворк распределенного тестирования Fishtest». talkchess.com. Получено 18 апреля 2014.
- ^ «Система тестирования Stockfish - Пользователи». test.stockfishchess.org. Получено 14 июн 2018.
- ^ «Рейтинговый список CCRL». Архивировано из оригинал 30 мая 2014 г.
- ^ http://www.chess.com/news/stockfish-outlasts-nakamura-3634.
- ^ «Когда искусственный интеллект оценивает шахматных чемпионов». Science Daily. CNRS. 25 апреля 2017.
- ^ "Блог Stockfish о Stockfish DD".
- ^ а б c d е ж грамм час я j k л м п о п "Архив сезона TCEC". tcec-chess.com. Получено 9 января 2015.
- ^ Костальба, Марко (31 мая 2014 г.). "Stockfish 5". talkchess.com. Получено 19 июн 2014.
- ^ "Stockfish - главный чемпион 9-го сезона TCEC". Шахматы. Получено 5 декабря 2016.
- ^ «Суперфинал 11 сезона TCEC 2018». Chess24.com. Получено 18 ноября 2018.
- ^ «Суперфинал 12 сезона TCEC 2018». Chess24.com. Получено 18 ноября 2018.
- ^ «Суперфинал 13 сезона TCEC 2018». Chess24.com. Получено 18 ноября 2018.
- ^ «Stockfish убедительно выигрывает 11-й сезон TCEC». Шахматы. Получено 18 апреля 2018.
- ^ «Stockfish продолжает доминировать в компьютерных шахматах, выигрывает TCEC S14». Шахматы. 1 марта 2019.
- ^ «Houdunit? Самая шокирующая игра на шахматном движке TCEC 2019».
- ^ Чиленто, Пит. «Stockfish выигрывает чемпионат по компьютерным шахматам по быстрым шахматам; Lc0 занимает третье место». Chess.com. Получено 20 июн 2019.
- ^ Чиленто, Пит. «Стокфиш выиграл чемпионат по компьютерным шахматам по блицу». Chess.com. Получено 20 июн 2019.
- ^ Чиленто, Пит. «Stockfish выигрывает чемпионат по быстрым компьютерным играм над Lc0; затем Bullet Chess». Chess.com. Получено 20 июн 2019.
- ^ Чиленто, Пит. «Stockfish выигрывает Bullet чемпионата по компьютерным шахматам; следующий" Escalation "». Chess.com. Получено 20 июн 2019.
- ^ [1]
- ^ Чиленто, Пит. «Чемпионат по компьютерным шахматам играет блиц после того, как Stockfish защищает титул». Chess.com. Получено 20 июн 2019.
- ^ Чиленто, Пит (17 апреля 2019 г.). «Lc0 выигрывает чемпионат по компьютерным шахматам, делает историю». Chess.com. Получено 18 апреля 2019.
- ^ Пит (Пит). "Stockfish наносит ответный удар, возглавляет Lc0 в компьютерном чемпионате по шахматам". Chess.com. Получено 29 мая 2019.
- ^ «Чемпионат по компьютерным шахматам». Chess.com. Получено 9 июля 2019.
- ^ «Чемпионат по компьютерным шахматам». Chess.com. Получено 30 июля 2019.
- ^ «Чемпионат по компьютерным шахматам». Chess.com. Получено 27 декабря 2019.
- ^ «Чемпионат по компьютерным шахматам». Chess.com. Получено 28 января 2020.
- ^ «Чемпионат по компьютерным шахматам». Chess.com. Получено 30 апреля 2020.
- ^ DeepMind (6 декабря 2018 г.). «AlphaZero: проливаем новый свет на шахматы, сёги и го». deepmind.com. Получено 20 июля 2020.
- ^ Knapton, Сара; Уотсон, Леон (6 декабря 2017 г.). «Все человеческие шахматные знания были изучены и превзойдены DeepMind AlphaZero за четыре часа». Telegraph.co.uk. Получено 6 декабря 2017.
- ^ Винсент, Джеймс (6 декабря 2017 г.). «Искусственный интеллект DeepMind за несколько часов стал сверхчеловеческим шахматистом, просто для удовольствия». Грани. Получено 6 декабря 2017.
- ^ "'Сверхчеловеческий Google AI претендует на шахматную корону ". Новости BBC. 6 декабря 2017 г.. Получено 7 декабря 2017.
- ^ "AlphaZero DeepMind сокрушает шахматы". Chess.com. 6 декабря 2017 г.. Получено 13 декабря 2017.
- ^ Сильвер, Дэвид; Хуберт, Томас; Шриттвизер, Джулиан; Антоноглоу, Иоаннис; Лай, Мэтью; Гез, Артур; Ланкто, Марк; Сифре, Лоран; Кумаран, Дхаршан; Грэпель, Тор; Лилликрап, Тимоти; Симонян, Карен; Хассабис, Демис (5 декабря 2017 г.). «Освоение шахмат и сёги путем самостоятельной игры с использованием общего алгоритма обучения с подкреплением». arXiv:1712.01815 [cs.AI ].
- ^ крем. "Lc0 выиграл 15 TCEC". Получено 20 июн 2019.
- ^ Использование движка Stockfish, Поддержка Stockfish.
- ^ Шахматы, PyChess Github.
- ^ [2] Lichess использует объявление Stockfish.
- ^ а б Дугович, Даниэль (8 ноября 2020 г.). "ddugovic / Stockfish: Многовариантный форк популярного шахматного движка UCI".
- ^ "янеурао"; Нода, Хисайори; Насу, Ю (8 ноября 2020 г.). «YaneuraOu: сильнейший в мире движок сёги (AI-игрок), 1-й победитель WCSC29, образовательный и совместимый с USI движок». GitHub.
- ^ Фихтер, Фабиан (8 ноября 2020 г.). «Fairy-Stockfish: шахматный вариант движка с поддержкой Xiangqi, Shogi, Janggi, Makruk, S-Chess, Crazyhouse, Bughouse и многих других». GitHub.
дальнейшее чтение
- Интервью с Тордом Ромстадом (Норвегия), Йооной Кийски (Финляндия) и Марко Костальба (Италия), программисты Stockfish