Chess Engines Guide

Dr. Erhard Henkes


Einführung

Vor dem Computerzeitalter gab es menschliche (betrügerische) Systeme wie den "Schachtürken" oder mechanische Systeme wie "El Ajedrecista". Mit dem Beginn des Computerzeitalters (ab ca. 1940) entstanden erste Algorithmen (Turing, Shannon) für Schach spielende Programme. Ausreichend leistungsfähige Hardware stand erst in den 70er Jahren zur Verfügung. Größere Bekanntheit erreichten Chess Engines erst in den 80er Jahren. 1983 erreichte "Belle" (Bell Labs) auf entsprechender Hardware ein USCF Rating von 2250. Damit waren Chess Engines in den Meisterbereich des Schachs vorgedrungen. Hegener und Glaser brachte 1980 das Modell "Mephisto I" auf den Markt. Das kleine schwarze Kästchen wurde unter dem Spitznahmen "Brikett" bekannt. Ich selbst bin damals beim Mephisto II eingestiegen. Man konnte sich nun endlich einen eigenen "Schachcomputer" gönnen. Später nannte ich einen Mephisto Exclusive (zunächst mit Modul 2) mein eigen, den ich Ende der 80er mit dem Modul 5.1 nachrüstete. Diese Computer hatten ein eigenes edles Holzbrett mit Holzfiguren, und man konnte endlich wie gewohnt ziehen und schlagen anstatt Züge tippen. Diesen besitze ich noch immer und habe ihn auch in meinem Twitch-Stream vorgeführt. Diese Hardware-Maschine spielt wohl im Bereich um 2000 ELO und ist heute noch ein interessanter Gegner für die Mehrzahl der Schachspieler. Man findet die alten Maschinen heute als reine Software mit UCI Standard in den unendlichen Weiten des Internets.


Mensch gegen Maschine - der Showdown


Der entscheidende Kampf Schachgroßmeister gegen Maschine fand zwischen Kasparov und Deep Blue (IBM) statt. Im Jahre 1996 konnte Kasparov diesen spektakulären Zweikampf noch mit 4:2 gewinnen. Der Mensch hat diesen Kampf im Mai 1997 knapp (2,5 : 3,5) verloren, und heute (2025) ist er völlig chancenlos gegen Engines, die auf einem Smartphone laufen können. Stockfish 17 gilt zurzeit als stärkste Engine mit einer ELO-Zahl deutlich über 3600, und Stockfish 18 wird bereits als beta-Version vorgeführt.

Solche Schach Engines werden heute als interessantes Analysewerkzeug eingesetzt. Man kann teilweise Spielstärke-Level einstellen, sodass man gegen abgeschwächte Engines antreten und diese besiegen kann. Allerdings agiert die Option "Skill level" bei Stockfish nicht besonders sinnvoll.  

 

Wie sieht es heute aus?

Die Zahl der verfügbaren Chess Engines ist schwierig zu überschauen. Daher versuche ich mich hier an einem Chess Engines Guide. Auf online-Plattformen wie lichess.org oder chess.com kann man gegen Bots antreten. Auf dem eigenen PC, Laptop, Notebook oder Tablet kann man Graphical User Interfaces (GUI), Engines oder kombinierte Systeme (GUI plus Engines) aufspielen. Wer Engines sucht, findet in der CCRL 40/15 Liste passende Gegner. Es gibt die Kategorien commercial, free, open source und private. Das zurzeit (2025) stärkste Programm Stockfish (aktuell: 17.1) steht kostenlos sogar als Open-Source-Code (zum eigenständigen Kompilieren/Linken) oder als binäre Releases zur Verfügung. Es folgt die (noch) private Engine "Torch v4" (chess.com) und die leider nur käuflich erwerbbare Engine Dragon by Komodo (Version 3.3). Bei der Hardware sollte man AVX2 und mehrere CPU zur Verfügung haben, was moderne Rechner bieten. Durch die Entwicklung von NNUE benötigt man keine Grafikkarte (GPU) für die effiziente Ausführung des neuronalen Netzes. Eine Grafikkarte wird noch von Leela Chess Zero eingesetzt, ideal mit einer nVidia Grafikkarte und CUDA. Diese Software kann es dann tatsächlich mit Stockfish aufnehmen. Übrigens gibt es noch "PlentyChess v6" (unabhängig entwickelt von Stockfish), das es mit Stockfish aufnehmen kann. Ein Blick in die CCRL Liste lohnt sich auf jeden Fall, um auf Stand zu bleiben.

 

