Computerschach: 1. Gambit-Engine-Turnier

Schachprogramme mit Gambits geprüft

Walter Eigenmann

Die internationale Computerschach-Anwenderschaft testet seit Jahren fleissig jedes neue Programm im Hinblick auf seine Turnier-Spielstärke, seine analytischen Fähigkeiten, seine schachtechnischen Features. Vor allem ersteres wird höchst emsig betrieben, existieren doch mittlerweile zahllose Ranking-Listen im Netz – zustande gekommen unter allen möglichen und unmöglichen Turnier- bzw. -Match-Bedingungen.

Dabei wird hinsichtlich der Eröffnung in den meisten Fällen ein sog. Opening-Book zugrunde gelegt, das möglichst ausgeglichen und «objektiv» den Programmen während der frühesten Partie-Phase unter die Arme greifen soll. Sehr selten kommt in diesem allgemeinen Turnier-Mainstream hingegen das sog. Gambit zum Zuge: Als Eröffnungskonzept beinhaltet es bekanntlich frühe Bauern- oder gar Figuren-Opfer zwecks schnellerer Entwicklung und/oder zusätzlicher Angriffsmöglichkeiten. Mit einem spezifischen Gambit-Opening-Book kann also der Anwender asymetrische Materialverhältnisse bereits in der Eröffnung schaffen und so den ausgetretenen Pfaden der meist längst aufgearbeiteten «Eröffnungstheorie» aus dem Wege gehen. Im Computerschach hat das außerdem den angenehmen Nebeneffekt, dass dem «Remistod» der heute auf extrem hohem Taktik-Niveau angesiedelten, oft gleich stark spielenden Engines etwas entgegengewirkt werden kann.

Einer der weltweit besten Opening-Book-Cooker im Computer-Schach: Jeroen Noomen

Ein solches «Gambit-Eröffnungsbuch» speziell für das häufig eingesetzte «Fritz»-Interface entdeckte der Autor kürzlich im Internet: es nennt sich «GambitLines.ctg», stammt von dem bekannten belgischen Engine-Book-Cooker Jeroen Noomen und beinhaltet eine Reihe von «klassischen» Gambit-Zügen, angefangen beim Alapin-Gambit im Sizilianer und das Falkbeer-Gambit über das Königsgambit und das Lettische Gambit bis hin zum Morra-Gambit und dem Mittelgambit im Spanier. (Wer Interesse an diesem Book für die Fritz-Oberfläche hat, kann es hier downloaden. Eine Aufzählung aller verwendeten Gambite findet sich hier.)

Die Stellungen, in die dieses Eröffnungsbuch die Engines entlässt, sind allerdings so spektakulär auch wieder nicht, dass sie Weiß oder Schwarz jeweils in großen materiellen Rückstand versetzten. Dies zeigt nur schon ein Blick auf die recht hohe Anzahl Remis-Partien, die das nachstehende Turnier generierte mit zehn der besten aktuellen Programme – eigentlich ein Bild, das man eher vom ganz normalen Engine-Engine-Betrieb gewohnt ist. Möglicherweise ist das «GambitLines» unterm Strich dann doch etwas zu «zahm» geraten, um das exorbitante Angriffs- und Verteidigungs-Potential der modernen Schachprogramme wirklich zu fordern…

01 Komodo 10.3 (4CPU)        26.5/36 (433.25)
02 Houdini 5.01 (4CPU)       26.5/36 (411.75)
03 Stockfish 8 (4CPU)        25.5/36
04 Fizbo 1.9 (4CPU)          22.0/36
05 Deep Shredder 13 (4CPU)   17.0/36
06 Critter 1.6a (4CPU)       15.5/36
07 Fritz 15 (4CPU)           14.0/36
08 Equinox 3.30 (4CPU)       12.5/36
09 Sting SF 7.3 (4CPU)       11.5/36
10 Chiron 4 (4CPU)           09.0/36

40 Z. in 4 Min & 40 Z. in 4 Min. / 4 Runden Round Robin /
Intel i-7-4790 / 3.6 GHz / 512Mb Hash / Fritz 15-GUI / EGTB

Die 180 Partien lassen sich hier nachspielen und downloaden.

Weitere Artikel zum Thema Computerschach im Glarean Magazin

Neue Testaufgaben für Schach-Programme

Der «Eigenmann Rapid Engine Test» (ERET)

Walter Eigenmann

Der sog. Eigenmann Rapid Engine Test (ERET) ist eine neue Sammlung von 111 Aufgaben für Schach-Programme. Er wurde konzipiert, um schnell einen ersten Eindruck von der Spielstärke einer neuen Engine ausmachen zu können. Die Computerschach-Anwenderschaft erhält mit diesem ERET erstmals eine Test-Suite an die Hand, deren Ergebnisse innert zehn Minuten eine grobe, aber recht verlässliche Einschätzung eines (neuen) Programms erlauben.

Die 111 Stellungen bzw. ihre Hauptvarianten können hier nachgespielt und als PGN-Datei heruntergeladen werden. Downloadbar ist ausserdem der Test im CBH-Format (für Chessbase-Software) sowie als EPD-Datei für den Import in diverse Schach-GUI’s.

Die Vorzüge des ERET gegenüber älteren Sammlungen sind namentlich:

  • Grosse Bandbreite der Schachmotivik
  • Eindeutigkeit der Lösungen
  • Ausgewogenheit der Partiephasen
  • Mittlerer bis hoher Schwierigkeitsgrad
  • Keine Auswertungsformeln
  • Schnelle Programm-Resultate bereits nach 10 Min.
  • Auch für zukünftige Engine-Generationen tauglich

Die Axiomatik des ERET-Stellungstests

Eine Aufgaben-Sammlung wie der ERET-Stellungstest für Schachprogramme basiert auf einer eigenen Axiomatik.

Diese lässt sich in den folgenden fünf Punkten zusammenfassen:

  1. Die 111 Aufgaben des ERET decken einen grossen Bereich der (computer-)schachlichen Realität ab; diese abgestimmte Kompaktheit der Zusammenstellung ist weder durch Hinzufügungen noch Wegstreichungen antastbar.
  2. Für Computerprogramme (anders als für Menschen) ist eine Schachpartie grundsätzlich eine Sammlung von Einzel-Aufgabenstellungen unter definierten Bedingungen – ein Stellungstest also.
  3. Die Denk- bzw. Rechengeschwindigkeit beim Schachspielen ist eine maßgebliche Komponente der «Spielstärke».
  4. Das vom Test-Autor empfohlene Test-Setting ist ein integraler Bestandteil des Stellungstests.
  5. Unter Berücksichtigung bzw. Wahrung der Punkte 1 bis 4 garantiert der ERET keine 100%ige, aber eine weitgehende Übereinstimmung seiner Testergebnisse mit den durchschnittlichen Resultaten des praktischen Engine-Turnierbetriebes.

Test-Setting / Anmerkungen

Die technische Durchführung des Tests ist einfach und bei den verschiedenen Schach-Interfaces wie z.B. Arena, Shredder, Aquarium oder Fritz im Grundsatz ähnlich, wobei der Autor auf aktueller Computer-Hardware (2017) das folgende Test-Setting empfiehlt:

  • Bedenkzeit: 5-10 Sekunden pro Aufgabe
  • Prozessoren/Threads: 1-4
  • Hash-Memory: 256-512Mb
  • Opening-Books: beliebig
  • Endgame-Tablebases: beliebig
  • Extra Halbzüge: 2-99
  • eret-rochadeangriff-carlsen
    Der ERET-Schachtest für Computer-Programme deckt ein weites Spektrum an Eröffnungs-, Mittelspiel- und Endspiel-Elementen ab. Namentlich enthält er exemplarische Beispiele der folgenden taktischen und positionellen Motive (alphabetisch): Ablenkung – Abtausch – Damenopfer – Entlastung – Entwicklung – Festung – Freibauer – Initiative – Königsangriff – Königssicherheit – Läuferopfer – Linienöffnen -Mobilität – Offene Linien – Positionelles Opfer – Qualitätsopfer – Räumung – Rochadeangriff – Springeropfer – Starke Felder – Unterverwandlung – Vergifteter Bauer – Verteidigung – Zentralisierung – Zentrum – Zugzwang – Zwischenzug (Bild: Die Brennpunkte des weißen Rochadangriffs in einer Fernschachpartie Copie-Patrici 1986)

    Die Anzahl Lösungen einer Engine ergibt deren wichtigstes Testergebnis; dieses erlaubt bereits einen groben Vergleich mit anderen Programmen. Um die Resultate mehrerer Engines noch zu differenzieren, empfiehlt der Autor das Interface «Fritz» ab Version 11, dessen Testergebnisse – aus der CBH- in eine PGN-Datei konvertiert – dann mit dem Freeware-Tool von Dr. Frank Schubert EloStatTS104 abgeglichen werden sollten. Diese mathematisch-statistisch fundierte Methode der Test-Auswertung ist wenn immer möglich vorzuziehen.
    Eine Alternative zum «Fritz»-GUI ist die Freeware-Oberfläche «Arena», die mit zusätzlichen Features beim Automatisierten Stellungstesten aufwartet und auch einen Output der Engine-Berechnungen bietet, allerdings auf jegliche Ranglisten-Generierung verzichtet bzw. nur die Anzahl Lösungen angibt, so dass keine weitergehende Differenzierung der Testergebnisse möglich ist bzw. manuell erfolgen müsste. Andere Benutzeroberflächen bieten ebenfalls nur rudimentäre Optionen bezüglich Stellungstests und sind deshalb für den ERET nur bedingt zu empfehlen.

  • Moderne Rechner mit Multi-Prozessoren- bzw. -Threads-Technik neigen zu Fluktuationen in ihrer Zug-Generierung. Deren Auswirkung in der Praxis wird zwar generell sehr überschätzt, aber wer auf Nummer sicher gehen will, macht pro Engine drei bis fünf Test-Durchläufe und nimmt den Durchschnitt der jeweiligen Lösungszeiten.
  • Um Software-übergreifende Vergleiche zu ermöglichen, sollten die Engines grundsätzlich mit ihren Default-Parametern getestet werden – natürlich abgesehen von Thread-, Hash- oder Tablebase-Einstellungen.
  • Auf schneller Hardware reichen 5 Sekunden pro Aufgabe aus; das entspricht ungefähr der im modernen Engine-Turnier-Betrieb häufig angewendeten Bedenkzeit von 40 Zügen in 4 Minuten. Bei langsameren Rechnern empfehlen sich 7-10 Sekunden.
  • Bei der Generierung von Ranglisten mit dem ERET sollten nicht die absoluten Zahlen-Ergebnisse, sondern vielmehr die Engine-Relationen beachtet werden – so wie bei den Rankings der verschiedenen bekannten Engine-Turnieren auch. Diese können bekanntlich (je nach Turnier-Settings und Berechnungsgrundlage) überraschend unterschiedlich ausfallen – siehe u.a. hier: CEGT, CCRL, FCP, OHCR, SPCC, FGRL
    Ein Vergleich von fünf häufig zitierten Ranglisten im Internet mit den ERET-Ergebnissen findet sich hier (März 2017).
  • Die einzelnen Stellungen hat der Autor hauptsächlich mit den drei Programmen Deep-Shredder 11/12, Critter 1.6 und RybkaWinFinder 2.2 im Hinblick auf ihre taktische Korrektheit untersucht. Ansonsten hat er auf weiteres Einzeltesten bewusst und konsequent verzichtet, um den Test möglichst objektiv und nicht irgendwie «geeicht» auf bestimmte Programme gestalten zu können. (Über entsprechende Resultat-Meldungen aus der Leser- bzw. Anwenderschaft per E-Mail würde sich der Autor also sehr freuen!).
  • Trotz der relativ kurzen Zeit-Vorgabe von 5 Sekunden/Stellung sind die ERET-Aufgaben keineswegs trivial. Viele der Stellungen dürften sogar ganz besondere Knacknüsse auch für heutige Engines sein. Die umfangreichen persönlichen Analysen mithilfe der obengenannten Programme legen den Schluss nahe, dass dieser Test eher im oberen Schwierigkeitsbereich angesiedelt ist. Der Autor ist deshalb zuversichtlich, dass der ERET auch noch in fünf oder zehn Jahren interessant sein wird…

