27.9.2019 - 2 Kommentare

Berechnung des Unberechenbaren: Schach und Computer

Geschrieben von Christoph Fleischer

Dieser Artikel ist auch als Audio-Version verfügbar. Sie können diese einerseits direkt unter dieser Anmerkung anhören, oder Sie abonnieren den Podcast mit all unseren Artikeln zum Zuhören.

Computer spielen zwar schon seit einer Weile besser Schach als Menschen, jedoch nicht perfekt. Wie schaffen es Programme gute Züge zu finden, wenn Schach zu komplex ist, um alle existierenden Möglichkeiten berechnen zu können?

Im letzten Artikel dieser Serie versuchte ich eine Antwort auf die Frage vorzuschlagen, inwiefern Menschen in der Lage sind sinnvoll Schach zu spielen. Der Mathematiker Claude Shannon schätzte 1950 die Anzahl der möglichen Schachspiele auf eine größere Zahl, als die Anzahl von Atomen im beobachtbaren Universum. Er wollte dafür argumentieren, dass es zum Scheitern verurteilt wäre, Schach durch das Durchrechnen aller Möglichkeiten perfekt zu lösen. Bei solcher Mannigfaltigkeit drängt sich die Frage auf, ob Menschen eine sinnvolle Ordnung in dieses Chaos bringen können. Weder Mensch noch Maschine ist bis auf Weiteres in der Lage alle Möglichkeiten gleichzeitig zu berücksichtigen.

An dieser technischen Beschränkung hat sich auch 70 Jahre nach Shannons Veröffentlichung nichts wesentlich verändert, obwohl Computer in der Zwischenzeit um ein Vielfaches leistungsfähiger geworden sind. Wodurch aber legitimiert dann ein Schach-Programm seine Analysen, wenn es nicht in der Lage ist alle möglichen Spielfortsetzungen in der Bewertung zu berücksichtigen? Die einfache Antwort kann gleich vorweg gegeben werden: Auch wenn Schach-Programme in der Regel den besten menschlichen Spielern seit Ende der 1990er Jahre überlegen sind, spielen sie schlicht und ergreifend kein perfektes Schach. Dazu wären sie nämlich erst in der Lage, wenn sie alle möglichen Fortsetzungen berücksichtigten könnten. Eine etwas ausführlichere Antwort folgt jetzt.

IDEEN
KOMPRIMIERT
1 Schach ermöglicht zu viele verschiedene Zug-Varianten, als das Computer in der Lage wären, alle Möglichkeiten durchzurechnen und sich dann für den besten Zug zu entscheiden.
2 Deswegen müssen Programmierer eine Funktion definieren, die auf Basis von festgelegten Kategorien und Gewichtungen möglichst jede potentielle Stellung sinnvoll bewerten kann.
3 Computer spielen entsprechend kein perfektes Schach. Die Kombination aus der festgelegten Funktion und enormer Rechenleistung produziert statistisch stärkeres Spiel als die besten Menschen.

Zur Realisierung eines Schachprogramms stehen zwei grundsätzlich verschiedene Arten von technischen Architekturen zur Verfügung. Diese werden als „hand-written evaluation function“ oder „neural network“ bezeichnet. Neuronale Netzwerke nehmen eine immer prominentere Rolle bei der Entwicklung von künstlicher Intelligenz ein, und sind selbst bei den neuesten Fortschritten von Schach-Programmen nicht mehr wegzudenken. Beispielsweise beeindruckte DeepMind, ein Unternehmen des Alphabet Konzerns, KI-Entwickler und Schachspieler Ende 2018 gleichermaßen, als ein neuronales Netzwerk namens AlphaZero nach nur 9 Stunden Training in der Lage war, das bis dato stärkste Schach-Programm Stockfish auf der Elo-Skala, ein Maß für die Spielstärke, zu übertreffen. Es gab zwar einiges an Kontroverse rund um diese Meldung, da nicht klar war, ob die neueste Version von Stockfish verwendet wurde, oder ob die eingesetzte Hardware eine der beiden künstlichen Intelligenzen bevorteilte, aber unabhängig davon ist jedenfalls klar, dass neuronale Netzwerke eine wesentliche Rolle in der Zukunft von Schach-Analyse spielen werden.

Wie neuronale Netzwerke an Schach herangehen wird jedoch erst Thema des nächsten Artikels dieser Serie sein. Zunächst möchte ich mich auf „hand-written evaluation functions“ wie das erwähnte Stockfish-Programm konzentrieren. Im Folgenden werden Programme dieser Art als „Engines“ bezeichnet, da dieser Begriff gleichermaßen kürzer und geläufiger ist.