Quick-Start: Engine installieren & loslegen

Hier ist die Kurzfassung, um eine UCI-Engine (z.B. Stockfish.exe) in wenigen Minuten lauffähig zu machen.

Voraussetzungen

Variante A: Arena

  1. Arena starten Menü Engines - Install New Engine
  2. Zur Engine-EXE navigieren und auswählen. Arena erkennt UCI normalerweise automatisch.
  3. Optionen setzen (Menü Engines Manage - Engine doppelklicken):
    • Hash (z.B. 256 bis 1024 MB)
    • Threads (Anzahl CPU Kerne)
    • Tabellebasen (optional): Feld SyzygyPath / Tablebase path auf deinen TB-Ordner setzen
  4. Partie starten: Engines - Load Engine und dann Play - New Game.

Variante B: Cute Chess

  1. Cute Chess starten Tools - Manage Engines - Add (+)
  2. Type = UCI, dann bei Command die Engine-EXE wählen.
  3. Engine-Parameter (Knopf Options):
    • Hash, Threads, optional SyzygyPath (TB-Ordner)
  4. Spiel / Match:
    • Gegen Mensch: Game - New
    • Engine vs. Engine / Turnier: Tournament - New

Schnelltest

  1. Eine 3-Minute-Partie gegen die Engine starten.
  2. Im Engine-Log prüfen, ob Suchtiefe & Knoten steigen und (falls gesetzt) Found N tablebases erscheint.

Tipp: Für stabile Matches die Hash-Größe gleich halten, kein Eröffnungsbuch nutzen und immer dieselben Zeitkontrollen verwenden.

 

Wie strukturiert man einen Engines Guide?

Zunächst schauen wir allgemein, an welchen Stellen man heute (2025) nach Engines stöbern kann. Da fallen mir folgende Plattformen (und Menüpunkte) ein:

lichess.org: Gemeinschaft - Spieler - Bots

chess.com: Spielen - Computer

Computerchess Rangliste

Smartphone: Nach Schach oder chess suchen ...

 

Beginnen wir mit den Bots bei lichess.org:


Beginnen wir mit den drei maia-Bots. Die Idee ist hier, Engines mit menschlichem neuronalem Netzwerk zu schaffen. Die Version maia1 wurde mit über 10 Millionen Spielen auf lichess im Wertungsbereich 1100 trainiert. Interessant sind hier die Chess Insights. Wie oft bestraft maia1 Patzer des Gegners? Die Werte erinnern mich an meine eigenen. 100% wäre teuflisch maschinell. maia1 zeigt hier 75% in der Eröffnung und 68% in Mittel- und Endspiel. Das erscheint mir für 1100 schon recht hoch. Bei maia5 und maia9 sind diese Werte ähnlich.
maia1 entspricht 1100, maia5 1500, maia9 1900 (lichess Wertung). Wo liegen erkennbare Unterschiede?
Wir betrachten die Genauigkeit der Züge Eröffnung/Mittelspiel/Endspiel bei Blitz + Schnellschach + Klassisch (Stand Mai 2024):
maia1: 82,5% / 61,3% / 69,5%
maia5: 85,8% / 67,3% / 71,6%
maia9: 88,0% / 64,0% / 66,7%

Ich vergleiche das mit meinen eigenen Werten: 86,0% / 69,0% / 70,8%
Vielleicht sind maia5 und maia9 geeignete Gegner für mich? Da hilft nur Ausprobieren.
Ich habe im April 2022 im 20+0 hier gegen maia9 gewonnen.

