Computerschach: 100 Endspiel-Puzzles für Programme

Der Schach-Endspiel-Test E-E-T

von Walter Eigenmann

In 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. Ein neuer, spezifisch für Engines konzipierter Stellungstest mit 100 Endspiel-Puzzles ordnet die Programme auf diesem Gebiet ein.

Der E-E-T als erster Indikator der Endspielstärke

Studie von Queckenstadt (aus Walter Eigenmann: Hundert Schach-Endspiele für Computer)
Studie von Queckenstadt

Ausgehend von der Diskrepanz zwischen der Wichtigkeit der letzten Partie-Phase im aktuellen „Engine-Betrieb“ einerseits und dem Mangel an geeignetem modernem Test-Material anderseits hat der Autor 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 schliesslich die Anzahl richtiger Lösungen entscheidet.

Eine einheitlich-kompakte Suite

Studie von Kondratjev (aus Walter Eigenmann: Hundert Schach-Endspiele für Computer)
Studie von Kondratjev

1. Die Material-Verteilung des E-E-T orientiert sich einigermassen an der Häufigkeit, wie sie sich zeigt in grossen Partien-Sammlungen wie z.B. der bekannten „Mega-Database“ oder v.a. der „COMP2007“ mit Computerschach-Partien, womit die Affinität der Suite zum „realen Schachleben“ angestrebt wurde. (Turm-Endspiele nehmen beispielsweise also besonders grossen 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“.

Die Studie als Repräsentant einer Endspiel-„Idee“

Studie von Salov (aus Walter Eigenmann: Hundert Schach-Endspiele für Computer)
Studie von Salov

3. 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össtmö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 ausserdem 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.

Mittelschwere Aufgaben und thematisch breites Feld

Studie von Sämisch (aus Walter Eigenmann: Hundert Schach-Endspiele für Computer)
Studie von Sämisch

5. Der (vorläufige, weil ja 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össte 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.

Studie von Van Sheltinga (aus Walter Eigenmann: Hundert Schach-Endspiele für Computer)
Studie von Van Sheltinga

7. 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
(siehe auch hier betreffend Einfluss der "Nalimovs" auf die Endspielperformance verschiedener Schach-Programme)

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 bloss die Maschine all die Arbeit erledigen zu lassen…;-)

Download-Möglichkeiten für div. Anwendungssoftware

Der Download aller notwendigen Dateien beinhaltet neben den (alphabetisch nach Material sortierten) Stellungen&Analysen im PGN-Format auch ein EPD-File für den Import in alle gängigen Schach-GUIs sowie eine Excel-Tabelle. Hier lässt sich eine CBH-Datei (gepackt als CBV) für Chessbase-Anwender runterladen.

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

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

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

Lesen Sie im Glarean Magazin zum Thema Computerschach auch über den ERET-Stellungstest (Neue Testaufgaben für Programme)

2 Gedanken zu “Computerschach: 100 Endspiel-Puzzles für Programme

  1. Erstmal vielen Dank für die Zusammenstellung der E-E-T, den ich kürzlich entdeckt habe. Eine kleine Anmerkung zu E_E_T 002. Stellung: 8/p5pp/3k1p2/3p4/1P3P2/P1K5/5P1P/8 b – – 0 32 Hier wird 32… g5 als Lösungszug angegeben. Das ist wohl die beste Verteidigung, aber verhindert ebenfalls nicht die Niederlage. Auch hier kommt Zugzwang zum Tragen. Der einzige Gewinnzug ist 33. Kd3!! – falls 33… gxf4 (33… g4 34. Kd4 Kc6 35. f5; 33… Kc6 34. f5) 34. Kd4 a6 (34… Kc6 35. a4) 35. f3 Die ganzen Varianten zu berechnen ist als Mensch kaum schaffbar, aber z.B. Stockfish sieht nach 32… g5 33. Kd3 sehr schnell, dass Weiß gewinnen kann.

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