Stockfish Schach – die Open-Source-Schach-Engine

stockfish-chess

Stockfish Chess ist eine freie, quelloffene Schachengine. Sie verwendet 82048 binäre Merkmale und Ganzzahlarithmetik, um das Spiel zu spielen. Bei jedem vernünftigen Zug von Weiß gibt es ein Remis. Um mehr über Stockfish zu erfahren, lies diesen Artikel. Es ist für alle Plattformen verfügbar und kann über das Universal Chess Interface (UCI) in deiner Schachsoftware verwendet werden.

Stockfish Schach ist eine Open-Source-Schachengine

Stockfish Chess ist eine quelloffene Schachengine, die für eine Vielzahl von Plattformen verfügbar ist. Sie ist eine extrem leistungsstarke Engine und steht regelmäßig auf den ersten Plätzen der Bewertungslisten für Schachengines. Sie ist in C++ geschrieben und kann unter Windows und macOS ausgeführt werden. Sie kann auch in JavaScript und WebAssembly kompiliert werden.

Stockfish ist in C++ geschrieben, einer objektorientierten Programmiersprache, die eine saubere und organisierte Codebasis bietet, die in vielen verschiedenen Programmen und Betriebssystemen wiederverwendet werden kann. Diese Version von Stockfish verwendet kein neuronales Netzwerk, sondern traditionelle Baumsuchmethoden wie AlphaBeta. Seine Elo ist 3542.

Stockfish hat lange Zeit den Spitzenplatz unter den Schachengines gehalten, aber in letzter Zeit ist eine neue Engine mit neuronalem Netzwerk, AlphaZero, immer näher gekommen. AlphaZero konnte Stockfish in einem TCEC-Turnier im letzten Dezember besiegen. AlphaZero war in der Lage, Stockfish zu besiegen, weil es seine enorme Rechenleistung nutzte, um sich selbst zu trainieren.

Die erste Version von Stockfish wurde im November 2008 veröffentlicht. Die Idee hinter dem Projekt war es, eine kostenlose Schachengine zu erstellen, die Entwickler nutzen und verbessern können. Seit dem Start des Projekts hat sich Stockfish zu einer der beliebtesten Schachengines entwickelt und wird ständig aktualisiert. Sie kann auf mehreren Betriebssystemen laufen, hat eine 64-Bit-Speicherbegrenzung und kann bis zu acht CPU-Kerne nutzen. Sie wurde mit Rybka, Naum und anderen beliebten Schachengines verglichen und hat sich an die Spitze der Computerschach-Rangliste gesetzt.

Während Stockfish die am weitesten verbreitete Schachengine war, wurde sie von Komodo, der zweitstärksten öffentlich verfügbaren Schachengine, herausgefordert. Komodo ist eine Engine, die auf einem neuronalen Netzwerk basiert und das Spiel durch Verstärkungslernen oder Selbstspiel erlernt.

Sie verwendet Ganzzahlarithmetik

Das Schachcomputerprogramm Stockfish arbeitet mit ganzzahliger Arithmetik und verwendet ganzzahlige Bauern, um seine Bewertung zu berechnen. Die Bewertung wird im Kommentarbereich der PGN-Datei angezeigt. In manchen Stellungen steht die Anzahl der Bauern nicht in direktem Zusammenhang mit dem Ausgang des Spiels.

Stockfish hat mehr als eine Million Stellungen, das ist viel mehr als Leela Chess. Die beiden Programme verwenden dasselbe neuronale Netzwerk, um Züge zu berechnen und Stellungen zu analysieren, aber ihre Algorithmen unterscheiden sich. AlphaZero wertet zum Beispiel vier Größenordnungen weniger Stellungen aus als Stockfish 11 und Leela Chess, während Stockfish über eine Milliarde Stellungen pro Sekunde auswertet.