Funktionsweise einer Engine

Eine Engine bildet eine eingegebene Schachstellung auf eine Zahl ab. Eine positive Zahl bedeutet, dass das Programm Weiß in Vorteil sieht, während eine negative Zahl Schwarz besser sieht. Eine Null steht für eine ausgeglichene Stellung, in der keine der beiden Seiten ein Vorteil zugesprochen werden kann. Zu der Bewertungszahl gibt eine Engine auch eine entsprechende Fortsetzung des Spiels an, auf der die Bewertung basiert und die als bestes Spiel für beide Seiten von dem Programm identifiziert wurde. Das durch die Engine vorgeschlagene „beste Spiel beider Seiten“ entspricht der Computer-Analogie von „nach bestem Wissen und Gewissen“, denn sie spielt kein perfektes Schach, dazu jedoch im weiteren Verlauf mehr.

Die Schwierigkeit bei dem Design einer Engine ist die Bestimmung der Art und Weise wie die Bewertungszahl erzeugt wird. Sie resultiert aus einem komplizierten Prozess, in dem verschiedene Parameter mit unterschiedlichen Gewichtungen auf die Schachstellung angewendet werden und anschließend aufsummiert werden. Das Bestimmen von sinnvollen Parametern und das Finden der richtigen Gewichtungen fordert dem Programmierer selbst ein profundes Schachverständnis ab, oder verlangt zumindest nach einer Zusammenarbeit mit guten Schachspielern. Schach ist ein facettenreiches Spiel und es wird nichts geringeres Gesucht als ein allgemeines Regelwerk, das auf jede Schachstellung anwendbar ist, und möglichst realistische Bewertungen liefern soll.

Die verschiedenen Engines unterscheiden sich unter anderem bezüglich der konkreten Auswahl solcher Parameter sowie deren Gewichtungen. Die Gewichtung kann sich unterscheiden, selbst wenn die Parameter grundsätzlich dieselben sind. Zum Beispiel wird jede Engine einen Wert für jede Figur festlegen müssen, da das Programm realisieren sollte, dass eine Dame wertvoller ist als ein Bauer. Analog wird menschlichen Anfängern eine ähnliche Orientierung an die Hand gegeben. In der Regel folgt diese den Werten:

FigurWert in Materialpunkten
Bauer1
Springer3
Läufer3
Turm 5
Dame9

Menschlichen Spielern ist bewusst, dass es sich dabei um lose Orientierungen handelt. Eine Engine braucht jedoch eine genaue Bestimmung, und diese müssen häufig bis auf einige Stellen hinter dem Komma verhandelt werden. Gleiches gilt für die Felder auf dem Schachbrett. Im Zentrum gesetzte Spielsteine tragen häufig mehr zum Sieg bei als am Rand geparkte. Entsprechendes behauptet der Spruch: „Ein Springer am Rand‘, bringt Kummer und Schand‘!“

