Stockfish (šachy)

Stockfish
Logo
VývojářMarco Costalba
První vydání2. listopadu 2008
Aktuální verze16 (30. června 2023)
Operační systémMicrosoft Windows
macOS
Linux
iOS
Android
Vyvíjeno vC++
Typ softwarušachový engine
LicenceGNU General Public License
Webstockfishchess.org
Některá data mohou pocházet z datové položky.

Stockfish je svobodný a otevřený[1] šachový engine, pro různé desktopové a mobilní platformy. Vyvíjeli jej Marc Costalba, Joon Kiiski, Gary Linscott, Stéphan Nicolet a Tord Romstad, přičemž vzhledem ke své licenci je upravován mnoha dalšími vývojáři.[2][3]

Trvale se nachází na prvních příčkách většiny ratingových senzamů šachových enginů a je nejsilnějším konvenčním šachovým enginem na světě.[4] Vyhrál neoficiální mistrovství světa v počítačovém šachu v šesté sezóně (2014), deváté (2016), jedenácté (2018), 12. (2018), 13. (2018), 14. (2019) a 16. (2019). Na druhém místě skončil v 5. sezóně (2013), v 7. (2014), 8. (2015), 15. (2019), 16. (2020) a 18.–20.

Kód Stockfishe vychází z Glaurungu, open-source šachového enginu z roku 2004 vyvinutého Romstadem.

Funkce

Stockfish může v multiprocesorových systémech použít až 512 vláken CPU. Maximální velikost transpoziční tabulky enginu je 128 GB. Stockfish implementuje pokročilé alfa-beta ořezávání a používá bitboardy. Ve srovnání s jinými enginy se vyznačuje velkou hloubkou hledání tahů, která je částečně způsobena agresivnějším ořezáváním a omezením pozdního pohybu.[5][6][7][8]

Stockfish podporuje Chess960[9][10][11], což je jedna z vlastností, která byla zděděna od Glaurungu.[12]

V roce 2014 byla do kódu Stockfishe integrována databáze koncovek Syzygy,[13] a v roce 2018 byla přidána její sedmifigurová verze.

Historie

Program vychází z kódu Glaurungu, otevřeného šachového enginu vytvořeného Tordem Romstadem v roce 2004. O čtyři roky později se Marc Costalba rozhodl vytvořit podobný projekt, který pojmenoval Stockfish, a to proto, že byl „vyroben v Norsku a uvařen v Itálii“ (Romstad je Nor, Costalba Ital). První verze Stockfish 1.0 byla vydána v listopadu roku 2008.[14][15] Později se Romstad rozhodl zanechat vývoje Glaurungu a začal se věnovat Stockfishi, což byl již i v té době lepší engine.[16] Poslední verze enginu Glaurung (2.2) vyšla v prosinci roku 2008.

Ve verzi 1.5.1 vydané v říjnu 2008 byly zfunkčněny Fischerovy náhodné šachy.[17] Kolem roku 2011 se Romstad rozhodl zanechat práce na Stockfishi a raději vyvíjel svou novou šachovou aplikaci pro iOS.

Dne 18. června 2014 Marco Costalba oznámil, že se rozhodl odstoupit a požádal komunitu, aby vytvořila fork aktuální verze a pokračovala ve vývoji.[18] Brzy poté byl vytvořen oficiální repozitář spravovaný dobrovolnickou skupinou hlavních vývojářů Stockfishe, která v současné době vývoj projektu řídí.

V létě roku 2020 byla vedle hlavní verze Stockfishe vydán i Stockfish NNUE, neuronová síť. Tato verze získala značný úspěch. Současnou verzí vydanou v únoru 2021 je verze Stockfish 13.

Fishtest

Od roku 2013 je Stockfish vyvíjen pomocí distribuovaného testovacího rámce s názvem Fishtest, kde jsou dobrovolníci schopni využít svůj čas CPU na testování vylepšení programu.[19][20][21]

Změny kódu pro hraní partií se přijímají nebo odmítají na základě výsledků hraní desítek tisíc her v rámci oproti starší verzi programu, přičemž se používá test poměrové pravděpodobnosti. Testy se ověřují pomocí testu chí-kvadrát a pouze pokud jsou výsledky statisticky významné, považují se za spolehlivé a používají se k revizi softwarového kódu.

