Computerschach: Die Endspiel-Tabellen in der Praxis

Nutzen und Schaden der Endgame-Tablebases

Wal­ter Ei­gen­mann

Seit der ame­ri­ka­ni­sche In­for­ma­ti­ker Ken Thomp­son vor über 20 Jah­ren erst­mals seine Da­ten­ban­ken mit kom­plet­ten Lö­sun­gen von Schach-We­nig­steine-Po­si­tio­nen ge­ne­rierte, reißt die Dis­kus­sion un­ter den Com­pu­ter­schach-Ex­per­ten nicht ab dar­über, ob bzw. in wel­chem Aus­maße sol­che End­game-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­lege Je­w­geni Na­li­mov und an­dere (z.B. Meyer-Kah­len: Shredderbases/SB; Pfister&Shawul: Bitbases/EGBB) die In­di­zie­rung der 3-6-Stei­ner-End­spiele 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­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 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­weile 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­gine-Struk­tur von Pro­gram­mie­rer zu Pro­gram­mie­rer un­ter­schied­li­che und darum auch un­ter­schied­lich ef­fi­zi­ente Wege be­schrit­ten. Wo man­ches Pro­gramm schon früh im End­spiel ex­zes­siv auf diese Ba­ses zu­greift, rech­nen an­dere En­gi­nes noch lange selbst­stän­dig, und wäh­rend ge­wisse 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­dere Pro­gramme ohne jeg­li­che EGTB-Hilfe ebenso gute oder gar bes­sere End­spiel-Re­sul­tate. Wel­che Schach­pro­gramme 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ämpfte) Per­for­mance-Dun­kel zu brin­gen, hat der Au­tor 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 Ba­ses (alle 3-5-Stei­ner) die 100-tei­lige, in der Com­pu­ter­schach-Szene recht ver­brei­tete Auf­ga­ben-Samm­lung E-E-T zu durch­lau­fen. Die Aus­wahl der Pro­gramme wurde 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 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 En­gi­nes (was halt ge­rade sich so auf der Fest­platte des Au­tors tum­melte…) Die Pro­gramme hat­ten (auf ei­nem ge­wöhn­li­chen In­tel-Dual-Core6400-Rech­ner un­ter dem Frit­z10-In­ter­face mit 128MB Hash & 64MB TB-Hash auf Hard­disk) für jede Auf­gabe 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 wurde be­wusst als Samm­lung kon­zi­piert, die nicht Ta­b­le­ba­ses-sen­si­tiv sein sollte: Die 100-tei­lige Suite ent­hält kaum 7- und keine 6- oder gar 5-Steine-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­tiefe». Über das schach­theo­re­ti­sche De­sign des E-E-T ist un­ter obi­gem Link das Nä­here zu er­fah­ren; be­züg­lich des rei­nen Ta­b­le­base-As­pek­tes ent­hält der E-E-T Bei­spiele al­ler vier wich­ti­gen Ab­tei­lun­gen:

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 – bei­spiels­weise:

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) im­mer lös­bar sind – bei­spiels­weise:

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 – bei­spiels­weise:

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

For­cierte 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­gramme meist ver­lang­samt, wenn EGTB im Ein­satz sind – bei­spiels­weise:

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 +-

Zu den Test-Re­sul­ta­ten selbst:

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­tive Re­sul­tate durch den EGTB-Ein­satz nach­weis­bar.

2. Es sind al­ler­dings deut­li­che Aus­nah­men zu ver­zeich­nen.
Ein über­durch­schnitt­lich bes­se­res Er­geb­nis mit EGTB er­zie­len die Pro­gramme Hi­arcs, Fritz, Co­los­sus, SmarT­hink und Chess­Ti­ger.

3. Ein schlech­te­res Er­geb­nis mit EGTB re­sul­tierte bei den (Uralt-)Engines Gan­dalf, Nimzo 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­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
.
(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.)

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

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

  1. Hallo Wal­ter,

    ein sehr nach­den­kens­wer­ter Bei­trag über den „Un­sinn“ von rie­si­gen Da­ten­ban­ken
    für die Schach­pro­gramme.
    Rybka ist nicht nur die beste spie­lende En­gine, son­dern fin­det auch in
    End­spiel­stel­lun­gen die zu­ver­läs­sigste Ana­lyse, die je­dem an­de­ren Pro­gramm
    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 hin­der­lich.

    Schö­nen Tag Pe­ter

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