Stockfish
Ця стаття є сирим перекладом з іншої мови. Можливо, вона створена за допомогою машинного перекладу або перекладачем, який недостатньо володіє обома мовами. Будь ласка, допоможіть поліпшити переклад. (листопад 2021) |
-
Медіафайли у Вікісховищі
Stockfish (Стокфіш) — це вільний і відкритий шаховий рушій[2] UCI, доступний для різних персональних і мобільних платформ. Він розроблений Марко Костальбою, Джуно Кійскі, Гарі Ліндскоттом і Тордом Ромстадом, з багатьма внесками від спільноти розробників.
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.
Результати змагань
Участь в TCEC
У 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 проти Накамури
Сила 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].
Stockfish проти AlphaZero
У грудні 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, популярному шаховому сайті в Інтернеті.
Примітки
- ↑ Stockfish/src/uci.cpp. Архів оригіналу за 12 листопада 2020. Процитовано 18 березня 2016.
- ↑ Chabris, Christopher. The Real Kings of Chess Are Computers. Wall Street Journal. Архів оригіналу за 24 вересня 2015. Процитовано 18 вересня 2015.
- ↑ Glaurung – UCI chess engine. GitHub. [email protected]. Архів оригіналу за 11 червня 2018.
- ↑ Eade, James. Chess For Dummies. Hoboken, New Jersey: John Wiley & Sons. p. 476. Архів оригіналу за 3 грудня 2018. Процитовано 2 січня 2017..
- ↑ Kaufman, Larry. Stockfish depth vs. others; challenge. talkchess.com (англ.). Архів оригіналу за 30 листопада 2018. Процитовано 24 листопада 2013.
- ↑ Kislik, Erik. Analyze TCEC Superfinal. susanpolgar.blogspot.com. Архів оригіналу за 3 грудня 2018. Процитовано 7 червня 2014.
- ↑ About. stockfishchess.org. Архів оригіналу за 17 лютого 2014. Процитовано 5 березня 2014..
- ↑ Costalba, Marco (2 листопада 2008.). Stockfish 1.0. talkchess.com. Архів оригіналу за 13 липня 2018. Процитовано 6 березня 2014..
- ↑ Romstad, Tord (5 вересня 2009.). Re: Stockfish - Glaurung. wbec-ridderkerk.forumotion.com. Архів оригіналу за 6 березня 2014. Процитовано 5 березня 2014..
- ↑ Costalba, Marco (18 червня 2014).). Step down. groups.google.com. Архів оригіналу за 2 серпня 2013. Процитовано 19 червня 2014..
- ↑ Linscott, Gary ((18 червня 2014)). New official repository. groups.google.com. Архів оригіналу за 2 серпня 2013. Процитовано 19 червня 2014..
- ↑ Stockfish Testing Queue. tests.stockfishchess.org. Архів оригіналу за 22 березня 2014. Процитовано 7 березня 2014..
- ↑ Get Involved. stockfishchess.org. Архів оригіналу за 27 лютого 2014. Процитовано 8 березня 2014.
- ↑ Costalba, Marco (1 травня 2013.). Fishtest Distributed Testing Framework. talkchess.com. Архів оригіналу за 3 грудня 2018. Процитовано 18 квітня 2014..
- ↑ Stockfish Testing Framework - Users. test.stockfishchess.org. Архів оригіналу за 25 червня 2018. Процитовано 14 червня 2018..
- ↑ "Fast GM Rating List". Архів оригіналу за 1 липня 2014.
- ↑ "CCRL Rating List". 2014-05-30. Архів оригіналу за 30 травня 2014.
- ↑ "Stockfish Blog on Stockfish DD". Архів оригіналу за 27 липня 2015.
- ↑ а б в "TCEC Season Archive". tcec.chessdom.com. Архів оригіналу за 20 лютого 2019. Процитовано 9 січня 2015..
- ↑ Costalba, Marco. "Stockfish 5". talkchess.com. Архів оригіналу за 13 липня 2018. Процитовано 19 червня 2014..
- ↑ "Stockfish is the TCEC Season 9 Grand Champion". Chessdom.com. Архів оригіналу за 6 грудня 2016. Процитовано 5 грудня 2016..
- ↑ "TCEC Season 11 Superfinal 2018". chess24.com. Архів оригіналу за 18 листопада 2018. Процитовано 2018-11-18..
- ↑ "TCEC Season 12 Superfinal 2018". chess24.com. Архів оригіналу за 2 серпня 2018. Процитовано 18 листопада 2018.
- ↑ "TCEC Season 13 Superfinal 2018". chess24.com. Архів оригіналу за 18 листопада 2018. Процитовано 2018-11-18..
- ↑ "Stockfish convincingly wins TCEC Season 11". Chess.dom. Архів оригіналу за 17 квітня 2018. Процитовано 18 квітня 2018..
- ↑ Klein, Mike (24 серпня 2014). Stockfish Outlasts "Rybkamura". Архів оригіналу за 3 грудня 2018.
- ↑ "When artificial intelligence evaluates chess champions". https://en.wikipedia.org/wiki/ScienceDaily. 25 квітня 2017. Архів оригіналу за 11 квітня 2020.
- ↑ а б Chess.com announces computer chess championship. Chess.com. Архів оригіналу за 12 листопада 2020.
- ↑ Stockfish wins chess.com computer championship. Архів оригіналу за 9 листопада 2020.
- ↑ LC0 vs. Stockfish. Архів оригіналу за 7 лютого 2020.
- ↑ Knapton Sarah;, Watson Leon; (6 грудня 2017.). "Entire human chess knowledge learned and surpassed by DeepMind's AlphaZero in four hours". Telegraph.co.uk. Архів оригіналу за 2 грудня 2020. Процитовано 6 грудня 2017..
- ↑ Vincent, James (6 грудня 2017.). "DeepMind's AI became a superhuman chess player in a few hours, just for fun". https://en.wikipedia.org/wiki/The_Verge. Архів оригіналу за 2 грудня 2020. Процитовано 6 грудня 2017..
- ↑ а б "'Superhuman' Google AI claims chess crown". BBC News. 6 грудня 2017. Архів оригіналу за 2 грудня 2020. Процитовано 7 грудня 2017..
- ↑ "DeepMind's AlphaZero crushes chess". chess.com. 6 груденя 2017. Архів оригіналу за 12 грудня 2018. Процитовано 13 груденя 2017.
- ↑ а б "AlphaZero: Reactions From Top GMs, Stockfish Author". Chess.com. 8 грудня 2017. Архів оригіналу за 14 грудня 2017. Процитовано 13 грудня 2017.
Додаткові матеріали
- Інтерв'ю з Тордом Ромстадом (Норвегія), Джуною Кііскою (Фінляндія) та Марко Костальбою (Італія) [Архівовано 3 грудня 2018 у Wayback Machine.], розробники Stockfish.
Посилання
- Офіційний вебсайт [Архівовано 21 червня 2012 у Wayback Machine.]
- Офіційний сховище кодів Stockfish [Архівовано 18 вересня 2018 у Wayback Machine.] on GitHub
- Розроблені версії для Linux та Windows [Архівовано 14 травня 2013 у Wayback Machine.]
- Форум розробників [Архівовано 2 серпня 2013 у Archive.is]
- Stockfish — тестування фреймворків [Архівовано 28 листопада 2018 у Wayback Machine.]
|
![]() | Це незавершена стаття з шахів. Ви можете допомогти проєкту, виправивши або дописавши її. |