Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / TCEC: Endspieldrama in Spark-Junior!
- - By Michael Scheidl Date 2013-09-13 17:13
Gerade wurde die Partie Spark-Junior in der vorletzten Runde von Stufe 1 (nTCEC 2. Saison) auf merkwürdige Weise remis. Der Partieverlauf ist sicherlich einigermaßen der Eröffnungsvorgabe geschuldet: Der schwarze Damenflügel war von Anfang an schwach und unter Druck.

Schließlich kam es zu folgender Position, laut 6-Steinern ein weißer Gewinn in 37 Zügen:


Bis dahin war Spark am Gewinnen, doch nun - mangels Tablebases - verfiel die Engine auf den Fehler Txf4? und die 5-Steiner-Partieabschätzung schlug zu: Es war plötzlich remis!

61.Txf4 ist offenbar eine sehr gute "avoid move" Teststellung, sofern eine Engine keine, oder höchstens 4-Steiner-Unterstützung hat.

Das ganze ist jedenfalls ein Beweis wie viel Tablebasezugriff wert sein kann - das Gequatsche á la "unwichtig, höchstens 5 Elo" sollte man vergessen - gerade bei so vielbeachteten, wichtigen Turnieren. Typischerweise werden Schwachpunkte magischerweise ausgerechnet bei solchen Events schlagend, wo eine Engine vor einer breiten Öffentlichkeit spielt
Parent - By Thomas Plaschke Date 2013-09-13 17:38
Richtig! Selbst wenn es insgesamt nur um 5 Elo-Punkte ginge: Hier ist ein halber Punkt verschenkt worden.

Schade, Spark!
Parent - By Ernest Bonnem Date 2013-09-13 17:51
[quote="Michael Scheidl"]61.Txf4 ist offenbar eine sehr gute "avoid move" Teststellung, [/quote]
Nur Rd3 Rd1 Rd6 sind Gewinnzüge.

Der (vor)letzte Stockfish braucht ein wenig Zeit:

Analysis by Stockfish 080913:
..........................
1.Rxf4 Kd5 2.Rf5+ Ke4 3.Rg5 Nc6 4.Kd2 Kd4 5.Rf5 Ke4 6.Rh5 Kd4 7.Rg5 Na5 8.Ke2 Nc6 9.Kf3 Ne5+ 10.Kg3 Nc6 11.Kf2 Ke4 12.Rh5 Kd4 13.Rf5 Ke4 14.Rg5 Ne5 15.Rh5 Nc6 16.Kg3 Ne5 17.Rg5 Nc6 18.Kg4 Ne5+ 19.Kh3 Kd4 20.Kg2 Ke4 21.Kg3
  +-  (3.95)   Depth: 52/63   00:01:35  206mN
1.Rxf4 Kd5 2.Rf5+ Ke4 3.Rg5 Nc6 4.Kd2 Kd4 5.Rf5 Ke4 6.Rh5 Kd4 7.Rg5 Na5 8.Ke2 Nc6 9.Kf3 Ne5+ 10.Kg3 Nc6 11.Kf2 Ke4 12.Rh5 Kd4 13.Rf5 Ke4 14.Rg5 Ne5 15.Rh5 Nc6 16.Kg3 Ne5 17.Rg5 Nc6 18.Kf2
  +-  (3.95)   Depth: 53/63   00:01:55  254mN
1.Rxf4 Kd5 2.Rf5+ Ke4 3.Rg5 Nc6 4.Kd2 Kd4 5.Rf5 Ke4 6.Rh5 Kd4 7.Rg5 Na5 8.Ke2 Nc6 9.Kf3 Ne5+ 10.Kg3 Nc6 11.Kf2 Ke4 12.Rh5 Kd4 13.Rf5 Ke4 14.Rg5 Ne5 15.Rh5 Nc6 16.Kg3 Ne5 17.Rh6 Kd5 18.Rh5 Ke4
  +-  (3.95)   Depth: 54/64   00:02:28  328mN
1.Rd3 Ke5 2.Kd1 Ke4 3.Rd2 Ke5 4.Rd7 Ke6 5.Rd3 Nc4 6.Kc2 Na5 7.Kc3 Ke5 8.Rd8 Ke4 9.Rd4+ Kf5 10.Rd6 f3 11.Kd3 Ke5 12.Rd8 Nc6 13.Rd7 Kf5 14.Ke3 Ne5 15.Rd5 Ke6 16.Rd6+ Kf5 17.Kf2 Nc4 18.Rd5+ Ke4 19.Rd7 Ne5 20.Rd6 Nc4 21.Rh6 Ne5 22.c6 Ng4+ 23.Kf1 Nxh6 24.c7
  +-  (4.04 !)   Depth: 55/70   00:02:58  393mN
1.Rd3 Kf5 2.Kd1 Ke4 3.Rd2 f3 4.Ke1 Nc6 5.Rd6 Na7 6.Kf2 Nb5 7.Rd7 Nc3 8.c6
  +-  (4.12 !)   Depth: 55/70   00:03:16  425mN
1.Rd3 Kf5 2.Kd1 Ke4 3.Rd2 Ke5 4.Rd7 Ke6 5.Rd3 Ke5 6.Kc2 Nc6 7.Kc3 Na7 8.Rd7 Nc8 9.Kd3 f3 10.Ke3 f2 11.Kxf2 Ke6 12.Rd8 Ne7 13.Ke2 Ke5 14.Rd1 Nc6 15.Rd7 Nb4 16.Rd6 Nd5 17.Kd3 Nf4+ 18.Kc4
  +-  (4.24 !)   Depth: 55/70   00:03:52  498mN
1.Rd3 Kf5 2.Kd1 Ke4 3.Rd2 Ke5 4.Rd7 Ke6 5.Rd3 Ke5 6.Kc2 Ke4 7.Rd7 Kf5 8.Kd3 Ke5 9.Rg7 Nc6 10.Rg5+ Kf6 11.Rh5 Kg6 12.Rh8 Kf5 13.Rh6 Ne5+ 14.Ke2 Kg5 15.Rd6 Kg4 16.c6 Nxc6 17.Rxc6 Kg3 18.Kf1
  +-  (4.42 !)   Depth: 55/70   00:04:17  545mN
1.Rd3 Ke5 2.Rd7 Ke6 3.Rd6+ Ke5 4.Rd3 Kf5 5.Kd1 Ke4 6.Rd2 Kf5 7.Rd6 Ke5 8.Rd8 Kf5 9.Kd2 Nc6 10.Rd3 Ne5 11.Rd5 Ke4 12.Rd6 Kf5 13.Ke2 Nf7 14.Rd4 Ne5 15.Kd1 Ke6 16.Kc2 Kf5 17.Kc3 Ng6 18.c6 Ne7 19.c7 Nc8 20.Kd3 f3 21.Rd8
  +-  (4.69 !)   Depth: 55/70   00:04:48  601mN
1.Rd3 Ke5 2.Rd7 Ke6 3.Rd6+ Ke5 4.Rd3 Kf5 5.Kd1 Ke4 6.Rd2 Kf5 7.Rd6 Ke5 8.Rd8 Ke6 9.Rd3 Ke5 10.Kc2 f3 11.Kd1 Ke4 12.Rd7 Ke5 13.Rd8 Ke4 14.Ke1 Ke3 15.Rd6 Nb7 16.Re6+ Kd4 17.c6 Nc5 18.c7 Nd3+ 19.Kf1
  +-  (5.10 !)   Depth: 55/72   00:04:59  622mN

Für Houdini aber sofort kein Problem...
Parent - - By Ralf Mueller Date 2013-09-13 18:58
Weswegen werden denn Tablebase-Remisen abgebrochen, Gewinner aber nicht, wenn beide Programme keine Tablebases nutzen?
Die Endstellung ist doch für die Programme keineswegs trivial remis! Beispielsweise hätte Txf4 Sc6 schon wieder ein Tablebase-Gewinn ergeben.
Parent - By Michael Scheidl Date 2013-09-13 21:19
Daß Fünfsteiner laut Tablebases abgeschätzt werden, ist eine neue, klare und pragmatische Regel bei nTCEC. - In dieser konkreten Partie hätte Junior sicher keinen Fehler mehr gemacht, denn die Engine nutzt die Nalimovs. Nur Spark hatte keine Tablebases.
Parent - - By Stefan Pohl Date 2013-09-14 04:53
[quote="Michael Scheidl"]
Das ganze ist jedenfalls ein Beweis wie viel Tablebasezugriff wert sein kann - das Gequatsche á la "unwichtig, höchstens 5 Elo" sollte man vergessen - gerade bei so vielbeachteten, wichtigen Turnieren. Typischerweise werden Schwachpunkte magischerweise ausgerechnet bei solchen Events schlagend, wo eine Engine vor einer breiten Öffentlichkeit spielt
[/quote]

