Computerschach: Die Endspiel-Tabellen in der Praxis

Nutzen und Schaden der Endgame-Tablebases

von Walter Eigenmann

Seit der ame­ri­ka­ni­sche Infor­ma­ti­ker Ken Thomp­son vor über 20 Jah­ren erst­mals seine Daten­ban­ken mit kom­plet­ten Lösun­gen von Schach-Wenig­stei­ner-Posi­tio­nen gene­rierte, reisst die Dis­kus­sion unter den Com­pu­ter­schach-Exper­ten nicht ab dar­über, ob bzw. in wel­chem Aus­masse sol­che End­spiel-Tabel­len (End­game-Tab­le­ba­ses) die Per­for­mance eines Schach­pro­gram­mes posi­tiv beein­flus­sen. Inzwi­schen haben Thomp­sons rus­si­scher Berufs­kol­lege Jew­geni Nali­mov und andere (z.B. Meyer-Kah­len: Shredderbases/SB; Pfister&Shawul: Bitbases/EGBB) die Indi­zie­rung der 3-6-Stei­ner-End­spiele soweit vor­an­ge­trie­ben, dass sie den Pro­gram­men bzw. Inter­faces prak­tisch voll­stän­dig und (heut­zu­tage) fast in Echt­zeit zur Ver­fü­gung ste­hen. Am häu­figs­ten in der Com­pu­ter­schach-Pra­xis ein­ge­setzt wird dabei die Nali­mov-Daten­bank (EGTB), wel­che sämt­li­chen 3-5-Stei­ner umfasst, und die mitt­ler­weile von den meis­ten füh­ren­den Schach-Engi­nes unter­stützt wird.

Von Engine zu Engine unterschiedliches Zugriff-Handling

Unix-Entwickler und Computerschach-Pionier: Ken Thompson (*1943)
Unix-Ent­wick­ler und Com­pu­ter­schach-Pio­nier: Ken Thomp­son (*1943)

Nun wer­den bei der Anbin­dung die­ser Daten­ban­ken in die Engine-Struk­tur von Pro­gram­mie­rer zu Pro­gram­mie­rer unter­schied­li­che und darum auch unter­schied­lich effi­zi­ente Wege beschrit­ten. Wo man­ches Pro­gramm schon früh im End­spiel exzes­siv auf diese Bases zugreift, rech­nen andere Engi­nes noch lange selbst­stän­dig, und wäh­rend gewisse Engi­nes sehr viel End­spiel-Know­how ein­fach an die “Nali­movs” zu dele­gie­ren schei­nen, errei­chen andere Pro­gramme ohne jeg­li­che EGTB-Hilfe ebenso gute oder gar bes­sere End­spiel-Resul­tate. Wel­che Schach­pro­gramme pro­fi­tie­ren also wie sehr von die­sen “sagen­um­wo­be­nen” End­spiel-Daten­ban­ken? Oder wird deren Ein­fluss grund­sätz­lich über­schätzt? Mehr noch: Kön­nen Engi­nes sogar “aus­ge­bremst” wer­den durch EGTB?
Um ein wenig (prak­tisch viel­leicht nutz­ba­res) Licht in die­ses (theo­re­tisch ziem­lich umkämpfte) Per­for­mance-Dun­kel zu brin­gen, hat der Autor eine Test­reihe mit über zwei Dut­zend Schach­pro­gram­men durch­ge­führt. Letz­tere hat­ten ein­mal mit, ein­mal ohne Bases (alle 3-5-Stei­ner) die 100-teil­ige, in der Com­pu­ter­schach-Szene recht ver­brei­tete End­spiel-Auf­ga­ben-Samm­lung E-E-T zu durch­lau­fen. Die Aus­wahl der Pro­gramme wurde dabei mehr oder weni­ger zufäl­lig vor­ge­nom­men, wie­wohl alle ver­wen­de­ten Engi­nes heute auch in den ein­schlä­gi­gen CS-Tur­nie­ren ein­ge­setzt wer­den: Sin­gle- und Dual-Core-, alte und neue, Free­ware- und kom­mer­zi­elle Engi­nes (was halt gerade sich so auf der Fest­platte des Autors tum­melte…) Die Pro­gramme hat­ten (auf einem gewöhn­li­chen Intel-Dual-Core6400-Rech­ner unter dem Frit­z10-Inter­face mit 128MB Hash & 64MB TB-Hash auf Hard­disk) für jede Auf­gabe jeweils exakt 60 Sekun­den Zeit.

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

