Stockfish

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Stockfish

Stock logo.jpg
Basisdaten

Entwickler Tord Romstad, Marco Costalba, Joona Kiiski, Gary Linscott und Entwicklergemeinde
Erscheinungsjahr 2. November 2008
Aktuelle Version 14
(2. Juli 2021)
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. Die aktuelle Version 14, veröffentlicht am 2 Juli 2021,[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 sowohl als eigenständiges Programm mit Benutzeroberfläche unter dem Namen DroidFish[2] als auch in Form einer importierbaren Engine für das kostenlose Programm Chess for Android und vergleichbare Programme, mit denen die Verwendung verschiedener Engines möglich ist. 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.[3] Andere Programmierer haben eine alternative Stockfish 2.0.1-Version[4][5] mit Zugriff auf Gaviota-Endspieltabellen ausgestattet, nebst weiteren Änderungen.

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.[6] 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.[7]

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.[8][9][10] 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.

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.[11]

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, weshalb die Aussagekraft dieses Ergebnisses zweifelhaft bleibt.[12][13]

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.[14] In Stockfish 13 ist die neue Funktion erstmals integriert worden.[15]

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.[16]

Literatur (Auswahl)[Bearbeiten | Quelltext bearbeiten]

  • Lyudmil Tsvetkov: Human Versus Machine. How To Beat Stockfish and Komodo. Part I. 2017, ISBN 978-1-54991678-6.

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Stockfishchess.org, 2. Juli 2021
  2. DroidFish Chess im Google play store. Peter Österlund. Abgerufen am 20. Februar 2015.
  3. Stockfish 6 Announcement. stockfishchess.org. Abgerufen am 20. Februar 2015.
  4. Analysis friendly Stockfish
  5. Stockfish_PA_GTB (Sourcecode)
  6. Can a GM and Rybka beat Stockfish?, Chess.com, 8. August 2014.
  7. Stockfish Outlasts "Rybkamura", Chess.com, 24. August 2014.
  8. CCRL 40/40 Rating List — All engines (best versions only). computerchess.org.uk. Abgerufen am 12. März 2021.
  9. CEGT Best Versions. cegt.net. Abgerufen am 12. März 2021.
  10. CCRL 40/4 Rating List. CCRL. Abgerufen am 12. März 2021.
  11. Stockfish Testing. 13. Februar 2013. Abgerufen am 20. Oktober 2013.
  12. Künstliche Intelligenz schlägt besten Schachcomputer der Welt (6. Dezember 2017)
  13. Peter Doggers (PeterDoggers): AlphaZero: Reaktionen von Top GMs und Stockfish Programmierern – Chess.com. In: Chess.com. (chess.com [abgerufen am 28. Dezember 2017]).
  14. Introducing NNUE Evaluation, Stockfish Blog, 6. August 2020
  15. Stockfish 13. Stockfish-Blog vom 19. Februar 2021. Abgerufen am 9. Juni 2021.
  16. sesse.net, abgerufen am 29. April 2019.