Die Auswertungen von Stockfish basieren auf dem Durchschnitt von fünf Stichproben. Dadurch kann es Brettstellungen mit unterschiedlichen Zugfolgen analysieren. Daher ist es nicht immer möglich, alle möglichen Züge vorherzusagen, aber es kann die Chancen für ein erzwungenes Schachmatt abschätzen. Das Programm ist in der Lage, die wahrscheinlichste Endspielstellung mit etwa zehn Zügen zu bestimmen.

Stockfish ist eine der stärksten Schachengines. Sie verfügt über eine bemerkenswert große Anzahl möglicher Züge und steht oft an der Spitze der Enginebewertungen. Im Gegensatz zu Komodo hat Stockfish nicht die gleichen Einschränkungen. Stockfish verwendet nicht nur Ganzzahlarithmetik, sondern auch eine Computerschnittstelle, um seine Berechnungen auf bewegliche Schachfiguren zu projizieren.

Es verwendet 82048 binäre Merkmale

Stockfish Chess ist ein Schachprogramm mit tiefer Baumsuche. Es verwendet ein neuronales Netzwerk, um seine Position zu bestimmen, aber es ist sich der Informationen, die es hat, nicht vollständig bewusst. Das neuronale Netzwerk ist eine billige Annäherung. Dadurch kann Stockfish eine tiefere Baumsuche verwenden und in den Blättern eine ungefähre Bewertung vornehmen.

Stockfish verwendet den Alpha-Beta-Suchalgorithmus, der von Edwards und Hart entwickelt wurde. Dieser Algorithmus verbessert die Minimax-Suche, indem er Varianten vermeidet, die im optimalen Spiel nie erreicht werden. Außerdem verwendet er eine Reihe von Schachkonzepten und Gewichten, um den Materialvorteil in Standard-Bauerneinheiten zu berechnen.

Stockfish gehört zu den Top-Engines im TCEC, seit er 2013 zum ersten Mal teilgenommen hat. Seit 2013 hat sie jedes Jahr mindestens eine TCEC-Saison gewonnen. Von 2014 bis 2016 belegte er in sieben Saisons den ersten oder zweiten Platz. Im Rapid-Turnier der TCEC-Saison 10 besiegte sie Komodo, Leela Chess Zero, Shredder und Houdini. Im Laufe der Saison hat es insgesamt drei TCEC-Pokale gewonnen.

stockfish-chess

Für jeden Zug gibt es eine Bewertung

Wenn du ein Anfänger bei Stockfish Chess bist, fragst du dich vielleicht, warum dieses Computerprogramm für jeden vernünftigen weißen Zug ein Remis bietet. Der Grund dafür ist, dass Stockfish jede Schachstellung in Form von Centipawns, den Hundertsteln eines Bauern, bewertet. Diese Werte sind für das Gewinnen oder Verlieren einer Schachpartie irrelevant.

In der ersten Stellung hat Weiß viele vernünftige Optionen. Schwarz hat jedoch eine riesige Anzahl möglicher Antworten auf den weißen Zug e4 (der zu einem Remis führen würde, wenn alle anderen Faktoren gleich wären). Alle 20 schwarzen Züge sind in dieser Stellung ausprobiert worden, aber nur acht gelten als üblich im Turnierspiel.

Das Programm Stockfish 9 hat eine Elo-Zahl von 3438 – das ist ungefähr so viel wie der beste menschliche Spieler. Wenn Magnus Carlsen gegen Stockfish spielen würde, würde er Zeitlimits setzen und Stellungen einrichten, die Stockfish nicht erzeugen kann. Der Computer hätte dann nie eine Chance, eine Partie zu gewinnen, wenn er gegen die bestbewertete Version von Stockfish spielen dürfte.

AlphaZero kann auch die gebräuchlichsten menschlichen Eröffnungen spielen, d. h. diejenigen, die mindestens 100.000 Mal in der Online-Datenbank für menschliche Schachpartien gespielt wurden. Er spielt diese Eröffnungen auch häufig während seines Selbstspieltrainings. Deshalb hat AlphaZero Stockfish im Selbstspiel besiegt, nachdem es von allen menschlichen Eröffnungen ausgegangen war. Die Häufigkeit von Unentschieden führt jedoch dazu, dass die Elo-Skala im Schach komprimiert wird.

