Computerschach: Der Engine-Test „Nightmare 2“

Ungefähre Lesezeit für diesen Beitrag: 19 Minuten

30 Albträume für Schachprogramme

von Walter Eigenmann

Vor ca. einer Dekade veröffentlichte der Autor auf seiner damaligen Website und in div. Internet-Foren eine Datensammlung namens „Nightmare“, die 30 Teststellungen für Schach-Computer-Programme beinhaltete. Diese vornehmlich taktisch geprägten Aufgaben aus den Bereichen Eröffnung, Mittelspiel und Endspiel avancierten aufgrund ihres hohen Schwierigkeitgrades schnell zu einer damals recht häufig genutzten Sammlung, wenn es darum ging, neue Schachprogramme im Hinblick auf ihre Schlagkraft beim Aufspüren anspruchsvoller Kombinationen zu prüfen.
Heute, mehr als zehn Jahre später, zeigt sich die Spielstärke der modernen Schach-Engines so deutlich verbessert, dass eine Nachfolge-Suite „Nightmare II“ angezeigt war, welche den Schwierigkeitsgrad der Aufgaben nach oben korrigierte: Alle Teststellungen wurden nun durch noch komplexere ersetzt, insgesamt beinhaltet die neue „Nightmare“-Suite erneut 30 Puzzles des höchsten Schwierigkeitsgrades.

Recherchen in vielen Datenbanken

Vorbei die schönen Anfangsjahre des Computerschachs in den 1970er und -80er Jahren, als jeder Amateur die Blechkisten - hier ein früher
Vorbei die schönen Anfangsjahre des Computerschachs in den 1970er und -80er Jahren, als jeder Amateur die Blechkisten – hier ein früher „Chess Challenger“ von Fidelity Electronics – mit einfachen Bauernopfern bezwingen konnte…

Als Quellen dienten dabei v.a. meine eigenen umfangreichen (teils früheren) Recherchen in verschiedenen Datenbanken, hie und da wurde auch eine besonders interessante Stellung in einschlägigen Computerschach-Foren entdeckt. Weiters durchforstete ich einige neuere Buchpublikationen – darunter namentlich Veröffentlichungen von John Nunn und John Watson – sowie internationale Schach-Magazine. Die schwierigsten, spricht tiefsten Kombinationen finden sich aber naturgemäß in modernen Studien-Sammlungen sowie in den Datenbanken der aktuellen Fernschach-Server.

... während heutzutage ein kleines 2-MB-Programm wie der amtierende Weltmeister
… während heutzutage ein kleines 2-MB-Programm wie der amtierende Weltmeister „Komodo“ mit fast der gesamten menschlichen Grossmeister-Gilde aufräumt

Meine persönliche Einschätzung der neuen „Nightmare“-Aufgaben als besonders anspruchsvolle beruht im wesentlichen auf Stichproben mit einigen führenden Engines im Computerschach-Bereich. Die Analysen erarbeitete ich vorwiegend mit dem Freeware-Programm „AsmFish“ (einem schnellen Assembler-Derivat von „Stockfish“), dessen Stellungsbewertung meines Erachtens zu den momentan zuverläßigsten der aktuellen Engine-Szene gehört, sowie mit dem (bereits etwas älteren) Interface „Deep Shredder“. Dieses weist ein besonders nützliches Feature auf, nämlich die sog. „Computerassistierte Partieanalyse“: Für jeden bereits untersuchten Varianten-Zug lässt sich dessen „Stellungswert“ abspeichern, womit die interaktive Analyse bzw. die Eliminierung unproduktiver Variantenzweige merklich beschleunigt werden kann.

15-30 Sekunden Zeit pro Stellung

Das menschliche Vorstellungsvermögen zu reproduzieren ist für Maschinen oft unmöglich, und wenn dann noch Glanzzüge eines Schachgenies wie Garry Kasparov gefunden werden sollen, ist meist Endstation für Programme - wie z.B. in der obigen Stellung (aus Kasparov-Andersson, Reykjavik 1988), wo ein absoluter Winner versteckt ist. Weiß zieht und gewinnt - findet Ihr Lieblingsprogramm die Lösung innerhalb einer Minute?
Das menschliche Vorstellungsvermögen zu reproduzieren ist für Maschinen oft unmöglich, und wenn dann noch Glanzzüge eines Schachgenies wie Garry Kasparov gefunden werden sollen, ist meist Endstation für Programme – wie z.B. in der obigen Stellung (aus Kasparov-Andersson, Reykjavik 1988), wo ein absoluter Winner versteckt ist. Weiß zieht und gewinnt – findet Ihr Lieblingsprogramm die Lösung innerhalb einer Minute?

