Am 11. November wird der Norweger Magnus Carlsen seine Schachweltmeisterschaft gegen den Russen Sergej Karjakin. Die vereinte Meisterschaft kehrt zum ersten Mal seit 1990 nach New York und auf amerikanischen Boden zurück, als die beiden Schachlegenden Kasparow und Karpow zum letzten Mal in einem Schachweltmeisterschaftskampf aufeinandertrafen. Seitdem hat die Popularität des Schachs in den Vereinigten Staaten langsam zugenommen, ebenso wie die Stärke seiner Spieler. Erst vor zwei Monaten gewann die US-amerikanische Herrenmannschaft zum ersten Mal seit 42 Jahren die 40. Schacholympiade. Angeführt wird sie nun von den Top-10-Spielern Caruana, So und Nakamura.
Dennoch dominiert Weltmeister Magnus Carlsen seit fünf Jahren das Schach und hat die verdiente Chance, seinen Weltmeistertitel zu verteidigen. Zur Vorbereitung auf wichtige Turniere wie die Weltmeisterschaft engagieren Großmeister fast immer ein Team von „Sekunden“ (anderen Großmeistern), die sie bei der Vorbereitung unterstützen. Ihre Hauptaufgabe besteht darin, die Züge der Eröffnungsphase zu analysieren, um das Spielfeld ihres Spielers optimal zu nutzen. Eines der wichtigsten Werkzeuge für diese Analyse ist die Computer-Engine. Eine Computer-Engine ist eine Software, die Schachstellungen objektiv bewertet.
Top-Schachgroßmeister verbindet eine gewisse Hassliebe mit Computer-Schach-Engines. Obwohl diese zu einem unverzichtbaren und unschätzbaren Hilfsmittel für Training und Vorbereitung geworden sind, beklagen viele den Verlust an Kreativität durch die umfangreiche Aufzeichnung von Eröffnungssequenzen, bekannt als Eröffnungsbuch. Spieler gehen bei Eröffnungen weniger Risiken ein, da ein gut vorbereiteter Gegner kreative, aber unsolide Ideen leicht aufdecken kann. Die Fähigkeit von Top-Großmeistern, sich die Tausenden von Varianten eines Eröffnungsbuchs einzuprägen, wird dann zum limitierenden Faktor. Einige Großmeister, wie beispielsweise Carlsen, spielen absichtlich frühzeitig Züge, die weniger analysiert und auch weniger optimal sind, um „einfach Schach spielen“ zu können, anstatt die Vorbereitungs- und Gedächtnisfähigkeiten des Gegners herauszufordern.
Heute nutzen Großmeister und Amateure Schachengines gleichermaßen zum Training und zur Analyse. Es gibt viele verschiedene Schachengines (einige kostenpflichtig, andere Open Source), die im Wesentlichen alle dasselbe tun: eine Schachstellung bewerten. Bei einer Partie gegen eine Schachengine ist die „Stärke“ der Engine für die meisten Anfänger und Fortgeschrittenen unwichtig. Eine Engine, die auf einem iPhone läuft, kann die meisten Amateurspieler problemlos schlagen. Man müsste die Stärke der Engine künstlich herunterschrauben, um ein konkurrenzfähiges Spiel zu erhalten. Wir sind an einem Punkt angelangt, an dem Schachengines jeden Menschen in einer Partie mit „klassischer Bedenkzeit“ (90 Minuten für die ersten 40 Züge) schlagen können. Die besten Schachengines haben Elo-Werte von über 3200, während die höchste erreichte Wertung eines menschlichen Spielers knapp 2900 beträgt. Daher ist es für Menschen nicht mehr interessant, gegen Schachengines anzutreten. Stattdessen gibt es mittlerweile Ligen mit ausschließlich Schachengines, in denen diese unter festgelegten Bedingungen gegeneinander antreten.