K dubnu 2020 bylo využito více než 2600 let CPU času, což stačilo k odehrání více než 1,76 miliardy šachových partií.[22] Do roka po zavedení fishtestu zaznamenal Stockfish masivní nárůst 120 Elo bodů, což jej zařadilo na nejvyšší příčku na všech ratingových seznamech.[23][24][25] Při vydání verze Stockfish 7 byl jako jeden z autorů uveden Gary Linscott, autor Fishtestu, čímž vývojáři potvrdili jeho přínos v nárůstu síly enginu.

Výsledky na soutěžích

Účast v TCEC

Stockfish je mnohonásobným šampionem TCEC a současným lídrem v počtu trofejí. Od té doby, co se TCEC restartovalo, tedy v roce 2013, Stockfish skončil ve všech kromě jedné sezóny buď na prvním nebo druhém místě. Ve čtvrté sezóně prohrál skórem 23–25 superfinále proti enginu Houdini 3, v páté sezóně pak podlehl Komodu 1142. Sezóna 5 byla pro vítězný tým Komodo pozoruhodná, protože Don Daileye, hlavní vývojář podlehl během závěrečné fáze turnaje nemoci. Na jeho počest byla verze pak verze Stockfishe, která byla vydána krátce po této sezóně pojmenována Stockfish DD.[26]

Dne 30. května 2014 Stockfish 170514 (vývojová verze Stockfishe 5 podporující desktopy) přesvědčivě zvítězil v 6. sezóně TCEC, když superfinále vyhrál výsledkem 35,5–28,5 proti Komodu 7x.[27] Následující den byl pak Stockfish 5 oficiálně vydán.[28] V sedmé sezóně se opět dostal do superfinále, kde ale prohrál s Komodem (30,5–33,5).[29] V osmé sezóně se i přes časové ztráty, které způsobil bug v kódu enginu, dokázal kvalifikovat do superfinále, ale zápas o 100 partiích proti Komodu prohrál výsledkem 46,5–53,5.[30] V deváté sezóně se Stockfishi podařilo porazit engine Houdini 5, a to skórem 54,5–45,5.[31]

Jen jednou se Stockfishovi nepodařilo postoupit do superfinále TCEC (když se tohoto turnaje účastnil), a to v roce 2013. Tehdy byť ani jednou neprohrál, tak nedokázal vyhrát proti ratingově slabších enginům. Po tomto vrhu, Stockfish pokračoval v dlouhé vítězné vlně, když přesvědčivě vyhrál tři sezóny v řadě: jedenáctou sezónu (59–41 proti enginu Houdini 6.03),[32] 12. sezónu (60–40 proti Komodu 12.1.1)[33], a 13. sezónu (55–45 proti Komodu 2155,00).[34][34] Ve 14. sezóně čelil Stockfish poprvé Leele Chess Zero, superfinále se mu nakonec podařilo vyhrát, byť jen o jeden bod (50,5–49,5).[35] Až v 15. sezóně skončil Stockfish znovu na druhém místě. Tehdy jej skórem 53,5–46,5 porazila Leela.[36] Šestnáctou sezónu TCEC však Stockfish dokázal vyhrát, když v superfinále porazil engine AllieStein skórem 54,5-45,5, jelikož se Leela nedokázala dostat superfinále.[37] V sedmnácté sezóně TCEC se Stockfish znovu dostal do superfinále. Zde však podlehl Leele skórem 52,5 : 47,5.[38] Vyhrál pak osmnáctou sezónu, 19. a 20. sezónu, vždy proti Leele.[39][40][41]

Stockfish se také zúčastnil poháru TCEC. První ročník Stockfish skórem 4,5–3,5 vyhrál nad Houdinim[42], ale v druhém ročníku jej Houdini v semifinále nečekaně porazil 6,5–5,5. V malém finále se mu již však podařilo porazit engine Komodo a skončil tak celkově třetí.[43] V třetím ročníku poháru TCEC se Stockfish znovu dostal do finále, ale byl poražen Leelou Chess Zero, když v jedné z partií udělal hrubou chybu v koncovce se 7 figurkami.[44] Ve čtvrtém ročníku se Leelu ve finále porazil skórem 4,5–3,5.[45]