Es gibt heutzutage nicht mehr allzu viele Stellungstypen, die von modernen Schachprogrammen grundsätzlich nicht innerhalb von ca. 30 Sekunden gelöst werden könnten – auch ohne dass man mittels „Special-Tuning“ ihrer Voreinstellungen ( = Rumschrauben an ihren Parametern) extra „schummeln“ müsste.
Gleichwohl ist es gerade anhand von solchen Stellungstests interessant herauszufinden, welches Programm bei welchen Positionen auf Anhieb reüssiert oder nicht – Erkenntnisse, die dann wiederum z.B. in der taktischen Nachbearbeitung von eigenen Turnierpartien oder als Unterstützung im Fernschach zugute kommen können.

Die modernen Engines mögen noch so tief rechnen - der sog.
Die modernen Engines mögen noch so tief rechnen – der sog. „Horizont-Effekt“ holt sie doch immer wieder ein: Dass in der obigen Stellung (aus einer Fernschach-Partie Smith-Gach 1999) der Weiße einfach nur die Damen tauschen und dann das Bauern-Endspiel nach Hause schaukeln kann, sehen auch viele Spitzenprogamme (noch) nicht.

Meine subjektive Vorgabe an eine moderne Engine ist darum: Wenn ein Programm (mit den implentierten Default-Einstellungen ihres Programmierers) auf aktueller Durchschnitts-Hardware eine korrekte Teststellung nicht innerhalb einer halben Minute lösen kann, hat sie Verbesserungspotential…
Jenen Schachfreunden, die mit „Nightmare II“ eigene Engine-Tests durchführen wollen, empfehle ich also eine Bedenkzeit von 15-30 Sekunden pro Stellung mit ca 1-2 GB Hash auf einem Rechner mit mind. 2 Cores (64-Bit) und mind. 2.1-GHz-Prozessor (optional zuzüglich Endspiel-Tablebases). Für starke moderne Prozessoren sollte die BZ maximal 15 Sek. betragen. –

Alle 30 Aufgaben interaktiv nachspielen

English Summary
In 2005 I published a collection of test positions for chess engines, called „Nightmare“. It was a set of 30 very difficult Puzzles. Today, more than ten years later, the modern engines are much stronger. So I created a new collection with 30 new hard positions. I found them in books, in chess forums, in studies databases a.o. (You can download all 30 positions as a EPD-File for your own experiments; with a fairly fast CPU, you should try 60 seconds per puzzle/engine ). Have fun with „Nightmare II“ !

Ich habe die ganze Sammlung als EPD-File aufbereitet (siehe Download-Link unten); dieses kann man bei eigenen Experimenten in die entspr. Schachoberfläche kopieren und dann von den Engines zum Lösen abarbeiten. Besonders geeignete Schach-Interfaces hierzu sind u.a. „Arena“, „Fritz“ und „Shredder“.

Die Analysen für alle 30 Positionen finden sich oben explizit aufgelistet. Ein Mausklick auf einen Zug oder eine Variante öffnet ein Analysefenster, in dem die Stellungen/Verzweigungen interaktiv nachgespielt werden können, Download-Option als PGN-File inklusive.

Extreme Herausforderungen für die Schachprogrammierung

Test-Empfehlung
♦ Bedenkzeit pro Stellung/Engine: 15-30 Sekunden ♦ Hash-Memory: mind. 1 GB ♦ Prozessor: mind. 2 CPU/Cores & mind. 2.1-GHz-Prozessor

Die Teststellungen von „Nightmare II“ sind nicht prinzipiell unlösbar für Computer, und bei jeder Stellung dürfte wohl irgend eine Engine irgendwann fündig werden. Aber „Nightmare II“ ist mit Sicherheit für Schachprogramme insgesamt ein einziger Albtraum, weil alle Puzzles den Finger in die vier größten, sich gegenseitig bedingenden, ja quasi genetischen Defizite des computergestützten Schachs legen: Zugzwang, Horizonteffekt, Berechnungstiefe und Stellungsbewertung.
Den beiden letzteren Baustellen ist die heutige Schachprogrammierung bereits sehr fortgeschritten zu Leibe gerückt; insbesondere die taktische Durchschlagskraft sorgt schon längst dafür, dass der Mensch gegen die Maschine inzwischen chancenlos ist. Ein paar letzte Bastionen bleiben noch – wie eben „Nightmare II“ recht eindrücklich dokumentiert…
Der Autor wünscht viel Spaß bei eigenen Engine-Experimenten! ♦

(Mausklick auf einen Zug oder eine Variante öffnet ein Anlayse-Fenster mit der Option zum Partien-Download (Button rechts unten).

Alternativ lässt sich hier die ganze Sammlung downloaden als PGN-Datei

PS: Ursprünglich suchte diese Aufgabe nur nach der Lösung 1.h4!! Leider fand ich zu spät heraus, dass die Teststellung eine Nebenlösung hat mit Lb3!! Diese wird von den meisten Engines in kürzester Zeit entdeckt…

Die 30 Aufgaben als EPD/FEN-Strings

r4rk1/1bq1bppp/p1npp3/2nB1NP1/1p2P3/2N1B3/PPP1QP1P/2KR2R1 w – – bm Qh5; id „Nightmare II-01 – Koenigsangriff“;
5nr1/2Pp2pk/3Pp1p1/4P1P1/6P1/5K2/8/7n w – – bm c8=N; id „Nightmare II-02 – Springerumwandlung“;
1rb2r1k/3p1pp1/p3p2p/1p2P3/4q3/1N2B1R1/PPP1N1P1/2KR1B2 w – – bm Nf4; id „Nightmare II-03 – Initiative“;
r2qrb1k/3n2p1/p2p3p/1p1b4/Pnp1N1N1/5R1P/1P3PP1/1BBQR1K1 w – – bm Nxh6; id „Nightmare II-04 – Springeropfer“;
6k1/bpR5/8/7K/8/3p4/1Rb2rpB/8 w – – bm Rbxb7; id „Nightmare II-05 – Endspiel T&T&L vs T&L&L&B“;
8/4kpp1/1pQq3p/p7/P7/3P2P1/2P2P1P/6K1 w – – bm Qxd6+; id „Nightmare II-06 – Endspiel D vs D“;
6r1/6r1/2p1k1pp/p1pbP2q/Pp1p1PpP/1P1P2NR/1KPQ3R/8 b – – bm Qf5; id „Nightmare II-07 – Festung“;
2r1k1r1/3q4/p1nBpp1p/8/B5p1/4RbK1/PP1Q1P1P/2R5 w – – bm h4, Bb3; id „Nightmare II-08 – Offene Linie“;
7k/1p5p/2qpn1PP/Pp1p4/8/3B2p1/3B1pP1/R4K2 w – – bm a6; id „Nightmare II-09 – Patt“;
2b1r3/r2ppN2/8/1p1p1k2/pP1P4/2P3R1/PP3PP1/2K5 w – – bm Nd6+; id „Nightmare II-10 – Endspiel T&S&B vs T&T&L“;
r5k1/p1pb2bp/3p3r/P1pPp1p1/2B1Pq2/1R2QPp1/1P4PP/5RBK b – – bm Rxh2+; id „Nightmare II-11 – Koenigsangriff“;
4K2k/1pQp3p/1R4p1/1P4P1/8/3P3P/1q3r2/8 w – – bm Qd8; id „Nightmare II-12 – Endspiel D&T vs D&T“;
2k2Br1/p6b/Pq1r4/1p2p1b1/1Ppp2p1/Q1P3N1/5RPP/R3N1K1 b – – bm Rf6; id „Nightmare II-13 – Koenigsangriff“;
r1bqr1k1/3n1ppp/p2p1b2/3N1PP1/1p1B1P2/1P6/1PP1Q2P/2KR2R1 w – – bm Qxe8+; id „Nightmare II-14 – Damenopfer“;
4K1k1/8/1p5p/1Pp3b1/8/1P3P2/P1B2P2/8 w – – bm f4, Bd1; id „Nightmare II-15 – Endspiel L vs L“;
2r2k2/8/8/3Rp1N1/2P3K1/8/2p4B/8 w – – bm Ne6+; id „Nightmare II-16 – Endspiel T&L&S vs T&B“;
8/4nk2/1p3p2/1r1p2pp/1P1R1N1P/6P1/3KPP2/8 w – – bm Nd3; id „Nightmare II-17 – Endspiel T&S vs T&S“;
r1b2rk1/2q1bppp/p2pp3/2n3PQ/1p1BP3/1BN5/PPP2P1P/2KR2R1 w – – bm Bf6; id „Nightmare II-18 – Koenigsangriff“;
5B2/1p1nNp2/8/1P2R3/3p3q/8/p1K1P1Q1/k3b3 w – – bm Ng6; id „Nightmare II-19 – Springeropfer“;
r3r1k1/pp1q1p2/2p2npb/PPPp4/3Pp3/2NNPpP1/1R1B1P1K/3Q3R b – – bm Kg7; id „Nightmare II-20 – Starke Felder“;
1r6/4k3/r2p2p1/2pR1p1p/2P1pP1P/pPK1P1P1/P7/1B6 b – – bm Rxb3+; id „Nightmare II-21 – Endspiel T vs T“;
r1q2rk1/ppp1bp2/6p1/3pNPn1/7p/2PP3P/P6B/1R1Q1RK1 w – – bm f6; id „Nightmare II-22 – Bauernopfer“;
1k6/bPN2pp1/Pp2p3/p1p5/2pn4/3P4/PPR5/1K6 w – – bm Na8; id „Nightmare II-23 – Zugzwang“;
7q/P3RP2/2p2n2/8/N7/p7/2B5/k1K2b2 w – – bm a8=Q; id „Nightmare II-24 – Endspiel T&L&S vs D&L&S“;
r1q2k2/pppb3r/2n1pBp1/3pPp1p/3P1Q1P/P2B4/2P2PP1/R3K2R w KQ – bm g4; id „Nightmare II-25 – Linienoeffnen“;
r5k1/6b1/2Nq4/2pP1p2/p1P1pPr1/Pp6/3R2PQ/1K3R2 b – – bm e3; id „Nightmare II-26 – Raeumung“;
r3kb1r/4Pp2/pn3P2/1pp3B1/2p5/2N3P1/PP3P1P/3RKB1b w kq – bm h4; id „Nightmare II-27 – Initiative“;
N7/8/2KQ2rp/6k1/3p3p/2p4P/4PP2/5N2 w – – bm f4+; id „Nightmare II-28 – Endspiel D&S vs T&B“;
Nn6/8/6r1/8/K7/1P6/1R6/3k2N1 w – – bm Ka3; id „Nightmare II-29 – Endspiel T&S&S vs T&S“;
r3rnk1/1bq1bpp1/pp2p3/3pP2Q/P4p2/1NNB1R2/1PP4P/2KR4 w – – bm Rg1; id „Nightmare II-30 – Koenigsangriff“;

EPD-Download (zip)

Lesen Sie im Glarean Magazin zum Thema „Testaufgaben für Schachprogramme“ auch über den Endspiel-Stellungstest von Walter Eigenmann (E-E-T)

… und lesen Sie ausserdem den großen Report: Die besten Online-Schach-Portale

3 Gedanken zu “Computerschach: Der Engine-Test „Nightmare 2“

  1. famose sammlung… da meint man die coputer haben alles im griff, aber mitnichten. das sind wirklich 30 dicke brocken, die da zusammengetragen wurden, kompliment!!! ich habe mal einige programme (rybka, houdini, junior, nimzo) darauf angesetzt, fehlanzeige, zu schwierig! danke
    Luigi

  2. Hallo Walter,

    schön von Dir mal wieder was Schachliches zu ‚hören‘.
    Die neuen Nightmare-Stellungen schaue ich mir gerne mal näher an – respektive meine wenigen (verbliebenen) Schach-Engines…
    Hab ’ne schöne Zeit – und danke für Deine Mühe!

    Gruß, Manfred

Kommentare sind willkommen!