Der E-E-T ent­stand 1997 und wurde bewusst als Samm­lung kon­zi­piert, die nicht Tab­le­ba­ses-sen­si­tiv sein sollte: Die 100-teil­ige Suite ent­hält kaum 7- und keine 6- oder gar 5-Steine-Posi­tio­nen; der E-E-T fragt also nicht in ers­ter Linie die Güte der tech­ni­schen EGTB-Anbin­dung ab, son­dern die bei­den Com­pu­ter­schach-rele­van­ten Para­me­ter “End­spiel­wis­sen” und “Rechen­tiefe”. Über das schach­theo­re­ti­sche Design des E-E-T ist unter obi­gem Link das Nähere zu erfah­ren; bezüg­lich des rei­nen Tab­le­base-Aspek­tes ent­hält der E-E-T Bei­spiele aller vier wich­ti­gen Abteilungen:

A) End­spiel-stra­te­gi­sche Auf­ga­ben, die für Schach­pro­gramme, ob mit oder ohne EGTB, schwie­rig zu lösen sind – beispielsweise:

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

Königs­wan­de­rung (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) End­spiel-tak­ti­sche Auf­ga­ben, die für Schach­pro­gramme, ob mit oder ohne EGTB, (fast) immer lös­bar sind – beispielsweise:

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

Zu ver­mei­den­der tak­ti­scher Rein­fall (E-E-T 020): 57…g3? 58.hxg3 fxg3 59.Ld6 g2 60.Lh2 Kf6 61.a5 Kf5 62.Kxb7 +-

C) Auf­ga­ben, die von Schach­pro­gram­men mit EGTB meist schnel­ler lös­bar sind – beispielsweise:

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

For­cierte Abwick­lung in die 5-Stei­ner (E-E-T 078): 1.Tf6+! Ke7 2.Ta6 bxa2 3.Txa3 Sb3+ 4.Kb2 a1D+ 5.Txa1 Sxa1 6.Le4 =

D) Auf­ga­ben, deren Berech­nung die Schach­pro­gramme meist ver­lang­samt, wenn EGTB im Ein­satz sind – beispielsweise:

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

Weit­zü­gi­ges 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ä­ti­gen ins­ge­samt, dass der Ein­fluss der End­spiel-Daten­ban­ken offen­sicht­lich über­schätzt wird. Denn bei den meis­ten Pro­gram­men sind durch­aus leicht, aber sta­tis­tisch ver­nach­läs­sig­bar posi­tive Resul­tate durch den EGTB-Ein­satz nachweisbar.

2. Es sind aller­dings deut­li­che Aus­nah­men zu verzeichnen.
Ein über­durch­schnitt­lich bes­se­res Ergeb­nis mit EGTB erzie­len die Pro­gramme Hiarcs, Fritz, Colos­sus, SmarT­hink und ChessTiger.

3. Ein schlech­te­res Ergeb­nis mit EGTB resul­tierte bei den (Uralt-)Engines Gan­dalf, Nimzo und AnMon sowie mas­siv bei Wild­Cat, (wäh­rend das “Schluss­licht” Homer grund­sätz­lich mit der Par­tie­phase End­spiel 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

(Gege­ge­ben­falls wird die Liste nächs­tens mit zusätz­li­chen Pro­gram­men erwei­tert. Im übri­gen liesse sich natür­lich der Test auch auf andere For­mate wie z.B. die Bit­ba­ses aus­deh­nen, das expe­ri­men­telle Feld ist hier ein gros­ses. Wei­ters wäre zu tes­ten, wel­che Ergeb­nis­un­ter­schiede zwi­schen der lang­sa­me­ren Fest­plat­ten- und der schnel­le­ren USB-Stick-Ver­wen­dung beim Ein­satz der Bases bestehen.)

Down­load einer Excel-Tabelle mit allen Ein­zel-Resul­ta­ten: Die Nali­mov-EGTB im Endspiel-Test

Lesen Sie im Glarean Maga­zin zum Thema End­spiele auch über Kars­ten Mül­ler: Schach­end­spiele für Kids

Aus­ser­dem zum Thema Schach-Daten­ban­ken: 676’000 Com­pu­ter-Schach­par­tien zum Downloaden

… sowie zum Thema Schwer­fi­gu­ren-End­spiele über Boris Gel­fand: Decis­ion Making In Major Piece Endings (engl.)

Ein Kommentar

  1. Hallo Wal­ter,

    ein sehr nach­den­kens­wer­ter Bei­trag über den “Unsinn” von rie­si­gen Datenbanken
    für die Schachprogramme.
    Rybka ist nicht nur die beste spie­lende Engine, son­dern fin­det auch in
    End­spiel­stel­lun­gen die zuver­läs­sigste Ana­lyse, die jedem ande­ren Programm
    weit über­le­gen ist.
    Auch für das Stu­die­ren von End­spie­len sind die gro­ßen Daten­ban­ken nur hinderlich.

    Schö­nen Tag Peter

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