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.
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:
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:
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:
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:
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
.
.
.
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