Zunächst ein Link zu Grundsatzinfos:
http://chessprogramming.wikispaces.com/Syzygy+BasesDort ist zu lesen daß die Syzygy-Bases von
Ronald de Man die
50 Züge-Regel berücksichtigen - was die Nalimovs bekanntlich nicht tun - und sehr kompakt sind: Weniger als ein Gigabyte für die 3/4/5-Steiner.
Man kann sich diese Tables entweder downloaden oder sie selbst generieren. Wer eine Flatrate und eine schnelle Internetverbindung hat, wird vermutlich gerne folgende Quelle nutzen:
http://chess.cygnitec.com/tablebases/syzygy/ (3/4/5er)
Noch kein 7-Zip an Bord? http://7-zip.org/ Zwar kein einzelnes File, aber wenige. Einfach alles in dasselbe Verzeichnis entpacken - wie immer am besten auf SSD oder Flash Memory - und das ist dann der Syzygy-Tablebasepfad. Wenn ich nicht irre, sollten das 290 Dateien sein (außer eventuelle Textfiles die man nicht braucht).
Alternativ dazu kann man sie sich auch selber generieren. Das hat hier bei mir übernacht auf Dualcore-i5 CPU knapp unter 6 Stunden gedauert. RAM gesamt 4 GB (ich weiß nicht was das Minimum für Fünfsteiner ist). Der TCEC-Chatter
Trym hat freundlicherweise einen Download zur Verfügung gestellt, der die Software zur Generierung, die unter der GNU-Lizenz steht, sowie eine
PERL-Umgebung enthält:
http://www.solheimsvollen.net/TBGen/SZGen.zip (ca. 27 MB)
PERL ist hier nur notwendig, um ein Perlscript benutzen zu können das die Generierung sehr erleichtert. Zum Betrieb der Tables ist das natürlich nicht notwendig und man könnte es also nach erfolgreicher Herstellung der Tables wieder deinstallieren.
Wenn man PERL(*) installiert und den Rest in irgendein Verzeichnis entpackt hat - am besten gleich in das vorgesehene künftige Syzygy-Verzeichnis - öffnet man ein Kommandozeilenfenster und gibt ein:
run.pl --generate --max 5Optional kann man auch noch die Anzahl CPU-Threads die benutzt werden sollen, dazugeben, z.B.
--threads 4 (je nachdem was man hat).
Warnung: 6-Steinererzeugung benötigt 16 GB RAM... und wohl auch sehr viel Zeit.
Erste Erfahrungen:
Zufälligerweise ist die Syzyzgy-fähige Stockfishversion die ich fand (Downloadlink leider vergessen) vom selben Datum wie die Entwicklungsversion die ich momentan installiert habe, vom 23.9.2013. Somit konnte es quasi einen 1:1-Vergleich mit/ohne Syz.-Bases geben. Diesen habe ich bei ultrakurzer Bedenkzeit und mit Verwendung von 10 Endspiel-Startpositionen gemacht. Nicht alle symmetrisch, z.B. ist auch Dame gegen zwei Türme oder Leichtfigur gegen drei Bauern dabei, alles natürlich mit weiteren Bauern.
Wenig überraschend, wurden alle 20 Testpartien remis. Jedoch interessant zu sehen war: 1. Technisch einwandfreier Verlauf, 2. in der Beobachtung keine Rechentiefe-Unterschiede feststellbar (Tables auf Flash Memory Card). Die Engines starteten typischerweise mit 18er-RT., dann folgten mit weniger Material bald 20+ RT.
Das war aber auf Singlecore, ponder off. Daß es auf sehr großen Rechentiefen und/oder mit sehr vielen Kernen "Phänomene" geben könnte, darüber kann ich keine Aussage treffen. Aber grundsätzlich halte ich diesen ersten Eindruck für einen Vertrauen erweckenden.
Aktuelle Sourcen vom Syzygy-fähigen Stockfish gibt es unter
https://github.com/syzygy1/stockfishaber bisher leider keine Executables.
Ich
hoffe, daß die Version welche bald in TCEC Stage 3 zum Einsatz kommen wird, so wie die üblichen Entwicklungsversionen als Executable downloadbar sein werden. Dann wird sich auch das ganze Thema "Syzygy" intensivieren und viele werden dieselben Fragen stellen...
Hiermit glaube ich dem CSS-Forum einen gewissen Informationsvorsprung verschafft zu haben.
*) PERL ist Open Source, siehe http://www.perl.org/ (ich benutzte Active Perl)