Aktuelle ERET-Rangliste (März 2017)   –   Generiert mit EloStatTS104

    Program                        Elo   +/-  Matches  Score   Av.Op.   S.Pos.   MST1    MST2   RIndex

  1 AsmFish 2017-03-15(4CPU)    : 3420    3   7042    68.2 %   3287    72/111    2.0s    3.1s   0.69
  2 Komodo 10.4(4CPU)           : 3409    4   6940    66.9 %   3287    68/111    2.1s    3.2s   0.63
  3 Stockfish 8(4CPU)           : 3408    4   6817    66.8 %   3287    64/111    1.8s    3.2s   0.69
  4 Brainfish 190317(4CPU)      : 3407    4   6966    66.6 %   3287    65/111    1.9s    3.2s   0.65
  5 Houdini 5.01(4CPU)          : 3401    4   6517    65.6 %   3288    62/111    2.0s    3.3s   0.65
  6 Komodo 10.3(4CPU)           : 3395    4   6715    65.0 %   3288    60/111    1.9s    3.3s   0.62
  7 Stockfish 8(1CPU)           : 3388    4   6159    64.0 %   3288    57/111    2.0s    3.4s   0.58
  8 Fizbo 1.9(4CPU)             : 3379    4   5809    62.3 %   3292    50/111    1.7s    3.5s   0.56
  9 Houdini 5.01(1CPU)          : 3379    4   5802    62.6 %   3290    54/111    2.1s    3.6s   0.55
 10 Komodo 10.4(1CPU)           : 3379    4   6098    62.7 %   3289    56/111    2.3s    3.6s   0.47
 11 Komodo 10.3(1CPU)           : 3377    4   5766    62.3 %   3290    52/111    1.9s    3.6s   0.56
 12 Stockfish 7(1CPU)           : 3371    4   5908    61.4 %   3290    53/111    2.3s    3.7s   0.46
 13 Komodo 10(1CPU)             : 3365    5   5373    60.3 %   3293    48/111    2.1s    3.7s   0.51
 14 DeepShredder 13(4CPU)       : 3360    4   5349    59.7 %   3292    46/111    2.0s    3.8s   0.44
 15 Houdini 4(4CPU)             : 3358    5   5410    59.3 %   3293    45/111    1.9s    3.8s   0.46
 16 Komodo 9.42(1CPU)           : 3357    5   5298    59.2 %   3292    45/111    2.1s    3.8s   0.43
 17 Andscacs 0.90(4CPU)         : 3354    5   5223    58.6 %   3293    42/111    1.8s    3.8s   0.44
 18 Stockfish 6(1CPU)           : 3351    5   4924    58.2 %   3293    42/111    1.9s    3.8s   0.50
 19 Komodo 9.2(1CPU)            : 3350    5   5157    58.2 %   3293    44/111    2.2s    3.9s   0.46
 20 Fritz 15(4CPU)              : 3346    5   5126    57.2 %   3295    41/111    2.0s    3.9s   0.39
 21 Komodo 9(1CPU)              : 3345    5   5010    57.4 %   3293    40/111    1.9s    3.9s   0.44
 22 Andscacs 0.89(4CPU)         : 3344    5   5083    57.2 %   3294    43/111    2.2s    3.9s   0.39
 23 Fizbo 1.9(1CPU)             : 3343    5   5237    56.7 %   3296    42/111    2.2s    3.9s   0.38
 24 Critter 1.6a(4CPU)          : 3342    5   5104    56.7 %   3295    41/111    2.2s    4.0s   0.42
 25 Gull 3(4CPU)                : 3338    5   4977    56.0 %   3295    40/111    2.1s    4.0s   0.39
 26 Protector 1.9.0(4CPU)       : 3336    5   4991    55.9 %   3295    39/111    2.2s    4.0s   0.40
 27 Stockfish 5(1CPU)           : 3335    5   4826    55.8 %   3294    41/111    2.4s    4.1s   0.42
 28 Andscacs 0.87(4CPU)         : 3327    5   4888    54.5 %   3296    36/111    2.1s    4.1s   0.36
 29 Houdini 4(1CPU)             : 3326    5   4475    54.1 %   3297    34/111    1.8s    4.0s   0.46
 30 Fire 5(1CPU)                : 3324    5   4576    53.9 %   3297    33/111    1.7s    4.0s   0.39
 31 DeepShredder 13(1CPU)       : 3324    5   4601    53.9 %   3297    36/111    2.2s    4.1s   0.30
 32 Komodo 8(1CPU)              : 3319    5   4585    53.3 %   3296    33/111    2.0s    4.1s   0.38
 33 Critter 1.6a(1CPU)          : 3316    5   4569    52.5 %   3298    33/111    2.2s    4.2s   0.36
 34 Andscacs 0.89(1CPU)         : 3314    5   4689    52.4 %   3297    34/111    2.4s    4.2s   0.28
 35 Nirvanachess 2.3(4CPU)      : 3314    5   4348    52.2 %   3298    33/111    2.1s    4.1s   0.35
 36 Andscacs 0.86(4CPU)         : 3311    5   4381    51.7 %   3299    32/111    2.2s    4.2s   0.35
 37 Equinox 3.30(4CPU)          : 3310    6   4419    51.3 %   3300    32/111    2.0s    4.1s   0.36
 38 Equinox 3.30(1CPU)          : 3304    6   4342    50.5 %   3301    31/111    2.2s    4.2s   0.33
 39 Naum 4.6(4CPU)              : 3302    5   4249    50.2 %   3301    33/111    2.6s    4.3s   0.32
 40 Fizbo 1.8(1CPU)             : 3302    6   4416    50.3 %   3299    28/111    1.8s    4.2s   0.30
 41 Fritz 15(1CPU)              : 3299    5   4255    49.8 %   3301    30/111    2.2s    4.3s   0.30
 42 Spark 1.0(4CPU)             : 3299    6   4618    49.7 %   3301    30/111    2.5s    4.3s   0.23
 43 Andscacs 0.87(1CPU)         : 3298    5   4230    49.7 %   3301    31/111    2.4s    4.3s   0.28
 44 DeepRybka 4.1(1CPU)         : 3294    6   4228    48.8 %   3303    27/111    2.1s    4.3s   0.30
 45 Andscacs 0.86(1CPU)         : 3293    6   4188    48.9 %   3300    29/111    2.3s    4.3s   0.32
 46 Texel 1.06(4CPU)            : 3292    6   4277    48.7 %   3301    28/111    2.1s    4.3s   0.24
 47 Nirvanachess 2.3(1CPU)      : 3292    6   4177    48.7 %   3301    28/111    2.2s    4.3s   0.27
 48 Hannibal 1.7(1CPU)          : 3291    6   4027    48.6 %   3301    24/111    1.2s    4.2s   0.37
 49 Arasan 19.2(4CPU)           : 3291    6   4350    48.4 %   3302    29/111    2.5s    4.4s   0.26
 50 Gull 3(1CPU)                : 3290    6   4159    48.5 %   3300    26/111    1.8s    4.3s   0.30
 51 Protector 1.9(1CPU)         : 3286    6   4049    47.8 %   3301    25/111    1.9s    4.3s   0.28
 52 BlackMamba 2.0(4CPU)        : 3281    6   3913    46.9 %   3302    25/111    1.9s    4.3s   0.32
 53 Fizbo 1.7(1CPU)             : 3280    6   4143    46.7 %   3303    23/111    1.7s    4.3s   0.27
 54 iCE 3.0(1CPU)               : 3280    6   3983    46.6 %   3303    24/111    1.9s    4.3s   0.28
 55 Protector 1.6(1CPU)         : 3280    6   4049    46.7 %   3303    26/111    2.5s    4.4s   0.22
 56 Protector 1.8(1CPU)         : 3279    6   3984    46.6 %   3302    25/111    2.1s    4.3s   0.29
 57 Chiron 4(4CPU)              : 3271    6   3991    45.3 %   3304    24/111    2.3s    4.4s   0.23
 58 DeepJunior 13.3(1CPU)       : 3271    6   3911    45.0 %   3306    21/111    1.6s    4.4s   0.28
 59 RybkaWinFinder 2.2(4CPU)    : 3271    6   3964    45.0 %   3306    22/111    1.9s    4.4s   0.27
 60 Booot 6.1(1CPU)             : 3270    5   4096    45.5 %   3302    28/111    3.3s    4.6s   0.10
 61 Nirvanachess 2.2(1CPU)      : 3270    6   3915    45.3 %   3303    23/111    2.0s    4.4s   0.22
 62 Texel 1.06(1CPU)            : 3270    6   4016    45.1 %   3304    25/111    2.8s    4.5s   0.21
 63 Chiron 3.01(4CPU)           : 3270    6   3977    44.9 %   3305    25/111    2.7s    4.5s   0.22
 64 DeepFritz 10(4CPU)          : 3266    6   4075    44.5 %   3305    23/111    2.5s    4.5s   0.19
 65 Chiron 2(1CPU)              : 3265    6   3980    44.2 %   3306    22/111    2.2s    4.4s   0.18
 66 Rybka 3(1CPU)               : 3265    6   3803    44.3 %   3305    21/111    2.0s    4.4s   0.29
 67 Chiron 1.5(1CPU)            : 3264    6   3954    44.1 %   3305    22/111    2.4s    4.5s   0.19
 68 Naum 4.6(1CPU)              : 3263    6   3780    44.0 %   3305    20/111    1.7s    4.4s   0.28
 69 Texel 1.05(1CPU)            : 3257    6   3749    42.8 %   3307    22/111    2.4s    4.5s   0.22
 70 Arasan 19.1(4CPU)           : 3256    6   3780    42.8 %   3307    21/111    2.4s    4.5s   0.23
 71 Hakkapeliitta 3.0(1CPU)     : 3254    6   3894    42.7 %   3305    23/111    2.8s    4.5s   0.15
 72 Chiron 4(1CPU)              : 3251    6   3870    42.1 %   3306    22/111    2.9s    4.6s   0.15
 73 Vajolet2 2.2(1CPU)          : 3251    6   3697    42.1 %   3306    22/111    2.8s    4.6s   0.17
 74 Arasan 19.2(1CPU)           : 3250    6   3733    41.9 %   3307    22/111    2.8s    4.6s   0.21
 75 Arasan 19.1(1CPU)           : 3249    6   3780    41.7 %   3307    18/111    1.9s    4.5s   0.16
 76 Spark 1.0(1CPU)             : 3244    6   3774    41.1 %   3306    20/111    2.8s    4.6s   0.16
 77 DeepFritz 10(1CPU)          : 3240    6   3641    40.2 %   3309    16/111    1.7s    4.5s   0.20
 78 ZappaMexico II(1CPU)        : 3238    6   3558    39.8 %   3309    15/111    1.2s    4.5s   0.24
 79 Senpai 1.0(1CPU)            : 3238    6   3600    40.1 %   3307    17/111    2.0s    4.5s   0.19
 80 Naum 4(1CPU)                : 3234    6   3531    39.5 %   3309    15/111    1.4s    4.5s   0.21
 81 Fruit 2.3(1CPU)             : 3234    6   3449    39.2 %   3311    15/111    1.4s    4.5s   0.25
 82 Ruffian 1.0.1(1CPU)         : 3234    6   3631    39.3 %   3309    15/111    1.8s    4.6s   0.18
 83 RodentII 0.9.64(1CPU)       : 3225    6   3480    38.0 %   3310    17/111    2.8s    4.7s   0.15
 84 Quazar 0.4(1CPU)            : 3222    6   3470    37.7 %   3309    15/111    2.3s    4.6s   0.13
 85 Spike 1.4(1CPU)             : 3222    6   3568    37.7 %   3309    15/111    2.4s    4.7s   0.15
 86 Fruit 2.2.1(1CPU)           : 3221    6   3446    37.4 %   3311    13/111    1.5s    4.6s   0.21
 87 Junior 13.8Yokohama(1CPU)   : 3216    6   3424    36.8 %   3310    12/111    1.1s    4.6s   0.18
 88 Amoeba 1.2(1CPU)            : 3215    6   3393    36.3 %   3312    14/111    2.3s    4.7s   0.16
 89 Komodo 1.3(1CPU)            : 3212    6   3328    36.2 %   3310    14/111    2.1s    4.6s   0.14
 90 Deuterium 14.3.34.130(1CPU) : 3206    6   3315    35.3 %   3311    12/111    1.7s    4.6s   0.16
 91 Tao5.7b (1CPU)              : 3205    6   3370    35.2 %   3311    13/111    2.2s    4.7s   0.17
 92 Tao 5.6(1CPU)               : 3204    6   3352    34.9 %   3312    12/111    1.9s    4.7s   0.16
 93 Wasp 1.25(1CPU)             : 3196    6   3232    33.8 %   3313    13/111    2.7s    4.7s   0.12
 94 Tao 5.4(1CPU)               : 3190    6   3325    33.0 %   3313    10/111    2.0s    4.7s   0.11
 95 Gaviota 1.0(1CPU)           : 3189    6   3201    33.0 %   3312    11/111    2.0s    4.7s   0.15
 96 Laser 1.2(1CPU)             : 3188    6   3259    32.8 %   3313    10/111    2.0s    4.7s   0.13
 97 ChessMind 0.82(1CPU)        : 3186    6   3229    32.4 %   3313     9/111    1.4s    4.7s   0.14
 98 Minko 1.3(1CPU)             : 3176    6   3088    31.0 %   3315     9/111    1.5s    4.7s   0.15
 99 SmarThink 1.70(1CPU)        : 3176    6   3121    31.0 %   3315     8/111    1.1s    4.7s   0.15