Sind diese Werte einmal festgelegt ergibt sich jedoch gleich die nächste Problematik. Die Dynamik von Schach lässt eine solch dogmatische Bestimmung keinesfalls zu. Beispielsweise kann ein Bauer, der das gegenüberliegende Ende des Schachbretts erreicht hat, in eine beliebige Figur, das heißt auch eine Dame, verwandelt werden. Was ist zum Beispiel wenn ein Bauer ein Feld vor der Verwandlung in eine Dame ist, und die Chance besteht, mit einem Turm diesen Bauern zu eliminieren, auch wenn das bedeuten würde, dass dieser Turm verloren ginge? Sollte ein Spieler in dieser Situation den Bauern eliminieren, oder dem Gegner erlauben ihn für die Dame einzutauschen? Für das Beispiel gilt, dass es keine anderen Möglichkeiten oder Tricks gibt sich aus der Affäre herauszuziehen. es bestehen nur diese beiden Möglichkeiten. Ein Zusammenzählen der Materialpunkte kann ein Indiz für das Finden der besseren Entscheidung liefern. In Variante eins lässt der Spieler den Bauern gewähren und er verwandelt sich in eine Dame, die mit neun Materialpunkten zu Buche schlägt. Da Schach ein symmetrisches Spiel ist gilt: Der eine Spieler erhöht sein Konto um acht Materialpunkte (Nur acht, weil der Bauer, der einen Wert von eins hat, verloren geht!), ist gleichbedeutend mit, der andere Spieler reduziert sein Materialkonto um acht Punkte. Schlägt man stattdessen den Bauern mit dem Turm, dann gehen nur vier Materialpunkte verloren, beziehungsweise werden nur vier gewonnen (Der Turm ist fünf wert, und es geht wieder der Bauer verloren, der einen Punkt wert ist!). Was das Beispiel zeigen soll ist, dass auch wenn man sich darüber geeinigt hat, dass ein Bauer auf der Grundposition einen Materialwert von ca. eins hat, dann weiß man noch nicht, was derselbe Bauer für einen Materialwert auf der siebten Reihe hat, wenn er kurz davor ist in eine andere Figur eingetauscht zu werden. Gleiches gilt für die horizontale Ausrichtung der Bauern. Ist ein Bauer in der Mitte genauso viel wert wie ein Bauer am Rand? Die Erfahrung lehrt: Den größten Teil einer Schachpartie ist der Bauer in der Mitte mehr Wert, im Endspiel sind es häufig die Randbauern. Es ist eine sehr komplizierte Angelegenheit, denn alle Werte sind abhängig von den Umständen. Alle Parameter müssen entsprechend an allgemeine Regeln gekoppelt werden, die ebenfalls formuliert werden müssen, und entsprechend die Werte der Figuren dynamisch anpassen. Entsprechende Regeln müssen die Eigenheiten aller Spielsteine berücksichtigen. Beispielsweise scheinen Läufer besonders effizient auf langen und offenen Diagonalen, Türme mögen offene Linien auf denen keine Bauern stehen, und Springer sind gerne in der Mitte stationiert, vor allem dann, wenn sie auf einem entsprechenden Feld nicht mehr von einem gegnerischen Bauern angegriffen und so vertrieben werden können.

Wenn ein Kanon mit solchen Regeln bestimmt wurde, kann die Engine damit beginnen Stellungen nach den definierten Maßstäben zu analysieren und in eine Bewertungszahl aufzusummieren. Selbst mit den besten Parametern würde die Untersuchung jedoch fürchterliche Resultate liefern, wenn sie nicht mindestens bis zu einem gewissen Grad mögliche Fortsetzungen des Spiels berücksichtigen würde. Ein anschauliches Beispiel dafür ist die wahrscheinlich erste Engine, die von dem britischen Computer-Pionier Alan Touring entworfen wurde. Hier ist für alle Interessierten, ein englischsprachiges Youtube-Video des Schach-Youtubers kingcrusher, der zeigt, wie gut die Engine in einigen Probespielen abschnitt:

Die Engine musste noch ohne Computer auskommen, und benötigte einen menschlichen Kalkulator, der mit Stift und Zettel den nächsten Zug berechnet. Es ist durchaus beeindruckend, dass die Engine verhältnismäßig normal aussehende Züge produzieren kann. In dem Moment jedoch in dem man ein paar Züge vorausschauen müsste, kollabiert ihr Spiel komplett. Selbst absolute Schachanfänger haben eine gute Chance diese erste Engine zu schlagen, da es im Schach unerlässlich ist, bis zu einem gewissen Grad die Fortsetzungen der Partie für die Auswahl der eigenen Züge zu berücksichtigen. Perfektes Spiel wäre möglich, wären alle möglichen Fortsetzungen bekannt. Entsprechend kann man sagen: Umso mehr Züge weiter in so viele verschiedene Spielfortsetzungen wie möglich, umso besser. Das bedeutet analog für die technische Perspektive: Umso mehr Rechenzeit und -leistung, umso besser!

Da Schach numerisch betrachtet ein mächtiges Spiel ist, und Computer nicht in der Lage sind alle Spielfortsetzungen bei der Bewertung zu berücksichtigen, spielt die einer Engine zur verfügung stehende Rechenzeit eine der Schachuhren für menschliche Spieler vergleichbare Rolle. Genauso wie menschliche Spieler bei wenig verfügbarer Denkzeit schlechter spielen, leidet die Qualität der Bewertungen einer Engine bei kurzer Rechenzeit. In extremen Fällen kann menschliche Intuition dem Computer bei kurzer Taktung der Analysezeiten überlegen sein, wie der amerikanische Großmeister Hikaru Nakamura 2008 vorführte, als er die Engine Rybka in 271 Zügen besiegte. Mensch und Maschine bekamen jeweils insgesamt drei Minuten „Bedenkzeit“ für das gesamte Spiel. Nakamura wendete eine besondere Strategie an, die gegen menschliche Spieler nicht zum Erfolg geführt hätte. Sein Trick funktionierte in etwa so: Engines legen einen hohen Stellenwert bei der Evaluation einer Stellung auf die materielle Verteilung beider Seiten. Entsprechend wird ein Mehr an Material durch die Schach-Programme häufig überbewertet, so auch in diesem Fall. Nakamura verkeilte die Stellung dermaßen, dass kein Spieler mit Vorteil durchbrechen konnte. Währenddessen tauschte er Figuren jedoch so ab, dass Rybka eine bessere Materialbilanz als der amerikanische Großmeister hatte. Da Rybka der Ansicht war besser zu stehen, obwohl es sich offensichtlich um eine ausgeglichene Stellung handelt, die in einem Unentschieden enden müsste, forcierte die Engine einen Durchbruch, der zur unweigerlichen Niederlage für das Programm führte.

Es gibt zahlreiche Beispiele in denen Engines speziell gestaltete Stellungen zur Analyse vorgelegt werden, bei denen die Eigenart darin besteht, dass zwar eine Seite deutlich mehr Material als die andere hat, aber aufgrund von bestimmten positionellen Gründen Remis-Stellungen sind. Computer sind häufig nicht in der Lage die richtige Bewertung zu treffen. Natürlich werden die Algorithmen immer weiter verbessert, trotzdem konnten menschliche Analysten bisher noch jedesmal ähnliche Anomalien produzieren.

Da ein Computer nicht unendlich viel Rechenleistung und -zeit zur Verfügung hat, besteht neben den allgemeinen Regeln zur Einschätzung einer Schachstellung die Notwendigkeit weitere Regeln einzuführen, die die Verteilung der Rechenresourcen betreffen. Es ist beispielsweise sinnvoll bestimmte Bedingungen zu definieren, wann eine Engine aufhört einem bestimmten Ast des Spielbaums zu folgen. Das ist häufig dann der Fall, wenn die Evaluation für eine der beiden Seiten außerordentlich schlecht ausfällt, und ohnehin viele bessere Züge für beide Seiten als Alternativen zur Verfügung stehen würden. So optimiert die Engine den Einsatz ihrer Rechenleistung und untersucht nur Varianten, die für das bestmögliche Spiel beider Seiten relevant sind. Jedoch lässt ein solcher Ansatz ebenfalls Situationen zu, die zu erheblichen Fehleinschätzungen führen. Umso mehr Züge weiter eine Engine eine gegebene Stellung simuliert, umso „tiefer schaut sie in die Stellung“. Das wird als „Depth“ der Analyse bezeichnet. Generell lässt sich feststellen, dass umso höher die Tiefe der Analyse ist, umso mehr ist zu erwarten, dass die Bewertung der Engine sinnvoll ist. Wenn eine Engine nur oberflächlich eine Variante analysiert, dann kann es sein, dass, wenn nur einen Zug weiter geschaut worden wäre, der Computer festgestellt hätte, dass es eigentlich eine außerordentlich schlechte Idee ist diese Variante vorzuschlagen. Da die Engines aber in irgend einer Art und Weise aussortieren müssen, kommen so ab und zu extreme Fehleinschätzungen zustande.

Das ist vor allem bei so genannten Opfern der Fall. Ein Opfer bezeichnet im Schach das bereitwillige Aufgeben von Material um andere Vorteile zu erlangen. Das kann zum einen ein ganz konkreter kurzfristiger Vorteil sein, wie ein erfolgsversprechender Angriff, oder, und hier wird es für Computer und Menschen gleichermaßen kompliziert, ein langfristiger strategischer Vorteil. Computer evaluieren gerade letztere häufig falsch, da sie zu viel Wert auf Material legen, und, gleichzeitig Materialverlust ein häufiger Grund für das Ende einer Analyse ist.

Eine konkrete Situation in der dieser selektive Analyseabbruch fehlschlägt kann zum Beispiel folgendermaßen aussehen: Nehmen wir eine Schachstellung an in der eine Seite eine Figur opfert, also Material bereitwillig verliert, um einerseits die Struktur des Gegners zu korrumpieren und um andererseits in der Lage zu sein eine andere Figur auf ein bestimmtes Feld zu stellen. Nehmen wir weiter an, dass die daraus resultierende Stellung strategisch so ausgerichtet ist, dass die Seite, die das Material ursprünglich opferte, die andere Seite in eine Art Schwitzkasten genommen hat. Die Seite, die jetzt über mehr Material verfügt, kann sich nicht mehr wirklich aus diesem Griff befreien, aber er wird auch nicht sofort Matt gesetzt werden und er verliert auch nicht gleich Material zurück. Die Situation ist so, dass der Spieler, der das Material opferte in den nächsten Zügen immer mehr kleine Verbesserungen vornimmt, da der Gegner effektiv paralysiert ist, und so über eine beträchtliche Anzahl an Zügen eine gewinnende Stellung herbeiführen kann. Eine Engine würde ein solches Figurenopfer häufig nicht empfehlen, sondern seine Analyse beenden, da Material verloren wird und nicht klar ist, welchen unmittelbaren Vorteil es bringen würde. Partien in denen Menschen so etwas gelingt, gelten häufig als Sternstunden des Schachs, da es sehr schwer ist solche Möglichkeiten zu entdecken, und sie mit großem Risiko für den Spieler, der das Material opfert, verbunden sind.

Anweisungen, die Merkmale festlegen ab wann eine Analyse abgebrochen werden soll, sind jedoch insgesamt vorteilhaft. Während natürlich ein vollständig analysierter Spielbaum die Bewertung des Computers am besten legitimieren würde, würde dies eine nicht realisierbare Menge an Rechenleistung erfordern. Das Abbrechen der Analyse hat die grundlegende Idee, dass wenn als irrelevant eingestufte Varianten abgebrochen werden, mehr Rechenleistung für relevante Fortsetzungen zur Verfügung steht. Die einzige Frage ist nur, ob die Korruption der Bewertungen durch zu frühes Abbrechen von Analysen schwerer wiegt, als die Vorteile durch bessere Resourcennutzung. Die Antwort fällt zu Gunsten der Optimierung aus, da eine möglichst hohe Tiefe enorm wichtig für das Bewerten einer Schachstellung durch eine Engine ist, da eine Engine keine Intuition hat, und absolut darauf angewiesen ist, nur ihr selbstgeneriertes Wissen anzuwenden.

Dass der Ansatz der Engines so gute Ergebnisse liefert, offenbart bestimmte Eigenschaften von Schach als Spiel im allgemeinen. Strategie-Spiele haben in der Regel sowohl eine strategische, wie auch eine taktische Komponente. Die beiden Begriffe sind nicht synonym. Als strategisch werden langfristige Pläne bezeichnet, die vor allem qualitativer Natur sind und Ziele festlegen, sowie strukturelle Lösungen vorschlagen um diese Ziele zu realisieren. Taktik ist das konkrete und kurzfristige Lösen von Problemen. In einem Krieg könnte beispielsweise ein strategisches Ziel darin bestehen eine bestimmte Brücke zu erobern. Wie diese Brücke jedoch erobert wird, ist eine taktische Frage. Dass Computer so gute Ergebnisse gegen Menschen einfahren können, scheint nicht zuletzt an der Tatsache zu liegen, dass im Schach Taktik unter Umständen wichtiger ist als Strategie. In dem japanischen Brettspiel Go war es Computern deutlich länger vergönnt die Spielstärke der besten menschlichen Spieler zu erreichen. Während klassische Engines auch bis heute gegen die stärksten Spieler keine Chance haben, ermöglichte erst die Einführung neuronaler Netzwerke einen Sieg der Computer.

Der vor allem für den Ansatz einer Engine problematische Unterschied zwischen Go und Schach ist, dass Schach auf einem Acht-mal-acht-Feld und Go auf einem 19-mal-19-Feld gespielt wird. Das macht für die Berechnungen der verschiedenen potentiellen Spielfortsetzungen eine enorme Steigerung an benötigter Rechenleistung notwendig. Menschen hingegen können strategische Entscheidungen auf Basis ihrer Intuition und Erfahrung treffen und spielen überlegen auf Basis von Mustererkennung. Im Schach besteht eine analoge strategische Überlegenheit, jedoch kann sie nicht entsprechend in eine höhere Spielstärke übersetzt werden. Im frühen 20. Jahrhundert äußerte sich der deutsche Schachmeister Richard Teichmann entsprechend: „Schach ist zu 99% Taktik“. Während es nicht sinnvoll entscheidbar ist, wie das genaue Verhältnis zwischen Strategie und Taktik in Zahlen auszudrücken ist, kann zumindest festgestellt werden, dass reine taktische Überlegenheit im Schach einer rein strategischen vorzuziehen wäre.

