Stockfish

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

Basisdaten

EntwicklerTord Romstad, Marco Costalba, Joona Kiiski, Gary Linscott und Entwicklergemeinde
Erscheinungsjahr2. November 2008
Aktuelle Version17
(6. September 2024)
Betriebssystemportabel, u. a. Microsoft Windows, GNU/Linux, Android, macOS, iOS
Programmier­spracheC++
KategorieComputerschach
LizenzGNU GPLv3+
www.stockfishchess.org

Stockfish (englisch fürStockfisch) ist einfreiesSchachprogramm, das von Tord Romstad, Joona Kiiski und Marco Costalba und einer großen Entwicklergemeinde entwickelt wird und unter derGNU General Public License steht.

Stockfish zählt seit vielen Jahren zu den bestenSchach-Engines der Welt,[1][2][3] hat seit 2020 alle Hauptveranstaltungen derTop Chess Engine Championship (TCEC) und derChess.com Computer Chess Championship (CCC) gewonnen und ist, mit einer geschätztenElo-Zahl von 3643 (Stand Januar 2025), die stärksteCPU-Schach-Engine der Welt.[4]

Inhaltsverzeichnis

Beschreibung

[Bearbeiten |Quelltext bearbeiten]

Die aktuelle Version 17, veröffentlicht am 6. September 2024, ist inkompilierten Versionen fürWindows,Linux undmacOS (ab Version 10.11El Capitan) verfügbar, fürApple iOS liegt Version 2.13.0 vor. Eine Umsetzung für mobile Geräte mit demBetriebssystemAndroid existiert in Form einer installierbaren Schach-Engine – also demProgramm-Modul für die Berechnung der besten Zugfolge mit Hilfe einerBewertungsfunktion – für das kostenlose ProgrammChess for Android und vergleichbare Programme, mit denen die Verwendung verschiedener Engines möglich ist. Für iOS steht die kostenfreie ImplementierungSmallFish Chess zur Verfügung. Ebenso kann Stockfish mithilfe des kostenpflichtigen Programmspbchess aufE-Book-Readern der MarkenKindle,Kobo undPocketBook genutzt werden.

Das Programm verwendet dasUCI-Protokoll und kann daher unter verschiedenenSchach-Frontends betrieben werden. Es kann inMehrprozessorsystemen beziehungsweise in Rechnern mitMehrkernprozessoren bis zu 512Prozessorkerne parallel nutzen, die maximale Größe derHashtabellen beträgt 32Terabyte. Die Weiterentwicklung des von Romstad entwickelten ProgrammsGlaurung (letzte Version 2.2 von Dezember 2008) verwendet eineAlpha-Beta-Suche undBitboards. Es ist in der ProgrammierspracheC++ geschrieben. Die Hauptversion unterstützt ab der Version 6.0Endspieldatenbanken.[5] Andere Programmierer haben eine alternative Stockfish 2.0.1-Version[6] mit Zugriff aufGaviota-Endspieltabellen ausgestattet, nebst weiteren Änderungen.

Derzeit wird Stockfish durchverteiltes Rechnen auf dem öffentlichen Test-FrameworkFishtest getestet und im Sinne des Schemas dertestgetriebenen 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 dieBewertungsfunktion und Aspekte dieser) schnell und direkt einbringen, sofern diese von der Testumgebung als signifikant eingestuft wurden.[7]

Im August 2020 wurde von den Entwicklern neben der traditionellenBewertungsfunktion eine sogenannteNNUE Evaluation (efficiently updatable neural network) für Stockfish vorgestellt, die ursprünglich in einemShōgi-Programm verwendet wurde. Dabei übernimmt einneuronales Netz, das mit Millionen von Stellungen trainiert wurde, die Bewertung. Erste Testergebnisse zeigten eine signifikante Steigerung der Spielstärke des Programms.[8] In Stockfish 12 wurde die neue Funktion erstmals integriert.[9] Seit Februar 2024 wird zum ersten Mal in der VersionStockfish 16.1 einsekundäres neuronales Netzwerk, genanntDual NNUE verwendet, das zur schnellen Bewertung leicht zu entscheidender Positionen dient. Der vorherigeParameterUse NNUE, mit dem wahlweise die „klassische“ Bewertung oder das neue NNUE aktiviert werden konnte, entfiel und NNUE wurde zur alleinigen Bewertungsfunktion.[10]

Matches

[Bearbeiten |Quelltext bearbeiten]

Ein Match gegenDaniel Naroditsky, der während der Partien mit dem ComputerprogrammRybka 3analysieren konnte, gewann Stockfish im Juli 2014 mit 3,5:0,5.[11] Im August 2014 siegte Stockfish in einem Wettkampf gegenHikaru Nakamura mit 3:1. Nakamura konnte in zwei Partien ebenfalls Rybka nutzen, in zwei weiteren Partien erhielt er eineBauernvorgabe.[12]

2017 konnte das ProgrammAlphaZero gegenStockfish 8 mit 64:36 (+28 =72 −0) gewinnen. DieBedenkzeit betrug eine Minute pro Zug, die Programme spielten ohneEröffnungsbibliothek und Endspieldatenbank, zehn der hundert Partien wurden veröffentlicht. AlphaZero spielte vorher Partien gegen sich selbst, wodurch AlphaZero eineIntuition 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.[13][14]

Der norwegische Programmierer Steinar H. Gunderson nutzt unter dem NamenSesse eine aktuelle Entwicklungsversion von Stockfish auf starker Hardware (20 × 2,3 GHzHaswell-EP) für die Live-Analyse der Partien vonMagnus Carlsen.[15]

Spielstärke

[Bearbeiten |Quelltext bearbeiten]

Stockfish führt 2021 die meisten Ranglisten im Computerschach an, beispielsweise dieComputer Chess Rating Lists (CCRL). Dort ist dieElo-Zahl von Stockfish 14 um mehr als 50 höher als die des zweitplatziertenKomodo.[16][17][18] 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

[Bearbeiten |Quelltext bearbeiten]

Einzelnachweise

[Bearbeiten |Quelltext bearbeiten]
  1. Steven Strogatz:One Giant Step for a Chess-Playing Machine. In:The New York Times. 26. Dezember 2018,ISSN 0362-4331 (nytimes.com [abgerufen am 8. Februar 2024]). 
  2. Samuel Gibbs:AlphaZero AI beats champion chess program after teaching itself in four hours. In:The Guardian. 7. Dezember 2017,ISSN 0261-3077 (theguardian.com [abgerufen am 8. Februar 2024]). 
  3. Condé Nast: Why AI Chess Bots Are Virtually Unbeatable (ft. GothamChess). In: Wired. 12. August 2023, abgerufen am 8. Februar 2024 (amerikanisches Englisch). 
  4. CCRL - Index. In: computerchess. Abgerufen am 30. Januar 2025. 
  5. Stockfish 6 Announcement. stockfishchess.org, abgerufen am 20. Februar 2015. 
  6. Stockfish_PA_GTB (Sourcecode)
  7. Stockfish Testing. 13. Februar 2013, abgerufen am 20. Oktober 2013. 
  8. Introducing NNUE Evaluation, Stockfish Blog, 6. August 2020
  9. Stockfish 12. Stockfish-Blog vom 2. September 2020. Abgerufen am 25. Oktober 2021.
  10. Stockfish 16.1 (englisch), abgerufen am 27. Februar 2024.
  11. Can a GM and Rybka beat Stockfish?, Chess.com, 8. August 2014.
  12. Stockfish Outlasts "Rybkamura", Chess.com, 24. August 2014.
  13. Künstliche Intelligenz schlägt besten Schachcomputer der Welt (6. Dezember 2017)
  14. Peter Doggers (PeterDoggers):AlphaZero: Reaktionen von Top GMs und Stockfish Programmierern – Chess.com. In:Chess.com. (chess.com [abgerufen am 28. Dezember 2017]). 
  15. sesse.net, abgerufen am 29. April 2019.
  16. CCRL 40/40 Rating List — All engines (best versions only). computerchess.org.uk, abgerufen am 12. März 2021. 
  17. CEGT Best Versions. cegt.net, abgerufen am 12. März 2021. 
  18. CCRL 40/4 Rating List. CCRL, abgerufen am 12. März 2021. 
Abgerufen von „https://de.wikipedia.org/w/index.php?title=Stockfish&oldid=253728921
Kategorien:
Versteckte Kategorie: