Anatomie einer Computerpartie
Die jüngsten Erfolge von AlphaZero gegen Stockfish[1] haben weltweit Bewunderung und Erstaunen ausgelöst. „Schach wie von einem anderen Planeten“, „alien like“, „super human“ heißt es in Kommentaren namhafter Großmeister und Schachautoren.
Besonders eine der im Dezember 2018 veröffentlichten Matchpartien sorgte für Furore. AlphaZero spielt anders, gibt Material für langfristige strategische Ziele. Ein neuer Mythos oder ein echter Quantensprung? Fernschach-Großmeister Arno Nickel hat die glänzendste aller Glanzpartien der „künstlichen Intelligenz“ aus der Sicht von Stockfish eingehend analysiert und vieles zutage gefördert, was bisher im Dunkeln lag.
Das Forschungsteam von Deep Mind war nach seinem ersten Erfolgsbericht im Dezember 2017 von vielen Seiten aufgefordert worden, die Matchpartien von AlphaZero gegen Stockfish unter gleichwertigeren Bedingungen abzuhalten, als dies damals der Fall gewesen war. Von 100 Matchpartien hatte AlphaZero 28 gewonnen und keine verloren, bei 72 Remisen, was einer Erfolgsquote von 64 % entspricht. Kritisiert wurden die starre Zeitregelung von einer Minute pro Zug, die geringe Speicherkapazität von 1 Gigabyte für die Hashtables und der Verzicht auf Endspieldatenbanken. Auch die Vergleichbarkeit der Hardware warf Fragen auf, und Programmierer wiesen darauf hin, das Stockfish nicht für das Spielen ohne Eröffnungsbuch konzipiert sei.
Anscheinend hat Deep Mind die Kritik ernstgenommen, denn schon im Januar 2018 starteten neue Matchserien, über die allerdings erst jetzt, am 8.12.2018, mit einem zweiten Arbeitspapier, quasi als Fortschreibung des ersten, berichtet wurde. In der neuen Matchserie spielte AlphaZero 1000 Partien gegen Stockfish 8 mit einer Bedenkzeit von je 3 Stunden für die Partie und 15 Sekunden pro Zug. Für die Hashtables standen Stockfish 32 Gigabyte zur Verfügung, ebenso wie 6-Steiner-Endspieldatenbanken. Dabei orientierte man sich an den Vorgaben für die TCEC-Weltmeisterschaft[2] und ließ sowohl Stockfish als auch AlphaZero auf Rechnern mit 44 CPUs (=Prozessor-Kerne) laufen, wobei AlphaZero außerdem für sein neuronales Netz 4 TPUs (=TensorFlow-Prozessoren[3], die maschinelles Lernen beschleunigen) nutzen konnte. Dieses Match, das wiederum ohne Eröffnungsbuch ausgetragen wurde, gewann AlphaZero mit einer Erfolgsquote von 57,45 %, die sich ungewöhnlicherweise wie folgt zusammensetzt: 155 Siege bei 6 Niederlagen und 839 Remisen.[4]
Von diesem Vergleich veröffentlichte Deep Mind 110 Partien[5], von denen wiederum Großmeister Matthew Sadler 20 als besonders beachtenswert und beispielhaft empfahl. Die Nummer 1 der Auswahl ist jene Englisch-Partie, die wie eine Bombe einschlug und zu der Sadler nach einer gelungenen allgemeinverständlichen Videopräsentation abschließend bemerkte:
„....When we analysed together, Demis Hassabis had the best description. He said that this would [be] like chess from another planet... and – you know – this is absolutely true. That really describes my feelings, when I saw this game for the first time. Just the confidence to sacrifice two pawns in an early stage without having any concrete follow-up... just general pressure... and then this working out how to involve all your pieces... where your king has to be... how you get your bishops involved... moving from the kingside to the queenside... back to the centre... then to the kingside... consolidating the centre... and then finding that last unit... that pawn!... bearry that in my mind... and then throwing it for[ward]... that last minute to tip Black over the edge! It‘s a truly magnificent game, and I can‘t think of any other player in the world, who gonna play a game like that.“[6]
Ein starkes Statement von einem Weltklassespieler! Nicht weniger sehenswert und instruktiv sind die Videos von Daniel King[7] und Anna Rudolf[8], um es bei diesen prominenten Beispielen zu belassen.
Allerdings, bei aller Euphorie... Es sind eine Menge Fragen offen geblieben. Welche konkreten Berechnungen lagen den Zugentscheidungen beider Seiten zugrunde? Wie tief wurde gerechnet? Wie war der Zeitverbrauch pro Zug? Welche gegnerischen Züge wurden vorausgesehen und wie wurden diese bewertet? Wo eigentlich kippte die Partie? Welche Züge waren es, die Stockfish in Nachteil brachten, und zeigte sich insgesamt irgendein Muster?
Außer der nackten Notation ist nichts über das beiderseitige Engineverhalten bekannt geworden, obwohl doch erst eine Analyse anhand von Detailinformationen Aufschluss über die Stärken und Schwächen bzw. die typischen Verhaltensweisen eines Programms geben kann. Es wäre äußerst wünschenswert, wenn wenigstens von einigen Matchpartien beispielhaft Auszüge der Logfiles sowohl von AlphaZero als auch von Stockfish veröffentlicht würden.
Ja, die „Logfiles“... Klingt ein wenig nach Kasparow und DeepBlue. Aber don‘t mind, wir zweifeln hier nichts an, wollen einfach nur mehr wissen.
Was AlphaZero betrifft, liegen die Prozesse der Zugauswahl und der Stellungsbewertung mangels einer vergleichbaren Testversion noch völlig im Dunkeln, doch was Stockfish betrifft, das jedermann zugänglich ist, können wir in gewissem Maße die Rechenprozesse simulieren, was im Folgenden versucht und diskutiert werden soll[9].
Zunächst müssen jedoch die Voraussetzungen des Experiments geklärt werden. So muss man eine ungefähre Vorstellung davon gewinnen, welche durchschnittliche Rechentiefe Stockfish 8 in seinen Matchpartien unter den genannten Bedingungen erreicht haben könnte, wobei der Begriff „Durchschnitt“ je nach Stellung, Anzahl der Figuren und der Zugmöglichkeiten eine große Bandbreite umfassen kann. Mit 44 CPUs dürfte Stockfish 8 im Match gegen AlphaZero durchschnittlich auf eine Rechentiefe von etwa 38 (bzw. 34 bis 42) Halbzüge gekommen sein. Dies ergeben Testpartien auf einem viermal langsameren Rechner mit 12 CPUs[10] bei einer zum Ausgleich etwas längeren Bedenkzeit (4 Stunden für 40 Züge mit „permanent brain“ statt 3 Stunden für die gesamte Partie). Das kann im Einzelfall bei vollem Brett schwanken zwischen etwa 34 bis 42 Halbzügen.[11] Bei weniger Figuren auf dem Brett, also vor allem im Endspiel, aber auch bei variantenarmen Stellungen liegt der Durchschnitt häufig bei 50 und mehr Halbzügen, um in etwa eine Größenordnung anzugeben.
Wenn der gegnerische Zug von Stockfish bereits ausgiebig vorausberechnet wurde und die Zwischenergebnisse im Arbeitsspeicher bzw. den zugeteilten „Hastables“ abgelegt sind, kommt das Programm schneller in große Rechentiefen, als wenn es überrascht wurde und nochmal von vorn rechnen muss. Größe und Funktionsweise der Hashtables spielen deshalb bei der Nutzung der Bedenkzeit eine entscheidende Rolle.
Das Analysieren mit einem Programm geschieht üblicherweise mit der Einstellung „Daueranalyse“, die eben völlig unabhängig davon läuft, welche Seite gerade am Zug ist. In Matchpartien zwischen Engines gibt es zwar auch diese Möglichkeit („permanent brain“), doch wird diese häufig, wie auch bei der TCEC-Weltmeisterschaft, abgeschaltet, wenn das Match auf einem und demselben Rechner (also auf einer identischen Hardware) läuft. Damit das am Zuge befindliche Programm die volle Rechenkraft nutzen kann, darf die gegnerische Engine vorübergehend keine Zugberechnungen durchführen. Stockfish 8 und AlphaZero konnten also in ihrem Match die gegnerische Bedenkzeit nicht zum Vorausrechnen („pondern“) nutzen.
Für die Untersuchung der in Frage stehenden Matchpartie sollen dies nur Rahmenüberlegungen sein, um ganz grob einen Bereich von Rechentiefen abzustecken, in dem Stockfish 8 zu bestimmten Bewertungen und Zugempfehlungen kommt. Allerdings wollen wir etwas über das Potenzial von Stockfish 8 erfahren und lassen das Programm daher im Zweifelsfall öfter auch mal etwas länger rechnen, um zu testen, ob es noch zu relevanten Änderungen der angezeigten Hauptvariante kommt oder nicht. Auch parallele Berechnungen im Mehrvariantenmodus können zusätzlichen Aufschluss geben. Alle Logfiles für alle berechneten Züge werden komplett gespeichert, was bedeutet, dass wir für jeden Zug alle berechneten Tiefenstufen von 1 bis „x“ (z.B. 45) archivieren, um den Verlauf der Analysen möglichst genau nachverfolgen zu können. Das Infomaterial pro Partie umfasst daher mehrere hundert Druckseiten.
Dieses vorausgeschickt, nähern wir uns nun der vielzitierten Partie unter der Fragestellung, was Stockfish 8 und Stockfish 10 hier sehen und nicht sehen, wie sie einzelne Züge und Varianten bewerten und was letztlich zur Niederlage von Stockfish 8 geführt hat.
AlphaZero - Stockfish 8 [A17]
Computer Match ohne Eröffnungsbuch, 18.01.2018
Kommentar: Arno Nickel / Stockfish
1.Sf3 Sf6 2.c4 e6 3.Sc3 Lb4 4.Dc2 0–0 5.a3 Lxc3 6.Dxc3
Diese bekannte Theoriestellung kam in den veröffentlichten 110 Matchpartien elfmal zwischen AlphaZero und Stockfish 8 mit der gleichen Farbverteilung aufs Brett. Fünfmal gewann AlphaZero, sechs Partien endeten remis. In 3 Partien zog Stockfish 6...a5, in 8 Partien (etwas erfolgreicher) das solidere 6...d6 mit der Folge 7.b4 e5. Der meistgespielte Zug in der menschlichen Turnierpraxis ist 6...b6.
Es ist nicht bekannt, wie oft die Stellung in den 1000 Matchpartien insgesamt vorkam und mit welcher Ergebnisstatistik. Ebenso ist nicht bekannt, wovon Änderungen in der Zugwahl (hier z.B. ob 6...d6 oder 6...a5) abhingen, wenn Stockfish sich doch alle Züge selbst errechnete und kein Turnierbuch benutzte.
6...a5 7.b4 d6 8.e3N
In den 23 Partien laut der Online-Datenbank von ChessBase (Stand 4.1.2019) folgte hier fast ausschließlich 8.Lb2 mit der Antwort 8...e5 oder 8...axb4.
8...Se4
Diese Spielweise wählt Stockfish 8 durchgehend in unserer Simulation, während Stockfish 10 (zum Vergleich) 8...e5 vorzieht. Beide bewerten die Stellung als ziemlich ausgeglichen (0.00–0.10).
9.Dc2
Stockfish 8 sieht hier keinen großen Unterschied zwischen 9.Db2 oder 9.Dc2 und zeigt Varianten an, in denen Schwarz bald e6–e5 zieht.
9...Sg5 10.b5
Stockfish 8 rechnet hier mit 10.Sxg5 und bewertet die Stellung in Tiefe 42 mit 0.06 für Weiß. Der Zug 10.b5 vermeidet Vereinfachungen am Damenflügel und lädt Schwarz zu einem Bauerngewinn auf f3 ein, wie es in der Partie auch tatsächlich kommt. Stockfish 8 und 10 sind von dem Bauernopfer nicht besonders beeindruckt und bewerten die Stellung weiterhin als ausgeglichen.
Von Sadler und anderen Kommentatoren wird angenommen, dass dieser dynamische Stellungstyp AlphaZero besonders liegt. Das Programm verfügt über das Läuferpaar, und es ist noch völlig offen, was im Zentrum passieren wird. Jedenfalls droht noch keine Verflachung durch fortgesetzten Figurentausch oder Abriegelungen.
10...Sxf3+ 11.gxf3 Df6
12.d4
Diesen Bauernzug bewerten Stockfish 8 und 10 als leicht vorteilhaft für Schwarz (–0.28 bzw. 0.46 in Tiefe 37), während sie die Stellung nach 12.Lb2 Dxf3 13.Tg1 für ausgeglichen halten. Solche feinen Bewertungsunterschiede muss man nicht besonders ernstnehmen. Sie ändern sich häufig im Laufe der Analyse und bilden eine Art Hintergrundrauschen. Richtig zur Sache geht es zwischen den Engine-Giganten erst 10 Züge später.
12...Dxf3 13.Tg1 Sd7 14.Le2
Wiederum würden Stockfish 8 und 10 mit Weiß Lc1–b2 bevorzugen und gehen davon aus, dass Schwarz nach 14.Le2 Df6 etwas besser steht.
14...Df6 15.Lb2 Dh4
Nachdem Lb2 schließlich geschehen ist, strebt Stockfish 8 mit der Dame eine aktivere Position auf h4 an und gibt in Tiefe 38 folgende Variante mit einer Bewertung von –0.36 zu seinen Gunsten an: 15...Dh4 16.Ld3 c6 17.a4 cxb5 18.axb5 Sf6 19.0–0–0 g6 an. Später soll d6–d5 folgen, um die Zentrumskontrolle zu stärken und den Läufer b2 einzuschränken.
Stockfish 10 weicht in Tiefe 35 von 15...Dh4 ab und bevorzugt sofort 15...c6 (–0.40/38).
16.Tg4
Eine kleine Überraschung, insofern Stockfish 8 eher mit 16.Tg3 rechnet und nach 16...f5 17.0–0–0 Sf6 18.Ld3 Dxh2 19.Kb1 g6 20.Tgg1 Dh4 21.Th1 De7 (–0.33/38) anzeigt. Die Bewertung ist kaum anders als nach dem gespielten 16.Tg4. Man kann nicht sagen, dass Stockfish 8 hier in irgendeiner Weise von weißen Angriffsvorbereitungen überrascht wird, denen ein besonders raffiniertes Konzept mit unerwarteten prohylaktischen Zügen zugrunde liegen würde.
16...Dxh2
Stockfish 8 nimmt das zweite Bauernopfer an, ist sich jedoch darüber im Klaren, dass Weiß positionell über gewisse Kompensation verfügt, weshalb die Bewertung eben moderat bleibt (–0.25/43). Ein Zusatztest zeigt, dass Stockfish 8 sich auch nach 16...Dh6 (–0.18/52) leicht im Vorteil sieht.
Stockfish 10 wechselt in Tiefe 33 von Dxh2 zu De7 (–0.36/40) und zeigt 17.a4 c6 an. Die neuere Stockfish-Version scheint weniger bereit zu sein, dem Gegner Initiative als Kompensation für Material einzuräumen.
17.Tg3
Stockfish 8 erwartet hier 17.Lf3 als Vorbereitung für die lange Rochade mit nachfolgendem Th1 (–0.40/43), ebenso Stockfish 10, der allerdings mit Bewertungsabschlag (0.00/43). Im Grunde ändert 17.Tg3 nicht viel, da AlphaZero später auch Lf3 zieht.
17...f5
Hier weicht Stockfish 8 im nachträglichen Test ab von der Partie, insofern f7–f5 erst nach 17...Dh1+ 18.Lf1 folgen soll: 18...f5 19.0–0–0 Dh4 (–0.34/38). Das sieht auch Stockfish 10 so.
18.0–0–0 Tf7
Beide Stockfish-Versionen sehen den Verlauf bis einschließlich 21...g6 voraus, Stockfish 8 mit einer für sich leicht vorteilhaften Bewertung von –0.45/42, Stockfish 10 dagegen mit 0.00.
19.Lf3 Dh4 20.Th1 Df6 21.Kb1
Dieser vorbereitende Königszug, der u.a. gelegentliches Tc1 ermöglicht und später mit Ka1 ergänzt wird, um dem weißfeldrigen Läufer das Feld b1 freizumachen, ist keineswegs eine Spezialität künstlicher Intelligenz, wie manche Kommentatoren vermuten oder suggerieren, sondern wird von Stockfish ebenso vorausgesehen.
21...g6 22.Tgg1
Stockfish 8 rechnet hier mit dem weniger nachhaltigen 22.Tgh3 und pendelt zwischen 22...Sb6, 22...a4 und 22...Tb8, immer noch mit leichtem schwarzen Vorteil (–0.45/40), während Stockfish 10 den Zug von AlphaZero, 22.Tgg1 erwartet (0.00/40).
Nach meinen Analysen mit Stockfish beginnt erst hier allmählich die kritische Phase – die Krise – der Partie. Die Engine-Bewertungen bleiben zwar weiterhin äußerst moderat, doch gewinnt man den Eindruck, dass die Verteidigung für Schwarz nach dem Partiezug 22...a4 allmählich schwieriger wird.
Der Raumgewinn durch den Bauernzug ist momentan nicht so wichtig wie die richtige Auffangstellung im Zentrum, wo Weiß unmittelbar davorsteht, mit e3–e4 vorzurücken, und Linienöffnungen anstrebt, um seine Läufer voll zur Geltung zu bringen. 22...Tg7, was Stockfish 8 in meiner Simulation durchgehend als Hauptvariante angibt (–0.51/40), wäre deshalb vorzuziehen gewesen, um g6 noch mehr zu überdecken und das Feld für f7 für die Dame freizuhalten.
22...a4?!
Wie bereits erwähnt, bevorzugt Stockfish 8 im Nachversuch 22...Tg7, übrigens auch Stockfish 10, der allerdings mit einer 0.00 Bewertung. Das heißt nun allerdings nicht, dass mit der Stockfish 8 Version im Match gegen AlphaZero irgendetwas faul gewesen wäre, sondern solche Abweichungen können aufgrund vieler Faktoren (vor allem Hashtables, Zeitmanagement, Zusammenarbeit der Prozessorkerne etc.) immer wieder vorkommen. Immerhin zeigt eine Mehrvarianten-Berechnung, dass Stockfish 8 den Zug 22...a4 mit kleinem Bewertungsabschlag an zweiter Stelle führt, während Stockfish 10 ihn im Mehrvariantenmodues ebenso wie 22...Tg7 mit 0.00 bewertet.
AlphaZero hätte nach 22...Tg7 wohl kaum selbst 23.a4 gezogen, da dies Stockfish erlaubt hätte, mit 23...Df7 nebst ...Sf6 und ....Ld7 seine Stellung zu konsolidieren, wie Stockfish 10 anzeigt (–0.71/40). Statt dessen hätte folgen können: 22...Tg7 23.e4 fxe4 24.Lxe4 Sb6 25.Ld3 (Nicht durchdringen wird: 25.Th6 Df7 26.Ka1 d5 27.Lxg6 hxg6 28.Thxg6 Txg6 29.Txg6+ Kf8 30.Th6 Dg7 31.Th7 Df6) 25...Ld7 26.f4 d5 und Schwarz steht zwar etwas unbequem, aber fest.
23.Ka1
Dieser Königszug wird von Stockfish 10 klar vorausgesehen, während er bei Stockfish 8 lange (bis Tiefe 36) an zweiter Stelle steht. Die ältere Stockfish-Version will zwar einerseits e3–e4 vorbereiten, aber andererseits, falls das wegen eines Einschlags auf f2 nicht geht, möglicherweise auch f2–f4 ziehen. So erklärt es sich, warum Stockfish 8 lange Zeit an dem zweifelhaften Zug 23.Lg2 herumdoktert und erst spät, ab Tiefe 36, zu 23.Ka1 wechselt (0.00/37). Wieder so ein Fall, wo Abweichungen zwischen der Partie und dem Simulationsversuch sogar naheliegen.
Stockfish 10 verliert sogar vorübergehend das Vertrauen in die schwarze Stellung, indem es in Tiefe 38 (mit einer allerdings ziemlich unklaren Variante) erstmals einen weißen Vorteil von 0.51 anzeigt: 23.Ka1 De7 24.e4 Sf8 25.Dd2 f4 26.e5 dxe5 27.Le4 exd4 28.Dxd4 e5 29.Dc3 Lf5 30.Lxb7 Te8 31.Ld5 Sd7 32.Lxf7+ Dxf7 33.Td1 . Nach dem in der Partie folgenden Zug 23...Tg7 kehrt Stockfish 10 aber zur 0.00–Bewertung zurück.
23...Tg7 24.e4
Nehmen oder nicht nehmen? Stockfish 8 liefert kein ganz klares Bild, weil 24...fxe4 und 24...f4 in unterschiedlichen Versuchen jeweils mit Bewertungen um 0.00 als Hauptvarianten angezeigt werden.
Stockfish 10 pendelt lange zwischen 24...Df7 oder 24...Df8 (letzteres mit der Folge 25.exf5 Dxf5 26.Le4 Df7 27.Lc1 d5!?) und der abgekürzten Folge 24...fxe4 25.Lxe4 Df7 26.Lc1 d5!?, alles um Bewertungen um 0.00 bis zu einem minimalem Vorteil für Weiß. Das Vorbeiziehen mit 24...f4 ist keine erste Wahl von Stockfish 10.
Das Schlagen auf e4 hat den Vorteil, einen weißen Zentrumsbauern zu beseitigen und eine gewisse Klärung herbeizuführen. Allerdings wird die Diagonale b1–h7 à tempo geöffnet, was im Sinne des Weißen ist.
24...f4
Die Stellung bleibt komplex und undurchsichtig. Weiß stehen im Zentrum viele Optionen offen (25.c5, 25.e5, 25.Td1), die alle eine äußerst präzise Verteidigung erfordern.
25.c5
Stockfish 8 verfolgt hier durchgängig 25.Td1 als Hauptvariante mit einer bis in hohe Rechentiefen (Abbruch bei Tiefe 47) stabilen Ausgleichsvariante.
Stockfish 10 verlässt 25.Td1 in Tiefe 40 und schwenkt zu 25.e5 über, das er zeitweise wieder verlässt, um später überwiegend dabeizubleiben, ebenfalls mit annäherndem Ausgleich.
Stockfish 8: 25.Td1 e5 26.c5 Sf8 (Stockfish 10 weicht hier ab: 26...dxc5 27.dxe5 De7 28.Dc4+ Kf8 29.Dc1 Sb6 30.Dxf4+ Tf7 31.Dh6+ Ke8 32.Lh5 gxh5 33.Dxh5 Le6 34.Thg1 Df8 35.f4 Td8 36.Tc1 Kd7 37.f5 Kc8 38.fxe6 Te7 etc. (0.24/40)) 27.cxd6 Dxd6 28.dxe5 De7 29.e6 Lxe6 30.Dc3 c6 31.Dxg7+ Dxg7 32.Lxg7 Kxg7 33.bxc6 bxc6 34.e5 Ta5 35.Lxc6 Txe5 36.Td4 Te2 37.Txf4 Ta2+ 38.Kb1 Txa3 39.Txa4 etc. (0.18/41).;
Stockfish 10: 25.e5 dxe5 26.dxe5 De7 27.Le4 Sf8 28.Dd2 mit verschiedenen Fortsetzungen des Schwarzen (28...c6, 28....Tb8, 28...Tf7) und nur leichtem weißen Vorteil.
25...De7∞
Beide Stockfish-Versionen bevorzugen nach kurzer Rechenzeit die Klärung im Zentrum mit 25...dxc5, um nach 27.dxc5 mit 27...e5 fortzsetzen, wobei der a-Bauer später für Gegenangriff mit Ausgleich geopfert werden soll. Der Zug 25...De7 wird später von Stockfish 8 vollauf mit einer 0.00–Bewertung rehabilitiert.
Stockfish 10 bewertet den Damenzug längere Zeit als vorteilhaft für Weiß, doch in größeren Rechentiefen bleibt davon nicht mehr viel übrig (0.22/43). Wenn allerdings 25...dxc5 tatsächlich forciert zum Ausgleich führen sollte, dann wäre dieses Verfahren wohl vorzuziehen gegenüber dem weniger klaren Damenzug.
Stockfish 8: 25...dxc5 26.dxc5 e5 27.Dc4+ Tf7 28.Dc3 De7 29.c6 Sc5
Analysediagramm
30.Dxe5 Dxe5 31.Lxe5 Kf8 32.Lc3 b6 33.Lb4 Kg7 34.Lxc5 bxc5 35.Tg5 Le6 36.Txc5 Td8 37.Kb2 Td2+ 38.Tc2 0.00 - Tiefe 27 bis 51!;
Stockfish 10: 25...dxc5 26.dxc5 e5 27.Td1 Sf8
Analysediagramm
28.Td5 Te7 29.Td8 h5 30.Le2 Td7 31.Te8 Te7.
26.Tc1
Der Turmzug wird von beiden Stockfish-Versionen ebenfalls als Hauptvariante im Bereich um 0.00 angezeigt.
26...Sf6
Hier konkurriert der Partiezug 26...Sf6 lange Zeit mit 26...Tf7, wonach Weiß dem Springer das Feld f6 mit e4–e5 verwehren kann. In diesem Fall bringt Schwarz den Springer später nach f8 und scheint laut Stockfish 10 ebenfalls das Gleichgewicht halten zu können. Der Zug 26...Sf6 ermöglicht aber gelegentlich ...Sd5 mit einer aktiveren Verteidigung.
Stockfish 10: 26...Tf7 27.e5 dxc5 28.d5 Sf8 29.d6 Dd8 30.Dxc5 c6 31.b6 Sd7 32.Dc4 Sxb6 33.Dd3 Sd7 34.Le4 Sf8 etc., und Schwarz hätte sich eingeigelt (0.00/49).;
In noch größeren Tiefen bietet sich folgendes Bild mit Stockfish 10:
1) 26...Sf6 27.cxd6 cxd6 28.e5 Sd5 29.The1 Tf7 30.Dc4 Ld7 31.Lxd5 exd5 32.Dxd5 Le6 33.exd6 Lxd5 34.dxe7 Te8 35.Te5 Tf5 36.Txf5 gxf5 37.Tc5 Lb3 38.Tc7 Kf7 39.Txb7 Txe7 40.Txe7+ Kxe7 etc. = (0.14/58);
2) 26...Tf7 27.Dc3 (verzichtet auf e4–e5) 27...Sf6 28.e5 Sd5 29.exd6 cxd6 30.Dc4 Sf6 31.cxd6 Dxd6 32.The1 Ld7 33.Te5 Tc8 (33...Sd5!?) 34.Tc5 Tb8 35.Te1 Te7 36.Tce5 Sd5 37.Dxa4 Tee8 38.Db3 Tbc8 etc. und Weiß bleibt am Drücker (0.32/57).
27.e5
Es macht für Stockfish 8 keinen großen Unterschied, ob sofort e4–e5 geschieht oder erst nach Zwischentausch auf d6. In beiden Fällen sieht das Programm ...Sd5 vor.
Stockfish 10 dagegen sieht nach 27.e5 dxe5 28.The1 einen zunächst zunehmenden, aber später wieder abnehmenden weißen Vorteil.
Stockfish 8: 27.cxd6 cxd6 28.e5 Sd5 29.The1 Tf7 30.Dc4 Sb6 31.exd6 Dxd6 32.Dc5 Dxc5 33.dxc5 Sd5 etc. (0.03/43);
Stockfish 10: 27.e5 dxe5 28.The1 Sd5 29.c6 Tb8 30.Lxd5 exd5 31.Txe5 Df8 32.cxb7 (32.Txd5 bxc6 33.bxc6 Lf5 34.Dxa4 h5; 32.Dxa4 bxc6 33.Txc6 h5 mit Gegenspiel) 32...Lxb7 33.Dxa4 g5 etc. (0.87/43).
Hier Neuansatz der Analyse mit Stockfish 10: 33...h5 34.Dc2 Ta8 35.Dd3 h4 36.Tg1 Df6 37.Teg5 Kf7 38.Df3 Td8 39.Lc1 Lc8 40.Te5 Kg8 41.Dxf4 Lf5 42.Dg5 Dxg5 43.Lxg5 Tb8 etc. (0.39/51).
27...dxe5 28.The1
28...e4?+–
Interpretiert man die Stockfish-Analysen richtig, so war 26...e4 letztlich der entscheidende Fehler, der nach einem spektakulären Showdown zum Verlust führte. Stockfish 8 würdigt im Unterschied zu Stockfish 10 den Zug 28.The1 nicht genügend und sieht nicht die Lawine, die nach 28...e4 29.Lxe4 Df8 30.d5 auf ihn zurollt. Beides hindert ihn zu erkennen, dass nur sofortiges 28...Sd5 eine Chance bietet, den Läufer b2 an der Entfaltung zu hindern und der schwarzen Stellung den fehlenden Halt im Zentrum zu geben.
Stockfish 8 rechnet in der Nachanalyse mit folgender Abwicklung in ein Schwerfigurenendspiel: 28...e4 29.Lxe4 Df8 30.c6? (30.d5!+–) 30...Sd5 31.Lxd5 exd5 32.Te5 b6 33.Txd5 Lf5 34.Dc3 Te8 35.Txf5 gxf5 36.d5 Td8 37.Te1 h5 38.Dc4 Td6 39.Lxg7 Dxg7+ etc. (0.00/45);
Stockfish 10 favorisiert durchgängig 28...Sd5, wie bereits angezeigt, wobei diese Variante nach 33.Dxa4 noch weiter überprüft und vertieft werden müsste, um zu einem endgültigen Urteil zu kommen: 28...Sd5 29.c6 Tb8 30.Lxd5 exd5 31.Txe5 Df8 32.cxb7 Lxb7 33.Dxa4 etc. (0.26/45)
29.Lxe4
Sofort nachdem 28...e4 geschehen ist, erkennt auch Stockfish 8, dass er deutlich in Nachteil gerät (0.67/38); Stockfish 10 bewertet den Nachteil noch krasser (1.51/38).
29...Df8
Die Dame verschwindet aus der e-Linie, wo sie im Visier des weißen Turms stand. Statt 29...Df8 30.d5 bevorzugt Stockfish 8 wie Stockfish 10 in der Nachanalyse 29...Df7, was zwar längerfristig nichts am Verlust ändert, aber etwas zäher erscheint. Andere Züge, wie 29...Sxe4, 29...Dd8, 29...c6 und 29...Ta5, fallen dagegen noch mehr ab (zwischen +2.36 und 3.43 für Weiß in Tiefe 45).
Stockfish 8: 29...Df7 30.d5 exd5 31.Ld3 Lg4 32.c6 (32.Dc3!? Tf8 33.c6 bxc6 und analog weiter wie in der Stockfish 10–Variante) 32...b6 33.f3?! (33.Dc3!? Tf8 34.Lb1+– vgl. Stockfish 10) 33...Lh5 34.Dc3 Lxf3 35.Dxf6 Dxf6 36.Lxf6 Tf7 37.Lg5 Lg2 38.Tc2 Le4 39.Lxe4 dxe4 40.Txe4 f3 41.Tf2 Tf5 42.Lf4 Txb5 43.Txf3 Tf8 etc. etc. 1.15/52 – dieses Endspiel sollte Weiß nach 44.Tc3 gewinnen;
Stockfish 10: 29...Df7 30.d5 exd5 31.Ld3 Ld7 32.c6 bxc6 33.bxc6 Lg4 34.Dc3 und im Unterschied zum Partiezug 29....Df8 kann nun der Turm a8 nach f8 ziehen, um den Springer f6 zu decken. 34...Tf8 35.Lb1 h6 36.f3 Lf5 37.Lxf5 gxf5 38.Te5 Sh5 39.Dd4 Tb8 40.Txd5 De6 41.Td7 Txb2 42.Dxb2 Kh7 (42...Sf6!? 43.Db8+ Se8 (43...Kh7 44.Txg7+ Kxg7 45.Dxc7+) 44.Td8 Te7 45.Kb1 h5 46.Db5 h4 47.Dxa4 h3 48.Dc2 Tg7 49.Da2+–) 43.Dd4 und die schwarze Stellung ist zunehmend hoffnungslos, auch wenn die Variante nach 29.Lxe4 mit 1.74/45 zunächst noch nicht so düster für Schwarz erscheint; mittlerweile steigt die Bewertung auf +3.00.
30.d5!
Wie bereits vorweggenommen, ist dies die entscheidende Öffnung der Diagonale a1–h8 und der Zentrumslinien.
In der Videoanalyse von IM Anna Rudolf auf YouTube (vgl. Fn. 7) heißt es dazu, Stockfish habe den Zug auf ihrem PC auch nach sehr langer Rechenzeit nicht gefunden und noch nicht einmal unter den besten 10 gelistet.
Dazu ist zu sagen, dass es sehr relativ ist, was man unter „langer Rechenzeit“ versteht, aber unabhängig davon liegt hier ein Musterbeispiel dafür vor, wie sich Hashtables auswirken können. Ohne bzw. mit wenig Hashtables und einer Analyse „aus dem Stand“, die also erst hier beginnt und nicht den Partieverlauf bis hierher schon mitgerechnet hat, ist es tatsächlich für Stockfish 8 schwer, 30.d5 zu finden. Bei der im Match verwendeten Hardware dürfte das eigentlich keine Frage gewesen sein (es sei denn, die Hashtables wurden nach jedem Halbzug wieder komplett gelöscht, so dass das Programm immer wieder völlig neu anfangen musste).
Aufgrund der Nachanalyse sieht es eher so aus, dass der Zug einfach unterschätzt wurde, weshalb Stockfish 8 eben die Partie „zu Recht“ verlor, nachdem das Programm vorher nicht das Glück gehabt hat, zufällig in ein weniger riskantes Abspiel zu entrinnen. Stockfish 10 wäre dies nach den hier gezeigten Analysen sehr wahrscheinlich nicht passiert.
30...exd5 31.Ld3 Lg4 32.f3
32...Ld7
Stockfish 8: 32...Lxf3 33.Tf1 Le4 34.Txf4 Tf7 35.c6 bxc6 36.Tcf1 cxb5 37.Txf6 Txf6 38.Txf6 De7 etc. (1.34/40);
Stockfish 10: 32...Lxf3 33.Tf1 Le4 34.Txf4 Tf7 35.c6 bxc6 36.Tcf1 De7 37.Txf6 Txf6 38.Txf6 cxb5 etc. (1.85/41).
33.Dc3 Sh5
Stockfish 8: 33...Sh5 34.c6 bxc6 35.bxc6 Lf5 36.Lxf5 Dxf5 37.Te5 Df7 38.Tce1 Td8 39.Db4 Df8 40.Dxa4 etc. (1.75/42);
Stockfish 10: 33...Sh5 34.Te5 c6 35.Tg1 Sf6 36.Teg5 Te8 37.Dxf6 Dxf6 38.Lxf6 etc. (3.14/42).
34.Te5 c6 35.Tce1
Stockfish 8: 35.Tg1 Sf6 36.Teg5 Se8 37.b6 Le6 38.Dd4 Df7 39.Te1 Kf8 40.Tge5 Ld7 41.Th1 Le6 42.Th4 Ke7 43.Th2 Kf8 44.Te1 Td8 45.De5 Td7 46.Dxe6 Dxe6 47.Txe6 etc. (2.54/42);
Stockfish 10: 35.Tg1 Sf6 36.Teg5 Te8 37.Dxf6 Dxf6 38.Lxf6 Te3 39.Lxg7 Txd3 40.bxc6 Txa3+ 41.Kb2 Tb3+ 42.Kc2 bxc6 43.Lc3 etc. (3.83/42).
35...Sf6
Hier wittert Stockfish 8 noch einmal Morgenluft, nachdem 35.Tg1 nicht geschehen ist.
Stockfish 8: 35...Sf6 36.T5e2 Tf7 37.b6 Dh6 38.Tg1 Dh5 39.Dc2 d4 40.Lxd4 Te8 41.Txe8+ Sxe8 42.Lc4 Kf8 43.Lxf7 Kxf7 44.De4 etc.( 0.75/44); realistischer ist aber die Bewertung von Stockfish 10, der die gleiche Variante mit Zugumstellung anzeigt (1.93/44).;
Stockfish 10: 35...Sf6 36.b6 Tf7 37.T5e2 Dh6 38.Tg1 Dh5 39.Dc2 d4 40.Lxd4 Te8 41.Txe8+ Sxe8 42.Lc4 Kf8 43.Lxf7 Kxf7 etc. (1.93/44).
36.Dd4 cxb5
Stockfish 8 hat 36.Dd4 nicht erwartet und wähnt sich lange Zeit in Sicherheit (0.00!), bis er in Tiefe 43 die Stärke des Manövers Ld3–b1–a2 erkennt (als Antwort auf 36...cxb5) und die Bewertung plötzlich kippt (1.27/44). 36...cxb5 37.Lb1 (T43 noch 0.00);
Stockfish 10 vermeidet die Demontage der schwarzen Bauernstruktur, gerät aber anderweitig in ein verlorenes Endspiel: 36...Tf7 37.Tg1 Te8 38.Teg5 Tg7 39.Dxf6 Dxf6 40.Lxf6 Te3 41.Lxg7 Txd3 42.bxc6 Txa3+ 43.Kb2 Tb3+ 44.Kc2 Lxc6 45.Lh6 Kf7 46.T5g4 Txf3 47.Txf4+ etc. (2.62/42); Daniel King hat in seinem You Tube Video zu dieser Partie (vgl. Fn. 6) folgende hübsche Widerlegung von 36...Te8 angegeben, die allerdings von Stockfish 8 im Handumdrehen erkannt wird, weshalb er eben 36...cxb5 gezogen hat. Falls also 36...Te8 , so 37.Txe8 Sxe8 38.b6 h5 (was sonst?!) 39.La6
Analysediagramm
39...bxa6 (oder 39...Lc8 40.Txe8 Dxe8 41.Dxg7#; bzw. auch 39...Kh7 40.Txe8 Lxe8 41.Dxg7+ Dxg7 42.Lxg7 Kxg7 43.Lxb7+–) 40.b7 Sc7 41.b8D Dxb8 42.Dxg7#
37.Lb1
Wer annimmt, 37.Lb1 wäre eine ureigene Spezialität von AlphaZero, liegt falsch. Die komplette nachfolgende Zugfolge in der Partie, um nicht zu sagen Exekution, wird bereits hier von Stockfish 10 bis zum 48. Zug vorhergesehen:
Stockfish 10: 37.Lb1 Lc6 38.Te6 Tf7 39.Tg1 (39.Dxf4 wird von Stockfish 8 in der Vorausberechnung nach 36...cxb5 angezeigt (1.93/43)) 39...Dg7 40.Dxf4 Te8 41.Td6 Sd7 42.Dc1 Tf6 43.f4 De7 44.Txf6 Sxf6 45.f5 De3 46.fxg6 Dxc1 47.gxh7+ Kf7 48.Lxc1 (48.Txc1 (siehe Partie)) 48...Sxh7 49.Lxh7 etc. (4.30/41).
37...Lc6 38.Te6 Tf7 39.Tg1 Dg7
40.Dxf4
Inzwischen klettert auch die Bewertung von Stockfish 8 in Tiefe 43 auf 3.43 zugunsten von Weiß. Es bleibt zwar instruktiv, wie die Gewinnrealisierung funktioniert, doch ist dies nicht mehr Gegenstand dieser Analyse, die sich ausschließlich mit dem Verhalten von Stockfish 8 und dem Potenzial von Stockfish 10 beschäftigte.
40...Te8 41.Td6 Sd7 42.Dc1 Tf6 43.f4 De7 44.Txf6 Sxf6 45.f5 De3 46.fxg6 Dxc1 47.gxh7+ Kf7 48.Txc1 Sxh7 49.Lxh7 Te3 50.Td1 Ke8 51.Ka2 Ld7 52.Ld4 Th3 53.Lc2 Le6 54.Te1 Kd7 55.Kb2 Tf3 56.Te5 Tg3 57.Te3 Tg2 58.Kc3 Tg4 59.Tf3 Ke8 60.Tf2 Tg3+ 61.Kb4 Tg4 62.Td2 Ld7 63.Ka5 Tf4 64.Le5 Tf3 65.Td3 Tf2 66.Ld1 Lc6 67.Kb6, 1–0
Die Partie zum Nachspielen
Ziehen wir ein erstes Fazit. Stockfish 8 und 10 zufolge lag die Ursache für die Niederlage nicht in der zweischneidig anmutenden Eröffnung, sondern in einer fehlerhaften Behandlung des Mittelspiels, etwa in der Phase zwischen 22....a4 und 28...e4.
Stockfish 8 hat zwar die meisten gegnerischen Züge und Manöver vorausgesehen, deren Angriffspotenzial aber teilweise unterschätzt und es daher versäumt, rechtzeitig eine Klärung im Zentrum vorzunehmen und dadurch insbesondere das weiße Läuferpaar zu neutralisieren. Nach einigen ungenauen bzw. unklaren Zügen des Schwarzen leitete das dritte Bauernopfer 30.d5! den entscheidenden weißen Durchbruch ein.
Es ist auffällig, dass Stockfishs Probleme meistens mit Bauernzügen, sowohl eigenen als auch gegnerischen, d.h. im weiteren Sinne mit der Bauernstruktur und dem Zusammenspiel der Figuren mit den Bauern zusammenhingen. Stockfish 10 scheint in dieser Beziehung weniger anfällig zu sein als die zwei Jahre ältere Version 8 und übrigens auch deren Vorgängerversionen.
Mit etwas mehr Rechenkraft (z.B. mit der Einstellung „permanent brain“) wäre Stockfish 8 vielleicht in der Lage gewesen, das Schlimmste abzuwenden und sich in ein glückliches Remis zu retten. Ausgeschlossen ist dies nicht. Stockfish 10 dagegen hätte die Partie wahrscheinlich auch unter den gegebenen Matchbedingungen (Hardware, Zeitmodus etc.) remis halten können.
Von außen betrachtet erscheint es so, als ob AlphaZero mit langfristigem strategischem Kalkül spielt, vergleichbar der hochentwickelten Intuition eines menschlichen Schachspielers, der zugleich „weiß“ und fühlt, dass seine Initiative dieses und jenes Bauernopfer wert ist, ohne bereits wissen zu können, wie der Gewinnplan später im einzelnen aussehen wird. Gleichwohl ist diese Methode trotz des gigantischen Hardwareeinsatzes, um Spielverläufe mithilfe des neuronalen Netzes zu simulieren und die wahrscheinlich erfolgreichsten Züge zu ermitteln, keineswegs unfehlbar, so dass man auf weitere hochkarätige Matchs mit den auf Rechenkraft optimierten Engines wie Stockfish, Komodo, Houdini und andere gespannt sein darf. Dafür wäre es aber wünschenswert, den Hardwarenachteil auf Seiten der traditionellen Engines, die eben nicht über AlphaZeros TPUs verfügen, stärker als bisher zu berücksichtigen.
Fritz 16
Sehen Sie das? Fritz 16 freut sich schon auf Sie! Und Sie werden mit dem neuen Fritz auch viel Spaß haben. Freuen Sie sich auf viele packende Partien und Siege mit "Easy Play" und der "Assisted Analysis"!
Mehr...
Fußnoten:
[2] TCEC = Thoresen Chess Engines Competition, ist seit 2010 die international anerkannte inoffizielle Computer-Schachweltmeisterschaft, die Stockfish seit 2014 mehrmals gewonnen hat.
[3] Dabei handelt es sich um von Google eigens entwickelte Hardware-Chips, die bestimmte mathematische Aufgaben (sog. Matrixmultiplikationen), die beim Trainieren und Betreiben eines neuronalen Netz anfallen, bedeutend schneller und effizienter lösen als CPUs und auch als GPUs (Grafikprozessoren). Private Anwender nutzen auf ihren PCs leistungsstarke GPUs für die gleichen Zwecke, da sie Fließkomma-Multiplikationen viel schneller ausführen, als CPUs das können. Für Fließkomma-Multiplikationen sind die Grafikkarten speziell im Hinblick auf 3D-Videospiele optimiert.
EineTPU der ersten Generation soll 80- bis 100mal schneller sein als die besten heute am Markt erhältlichen GPUs. Die Steuerung der neuronalen Auswahl aussichtsreicher Zugkandidaten mit einer solchen Hardware bildet die Grundlage, auf der mit Hilfe der CPUs mögliche Partieausgänge simuliert werden (Monte Carlo Tree Search). Zum Entwickeln seines neuronalen Netzes hat AlphaZero 5000 TPUs der ersten Generation eingesetzt und für das eigentliche Training 64 TPUs der zweiten Generation.
[4] Es gab laut dem Arbeitspapier in Science außerdem weitere Matches mit Eröffnungsvorgaben wie bei der TCEC-Weltmeisterschaft und Matches gegen andere Stockfish-Versionen, allerdings noch nicht gegen die derzeit aktuelle Version 10, die erst im Dezember 2018 herauskam. In der veröffentlichten Datenbank mit den 110 Partien ist für alle Partien das Datum 18.1.2018 angegeben, was vermutlich für den Beginn der Matchserie steht und nicht für das Enddatum.
[6] Quelle: https://www.youtube.com/watch?v=bo5plUo86BU (15 min., Transkription A.N.)
Bereits für Januar 2019 ist von Matthew Sadler und Natasha Regan bei NewInChess ein Buch mit dem Titel Game Changer: AlphaZero's Groundbreaking Chess Strategies and the Promise of AI angekündigt.
[9] Aspekte zur Arbeitsweise von AlphaZero bleiben hier unberücksichtigt, sie sind bereits in vielen anderen Artikeln dargestellt worden. Bekanntlich hat sich AlphaZero das Schachspielen in wenigen Stunden selbst beigebracht, allein aus Kenntnis der Spielregeln. Statt Stellungen mit einem maschinengerecht implementierten Schachwissen zu bewerten und per Ausschlussverfahren Variantenbäume zu durchkämmen, entwickelt AlphaZero die Spielalgorithmen fortwährend im Selbsttraining und spielt seine Züge aufgrund von Wahrscheinlichkeitsberechnungen simulierter Partieverläufe aus. Nicht die reine Rechenkraft ist die Stärke der „künstlichen Intelligenz“, sondern die Funktionsweise des neuronalen Netzes, das die Selektion intelligenter Zugkandidaten und das Ausschließen schwacher Züge steuert.
Unabhängig von AlphaZero ist 2018 mit Leela Chess Zero, über das auch ChessBase berichtete, ein Open-Source-Schachprojekt angelaufen, dessen Engine ebenfalls mit einem neuronalen Netz arbeitet und nach derzeitigem Stand mit Stockfish & Co. bereits auf Augenhöhe spielt. Mit diesem Projekt wird es möglich sein, viele Aspekte der neuen Technik anhand von ausführlicher dokumentiertem Partienmaterial zu untersuchen.
[10] Xeon E5-2670v3, 2,3 GHz (Einführungsjahr 2014)
[11] Der Schachserver chess.com bietet auf seiner Website 20 Partien zum Download an, die mit Stockfish 10 auf einem „starken Rechner“, wie es heißt, analysiert wurden. Alle Züge wurden mit Rechentiefe 30 evaluiert. Das reicht allerdings bei weitem nicht aus, um viele der Stellungsprobleme in den Griff zu bekommen. Im Match selbst dürfte die Rechentiefe, wie bereits dargelegt, deutlich größer gewesen sein.
(Quelle: https://www.chess.com/de/news/view/AlphaZero-gewinnt-erneut-ein-1000-partien-duell-gegen-Stockfish)