Fat Fritz Engine
Ende 2017 sorgte das Projekt AlphaZero für Furore in der Computerschachszene. Dieses neue Programm verfolgte einen völlig anderen Ansatz als die über lange Jahre mit den Standardtechniken entwickelten Schach-Engines. AlphaZero stellte viele Regeln und Grundsätze in Frage, die über viele Jahre als unverzichtbar für die Programmentwicklung angesehen wurden. Dieses Programm kennt lediglich die Spielregeln und profitiert von ausgefeilten Algorithmen hinsichtlich der Lernfähigkeit. Die Spielstärke basiert ausschließlich auf der Basis von selbst gespielten und analysierten Partien! AlphaZero kommt ohne aufwendig programmiertes Spezialwissen aus und konnte bereits nach nur wenigen Stunden Training gegen die besten spezialisierten Programmemithalten. Leider ist AlphaZero ein reines Forschungsprojekt und steht interessierten Schachspielern nicht zur Verfügung.
Nach dem aufsehenerregenden Erfolg von AlphaZero wurde das Open Source Projekt Leela Chess Zero, kurz Lc0 gegründet. Die Zielsetzung bestand darin, schachinteressierten Anwendern eine Engine anzubieten, die mit ähnlichen Techniken wie AlphaZero arbeitet. Die bislang erzielten Ergebnisse sind extrem erfolgversprechend, eine aktuelle Version von Lc0 ist im Lieferumfang von Fritz enthalten.
Die neuronale Engine Fat Fritz basiert auf dem Open Source Project LCZero und bietet viele ähnliche Routinen. Das Netz wurde jedoch nicht nur durch Partien gegen sich selbst trainiert/entwickelt („Zero“-Ansatz). Die Spielstärke von Fat Fritz basiert auch auf Analysen von Partien der Mega Database, Computerpartien und den Endspieldatenbanken. Die von uns intern ermittelten Ergebnisse gegen andere Spitzenprogramme sind vielversprechend und wir sind stolz darauf, unseren Anwendern dieses spielstarke und konzeptionell neuartige Programm anbieten zu können.
Den Unterschied von Fat Fritz im Vergleich zu traditionellen Engines versteht man am besten, wenn man sich die Entwicklung der Engine anschaut. So lernen traditionelle Engines - wie die meisten Anfänger - sehr früh, welchen Wert die Figuren haben. Fat Fritz hat ohne diese Informationen angefangen, Schach zu lernen. Stattdessen hat man ihn buchstäblich mit Milliarden unterschiedlicher Stellungen gefüttert, die er untersucht hat, um auf dieser Grundlage sein eigenes Schachverständnis zu entwickeln. Fat Fritz agiert deshalb im Unterschied zu klassischen Schachprogrammen nicht materiell und kann/soll das auch nicht. Die Engine beurteilt eine Stellung ganz allein nach Gewinn-und-Verlustraten. Das führt dazu, dass sie nicht kleinlich Material zählt, sondern unbefangen auf Position spielt.
Das ist mehr als nur ein interessantes Detail, sondern von großer praktischer Relevanz. Denn in einer ganzen Reihe von Stellungen sieht eine traditionelle Engine keine Möglichkeit, die Stellung bei bestem Spiel von beiden Seiten zu verbessern und beurteilt sie deshalb als absolut ausgeglichen mit einem Wert von 0.00. Fat Fritz beurteilt solche Stellungen vielleicht auch als ausgeglichen, aber die Engine sieht auch, welche dieser Stellungen dazu neigen, häufiger als andere entschieden zu werden. Heutzutage führen Eröffnungsanalysen gegen einen gut vorbereiteten Gegner nur selten zu einem direkten Sieg, und deshalb ist es hilfreich zu wissen, mit welchen Zügen oder in welchen Stellungen die Chancen am größten sind, dass der Gegner Fehler macht.
Die Engine arbeitet mit Gewinnwahrscheinlichkeiten statt mit Stellungsbewertungen! Berücksichtigt wird also bei der Bewertung vor allem der Faktor Gewinnwahrscheinlichkeit. Die Engine spielt dafür tausende von Partien bei einer Geschwindigkeit von unter Hundert bis zu mehreren Zehntausend pro Sekunde (N/S), abhängig von der Version. Eine Besonderheit von Fat Fritz besteht darin, dass die Engine die Ressourcen der leistungsfähigen Prozessoren der Grafikarte mitbenutzt! Dies führt zu einer deutlichen Beschleunigung der Performance! Der von Fat Fritz unterstützte RTX Modus als auch der CUDA Modus wird zum Zeitpunkt der Beschreibung ausschließlich von NVIDIA Grafikkarten unterstützt.
Anhand der Beschreibung wird deutlich, dass Fat Fritz eine sehr leistungsfähige Grafikkarte, z.B. eine NVIDIA RTX 2060, benötigt um seine volle Leistungsfähigkeit auszuspielen. Ohne entsprechende GPU (Grafikprozessor) kann das Programm bis zu Faktor 1000 langsamer sein, diesen Fakt sollten Sie beim Experimentieren mit der Engine berücksichtigen. Fat Fritz kann also auf reiner CPU (Hauptprozessor) genutzt werden, doch wird hier nicht annähernd die Spielstärke einer schnellen GPU erreicht.
Hinweis: Wenn Sie erwägen, solch eine gute NVIDIA-Karte anzuschaffen, müssen Sie beachten, dass Ihr Netzteil ausreichende Leistungsreserven bereitstellt. In kompakten und stromsparenden Desktop-PCs sind möglicherweise keine Steckplätze für diese Grafikkarten vorhanden. Klären Sie dies bitte vor Kauf einer GPU (Grafikkarte) unbedingt ab. Fertige Spiele-Rechner mit z.B. AMD Ryzen Prozessor und einer RTX-Grafikkarte bekommt man zurzeit ab ca €1100.
Auf einem Testrechner mit RTX 2080 im RTX-Modus liegt die Geschwindigkeit bei ca 20 Tausend Stellungen pro Sekunde, im CUDA-Modus etwa 45% davon. Ältere Grafikkarten bieten deutlich langsamere Werte, nur NVIDIA-Karten unterstützen die beiden erwähnten Modi CUDA oder RTX!