Stockfish
Stockfish | |
---|---|
Basisdaten | |
Entwickler | Tord Romstad, Marco Costalba, Joona Kiiski, Gary Linscott und Entwicklergemeinde |
Erscheinungsjahr | 2. November 2008 |
Aktuelle Version | 16 (30. Juni 2023) |
Betriebssystem | portabel, u. a. Microsoft Windows, GNU/Linux, Android, macOS, iOS |
Programmiersprache | C++ |
Kategorie | Computerschach |
Lizenz | GNU GPLv3+ |
www.stockfishchess.org |
Stockfish (englisch für Stockfisch) ist ein freies Schachprogramm, das von Tord Romstad, Joona Kiiski und Marco Costalba und einer großen Entwicklergemeinde entwickelt wird und unter der GNU General Public License steht.
Beschreibung
Die aktuelle Version 16, veröffentlicht am 30. Juni 2023,[1] ist in kompilierten Versionen für Windows, Linux und macOS (ab Version 10.11 El Capitan) verfügbar, für Apple iOS liegt Version 2.13.0 vor. Eine Umsetzung für mobile Geräte mit dem Betriebssystem Android existiert in Form einer installierbaren Schach-Engine – also dem Programm-Modul für die Berechnung der besten Zugfolge mit Hilfe einer Bewertungsfunktion – für das kostenlose Programm Chess for Android und vergleichbare Programme, mit denen die Verwendung verschiedener Engines möglich ist. Für iOS steht die kostenfreie Implementierung SmallFish Chess zur Verfügung. Ebenso kann Stockfish mithilfe des kostenpflichtigen Programms pbchess auf E-Book-Readern der Marken Kindle, Kobo und PocketBook genutzt werden.
Das Programm verwendet das UCI-Protokoll und kann daher unter verschiedenen Schach-Frontends betrieben werden. Es kann in Mehrprozessorsystemen beziehungsweise in Rechnern mit Mehrkernprozessoren bis zu 512 Prozessorkerne parallel nutzen, die maximale Größe der Hashtabellen beträgt 32 Terabyte. Die Weiterentwicklung des von Romstad entwickelten Programms Glaurung (letzte Version 2.2 von Dezember 2008) verwendet eine Alpha-Beta-Suche und Bitboards. Es ist in der Programmiersprache C++ geschrieben. Die Hauptversion unterstützt ab der Version 6.0 Endspieldatenbanken.[2] Andere Programmierer haben eine alternative Stockfish 2.0.1-Version[3][4] mit Zugriff auf Gaviota-Endspieltabellen ausgestattet, nebst weiteren Änderungen.
Derzeit wird Stockfish durch verteiltes Rechnen auf dem öffentlichen Test-Framework Fishtest getestet und im Sinne des Schemas der testgetriebenen Entwicklung auch mit dessen Hilfe weiterentwickelt. Durch die Ausrichtung als großes gemeinschaftliches Entwicklungsprojekt kann somit potenziell jeder mitwirkende Entwickler Verbesserungen in Bezug auf Teile der Software (in der Regel die Bewertungsfunktion und Aspekte dieser) schnell und direkt einbringen, sofern diese von der Testumgebung als signifikant eingestuft wurden.[5]
Im August 2020 wurde von den Entwicklern neben der traditionellen Bewertungsfunktion eine sogenannte NNUE Evaluation (efficiently updatable neural network) für Stockfish vorgestellt, die ursprünglich in einem Shōgi-Programm verwendet wurde. Dabei übernimmt ein neuronales Netz, das mit Millionen von Stellungen trainiert wurde, die Bewertung. Erste Testergebnisse zeigten eine signifikante Steigerung der Spielstärke des Programms.[6] In Stockfish 12 ist die neue Funktion erstmals integriert worden.[7]
Matches
Ein Match gegen Daniel Naroditsky, der während der Partien mit dem Computerprogramm Rybka 3 analysieren konnte, gewann Stockfish im Juli 2014 mit 3,5:0,5.[8] Im August 2014 siegte Stockfish in einem Wettkampf gegen Hikaru Nakamura mit 3:1. Nakamura konnte in zwei Partien ebenfalls Rybka nutzen, in zwei weiteren Partien erhielt er eine Bauernvorgabe.[9]
2017 konnte das Programm AlphaZero gegen Stockfish 8 mit 64:36 (+28 =72 −0) gewinnen. Die Bedenkzeit betrug eine Minute pro Zug, die Programme spielten ohne Eröffnungsbibliothek und Endspieldatenbank, zehn der hundert Partien wurden veröffentlicht. AlphaZero spielte vorher Partien gegen sich selbst, wodurch AlphaZero eine Intuition für Eröffnung und Endspiel entwickelte. Das Zeitsteuerungsmodul von Stockfish für kritische Stellungen wurde durch den Zeitmodus hinfällig. Die Hardwareressourcen von AlphaZero waren um einiges höher als die von Stockfish. Es wurde außerdem eine ein Jahr alte Version von Stockfish verwendet.[10][11]
Der norwegische Programmierer Steinar H. Gunderson nutzt unter dem Namen Sesse eine aktuelle Entwicklungsversion von Stockfish auf starker Hardware (20 × 2,3 GHz Haswell-EP) für die Live-Analyse der Partien von Magnus Carlsen.[12]
Spielstärke
Stockfish führt 2021 die meisten Ranglisten im Computerschach an, beispielsweise die Computer Chess Rating Lists (CCRL). Dort ist die Elo-Zahl von Stockfish 14 um mehr als 50 höher als die des zweitplatzierten Komodo.[13][14][15] Neben der stabilen Hauptversion stehen auch aktuelle Entwicklungsversionen zum Download bereit, die in der Regel noch etwas mehr Spielstärke aufweisen als die jeweilige Hauptversion.
Weblinks
- Offizielle Website (englisch)
Einzelnachweise
- ↑ Stockfish 16, 1. Juli 2023
- ↑ Stockfish 6 Announcement. stockfishchess.org, abgerufen am 20. Februar 2015.
- ↑ Analysis friendly Stockfish
- ↑ Stockfish_PA_GTB (Sourcecode)
- ↑ Stockfish Testing. 13. Februar 2013, abgerufen am 20. Oktober 2013.
- ↑ Introducing NNUE Evaluation, Stockfish Blog, 6. August 2020
- ↑ Stockfish 12. Stockfish-Blog vom 2. September 2020. Abgerufen am 25. Oktober 2021.
- ↑ Can a GM and Rybka beat Stockfish?, Chess.com, 8. August 2014.
- ↑ Stockfish Outlasts "Rybkamura", Chess.com, 24. August 2014.
- ↑ Künstliche Intelligenz schlägt besten Schachcomputer der Welt (6. Dezember 2017)
- ↑ Peter Doggers (PeterDoggers): AlphaZero: Reaktionen von Top GMs und Stockfish Programmierern – Chess.com. In: Chess.com. (chess.com [abgerufen am 28. Dezember 2017]).
- ↑ sesse.net, abgerufen am 29. April 2019.
- ↑ CCRL 40/40 Rating List — All engines (best versions only). computerchess.org.uk, abgerufen am 12. März 2021.
- ↑ CEGT Best Versions. cegt.net, abgerufen am 12. März 2021.
- ↑ CCRL 40/4 Rating List. CCRL, abgerufen am 12. März 2021.