Computerschach: Die Endspiel-Tabellen in der Praxis

Nutzen und Schaden der Endgame-Tablebases

von Walter Eigenmann

Seit der ame­ri­ka­ni­sche In­for­ma­ti­ker Ken Thomp­son vor über 20 Jah­ren erst­mals sei­ne Da­ten­ban­ken mit kom­plet­ten Lö­sun­gen von Schach-We­nig­stei­ner-Po­si­tio­nen ge­ne­rier­te, reisst die Dis­kus­si­on un­ter den Com­pu­ter­schach-Ex­per­ten nicht ab dar­über, ob bzw. in wel­chem Aus­mas­se sol­che End­spiel-Ta­bel­len (End­ga­me-Ta­b­le­ba­ses) die Per­for­mance ei­nes Schach­pro­gram­mes po­si­tiv be­ein­flus­sen. In­zwi­schen ha­ben Thomp­sons rus­si­scher Be­rufs­kol­le­ge Jew­ge­ni Na­li­mov und an­de­re (z.B. Mey­er-Kah­len: Shredderbases/SB; Pfister&Shawul: Bitbases/EGBB) die In­di­zie­rung der 3-6-Stei­ner-End­spie­le so­weit vor­an­ge­trie­ben, dass sie den Pro­gram­men bzw. In­ter­faces prak­tisch voll­stän­dig und (heut­zu­ta­ge) 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 da­bei die Na­li­mov-Da­ten­bank (EGTB), wel­che sämt­li­chen 3-5-Stei­ner um­fasst, und die mitt­ler­wei­le von den meis­ten füh­ren­den Schach-En­gi­nes un­ter­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 An­bin­dung die­ser Da­ten­ban­ken in die En­gi­ne-Struk­tur von Pro­gram­mie­rer zu Pro­gram­mie­rer un­ter­schied­li­che und dar­um auch un­ter­schied­lich ef­fi­zi­en­te Wege be­schrit­ten. Wo man­ches Pro­gramm schon früh im End­spiel ex­zes­siv auf die­se Ba­ses zu­greift, rech­nen an­de­re En­gi­nes noch lan­ge selbst­stän­dig, und wäh­rend ge­wis­se En­gi­nes sehr viel End­spiel-Know­how ein­fach an die “Na­li­movs” zu de­le­gie­ren schei­nen, er­rei­chen an­de­re Pro­gram­me ohne jeg­li­che EGTB-Hil­fe eben­so gute oder gar bes­se­re End­spiel-Re­sul­ta­te. Wel­che Schach­pro­gram­me pro­fi­tie­ren also wie sehr von die­sen “sa­gen­um­wo­be­nen” End­spiel-Da­ten­ban­ken? Oder wird de­ren Ein­fluss grund­sätz­lich über­schätzt? Mehr noch: Kön­nen En­gi­nes so­gar “aus­ge­bremst” wer­den durch EGTB?
Um ein we­nig (prak­tisch viel­leicht nutz­ba­res) Licht in die­ses (theo­re­tisch ziem­lich um­kämpf­te) Per­for­mance-Dun­kel zu brin­gen, hat der Au­tor eine Test­rei­he mit über zwei Dut­zend Schach­pro­gram­men durch­ge­führt. Letz­te­re hat­ten ein­mal mit, ein­mal ohne Ba­ses (alle 3-5-Stei­ner) die 100-teil­i­ge, in der Com­pu­ter­schach-Sze­ne recht ver­brei­te­te End­spiel-Auf­ga­ben-Samm­lung E-E-T zu durch­lau­fen. Die Aus­wahl der Pro­gram­me wur­de da­bei mehr oder we­ni­ger zu­fäl­lig vor­ge­nom­men, wie­wohl alle ver­wen­de­ten En­gi­nes heu­te 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­el­le En­gi­nes (was halt ge­ra­de sich so auf der Fest­plat­te des Au­tors tum­mel­te…) Die Pro­gram­me hat­ten (auf ei­nem ge­wöhn­li­chen In­tel-Dual-Co­re6400-Rech­ner un­ter dem Frit­z10-In­ter­face mit 128MB Hash & 64MB TB-Hash auf Hard­disk) für jede Auf­ga­be je­weils ex­akt 60 Se­kun­den Zeit.

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