Stockfish Chess wird höher bewertet als Komodo

Stockfish Chess wird von den meisten Bewertungsportalen für Computerschach höher bewertet als Komodo. Die Komodo-Engine spielt Schach ähnlich wie Rybka und Houdini und verlässt sich auf Bewertungsfunktionen und langfristiges Wissen über das Spiel, um gut zu spielen. Die Komodo-Engine spielt gegen alle Arten von Schachprogrammen, auch gegen solche von anderen Herstellern.

Sowohl Stockfish als auch Komodo sind in der Lage, den Grand Prix zu gewinnen, ohne eine einzige Partie zu verlieren, und sie haben eine anständige durchschnittliche Elo-Zahl für ein Turnier mit 24 Spielern. Beide Schachengines haben ein gutes positionelles Spiel, wobei Komodo ein starkes positionelles Spiel hat, während Dragon sich in diesem Bereich auszeichnet. Mit einer Elo-Zahl von 3544 sollte Komodo Dragon einen Wettkampf mit hundert Spielen gewinnen.

Obwohl Komodo in den Hauptbewertungslisten an der Spitze steht, hat Stockfish in einigen Kategorien die Nase vorn, unter anderem bei der Suche. Während Stockfish sich besser gegen stärkere Gegner verteidigen kann, ist Komodo besser darin, schwache Engines auszunutzen. Die „reine“ Liste ist eine Ausnahme von dieser Regel, die es uns ermöglicht, zwei Engines mit unterschiedlichen Stärken zu vergleichen.

Stockfish ist zwar der besser bewertete Schachcomputer, aber es ist immer noch möglich, menschliche Partien gegen ihn zu spielen. Komodo Dragon 2 hat einen viel menschenähnlicheren Stil, während Stockfish besser in taktischen Linien und positionellem Spiel ist.

Stockfish ist höher eingestuft als Leela Chess Zero

Stockfish Chess ist in den Bewertungen höher eingestuft als Leela Chess Zero, aber warum? Beide sind auf neuronalen Netzwerken basierende Programme, die eine fortschrittliche Alpha-Beta-Suche verwenden, um Schachprobleme zu lösen. Leela Chess Zero ist die Open-Source-Version von DeepMinds AlphaZero, das Stockfish in einem kontroversen Match mit 100 Partien besiegt hat.

Leela Chess Zero wurde 2018 veröffentlicht und wurde von Gary Linscott entwickelt. Es führt einen Suchalgorithmus aus, der die zweitbesten Züge für jede Figur auf dem Schachbrett aus der Sicht beider Spieler/innen analysiert. Das Programm spielt dann alle möglichen Züge auf dem Schachbrett auf einmal durch, bis es sich für eine Gewinnstellung entschieden hat. Dabei wendet es auch sein analysiertes Wissen über die Schachstärke an.

StockFish ist ein schneller Taktiker mit zweifelhaftem positionellem Spiel. Er berechnet gute Kombinationen, aber manchmal hat er Schwierigkeiten, Figuren und Bauern zu koordinieren. Das liegt daran, dass es das Schachspiel mit roher Gewalt löst, aber auch clevere Suchheuristiken und eine schnelle Bewertungsfunktion verwendet.

Leela Chess Zero basiert auf AlphaZero und verwendet Deep Reinforcement Learning. Es plant viele Züge und bewertet jeden einzelnen, indem es die vorherigen Züge betrachtet. Sie war die erste neuronale Netzwerk-Schachengine, die es 2018 in die Top Chess Engine Championship geschafft hat.

Obwohl Leela Chess Zero leistungsfähiger ist, ist sie nicht perfekt. Es ist unwahrscheinlich, dass sie in naher Zukunft menschliche Spieler übertreffen wird. Leela Chess Zero kann zwar Stockfish-Schach spielen, aber es ist unwahrscheinlich, dass sie ein perfekter Schachspieler ist.