Hundert Schach-Endspiele für Computer

Die letzte Partie-Phase auf dem Prüfstand

Walter Eigenmann

queckenstaedt-glarean-magazin.jpgIn unserem (Computer)Schach-Zeitalter der riesigen, teils 15- bis 25-zügigen Eröffnungs-Bibliotheken bzw. -Daten-Banken, vor allem aber der mittlerweile für Menschen kaum mehr nachvollziehbaren, extremen taktischen Schlagkraft aller Programme im Mittelspiel, welche die Unterschiede zwischen den Top-Engines in Matches und Turnieren quasi verwischt, kommt (neben dem positionellen Spiel-«Verständnis») v.a. einer Komponente der Performance eine ständig wachsende Bedeutung zu: dem Endspiel.

Ausgehend von der Diskrepanz zwischen dieser Wichtigkeit der letzten Partie-Phase im aktuellen «Engine-Betrieb» einerseits und dem Mangel an geeignetem modernem Test-Material anderseits habe ich eine umfangreiche Aufgaben-Suite zusammengestellt, welche als erster Indikator der Endspielstärke eines (neuen) Schachprogramms fungiert:

Diese Sammlung unter dem Namen E-E-T (= Eigenmann Endspiel Test) setzt sich aus exakt hundert, in den einschlägigen Datenbanken sowie in verschiedenster Literatur aus den vier Bereichen «Computerschach», «Fernschach», «Historische Turniere» und «Studien» recherchierten Endspiel-Positionen zusammen, welche einer Engine je 60 Sekunden lang zur Berechnung unterbreitet werden sollen, wobei schließlich die Anzahl richtiger Lösungen entscheidet.

Der E-E-T als einheitlich-kompakte Suite

…ist folgendermaßen charakterisiert:

kondratjev-glarean-magazin.jpg1. Die Material-Verteilung des E-E-T orientiert sich einigermaßen an der Häufigkeit, wie sie sich zeigt in großen Partien-Sammlungen wie z.B. der bekannten «Mega-Database» oder v.a. der «COMP2007», womit die Affinität der Suite zum «realen Schachleben» angestrebt wurde. (Turm-Endspiele nehmen beispielsweise also besonders großen Raum ein).

2. Der E-E-T enthält bewusst zahlreiche Positionen aus dem jüngeren und jüngsten internationalen Engine-Engine-Testbetrieb, um schachlich eine weitgehende Nähe dieses Computer-Schach-Tests zu seinem Gegenstand zu gewährleisten. Darüber hinaus räumt die Suite dem eher taktischen Element im Endspiel zwangsläufig eine gewisse Priorität ein, da es (vorläufig noch?) sinnlos ist, Computerprogramme im Hinblick auf strategische Endspiele zu befragen. Der E-E-T honoriert also bis zu einem bestimmten Punkt besonders auch die «Rechenkraft» bzw. Suchtiefe eines Programms. Insgesamt werden aber doch im E-E-T genau wie in anderen guten Stellungstests jene Engines eher reüssieren, die sowohl gut rechnen als auch viel «wissen».

salov-glarean-magazin.jpg3. Ein beachtlicher Teil der E-E-T-Aufgaben sind sog. Studien. Diese Kompositionen präsentieren, wo sie auf technisch hohem Niveau daherkommen, die «Idee», den thematischen Kern eines Endspieles oft in besonders «reiner», unverschnörkelter Form, womit sie sehr geeignet sind für CS-Tests. Dabei wurde allerdings auf größtmögliche Realitätsnähe geachtet; bis auf wenige Ausnahmen hätten die fraglichen Stellungen problemlos auch in tatsächlich gespielten Computer- oder Menschen-Partien entstanden sein können.