Stockfish proti velmistrům

První oficiální zápas Stockfishe proti šachovému velmistrovi proběhl dne 19. července 2014, kdy Stockfish 5 sehrál čtyři partie tempem 45+30 s americkým Danielem Naroditskym, který měl k dispozici šachový engine Rybka 3 z roku 2008. Stockfish tento zápas vyhrál 3,5–0,5. Naroditskému se s Rybkou podařilo zremizovat jen čtvrtou partii, a to kvůli pravidlu 50 tahů. V tomto zápase Stockfish nemohl využít svou knihu zahájení.[46]

V srpnu tohoto roku ještě pak sehrál Hikaru Nakamura společně s Rybkou 3 čtyři proti Stockfishi 5, přičemž Stockfish zápas skórem 3–1 vyhrál. V první polovině zápasu hrál Stockfish bez jakéhokoliv handicapu. První partie, ve které měl Nakamura bílé, skončila remízou a druhou partii Nakamura s černými prohrál. V druhé polovině zápasu měl vždy Stockfish handicap v podobě jednoho chybějícího pěšce: v první partii této půle mu chyběl h-pěšec, v druhé a poslední partii zápasu hrál bez b-pěšce. I tak ani jednou neprohrál, třetí partii remizoval a poslední vyhrál. Nakamura byl v době zápasu dle hodnocení Elo pátým nejlepším šachistou na světě. Stockfish nemohl využívat jak strom zahájení, tak databázi koncovek. Obě vítězství Stockfishe vyplynuly z pozic, ve kterých Nakamura, jak je typické pro jeho styl, namísto souhlasu s remízou usiloval o vítězství.[47]

Počítačový šachový šampionát chess.com

Od té doby, co chess.com hostil své první počítačové šachové mistrovství v roce 2018, byl Stockfish v tomto šampionátu nejúspěšnějším šachovým enginem. Vyhrál šestkrát po sobě až v sedmé sezóně skončil druhý. Od té doby je dominance Stockfishe ohrožována enginy pracujících na bázi neuronových sítí Leelenstein a Leela Chess Zero, ale i tak se mu nadále dařilo, jelikož až do CCC11 se vždy probojoval do superfinále. Dvanáctá sezóna se poprvé hrála pomocí vyřazovacího systém. Leela v semifinále eliminovala Stockfish a Stockfish nakonec skončil třetí, když v malém finále porazil engine Scorpio.

Počítačový šachový šampionát Chess.com
RočníkRokČasová kontrolaUmístěníReference
CCC 1: Rapid Rumble201815+51.[48]
CCC 2: Blitz Battle20185+21.[49]
CCC 3: Rapid Redux201930+51.[50]
CCC 4: Bullet Brawl20191+21.[51]
CCC 5: Eskalace201910+51.[52]
CCC 6: Zimní klasika201910+101.[53]
CCC 7: Blitz Bonanza20195+22.[54]
CCC 8: Deep Dive201915+51.[55]
CCC 9: Gauntlet20195+2, 10+51.[56]
CCC 10: Dvojciferné číslice201910+32.[57]
CCC 11201930+52.[58]
CCC 12: Bullet Madness!20201+13.[59]

Stockfish vs. AlphaZero

V prosinci roku 2017 byl Stockfish 8 používán jako měřítko pro vyhodnocení enginu AlphaZero. AlphaZero trénoval celkem devět hodin a po pouhých čtyřech hodinách dosáhl úrovně Stockfishe.[60][61] Ve 100 partiích z normální výchozí pozice vyhrál AlphaZero 25 her jako bílý, 3 jako černý a zbývajících 72 remizovala, což znamenalo 0 proher.[62] AlphaZero také proti Stockfishi odehrála dvanáct zápasů (každý měl 100 partií), přičemž partie začínala v jednom z 12 populárních šachových zahájeních. AlphaZero si proti Stockfishi tehdy připsala 290 výher, 886 remíz a 24 proher, což dělá skóre 733:467.[63]

Vítězství AlphaZero nad Stockfishem vyvolalo rozruch v šachové komunitě, nakonec vznikl svobodný a otevřený šachový engine Leela Chess Zero, jež je svým fungováním AlphaZero podobný. Zápas byl šachisty jako Hikaru Nakamura však také kriziován, a to zejména za podmínky zápasu, které zvýhodňovaly AlphaZero.

Dostupnost

Je dostupný pro Microsoft Windows, MacOS, Linux a Android.

Stockfish je využíván různými šachovými programy. Velice často je to výchozí šachový stroj dodávaný s programy rozhraní Internet Chess Club BlitzIn a Dasher. Na mobilní platformě je dodáván s aplikací Stockfish, SmallFish a Droidfish. Další grafická uživatelská rozhraní kompatibilní se Stockfish (GUI) zahrnují Fritz, Arenu, Stockfish pro Mac, program PyChess, SCID a další.[64][65][66][67] Stockfish používají i šachové servery Lichess, Chess.com a Chess24.[68]

Odkazy

Reference

V tomto článku byl použit překlad textu z článku Stockfish (chess) na anglické Wikipedii.

  1. CHABRIS, Christopher. The Real Kings of Chess Are Computers. Wall Street Journal. 2015-01-09. Dostupné online [cit. 2020-04-13]. ISSN 0099-9660. (anglicky) 
  2. EADE, James. Chess For Dummies. 4. vyd. [s.l.]: John Wiley & Sons, 10. 8. 2016. 408 s. Dostupné online. ISBN 9781119280033, ISBN 1119280036. OCLC 960819719 (anglicky) 
  3. Top 5 Best Chess Engines in the World in 2020. iChess.net [online]. 2018-04-27 [cit. 2020-04-18]. Dostupné online. (anglicky) 
  4. Dostupné online. 
  5. KAUFMAN, Larry. Stockfish depth vs. others; challenge - TalkChess.com. www.talkchess.com [online]. 2013-11-24 [cit. 2020-04-13]. Dostupné online. (anglicky) 
  6. How Stockfish Works: An Evaluation of the Databases Behind the Top Open-Source Chess Engine – good fibrations [online]. [cit. 2020-04-13]. Dostupné v archivu pořízeném dne 2020-02-21. (anglicky) 
  7. What is the algorithm behind Stockfish, the chess engine? - Quora. www.quora.com [online]. [cit. 2020-04-13]. Dostupné online. 
  8. YANG, Daylen. How do modern chess engines work? [online]. 2015-08-27 [cit. 2020-04-13]. Dostupné online na serveru youtube.com. pUyURF1Tqvg. (anglicky) 
  9. Computer Engines – Chess960.net [online]. [cit. 2020-04-13]. Dostupné online. (anglicky) 
  10. WEEKS, Mark. Chess960 (FRC) [online]. 2014-07-26 [cit. 2020-04-13]. Dostupné online. 
  11. Stockfish is TCEC double champion | Chessdom [online]. [cit. 2020-04-13]. Dostupné online. (anglicky) 
  12. Glaurung - Chessprogramming wiki. www.chessprogramming.org [online]. [cit. 2020-04-13]. Dostupné online. 
  13. Syzygy Bases - Chessprogramming wiki. www.chessprogramming.org [online]. [cit. 2020-04-13]. Dostupné online. 
  14. About - Stockfish - Open Source Chess Engine. stockfishchess.org [online]. [cit. 2020-04-13]. Dostupné online. 
  15. Stockfish 1.0 - TalkChess.com. www.talkchess.com [online]. [cit. 2020-04-13]. Dostupné online. 
  16. Stockfish - Glaurung. wbec-ridderkerk.forumotion.com [online]. [cit. 2020-04-13]. Dostupné online. (anglicky) 
  17. Stockfish 1.5.1 - TalkChess.com. www.talkchess.com [online]. [cit. 2020-05-01]. Dostupné online. 
  18. A message from Marco Costalba as he decided to step down as Stockfish maintainer. morethanchessagame.forumotion.com [online]. [cit. 2020-04-13]. Dostupné online. (anglicky) 
  19. Stockfish Testing Framework. tests.stockfishchess.org [online]. [cit. 2020-04-13]. Dostupné online. 
  20. Get Involved - Stockfish - Open Source Chess Engine. stockfishchess.org [online]. [cit. 2020-04-13]. Dostupné online. 
  21. Fishtest Distributed Testing Framework - TalkChess.com. www.talkchess.com [online]. [cit. 2020-04-13]. Dostupné online. 
  22. Stockfish Testing Framework. tests.stockfishchess.org [online]. [cit. 2020-04-13]. Dostupné v archivu pořízeném z originálu dne 2013-06-29. 
  23. 60+0.60 Universal. fastgm.de [online]. [cit. 2020-04-13]. Dostupné online. 
  24. CCRL 40/15 - Index. ccrl.chessdom.com [online]. [cit. 2020-04-13]. Dostupné v archivu pořízeném z originálu dne 2020-11-11. 
  25. CCRL Blitz. computerchess.org.uk [online]. [cit. 2020-04-13]. Dostupné v archivu pořízeném z originálu dne 2020-02-15. 
  26. Stockfish DD. Stockfish Blog [online]. [cit. 2020-04-13]. Dostupné online. 
  27. TCEC - Live Chess Broadcast. www.tcec-chess.com [online]. [cit. 2020-04-13]. Dostupné online. 
  28. Stockfish 5 - TalkChess.com. www.talkchess.com [online]. [cit. 2020-04-13]. Dostupné online. 
  29. TCEC Season 7 - Main Thread - Page 17 - TalkChess.com. www.talkchess.com [online]. [cit. 2020-04-13]. Dostupné online. 
  30. Komodo is triple champion, wins the Top Chess Engine Championship 2015! (updated) | Chessdom [online]. [cit. 2020-04-13]. Dostupné online. (anglicky) 
  31. Stockfish is the TCEC Season 9 Grand Champion | Chessdom [online]. [cit. 2020-04-13]. Dostupné online. (anglicky) 
  32. TCEC Season 11 Superfinal 2018. chess24.com [online]. [cit. 2020-04-13]. Dostupné online. (anglicky) 
  33. TCEC Season 12 Superfinal 2018. chess24.com [online]. [cit. 2020-04-14]. Dostupné online. (anglicky) 
  34. a b Stockfish convincingly wins TCEC Season 11 | Chessdom [online]. [cit. 2020-04-14]. Dostupné online. (anglicky) 
  35. Stockfish continues to dominate computer chess, wins TCEC S14 | Chessdom [online]. [cit. 2020-04-14]. Dostupné online. (anglicky) 
  36. TCEC Season 15 Superfinal 2019. chess24.com [online]. [cit. 2020-04-14]. Dostupné online. (anglicky) 
  37. HAWORTH, Guy; HERNANDEZ, Nelson. TCEC16: the 16th Top Chess Engine Championship [online]. TCEC [cit. 2020-04-12]. Dostupné online. 
  38. HAWORTH, Guy; HERNANDEZ, Nelson. TCEC17: the 16th Top Chess Engine Championship [online]. TCEC. Dostupné online. (anglicky) 
  39. HAWORTH, Guy; HERNANDEZ, Nelson. TCEC 18 [online]. Reading, Maryland: TCEC [cit. 2020-12-15]. Dostupné online. (anglicky) 
  40. HAWORTH, Guy; HERNANDEZ, Nelson. TCEC 19 [online]. Reading, Maryland: TCEC [cit. 2020-12-15]. Dostupné online. (anglicky) 
  41. Guy Haworth; Nelson Hernandez. TCEC 20 [online]. Reading, UK and Maryland, USA: TCEC [cit. 2021-02-19]. Dostupné online. 
  42. HAWORTH, Guy; HERNANDEZ, Nelson. TCEC Cup 1 [online]. TCEC [cit. 2020-04-14]. S. 5. Dostupné online. (anglicky) 
  43. HAWORTH, Guy; HERNANDEZ, Nelson. TCEC Cup 2 [online]. TCEC [cit. 2020-04-14]. S. 4,5. Dostupné online. (anglicky) 
  44. HAWORTH, Guy; HERNANDEZ, Nelson. TCEC Cup 3 [online]. TCEC [cit. 2020-04-14]. 4. Dostupné online. (anglicky) 
  45. HAWORTH, Guy; HERNANDEZ, Nelson. TCEC Cup 4 [online]. TCEC [cit. 2020-04-14]. S. 5. Dostupné online. (anglicky) 
  46. DanielNaroditsky. Can A GM And Rybka Beat Stockfish?. Chess.com [online]. [cit. 2020-04-14]. Dostupné online. (anglicky) 
  47. MikeKlein. Stockfish Outlasts "Rybkamura". Chess.com [online]. [cit. 2020-04-14]. Dostupné online. (anglicky) 
  48. pete_chesscom. Stockfish Wins Computer Chess Championship Rapid; Lc0 Finishes 3rd [online]. [cit. 2020-04-14]. Dostupné online. (anglicky) 
  49. pete_chesscom. Stockfish Wins Computer Chess Championship Blitz [online]. [cit. 2020-04-14]. Dostupné online. (anglicky) 
  50. pete_chesscom. Stockfish Wins Rapid Computer Championship Over Lc0; Bullet Chess Next [online]. [cit. 2020-04-14]. Dostupné online. (anglicky) 
  51. pete_chesscom. Stockfish Wins Computer Chess Championship Bullet; 'Escalation' Next [online]. [cit. 2020-04-14]. Dostupné online. (anglicky) 
  52. Skupiny Google. groups.google.com [online]. [cit. 2020-04-15]. Dostupné online. 
  53. Computer Chess Championship Plays Blitz After Stockfish Defends Title [online]. [cit. 2020-04-14]. Dostupné online. 
  54. pete_chesscom. Lc0 Wins Computer Chess Championship, Makes History [online]. Chess.com, 2019-12-09 [cit. 2020-04-15]. Dostupné online. 
  55. pete_chesscom. Stockfish Strikes Back, Tops Lc0 In Computer Chess Championship [online]. 2019-05-24 [cit. 2020-04-15]. Dostupné online. 
  56. CCC9 [online]. [cit. 2020-04-15]. Dostupné online. 
  57. CCC: Leelenstein vs Stockfish [online]. [cit. 2020-04-15]. Dostupné online. 
  58. CCC11 [online]. [cit. 2020-04-14]. Dostupné online. 
  59. CCC: Stockfish vs Scorpio [online]. [cit. 2020-04-15]. Dostupné online. 
  60. KNAPTON, Sarah; WATSON, Leon. Entire human chess knowledge learned and surpassed by DeepMind's AlphaZero in four hours. The Telegraph. 2017-12-06. Dostupné online [cit. 2020-04-15]. ISSN 0307-1235. (anglicky) 
  61. VINCENT, James. DeepMind’s AI became a superhuman chess player in a few hours, just for fun. The Verge [online]. 2017-12-06 [cit. 2020-04-15]. Dostupné online. (anglicky) 
  62. 'Superhuman' Google AI claims chess crown. BBC News. 2017-12-06. Dostupné online [cit. 2020-04-14]. (anglicky) 
  63. DeepMind’s AlphaZero crushes chess. chess24.com [online]. [cit. 2020-04-14]. Dostupné online. (anglicky) 
  64. How to use Stockfish ? - Chess Forums. Chess.com [online]. [cit. 2020-04-14]. Dostupné online. (anglicky) 
  65. Stockfish for Mac - Stockfish - Open Source Chess Engine. stockfishchess.org [online]. [cit. 2020-04-14]. Dostupné online. 
  66. Free UCI-Compatible Chess Programs for the Stockfish Engine. HobbyLark [online]. [cit. 2020-04-14]. Dostupné online. (anglicky) 
  67. pychess/pychess. GitHub [online]. [cit. 2020-04-14]. Dostupné online. (anglicky) 
  68. Strongest chess player, ever. lichess.org [online]. [cit. 2020-04-14]. Dostupné online. 

Externí odkazy

Média použitá na této stránce

NewLogoSF.png
Autor: Klein Maetschke, Licence: GPLv3
Stockfish logo
DroidFish.jpg
Autor: Peter Österlund, Tord Romstad, Marco Costalba, Joona Kiiski, Licence: GPLv3
Screenshot of DroidFish Chess, a free Android chess program based on Stockfish.