Wem das zu schwach ist, der sollte den Lynx_Bot (>2400 lichess Wertung) testen. Dafür braucht es allerdings bereits meisterliche Fähigkeiten. Lynx lässt leider keine Chess Insights zu.
Hier habe ich im Endspiel durch einen Patzer gegen Lynx verloren. Beachten Sie seine 98% Genauigkeit mit 0/0/0 in der Computeranalyse von lichess. Solche Gegner sucht man normalerweise nicht zweimal auf, es sei denn man möchte selbst Meister werden. 

Ein raffinierter Gegenspieler ist Boris-Trapsky (>2150 lichess Wertung im Schnellschach). Hier existieren sogar zwei Spiele von mir. Es steht 1,5 - 0,5 für den Bot. Mit einer Patzer-Bestrafungs-Rate von >85% hat man hier einen wirklich harten Gegner vor sich. 

Ich empfehle zeekat (>1950 lichess Wertung im Schnellschach). Hier habe ich eine leichtsinnig gespielte Partie gruselig gegen diesen Bot verloren.

Wer etwas Besonderes erleben möchte, sollte gegen TurtleBot (1320? lichess Wertung im Schnellschach) antreten. Dieser Bot wurde so programmiert, dass er die dritte Reihe von sich aus gesehen nicht überschreitet. Damit entsteht eine witzige Schach-Variante. Ein echtes Vergnügen, diesen Verteidigungs-Künstler zu knacken. Man kann gegen diesen Bot herrlich Angriff und breite Phalanxen üben. Dieser Bot ist leider nicht immer aktiv. Falls doch, unbedingt nutzen. Momentan steht es 6:1 (zwei Remis) für mich. Hier finden Sie eine typische Partie.


Bots bei chess.com:

Die Bots bei chess.com beruhen wohl auf der Engine Komodo, die man mittels Parameter personalisieren kann. 

Es gibt eine große Auswahl, die sich gezielt an Anfänger (250 - 850), Fortgeschrittene (1000 -1400), Turnierspieler (1500 - 2100) und Meister (2200 - 2450) wendet. Daneben gibt es Top-Spieler (Ben Finegold bis Magnus Carlsen). Dies ist der Versuch, personalisierte Engines zu erstellen. Letztendlich kann man auch "unpersönlich" direkt gegen die Engine Komodo antreten.
Hierbei finden sich folgende Level: 1 bis 5 für Anfänger (250 - 850), 6 bis 11 für Fortgeschrittene ( 1000 - 1500), 12 bis 15 für Turnierspieler (1600 - 1900), 16 bis 19 für Experten (2000 - 2300), 20 bis 21 für Meister  (2400 - 2500), 22 bis 23 für Grandmaster (2600 - 2700) und 24 für Super Grandmaster (2900). Zum Schluss gibt es 25 "Maximal" (3200).

Mein Lieblings-Computergegner ist "Olga" (1900). Sie spielt eher im Cafehaus-Stil, also ungewohnte Eröffnungen und taktisch gefährlich. Hier findet man eine Partie von mir mit Weiß gegen "Olga".

 

Bots aus der CCRL Rating List:

Diese Liste ist sortiert nach ELO. Durch farbliche Kennzeichnung findet man sich leicht zurecht zwischen Commercial, Free, Open source und Private. Lediglich Torch ist rein privat. Man kann es nicht kaufen oder den Code einsehen. Lediglich mittels Analyse auf chess.com kann man diese Engine bisher selbst nutzen. Infos über Torch findet man hier. Partien von GM Hikaru Nakamura gegen Torch kann man hier anschauen. Torch v4 ist die Nummer zwei in der Rangliste hinter Stockfish 17.1. Hier findet sich eine aktuelle Partie zwischen Stockfish 17 und Torch.