4. In thematischer Hinsicht deckt der E-E-T bewusst ein breites Spektrum ab (ohne natürlich vollständig sein zu wollen): Von der «Ablenkung» bis zum «Zugzwang», vom «Abzug» über den «Entfernten Freibauern» und die «Festung» bis hin zur «Pattfalle» und zum «Zwischenzug» sind zahlreiche Endspiel-relevanten Themata integriert worden. Als CS-Suite geht der Test vereinzelt auch spezifisch Computerschachlichem wie etwa «Nullmove-» oder «Horizont»-Effekten nach. Mit ein paar wenigen Beispielen ist außerdem der Partie-Bereich Mittelspiel-Endspiel-Übergang vertreten; diesem (zumal im Engine-Schach) ebenfalls sehr wichtigen Sektor will sich der Autor aber in einem späteren Stellungstest spezifisch widmen.

samisch-glarean-magazin.jpg5. Der (vorläufige, weil grundsätzlich Hardware-abhängige) Schwierigkeits-Grad des E-E-T ist übers Ganze betrachtet als mittelschwer einzustufen. Um für ein möglichst breites Feld an Schach-Programmen praktikabel zu sein, beinhaltet die Suite ebenso eine Reihe von ziemlich schwierigen wie ziemlich leichen Aufgaben. Keine Rolle spielten bei der Auswahl hingegen ästhetische oder gar historische Gesichtspunkte – wiewohl unter diesen 100 Momentaufnahmen selbstverständlich viele herrlichste Zeugnisse schach-künstlerischen Genies der letzten 200 Jahre zu entdecken sind. Dem «eindeutigen Testcharakter» einer Stellung wurde aber in jedem Falle oberste Priorität eingeräumt.

60 Sekunden pro Stellung

6. Um auch hinsichtlich der zu verwendenden Bedenkzeit im E-E-T den «Bezug zur Realität» herzustellen, wurden 60 Sekunden pro Stellung veranschlagt. Eine Minute pro Zug mag einem «normalen Vereinsspieler» (=Computerschach-Unkundigen?) nicht besonders lange vorkommen. Tatsächlich aber trifft man so viel durchschnittliche Endspiel-BZ im internationalen Programm-Testbetrieb kaum mehr an; der wahrscheinlich weitaus größte Teil aller CS-Matches und -Turniere wickelt sich in den Blitz- und Rapid-Zeitzonen von 1 bis 25 Minuten pro Partie/Engine ab. Insofern seien also diese 60 Sekunden ein Kompromiss zwischen der Turnierschach- (=2Stunden/Engine) und der Blitzschach- (=5Minuten/Engine) Praxis.

vansheltinga-glarean-magazin.jpg7. In der Computerschach-Szene sind spezielle Endspiel-Datenbanken gebräuchlich. Auch für den E-E-T sind diese «3-6-Steiner» nicht ganz irrelevant, aber der «Nalimov-Effekt» dürfte sich (sowohl positiv wie negativ) kaum bemerkbar machen. Wie man an der untenstehenden Schluss-Rangliste sieht, finden sich TB-unterstützende Programme sowohl im vorderen als auch im hinteren Viertel des Ranking-Feldes (wobei übrigens jede Engine mit allen ihr technisch möglichen 3-5- inkl. Shredder-Bases getestet wurde). Und vergleicht man einige Stichproben-Resultate von Top-10-Programmen, wird sofort augenfällig, welche marginale Rolle Endspiel-Tabellen bezüglich des Rankings spielen:

Programm              Lösungen    Lösungen
–                     mit Bases   ohne Bases
1. Shredder 10        68          62
2. Rybka 2.2          64          61
3. Fritz 10           64          61
4. Deep Frenzee       61          61
5. Hiarcs 11.1        59          59

(Betreffend Einfluss der «Nalimovs» auf die Endspielperformance verschiedener Schach-Programme siehe auch hier)