Hilfsmodule

Menschen unterteilen den gesamten Verlauf einer Schachpartie häufig in drei Abschnitte: Eröffnung, Mittelspiel und Endspiel. Die Bewertungsfunktion einer Engine kann prinzipiell über jede mögliche Stellung eine Aussage treffen, gerade jedoch in der Eröffnung und im Endspiel sind diese häufig suboptimal. Der Grund warum diese Differenzierungen bestehen, liegt an deren Nützlichkeit, denn in den verschiedenen Abschnitten eines Schachspiels wird nach unterschiedlichen Schwerpunkten gespielt. Engines schwächeln in der Eröffnung und dem Endspiel deutlich mehr als im Mittelspiel.

Bei der Eröffnung ist das Problem, dass die ersten Züge des Spiels einen unglaublichen Möglichkeitsraum eröffnen, der kaum rechnerisch zu ergründen ist, jedoch langfristige Folgen für das Spiel hat. Menschen haben deswegen im Laufe des 20. Jahrhunderts sogenannte Schachtheorie entwickelt, die dabei helfen soll in den ersten Zügen des Spiels den Überblick zu bewahren und es ermöglicht sich ordentlich für ein langes Spiel aufzustellen. Der Inhalt dieser Theorie ist durch stundenlange Analyse und Diskussion von hunderttausenden und Millionen von Schachpartien entstanden und wird bis heute ständig weiterentwickelt, jedoch mittlerweile auch häufig mit der Hilfe von Computern. Diese Theorie wird den Engines als sogenannte Eröffnungsbücher zur Verfügung gestellt, die eine statistische Auswahl an gespielten Schachpartien mit entsprechenden Resultaten von guten Spielern als Datensatz enthalten. Dementsprechend spielen Schachcomputer die Eröffnungszüge nach dem Vorbild der besten Spieler der Welt. Umso mehr Züge das Spiel andauert, umso kleiner wird die statistische Grundlage des Eröffnungsbuchs, und umso relevanter wird die Analyse durch die Bewertungsfunktion. So findet ein fließender Übergang statt.

Der Grund warum Computer im Endspiel mehr Probleme haben als im Mittelspiel, besteht in der Menge der zu berechnenden relevanten Spielvarianten. In einer gewöhnlichen Mittelspiel-Stellung sind die meisten Züge häufig schnell zu verwerfen. Eine einfach Erklärung warum das so ist, besteht in der Tatsache, dass noch sehr viele Spielsteine auf dem Spielfeld sind, und diese gut positioniert sind. Dementsprechend haben beide Seiten viele Antwortmöglichkeiten auf die Züge des jeweiligen Gegners. Demnach sind viele Züge leicht zu verwerfen, da sie eine gute Antwort des Gegners erlauben.

Im Endspiel ist das genaue Gegenteil der Fall. Es sind nur noch sehr wenige Spielsteine auf dem Feld, und während dementsprechend auch weniger mögliche Züge spielbar sind, ist es bei diesen jedoch nicht so einfach wie im Mittelspiel Merkmale zu identifizieren, warum sie offensichtlich schlecht sind – und vielleicht sind sie es auch nicht! Die Züge, denen man etwas Aufmerksamkeit schenken sollte, werden als Kandidatenzüge bezeichnet. Es sind Züge, die in Frage kommen, da noch nicht klar ist, warum sie schlecht sein sollten. Im Mittelspiel stehen häufig wenige Kandidatenzüge zur Debatte, da viele Züge offensichtlich aufgrund der unmittelbar möglichen Antwort des Gegners zu Verlust führen würden. Im Endspiel gibt es jedoch zunächst viele Kandidatenzüge, und es erfordert komplexere Merkmale in Frage kommende Züge aus der Überlegung zu eliminieren. Da Computer immer mehr Rechenleistung zur Verfügung haben, werden sie jedoch auch entsprechend immer sicherer im Endspiel. In den frühen 1990er Jahren als Computer-Schach noch verhältnismäßig primitiv war, konnten erfahrene Spieler nahezu jedes Spiel durch eine einfache Strategie gewinnen: Sie tauschten einfach möglichst schnell viele Spielsteine ab und kamen so in ein Endspiel, in dem die Computer häufig komplett kollabierten.