Stockfish ist schlicht und einfach ein geniales Schachprogramm, das in modernem C++ geschrieben ist. Es ist der beste "Schachspieler" der Welt. Es ist vor allem kostenlos, und der Sourcecode steht unter der GNU General Public License (ab Version 3) zur Verfügung. Was will man mehr? Die ausführbare exe von Stockfish 17.1 benötigt zwei neuronale Netze (ein großes und ein kleines) und kann ohne GUI in einem Terminal bedient werden. Die Schnittstelle zur Stockfish Engine spricht UCI.

Hier ein kleines Beispiel noch mit SF 16.1 (meine Eingaben in der GUI-Rolle sind kursiv gesetzt):

Stockfish 16.1 by the Stockfish developers (see AUTHORS file)
uci
id name Stockfish 16.1
id author the Stockfish developers (see AUTHORS file)

option name Debug Log File type string default
option name Threads type spin default 1 min 1 max 1024
option name Hash type spin default 16 min 1 max 33554432
option name Clear Hash type button
option name Ponder type check default false
option name MultiPV type spin default 1 min 1 max 256
option name Skill Level type spin default 20 min 0 max 20
option name Move Overhead type spin default 10 min 0 max 5000
option name nodestime type spin default 0 min 0 max 10000
option name UCI_Chess960 type check default false
option name UCI_LimitStrength type check default false
option name UCI_Elo type spin default 1320 min 1320 max 3190
option name UCI_ShowWDL type check default false
option name SyzygyPath type string default <empty>
option name SyzygyProbeDepth type spin default 1 min 1 max 100
option name Syzygy50MoveRule type check default true
option name SyzygyProbeLimit type spin default 7 min 0 max 7
option name EvalFile type string default nn-b1a57edbea57.nnue
option name EvalFileSmall type string default nn-baff1ede1f90.nnue
uciok
isready
readyok
setoption name Threads value 15
setoption name Hash value 1600
ucinewgame
position startpos moves g1f3
go depth 35

info string NNUE evaluation using nn-baff1ede1f90.nnue
info string NNUE evaluation using nn-b1a57edbea57.nnue
info depth 1 seldepth 2 multipv 1 score cp -24 nodes 315 NPS 45000 hashfull 0 tbhits 0 time 7 pv g8f6
info depth 2 seldepth 3 multipv 1 score cp -24 nodes 3306 NPS 413250 hashfull 0 tbhits 0 time 8 pv g8f6
info depth 3 seldepth 4 multipv 1 score cp -12 nodes 6811 NPS 851375 hashfull 0 tbhits 0 time 8 pv d7d5 d2d4
info depth 4 seldepth 6 multipv 1 score cp 7 nodes 9994 NPS 1110444 hashfull 0 tbhits 0 time 9 pv d7d5 d2d4
info depth 5 seldepth 7 multipv 1 score cp -10 nodes 20438 NPS 2043800 hashfull 0 tbhits 0 time 10 pv d7d5 d2d4 c8f5 c1f4 e7e6 e2e3
info depth 6 seldepth 10 multipv 1 score cp -10 nodes 29303 NPS 2663909 hashfull 0 tbhits 0 time 11 pv d7d5 d2d4 g8f6 c1f4 c7c5 c2c3
info depth 7 seldepth 11 multipv 1 score cp -19 nodes 113947 NPS 5179409 hashfull 0 tbhits 0 time 22 pv d7d5 c2c4 d5c4 b1a3
...
info depth 35 seldepth 48 multipv 1 score cp -21 nodes 192288851 NPS 8182852 hashfull 599 tbhits 0 time 23499 pv d7d5 d2d4 g8f6 c2c4 e7e6 b1c3 c7c5 c4d5 c5d4 d1d4 e6d5 e2e4 b8c6 f1b5 d5e4 d4d8 e8d8 f3g5 c8e6 e1g1 f8b4 c3e4 f6e4 g5e4 d8e7 c1e3 h8d8 a2a3 c6d4 b5a6 b7a6 a3b4 e6c4 f1d1 d4b3 e3c5 b3c5 d1d8 a8d8
bestmove d7d5 ponder d2d4