8. Die Zug-Kommentare zu den einzelnen 100 E-E-T-Aufgaben (siehe «Download») übernehmen in der Zeichengebung den internationalen «Informator»-Standard und wurden in monatelanger analytischer Arbeit auch unter Einsatz adäquater Software erstellt. Gleichwohl beschränken sie sich aufs Allerwesentlichste – was gleichbedeutend sei mit der Einladung an die Anwenderschaft, sich auch selbst in die Stellungen zu vertiefen und nicht bloß die Maschine all die Arbeit erledigen zu lassen…;-)

Der Download aller notwendigen Dateien beinhaltet neben den (alphabetisch nach Material sortierten) Stellungen&Analysen (im CBH- und PGN-Format) auch ein EPD-File für den Import in alle gängigen Schach-GUIs sowie eine Excel-Tabelle.

Für Anregungen und Kritik aus der Anwenderschaft, sei es zu schachlichen oder konzeptionellen Elementen dieser Suite, bin ich jederzeit dankbar! Der E-E-T will in Sachen «Endspielfähigkeit eines Schach-Programmes» mitnichten als alleinselig-machende Wahrheit daher-kommen. Aber ich denke, dass er sein oberstes Ziel erfüllen wird, ein schneller Indikator bei (neuen) Engines bezüglich des so wichtigen dritten Partie-Abschnittes zu sein.

Der E-E-T in der Praxis (32bit/1CPU)

Die folgenden E-E-T-Resultate (Stand: 24. September 2007) wurden bei 60 Sekunden/Engine mit einem Athlon64/3000+ (128MB Hash) sowie den 3-5-men-Nalimov-, Shredder- und Bit-Bases bei einem TB-Cache von 64MB unter der «Fritz-10»- und der «Arena-1.99b4»-Oberfläche mit den jeweiligen Default-Einstellungen erspielt. Insgesamt wurden bis heute fast 120 Engines getestet (siehe die detaillierten Lösezeiten aller Engines im Excel-Download-File); die nachstehende Liste enthält nur die je besten Engines.

Programm              Lösungen  Zeitverbrauch
001. Rybka 2.3.2a          72/100    00:42:26
002. Shredder 10           68/100    00:45:17
003. Hiarcs 11.2           64/100    00:54:17
004. Fritz 10              63/100    00:49:47
005. Deep Frenzee 3.0      61/100    00:54:04
006. Movei 00.8.438        59/100    00:56:20
007. The Baron 2.12        58/100    00:59:48
008. SmarThink 1.00        55/100    01:01:32
009. Chess Tiger 2007      54/100    00:58:55
010. Colossus 2007d        54/100    01:00:51

011. Glaurung 2-epsilon/5  54/100    01:03:18
012. Toga II 1.3×4         54/100    01:03:41

013. Spike 1.2 Turin       53/100    00:59:42
014. SlowChessBlitz WV2.1  53/100    01:02:32
015. Delfi 5.1             51/100    01:05:59
016. Ktulu 8               50/100    01:02:55
017. Pharaon 3.5.1         50/100    01:03:32
018. Yace 0.99.87          50/100    01:04:44
019. LoopMP 12.32          50/100    01:06:02
020. Naum 2.0              50/100    01:06:08
021. Fruit 2.3             50/100    01:07:37
022. Alaric 707            49/100    01:03:57
023. Ruffian 2.1.0         48/100    01:05:41

024. Deep Sjeng 2.7        47/100    01:03:37
025. Crafty 20.14          47/100    01:05:26
026. Junior 10.1           45/100    01:06:14
027. Gandalf 6.0           44/100    01:06:00
028. Scorpio 1.91          43/100    01:07:35
029. Patzer 3.8            42/100    01:06:50
030. WildCat 7             40/100    01:13:10
031. Anaconda 2.0.1        40/100    01:16:26
032. Aristarch 4.50        39/100    01:13:41
033. Nimzo 8               38/100    01:13:14
034. Pepito 1.59           38/100    01:15:16

035. Arasan 10             38/100    01:17:48
036. ProDeo 1.4            38/100    01:18:50
037. Chessmaster 9000      37/100    01:13:21
038. Jonny 2.83            37/100    01:15:06