WIE FUNKTIONIERT ES?
Ich bin kein Experte für Schach-Engines, daher hier ein sehr allgemeiner Überblick über die Funktionsweise von Schach-Engines.
Es gibt drei verschiedene Phasen innerhalb einer Schachpartie, die von Schachengines unterschiedlich gehandhabt werden können. Die Eröffnung erfolgt über ein Eröffnungsbuch, eine Datenbank mit vordefinierten Zugvarianten. Sobald die Engine „aus dem Buch“ ist, nutzt sie ihre Bewertungs- und Baumsuchfunktionen, um die besten Züge zu finden. Schließlich kann eine Engine in Stellungen mit wenigen Figuren auf dem Brett eine Endspiel-Tabellenbasis in dem alle Gewinnzüge für eine bestimmte Position auf dem Brett gespeichert sind.
Der wichtigste Aspekt einer Schach-Engine ist ihre Fähigkeit, eine statische Stellung möglichst effizient zu bewerten. Sie nutzt diese Bewertung in Verbindung mit einer Baumsuche, um den oder die besten Züge in der aktuellen Stellung zu finden. Sie kann bewertete Stellungen in einer Hash-Tabelle speichern, sodass eine gegebene Stellung nicht mehrmals neu berechnet werden muss. Je tiefer die Engine den Baum durchsuchen kann, desto genauer ist theoretisch ihre Bewertung der aktuellen Stellung und ihre Fähigkeit, den besten Zug vorherzusagen.
Welche spezifischen Algorithmen in Engines eine bessere Schach-Engine ausmachen, ist umstritten. Generell nützt eine schnellere Suche in einem Baum nichts, wenn die statische Auswertung ungenau ist. Deshalb müssen Engines im Vergleich zu anderen Engines oder verschiedenen Engine-Versionen getestet werden, um sicherzustellen, dass schrittweise Verbesserungen den gewünschten Effekt haben. Es gibt auch Wettbewerbe, bei denen Engines gegeneinander antreten. TCEC ist einer dieser Wettbewerbe. Diese Wettbewerbe beschleunigen die Entwicklung neuer Bewertungstechniken für Schach-Engines.
Im Allgemeinen ist die Baumsuche eine eher brachiale Methode zur Bewertung einer Stellung, obwohl hinter der Optimierung dieses Algorithmus eine komplexe Theorie steckt. Die meisten heutigen Schachengines sind daher „dumme“ Werkzeuge. Man gibt ihr eine Stellung vor, und sie bewertet sie. Wenn Großmeister sie zur Vorbereitung nutzen, ist immer ein Mensch involviert, der der Engine mitteilt, welche Stellungen sie bewerten soll und wann sie mit der Bewertung aufhören soll. Ein nächster Schritt in der Entwicklung von Schachengines ist die Einbeziehung künstlicher Intelligenz (KI). Wie wir in AlphaGo gegen Lee SedolDie Einbindung von KI in Brettspiel-Engines erhöht deren Leistungsfähigkeit und Nutzen deutlich. KI ermöglicht es Spielern, Engines gezielt einzusetzen. So können wir beispielsweise die Reaktion eines Gegners auf bestimmte Stellungen und seine Tendenzen untersuchen und eine Strategie speziell für diesen Gegner entwickeln, indem wir der Engine alle Partien des Gegners zuführen. Auf hohem Niveau können wir aus Mustern in Stellungen lernen und diese mit den Spielausgängen in Abhängigkeit von der Stärke des jeweiligen Spielers korrelieren. Mit der Einbindung dieser neuen Technologien und der gesteigerten Leistungsfähigkeit der Engines wird sich die Landschaft des Wettkampfschachs zweifellos verändern.
HARDWARE-ÜBERLEGUNGEN
Die leistungsstärksten Engines von heute parallelisieren aufgrund der aktuellen parallelen Baumsuchalgorithmen nicht gut oder gar nicht über mehrere Knoten hinweg. Es gibt zwar einige Versuche, mithilfe verteilter Prozessalgorithmen über mehrere Knoten hinweg zu parallelisieren, diese Versionen werden in der Schachcommunity jedoch kaum genutzt. Der heutige Ansatz besteht daher darin, verschiedene Positionen auf verschiedenen Instanzen der Schach-Engine mithilfe eines menschlichen Beobachters zu analysieren. Die Beschränkung auf einen einzelnen Knoten vieler Schach-Engines führt dazu, dass große Multi-Core-SMP-Maschinen beispielsweise mehrere vernetzte Laptops deutlich übertreffen können.
Trotz der Einzelknotenbeschränkung von Schach-Engines können Cluster dennoch für die parallele Auswertung vieler Analysen verwendet werden. Cluster können auch bei der Entwicklung von Schach-Engine-Software eingesetzt werden. Die Simulation vieler Partien oder Positionen ist eine der wenigen Möglichkeiten, um sicherzustellen, dass Änderungen im Engine-Code diese tatsächlich verbessern.
SO LÄUFT EINE SCHACH-ENGINE AUF RESCALE
Rescale bietet derzeit ein Framework für die Ausführung von UCI-Schach-Engines. Es handelt sich um ein Bring-Your-Own-Engine-Setup. Wenn Sie keine eigene Schach-Engine bereitstellen, wird standardmäßig Stockfish 7 ausgeführt.

Sobald Sie einen Job mit der Schach-Engine starten, sendet und lauscht dieser auf Port 30000. Sie müssen einen SSH-Tunnel einrichten um einen lokalen Port an den Analyseknoten-Port 30000 weiterzuleiten. Im folgenden Video finden Sie eine vollständige Übersicht darüber, wie Sie Stockfish auf Rescale mit dem Client Scid ausführen:
Sie können jede UCI-Engine ausführen. Benennen Sie die ausführbare Engine-Datei unbedingt „engine“ und laden Sie sie als Eingabedatei hoch. Rescale verwendet automatisch die hochgeladene Engine:
Sie können sogar zwei Engines gegeneinander laufen lassen. Wenn Sie beispielsweise Komodo gegen Stockfish laufen lassen möchten, starten Sie zwei Jobs auf Rescale, die jeweils eine andere Engine ausführen. Stellen Sie einfach sicher, dass Sie einen anderen lokalen Port an Ihre zweite Engine weiterleiten:
Die Schlüsselkomponenten für die Verknüpfung Ihres UCI-Clients mit der Engine, die auf Rescale läuft, sind Ihre SSH-Tunnel und Ihre Rohverbindung zur Engine entweder über netcat (nc) unter Linux/MacOS oder plink.exe unter Windows.
ARMCHAIR CHESS QBDie Übertragung von Live-Spielen mit „Live-Auswertung“ auf Seiten wie Chessbase or Schachbombe ermöglicht es jedem Schachenthusiasten, bei Turnieren wie der bevorstehenden Weltmeisterschaft als Spielberichterstatter zu agieren. Gehen Sie dieses Jahr noch einen Schritt weiter und führen Sie die Analyse selbst mit den Chess Engines auf Rescale durch.
