Seit längerer Zeit wird die Computerschach-Welt von einem Thema in Atem gehalten: Das KI-Projekt Leela Chess Zero (LC0). Hier findet sich ein guter Überblick auf den aktuellsten Stand der KI-Dinge: Chess Programming Wiki. Der „neuronal“ orientierten Schachprogrammierung liegt die sogenannte Monte-Carlo-Technik zugrunde, deren schachspezifische Anwendung hier ganz gut erklärt wird: Monte Carlo statt Alpha-Beta.
In wenigen Monaten von 0 auf 98
Die unglaublichen Fortschritte der Netzwerk-gestützten Engine „Leela-Chess-Zero“ (LC0) lassen erahnen, dass es mit der Dominanz des bisherigen Alpha-Beta-Ansatzes in der Schachprogrammierung – momentan am erfolgreichsten manifestiert im weltweit führenden Programm Stockfish – schon bald vorbei sein könnte. Denn innert wenigen Monaten hat sich dieses Open-Source-Projekt, zu Beginn nur gerade mal mit den Schachregeln vertraut gemacht, mithilfe seiner Algorithmen bzw. selbsterlernter Networks (sprich aufgrund von Millionen Partien gegen sich selbst) vom lächerlichen Anfänger zum Super-Grossmeister entwickelt, der nicht nur die gesamte Schach-Weltelite bei den Menschen, sondern auch alle seine digitalen „Artgenossen“ schlagen kann. Als reiner Autodidakt ohne alle Wissens-Implentierung durch den Menschen zur absoluten Weltspitze: Das ist einzigartig in der ca. 30-jährigen Geschichte der Schachprogrammierung.
Menschliches Computerschach
Sind wegen Leela Chess die Tage des berühmtesten Fisches der Schachgeschichte bald gezählt?
Für Schachspieler liegt der besondere Reiz von Leela’s Spiel-Stil in der beinahe „menschlich“ zu nennenden Partie-Anlage dieser KI-Software. Wo die herkömmlichen Taktik-Programme wie Stockfish, Houdini oder Kommodo (um nur die drei aktuell stärksten Alpha-Beta-Engines zu nennen) möglichst breit und möglichst tief rechnen (raffinierte Cut-und Bewertungs-Techniken inklusive), spielt ein Neuronal-Netz-Programm wie Leela „auf Position“: Aktivität, Mobilität, Aggressivität und damit verbunden eben Originalität sind die Stichworte, die einem bei der Analyse von NN-Partien spontan einfallen.
Die konservativen Materialwerte (aufgrund der Bauer-Grundeinheit), wie sie bei AB-Engines bedeutungsvoll sind für die Stellungseinschätzung und Zuggenierung, scheinen beim NN-Schach eine nur geringe Rolle zu spielen, denn hier zählt vielmehr das „Potential“ der Bauern- und Figurenkonstellationen. Dementsprechend findet man in Leela-Partien kaum je „totes Material“; hier ist alles „im Fluss“, permanent sind Umgruppierungen im Gange, Randspringer und- bauern sind an der Tagesordnung, das Zentrum hat seine „zentrale“ Bedeutung eingebüsst, Doppelbauern kommen zuhauf vor, das Qualitäts- als positionelles Opfer ist häufig, und oberste Priorität hat jeweils mit maximalem Druck das eigentliche Spiel-Ziel des Schachs: Der Königsangriff.
Leela = Michael Tal des Computerschachs?
Natürlich ist solch ein Schach hochattraktiv im Vergleich zum traditionellen Computerschach, dessen staubtrockenes bzw. Remis-trächtiges Sicherheitsspiel – wenngleich auf extrem hohem technischem Niveau – allenfalls noch für perfektionistische Fernschach-Freunde theoretisch-analytische Hilfestellung bietet, ansonsten wegen seiner überirdischen Genauigkeit das „breite Schachvolk“ längst nicht mehr erreicht.
Ist Leela Chess eine digitale Reinkarnation des berühmten Schachmagiers Michael Tal?
Ist also Leela die Reinkarnation der „Kreativität“ im Computerschach? Eine Art Michael Tal unter den Schachengines? Der legendäre lettisch-russische Schachweltmeister (1936-1992) spielte bekanntlich das bislang wohl spekulativste wie spektakulärste Menschen-Schach der Geschichte, seine Materialopfer „aus dem Nichts heraus“ waren berüchtigt, und je wissenschaftlicher und analytischer ein Tal-Gegner spielte, umso sicherer wurde er eine Beute des „Magiers aus Riga“.
Romantikern unter den Schachspielern sei diese interessante Parallele also durchaus gestattet – aber ein gravierender Unterschied besteht: Leela’s Opfer sind immer korrekt. Ein Computer hypnotisiert nicht, er rechnet…
Das Angriffsspiel „aus dem Nichts heraus“ ist aber definitiv ein Markenzeichen auch des NN-Programmes. Die folgende Stellung wurde generiert in einer TCEC-Partie gegen Houdini, der aktuellen Nummer Zwei der konservativen Engine-Ranglisten hinter der Schach-Freeware Stockfish. Setzt man diese Position den herkömmlichen Programmen zur Bewertung vor, stufen sie die schwarze Stellung als völlig ausgeglichen ein, schwächere Engines sehen gar Schwarz im Vorteil:
FEN r1r5/1b1n3k/1n1q1ppp/3Pp3/ppP1P2P/5QR1/1BBN1PP1/2R3K1 w
Strategische Weitsicht im Königsangriff dank Neuronalem Netzwerk: Das KI-Schachprogramm Leela Chess Zero (LC0)
Ganz anders sieht das Leela, dessen Algorithmen & Statistikauswertung nicht das taktische, sondern das positionell-strategische Potential der weissen Stellung sieht und eine für weiss positive Bewertung auswirft:
Leela Chess Zero 21.1 (41800): 27.h5 g5 28.Df5+ Kh8 29.f4 a3 30.La1 De7 31.Ld1 exf4 32.Tb3 weiss steht deutlich besser: +/- (1.41) Tiefe: 15/45 00:00:31 375kN
Der Partieverlauf gab Leela’s NN-Analyse recht, Houdini’s furchterregende Freibauernwalze auf dem Damenflügel verblasst angesichts der weissen Schläge gegen den schwarzen König:
Aktuell dürfte Leela der bei weitem erfolgreichste Königsangreifer des ganzen modernen Engine-Zirkus‘ sein. Kein Wunder: Seine entspr. Angriffstechniken sind statistisch millionenfach abgesichert…
Wer der Freeware-NN-Engine Leela – das kommerzielle Programm Komodo mit seiner „Monte-Carlo-Tree-Search“ (MCTS) verfolgt den ähnlichen Ansatz, und beide fahren sie im Kielwasser des KI-Google-Projektes Alpha-Zero – bei der Arbeit zusehen will, hat entweder die Möglichkeit, sich die neuesten Partien der inoffiziellen Computerschach-Weltmeisterschaft Top Chess Engine Championship (TCEC) runterzuladen, oder aber er organisiert sich seine Engine-Turniere gleich selber auf dem heimischen Desktop oder Notebook.
Letzteres setzt allerdings – diese Warnung ist zwingend – eine überdurchschnittliche Hardware voraus; insbesondere die Grafik-Karte sollte mindestens von der Qualität einer RTX 2060 sein, andernfalls ist die Verwendung von Leela reine Zeitverschwendung. Denn die Hauptberechnungen absolviert die NN-Engine nicht auf der Platinen-CPU, sondern auf der Grafik-GPU.
Die folgenden Stellungen bzw. „Lösungszüge“ generierte Leela gegen unterschiedliche Engine-Gegner auf meinem heimischen AMD-Ryzen-7 2700x mit einer GeForce-RTX-2080-Karte bei Blitz-Bedenkzeiten von 5-20 Minuten/Engine (mit „Permanent-Brain-On“ und einem 5-Züge-Eröffnungsbuch).
Diese sieben Lösungszüge haben eines gemeinsam: Sie werden von Leela allesamt je im 1-Sekunden-Bereich gefunden. Eine Leistung, die meinen Recherchen zufolge von keinem anderen (AB-)Programm erreicht wird.
Noch ist die Entwicklung in vollem Gange. Auf die weitere Progression des neuronalen Schach-Projektes Leela Chess Zero blickt die gesamte Schachwelt. ♦
FEN rbbq1r2/1p3pk1/1P1p2pp/p2Pp3/P3Rn2/2P2NNP/5PP1/1R1Q1BK1 w
weiss am Zuge
FEN 5r2/2r1q2k/1p1pb1p1/b2B4/P1P1pP1p/4Q1RP/4N1P1/5R1K w
weiss am Zuge
FEN 3r1rk1/1p1nq1bp/p2ppnp1/2p5/2P5/2N1P2P/PP2BPP1/1RBQ1RK1 w
weiss am Zuge
FEN 6r1/4nr1k/p2R4/P7/1PP1N3/4b1p1/1B4PN/7K b
Schwarz am Zuge
FEN 1rr1b1k1/2q2pp1/2nppb1p/p7/Pp2PP1P/1N3BP1/RPPRQ3/3N3K b
Schwarz am Zuge
FEN 3rrbk1/1pq2pp1/p1b5/2np2Pp/P2B1P1P/1PN4B/2P2Q2/R2R2K1 b
Schwarz am Zuge
FEN 3rr1k1/1pqn1pp1/2pbpn1p/p2p4/P4P1N/1P1PP1P1/1BPNQ2P/R4R1K w
Stockfish macht aus einer bestimmten Position heraus immer die gleichen Züge. Wenn ich ihn gegen sich selbst spielen lasse, ist es am interessantesten, zwischendurch einen „menschlichen“ Zug einzuwerfen und ihn erst dann wieder rechnen zu lassen. Sonst bleibt das Spiel wirklich ziemlich trocken.
Mit einer neurologischen KI wurde mal berechnet, welchem Profi-Spieler die Spielweise von Stockfish am meisten gleicht, die grösste Übereinstimmung mit Stockfish entdeckte sie bei Magnus Carlsen…
Cooler Artikel, Leute! Ich hab mir die engine jetzt auch mal runtergeladen http://lczero.org aber irgendwie kriege ich das Ding nicht zum Laufen!! (Fritz 16) 🙁 Wie sind denn eigentlich die genauen Schritte zur Installation? Habe eine RTX 2070 eingebaut. Muss man da noch spezielle Grafik-Treiber runterladen? Wäre für hilfreiche Step-by-Step-Anleitung sehr dankbar! Claudio S.
Anmerkung:Die Geschichte der Schachprogrammierung ist deutlich älter als 30 Jahre.
Das ist korrekt – ich hatte nur das PC-Computerschach im Hinterkopf.
Zur Historie hier:
https://de.wikipedia.org/wiki/Schachprogramm#Geschichte
Werde das noch ändern.
Dank & Gruss: W.E.
Stockfish macht aus einer bestimmten Position heraus immer die gleichen Züge. Wenn ich ihn gegen sich selbst spielen lasse, ist es am interessantesten, zwischendurch einen „menschlichen“ Zug einzuwerfen und ihn erst dann wieder rechnen zu lassen. Sonst bleibt das Spiel wirklich ziemlich trocken.
Mit einer neurologischen KI wurde mal berechnet, welchem Profi-Spieler die Spielweise von Stockfish am meisten gleicht, die grösste Übereinstimmung mit Stockfish entdeckte sie bei Magnus Carlsen…
Interessante Feststellung – gibt’s dazu entspr. Quellen im Netz?
Aber im Zeitalter von Leela dürfte das sowieso inzwischen überholt sein…
Gruss: W.E.
Hier: http://en.wikipedia.org/wiki/Stockfish_%28chess%29
Stockfish versus Nakamura, 2. Absatz.
Sieht so aus. Frischer Wind ! 🙂
LG Joe
Ein Computerschachtester hat eine solche Anleitung gepostet:
http://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=118101;hl=installation
Das Forum kannte ich noch gar nicht! Danke für den Link. C.S.
Cooler Artikel, Leute! Ich hab mir die engine jetzt auch mal runtergeladen http://lczero.org aber irgendwie kriege ich das Ding nicht zum Laufen!! (Fritz 16) 🙁 Wie sind denn eigentlich die genauen Schritte zur Installation? Habe eine RTX 2070 eingebaut. Muss man da noch spezielle Grafik-Treiber runterladen? Wäre für hilfreiche Step-by-Step-Anleitung sehr dankbar! Claudio S.