Computerschach: 4. Version des Swiss-Test

Der SwissTest mit „avoid moves“

von Walter Eigenmann

Großmeister können es, Weltmeister tun es, Amateure möchten es, und Patzer sollten es – nämlich das, was (virtuos angewendet) im Schach die große Klasse von der großen Masse unterscheidet: das Vermeiden schlechter Züge. Genau dieses für jede Schach-Performance Fundamentale liegt auch dem SwissTest, einer 64-teiligen Computerschach-Test-Sammlung zugrunde, welche insofern ungewohnte Wege geht, als ihre Stellungen jeweils nicht nach dem einzigen richtigen Zug fragen, sondern mit einem verführerischen falschen locken. –

Der vorletzte Fehler gewinnt

Ein praktizierender Schachspieler – gleich welcher Stärke – erfährt bei jedem Turnier (oft schmerzlich) von neuem, dass der Erfolg keineswegs (nur) von seinen gefundenen guten, sondern vielmehr (auch) von den vermiedenen schlechten Zügen bestimmt wird. Kaum je die Tops, sondern mindestens ebenso sehr die Flops entscheiden über den Ausgang von Partien – von der Welt des Blitz- und Rapid-Schachs noch gar nicht geredet.
Selbstverständlich, es gibt sie durchaus, jene Genie-Blitze der Aljechins und Kasparows, die quasi aus heiterem Himmel mit Donnergetöse die feindliche Stellung in Schutt und Asche legen. Aber man schaue sich in der Schachliteratur der großen Kommentatoren von Keres bis Karpow mal genau an, was diesen ach so fetten Doppel-Ausrufezeichen in vielen Fällen vorausgeht. Man ahnt es: ein ebenso dickes Fragezeichen für den Verlierer. In aller Munde ist ja unter Schachspielern auch das treffende Bonmot Tartakowers: «Der vorletzte Fehler gewinnt».
Was in der Schach-Welt des Menschen gilt, ist nicht wesentlich anders im Maschinen-Schach. Hier die Fehler bzw. die zweit- bis viertklassigen Züge herauszufischen ist allerdings sehr viel aufwändiger, als in (gut kommentierten) Büchern bzw. Datenbanken mit «humanoiden» Partien zu stöbern. Denn Schach-Programme sind längst zu taktisch omnipotenten Kombinations-Aliens mutiert, deren «Fehler» nur noch nachzuweisen sind mit Hilfe von – Schach-Programmen…

11.axb4? Lxb4 12.Db3 Tc8 13.Tc1 Da5 14.Kd2 0-0 15.Ld3 Tc7 16.Sg1 f6 17.exf6 e5 -+ (SwissTest4, Rybka22-Naum21, CompGame 2007)

Gleichwohl findet, wer geschickt (und hartnäckig genug) sucht, auch in der modernen Software-Gewinnpartie jenen berühmten «Knick», der die «ausgeglichene» Remis-Stellung zur Schwarz- oder Weiß-lastigen Problem-Position kippen lässt. Wobei man sich bei der entspr. Recherche keinesfalls auf die – von den GUI’s in die Partien geschriebenen – automatischen Engine-Bewertungs-Outputs der Programme selber verlasse! Diese sind selten präzis oder auch nur realistisch, vielmehr meist zufällig bzw. willkürlich, weil sie weniger mit Stellungseinschätzung denn mit programmiertechnisch begründeter Zug-Generierung zu tun haben. An der oft zeitintensiven interaktiven Analyse mit Hilfe hierfür besonders geeigneter Engines führt für leider kein Weg vorbei…

Für Anwender und Programmierer…

Von Anfang an – der SwissTest liegt mittlerweile hier in seiner vierten, stark erweiterten Fassung vor – schwebten mir zwei Zielsetzungen vor:
1. Dem Anwender ein schnelles Instrument an die Hand zu geben, mit welchem die ungefähre Leistungsgegend eines neuen Programms in dem mittlerweile hunderte von Engines umfassenden (und noch immer ständig wachsenden) Feld eruiert werden könne;
2. Dem Programmierer behilflich zu sein beim Verbessern seiner Engine, indem der Test Engine-Fortschritte zu dokumentieren vermöge.

18…Lb7?; 18…Tb8?; 18…Ld7?; 18…Ta7? 19.Df6+ Lxf6 20.gxf6+ Dxf6 (Var) 21.exf6+ Kxf6 22.Lxc5 +- (SwissTest4: Asauskas-Malisauskas, Vilnius 2004)

