Pierwsza wersja | 2 listopada 2008 |
---|---|
Ostatnia wersja | 13 (19 lutego 2021) |
Kaucja | github.com/official-stockfish/Stockfish |
Napisane w | C++ |
System operacyjny | Microsoft Windows , macOS , Linux , iOS i Android |
Rodzaj |
Silnik szachowy Darmowa gra wideo ( d ) |
Licencja | Powszechna Licencja Publiczna GNU |
Stronie internetowej | stockfishchess.org |
Stockfish to darmowy silnik szachowy opracowany głównie przez Marco Costalbę, Joona Kiiski, Gary Linscott, Stéphane Nicolet i Tord Romstad, a także przy wielu wkładach dużej społeczności programistów open-source. Jest rozpowszechniany bezpłatnie na licencji GNU General Public License w wersji 3 lub nowszej.
Od 2010 roku Stockfish konsekwentnie plasuje się na pierwszym miejscu lub w pobliżu szczytu większości rankingów silników szachowych ; jest uważany za najpotężniejszy konwencjonalny silnik szachowy tego okresu na świecie. W szczególności wygrał Nieformalne Mistrzostwa Świata w Szachach Komputerowych w sezonach 6 (2014), 9 (2016), 11 (2018), 12 (2018), 13 (2018), 14 (2019), 16 (2019). ), 17 ( 2019) i 18 (2020). Zajął drugie miejsce w sezonach 5 (2013), 7 (2014), 8 (2015) i 15 (2019).
w maj 2021, Sztokfisz ma ocenę Elo równą 3548 punktów, co jest światowym rekordem w tym dniu.
Nazwa „Stockfish” odnosi się do handlu sztokfiszem ( suszone filety rybne na wolnym powietrzu) od Skandynawii po Włochy . To także nawiązanie do „rybki” Rybki , kolejnego popularnego programu szachowego.
Marco Costalba napisał program Sztokfisz oparty na otwartym programie Tord Romstad „Glaurung” wydanym w 2004 roku.
Stockfish wywodzi się z Glaurung, silnika szachowego o otwartym kodzie źródłowym stworzonego przez Torda Romstada i wydanego w 2004 roku. Marco Costalba stworzył Stockfish 1.0 w listopadzie 2008 roku, przejmując wersję 2.1 Glaurunga, naprawiając kilka błędów i wprowadzając ulepszenia.
Przez pewien czas oba programy wymieniały się nowymi pomysłami i zmianami w kodzie, aż Romstad zdecydował o zamknięciu Glaurung na rzecz Stockfisha, który był wówczas bardziej zaawansowaną wersją silnika. Ostatnia wersja Glaurunga pochodzi z grudnia 2008 roku.
Na 30 grudnia 2010, Stockfish zajmuje drugie miejsce pod względem siły gry wśród programów testowanych przez witrynę Computer Chess Rating Lists (CCRL), z rankingiem Elo 3223 punktów, w porównaniu z 3262 punktami dla Rybki , 3182 punktami dla Nauma i 3180 punktami dla Crittera. Przypominamy, że żaden gracz nie osiągnął 2900 punktów w rankingu Elo, rekordem jest 2882 punktów obecnego mistrza świata Magnusa Carlsena .
W 2011 r. Romstad nie angażował się już w Stockfish, woląc spędzać czas na aplikacji szachowej na iOS .
W lutym 2013 r. Gary Linscott stworzył internetową platformę programistyczną o nazwie Fishtest, umożliwiającą każdemu sugerowanie i testowanie ulepszeń programu Stockfish w celu przyspieszenia jego rozwoju. .
W maju 2014 r. Stockfish 5 objął prowadzenie w rankingu szachów komputerowych z 3369 punktami Elo, a Houdini 4 był drugi z 3336 punktami.
ten 30 maja 2014, Stockfish wygrywa superfinał turnieju Thoresen Chess Engines Competition (TCEC) sezon 6 przeciwko Komodo 7x (+13 = 45 -6, z wynikiem 35½ - 28½).
ten 18 czerwca 2014, Marco Costalba ogłasza, że zmniejsza swoje zaangażowanie w rozwój Stockfisha i prosi społeczność o utworzenie oddziału dla obecnej wersji i kontynuowanie jej rozwoju. Niedługo potem powstał oficjalny katalog, prowadzony przez wybraną grupę programistów Stockfish, który od tego dnia zarządza rozwojem projektu.
ten 28 stycznia 2015, wersja 6 programu Stockfish pozwala mu zająć pierwsze miejsce w rankingu programów szachowych przed Komodo 8.
Stockfish może używać do 512 rdzeni w systemie wieloprocesorowym . Maksymalny rozmiar tablicy transpozycji (w) ( rozmiar hash ) to 32 terabajty . Stockfish wdraża również zaawansowaną wersję badań alfa-beta i bitboardów . W porównaniu z innymi silnikami program charakteryzuje się głębią ważnej gry, częściowo ze względu na przycinanie i agresywne cięcia późnych trafień ( późne redukcje ruchów (w) ).
Program obsługuje Chess960 (funkcję odziedziczoną po programie Glaurung), tryb gry, w którym jest uważany za benchmark.
Moduł natywnie integruje również tabele finałowe 6 sztuk i mniej od wersji 6 (2014), dzięki stole finałowemu „Syzygy endgame tablebases”. Wcześniej dostępna w widelcu utrzymywanym przez Ronalda de Mana, tabela Syzygy została zaimplementowana w Stockfish od tej daty. W 2018 r. dodano obsługę tabeli Syzygy liczącej 7 lub mniej sztuk, wkrótce po jej udostępnieniu.
w czerwiec 2020Widelec z sieci neuronowej skutecznie aktualizować ( sprawnie aktualizować sieci neuronowej (w) , nagie) wprowadzonej przez programistów Shogi komputerowego o nazwie Sztokfisz nago jest omawiany przez twórców Sztokfisz. W lipcu 2020 r. strona chess.com poinformowała, że Stockfish NNUE wkracza na nowe grunty „w dziedzinie szachów komputerowych, włączając sieć neuronową do i tak już niesamowicie potężnego silnika szachowego Sztokfisz”. Następnie ogłaszana jest fuzja NNUE w Stockfish, a wersje programistyczne stają się dostępne.
w wrzesień 2020, wersja 12 firmy Stockfish zawiera wyżej wymienione ulepszenie sieci neuronowej NNUE. Według wpisu na blogu deweloperskim Stockfish, ta nowa wersja programu „gra znacznie gorzej niż którykolwiek z jego poprzedników”, zazwyczaj wygrywając dziesięć razy więcej gier niż przegrywa w porównaniu z wersją 11.
Stockfish, darmowy program o otwartym kodzie źródłowym, jest najlepszym na świecie niekomercyjnym oprogramowaniem szachowym od maja 2014 roku. Spośród wszystkich programów jest oceniany jako jeden z najlepszych z Komodo 9.3 i Houdini 4 .
Posiada historyczny rekord świata w liczbie punktów w rankingu Elo , z 3548 punktami w benchmarku CCRL 40/15 w/15maj 2021.
Sztokfisz schodzi szybciej i głębiej w swoim drzewie analizy niż większość innych programów, co czyni go silnym zarówno w taktyce (szczególnie w przypadku pchania pionków), jak iw finale , gdzie może wtedy użyć swoich stołów finałowych .
W 2013 roku Stockfish znalazł się wśród finalistów sezonów 4 i 5 Top Chess Engine Championship (TCEC), z wynikiem 23 przeciwko 25 przeciwko Houdini 3 w finale, a później przeciwko Komodo 1142. Sezon 5 jest niezwykły dla drużyny zwycięskiej Komodo, w tym sensie, że przyjmuje pośmiertną nagrodę dla twórcy programu, Don Dailey (w) , który uległ chorobie w ostatnim okresie imprezy. Na jego cześć wydano wersję Stockfisha, „Stockfish DD”.
ten 5 grudnia 2016, Stockfish wygrał 9. sezon TCEC pokonując Houdini 54,5 do 45,5. Zajął trzecie miejsce w 10. sezonie TCEC, za Houdinim 6.02 i Komodo 1959 i wygrał szybki turniej TCEC sezon 10. przed Houdinim.
styczeń do listopad 2018, sukcesywnie wygrywa super finały sezonów 11, 12 i 13, odpowiednio przeciwko Houdini (z wynikiem 59-41) w sezonie 11, przeciwko Komodo (z przytłaczającym wynikiem 60-40) w sezonie 12 i ponownie przeciwko Komodo (z wynikiem 55-45) w sezonie 13.
Sezon 14 był bardzo wyrównany, gdy Stockfish wygrał finał z LCZero (50,5-49,5).
ten 5 grudnia 2017 r., AlphaZero , program sztucznej inteligencji firmy DeepMind pokonuje Stockfisha 8 w 100 meczach 64-36 (25 wygranych z białymi, 3 z czarnymi, 72 remisy) bez żadnej straty, co odpowiada 100 punktom Elo różnicy.
AlphaZero wykorzystuje sieci neuronowe i algorytm uczenia się ze wzmocnieniem typu Monte-Carlo , w przeciwieństwie do Stockfisha, który wykorzystuje wysokowydajne badania alfa-beta i rozwija duże drzewo wyszukiwania. Ucząc się gry, AlphaZero (który znał tylko podstawowe zasady szachów ) rozegrałby 44 miliony partii przeciwko sobie. W swojej przedsezonowej grze rozegrał 1200 meczów w tempie 1 sekundy na ruch przeciwko wersji Stockfish.
AlphaZero używało 5000 jednostek przetwarzania tensorowego pierwszej generacji (TPU ) do generowania gier rozgrywanych przeciwko sobie oraz 64 jednostek TPU drugiej generacji do trenowania sieci neuronowych. Dzięki 4 TPU do gry przewyższał wydajność Stockfisha po zaledwie 4 godzinach nauki. Ze swojej strony do tego meczu Stockfish użył komputera z 64- wątkowym procesorem i 1 GB wielkości skrótu ( tabela transpozycji (w) ). AlphaZero przetwarzał około 80 000 pozycji na sekundę, w porównaniu do 70 milionów w firmie Stockfish 8.
Jednak Stockfish znalazłby się w niekorzystnej sytuacji podczas meczu, zarówno pod względem tempa gry (1 min/ruch), jak i mniejszej mocy obliczeniowej maszyny, na której działał, chociaż większość ludzkich arcymistrzów uważa, że pociągnięcia 'AlphaZero wykazały wyższość jakościową w ocenie pozycji . Stockfish nie miał też dostępu do swojej biblioteki otwarć ani do stołu finałowego , który stawia (ale nie anuluje) wydajność AlphaZero.
W grudniu 2018 r. znacznie większy zestaw gier, rozgrywanych różnymi wersjami Stockfisha (kadencje, dostęp lub nie do bibliotek itp.) potwierdził wyższość AlphaZero, jednak z nieco mniejszą dominacją.
Od 2013 r. Stockfish jest rozwijany przy użyciu rozproszonej platformy testowej o nazwie „Fishtest”. Pozwala to ochotnikom poświęcić czas maszynowy na testowanie zmian w programie.
Zmiany są akceptowane lub odrzucane w zależności od wyników uzyskanych po symulacji setek tysięcy gier, rozegranych za pomocą frameworka na starej wersji programu. W projekcie uczestniczy około 700 testerów.
W październiku 2015 r. Fishtest miał ponad 320 lat czasu obliczeniowego z ponad 200 milionami rozegranych gier. Po pojawieniu się Fishtest, Stockfish wzrósł o 120 punktów Elo w ciągu zaledwie 12 miesięcy, co plasuje go wśród najlepszych programów szachowych na rynku.
Ewolucję moda można zobaczyć, grając przeciwko wersji 7 Stockfisha w 30 minut +0,3 na komputerze z podwójnym 16-rdzeniowym procesorem Xeon E5-2670.
Wersje stabilne i deweloperskie programu Stockfish są dostępne w kodzie źródłowym C++ i skompilowane dla systemów Microsoft Windows , Mac OS X i Linux w wersjach 32-bitowych i 64-bitowych. „DroidFish” to wersja programu Stockfish na Androida , a „SmallFish” to wersja programu na iOS .