Prima versiune | 2 noiembrie 2008 |
---|---|
Ultima versiune | 13 (19 februarie 2021) |
Depozit | github.com/official-stockfish/Stockfish |
Scris in | C ++ |
Sistem de operare | Microsoft Windows , macOS , Linux , iOS și Android |
Tip |
Motor de șah Joc video gratuit ( d ) |
Licență | Licență publică generală GNU |
Site-ul web | stockfishchess.org |
Stockfish este un motor de șah gratuit dezvoltat în principal de Marco Costalba, Joona Kiiski, Gary Linscott, Stéphane Nicolet și Tord Romstad și, de asemenea, cu multe contribuții ale unei mari comunități de dezvoltatori open-source. Este distribuit gratuit sub licența GNU General Public License versiunea 3 sau ulterioară.
Începând cu anii 2010, Stockfish s-a clasat în mod constant pe primul sau aproape de topul majorității clasamentelor motoarelor de șah ; este considerat cel mai puternic motor convențional de șah din această perioadă din lume. A câștigat în special Campionatele Mondiale Informale de Șah pe Computer în sezonurile 6 (2014), 9 (2016), 11 (2018), 12 (2018), 13 (2018), 14 (2019), 16 (2019).), 17 ( 2019) și 18 (2020). A terminat al doilea în sezonurile 5 (2013), 7 (2014), 8 (2015) și 15 (2019).
În Mai 2021, Stockfish este evaluat ca având un rating Elo echivalent cu 3.548 de puncte, ceea ce reprezintă un record mondial la acea dată.
Denumirea „Stockfish” se referă la comerțul cu stockfisch ( fileuri de pește uscat în aer liber) din Scandinavia până în Italia . Este, de asemenea, o aluzie la „peștele mic” Rybka , un alt program popular de șah.
Marco Costalba a scris programul Stockfish bazat pe programul open source „Glaurung” al lui Tord Romstad lansat în 2004.
Stockfish provine de la Glaurung, un motor de șah open source creat de Tord Romstad și lansat în 2004. Marco Costalba a creat Stockfish 1.0 în noiembrie 2008, preluând versiunea 2.1 a Glaurung, rezolvând unele erori și inclusiv îmbunătățiri.
O vreme, idei noi și schimbări de cod au fost schimbate între cele două programe, până când Romstad a decis să închidă Glaurung în favoarea Stockfish, care era atunci versiunea motorului mai avansată. Ultima versiune a lui Glaurung datează din decembrie 2008.
La 30 decembrie 2010, Stockfish este pe locul al doilea pentru puterea de a juca printre programele testate de site-ul Computer Chess Rating Lists (CCRL), cu un rating Elo de 3.223 puncte, împotriva 3.262 puncte pentru Rybka , 3.182 pentru Naum și 3.180 pentru Critter. Ca reamintire, niciun jucător uman nu a atins 2.900 de puncte în clasamentul Elo, recordul fiind de 2.882 de puncte de Magnus Carlsen , actualul campion mondial .
În 2011, Romstad nu s-a mai implicat în Stockfish, preferând să petreacă timp pe o aplicație de șah pentru iOS .
În februarie 2013, Gary Linscott a creat o platformă de dezvoltare online numită Fishtest, permițând oricui să sugereze și să testeze îmbunătățiri pentru Stockfish pentru a accelera dezvoltarea sa.
În mai 2014, Stockfish 5 a preluat conducerea în Listele de evaluare a șahului computerului cu 3.369 de puncte Elo, Houdini 4 fiind al doilea cu 3.336 de puncte.
30 mai 2014, Stockfish câștigă super-finala turneului din sezonul 6 al competiției Thoresen Chess Engines (TCEC) împotriva Komodo 7x (+13 = 45 -6, cu scorul 35½ - 28½).
18 iunie 2014, Marco Costalba anunță că își reduce implicarea în dezvoltarea Stockfish și cere comunității să creeze o sucursală pentru versiunea actuală și să continue dezvoltarea acesteia. Un director oficial, condus de un grup select de dezvoltatori Stockfish, a fost creat la scurt timp și gestionează dezvoltarea proiectului din acea zi.
28 ianuarie 2015, versiunea 6 a Stockfish îi permite să ocupe prima poziție în clasamentul programelor de șah înainte de Komodo 8.
Stockfish poate folosi până la 512 nuclee într-un sistem multiprocesor . Dimensiunea maximă a tabelului de transpunere (în) ( dimensiunea hash ) este de 32 de terabyți . Stockfish implementează, de asemenea, o versiune avansată de cercetare alfa-beta și bitboards . În comparație cu alte motoare, programul se caracterizează prin adâncimea jocului important, parțial datorită tăierii și tăierilor agresive ale loviturilor târzii ( reduceri de mișcare târzie (în) ).
Programul acceptă Chess960 (o caracteristică moștenită din programul Glaurung), un mod de joc în care este considerat reperul.
Modulul integrează, de asemenea, în mod nativ tabelele finale de 6 piese și mai puțin de la versiunea sa 6 (2014), datorită tabelului final „Syzygy endgame tablebases”. Disponibilă anterior într-o furculiță întreținută de Ronald de Man, tabelul Syzygy este implementat în Stockfish începând cu această dată. În 2018, a fost adăugat suport pentru masa Syzygy de 7 bucăți sau mai puțin, la scurt timp după ce a devenit disponibil.
În iunie 2020O furcă a rețelei neuronale care poate fi actualizată eficient ( rețea neuronală actualizabilă eficient (în) , nud) introdusă de programatorii shogi pe computer numită Stockfish nude, este discutată de dezvoltatorii de Stockfish. În iulie 2020, site-ul chess.com a raportat că Stockfish NNUE deschide un nou drum „în domeniul șahului computerizat prin încorporarea unei rețele neuronale în deja incredibil de puternicul motor de șah Stockfish”. Se anunță apoi o fuziune NNUE în Stockfish, iar versiunile de dezvoltare devin disponibile.
În Septembrie 2020Versiunea Stockfish 12 încorporează îmbunătățirea rețelei neuronale NNUE menționată anterior. Potrivit unei postări pe blogul pentru dezvoltatori Stockfish, această nouă versiune a programului „joacă mult mai greu decât oricare dintre predecesorii săi”, câștigând de obicei de zece ori mai multe jocuri decât pierde atunci când este. Comparativ cu versiunea sa 11.
Stockfish, un program open source gratuit, a fost cel mai bun software de șah necomercial din lume din mai 2014. Dintre toate software-urile, este considerat unul dintre cele mai bune cu Komodo 9.3 și Houdini 4 .
El deține recordul istoric mondial de puncte în clasamentul Elo , cu 3.548 de puncte pe punctul de referință CCRL 40/15 dinMai 2021.
Stockfish coboară mai repede și mai adânc în arborele său de analiză decât majoritatea celorlalte programe, ceea ce îl face puternic atât în tactică (în special la împingerea pionului), cât și în finală , unde își poate folosi apoi tabelele finale .
În 2013, Stockfish s-a clasat printre finaliștii sezoanelor 4 și 5 din Top Chess Engine Championship (TCEC), cu un scor de 23 contra 25 împotriva lui Houdini 3 în finală și mai târziu împotriva Komodo 1142. Sezonul 5 este remarcabil pentru echipa de victorie Komodo, în sensul că acceptă recompensa postumă pentru creatorul programului, Don Dailey (în) , care a cedat bolii în ultima perioadă a evenimentului. În cinstea sa, a fost lansată o versiune a Stockfish, „Stockfish DD”.
5 decembrie 2016, Stockfish a câștigat sezonul 9 al TCEC, învingându-l pe Houdini cu 54,5 la 45,5. A terminat pe locul trei în sezonul 10 al TCEC, în spatele lui Houdini 6.02 și Komodo 1959 și a câștigat turneul rapid TCEC sezonul 10 înaintea lui Houdini.
Ianuarie până la noiembrie 2018, câștigă succesiv super-finale din sezonurile 11, 12 și 13, respectiv împotriva lui Houdini (cu un scor de 59-41) în sezonul 11, împotriva lui Komodo (cu un scor copleșitor de 60-40) în sezonul 12 și din nou împotriva Komodo (cu un scor de 55-45) în sezonul 13.
Sezonul 14 a fost unul foarte apropiat, cu Stockfish câștigând finala împotriva LCZero (50.5-49.5).
5 decembrie 2017, AlphaZero , programul de inteligență artificială al companiei DeepMind bate Stockfish 8 într-un meci de 100 de jocuri 64-36 (25 de jocuri câștigate cu alb, 3 cu negru, 72 egaluri) fără nicio pierdere, ceea ce corespunde cu 100 de puncte Elo de diferență.
AlphaZero folosește rețele neuronale și un algoritm de învățare de întărire de tip Monte-Carlo , spre deosebire de Stockfish, care folosește cercetări alfa-beta de înaltă performanță și dezvoltă un arbore de căutare mare. În timp ce învăța jocul, AlphaZero (care știa doar regulile de bază ale șahului ) ar fi jucat 44 de milioane de jocuri împotriva sa. Pentru jocul său de pre-sezon, a jucat 1.200 de jocuri de 1 secundă pe mișcare împotriva unei versiuni a Stockfish.
AlphaZero a folosit 5000 de unități de procesare tensorială (TPU ) de prima generație pentru a genera jocurile jucate împotriva sa și 64 de TPU-uri de a doua generație pentru a antrena rețelele neuronale. Cu 4 TPU-uri pentru joc, a depășit performanța Stockfish după doar 4 ore de învățare. La rândul său, pentru acest meci, Stockfish a folosit un computer cu un procesor de 64 de fire și 1 GB de dimensiune hash ( tabel de transpunere (în) ). AlphaZero prelucra în jur de 80.000 de poziții pe secundă, comparativ cu 70 milioane Stockfish 8.
Cu toate acestea, Stockfish ar fi fost dezavantajat în timpul meciului, prin rata de joc (1 min / mutare), precum și prin puterea inferioară de calcul a mașinii pe care a rulat, deși majoritatea marilor maeștri umani cred că loviturile de „AlphaZero au arătat superioritate calitativă în judecata pozițională . De asemenea, Stockfish nu avea acces la biblioteca sa de deschideri sau la masa finală , ceea ce pune (dar nu anulează) performanța AlphaZero.
În decembrie 2018, un set de jocuri mult mai mare, jucat cu diferite versiuni de Stockfish (cadențe, acces sau nu la biblioteci etc.) a confirmat superioritatea AlphaZero, cu o dominare însă puțin mai mică.
Din 2013, Stockfish a fost dezvoltat folosind un cadru de testare distribuit numit „Fishtest”. Acest lucru permite voluntarilor să dedice timpul mașinii testării modificărilor programului.
Modificările sunt acceptate sau respinse în funcție de rezultatele obținute după simularea a sute de mii de jocuri, jucate folosind cadrul față de o versiune veche a programului. Aproximativ 700 de testeri participă la proiect.
În octombrie 2015, Fishtest avea peste 320 de ani de calcul, cu peste 200 de milioane de jocuri jucate. După sosirea Fishtest, Stockfish a crescut cu 120 de puncte Elo în doar 12 luni, plasându-l printre cele mai bune programe de șah de pe piață.
Este posibil să vedeți evoluția modului jucând împotriva versiunii 7 a Stockfish în 30 de minute +0,3, rulând pe un computer cu un procesor dual Xeon E5-2670 cu 16 nuclee.
Versiunile stabile și de dezvoltare ale Stockfish sunt disponibile în cod sursă C ++ și sunt compilate pentru Microsoft Windows , Mac OS X și Linux în variante pe 32 și 64 de biți. „DroidFish” este versiunea pentru Android a Stockfish, în timp ce „SmallFish” este versiunea iOS a programului.