Dazu trägt wesentlich bei, dass die 64-teilige Suite eine spezifische Computerschach-relevante Palette der thematischen Schwerpunkte aufweist. Namentlich sind es die Schach-Motive (welche in einer gegebenen Stellung natürlich ineinanderfließen können):
– Vergifteter Bauer – Königssicherheit – Verteidigung – Grundreihe – Springermanöver – Läuferopfer – Springeropfer – Turmopfer – Qualitätsopfer – Damenopfer – Königsangriff – Entwicklung – Initiative – Linienöffnen – Prophylaxe – Starke Felder – Türme vs Dame – Vorposten – Endspiel

Drei spezielle Defizit-Bereiche bei Schachprogrammen, an denen auch modernste Engines immer noch am häufigsten kranken, erfuhren dabei eine stärkere Berücksichtigung: Die «Verteidigung» (= der Widerstand in schlechter Stellung), die «Königssicherheit» (involviert: der «Königsangriff») sowie der «Vergiftete Bauer» (= „Materialismus“).

…und für Schwache wie Starke

Bewusst beinhaltet der SwissTest (neben «klassischen» Stellungen) vorwiegend Positionen aus der jüngeren und jüngsten internationalen Computerschach-Szene, wo die «Silikanten» entscheidend danebenhauten, denn die Kollektion ist explizit für den Gebrauch mit Schach-Software ausgelegt. (Inwiefern sich übrigens Mensch und Maschine hinsichtlich der «Qualität» ihrer Fehler unterscheiden, wäre ein speziell interessantes Untersuchungsfeld!)

Allen «Lösungszügen» im SwissTest ist jedenfalls eines gemeinsam: Sie sollen nicht «gefunden» werden. Denn diese zu vermeidenden Züge (im CS-Jargon: avoid moves bzw. «am») führen entweder forciert zum Verlust oder sind zumindest die nachweislich schlechtesten unter mindestens zwei, oft auch drei oder noch mehr vernünftig spielbaren Zug-Alternativen. (Letztere müssen dabei keineswegs in jedem Falle eine radikale Umbewertung der gg. Stellung bedeuten, sondern können in Einzelfällen auch «nur» eine deutliche Verstärkung des Widerstandes darstellen, ohne das Partie-Resultat letztendlich zwingend zu beeinflussen). Gleichwohl ist eben die Pointe dieser Sammlung, dass die falschen Züge äußerst verführerisch sind, zumal für Schachprogramme. Stichproben haben jedenfalls gezeigt, dass jede Aufgabe von so mancher (in entspr. Turnieren) genutzter Engine falsch «gelöst» wird. Insgesamt ist der SwissTest aber bewusst eher bei der leichten Muse angesiedelt, denn er soll nicht nur für starke Profi-Programme, sondern auch für schwächere (Amateur-)Engines aussagekräftige Relationen liefern.

60 Sekunden pro Stellung

30.Dxh1? e3+ 31.Kg1 Txh1+ 32.Kxh1 e2 -+ (SwissTest4: Fischer-Uhlmann, BuenosAires 1960)

Das Konzept des SwissTest wurde betont praxisrelevant gehalten:
1. Die empfohlene Bedenkzeit pro Stellung beträgt 60 Sekunden und ist damit der gängigen Praxis zahlloser internationaler Engine-Tester angenähert
2. Es wurden bewusst vorwiegend Stellungen aus dem Computerschach verwendet, um einen grösstmöglichen Bezug des Testes zu seinem Gegenstand zu gewährleisten
3. Eher «taktische» und eher «strategische» Positionen sind einigermaßen ausgewogen vertreten (wobei diese im Human-Schach übliche Unterscheidung im Computer-Schach nur beschränkt Sinn macht…)
4. Für die Generierung einer Rangliste ist einfach die Anzahl richtiger Lösungen einer Engine zu verwenden

(Der Name dieser mit 64 Mittel- und Endspielstellungen bestückten Test-Suite hat übrigens rein private Gründe und leitet sich aus der chronischen Verärgerung des Autors über manche Spitzenpolitiker seines Schweizer Heimatlandes ab, welche in ihrer Angst vor Fehlentscheiden lieber gleich gar nichts mehr machen… 😉

Die mitgelieferten Analysen (siehe Download) wurden sorgfältig u.a. mit starker Schach-Software erstellt, streben allerdings nicht Vollständigkeit an, sondern wollen nur das Wesentliche skizzieren und schachlich weniger versierten Programmierern die Hauptstränge aufzeigen, wobei jede Stellung im Header thematisch grob eingeordnet wurde.

Der SwissTest in der Praxis

Der deutsche Schachfreund, Computerschach-Experte, Engine-Tester und ehemalige Moderator des bekannten Computerschach-Forums CSS Manfred Meiler hat inzwischen über 80 alte und neue Programme über den je rund einstündigen SwissTest4-Parcours geschickt und dabei die folgende Engine-Rangliste generiert:

     Programm                 CPU      Lösungen

001. RobboLito 0.085e4         1       55
002. Rybka 3                   2       52
     Rybka 3 Dynamic           2       52
     Rybka 3 Human             2       52
005. Rybka 3                   1       51
006. Rybka 3 Dynamic           1       50
007. Rybka 3 Human             1       49
     Ryba 2.3.2a               1       49
009. Stockfish 1.5.1           2       48
010. Fritz 12                  1       46
     Protector 1.3.2           2       46
     Zappa Mexico II           2       46
     Cyclone xTreme            2       46
014. Glaurung 2.2              2       44
     Rybka 2.2n2               2       44
     Toga II 1.4.2JD           2       44
017. Fritz 11                  1       43
     Shredder 12 UCI           1       43
     Spark 0.3                 1       43
     LoopMP 12.32              2       43
     Zappa Mexico II           1       43
022. Bright 0.4a               2       42
     Frenzee feb08             1       42
     Hiarcs 11.2               1       42
025. Shredder 11 UCI           1       41
     Rybka WinFinder 2.2       2       41
     Fruit 05/11/03            1       41
     Movei00_8_438             1       41
029. Bright 0.3a               2       40
     Toga II 1.3.1             1       40
     Protector 1.3.1           2       40
032. Glaurung 2.1              2       39
     Fruit 2.3.1               1       39
034. Fritz 10                  1       38
     Critter 0.42              1       38
     Strelka 2.0 B             1       38
037. LoopMP 12.32              1       37
     Doch 09.980               1       37
039. Twisted Logic 20080620    1       36
     Spike 1.2 Turin           1       36
     ProDeo 1.6                1       36
042. Twisted Logic 20090922    1       35
     Naum 2.0                  1       35
     Alfil 8.1.1               1       35
045. Scorpio 2.0               1       34
     The King 3.50             2       34
     Delfi 5.4                 1       34
048. Chess Tiger 15.0 aggr.    1       33
     SOS 5.1                   1       33
050. The Baron 2.23            1       32
     Ktulu 4.2                 1       32
     Crafty 23.1 (WB)          2       32
053. Ruffian 2.1.0             1       31
     Crafty 22.01 (CB)         2       31
     Cyrano 0.6b17             1       31
     Scorpio 2.3               1       31
     Gandalf 6.0               1       31
     Alaric 707                1       31
059. Little Goliath Evolution  1       30
     Comet B68 (CB)            1       30
061. Tornado 3.42a             2       29
     Colossus 2007d            1       29
     Pharaon 3.5.1             2       29
064. Yace 0.99.87              1       28
     Arasan 10.4 SP            1       28
     Quark 2.35                1       28
     SlowChess Blitz WV2.1     1       28
     Ufim 8.02                 1       28
069. Homer 2.01                1       27
     Anaconda 2.0.1            1       27
     Aristarch 4.50            1       27
     Jonny 2.83                1       27
073. Hamsters 0.7.1            1       26
     Nimzo 8                   1       26
     WildCat 8                 1       26
     AnMon 5.75                1       26
077. Chess Tiger 15.0 normal   1       25
078. Queen 4.03                1       24
079. BamBam                    1       23
     AnMon 5.66                1       23
081. Amyan 1.72                1       22
082. Doctor? 3.0               1       21
     AnMon 5.60                1       21
084. Monarch 1.7               1       20
 (Stand: 4.Dezember 2009)
- Hardware: Intel Core2Duo 6400 mit 2,13GHz und 2 GB RAM
- OS:       Windows Vista Home 32-Bit (mit SP1)
- GUI:      Fritz11 bzw. CB-Rybka3 mit der Funktion "Testsuite lösen",
            60 Sekunden je Aufgabe (ExtraPly=99)
- Engines:  128 MB Hash und Zugriff auf die 5-Steiner-TableBases
            (Shredder auch auf die 5men-ShredderBases)

Download (CBH – PGN – EPD / Zip-File 23KB) – (Für jene Anwender, welche neben Chessbase-GUIs noch andere Schach-Oberflächen (z.B. «Arena»,  «Shredder» oder «Aquarium») nutzen, ist im Download neben den CBH-Files und einer PGN-Datei auch ein EPD-Text-File integriert, womit der SwissTest problemlos portiert werden kann)

Excel-Datei (mit den detaillierten Ergebnissen aller 84 bisherigen Engine-Tests / 82KB)

Lesen Sie im Glarean Magazin auch über den neuen 111-teiligen Stellungstest von Walter Eigenmann: Der ERET-Test für Schachprogramme


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