Workshop Computerschach: Das Such-Tool AGS

Lesezeit für diesen Beitrag: ca. 7 Minuten

Gesucht: Opfer-Partien

von Stefan Pohl

Profi-Schachspieler, seien sie nun Turnierkämpfer oder Trainer, nutzen vielfach auch entspr. Profi-Datenbanken, um gezielt nach bestimmten Partien mit klar definierten Eigenschaften zu suchen. Solche professionellen und teuren Werkzeuge sind beispielsweise Chessbase oder (etwas kostengünstiger) Chess-Assistant. Auch das Freeware-Programm Scid hat recht vielfältige Such-Funktionen.
Doch für das millionenfache Heer der Hobby-, Laien- oder/und Vereinsspieler täte es meist auch eine schmaler konzipierte Gratis-Software, um in grösseren Datenbanken mit (-zig tausenden Partien), erfasst im sog. PGN-Datenformat, nach interessanten, „aggressiven“ Games zu fahnden. Der deutsche Computerschach-Experte Stefan Pohl hat nun genau dafür ein neues Programm geschrieben, das diesen Job blitzschnell erledigt. Hier stellt er seine „Aggressive Games Search Tools“ AGS erstmals der deutschsprachigen Schachwelt vor.

Da in der heutigen Zeit immer mehr Partien gespielt werden, sowohl von Menschen (entweder online oder dann in den zahllosen Turniersälen) als auch von Schach-Engines gegeneinander, habe ich zwei einfache Tools geschrieben, die automatisiert in beliebigen PGN-Datenbanken nach interessanten (Opfer-)Partien suchen.
Denn besonders Engine-Partien können oft langweilig sein: Sie werden zwar auf einem enorm hohen schachlichen Niveau gespielt, sind aber – auch deswegen – meist recht steril. Viele Partien gehen remis aus, und die Gewinnpartien werden oft erst nach zähem Ringen (letzlich mit minimalsten Vorteilen) im Endspiel entschieden.

Dennoch gibt es natürlich interessante, taktisch spannende Partien – doch diese sind oft tief „begraben“ in riesigen Datenbanken und müssen extra recherchiert werden. Denn nur nach kurzen Gewinnpartien zu suchen reicht hier keinesfalls aus; Oft ergibt sich zwar ein interessanter Verlauf des Mittelspiels, aber bis der Vorteil, den eine Seite erlangt hat, dann wirklich partieentscheidend verwertet werden kann, dauert es oft noch viele Züge. Außerdem: Werden Engine-Partien bis zum Matt (oder technischem Remis) ausgespielt, kann es sowieso lange dauern, bis ein im Mittelspiel errungener Vorteil wirklich zum Matt verwertet wird.

Recherche in den Datenbanken

Anzeige Amazon: Schach für Dummies - James Eade
Anzeige

Daher habe ich meine Aggressive Games Search Tools (im folgenden kurz AGS) entwickelt, die dieses Problem lösen sollen.
Zunächst gibt es ein Tool, das in allen Gewinnpartien bis zu einer vom User bestimmten Maximal-Zuglänge nach vorgerückten Figuren (der Sieger-Seite) im gegnerischen Lager sucht.
Ein Beispiel: Gewinnt Weiß eine Partie, so sucht das Tool zwischen dem 15. und dem 60. Zug nach weißen Figuren (Dame, Turm, Läufer, Springer) im schwarzen Lager auf der 6./7./8. Reihe. Dies muß mindestens drei Mal der Fall sein, und die betr. Figur darf nicht sofort abgetauscht werden (ein simpler Damen-Tausch auf d8 beispielsweise wäre ja nicht besonders „aggressiv“). Zudem muss sich die Partie noch im Mittelspiel befinden. Letzteres wird über die Materialmenge entschieden: Es müssen noch mindestens Dame, beide Türme und eine Leichtfigur plus mind. vier Bauern pro Seite vorhanden sein – oder dann auch Dame, ein Turm und zwei Leichtfiguren plus mind. vier Bauern pro Seite. Zuvor sucht das Tool nach Opfern, also nach einem mindestens 5 Züge andauernden Materialvorteil im Mittelspiel für jene Seite, welche die Partie schlußendlich verliert (bei nur einem Bauern Vorteil sieben Züge).

Drei Optionen der Suche

