Computerschach: Die Endspiel-Tabellen in der Praxis

Nutzen und Schaden der Endgame-Tablebases

von Walter Eigenmann

Seit der amerikanische Informatiker Ken Thompson vor über 20 Jahren erstmals seine Datenbanken mit kompletten Lösungen von Schach-Wenigsteine-Positionen generierte, reißt die Diskussion unter den Computerschach-Experten nicht ab darüber, ob bzw. in welchem Ausmaße solche Endgame-Tablebases die Performance eines Schachprogrammes positiv beeinflussen. Inzwischen haben Thompsons russischer Berufskollege Jewgeni Nalimov und andere (z.B. Meyer-Kahlen: Shredderbases/SB; Pfister&Shawul: Bitbases/EGBB) die Indizierung der 3-6-Steiner-Endspiele soweit vorangetrieben, dass sie den Programmen bzw. Interfaces praktisch vollständig und (heutzutage) fast in Echtzeit zur Verfügung stehen. Am häufigsten in der Computerschach-Praxis eingesetzt wird dabei die Nalimov-Datenbank (EGTB), welche sämtlichen 3-5-Steiner umfasst, und die mittlerweile von den meisten führenden Schach-Engines unterstützt wird.

Von Engine zu Engine unterschiedliches Zugriff-Handling

Unix-Entwickler und Computerschach-Pionier: Ken Thompson (*1943)
Unix-Entwickler und Computerschach-Pionier: Ken Thompson (*1943)

Nun werden bei der Anbindung dieser Datenbanken in die Engine-Struktur von Programmierer zu Programmierer unterschiedliche und darum auch unterschiedlich effiziente Wege beschritten. Wo manches Programm schon früh im Endspiel exzessiv auf diese Bases zugreift, rechnen andere Engines noch lange selbstständig, und während gewisse Engines sehr viel Endspiel-Knowhow einfach an die «Nalimovs» zu delegieren scheinen, erreichen andere Programme ohne jegliche EGTB-Hilfe ebenso gute oder gar bessere Endspiel-Resultate. Welche Schachprogramme profitieren also wie sehr von diesen «sagenumwobenen» Endspiel-Datenbanken? Oder wird deren Einfluss grundsätzlich überschätzt? Mehr noch: Können Engines sogar «ausgebremst» werden durch EGTB?
Um ein wenig (praktisch vielleicht nutzbares) Licht in dieses (theoretisch ziemlich umkämpfte) Performance-Dunkel zu bringen, hat der Autor eine Testreihe mit über zwei Dutzend Schachprogrammen durchgeführt. Letztere hatten einmal mit, einmal ohne Bases (alle 3-5-Steiner) die 100-teilige, in der Computerschach-Szene recht verbreitete Endspiel-Aufgaben-Sammlung E-E-T zu durchlaufen. Die Auswahl der Programme wurde dabei mehr oder weniger zufällig vorgenommen, wiewohl alle verwendeten Engines heute auch in den einschlägigen CS-Turnieren eingesetzt werden: Single- und Dual-Core-, alte und neue, Freeware- und kommerzielle Engines (was halt gerade sich so auf der Festplatte des Autors tummelte…) Die Programme hatten (auf einem gewöhnlichen Intel-Dual-Core6400-Rechner unter dem Fritz10-Interface mit 128MB Hash & 64MB TB-Hash auf Harddisk) für jede Aufgabe jeweils exakt 60 Sekunden Zeit.

100 Prüfsteine für die Programme: Der E-E-T  („Eigenmann-Endspiel-Test“)

Der E-E-T entstand 1997 und wurde bewusst als Sammlung konzipiert, die nicht Tablebases-sensitiv sein sollte: Die 100-teilige Suite enthält kaum 7- und keine 6- oder gar 5-Steine-Positionen; der E-E-T fragt also nicht in erster Linie die Güte der technischen EGTB-Anbindung ab, sondern die beiden Computerschach-relevanten Parameter «Endspielwissen» und «Rechentiefe». Über das schachtheoretische Design des E-E-T ist unter obigem Link das Nähere zu erfahren; bezüglich des reinen Tablebase-Aspektes enthält der E-E-T Beispiele aller vier wichtigen Abteilungen:

A) Endspiel-strategische Aufgaben, die für Schachprogramme, ob mit oder ohne EGTB, schwierig zu lösen sind – beispielsweise:

Kategorie A) VanScheltinga 1941_E-E-T Nr.65

Königswanderung (E-E-T 065): 1.Kc2! a2 2.Kb2 Ta3 3.Ka1 Ta4 4.a7 Ta6 5.f5 exf5 6.e6 f4 7.Th8 f3 8.a8D Txa8 9.Txa8 f2 10.Ta7+ +-

B) Endspiel-taktische Aufgaben, die für Schachprogramme, ob mit oder ohne EGTB, (fast) immer lösbar sind – beispielsweise:

Kategorie B) Chispa-Gothmog 2003_E-E-T Nr.20

Zu vermeidender taktischer Reinfall (E-E-T 020): 57…g3? 58.hxg3 fxg3 59.Ld6 g2 60.Lh2 Kf6 61.a5 Kf5 62.Kxb7 +-

C) Aufgaben, die von Schachprogrammen mit EGTB meist schneller lösbar sind – beispielsweise:

Kategorie C) Weichert 1968_E-E-T Nr.78

Forcierte Abwicklung in die 5-Steiner (E-E-T 078): 1.Tf6+! Ke7 2.Ta6 bxa2 3.Txa3 Sb3+ 4.Kb2 a1D+ 5.Txa1 Sxa1 6.Le4 =

