Kasparows Gegner Wie denkt Deep Fritz?
Am Anfang kann sich Fritz noch ausruhen; rechnen braucht er noch nicht. Das Programm registriert nur die gespielten Züge und vergleicht sie mit seinem "Eröffnungsbuch". Das "Buch" ist eine große Datei, in der die komplette Eröffnungstheorie auf der Basis der bisher gespielten Großmeisterpartien als Variantenbaum gespeichert ist. Es enthält etwa 3,5 Millionen Eröffnungspositionen und ist 600 MB groß.
Das Fritz-Eröffnungsbuch ist sehr leistungsfähig und enthält eine Reihe von statistischen Daten, mit deren Hilfe Fritz entscheidet, welchen der möglichen Eröffnungszüge er wählen soll. Im Buch vermerkt ist, wie oft die jeweiligen Züge gespielt wurden, wie hoch der Elo-Schnitt der Spieler war, die diesen Zug gespielt haben und wie erfolgreich die Spieler mit diesem Zug waren.
Darüber hinaus hat der Computerschach-Eröffnungsspezialist Alexander Kure das Buch editiert und Züge gewichtet. Wenn mehrere Züge zur Auswahl stehen, soll Fritz manche spielen, andere nicht. Gibt es mehrere gleichwertige Züge, dann entscheiden die statistischen Daten oder ein Zufallsgenerator. Das Buch ist sogar bedingt lernfähig. Verliert Fritz mit einer bestimmten Variante, dann schaltet er sie ab und spielt beim nächsten Mal etwas anderes.
Das Buch bringt Abwechslung ins Spiel
Ohne Eröffnungsbuch wäre ein Schachprogramm zu Anfang der Partie extrem leicht auszurechnen. Gemäß seiner Programmstruktur würde es bei gleicher Bedenkzeit und auf gleicher Hardware in der gleichen Ausgangsposition immer wieder genau den gleichen Zug spielen. Es wäre sehr leicht, eine Zugfolge zu finden, mit der man das Programm zum Beispiel durch langzügige Opferwendungen in Schwierigkeiten bringen kann.
Wenn Fritz zu einer Stellung auf dem Brett wenige oder gar keine Züge mehr im Buch findet, fängt er an zu rechnen. Bei manchen gut bekannten Eröffnungen kann es allerdings sein, dass Fritz erst nach dem 20. Zug oder später aus dem Buch geworfen wird.
Der Ausgangspunkt aller Berechnungen ist das Material, wobei die Steine unterschiedlich bewertet werden. Eine Dame ist viel mehr wert als ein Turm oder gar ein Bauer. Gerechnet wird in Bauerneinheiten. Moderne Programme bewerten einen Bauern inzwischen aber meist niedriger als mit einer ganzen Bauerneinheit. Typische Bewertungen sind 0.85 Bauerneinheiten für einen Bauern, 2.5 für Springer und Läufer, 4.5 für einen Turm und 9.0 für die Dame. Ist Fritz im Vorteil, dann rechnet er sich das positiv an, beispielsweise +0.85 bei Bauerngewinn, entsprechen -0.85 bei Bauernverlust.
Kosten-Nutzen-Rechnungen
In den Bewertungen des Materials bewegt sich Fritz im Rahmen dessen, was auch unter Menschen als Faustformel bekannt ist. Natürlich kommen noch Bewertungen für weitere Ereignisse, die während einer Partie passieren können, hinzu. Das Matt sollte man nicht vergessen. Matt wird mathematisch unendlich hoch bewertet und weit wichtiger als alles Material.
Patt muss berücksichtigt werden, außerdem bestimmte Endspiele, die trotz großen Materialvorteils nicht gewonnen sind, weil sich kein Matt erzwingen lässt. König und zwei Springer gegen König entspricht einem reinen Materialvorteil von ca. +5.00 Bauerneinheiten (2x 2,5), aber Matt lässt sich nicht erzwingen. Das Endspiel ist in Wirklichkeit Remis oder mathematisch ausgedrückt 0.00. Ähnlich verhält es sich mit Patt und auch mit ewigem Schach.
Die richtige Bewertung der Positionen ist die wichtigste Grundlage für die Spielstärke des Programms. Aber neben den rein materiellen Aspekten gibt es eine Menge von zusätzlichen Faktoren, die die Bewertung beeinflussen. Dazu gehören Dinge wie offene Linien, Figurenaktivität, Königsicherheit, Bauernstruktur, starke und schwache Felder und viele mehr.
"Unmenschliches" Spielverhalten
Diese Faktoren werden meist unter dem Begriff "Schachwissen" zusammengefasst. Während ein Mensch in einer Partie auf seine "Erfahrung" zurück greift und all diese Faktoren "intuitiv" erfasst, addiert Fritz sie gegeneinander auf und kommt so zu einer Stellungsbeurteilung. Der Auftrag lautet dabei, Züge und Zugfolgen zu finden, mit denen sich die eigene Position mathematisch verbessern lässt.
Es macht dabei für Fritz keinen Unterschied, ob seine aktuelle Position z.B. + 0.84 ist und er versucht, auf +0.85 oder besser zu kommen, oder -4.53 und er versucht auf -4.52 zu kommen. Er handelt einfach gemäß seiner Programmierung, die Stellung zu verbessern und sucht nach entsprechenden Zügen. Dieses "unmenschliche" Verhalten, mit ständig gleicher Intensität zu spielen, bringt die Großmeister im Spiel gegen Rechner meist zur Verzweiflung. Ihre menschlichen Gegner brechen in schlechten Stellungen meist schnell zusammen.
Bei den Berechnungen geht es nicht um die aktuelle Position, sondern um mögliche Positionen ein paar Züge später. Die ersten Schachprogramme haben dabei einfach jeden legalen Zug in der aktuellen Position angeschaut und die möglichen Konsequenzen berechnet. Diese Methode der brutalen Rechenkraft, "Brute Force", führte nicht sehr weit, da sich die Möglichkeiten im Schach Zug um Zug exponentiell vergrößern. Mit Brute Force wurden keine großen Suchtiefen erreicht.
Chancenanalyse statt "Gießkanne"
Die Kunst besteht also darin, möglichst nur aussichtsreiche Züge zu untersuchen und deren Konsequenzen zu bewerten. Dabei entstehen Suchbäume, wobei die Spitzenprogrammierer verschiedene Tricks anwenden, um möglichst effizient möglichst tief zu suchen. Je tiefer ein Programm in die Stellung hineinschauen kann, desto besser lassen sich die Konsequenzen eines Zuges berechnen, desto stärker spielt das Programm. Eine von vielen Methoden zur Optimierung ist die so genannte "Null-Move-Heuristic", bei der das Programm so tut, als dürfe es mehrmals hintereinander ziehen, ohne dass der Gegner Antwortzüge machen darf. Die Züge, bei denen man auch dann keinen Stellungsvorteil erzielen kann, brauchen gar nicht erst untersucht zu werden.
Natürlich spielt die verwendete Hardware eine große Rolle. Falls viel Arbeitspeicher zur Verfügung steht, kann Fritz dort mehre hundert MB große "Hashtables" anlegen, in die er Rechenergebnisse zwischenspeichert, auf die er beim nächsten Zug wieder zurückgreifen kann. Fritz braucht die Varianten dann nicht immer wieder neu zu berechnen. Und je schneller die Prozessorleistung der Maschine, desto schneller ist das Programm. Beim Wettkampf in New York spielt die Mehrprozessor-Version von Fritz, Deep Fritz 8, auf einem Intel Pentium IV Xeon 4x2,8 Ghz.
Ein "Buch" für das Endspiel
In der Grundstellung, das ist die schwierigste Stellung im Schach, hat Deep Fritz auf diesem Rechner in nicht einmal vier Minuten 3,4 Mio. Positionen berechnet und kommt dabei auf eine Suchtiefe 18 Halbzügen. Das heißt nichts anderes, als dass Deep Fritz in der Partie meist mehr als 9 Züge vorausschaut und weiß, wie dann die Bewertung sein wird. In weniger komplexen Stellungen, z.B. im Endspiel, kann die Suchtiefe noch weitaus größer sein.
Bei Endspielen mit sehr wenigen Steinen kann Deep Fritz auf eine weitere Hilfe zurückgreifen, die so genannten "Tablebases". Hier sind die Informationen über alle Endspiele mit fünf Steinen (Könige mitgerechnet) und neuerdings einige Sechssteiner in Dateien abgelegt und jedes Ergebnis bei jeder Figurenstellung gespeichert.
Wird einer der unterstützten Fünf- oder Sechssteiner erreicht, weiß Deep Fritz sofort, dass die Position z.B. "Matt in 38 Zügen" ist. Fritz kann aber auch schon in seinen Vorausberechnungen auf die Tablebases zugreifen und prüfen, ob sich der Übergang in eines der elementaren Endspiele lohnt.
Es ist erstaunlich, dass menschliche Spezialisten wie Kasparow mit dieser ausgebufften Technik mithalten können. Das beweist, wie leistungsfähig das menschliche Gehirn ist und welches Entwicklungspotenzial es birgt, denn die Grundlagen zu diesen Leistungen werden schon in frühester Kindheit gelegt. Alle Spitzenspieler lernten Schach im Alter von vier bis sechs Jahren. Auch wenn man inzwischen mehr und mehr über die Entwicklung des Gehirns in Erfahrung gebracht hat, bleiben viele offene Geheimnisse. Exweltmeister Robert Fischer brachte das vor vielen Jahren einmal so auf den Punkt: "Ich rechne nicht voraus. Ich gewinne auch so."