Bei dieser Opfersuche kann der User aus drei Optionen wählen:
Startet man das Tool Aggressive_Games_Search_tool.bat, wird zunächst nach dem Namen der PGN-Datei gefragt; anschließend nach der Art der gewünschten Opfersuche:
1= alle Opfer suchen (der Partieverlierer hat für mindestens sieben aufeinanderfolgende Züge im Mittelspiel mindestens einen Bauern mehr)
2= Zwei-Bauern-Opfer suchen (der Partieverlierer hat für mindestens fünf aufeinanderfolgende Züge im Mittelspiel mindestens zwei Bauerneinheiten mehr)
3= wie Option 2, aber die zwei Bauerneinheiten mehr dürfen keine zwei Bauern sein (sondern z.B. der Qualitätsvorsprung Turm für Springer)

AGS-Tool - Stefan Pohl - Computerschach - Februar 2022
Konsolen- und Text-orientiert unter Windows, aber extrem schnell: Die Turbo-Variante des Tools AGS von Stefan Pohl

Es ist klar, dass mehr Partien gefunden werden, wenn man Option 1 nutzt. Die wenigsten Partien ergeben sich mit Option 3, diese sind dann dafür auch auch sehr spektakulär.
Abschließend fragt das Tool noch nach der maximalen Zuglänge der Gewinnpartien in der zu untersuchenden PGN-Datenbank, danach startet das Tool. Je höher die maximale Zuglänge, desto mehr Partien werden logischerweise untersucht und damit auch mehr Partien gefunden. Für Mensch-Partien reicht eine Zuglänge von 80 aus, bei Engine-Partien würde ich 100 empfehlen, v.a. wenn die Engines bis zum Matt spielen mußten; dann können auch höhere Partielängen sinnvoll sein. Für eine komplette Untersuchung aller Gewinnpartien gibt man 250 als Maximallänge ein.

Aggressive Games mit und ohne Opfer

Computerschach-Freund und AGS-Programmierer: Stefan Pohl
Computerschach-Freund und AGS-Programmierer: Stefan Pohl

Ist das Tool mit seiner Suche fertig, ertönt eine kurze Tonfolge, und die gefundenen Partien werden in zwei zusätzlichen PGN-Dateien abgelegt, genannt: „aggressive_no_sacrifices.pgn“ sowie „aggressive_with_sacrifices.pgn“. Wobei in der ersten Datei die „Treffer“ der Suche nach ins gegnerische Feld vorgerückten Sieger-Figuren abgespeichert werden, und in der zweiten Datei dann die Opfer-Partien.
Dabei ist zu beachten, dass es keine sog. Doubletten (also identische Partien) geben kann, denn das AGS-Tool sucht immer zunächst nach Opfern in einer Partie. Nur, wenn keines gefunden wird, wird die Suche nach Figuren der Siegerfarbe vorgerückt im gegnerischen Lager, überhaupt gestartet.

AGS gegen Chessbase

Die Suche nach ins gegnerische Lager vorgerückten Figuren des Siegers ist sehr aufwändig und darum leider eher langsam. (Hier ist das Tool daher nicht schneller als z.B. die Opfersuche in „Chessbase“). Auf einem normalen PC kann man mit einer Ausbeute von ca. 3-5 Partien pro Sekunde bzw. ca. 200-300 pro Minute rechnen.
Aus diesem Grund habe ich eine weitere Version des Tools geschrieben, die auf eine Suche nach ins gegnerische Lager vorgerückten Figuren des Siegers verzichtet und nur nach Opfern sucht:“ AGS_Sacrifices_Only_Turbo.bat“. Dieses Tool sucht also ausschließlich nach Opfern, wobei die Eingaben des Users identisch zu denen des originalen AGS-Tools sind (s.o.).
Diese „reine“ Opfersuche ist um ein Vielfaches schneller und erlaubt daher auch das Durchsuchen von extrem großen Datenbanken in kürzester Zeit. Ich habe testweise eine Datenbank meiner SPCC-Rangliste mit 185000 Partien durchlaufen lassen; Das dauerte nur ca. drei Minuten, das Tool schaffte also ca. 1000 Partien pro Sekunde (!).
Das AGS-Turbo-Tool schreibt die gefundenen Opferpartien in die Datei „games_with_sacrifices.pgn“. Allerdings sind in dieser Datei zunächst alle Partien mit Weißsiegen abgelegt, danach alle Schwarzsiege. Dies war nötig, um die Geschwindkeit des Tools nicht zu beeinträchtigen.