100 Ktulu 9(1CPU)               : 3176    6   3161    31.1 %   3314     8/111    1.4s    4.7s   0.13
101 Murka 3(1CPU)               : 3172    6   3199    30.7 %   3313     8/111    1.9s    4.8s   0.08
102 Octochess r5190             : 3143    6   3005    26.9 %   3316     6/111    2.6s    4.9s   0.07

MST1  : Mean solution time (solved positions only)
MST2  : Mean solution time (solved and unsolved positions)
RIndex: Score according to solution time ranking for each position

AMD 8350-FX - 5sec/move - 512Mb Hash - Fritz 15 - Windows 10 / 64bit

Der Output jeder Engine bei jeder Aufgabenstellung – auf die hundertstel Sekunde genau – lässt sich hier downloaden (PGN-Datei).

Weiterführende Links

  • Für jene Leser, die sich näher mit der Thematik Computerschach-Stellungstests befassen möchten, nachfolgend ein paar weiterführende Links:
  • Dr. Frank Schubert: Lösung eines alten Problems – Autor Schubert untersucht zuerst die seinerzeit gängigen Auswerteverfahren verschiedener bekannter Stellungstests und stellt dann einen mathematisch neuen, dem FIDE-Elo-Verfahren ähnlichen Ansatz zur Differenzierung von Test-Ergebnissen vor. In einem historischen Exkurs wird auch Bezug genommen auf noch vor einigen Jahren gebräuchliche Tests von Autoren wie Bednorz, Schumacher, Gurevich oder Scheidl. Zum Schluss stellt Schubert seine eigene Methode vor, «welche die Schwächen der bisherigen Formeln beseitigt und erstmalig auf einer soliden schachlichen Theorie basiert.»
  • Lars Bremer: Was Stellungstests testen – IT-Journalist und Programmierer Bremer repliziert darin auf den seinerzeit heftig umstrittenen CSS-WM-Test von M. Gurevich, wobei er ebenso unverhohlen wie amüsant in die Trick-Kiste greift, um seine Test-kritische These zu untermauern: Er löscht mit einem eigens dafür geschriebenen Tool in dem als Gesamtheit konzipierten Test jeweils so lange einzelne Aufgaben, bis immer wieder Top-Resultate der zufällig gewählten (ggf. schwachen) Engine resultieren, womit Bremer den zufälligen Charakter von Test-Ergebnissen beweisen möchte. Aber da selbstverständlich ein umfangreicher und durchdachter Stellungstest immer kompakt gemeint ist, seine Aufgaben aufeinander abgestimmt sind und darum nicht einfach willkürlich zusammengestrichen werden können, ist der ganze Artikel eher satirisch denn wissenschaftlich einzustufen und darum ein einziger «Quatsch» (Zitat) – aber dennoch witzig zu lesen.
  • Lars Bremer: Chaos-System Deep Engine – Ein sehr viel «seriöserer» und informativer Artikel des obigen Autors zur Problematik des «Zufälligen Zuges» bei Deep-Engines. Mit seinem «Fazit» bezüglich der Aussagekraft von Stellungstests bei MP-Rechnern ist der Schreibende zwar nicht einverstanden: Ausgedehnte Untersuchungen könnten sehr wohl dokumentieren, dass ein durchdachtes Design eines Stellungstestes diesen «MP-Effekt» zwar nicht restlos ausschalten, aber entscheidend abfedern kann, so dass er bezüglich Ranking schliesslich auch statistisch irrelevant wird. Doch Bremer erklärt das Phänomen aus der Sicht des Programmierers äusserst anschaulich und auch für Laien nachvollziehbar. Es wird erklärt, warum sich moderne «Deep»-Programme zuweilen völlig nicht-deterministisch, ja «chaotisch» verhalten beim Ausspielen von Zügen.
  • Tord Romstad (Stockfish): Eine kurz zusammengefasste Erklärung dieses «MP-Effektes» findet sich auch in einem Interview, das Frank Quisinsky vor Jahren mit Tord Romstad, dem verantwortlichen Stockfish-Programmierer, sowie dessen Co-Autoren geführt hat. Zitat: «Wenn ein Schachprogramm eine Position, irgendwo tief innerhalb des Suchbaums, untersucht, macht es Gebrauch bzw. erinnert sich an frühere bereits untersuchte Positionen der gleichen Suche. Die Zugbeschneidung, Verkürzung oder Verlängerung hängen davon ab, welche Positionen vorher überprüft wurden und wie die Ergebnisse der Untersuchung dieser Positionen waren. Der Großteil der Informationen, der für eine Entscheidung verwendet wird, liegt im Arbeitsspeicher. Der Arbeitsspeicher steht allen Prozessoren zur Verfügung.
    Solange es nur einen Thread gibt, ist alles zu 100% reproduzierbar. Aber bei mehreren Threads beginnen seltsame Dinge zu geschehen, weil diese Threads nie synchron mit gleicher Geschwindigkeit aktiv sein können. Immer wieder wird eine CPU für ein paar Millisekunden eine Pause einlegen müssen und das Betriebssystem weist dann sofort eine andere Aufgabe zu. Das geschieht zufällig und ist nicht vorhersehbar, eine Kontrolle gibt es hierfür nicht. Als Konsequenz erreicht jeder Prozessor eine bestimmte Position eher zufällig und das wirkt sich dann auf die Suche nach Entscheidungen zur aktuellen Position aus.»
  • Chess Programming Wiki: Test-Positions – Diese informative Seite verlinkt eine Vielzahl interessanter Artikel zur Thematik «Stellungstest» bzw. zu deren Autoren und stellt eine Fundgrube dar für jene, die sich mit der Materie näher befassen möchten. Gleichzeitig bietet die Webseite einen umfassenden Überblick auf die Historie und listet sogar interessante Forum-Beiträge aus früheren Jahren auf.

Computerschach-Beiträge im Glarean Magazin

14. Version der Schach-Datenbank «Chessbase»

«Chessbase» goes Analysis

Walter Eigenmann

chessbase-14-glarean-magazinDas Datenbank-Flaggschiff der deutschen Schach-Firma Chessbase erfuhr kürzlich eine neue, seine 14. Fassung. Die renommierteste (und kostspieligste) Software der traditionsreichen Hamburger Schachprogramm-Schmiede, nämlich eben «Chessbase», legt diesmal – neben diversen Neuerungen – den Schwerpunkt auf die schachanalytischen Seiten des Partien-Sammelns und -Verwertens.
Um ein erstes Fazit meiner Besichtigung von «Chessbase 14» gleich vorwegzunehmen: Das Programm keineswegs kaufen müssen all jene Adepten des Königlichen Spiels, die einfach ein paar hunderttausend Partien verwalten, ihre Sammlung nach Dubletten absuchen, Spielernamen vereinheitlichen, Eröffnungsbücher zusammenstellen, nach Kombinationen oder Patzereien fahnden oder ihre eigenen On-the-board-Verbrechen auf Verbesserungen hin durchleuchten wollen. Das sind heutzutage Basics des Daten-Handlings, und hierzu genügen auch durchaus qualitätsvolle Freeware‘s wie z.B. «SCID» oder «Arena» sowie ein paar starke Gratis-Engines wie «Stockfish» oder «Gull» – dafür wäre ein 380 Euro teures Premium-Paket wie «Chessbase» der reine schachliche (und finanzielle) Overkill.
Wer hingegen in die höheren, in professionelle Sphären des modernen Umganges mit Schach-Datenbanken und deren globale Online- bzw. Cloud-Einbindung eingeweiht sein bzw. bleiben möchte, für den ist CB-14 tatsächlich eine Option.

Diverse Neuerungen in Chessbase 14

Ob dabei nun all den Verbesserungen und Novitäten, die der Hersteller selber für seine neue Software reklamiert, auch tatsächlich jener Stellenwert zukommt, die einen Kauf nahelegen, lasse ich dahingestellt. Denn Chessbase führt in seiner Werbung für CB-14 einiges an, das man so oder ähnlich auch bei vergleichbaren Konkurrenz-Produkten findet. Manches aber ist im frischgebackenen «Chessbase» so neu- bzw. so einzigartig, dass das Paket enorm attraktiv wird. Wie immer bei neuen Features in bekannten Programmen entscheidet ja aber auch das subjektiv begründete Anwender-Profil über «Sinn und Unsinn» eben dieser neuen Optionen.
Im einzelnen sieht die entspr. Novitäten-Liste bei «Chessbase 14» durchaus beeindruckend aus:

manoever-suche-chessbase-14-glarean-magazin
Wichtiger Bestandteil des Partien-Filters in «Chessbase»: Die differenzierte «Manöver-Suche» gestattet auch das Herausfiltern komplexer Mehrfach-Zugfolgen.

■ Eingabemodus zur Erfassung von Partien: Chessbase kann nun auf einen «speziellen Eingabemodus» beim Partien-Erfassen gesetzt werden, wobei der Variantendialog immer auftaucht und ein neuer «modusfreier Dialog» zur Eingabe der Bedenkzeit verfügbar ist. Beim Feature «Neue Partie» behält das Programm gemäß Hersteller «mehr Turnierinformationen».
■ Die schnelle Orientierung in umfangreich kommentierten Partien wird in CB-14 durch stärkere farbige Markierung der Haupt-, Unter- und Nebenvarianten verbessert, wobei Varianten auf gleicher Ebene auch die gleiche Farbe haben; Alternativen sind so besser aufzuspüren.
■ Kommentar-Diagramme können bei CB-14 jetzt direkt in die Notation eingebettet werden. Auch die bekannten «Trainingsfragen», nicht zuletzt im Schulschach häufig angewandtes Feature von «Chessbase», werden durch die direkte Einbindung von Diagrammen aufgewertet: Eine Trainingsfrage besteht aus einem Diagramm und Lösungslinks, die man anklicken kann, sowie Hilfen, die in die Notation eingebettet sind.
■ Das Speichern & Ersetzen von Partien wird ab «Chessbase 14» nun neu geregelt. Denn bisher haben alle CB-Versionen beim «Speichern» die neue Partie-Version ans Ende der jeweiligen Partienliste in den Datenbanken angehängt, und «Ersetzen» hat die Partie ohne Duplizierung einfach ersetzt. Für langjährige «Chessbase»-User ist also die folgende radikale Änderung wichtig:  Eine Partie «Speichern» heißt nun, dass man die bestehende Version der Partie ersetzt, während man mit «Als neue Partie speichern» die Partie an eine beliebige Datenbank anhängen kann, wobei ein Shortcut es erlaubt, Datenbanken auszuwählen, die man vor kurzem genutzt hat.
Interessant ist in diesem Zusammenhang auch, dass Chessbase sein natives Datenbank-Format «CBH» optimiert hat, um «sehr schnelles Speichern (=Ersetzen) von Partien in großen Datenbanken» zu ermöglichen.
■ Seit «Chessbase 13» ist die (teils differenzierte) Web-Anbindung von Datenbanken ja herausragende Option – und «Chessbase 14» rüstet in dieser Sparte nochmals nach: Es gibt jetzt die neue Cloud-Funktion «Cloud Clip». Originalton Chessbase: «Hier werden Partien von ChessBase.com, Fritz.Chessbase.com und Tactics.Chessbase.com automatisch gespeichert, wenn man mit seinem ChessBase Account angemeldet ist. Das ist besonders in Verbindung mit der Chessbase-Nachrichtenseite nützlich: Wenn Sie auf eine Partie klicken, während Sie einen Artikel auf Chessbase.com oder Chessbase.de lesen, dann steht die Partie schon in ChessBase 14 zur Verfügung. Download ist nicht mehr notwendig.»
■ Längst fällig war meiner Ansicht nach der generalisierte Log-in zu allen CB-Account-Funktionen
■ Die jüngste Chessbase-Software (z.b. «Fritz» und «Chessbase») setzt auf Microsoft‘s «DirectXI» auf, was «Ansicht und Geschwindigkeit von 3D-Brettern bedeutend verbessert», wie Chessbase meint.
■ Neu ist in «Chessbase 14» die Möglichkeit, die persönlichen Suchmasken des Anwenders zu speichern – eine Option, die der Schreibende schon lange in «Chessbase» vermisste.
■ Neu ist ebenfalls, dass auch die Online-Datenbank beim Nachspielen einer Partie automatisch aktualisiert wird.
■ «Chessbase» exportiert jetzt Diagramm-Listen auch als Word-Datei, womit zeitsparend umfangreiches Trainings-Material generiert werden kann.

«Chessbase» goes Analysis

Dies alles sind neue Optionen, die den Alltag von Schach-Power-Usern durchaus verbessern können – und auch Optionen, die man in vergleichbarer kommerzieller Software (z.B.  «Chess Assistant» bzw. «Aquarium») teilweise vergeblich sucht. In Verbindung mit den bereits bekannten Online-«Chessbase»-Möglichkeiten – siehe hierzu auch die entspr. Rezension der Version 13 von Mario Ziegler im Glarean Magazin – haben die beiden Hauptprogrammierer Matthias Wüllenweber und Matthias Feist sich etliche Mühe gegeben, das Einsatzgebiet (und damit auch den Mehrwert) ihrer neuen Software merklich zu erweitern.
Die eigentlichen beiden Novitäten-Highlights von «Chessbase 14» liegen aber auf einem Gebiet, das man eigentlich zuerst gar nicht mit einem Datenbank-Programm assoziiert bzw. das man bis jetzt eher bei expliziten Engine-Interfaces wie «Fritz» oder «Shredder» oder «Arena» u.a. beheimatet wähnte, nämlich der Partien-Analyse. Nun hatten zwar schon die «Chessbase»-Vorgänger rudimentäre analytische Automationen, beispielsweise die sog. «Tiefe Analyse» und die «Cloud-Analyse» (inkl. das seit CB-13 bekannte «Let‘s Check»), doch jetzt geht die Version 14 dem Anwender mit zwei bemerkenswerten weiteren Optionen zur Hand: Der sog. «Taktischen Analyse» sowie der sog. «Assisted Analyses».

Die Taktische Analyse

matthias-wuellenweber-glarean-magazin
Physiker, Programmierer, Chessbase-Gründer, Schach-Fan: Der junge Matthias Wüllenweber am Atari

Lassen wir vorausgehend Chessbase selber zu Worte kommen darüber, was unter dem neuen Feature «Taktische Analyse» zu verstehen sei:
«Taktische Analyse ist die umfassendste automatische Partienanalyse, die es gibt. Sie arbeitet mit den folgenden schachlichen Mitteln:

■ Eröffnungstheorie
■ Starke Züge, Kombinationen, Opfer und Doppelangriffe
■ Fehler, Patzer und kritische Momente, in denen sich die Bewertung ändert
■ Schwache Züge, die in der Partie nicht gespielt wurden (Warum kann ich da nicht nehmen?) und oft taktisch widerlegt werden können
■ Drohungen und Angriffsmotive
■ Verteidigungsideen
■ Initiative
■ Angriff
■ Manöver und Figurenstellung
■ Kompensation
■ Endspielklassifikation
■ Unlogische Partieergebnisse
■ Partien werden mit Varianten, Sprache, Schachsymbolen und Diagrammen kommentiert.»

Soweit die Chessbase-eigene Werbung – und wie sieht das in realiter aus? Ich habe mal die 8. Partie der aktuell laufenden Schach-Weltmeisterschaft 2016 zwischen Weltmeister M. Carlsen und Herausforderer S. Karjakin in New York genommen – siehe folgende PGN…

[Event „WCh 2016“]
[Site „New York USA“]
[Date „2016.11.21“]
[Round „8“]
[White „Carlsen, M.“]
[Black „Karjakin, Sergey“]
[Result „0-1“]
[ECO „E14“]
[WhiteElo „2853“]
[BlackElo „2772“]
[PlyCount „104“]

1. d4 Nf6 2. Nf3 d5 3. e3 e6 4. Bd3 c5 5. b3 Be7 6. O-O O-O 7. Bb2 b6 8. dxc5 Bxc5 9. Nbd2 Bb7 10. Qe2 Nbd7 11. c4 dxc4 12. Nxc4 Qe7 13. a3 a5 14. Nd4 Rfd8 15. Rfd1 Rac8 16. Rac1 Nf8 17. Qe1 Ng6 18. Bf1 Ng4 19. Nb5 Bc6 20. a4 Bd5 21. Bd4 Bxc4 22. Rxc4 Bxd4 23. Rdxd4 Rxc4 24. bxc4 Nf6 25. Qd2 Rb8 26. g3 Ne5 27. Bg2 h6 28. f4 Ned7 29. Na7 Qa3 30. Nc6 Rf8 31. h3 Nc5 32. Kh2 Nxa4 33. Rd8 g6 34. Qd4 Kg7 35. c5 Rxd8 36. Nxd8 Nxc5 37. Qd6 Qd3 38. Nxe6+ fxe6 39. Qe7+ Kg8 40. Qxf6 a4 41. e4 Qd7 42. Qxg6+ Qg7 43. Qe8+ Qf8 44. Qc6 Qd8 45. f5 a3 46. fxe6 Kg7 47. e7 Qxe7 48. Qxb6 Nd3 49. Qa5 Qc5 50. Qa6 Ne5 51. Qe6 h5 52. h4 a2 0-1

… und sie dieser «Taktischen Analyse» unterzogen mit folgenden Rahmenbedingungen: Intel i7-4790 CPU / 3.6 GHz / 5s pro Zug / Stockfish8 / 4 Cores / 2 GB Hash / Nalimov-EGT / LiveBook

Nach knapp 15 Minuten des Backward-Berechnens generierte das Programm folgenden Output (wobei das Layout des Prints noch der Überarbeitung bedürfte):

chessbase-14-taktische-analyse-5sec-stockfish8_seite_1

chessbase-14-taktische-analyse-5sec-stockfish8_seite_2

Wie man sieht, resultiert aus dieser vollautomatischen Untersuchung ein Notations-Bild, das der professionellen Kommentierung durch Großmeister in Schach-Büchern und -Zeitschriften verblüffend nahe kommt: Klare Variantengliederung, die schachlichen Hotspots mit Diagrammen strukturiert, die Verbalisierungen prägnant-treffend (und farblich hervorgehoben), Einbeziehung von Eventualzügen bzw. Alternativen, Abwechslung der Semantik usw.

Stellt man diesem Output jenen gegenüber, den das zweite bekannte Chesbase-Flaggschiff «Fritz»  unter identischen Bedingungen (bis auf die «Referenz-Datenbank») mittels der sog. «Vollanalyse» nach ca. 19 Min. zeitigt, ergibt sich ein deutlich kargeres, hinsichtlich der langweiligen verbalen Wiederholungen sogar merklich schlechteres Bild:

fritz-15-vollanalyse-5sec-stockfish8

Zur Entschuldigung von «Fritz» – hier in seiner aktuellen 15. Version – muss natürlich erwähnt werden, dass «Fritz» im Gegensatz zu «Chessbase» seit jeher als Engine-Interface und nicht als Datenbank konzipiert wurde; die beiden Programme haben unterschiedliche Philosophien und je unterschiedliche Stärken.

Fazit bezüglich der «Taktischen Analyse» bei «Chessbase 14»: Wenn die Entwickler dieses neue Feature weiter professionalisieren und u.a. insbesondere seine Semantik noch vielfältiger, differenzierter, origineller, also irgendwie «menschlicher» gestalten, dann ist der Tag nicht mehr fern, da ganze Partien-Bücher praktisch vollautomatisch, ohne schachliche Mithilfe des Menschen – der ja ohnehin taktisch höchst fehleranfällig kommentiert – generiert werden können. Nimmt man noch die im Computerschach-Zeitalter immer häufigere Auffassung hinzu, dass es eigentlich keine (vom Menschen zu entdeckende) «Schach-Strategie» mehr gibt, sondern nur noch «nicht ganz durchgerechnete Taktik», dann steht der Überschwemmung des Schachbücher-Marktes mit rein maschinell erzeugten Partien-Sammlungen bald nichts mehr im Wege. Ein erschreckendes Szenario, mit hunderten von arbeitslosen Großmeistern & Schach-Autoren und -Verlagen, eine Verarmung der gesamten Schachszene? Oder doch eine Erweiterung, eine Vertiefung, ja Professionalisierung des Umganges mit Schachpartien? Die Zukunft wird es zeigen…

Der «Analyse-Assistent»

Während die «Taktische Analyse» vollautomatisch abläuft und vom Menschen nur wenige Klicks des Voreinstellens benötigt, kommt das zweite Analyse-Instrument des neuen «Chessbase 14» als komplett interaktives Features daher: die sog. «Assisted Analysis». Hier steht die kommentierende Visualisierung der schachlichen Verflechtungen im Vordergrund: Kandidatenzüge werden farblich differenziert, durch pures Anklicken je hierarchisch dargestellt, erwartete Gegenzüge werden mit Pfeilen kenntlich gemacht, die Best-Moves pro Stellung sind mit einfachen Figuren-Mausklicks live visualisierbar, u.a.

assisted-analysis-chessbase-14-glarean-magazin
Das Hauptfenster der sog. Assisted Analysis mit ihrer hierarchischen Colorierung von (hier Springer-) Kandidatenzügen.

Das Potential dieses interaktiv «assistierten» Werkzeuges dürfte insbesondere die Fernschach-Spieler unter den «Chessbase»-Nutzern interessieren, hier sehe ich eines der hauptsächlichen Anwendungsfelder. Möglicherweise ist diese Ausweitung des persönlichen Analysierens, das die Zugauswahl differenziert bei gleichzeitiger taktischer Balance, eine der Möglichkeiten, dem drohenden «Remis-Tod» des Spitzen-Fernschachs entgegenzutreten. Geht man davon aus, dass das moderne Großmeister-Fernschach ohne Software-Unterstützung heute undenkbar ist, eröffnen solche neuen Programmier-Ansätze durchaus auch neue Perspektiven.
Wen die Details dieser neuen «Assisted Analyses» näher interessieren, dem sei das Youtube-Video empfohlen, das Programmierer Matthias Wüllenweber selber ins Netz gestellt hat.

«Chessbase 14»: Kaufen oder nicht kaufen?

Das jüngste Programm aus dem Hause Chessbase ist nicht gratis: Der Download des Standard-Pakets schlägt mit 100 Euro zu Buche, für das «Startpaket» will Chessbase 190 Euro, und das vollumfängliche «Premium» reißt ein fettes Loch von sogar fast 400 Euro ins Portemonnaie. (Zu den Inhalten der einzelnen Pakete siehe hier )
Wie eingangs erwähnt: Otto Normalverbraucher braucht dieses hochprofessionelle Programm, dessen Feature-Reichtum und -Vielfalt seinesgleichen sucht, keineswegs: Allein die Einarbeitungszeit in eine so komplexe Software steht in keinem Verhältnis zum realen Nutzen, den ein durchschnittlicher Vereinspieler mit seinen 1600 Elo-Punkten je daraus ziehen könnte. (Wobei «Chessbase» im Vergleich etwa zu seinem traditionellen Markt-Kontrahenten «Chess Assistant» meines Erachtens immer noch sehr viel User-freundlicher daherkommt). Dem «gewöhnlichen» Schachspieler reicht irgend eine der «Fritz»-Versionen 11 bis 15 oder eines der zahlreichen Freeware-GUI‘s mit ihrer relativ simplen PGN-  bzw. Gratis-Engine-Anbindung völlig.

Fazit-Rezensionen_Glarean Magazin
Neben seinen bisherigen Möglichkeiten, die mittlerweile kaum mehr Wünsche offenlassen hinsichtlich eines professionellen Handlings von Schachpartien zeichnet sich mit dem jüngsten «Chessbase 14» ein willkommener Trend ab weg vom rein technischen Verwalten von Schach-Partien hin zu den schachanalytischen Aspekten des Umgangs mit nicht nur dem mittlerweile unüberschaubaren Fundus an Gratis-Partienmaterial, sondern auch mit allen Bereichen der privaten Beschäftigung mit Schach. Mit «Chessbase 14» schickt sich Schach-Software endgültig an, zum ebenbürtigen Partner des Menschen zu werden. Auf die weitere Entwicklung dieses Zweiges der Schach-Programmierung darf man gespannt sein…

Das weltweit große Heer der ambitionierten Turnier-Spieler hingegen wird sich auch «Chessbase 14» unter den Weihnachtsbaum 2016 legen wollen. Denn neben seinen bisherigen Möglichkeiten, die mittlerweile kaum mehr Wünsche offenlassen hinsichtlich eines professionellen Handlings mit Schachpartien – eine Übersicht auf das enorme Funktionen-Angebot findet sich hier – zeichnet sich mit «Chessbase 14» ein willkommener Trend ab weg vom rein technischen Verwalten von Schach-Partien hin zu den schachanalytischen Aspekten des Umgangs mit nicht nur dem mittlerweile unüberschaubaren Fundus an Gratis-Partienmaterial, sondern auch mit allen Bereichen der privaten Beschäftigung mit Schach. Mit «Chessbase 14» schickt sich Schach-Software endgültig an, zum ebenbürtigen Partner des Menschen zu werden. Auf die weitere Entwicklung dieses Zweiges der Schachprogrammierung darf man gespannt sein…

Matthias Wüllenweber, Matthias Feist: Chessbase 14 – Schach-Datenbank, DVD & Online-Download

Computer-Schach: Die neue Engine-Test-Suite «Nightmare II»

30 Albträume für Schachprogramme

Walter Eigenmann

Fidelity Chess Challenger 1 - Glarean Magazin
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…

Anfangs 2005 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.

Kommodo 10 - Glarean Magazin
… während heutzutage ein kleines 2-MB-Programm wie der amtierende Weltmeister «Komodo» mit fast der gesamten menschlichen Grossmeister-Gilde aufräumt

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.

Beispiel-Stellung Kasparov-Andersson - Glarean Magazin
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?

Meine persönliche Einschätzung der neuen «Nightmare»-Aufgaben als besonders anspruchsvolle beruht im wesentlichen auf Stichproben mit wenigen 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», das ein besonders nützliches Feature aufweist, 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 wird.

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.

Fernschach-Partie Smith-Gach - Glarean Magazin
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 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 30-60 Sekunden pro Stellung mit ca 1 GB Hash auf einem Rechner mit mind. 2 Cores (64-Bit) und mind. 2.1-GHz-Prozessor (optional zuzüglich Endspiel-Tablebases). –

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 den Test-Engines zum Lösen vorsetzen. Besonders geeignete Schach-Interfaces hierzu sind u.a. «Arena», «Fritz» und «Shredder». Wer zudem alle 30 Aufgaben bzw. Analysen interaktiv online nachspielen will, kann das via untenstehenden Link ebenfalls tun.

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

Die 30 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, Rechentiefe 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 «Nightmare II» recht eindrücklich dokumentiert…
Der Autor wünscht viel Spaß bei eigenen Engine-Experimenten! ♦

EPD-Download

Online nachspielen