Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Verwendung von Endspieldatenbanken
- - By Thomas Plaschke Date 2010-12-05 15:23
Bei Endspielanalysen fragte ich mich mitunter, ob die Engines überhaupt auf die angebotenen Tabellen zugreifen. Installiert habe ich die Nalimov-, Scorpio- und Gaviota-Tabellen. Nalimov- und Gaviota-Tabellen auf dem eigenen Rechner erzeugt (290 bzw. 145 Dateien). Scorpio-Tabellen aus dem I-Net (180 Dateien). Ich gehe davon aus, damit die 5-Steiner der jeweiligen Endspieldatenbanken zu haben.

Zum Test habe ich diese Stellung (ist, glaube ich, aus dem Großen Computerschachbuch) verwendet:



Ich habe einige kommerzielle und einige "freie" Engines getestet. Als GUI habe ich Fritz 12 verwendet. Die GUI meldet von sich aus ein Matt in 25. Endspieltabellen waren im Engine-Auswahldialog daher abgestellt. 256 MBytes für Hashtabellen waren eingestellt. Verwendet wurde ein Quad-Rechner mit Windows 7 x64.

Auf die Lösung - als Matt in 25 - kam es mir nicht an. Ich erwartete in der Hauptvariante à tempo eine Mattankündigung. 10 Sekunden habe ich gewartet. Bei dieser kurzen Bedenkzeit und dem verwendeten Rechner sollte keine Engine in der Lage sein, das Matt zu errechnen.

Die Ergebnisse haben mich überrascht:

Engine                                    Ausgabe                               Kommentar                                                                                                                                                                                                                                        
Colossus 2008b                            #25 Kd2 (Hz 69/69)                    Nalimov-Tabellen; meldet tb=16                                                                                                                                                                                                                   
Crafty 23.01 CB-Version                   keine Mattankündigung                 Nalimov-Tabellen; meldet keine Zahl zur Tablebase-Verwendung                                                                                                                                                                                     
Critter 0.80 x64                          #25 Kd2 (Hz 2/1)                      Gaviota-Tabellen Verwendung: Everywhere; findet Matt nur, wenn Einstellungen zu Ort der Gaviota-Tabellen vor dem ersten Berechnungsstart eingegeben wurden (Hashtabellen sonst vermutlich schon gefüllt und prioritär gegenüber Endspieltabellen)
Critter 0.90 x64                          keine Mattankündigung                 Gaviota-Tabellen Verwendung: a) Everywhere, b) only at root. Kein anderes Ergebnis.                                                                                                                                                              
Deep Fritz 12                             #25 Kd2 (Hz 7)                        Nalimov-Tabellen; meldet tb=17                                                                                                                                                                                                                   
Deep Shredder 11                          keine Mattankündigung                 Shredderbases: Always; Nalimov-Tb: a) Normal, b) Early. Keine Unterschiede.                                                                                                                                                                      
Jonny 4.00 (4 CPU)                        #49 Kd2
(Hz: ...rechnet weiter)       Nalimov-Tabellen; 1. Mattankündigung #53, tb=1; #49, tb=3                                                                                                                                                                                        
Protector 1.3.6 JA (rev. 344) x64 (4 CPU) #25 Kd2 (Hz: 49/49)                   Nalimov-Tabellen; Mattankündigung im 6. Hz bei tb=53                                                                                                                                                                                             
Deep Rybka 3 x64                          #24 Kc2 (Hz: 59)                      Nalimov-Tabellen; Mattankündigung im 6. Hz bei tb=70                                                                                                                                                                                             
Toga II 1.4 beta 5c (4 CPU)               keine Mattankündigung
(f3; Hz: 63/19) Scorpio-Bases; "rennt" in die Rechentiefe  mit Bewertung 51.25 (möglicherweise doch eine Mattankündigung?)                                                                                                                                       
Toga II 1.4.2 JD (4 CPU)                  keine Mattankündigung
(f3; Hz: 63/17) wie Toga II 1.4 beta 5c (4 CPU); sind doch sehr verwandt                                                                                                                                                                                         
bright-0.5c                               keine Mattankündigung                 Scorpio-Bases                                                                                                                                                                                                                                    
gaviota v0.80                             #2716 Kd2 (Hz: 2)                     Gaviota-Bases; aber: keine Anzeige in Daueranalyse (funktioniert anscheinend nicht). Ergebnis durch Befehl "Zieh" erhalten.                                                                                                                      