D) Aufgaben, deren Berechnung die Schachprogramme meist verlangsamt, wenn EGTB im Einsatz sind – beispielsweise:

Kategorie D) Reti 1929_E-E-T Nr.07

Weitzügiges Tempo-Spiel (E-E-T 007): 1.Kd3! Kg3 2.Ke3 Kh4 3.Kd4 Kg4 4.Ke4 Ld8 5.Ke5 g6 6.d6 La5 7.f5 Kxg5 8.f6 +-

Die Test-Resultate

1. Sie bestätigen insgesamt, dass der Einfluss der Endspiel-Datenbanken offensichtlich überschätzt wird. Denn bei den meisten Programmen sind durchaus leicht, aber statistisch vernachlässigbar positive Resultate durch den EGTB-Einsatz nachweisbar.

2. Es sind allerdings deutliche Ausnahmen zu verzeichnen.
Ein überdurchschnittlich besseres Ergebnis mit EGTB erzielen die Programme Hiarcs, Fritz, Colossus, SmarThink und ChessTiger.

3. Ein schlechteres Ergebnis mit EGTB resultierte bei den (Uralt-)Engines Gandalf, Nimzo und AnMon sowie massiv bei WildCat, (während das «Schlusslicht» Homer grundsätzlich mit der Partiephase Endspiel nicht viel am Hut hat…) – –

Engine                             Gelöste    Differenz
                                   Aufgaben
Rybka3(2CPU)__Mit EGTB             75
Rybka3(2CPU)__Ohne EGTB            74         1
Zappa MexicoII(2CPU)__Ohne EGTB    71
Zappa MexicoII(2CPU)__Mit EGTB     71         0
Colossus2008b__Mit EGTB            69
Colossus2008b__Ohne EGTB           63         6
Hiarcs11.2__Mit EGTB               68
Hiarcs11.2__Ohne EGTB              59         9
Movei00.8.438__Mit EGTB            66
Movei00.8.438__Ohne EGTB           62         4
Fritz11__Mit EGTB                  64
Fritz11__Ohne EGTB                 58         6
Naum3.1(2CPU)__Mit EGTB            66
Naum3.1(2CPU)__Ohne EGTB           62         4
SmarThink1.00__Mit EGTB            61
SmarThink1.00__Ohne EGTB           55         6
ChessTiger2007.1__Mit EGTB         60
ChessTiger2007.1__Ohne EGTB        52         8
DeepShredder11(2CPU)__Mit EGTB     58
DeepShredder11(2CPU)__Ohne EGTB    57         1
Fruit05/11/03__Mit EGTB            57
Fruit05/11/03__Ohne EGTB           55         2
WildCat8__Ohne EGTB                56
WildCat8__Mit EGTB                 48         8
Yace0.99.87__Mit EGTB              56
Yace0.99.87__Ohne EGTB             53         3
Pharaon3.5.1(2CPU)__Mit EGTB       55
Pharaon3.5.1(2CPU)__Ohne EGTB      53         2
The Baron1.8.1__Mit EGTB           53
The Baron1.8.1__Ohne EGTB          50         3
Gandalf6.0__Ohne EGTB              51
Gandalf6.0__Mit EGTB               47         4
Crafty23.00(2CPU)__Mit EGTB        48
Crafty23.00(2CPU)__Ohne EGTB       47         1
Junior10.1__Mit EGTB               47
Junior10.1__Ohne EGTB              43         4
Anaconda2.0.1__Mit EGTB            46
Anaconda2.0.1__Ohne EGTB           43         3
Nimzo8__Ohne EGTB                  45
Nimzo8__Mit EGTB                   42         3
Quark2.35__Mit EGTB                39
Quark2.35__Ohne EGTB               37         2
SOS5__Mit EGTB                     36
SOS5__Ohne EGTB                    35         1
AnMon5.60__Ohne EGTB               29
AnMon5.60__Mit EGTB                28         1
Delphil1.9__Mit EGTB               26
Delphil1.9__Ohne EGTB              23         3
Homer2.0__Ohne EGTB                24
Homer2.0__Mit EGTB                 22         2

(Gegegebenfalls wird die Liste nächstens mit zusätzlichen Programmen erweitert. Im übrigen ließe sich natürlich der Test auch auf andere Formate wie z.B. die Bitbases ausdehnen, das experimentelle Feld ist hier ein großes. Weiters wäre zu testen, welche Ergebnisunterschiede zwischen der langsameren Festplatten- und der schnelleren USB-Stick-Verwendung beim Einsatz der Bases bestehen.)

Download einer Excel-Tabelle mit allen Einzel-Resultaten: Die Nalimov-EGTB im Endspiel-Test

Lesen Sie im Glarean Magazin auch über die extrem schwierige Endspiel-Sammlung Godzilla Endgame Chess Puzzles

Ein Gedanke zu “Computerschach: Die Endspiel-Tabellen in der Praxis

  1. Hallo Walter,

    ein sehr nachdenkenswerter Beitrag über den „Unsinn“ von riesigen Datenbanken
    für die Schachprogramme.
    Rybka ist nicht nur die beste spielende Engine, sondern findet auch in
    Endspielstellungen die zuverlässigste Analyse, die jedem anderen Programm
    weit überlegen ist.
    Auch für das Studieren von Endspielen sind die großen Datenbanken nur hinderlich.

    Schönen Tag Peter

Kommentare sind willkommen! (E-Mail-Adresse wird nicht veröffentlicht)