Sicher hätte in dieser Situation die Benutzung zumindest der 5-Steiner TBs diesen halben Punktverlust vermieden. Aber dafür senken die Zugriffe auf die TBs auch die Knotenleistung der Engine ab, selbst wenn man die TBs auf schnelles Flashmemory parkt und ordentlich cached. Und diese verminderte Knotenleistung wiegt den Elozugewinn durch TBs in der Masse der Spiele leider wieder auf. Wenn überhaupt ein Elogewinn zu erzielen sein soll, dann müßten es schon Bitbases sein, die komplett im RAM liegen. Aber auch das ist nur ein minimaler Zugewinn.
Ich hatte mal Houdini 3 unter der LittleBlitzerGUI gegen sich selbst spielen lassen, einmal mit und einmal ohne die kompletten 3-5 Steiner Gaviota-TBs (auf USB-Stick, der bei Zugriff auch blinkte, sodaß ich sehen konnte, daß der Zugriff auch funktioniert und 256 MB Cache). Nach 1000 Partien war das Ergebnis praktisch Gleichstand. Ganz genau weiß ichs nicht mehr, aber irgendwas mit 49,x% für den TB-Houdini, also minimal schwächer. Eigentlich wollte ich nur mal sehen, ob der TB-Zugriff unter der LittleBlitzerGUI auch funktioniert.
Du könntest doch mal ein paar Experimente diesbzgl. machen und mit der LittleBlitzerGUI mal ein paar Engines gegen sich selbst antreten lassen (mit und ohne 3-5er TBs oder Robbo-Bitbases) und ein paar Tausend Partien spielen lassen. Nur fürchte ich, daß die Ergebnisse recht ernüchternd ausfallen werden.

Stefan
Parent - - By Stefan Schiffermüller Date 2013-09-14 10:07
[quote="Stefan Pohl"]
[quote="Michael Scheidl"]
Das ganze ist jedenfalls ein Beweis wie viel Tablebasezugriff wert sein kann - das Gequatsche á la "unwichtig, höchstens 5 Elo" sollte man vergessen - gerade bei so vielbeachteten, wichtigen Turnieren. Typischerweise werden Schwachpunkte magischerweise ausgerechnet bei solchen Events schlagend, wo eine Engine vor einer breiten Öffentlichkeit spielt
[/quote]Aber dafür senken die Zugriffe auf die TBs auch die Knotenleistung der Engine ab[/quote]
Zum einen lassen sich die TB-Zugriffe beschleunigen durch bessere Hardware, zum anderen lassen sie sich sparsamer gestalten. In dieser Partie hätte der TB-Zugriff bis Rechentiefe 1 ausgereicht, um das Remis zu verhindern. Das hätte auch die Knotenleistung nicht beeinträchtigt. Außerdem vermute ich, dass bei hochklassigen Partien mit langer Bedenkzeit und vielen Kernen oder beim Fernschach die Endspieltabellen eine größere Rolle spielen. Ein Bekannter von mir hat mit Hilfe von Endspieltabellen eine Fernschachpartie gewonnen.

Gruß Stefan
Parent - By Michael Scheidl Date 2013-09-14 10:47
Zitat:
In dieser Partie hätte der TB-Zugriff bis Rechentiefe 1 ausgereicht


Das ist ein beachtenswerter Punkt, den man falls Skepsis wegen des Bremseffektes besteht, beim Justieren der Zugriffsparameter berücksichtigen kann. Mehrere Engines bieten solche in unterschiedlicher Form an. Bei Houdini 1.5a zum Beispiel sind sie schon von vornherein sehr zurückhaltend eingestellt:

Hard_Probe_Depth: 24
Soft_Probe_Depth: 16

Wobei diese Werte im speziellen die Rest-Rechentiefe * 2 darstellen, bis zu der zugegriffen wird.

Zitat:
"A value of 24 corresponds to 12 ply deep, meaning Houdini will only probe if the remaining search depth is at least 12 plies."

(Mehr unter http://www.cruxis.com/chess/manual/index.html?gaviota_end_game_table_bases.htm ; demnach sollte das auch in Zusammenhang mit der Anzahl der genutzten Cores gesehen werden.)

Bei anderen Engines wird das einfacher präsentiert, z.B. Rybka: Frequently / Normally / Rarely / Never.

Bei Critter steht die Einstellung per Default auf "Only at Root" was ich für etwas übervorsichtig halte, zumindest wenn man ein schnelles Speichermedium, und vielleicht nicht unbedingt den ganzen Haufen 6-Steiner benutzt.
Parent - By Benno Hartwig Date 2013-09-14 05:39
[quote="Michael Scheidl"]Das ganze ist jedenfalls ein Beweis wie viel Tablebasezugriff wert sein kann - das Gequatsche á la "unwichtig, höchstens 5 Elo" sollte man vergessen[/quote]Dass das ein Beweis für 'kann' ist, akzeptiere ich natürlich. Aber wie oft kommen praktisch derartige 'kann'-Positionen praktisch auf das Brett? Ggf. ist diese 5 ELO -Einschätzung doch ganz korrekt gewesen. Und die 5 ELO kann man sich dann bemühen wollen, mit Aufwand und Tuning an verschiedenen Stellen. Oder auch nicht. Und in größeren zeitlichen Abständen 'können' diese 5 Extra-ELO eben auch mal hilfreich sein. OK.
Benno
Up Topic Hauptforen / CSS-Forum / TCEC: Endspieldrama in Spark-Junior!

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill