Computerschach: Die Endspiel-Tabellen in der Praxis

Nutzen und Schaden der Endgame-Tablebases

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.

Ken Thompson
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 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.
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 +-

Zu den Test-Resultaten selbst:

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

Ein Kommentar 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

Dein Kommentar ist uns willkommen!