Mittlerweile hat sich durch die technischen Verbesserungen der Computer das Endspiel der Engines deutlich verbessert. Zusätzlich ist Schach mit acht Spielsteinen oder weniger bereits perfekt gelöst. Hierfür wurde in einer Tabelle der komplette Spielbaum abgespeichert, nachdem er vorher durch extrem leistungsfähige Computer durchgerechnet wurde. Alle Stellungen mit acht Spielsteinen oder weniger sind also bekannt und erlauben es einem Computer perfektes Schach zu spielen. Das ist voll allem in der Analyse von Interesse, wenn plötzlich sichtbar wird, dass eine gewonnen geglaubte Partie theoretisch noch ausgeglichen werden könnte, oder eine scheinbar komplett ausgeglichen Stellung noch gewonnen werden kann. Häufig ist menschliche Intuition und Analyse bei wenigen Spielsteinen jedoch ebenfalls korrekt, und so handelt es sich häufig um sehr unintuitive und kuriose Lösungsvorschläge, die der Computer dann vorschlägt.

Konklusion

Engines spielen kein perfektes Schach. Die Abwägungen, die von den Programmieren getroffen werden, gepaart mit der heute zur Verfügung stehenden Rechenleistung, lassen sie jedoch besser Spielen als Menschen. Es war 1997 als der amtierende Schachweltmeister Garry Kasparov ein Match gegen die Deep Blue Engine von IBM verloren hat, und damit ein neues Zeitalter im Schach begann. Seitdem hat sich das Kräfteverhältnis immer weiter in Richtung künstlicher Intelligenz verschoben. Heutige Spieler nutzen Engines um ihre eigenen, oder die Spiele der Konkurrenz, zu analysieren und sich auf ihre nächsten Gegner vorzubereiten. Dabei helfen vor allem auch die enormen Datenbanken die zur Verfügung stehen, um sich auf die Vorlieben der entsprechenden Gegner einzustellen.

Das führte zu der Entwicklung einer völlig neuen Kompetenz: der Vorbereitung. Im Jahr 2014 spielte beispielsweise der damalige Weltranglisten-Dritte Fabiano Caruana gegen Weltranglisten-Achten Veselin Topalov. Die Kommentatoren verwiesen während der Eröffnung auf die Tatsache, dass Caruana eine Linie spielte, die von den besten Engines damals als suboptimal eingeschätzt wurde. Sein Gegner Topalov wusste offensichtlich darüber bescheid, denn er spielte schnell die von der Engine vorgeschlagenen Züge. Caruana, der das Spiel gewinnen konnte, wurde im Interview nach dem Spiel gefragt, ob er wusste, dass er eine Variante spielte, die der Computer als suboptimal einschätzt. Er antwortete, dass es ihm klar war und er davon ausging, dass wohl die meisten seiner Gegner, so auch Topalov, über dieses Wissen verfügen würden. Seine Intuition war mit der Bewertung durch die Engine jedoch nicht einverstanden, und so analysierte er sie mit seinem Team und konnte nicht feststellen, warum er keinen spielentscheidenden Vorteil bekommen würde. Entsprechend hat Caruana den Computer nicht nur benutzt um sich direktes Schachwissen für die nächste Partie zu sichern, sondern er antizipierte, was seine Gegner wegen der Unterstützung durch Computer wüssten, und nutzte dieses Wissen gegen sie. Er transzendierte quasi die Methode der Vorbereitung dahingehend, die Vorbereitungen seiner Gegner gegen sie zu nutzen.

Garry Kasparov, der erste Schachweltmeister, der sich gegen die Übermacht der Computer geschlagen zeigen musste, interpretiert seine Niederlage mit Bezug auf das Verhältnis zwischen Mensch und Technik auf eine interessante Weise. Seiner Meinung nach haben Computer und Menschen dermaßen verschiedene Ansätze, dass sie sich ergänzen können. Menschen haben Erfahrung und Intuition, woraus ein häufig Computern überlegenes Verständnis von Strategie und langfristiger Planung von vorteilhaften Strukturen resultiert. Computer machen währenddessen nahezu keine taktischen Fehler, da sie, zumindest auf kurze Sicht, nahezu alle Varianten rechnen können. Selbst sehr gute Spieler verlieren alle paar Monate einmal ein Spiel aus bloßer Unachtsamkeit, weil sie etwas übersehen oder vergessen haben, was sie normalerweise nicht übersehen oder wissen, und was auch nicht schwer zu bemerken gewesen wäre, würden sie dasselbe Spiel noch einmal spielen. Computern passiert das quasi nie. Sie haben nahezu perfekte Taktik und ein perfektes Gedächtnis. Kasparov elaborierte weiter, dass das best mögliche Schach gespielt werden könnte, in dem Menschen und Computer als Team zusammenarbeiten.

In einem Interview von letztem Jahr weist Kasparov auf ein interessantes Gedankenexperiment hin. Während er der Ansicht ist, dass es nicht weiter interessant ist, Menschen gegen Engines antreten zu lassen, wenn die Bedingungen für einen Sieg die gleichen sind, könnte man stattdessen den menschlichen Weltmeister zehn Spiele gegen die stärkste Engine spielen lassen, und wenn der Weltmeister nur ein Spiel gewinnt, gewinnt er das gesamte Match. Auf welche Partei würde man jetzt sein Geld setzen? Es ist überhaupt nicht klar. Kasparov selbst schätzt die Chancen auf unter 50 Prozent für den Menschen, glaubt dennoch das ein Sieg im Bereich des Realistischen liegt. Der Grund, den er dafür anbringt ist, dass, wenn der Weltmeister weiß, dass er nur ein Spiel gewinnen muss, dann kann er sich einzig und allein darauf konzentrieren die besten Züge zu finden, ohne den psychologischen Druck ertragen zu müssen, dass die Engine jeden noch so kleinen taktischen Fehler bestraft. Wenn dem menschlichen Spieler entsprechend eine saubere Partie gelingt, gewinnt er das Match. Unrealistisch ist es nicht, und vor allem die Idee, dass der psychologische Druck abgenommen wird ist bemerkenswert, denn sie lässt sich auch umkehren. Wenn Menschen mit Engines zusammenarbeiten, kann die Engine dafür sorgen, dass die Menschen sich keine Sorgen mehr um taktische Fehler machen müssten, und können sich ganz darauf konzentrieren neue strategische Ideen zu entdecken und umzusetzen. Der Computer sorgt dafür, dass die Taktik stimmt.

Was Kasparov am Beispiel von Schach durchexerziert, kann für das Verhältnis zwischen Mensch und Technik im allgemeinen angewendet werden. Menschen können auf das Auftreten neuer Technologien auf drei verschiedene Arten reagieren: Entweder sie werden zurückgewiesen, und Dinge werden auf die konventionelle Art weiter bearbeitet, oder, wie einige Tech-Gurus aus dem Silicon Valley prophezeien: die Elimination des Faktors Mensch ist bei der Ausführung von ergebnisorientierten Prozessen das wichtigste. Zuletzt besteht noch der Ansatz den Kasparov skizziert, in dem Technologie als menschliches Werkzeug aufgefasst wird, mit dem Prozesse besser bearbeitet werden können, als wären sie ausschließlich durch Menschen oder ausschließlich durch Automatisierung geschehen.

Wenn irgendwas nicht klar war, oder generelle Fragen bestehen, freue ich mich auf die entsprechenden Kommentare zu diesem Artikel. Ich hoffe, dass das Lesen so viel Spaß gemacht hat, wie das Schreiben. Jegliche hilfreiche Kritik ist in den Kommentaren willkommen. Der nächste Artikel dieser Serie wird sich mit neuronalen Netzwerken beschäftigen.

Christoph Fleischer

hat Philosophie und Literatur in Heidelberg und Berlin studiert. Seine Hauptinteressen liegen im Bereich der Anthropologie und Metaphysik, wo er sich Fragen im Spannungsfeld von Naturwissenschaft, Technologie, Kultur und Religion widmet. Er bespielt dieses Magazin sowie den zugehörigen Youtube-Channel und Podcast.

2 Kommentare

2 Antworten zu “Berechnung des Unberechenbaren: Schach und Computer”

  1. Hannoul sagt:

    Danke! Ich hoffe der Artikel zu neuronalen Netzwerken kommt noch! Dieser ist nämlich wirklich sehr gut geschrieben und hat mein Gehirn explodieren lassen #mindblow

    • Hey, vielen Dank! Freut mich zu hören, dass es Dir gefallen hat. Erstmal hatte ich das eigentlich an der Seite liegen lassen. Aber vielleicht ist Dein Kommentar ein guter Grund endlich den Aspekt neuronaler Netzwerke anzugehen. In diesem Sinne würde ich mal ankündigen: Kommt bald!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Kanäle
Social Media
Newsletter

Podcast
Youtube