039. Petir 4.72            37/100    01:18:45
040. Amyan 1.597           35/100    01:16:58
041. Quark 2.35            35/100    01:19:32
042. LGoliath Evolution    34/100    01:14:21
043. Gaia 3.5              34/100    01:17:44
044. Amy 0.87              34/100    01:18:11
045. Tao 5.6               31/100    01:19:42
046. TheCrazyBishop 0052   30/100    01:19:37

047. TwistedLogic 20070915 30/100    01:21:34

048. Feuerstein 0.4.5.2    29/100    01:20:32
049. RomiChess P3j         28/100    01:20:55
050. AnMon 5.60            28/100    01:22:54
051. DanaSah 3.03          27/100    01:21:13
052. Aice 0.99.2           27/100    01:21:23
053. SpiderChess 070525    27/100    01:21:45
054. SOS 5                 27/100    01:21:49
055. Zappa 1.1             27/100    01:23:18

056. Hamsters 0.4          26/100    01:22:21
057. GreKo 5.0             24/100    01:25:15
058. Ufim 8.02             23/100    01:24:18
059. Chispa 4.0.3          22/100    01:25:44
060. Resp 0.19             21/100    01:24:04
061. Phalanx 22            21/100    01:24:47
062. Hagrid 0.7.56         21/100    01:25:51
063. Sunsetter C10         20/100    01:26:37
064. Homer 2.0             20/100    01:26:44

065. Asterisk 0.6          20/100    01:26:48
066. Ayito 0.2.994         19/100    01:26:05
067. BeoWulf 2.4           19/100    01:26:31
068. Queen 3.09            19/100    01:26:43
069. Abrok 5.0             19/100    01:28:31
070. Smirf MS-167d         18/100    01:27:44
071. Lime 62               17/100    01:28:33
072. AliChess 4.08         16/100    01:27:46
073. BlackBishop 0.47      16/100    01:30:03
074. BikJump 1.2.1         15/100    01:27:27
075. Mint 2.3              15/100    01:28:13
076. FireFly 2.2.2         15/100    01:28:33
077. Homer 1.1 b3          14/100    01:32:10
078. BigLion 2.23w         13/100    01:29:12
079. BamBam                10/100    01:32:58

Download (EPD-, PGN-, XLS-Files / 195kb)

Nachtrag 2016

Die obigen Resultate stammen aus dem Jahre 2007.

Heute, fast 10 Jahre später, zeigt sich – mit neuen, moderneren Programmen und auf deutlich schnellerer Hardware – ein ganz anderes Bild (siehe untenstehende Tabelle).
Die 100 Aufgaben des EET sind für heutige Engines keine wirkliche Herausforderung mehr, manche von ihnen lösen vier Fünftel aller Puzzles oder noch mehr.

Was hingegen gleich geblieben ist, ist die recht hohe Übereinstimmung der EET-Rangliste mit den aktuellen Ranglisten, wie sie sich präsentieren bei den beiden bekanntesten Computerschach-Testreihen CEGT und CCRL.
Ein Beweis u.a. auch dafür, dass ein deutlicher Zusammenhang besteht zwischen der Performance im Turnier-Betrieb einerseits und den Endspiel-Fähigkeiten eines Programmes andererseits.

  1. Stockfish 7 ……………. 88/100
  2. Komodo 10.1 …………. 85/100
  3. Houdini 4 ……………… 80/100
  4. Fritz 15 ………………… 80/100
  5. NirvanaChess 2.3 …….. 80/100
  6. Critter 1.6a ……………. 77/100
  7. Rybka 4.1 ……………… 77/100
  8. Equinox 3.30 ………….. 76/100
  9. Andscacs 0.87 ……….. 73/100
  10. Gull 3.0.1 ………………. 68/100

(15sec. pro Stellung auf Intel-4Cores – 3GHz – 64bit – 512 Mb Hash)

Ihre Meinung ist willkommen!

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s