Der E-E-T ent­stand 1997 und wur­de be­wusst als Samm­lung kon­zi­piert, die nicht Ta­b­le­ba­ses-sen­si­tiv sein soll­te: Die 100-teil­i­ge Suite ent­hält kaum 7- und kei­ne 6- oder gar 5-Stei­ne-Po­si­tio­nen; der E-E-T fragt also nicht in ers­ter Li­nie die Güte der tech­ni­schen EGTB-An­bin­dung ab, son­dern die bei­den Com­pu­ter­schach-re­le­van­ten Pa­ra­me­ter “End­spiel­wis­sen” und “Re­chen­tie­fe”. Über das schach­theo­re­ti­sche De­sign des E-E-T ist un­ter obi­gem Link das Nä­he­re zu er­fah­ren; be­züg­lich des rei­nen Ta­b­le­ba­se-Aspek­tes ent­hält der E-E-T Bei­spie­le al­ler vier wich­ti­gen Abteilungen:

A) End­spiel-stra­te­gi­sche Auf­ga­ben, die für Schach­pro­gram­me, 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­gram­me, ob mit oder ohne EGTB, (fast) im­mer 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­cier­te Ab­wick­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, de­ren Be­rech­nung die Schach­pro­gram­me meist ver­lang­samt, wenn EGTB im Ein­satz sind – beispielsweise:

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

Weit­zü­gi­ges Tem­po-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 be­stä­ti­gen ins­ge­samt, dass der Ein­fluss der End­spiel-Da­ten­ban­ken of­fen­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 po­si­ti­ve Re­sul­ta­te durch den EGTB-Ein­satz nachweisbar.

2. Es sind al­ler­dings deut­li­che Aus­nah­men zu verzeichnen.
Ein über­durch­schnitt­lich bes­se­res Er­geb­nis mit EGTB er­zie­len die Pro­gram­me Hiarcs, Fritz, Co­los­sus, SmarT­hink und ChessTiger.

3. Ein schlech­te­res Er­geb­nis mit EGTB re­sul­tier­te bei den (Uralt-)Engines Gan­dalf, Nim­zo und An­Mon so­wie mas­siv bei Wild­Cat, (wäh­rend das “Schluss­licht” Ho­mer grund­sätz­lich mit der Par­tie­pha­se 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

(Ge­ge­ge­ben­falls wird die Lis­te nächs­tens mit zu­sätz­li­chen Pro­gram­men er­wei­tert. Im üb­ri­gen lies­se sich na­tür­lich der Test auch auf an­de­re For­ma­te wie z.B. die Bit­ba­ses aus­deh­nen, das ex­pe­ri­men­tel­le Feld ist hier ein gros­ses. Wei­ters wäre zu tes­ten, wel­che Er­geb­nis­un­ter­schie­de zwi­schen der lang­sa­me­ren Fest­plat­ten- und der schnel­le­ren USB-Stick-Ver­wen­dung beim Ein­satz der Ba­ses bestehen.)

Down­load ei­ner Ex­cel-Ta­bel­le mit al­len Ein­zel-Re­sul­ta­ten: Die Na­li­mov-EGTB im Endspiel-Test

Le­sen Sie im Glarean Ma­ga­zin zum The­ma End­spie­le auch über Kars­ten Mül­ler: Schach­end­spie­le für Kids

Aus­ser­dem zum The­ma Schach-Da­ten­ban­ken: 676’000 Com­pu­ter-Schach­par­tien zum Downloaden

… so­wie zum The­ma Schwer­fi­gu­ren-End­spie­le über Bo­ris Gel­fand: De­cis­i­on Ma­king In Ma­jor Pie­ce En­dings (engl.)

Ein Kommentar

  1. Hal­lo Walter,

    ein sehr nach­den­kens­wer­ter Bei­trag über den “Un­sinn” von rie­si­gen Datenbanken
    für die Schachprogramme.
    Ryb­ka ist nicht nur die bes­te spie­len­de En­gi­ne, son­dern fin­det auch in
    End­spiel­stel­lun­gen die zu­ver­läs­sigs­te Ana­ly­se, die je­dem an­de­ren Programm
    weit über­le­gen ist.
    Auch für das Stu­die­ren von End­spie­len sind die gro­ßen Da­ten­ban­ken nur hinderlich.

    Schö­nen Tag Peter

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