Loading AI tools
З Вікіпедії, вільної енциклопедії
Stockfish (Стокфіш) — це вільний і відкритий шаховий рушій[2] UCI, доступний для різних персональних і мобільних платформ. Він розроблений Марко Костальбою, Джуно Кійскі, Гарі Ліндскоттом і Тордом Ромстадом, з багатьма внесками від спільноти розробників.
Ця стаття є сирим перекладом з іншої мови. Можливо, вона створена за допомогою машинного перекладу або перекладачем, який недостатньо володіє обома мовами. (листопад 2021) |
Тип | Шаховий рушій |
---|---|
Розробник | Марко Костальба Джуна Кііскі Гарі Ліндскотт Торд Ромстад[1] |
Перший випуск | 2 листопада 2008 |
Стабільний випуск | 10 (29 листопада 2018 ) |
Операційна система | Microsoft Windows macOS Linux iOS Android |
Мова програмування | C++ |
Ліцензія | GNU GPLv3 |
Репозиторій | github.com/official-stockfish/Stockfish |
Вебсайт | stockfishchess.org |
Stockfish займає перші місця рейтингових списків шахових рушіїв і серед програм з відкритим початковим кодом є найсильнішою. Він виграв неофіційні чемпіонати світу з комп'ютерних шахів у 6 сезоні (2014), 9 (2016), 11 (2018), 12 (2018) та 13 (2018)). Також він посів другі місця на турнірах у 5 сезоні (2013), 7 (2014) та 8 (2015). Stockfish походить від Glaurung[3], рушія з відкритим вихідним кодом, написаним Тордом Ромстадом[4].
Stockfish може використовувати до 512 потоків у багатопроцесорних системах. Максимальний розмір його таблиці транспозиції[en] — 128 Гб. Stockfish реалізує передовий альфа-бета-пошук і використовує бітові дошки[en]. Порівняно з іншими рушіями він характеризується великою глибиною пошуку, що частково обумовлено більш агресивним відсіченням та зниженням швидкості руху[куди?][5][6].
Stockfish підтримує Chess960, що є однією з функцій, успадкованих від Glaurung. Підтримка баз даних ендшпіля була інтегрована в Stockfish в 2014 році. У 2018 році була додана підтримка 7-ступінчастої бази даних ендшпілю, незабаром після того, як вона стала доступною.
Програма походить від Glaurung, шахового рушія з відкритим кодом, створеного Ромстадом і вперше випущеного в 2004 році. За чотири роки, Костальба, натхненний сильним рушієм з відкритим вихідним кодом, вирішив розгорнути цей проект. Він назвав його Stockfish, тому що він був «виготовлений в Норвегії та приготований в Італії» (Костальба — італієць, Ромстад — норвежець). Перша версія Stockfish 1.0 була випущена в листопаді 2008 року[7][8]. Деякий час нові ідеї та зміни коду були розподілені між двома програмами, аж до того, як Ромстад вирішив припинити Glaurung на користь Stockfish, який був тоді більш просунутим рушієм[9]. Останній Glaurung (версія 2.2) був випущений в грудні 2008 року.
Минуло близько року як Ромстад вирішив відмовитися від своєї участі в Stockfish і вважав за краще провести свій час над опрацюванням нового додатку для шахів в Інтернеті.
18 червня 2014 року Марко Костальба оголосив, що «вирішив піти у відставку», і запропонував спільноті створити розвилку поточної версії та продовжувати її розвиток[10]. Офіційне сховище, яким керує волонтерська група основних розробників Stockfish, була створена незабаром після цього і зараз керує розробкою проекту[11].
З 2013 року Stockfish розроблено з використанням розподіленої системи обчислення «Fishtest», де волонтери можуть пожертвувати процесорний час для тестування вдосконалень програми[12][13][14].
Зміни до ігрового коду приймаються або відхиляються на підставі результатів відтворення десятків тисяч ігор на основі старої «референтної» версії програми, використовуючи тестування послідовного коефіцієнта ймовірності[en]. Тести на рамки перевіряються за допомогою хі-квадратного тесту, і тільки якщо результати є статистично-значимими, вони вважаються достовірними та використовуються для перегляду програмного коду.
Станом на червень 2018 року, система використала в загалом більш як 1200 років часу процесора, щоб зіграти більш ніж 840 мільйонів шахових ігор[15]. Після заснування FishTex, Stockfish зазнав вибухового зростання на 120 пунктів рейтингу ELO за останні 12 місяців, це вивело його на перше місце у всіх основних рейтингових списках[16][17]. Після релізу Stockfish 7, автор FishTest Гаррі Ліндскотт був доданий до офіційного списку авторів, підтверджуючи свій внесок у силу Stockfish.
У 2013 році Stockfish закінчив другий турнір у TCEC сезону 4 і 5, і з фінальними оцінками 23-25 проти Houdini 3 і проти Komodo[en] 1142. 5 сезон був відомий виграшем команди Komodo, і вони взяли нагороду. На жаль, творець програми Дон Дайлі[en] отримав її посмертно. На його честь версія Stockfish, яка була випущена незабаром після цього сезону, була названа «Stockfish DD»[18].
30 травня 2014 року Stockfish 170514 (розробка версії Stockfish 5 з підтримкою database) переконливо виграла TCEC 6 сезону, набравши 35,5-28,5 проти Komodo 7x у Суперфіналі[19]. Stockfish 5 був випущений наступного дня[20]. У сезоні TCEC 7 Stockfish знову потрапив у Суперфінал, але поступився Komodo з рахунком 30.5-33.5[19]. У TCEC 8 сезоні, попри втрати в часі, спричинені багі-кодом, Stockfish все ж таки кваліфікувався ще раз для Суперфіналу, але втратив наступний 100-партійний матч з рахунком 46,5-53,5 — в результаті перемога для Komodo.[19]
Stockfish version 8 є переможцем сезону 9 сезону 2016 TCEC проти Houdini версії 5 з рахунком 54.5 — 45.5[21]. Stockfish завершив сезон 10 TCEC на 3 сходинці і виграв сезони 11 (59 — 41 проти Houdini 6,03)[22] , 12 (60 — 40 проти Комодо 12.1.1)[23] , і 13 (55 — 45 проти Комодо 2155.00)[24] переконливо[25].
Сила Stockfish по відношенню до кращих шахових гравців у світі була найбільш помітною у матчі з гросмейстером Хікару Накамурою (рейтинг 2798) у серпні 2014 року. У перших двох матчах Накамура мав допомогу старої версії Rybka, а у наступних двох іграх він не отримав допомоги. Накамура був найкращим шаховим гравцем у світі під час матчу, тоді як Stockfish було відмовлено у використанні його відкриваючої книги, а також на базі базових ігор. Stockfish виграв кожну половину матчу 1,5 — 0,5. Обидва виграші Stockfish виникли з позицій, в яких Накамура, як це характерно для його стилю гри, вимагає перемоги, а не погоджується на нічию[26].
Підхід штучного інтелекту, розроблений Жан-Марком Аліотом з Інституту інформаційних досліджень Тулузи («Тулузький науково-дослідний інститут інформатики»), в якому порівнюється шаховий гросмейстер із Stockfish, визнав Магнуса Карлсена найкращим гравцем всіх час, тому що він мав найвищу ймовірність того, що всі Чемпіони світу з шахів відіграють усі варіанти партій, які запропонував Stockfish[27].
У листопаді 2017 року chess.com провів відкритий турнір із десяти найсильніших шахових рушіїв, який веде до «Суперфіналу» турніру між двома фіналістами — Stockfish та Houdini. У 20-грі суперфіналу Stockfish переміг Houdini з рахунком 10.5-9.5. П'ять ігор були вирішальними. З вирішальних ігор, три гри були виграні Стокфішом (один за чорних), і дві гри виграв Гудіні (вигравши за чорних). Середня тривалість гри становила 100 ходів[28][29]. Турнір був організований за допомогою різноманітних контролів часу, а двигунам виділили однакову обчислювальну підтримку; кожен з яких має свій спеціальний віртуалізований екземпляр HyperThreaded Intel Xeon 2,90 ГГц (два процесори кожен із яких 18 ядер) з оперативною пам'яттю 60 Гб, що працює на сервері на базі Windows[28].
Stockfish також виграв версію цього чемпіонату 2018 року, знову здобувши перемогу у фіналі над Houdini — на цей раз з рахунком 120/200 (перемоги / кількість матчів). Під час бонусно-ігрового сегменту цього турніру Стокфіш програв партію проти рушія нейронної мережі Leela Chess Zero.
У внутрішніх тестах розробника Leela Chess Zero (який також є одним із розробників Stockfish), з обома рушіями, що працюють на такій самій апаратурі, Stockfish виграв 76 ігор, Leela Chess Zero виграв 16 ігор, і було 308 нічиїх[30].
У грудні 2017 року Stockfish 8 був використаний як еталон для оцінки підрозділу Google Deepmind's AlphaZero, при цьому кожен двигун підтримується різними апаратними засобами. AlphaZero навчався за допомогою самостійної гри на загальну суму дев'ять годин і досягав рівня Stockfish лише після чотирьох.[31][32] Stockfish було виділено 64 потоків та розмір хешу 1 Гб; AlphaZero підтримувався чотирма спеціальними TPU-програмами. Кожній програмі було надано одну хвилину часу на мислення.
У 100 матчах з нормальної стартової позиції AlphaZero виграв 25 ігор у білими, виграв 3 за чорних, та витягнув решту 72 з 0 втратами (ничиї).[33] AlphaZero також зіграв дванадцять 100 ігрових матчів проти Stockfish, для остаточного рахунку: 290 перемог, 886 ничиїх та 24 поразок, для точної оцінки 733 : 467.[34] Дослідження не було і Google відмовився коментувати до публікації[33].
У відповідь на це розробник Stockfish Торд Ромстад прокоментував: "Результати матчу самі по собі не є особливо значущими через досить дивний вибір часу контролю та налаштування параметрів Stockfish: ігри були відтворені в заданий час 1 хвилина / хід, що означає, що Stockfish не використовує свій час раціонально (багато сил було вжито, щоб визначити для Stockfish критичні точки в грі і вирішити, коли витратити додатковий час на хід). У версії Stockfish, що використовується, він грає з набагато більшою кількістю пошукових потоків, ніж коли-небудь отримував. Я вважаю, що відсоток нічиїх був би набагато вище в матчі з більш нормальними умовами "[35].
Хікару Накамура також проявив скептицизм, дивлячись на результати, заявивши: "Я не обов'язково ставлюсь з довірою до результатів просто тому, що я розумію, що AlphaZero в основному використовує суперкомп'ютер Google, а Stockfish не працює на цьому обладнанні, Stockfish в основному працює на тому, що й мій ноутбук. Якщо ви хочете, щоб був матч, який можна порівняти, ви повинні зробити, щоб Stockfish працював на суперкомп'ютері також "[35].
Випуск версій та версії розробки доступні як вихідний код C++ і як попередньо скомпільовані версії для Microsoft Windows, macOS, Linux 32-розрядні / 64-розрядні та Android.
Stockfish був[коли?] дуже популярним рушієм для різних платформ. На робочому столі[якому?], це шаховий рушій за замовчуванням в комплекті з програмами інтерфейсу Internet Chess Club BlitzIn і Dasher. На мобільних платформах він був включений в додаток Stockfish, SmallFish і Droidfish. Інші графічні користувацькі інтерфейси, що підтримують Stockfish, включають Fritz, Arena, Stockfish для Mac та PyChess. Станом на березень 2017 року Stockfish — це AI, що використовується в Lichess, популярному шаховому сайті в Інтернеті.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.