Ich habe 1.Sf3 eingegeben, und Stockfish möchte mit 1. ... d5 antworten. Als Gegenzug erwartet die Engine 2.d4.

Diese Information gehen über den Ausgabestream (cout) des Programms an das Graphical User Interface (GUI). Das GUI wiederum gibt seine Kommandos über den Eingabestream (cin) ein.

Hier im Terminal schlüpfe ich in die Rolle des GUI, um die Kommunikation zwischen Engine und GUI zu demonstrieren.
Wichtige Abkürzungen sind cp (centipawn), NPS (nodes per second), hashfull (Ausnutzung des Hash-Speichers in Promille) und pv (principal variation). Der Hash-Speicher (auch TT genannt) sichert die Bewertung bereits bekannter Positionen, sodass hier ein schnelle Aufruf erfolgen kann anstelle einer aufwändigen Neubewertung.

Stockfish ist in der Programmiersprache C++ verfasst. Der Code in der main.cpp (noch SF 16) lautet:

int main(int argc, char* argv[])
{
  std::cout << engine_info() << std::endl;
  Bitboards::init();
  Position::init();
  UCIEngine uci(argc, argv);
  Tune::init(uci.engine_options());
  uci.loop();
  return 0;
}

In uci.loop findet die Kommunikation zwischen Engine und GUI statt:

void UCIEngine::loop() {

std::string token, cmd;

for (int i = 1; i < cli.argc; ++i)
cmd += std::string(cli.argv[i]) + " ";

do
{
if (cli.argc == 1
&& !getline(std::cin, cmd)) // Wait for an input or an end-of-file (EOF) indication
cmd = "quit";

std::istringstream is(cmd);

token.clear(); // Avoid a stale if getline() returns nothing or a blank line
is >> std::skipws >> token;

if (token == "quit" || token == "stop")
engine.stop();

// The GUI sends 'ponderhit' to tell that the user has played the expected move.
// So, 'ponderhit' is sent if pondering was done on the same move that the user
// has played. The search should continue, but should also switch from pondering
// to the normal search.
else if (token == "ponderhit")
engine.set_ponderhit(false);

else if (token == "uci")
sync_cout << "id name " << engine_info(true) << "\n"
<< engine.get_options() << "\nuciok" << sync_endl;

else if (token == "setoption")
setoption(is);
else if (token == "go")
go(is);
else if (token == "position")
position(is);
else if (token == "ucinewgame")
engine.search_clear();
else if (token == "isready")
sync_cout << "readyok" << sync_endl;

// Add custom non-UCI commands, mainly for debugging purposes.
// These commands must not be used during a search!
else if (token == "flip")
engine.flip();
else if (token == "bench")
bench(is);
else if (token == "d")
sync_cout << engine.visualize() << sync_endl;
else if (token == "eval")
engine.trace_eval();
else if (token == "compiler")
sync_cout << compiler_info() << sync_endl;
else if (token == "export_net")
{
std::pair<std::optional<std::string>, std::string> files[2];

if (is >> std::skipws >> files[0].second)
files[0].first = files[0].second;

if (is >> std::skipws >> files[1].second)
files[1].first = files[1].second;

engine.save_network(files);
}
else if (token == "--help" || token == "help" || token == "--license" || token == "license")
sync_cout
<< "\nStockfish is a powerful chess engine for playing and analyzing."
"\nIt is released as free software licensed under the GNU GPLv3 License."
"\nStockfish is normally used with a graphical user interface (GUI) and implements"
"\nthe Universal Chess Interface (UCI) protocol to communicate with a GUI, an API, etc."
"\nFor any further information, visit https://github.com/official-stockfish/Stockfish#readme"
"\nor read the corresponding README.md and Copying.txt files distributed along with this program.\n"
<< sync_endl;
else if (!token.empty() && token[0] != '#')
sync_cout << "Unknown command: '" << cmd << "'. Type help for more information."
<< sync_endl;

} while (token != "quit" && cli.argc == 1); // The command-line arguments are one-shot
}      