Ob die Engines das Problem lösen können, war nicht die Fragestellung. Es ging mir darum, den Nutzen zur ermitteln, den die Engines in der Suche aus den Endspieldatenbanken ziehen können. Was den praktischen Nutzen im Partienspiel angeht, habe ich den Eindruck, dass viele Programmierer und Fachleute den Endspieldatenbanken heute kritisch gegenüber stehen. Für Analysen sollten die ewigen Wahrheiten der Endspieldatenbanken aber immer nützlich sein. Oder sehe ich das falsch?
Irritierend fand ich daher, dass viele Engines Endspieltabellen nutzen können sollten, dies aber anscheinend nicht tun - warum auch immer. Bemerkenswert für mich hier ganz besonders Deep Shredder 11, der ja zusätzlich auf die eigenen Shredderbases zugreift - ohne in dieser Stellung erkennbaren Nutzen.
Kommentare?
Gruß
Th. Plaschke

P.S.: Liebe Administratoren, ich wollte Euch mit meinem ersten Beitrag nicht herausfordern     (Mit diesem auch nicht.) Ich habe nach einer Möglichkeit gesucht, eine Tabelle zu erstellen und dabei vorschnell auf schreiben gedrückt. Der "diesige" Beitrag sieht nicht toll aus, aber besser als der erste. Ob es wohl möglich ist, die beide zu tauschen?    (Ein Hinweis, wie das mit den Tabellen geht, wäre sehr lieb...)
Parent - - By Stefan Herman Date 2010-12-08 11:02
Hallo!

Du schreibst, dass du unter der CB-Oberfläche die Endspieldatenbanken ausschaltest.
soll da eine CB- oder UCI-Engine wissen, ob und wo die installiert sind? Denn das wird
vom GUI an den Motor weitergegeben. Das bei einem 5-Steiner die Oberfläche das von
sich aus zieht, ist ja fast klar.

Unter Arena findet Crafty das Matt auch sofort - da sind die Endspieldateien aber nur
in der crafty.rc angegeben. Das Programm greift also darauf zu - es muß nur wissen,
wo es nachschauen muß.

Gruß
Parent - - By Thomas Plaschke Date 2010-12-09 20:06
Mit dem Switch im Engine-Dialog (das, was man mit F3 aufrufen kann) wird lediglich abgeschaltet, dass die GUI bereits prüft, ob eine Stellung vorliegt, die in den installierten (unter Optionen einzutragenden) Nalimov-TBs enthalten ist. Findet die GUI die Stellung, spielt die GUI den Zug aus. Die Engine tut nichts.
Mit Crafty verhält es sich so, dass die CB-Versionen die 23.01, 23.00 und 22.01 in der Teststellung keine Zugriffe auf die Nalimov-tbs vornehmen. Die Version 20.14 w32 (ich glaub, die kam zu mir mit Deep Shredder) spielt à tempo Kd2 mit Mattansage #25 und weist 13 tb-Zugriffe aus. Eine crafty.rc-Datei habe ich nicht im Engine-Verzeichnis. Soweit ich weiß brauchen das nur die WB- und die XWindows-Versionen.
Aber ich habe eine crafty.rc-Datei mit dem Parameter tbpath= ins Engine-Verzeichnis gestellt. Keine Änderung.
Ich habe tbpath als Windows-Umgebungsvariable gesetzt. Keine Änderung.
Meine CB-Crafty-Versionen 23.xx und 22.xx haben anscheinend keinen Zugriff auf die Endspieltabellen. Das gleiche Problem scheint Deep Shredder 11 zu haben, der weder auf Shredderbases noch Nalimov-Tabellen zugreift. Habe das noch mit einer elementaren KQK-Stellung (Matt in 8) ausprobiert - diese Programme gehen in die Suche. Deep Fritz 12 meldet lakonisch: #8, Tiefe 7, 8kN, tb=54.
Es bleibt für mich eigenartig.
Aber vielen Dank für die Idee.
Parent - By Stefan Herman Date 2010-12-10 17:07
Hallo!

Aha, gut, das wusste ich nicht, dass es nun zwei verschieden Angaben dazu gibt.

Die Version 23 von CB-Crafty ist, meiner Meinung nach, so wieso fehlerhaft. Nimmt diese an einem internen
Turnier teil und fängt da an zu rechnen, stürzt oft die ganze GUI ab - "Chessprogramm reagiert nicht mehr....".
Das passiert sonst bei keinem Motor.

Auch schade finde ich, dass CB-Crafty nicht auf die eigenen Bücher zugreifen kann oder auf die Lerndatei. Oder
dass nicht endlich die (vorhandene) 64-Bit-GUI parallel angeboten wird - es gibt ja wohl schon ein 64-Bit-Crafty
speziell für CB.