Auch für alle, die auf die komfortable Opfersuche in ChessBase nicht verzichten wollen, bietet das schnelle AGS-TurboTool einen praktischen Nutzen, da man mit seiner Hilfe größere Datenbanken sehr schnell vorfiltern kann. Mit der Suchoption 1 und einer hohen Partiemaximallänge filtert das Tool sehr schnell ca. 5-8 Prozent potentiell interessante Partien aus. Mit dieser um 92%-95% geschrumpften Ergebnis-Datenbank kann man dann wiederum die sehr differenzierte ChessBase-Opfersuche starten.

Die Basis: Das Tool PGN-Extract

Anzeige Amazon: Endgame Strategy - Mikhail Shereshevsky - Chess Classic
Anzeige

Meine AGS-Tools nutzen für alle wesentlichen Funktionen das sehr mächtige Freeware-Tool pgn-extract des englischen Programmierers David J. Barnes. Dieses befindet sich, wie auch die Figurenverteilungsmuster zur Opfererkennung im bin-Ordner des Downloads. Dort werden auch temporäre Dateien während des Suchprozesses der Tools angelegt (und wieder gelöscht). Der bat-Ordner darf daher nicht wegbewegt oder sein Inhalt verändert oder schreibgeschützt werden. Auch ein mehrfaches Starten der Tools zu selben Zeit geht nur, wenn man den kompletten AGS-Ordner kopiert, so dass jedes der laufenden Tools einen eigenen bin-Ordner bekommt, ansonsten gibt es Datei-Kollisionen.
Wie bei allen Batch-Tools unter Windows gilt: In das schwarze Fenster, in dem sie laufen, darf man nicht mit der Maus hineinklicken, sonst friert das Programm ein. Dies ist ein Problem von Windows, es läßt sich nicht vermeiden…

Eine echte Innovation

Ich meine, dass insbesondere das AGS-Turbo-Tool, das nur nach Opfern sucht, eine echte Innovation darstellt. Denn es war bisher schlicht nicht möglich, Partiedatenbanken mit so hoher Geschwindigkeit nach Opfern zu durchsuchen. Die Opfersuche an sich war bisher v.a. unter ChessBase bekannt, dort ist sie aber sehr viel langsamer. Zwar lassen sich dort auch deutlich mehr spezielle Suchparameter und Stellungsmuster nutzen, aber leider nur mit geringer Suchgeschwindigkeit. Eine wirklich schnelle Opfersuche, um auch große Partiedatenbanken in annehmbarer Zeit zu durchsuchen, gab es bisher schlicht nicht.
Dieses neuartige AGS-Turbo-Tool hat zumindest für mich schon eine neue Erkenntnis erbracht, nämlich die, dass es im modernen Engine-Schach weit öfter Opferpartien, also Siege nach Materialnachteil gibt, als ich das vermutet hatte. Selbst wenn man eine Engine-Partiedatenbank mit dem Turbo-Tool und Option 3 durchsucht, also nur nach wirklich spektakulären Opfern, werden mehr Partien gefunden, als ich jemals gedacht hätte. Ein 7000 Partien Testrun von Stockfish für meine SPCC-Rangliste ergab selbst mit Suchoption 3 noch knapp 200 Partien.

Stockfish: Trotz Materialnachteile zum Sieg

Das finde ich wirklich sehr erstaunlich. Denn eigentlich nimmt man ja an, dass gerade die extrem starke Engine Stockfish gegen schwächere Gegner gewinnt, indem sie nach und nach Materalvorteil erringt und daraus dann in den Partiegewinn abwickelt. Dass aber Stockfish derart häufig sogar deutlichen Materialnachteil in einen Sieg verwandelt, hat mich völlig verblüfft. Engine-Schach der Spitzenklasse ist also doch interessanter und spektakulärer, als es seine zahllosen Remis-Ergebnisse in den entspr. Turnieren vermuten lassen. Vorausgesetzt eben, diese wirklich interessanten Partien werden aus einer riesigen Menge von Partien herausgefiltert. Dank des kostenlosen AGS Turbo-Tools ist das jetzt einfach und schnell für jeden Schachspieler möglich. ♦

Download Aggressive Game Search Tool

Lesen Sie im GLAREAN MAGAZIN zum Thema Computer-Schach auch: Die besten Engines der Welt (2)

Kommentare sind willkommen! (Keine E-Mail-Pflicht)