Dieser Sourcecode ist die beste Quelle, um wirklich zu verstehen, welche Kommandos die Engine umsetzt und was sie daraufhin unternimmt. Die meisten Engines sind in den prozessornahen Programmiersprachen C und/oder C++ geschrieben. 

Stockfish ist darauf getrimmt die Nr. 1 zu sein und zu bleiben. Hier wird um jeden ELO-Punkt gekämpft. Die Entwickler und den Support findet man in Discord auf dem Stockfish Server, eine überaus lebendige Community. Fertige binäre Programme findet man hier. Der größte Sprung in der Spielstärke um etwa 100 ELO-Punkte fand ab Version 12 statt, als man ein neuronales Netzwerk zusätzlich zur klassischen Bewertung einbaute. Ab Version 16 wurde die klassische Bewertung entfernt. Man setzt nun rein auf die Optimierung der Spielstärke mittels NNUE.

Damit ist Stockfish über Jahre die aktuelle Referenz für "korrektes" Schach geworden, ein echter Hyper-Grandmaster, der Menschen im Schach weit hinter sich gelassen hat.

Auf Platz vier findet sich das kommerzielle Programm Dragon by Komodo 3.3. Der große Vorteil sind die "Personalities", sodass man menschliche Verhaltensweisen einstellen kann. Übrigens gibt es diesen Parameter auch bereits beim kostenlosen Komodo 14.  

 

All diese Engines benötigen eine kompatible GUI, die UCI beherrscht. Ich empfehle Cute Chess 1.3.1. Damit kann man spielen, Turniere veranstalten und sogar eigene Eröffnungsbücher aus pgn-Sammlungen im üblichen Polyglot Binärformat erstellen. Man findet natürlich bereits fertige Binärformate, wie z.B. das empfehlenswerte komodo.bin.

 

GUI plus Engine:

Es gibt natürlich komplette Systeme, die sowohl die Benutzeroberfläche als auch die Engine oder mehrere Engines beinhalten. Ein klassisches Beispiel ist der "Fritz". In den 90er Jahren löste er die elektronischen Systeme als Schach-Software für den heimischen PC ab. Diese generelle Entwicklung hat sich fortgesetzt. Inzwischen kann man sehr starke Chess Software auf dem Smartphone verwenden.

"Fritz" hat seine führende Rolle ein wenig verloren. Allerdings befindet er sich aktuell als "Fritz 20" (kommerziell) auf Platz 6 der CCRL 40/15. Man kann in seiner GUI weitere Engines konfigurieren, parametrisieren und verwenden. Stockfish und PlentyChess würde ich dort zusätzlich einbinden, um auf höchstem Niveau zu analysieren. 

Nicht uninteressant ist das Komplettsystem Shredder. Zurzeit gibt es den Shredder Classic 5, Shredder 13 Windows und Deep Shredder 13 Windows käuflich zu erwerben. Eine kostenlose 30-Tage-Demo-Version des Shredder Classic 4 existiert zum Download (Stand Nov. 2009). Der Vorteil dieser kompletten Systeme besteht darin, dass sich die Spielstärke der Engine adaptiv verhält, d.h. verliert man, so wird die Spielstärke verringert. Man erhält eine Wertungszahl, sodass man die eigene Entwicklung verfolgen kann. Das kann der Fritz natürlich ebenfalls.

 

Engines selbst entwickeln oder verstehen lernen

Ein interessantes Gebiet sind die open source Engines, wenn man den inneren Ablauf ernsthaft verstehen will. Man kann sogar selbst weiter entwickeln, wenn man C/C++ halbwegs beherrscht.
Ein interessanter Ausgangspunkt ist Fruit 2.1 aus dem Jahre 2005. Er arbeitet natürlich noch ohne NN, also mit klassischer Bewertung. Man kann hier sehr schön die UCI-Schleife, die Suche und die Bewertung anschauen, um für eigene Ideen zu lernen. Der gut verständliche Fruit 2.1 war ein wichtiger Ausgangspunkt für Glaurung (SF Vorläufer), Stockfish und Rybka. Ich habe diesen Code in Form gebracht, leicht weiter entwickelt und mit Hilfe von ChatGPT kommentiert, so dass man ihn direkt mit Visual Studio 2022 verstehen und bearbeiten kann. Die Spielstärke befindet sich auf Meister-Niveau.