Gruß
Parent - - By Michael Scheidl Date 2010-12-08 16:34
Die (neueren) Fritz-GUIs haben m.W. zwei verschiedene Einstellungen f.d. Nalimov-Zugriff: Erstens für die GUI selbst; diese ist via Funktionstaste F3 zu erreichen, und dann zweitens f.d. dynamischen Enginezugriff. Letztere ist glaube ich unter "Extras/Optionen/Tablebases" an- bzw. abwählbar. D.h. für diesen Test sollte man wohl den GUI-Zugriff aus- und den Enginezugriff anschalten.

Obwohl: Der eigentliche Nutzeffekt des "dynamischen" Zugriffs (also während der Suche durch die Engines) soll ja in Stellungen eintreten, die noch (m.o.w. lange) nicht auf Datenbankmaterial heruntergetauscht bzw. "dezimiert" worden sind, sondern vorher, wo solche Stellungen erst im Suchbaum irgendwo auftreten. In der aktuellen Partiestellung stehen zu diesem Zeitpunkt noch mehr als 5 oder 6 Steine auf dem Brett. Aber so können Engines viele mögliche künftige Stellungen perfekt bewerten und so u.U. bessere bzw. richtige Übergänge finden, und/oder den Suchbaum effektiver beschneiden usw.

Steht schon eine Datenbankstellung auf dem Brett, haben Engines normalerweise ja sowieso quasi nichts mehr zu tun wenn sie (und/oder die GUI) die betreffende Tablebase benutzen. Geschieht dies nicht, kann eigentlich nur eine unvollständige ode fehlerhafte Konfiguration vorliegen, oder ein Bug, oder die betr. Tbs.-Datei ist vielleicht defekt.

Ich habe es beim Testen immer so gehalten, daß ich bei Erreichen von Tbs.-Material die GUI das Abwickeln ließ (wobei ich aber nie die kompletten 5er benutzte, nur eine Auswahl), aber das ist eine Frage der jeweiligen Testphilosophie bzw. der Testerfordernisse. Also dessen was und worauf genau man testen will.

(Die Konfiguration der anderen Tbs.-Formate ist wohl jeweils in den engine-eigenen Konfigurationsfiles vorzunehmen, also von obigem unanbhängig.)
Parent - - By Thomas Plaschke Date 2010-12-09 21:04
Vorweg: Die beiden Register in den Fritz-GUI-Optionen heißen "Tablebases GUI" und "Tablebases Engines". Die Pfade sind in beiden eingetragen. Wenn ich gesagt habe, dass die GUI ein Matt in 25 gemeldet hat, dann meinte ich das unabhängig von der gerade ausgewählten Engine. Das Häkchen bei "Endspieltabellen" im Engine-Auswahldialog (der auch mit F3 erscheint) war gesetzt. Auf meinem Rechner spielen dann auch Shannon und Turing perfekte 5-Steiner

Die Ausgaben von Engines und GUI unterscheiden sich außerdem deutlich. Die GUI gibt eine Liste aller Züge aus (bewertet mit Matt oder Remis) und keine Hauptvariante.

Von meinen CB-Engines greifen Deep Fritz 11 und 12 auf die Nalimov-Tablebases zu. Deep Shredder 11 dagegen weder auf die Nalimovs noch auf die Shredderbases. Die 22er und 23er Crafty Versionen haben keinen tb-Zugriff, die 20.14 w32 aber schon.

Zu den UCI-Engines. Die jeweiligen .ini-Dateien hatte ich vorher entsprechend präpariert. Aber:
- Critter 0.90. Laut Autor hält sich die GUI nicht an das UCI-Protokoll. Es gibt einen workaround (Gaviota-Tabellen-Ordner ins root-Verzeichnis des Engine-Laufwerks). Funktioniert dann tadellos mit Mattansage.
- Die Scorpio-Bases-Engines bright-0.5c und Toga II haben ohne Bases eine viel niedrigere Stellungbewertung (in einfacheren Stellungen überprüft). Zugriff scheint also zu funktionieren, aber ohne Mattankündigung. Vielleicht habe ich aber auch nicht alle Dateien!? Ich zähle 180 Stück. Für einige Endspiele scheint es Dateien für weiß und schwarz zu geben. Für andere nur Dateien zu einer Farbe. Erwarten würde ich insgesamt entweder 290 Dateien wie bei den Nalimovs oder 145 wie bei den Gaviota-Tabellen. - Wenn alle Endspiele und Farben abgedeckt sind.

Was den Nutzen angeht, stimme ich zu: Das ist auch eine Frage der Testphilosophie.
Aber wenn ich meine (Mensch-Mensch-)Partien von der Fritz-GUI analysieren lasse (Ja, ich gehöre zu den scheinbar wenigen Fans der Vollanalyse!), hoffe ich (ich weiß, hoffen ist nicht wissen) , dass die Tabellen die Engines für das späte Endspiel besser machen. Zu den anderen Vor- und Nachteilen ist schon an anderen Stellen genug geschrieben worden.
Parent - - By Werner Schüle Date 2010-12-10 09:22
Hallo Thomas,
ich habe gerade Deep Shredder 11 UCI auf dem Windows 7 PC in Fritz 11 GUI installiert.
a) die engine greift hier eindeutig auf die tbs zu.
b) auf die Shredderbases wird erst zugegriffen, wenn die engine die bases.ini findet. Ich habe das Verzeichnis jetzt oberhalb des Vezeichnisses reinkopiert, wo auch die uci engine (.exe ) ist, dann geht das. Sonst muss Windows so eingerichtet werden, dass die Shredder Engine die bases.ini auch woanders findet.
Gruß
Werner

Neue Partie - Deep Shredder 11 x64 1CPU, Blitz:60'+15"
4k3/4p3/8/8/8/8/4N3/3BKB2 w - - 0 1

Analysis by Deep Shredder 11 x64 1CPU:

1.Se2-d4 Ke8-f7 2.Lf1-c4+ Kf7-e8 3.Ld1-g4 Ke8-d8 4.Sd4-c6+ Kd8-c7 5.Sc6xe7 Kc7-d6 6.Se7-f5+ Kd6-e5 7.Ke1-d2 Ke5-f4 8.Lg4-h3 Kf4-e4 9.Kd2-e2 Ke4-f4 10.Lc4-d5 Kf4-e5
  +-  (11.61)   Tiefe: 15/26   00:00:00  753kN, tb=12426

(Schüle,  10.12.2010)

Neue Partie - Deep Shredder 11 x64 1CPU, Blitz:60'+15"
4k3/4p3/8/8/8/8/4N3/3BKB2 w - - 0 1

Analysis by Deep Shredder 11 x64 1CPU:

1.Se2-d4 Ke8-d7 2.Lf1-h3+ Kd7-e8 3.Sd4-c6 Ke8-f7 4.Lh3-e6+ Kf7-e8 5.Ke1-d2 Ke8-f8 6.Le6-f7 e7-e5 7.Sc6xe5
    (13)   Tiefe: 18/26   00:00:01  1750kN, bb=9514

(Schüle,  10.12.2010)
Parent - By Kurt Utzinger Date 2010-12-10 15:46
[quote="Werner Schüle"]
Hallo Thomas,
ich habe gerade Deep Shredder 11 UCI auf dem Windows 7 PC in Fritz 11 GUI installiert.
a) die engine greift hier eindeutig auf die tbs zu.
b) auf die Shredderbases wird erst zugegriffen, wenn die engine die bases.ini findet. Ich habe das Verzeichnis jetzt oberhalb des Vezeichnisses reinkopiert, wo auch die uci engine (.exe ) ist, dann geht das. Sonst muss Windows so eingerichtet werden, dass die Shredder Engine die bases.ini auch woanders findet.
Gruß
Werner
[/quote]

Na klar, wenn kein Zugriff erfolgt, ist an der Konfiguration etwas faul.
Gruss
Kurt
Parent - By Thomas Plaschke Date 2010-12-10 17:27
Hallo Werner,
ich habe die Chessbase-Version, nicht die UCI-Version von Deep Shredder 11. Die base.ini ist da, wo sie nach der Installation auch sein soll. Aber Du hast mich auf die Idee gebracht, die Deep Shredder 11-GUI zu installieren (Verzeichnis Chessprogram10 im Chessbase-Verzeichnis). Siehe da: Deep Shredder 11, Crafty 23.xx und 22.01 benutzen wieder die Nalimov-Tablebases. Aber nur unter der Deep Shredder 11-GUI.

Ob Deep Shredder 11 die Shredderbases benutzt muss ich aber nach wie vor bezweifeln (die Engine-Ausgabe gibt keine Anhaltspunkte). Das Shredderbases-Verzeichnis heißt unter der 64 Bit-Version von Windows 7 . Vielleicht wird es deswegen nicht gefunden.

Zusammenfassend würde ich sagen, dass die "Nichtnutzung" der Endspieltabellen durch die genannten Engines vermutlich an der Deep Fritz 12-GUI liegt.

Wieder um eine Erkenntnis reicher!

So, jetzt werde ich die Deep Shredder 11-GUI wieder deinstallieren - der default-Zeichensatz der Engine-Ausgabe funktioniert jetzt nämlich in keiner Chessbase-GUI mehr (auch etwas, worüber der Laie staunt und der Fachmann sich wundert ).

Gruß
Thomas
Up Topic Hauptforen / CSS-Forum / Verwendung von Endspieldatenbanken

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill