Ця стаття є сирим перекладом з іншої мови. Можливо, вона створена за допомогою машинного перекладу або перекладачем, який недостатньо володіє обома мовами. (листопад 2021) |
Stockfish (Стокфіш) — це вільний і відкритий шаховий рушій UCI, доступний для різних персональних і мобільних платформ. Він розроблений Марко Костальбою, Джуно Кійскі, Гарі Ліндскоттом і Тордом Ромстадом, з багатьма внесками від спільноти розробників.
Тип | Шаховий рушій |
---|---|
Розробник | Марко Костальба Джуна Кііскі Гарі Ліндскотт Торд Ромстад |
Перший випуск | 2 листопада 2008 |
Стабільний випуск | 10 (29 листопада 2018 ) |
Версії | 16 (30 червня 2023) |
Операційна система | 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, рушія з відкритим вихідним кодом, написаним Тордом Ромстадом.
Особливості Редагувати
Stockfish може використовувати до 512 потоків у багатопроцесорних системах. Максимальний розмір його таблиці транспозиції[en] — 128 Гб. Stockfish реалізує передовий альфа-бета-пошук і використовує бітові дошки[en]. Порівняно з іншими рушіями він характеризується великою глибиною пошуку, що частково обумовлено більш агресивним відсіченням та зниженням швидкості руху[куди?].
Stockfish підтримує Chess960, що є однією з функцій, успадкованих від Glaurung. Підтримка баз даних ендшпіля була інтегрована в Stockfish в 2014 році. У 2018 році була додана підтримка 7-ступінчастої бази даних ендшпілю, незабаром після того, як вона стала доступною.
Історія створення Редагувати
Програма походить від Glaurung, шахового рушія з відкритим кодом, створеного Ромстадом і вперше випущеного в 2004 році. За чотири роки, Костальба, натхненний сильним рушієм з відкритим вихідним кодом, вирішив розгорнути цей проект. Він назвав його Stockfish, тому що він був «виготовлений в Норвегії та приготований в Італії» (Костальба — італієць, Ромстад — норвежець). Перша версія Stockfish 1.0 була випущена в листопаді 2008 року. Деякий час нові ідеї та зміни коду були розподілені між двома програмами, аж до того, як Ромстад вирішив припинити Glaurung на користь Stockfish, який був тоді більш просунутим рушієм. Останній Glaurung (версія 2.2) був випущений в грудні 2008 року.
Минуло близько року як Ромстад вирішив відмовитися від своєї участі в Stockfish і вважав за краще провести свій час над опрацюванням нового додатку для шахів в Інтернеті.
18 червня 2014 року Марко Костальба оголосив, що «вирішив піти у відставку», і запропонував спільноті створити розвилку поточної версії та продовжувати її розвиток. Офіційне сховище, яким керує волонтерська група основних розробників Stockfish, була створена незабаром після цього і зараз керує розробкою проекту.
Тестування Редагувати
З 2013 року Stockfish розроблено з використанням розподіленої системи обчислення «Fishtest», де волонтери можуть пожертвувати процесорний час для тестування вдосконалень програми.
Зміни до ігрового коду приймаються або відхиляються на підставі результатів відтворення десятків тисяч ігор на основі старої «референтної» версії програми, використовуючи тестування послідовного коефіцієнта ймовірності[en]. Тести на рамки перевіряються за допомогою хі-квадратного тесту, і тільки якщо результати є статистично-значимими, вони вважаються достовірними та використовуються для перегляду програмного коду.
Станом на червень 2018 року, система використала в загалом більш як 1200 років часу процесора, щоб зіграти більш ніж 840 мільйонів шахових ігор. Після заснування FishTex, Stockfish зазнав вибухового зростання на 120 пунктів рейтингу ELO за останні 12 місяців, це вивело його на перше місце у всіх основних рейтингових списках. Після релізу Stockfish 7, автор FishTest Гаррі Ліндскотт був доданий до офіційного списку авторів, підтверджуючи свій внесок у силу Stockfish.
Результати змагань Редагувати
Участь в TCEC Редагувати
У 2013 році Stockfish закінчив другий турнір у TCEC сезону 4 і 5, і з фінальними оцінками 23-25 проти Houdini 3 і проти Komodo[en] 1142. 5 сезон був відомий виграшем команди Komodo, і вони взяли нагороду. На жаль, творець програми Дон Дайлі[en] отримав її посмертно. На його честь версія Stockfish, яка була випущена незабаром після цього сезону, була названа «Stockfish DD».
30 травня 2014 року Stockfish 170514 (розробка версії Stockfish 5 з підтримкою database) переконливо виграла TCEC 6 сезону, набравши 35,5-28,5 проти Komodo 7x у Суперфіналі. Stockfish 5 був випущений наступного дня. У сезоні TCEC 7 Stockfish знову потрапив у Суперфінал, але поступився Komodo з рахунком 30.5-33.5. У TCEC 8 сезоні, попри втрати в часі, спричинені багі-кодом, Stockfish все ж таки кваліфікувався ще раз для Суперфіналу, але втратив наступний 100-партійний матч з рахунком 46,5-53,5 — в результаті перемога для Komodo.
Stockfish version 8 є переможцем сезону 9 сезону 2016 TCEC проти Houdini версії 5 з рахунком 54.5 — 45.5. Stockfish завершив сезон 10 TCEC на 3 сходинці і виграв сезони 11 (59 — 41 проти Houdini 6,03) , 12 (60 — 40 проти Комодо 12.1.1) , і 13 (55 — 45 проти Комодо 2155.00) переконливо.
Stockfish проти Накамури Редагувати
Сила Stockfish по відношенню до кращих шахових гравців у світі була найбільш помітною у матчі з гросмейстером Хікару Накамурою (рейтинг 2798) у серпні 2014 року. У перших двох матчах Накамура мав допомогу старої версії Rybka, а у наступних двох іграх він не отримав допомоги. Накамура був найкращим шаховим гравцем у світі під час матчу, тоді як Stockfish було відмовлено у використанні його відкриваючої книги, а також на базі базових ігор. Stockfish виграв кожну половину матчу 1,5 — 0,5. Обидва виграші Stockfish виникли з позицій, в яких Накамура, як це характерно для його стилю гри, вимагає перемоги, а не погоджується на нічию.
Підхід штучного інтелекту, розроблений Жан-Марком Аліотом з Інституту інформаційних досліджень Тулузи («Тулузький науково-дослідний інститут інформатики»), в якому порівнюється шаховий гросмейстер із Stockfish, визнав Магнуса Карлсена найкращим гравцем всіх час, тому що він мав найвищу ймовірність того, що всі Чемпіони світу з шахів відіграють усі варіанти партій, які запропонував Stockfish.
Шаховий турнір серед комп'ютерів Редагувати
У листопаді 2017 року chess.com провів відкритий турнір із десяти найсильніших шахових рушіїв, який веде до «Суперфіналу» турніру між двома фіналістами — Stockfish та Houdini. У 20-грі суперфіналу Stockfish переміг Houdini з рахунком 10.5-9.5. П'ять ігор були вирішальними. З вирішальних ігор, три гри були виграні Стокфішом (один за чорних), і дві гри виграв Гудіні (вигравши за чорних). Середня тривалість гри становила 100 ходів. Турнір був організований за допомогою різноманітних контролів часу, а двигунам виділили однакову обчислювальну підтримку; кожен з яких має свій спеціальний віртуалізований екземпляр HyperThreaded Intel Xeon 2,90 ГГц (два процесори кожен із яких 18 ядер) з оперативною пам'яттю 60 Гб, що працює на сервері на базі Windows.
Stockfish також виграв версію цього чемпіонату 2018 року, знову здобувши перемогу у фіналі над Houdini — на цей раз з рахунком 120/200 (перемоги / кількість матчів). Під час бонусно-ігрового сегменту цього турніру Стокфіш програв партію проти рушія нейронної мережі Leela Chess Zero.
У внутрішніх тестах розробника Leela Chess Zero (який також є одним із розробників Stockfish), з обома рушіями, що працюють на такій самій апаратурі, Stockfish виграв 76 ігор, Leela Chess Zero виграв 16 ігор, і було 308 нічиїх.
Stockfish проти AlphaZero Редагувати
У грудні 2017 року Stockfish 8 був використаний як еталон для оцінки підрозділу Google Deepmind's AlphaZero, при цьому кожен двигун підтримується різними апаратними засобами. AlphaZero навчався за допомогою самостійної гри на загальну суму дев'ять годин і досягав рівня Stockfish лише після чотирьох. Stockfish було виділено 64 потоків та розмір хешу 1 Гб; AlphaZero підтримувався чотирма спеціальними TPU-програмами. Кожній програмі було надано одну хвилину часу на мислення.
У 100 матчах з нормальної стартової позиції AlphaZero виграв 25 ігор у білими, виграв 3 за чорних, та витягнув решту 72 з 0 втратами (ничиї). AlphaZero також зіграв дванадцять 100 ігрових матчів проти Stockfish, для остаточного рахунку: 290 перемог, 886 ничиїх та 24 поразок, для точної оцінки 733 : 467. Дослідження не було і Google відмовився коментувати до публікації.
У відповідь на це розробник Stockfish Торд Ромстад прокоментував: "Результати матчу самі по собі не є особливо значущими через досить дивний вибір часу контролю та налаштування параметрів Stockfish: ігри були відтворені в заданий час 1 хвилина / хід, що означає, що Stockfish не використовує свій час раціонально (багато сил було вжито, щоб визначити для Stockfish критичні точки в грі і вирішити, коли витратити додатковий час на хід). У версії Stockfish, що використовується, він грає з набагато більшою кількістю пошукових потоків, ніж коли-небудь отримував. Я вважаю, що відсоток нічиїх був би набагато вище в матчі з більш нормальними умовами ".
Хікару Накамура також проявив скептицизм, дивлячись на результати, заявивши: "Я не обов'язково ставлюсь з довірою до результатів просто тому, що я розумію, що AlphaZero в основному використовує суперкомп'ютер Google, а Stockfish не працює на цьому обладнанні, Stockfish в основному працює на тому, що й мій ноутбук. Якщо ви хочете, щоб був матч, який можна порівняти, ви повинні зробити, щоб Stockfish працював на суперкомп'ютері також ".
Платформи Редагувати
Випуск версій та версії розробки доступні як вихідний код 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, популярному шаховому сайті в Інтернеті.
Примітки Редагувати
- . Архів оригіналу за 12 листопада 2020. Процитовано 18 березня 2016.
- Release 16 — 2023.
- Chabris, Christopher. . Wall Street Journal. Архів оригіналу за 24 вересня 2015. Процитовано 18 вересня 2015.
- . GitHub. tord@glaurungchess.com. Архів оригіналу за 11 червня 2018.
- Eade, James. . Hoboken, New Jersey: John Wiley & Sons. p. 476. Архів оригіналу за 3 грудня 2018. Процитовано 2 січня 2017..
- Kaufman, Larry. . talkchess.com (англ.). Архів оригіналу за 30 листопада 2018. Процитовано 24 листопада 2013.
- Kislik, Erik. . susanpolgar.blogspot.com. Архів оригіналу за 3 грудня 2018. Процитовано 7 червня 2014.
- . stockfishchess.org. Архів оригіналу за 17 лютого 2014. Процитовано 5 березня 2014..
- Costalba, Marco (2 листопада 2008.). . talkchess.com. Архів оригіналу за 13 липня 2018. Процитовано 6 березня 2014..
- Romstad, Tord (5 вересня 2009.). . 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..
- . tests.stockfishchess.org. Архів оригіналу за 22 березня 2014. Процитовано 7 березня 2014..
- . stockfishchess.org. Архів оригіналу за 27 лютого 2014. Процитовано 8 березня 2014.
- Costalba, Marco (1 травня 2013.). . talkchess.com. Архів оригіналу за 3 грудня 2018. Процитовано 18 квітня 2014..
- . test.stockfishchess.org. Архів оригіналу за 25 червня 2018. Процитовано 14 червня 2018..
- . Архів оригіналу за 1 липня 2014.
- "CCRL Rating List". 2014-05-30. Архів оригіналу за 30 травня 2014.
- . Архів оригіналу за 27 липня 2015.
- ↑ . tcec.chessdom.com. Архів оригіналу за 20 лютого 2019. Процитовано 9 січня 2015..
- Costalba, Marco. . talkchess.com. Архів оригіналу за 13 липня 2018. Процитовано 19 червня 2014..
- . Chessdom.com. Архів оригіналу за 6 грудня 2016. Процитовано 5 грудня 2016..
- . chess24.com. Архів оригіналу за 18 листопада 2018. Процитовано 2018-11-18..
- . chess24.com. Архів оригіналу за 2 серпня 2018. Процитовано 18 листопада 2018.
- . chess24.com. Архів оригіналу за 18 листопада 2018. Процитовано 2018-11-18..
- . Chess.dom. Архів оригіналу за 17 квітня 2018. Процитовано 18 квітня 2018..
- Klein, Mike (24 серпня 2014). . Архів оригіналу за 3 грудня 2018.
- . https://en.wikipedia.org/wiki/ScienceDaily. 25 квітня 2017. Архів оригіналу за 11 квітня 2020.
- ↑ . Chess.com. Архів оригіналу за 12 листопада 2020.
- Архів оригіналу за 9 листопада 2020.
- . Архів оригіналу за 7 лютого 2020.
- Knapton Sarah;, Watson Leon; (6 грудня 2017.). . Telegraph.co.uk. Архів оригіналу за 2 грудня 2020. Процитовано 6 грудня 2017..
- Vincent, James (6 грудня 2017.). . https://en.wikipedia.org/wiki/The_Verge. Архів оригіналу за 2 грудня 2020. Процитовано 6 грудня 2017..
- ↑ . BBC News. 6 грудня 2017. Архів оригіналу за 2 грудня 2020. Процитовано 7 грудня 2017..
- . chess.com. 6 груденя 2017. Архів оригіналу за 12 грудня 2018. Процитовано 13 груденя 2017.
- ↑ . 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.]
Це незавершена стаття з шахів. Ви можете допомогти проєкту, виправивши або дописавши її. |