Hier findet sich meine aktuelle Version, die im Sourcecode gut kommentiert ist. Das Eröffnungsbuch komodo.bin und die Original-Version von Fruit 2.1 (2005) ist ebenfalls dabei. AVX2 bringt leichten Geschwindigkeitsvorteil, AVX512 spielt sogar langsamer (NPS). 

Interessanterweise wurde diese Version weiter entwickelt zum Fruit Reloaded 2.1 (2014). Hier findet sich eine Version, die ich an MSVS 2022 angepasst habe. Sie hat bereits Multithreading und ein Beispiel für Bitboards dabei. Auch mit nur einem Thread spielt diese Version bereits auf Großmeister-Niveau. Ich habe den Fruit Reloaded mit komodo.bin gegen SF 17.1 mit 8 Threads und 1024 MB Hash für beide antreten lassen. Fruit Reloaded hat gegen dieses Monster ein remis erzielt! Hier findet man diese sehenswerte Partie. Fruit Reloaded spielt hier mit 99% Genauigkeit und nur 2% average centipawn loss (Wertung SF in lichess). Das ist eine hervorragende Ausgangsbasis, die noch ohne NN und massenweise Bitboards agiert. Ideal, um die Engines des 2010er Jahrzehnts zu verstehen.

Wenn man weiter gehen will, kann man sich direkt mit dem aktuellen Stockfish Sourcecode beschäftigen. In Version 15 arbeiten klassische Bewertung und NNUE noch Hand in Hand zusammen, ab Version 16 wurde die klassische Bewertung komplett entfernt. Der Code ist in modernem C++ geschrieben. Ich empfehle ChatGPT-5 als Hilfe zum Erklären (klappt bestens) und Programmieren (hier braucht man Nerven wie Stahlseile, da die KI bei solch komplexen Programmen noch überfordert ist).

Syzygy‑Tablebases kompakt

Syzygy sind Endspiel‑Datenbanken, die perfekte Bewertung für Stellungen mit wenigen Steinen liefern. Sie bestehen aus zwei Haupttypen:

Empfehlungen

Hinweis: Größen variieren je nach Quelle/Kompression. WDL ist deutlich kleiner als DTZ. Für SSD/NVMe ablegen.

Installation (allgemein)

  1. Wähle einen Zielordner, z. B. D:\TB\Syzygy.
  2. Lade die gewünschten Sets (WDL/DTZ, 3‑5/6 Steine) von einem vertrauenswürdigen Mirror herunter und entpacke alles in den Ordner.
  3. In deiner GUI die Engine‑Option SyzygyPath (oder Tablebase path) auf diesen Ordner setzen.
  4. Engine neu starten und Log prüfen (Meldungen wie „Found N tablebases“ / „Syzygy initialized“).

Tipps


Glossar (Kurz)

UCI
Universelles Schach‑Interface – Standardprotokoll GUI↔Engine.
GUI
Grafische Oberfläche (z. B. Arena, Cute Chess) zum Bedienen von Engines.
Hash
Transpositionstabelle der Engine im RAM (MB/GB).
Threads
Parallele Suchfäden; meist ≈ CPU‑Kerne.
Syzygy (WDL/DTZ)
Endspiel‑Tabellen: Ergebnis (W/D/L) und Distanz bis zum nächsten 50‑Züge‑Reset.
Opening Book
Bibliothek vordefinierter Eröffnungszüge.
EPD / PGN
Formate für Teststellungen bzw. Partien.
SPRT
Sequential Probability Ratio Test – statistischer Test für Engine‑Vergleiche.


 

↑ Zurück nach oben