Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Syzygy-Stockfish im LS-Härtetest
- - By Stefan Pohl Date 2013-10-28 08:46
Hallo,

Wieviel besser scort Stockfish mit den 3-5er Syzygy-Bases wirklich? Bisher konnte ich dazu nur Tests finden, in denen Stockfish gegen sich selbst (einmal mit, einmal ohne Bases) getestet wurde. Das finde ich wenig befriedigend, zumal Stockfish bei Tests gegen sich selbst extrem viele frühe Remisen durch 3fache Zugwiederholung erspielt, in denen es gar nicht zur TB-Nutzung kommt.
Hier kommt mir nun meine LS-Datenbank zugute: Ich habe mir die Stockfish Syzygy-Version vom 23.10. 00.43 Uhr runtergeladen, diese entspricht schachlich der Version 131022, die ich als letztes für die LS-Rangliste getestet habe (denn es war die letzte Version, die an diesem Tag (22.10.) released wurde). Nun mache ich mit Stockfish 131023 Syzygy einen LS-Testrun über 10000 Partien unter den exakt gleichen Bedingungen (und natürlich auch den exakt gleichen Gegnern) wie beim LS-Testrun der Version 131022.
So ist dann ein statistisch wirklich aussagekräftiger Vergleich möglich, weil dann jeweils 10000 Partien pro Stockfish-Version vorliegen werden.
Die 3-5er Syzygy-Bases liegen auf einem schnellen USB-Stick, sodaß ein schneller Zugriff gewährleistet ist, was bei den kurzen Bedenkzeiten eines LS-Testruns natürlich von großer Wichtigkeit ist. Da ich aber nur einen solchen USB-Stick habe, kann ich den Test auch nur auf einem meiner zwei Testnotebooks laufen lassen, daher wird der Testlauf frühestens Sonntag durch sein. Etwas Geduld ist also gefragt.
In die LS-Rangliste werde ich den Syzygy-Stockfish natürlich nicht aufnehmen, da in der LS-Rangliste alle Engines ohne Endspiel-Bases laufen. Es geht hier nur um den Vergleich des Erfolgsscores (Stockfish 131022 hat 56.84% in seinem LS-Testrun erzielt). Ich werde sicher ein paar Zwischenergebnisse posten.

Stefan

P.S: Da der USB-Stick eine LED hat, sehe ich durch das fröhliche Blinken derselben, daß Stockfish auch auf die TBs zugreift (die LittleBlitzerGUI zeigt das nämlich nicht an - ein Tippfehler beim TB-Pfad und alles wäre vergebens).
Parent - By Thomas P. Date 2013-10-28 08:54 Edited 2013-10-28 10:32
Laut Houdart sollen die Syzygy-Bases lediglich besser sein für viele Threads. Du testest allerdings nur einen, und da soll es keine Unterschiede geben.

Einfach mal in dieser Diskussion durch seine Posts klicken: http://talkchess.com/forum/viewtopic.php?topic_view=threads&p=539327&t=49819
Parent - - By Tom Paul Date 2013-10-28 09:49
Mit Syzygy gegen Hannibal 1.4b +20 ELO
Parent - - By Stefan Pohl Date 2013-10-28 09:54
[quote="Tom Paul"]
Mit Syzygy gegen Hannibal 1.4b +20 ELO
[/quote]

Interessant. Wieviele Partien liegen diesem Wert zugrunde, welche Bedenkzeit? Bases auf Flash oder auf Platte?
Parent - - By Tom Paul Date 2013-10-28 12:04
SSD
Program                          Elo    +   -   Games   Score   Av.Op.  Draws

  1 Stockfish 130923zytb           : 3273   15  14  8525    95.6 %   2737    5.9 %  (with 3-4-5-man tables)
  2 Stockfish 130923zytb(nl)       : 3253   14  14  8525    95.1 %   2737    6.7 %  (same engine with not tables loaded)
  3 Hannibal 1.2                   : 2737   10  10 17050     4.6 %   3263    6.3 %

Games Completed = 17050 of 1000000 (Avg game length = 4.834 sec)
Settings = Gauntlet/16MB/400ms+60ms/M 1000cp for 100 moves, D 400 moves/EPD:C:\Little Blitzer2\LittleBlitzer-2.74\double-o.txt(716)
Time = 12035 sec elapsed, 693827 sec remaining
1.  Hannibal 1.2                 785.5/17050    246-15725-1079      (L: m=15725 t=0 i=0 a=0)    (D: r=779 i=133 f=158 s=9 a=0)    (tpm=41.6 d=9.34 nps=2207467)
2.  Stockfish 130923zytb         8154.0/8525    7901-118-506      (L: m=118 t=0 i=0 a=0)    (D: r=350 i=60 f=95 s=1 a=0)    (tpm=60.9 d=15.19 nps=1603987)
3.  Stockfish 130923zytb(nl)     8110.5/8525    7824-128-573      (L: m=128 t=0 i=0 a=0)    (D: r=429 i=73 f=63 s=8 a=0)    (tpm=61.9 d=14.84 nps=1598448)

+20ELO
Es war übrigens Hannibal 1.2, der ja ~ so stark wie Fritz ist.
Übrigens scheint das + an ELO durch Syzygy Bases zu wachsen je schwächer (200 ELO) der Gegner ist, wenn man Stockfish und Stockfish Syzygy gegen den Gegner antreten lässt.
Das heißt gegen eine Engine mit 2800 ELO könnten +40 ELO mit Syzygy herauskommen.
2600 ELO +60 ELO mit Syzygy Bases.
Parent - - By Stefan Pohl Date 2013-10-29 03:16
[quote="Tom Paul"]
SSD
Program                          Elo    +   -   Games   Score   Av.Op.  Draws

  1 Stockfish 130923zytb           : 3273   15  14  8525    95.6 %   2737    5.9 %  (with 3-4-5-man tables)
  2 Stockfish 130923zytb(nl)       : 3253   14  14  8525    95.1 %   2737    6.7 %  (same engine with not tables loaded)
  3 Hannibal 1.2                   : 2737   10  10 17050     4.6 %   3263    6.3 %

Games Completed = 17050 of 1000000 (Avg game length = 4.834 sec)
Settings = Gauntlet/16MB/400ms+60ms/M 1000cp for 100 moves, D 400 moves/EPD:C:\Little Blitzer2\LittleBlitzer-2.74\double-o.txt(716)
Time = 12035 sec elapsed, 693827 sec remaining
1.  Hannibal 1.2                 785.5/17050    246-15725-1079      (L: m=15725 t=0 i=0 a=0)    (D: r=779 i=133 f=158 s=9 a=0)    (tpm=41.6 d=9.34 nps=2207467)
2.  Stockfish 130923zytb         8154.0/8525    7901-118-506      (L: m=118 t=0 i=0 a=0)    (D: r=350 i=60 f=95 s=1 a=0)    (tpm=60.9 d=15.19 nps=1603987)
3.  Stockfish 130923zytb(nl)     8110.5/8525    7824-128-573      (L: m=128 t=0 i=0 a=0)    (D: r=429 i=73 f=63 s=8 a=0)    (tpm=61.9 d=14.84 nps=1598448)

+20ELO
Es war übrigens Hannibal 1.2, der ja ~ so stark wie Fritz ist.
Übrigens scheint das + an ELO durch Syzygy Bases zu wachsen je schwächer (200 ELO) der Gegner ist, wenn man Stockfish und Stockfish Syzygy gegen den Gegner antreten lässt.
Das heißt gegen eine Engine mit 2800 ELO könnten +40 ELO mit Syzygy herauskommen.
2600 ELO +60 ELO mit Syzygy Bases.
[/quote]

Danke für die Info, aber dieser Test ist m.E. völlig daneben:
1) Viel zu kurze Bedenkzeit (Spieldauer von 4.8 Sekunden, d.h. jede Engine hat pro Partie nur 2.4 Sekunden verbraucht. Das ist viel zu kurz, besonders, wenn noch Endspieldatenbankzugriffe stattfinden. Aber selbt wenn nicht, sind bei so kurzen Zeiten Windows-Systemoperationen extrem Ergebnisverzerrend. Bei LS-Testbedingunen ist die Bedenkzeit ca. 33 mal länger!
2) Nur ein Gegner, der noch dazu viel zu schwach ist.
3) Nur 716 Eröffnungsvorgabestellungen trotz mehr als 8500 Partien pro Einzelvergleich, d.h. jede der Eröfnnungsstellungen wurde pro Einzelvergleich fast 6 Mal wiederholt durchgespielt.

Ergo: Das Ergebnis, das hier herauskam, kann man getrost vergessen.

Stefan
Parent - - By Stefan Pohl Date 2013-10-29 05:48
[quote="Stefan Pohl"]

Nur ein Gegner, der noch dazu viel zu schwach ist.

[/quote]

Warum viel zu schwach? Weil bei extremen Ergebnissen (prozentual (im 90-99% -Bereich)) sehr starke Eloschwankungen bei minimalen Ergebnisänderungen auftreten. Konkret hier: Die beiden Stockfish-Ergebnisse unterscheiden sich nur um 0.5% (95.1% zu 95.6%), dennoch errechnet bayeselo eine Elodifferenz von 20, was zwar völlig korrekt berechnet ist, aber zeigt, warum Tests zwischen so unterschiedlich starken Gegner schlicht Unfug sind und ich sie deshalb in der LS-Rangliste auch konsequent vermeide (siehe meine 30%-Regel, mit der ich aber leider allein auf weiter Flur stehe): In einem normalen Ergebnisintervall von 50-75% ergibt eine Ergebnisdifferenz von 0.5% nur 4-5 Elodifferenz. Daraus folgt, daß bei extremen Spielstärkeunterschieden minimalste Ergebnisdifferenzen große Elodifferenzen ergeben, was natürlich statistisch absolut tödlich für die Ergebnisqualität ist, denn eine gewisse Zufalls-Schwankungsbreite von Ergebnissen hat man immer (selbst wenn man soviele Partien spielen läßt wie ich) und diese Schwankungen haben deshalb bei Gegnern, die sehr unterschiedlich stark sind, viel größere Eloschwankungen der Ergebnisse zur Folge als bei Gegnern der annähernd gleichen Spielstärkekategorie. Das heißt, das das unvermeidliche Zufallselement in allen Engine-Engine-Vergleichen bei Enginevergleichen mit großer Spielstärkedifferenz extrem aufgebläht wird (in Elos), was die Ergebnisqualität und Ergebnissicherheit extrem verschlechtert.
Das sieht man auch hier im konkreten Fall: Obwohl jeder der beiden Stockfishe über 8500 Partien absolviert hat, ist die Errorbar bei +/-14 (unter LS-Bedingungen (wo zu schwache Gegner nicht erlaubt sind) wäre sie bei 8500 Partien bei +/-6 (!)). D.h. dieser mehr als fragwürdige Test liefert trotz einer Ergebnisdifferenz von 20 Elo (was sich erst mal toll viel anhört...) ein Ergebnis, was noch weit innerhalb der Errorbar liegt (die Errorbars zweier Ergebnisse addieren sich bei Vergleichen ja immer, also beträgt die Gesamterrorbar dieses Stockfish-Vergleiches hier +/-28 Elo).

Stefan
Parent - - By Stefan Schiffermüller Date 2013-10-29 10:44
[quote="Stefan Pohl"]Das heißt, das das unvermeidliche Zufallselement in allen Engine-Engine-Vergleichen bei Enginevergleichen mit großer Spielstärkedifferenz extrem aufgebläht wird (in Elos), was die Ergebnisqualität und Ergebnissicherheit extrem verschlechtert.[/quote]
Nicht ganz richtig. Zusätzlichen Partien verschlechtern niemals die Ergebnissicherheit, auch wenn sie gegen deutlich schwächere bzw. stärkere Gegner ausgetragen werden. Diese Partien gehen nur weniger in das Endergebnis ein.

Gruß Stefan
Parent - By Stefan Pohl Date 2013-10-30 04:33
[quote="Stefan Schiffermüller"]
[quote="Stefan Pohl"]Das heißt, das das unvermeidliche Zufallselement in allen Engine-Engine-Vergleichen bei Enginevergleichen mit großer Spielstärkedifferenz extrem aufgebläht wird (in Elos), was die Ergebnisqualität und Ergebnissicherheit extrem verschlechtert.[/quote]
Nicht ganz richtig. Zusätzlichen Partien verschlechtern niemals die Ergebnissicherheit, auch wenn sie gegen deutlich schwächere bzw. stärkere Gegner ausgetragen werden. Diese Partien gehen nur weniger in das Endergebnis ein.

Gruß Stefan
[/quote]

Das stimmt zwar, aber nur, wenn man mehrere Einzelvergleiche summiert (wie in einer Rangliste). Nicht aber bei Einzelvergleichen, wie in dem hier geposteten Test oder auch in meinem LS-top10-tournament. Diesen Unterschied hätte ich präzisieren sollen. Sorry dafür.

Stefan
Parent - - By Stefan Pohl Date 2013-10-28 09:59
Ganz früher Ersteindruck (technischer Aspekt): Die Knotenzahlen aller Engines, also auch die von Stockfish, sind normal. Da bei mir ja 3 Partien in der LittleBlitzerGUI parallel laufen (einen Core meines Quadcorenotebooks lasse ich eigentlich immer aus, um die Hardware schön kühl zu halten, so war es natürlich auch beim LS-Testrun von Stockfish 131022), hatte ich etwas Sorge, daß das den TB-Zugriff ausbremsen könnte, da ja im "schlimmsten" Fall 3 Syzygy-Stockfishe zur selben Zeit auf die TBs zugreifen. Aber das scheint sich nicht negativ auf die Geschwindigkeit auszuwirken, oder nur so geringfügig, daß es nicht meßbar ist. Das ist schon mal eine gute Nachricht.
Morgen gibt es einen ersten, frühen Zwischenstand.

Stefan
Parent - - By Stefan Pohl Date 2013-10-28 10:40
Kann mir eigentlich jemand sagen, wie die Zugriffe auf Syzygy-Bases funktionieren? Denn bei Stockfish kann man per UCI-Parameter keinen Cache für die TBs einrichten und auch mein Windows-Taskmanager zeigt eine identische Speicherauslastung an, wie ich ihn auch bei einem LS-Testrun eines Stockfishes ohne TBs angezeigt bekomme. Wo und wie wird also der Zugriff gecached? Die normalen TBs, wie Gaviota und Nalimov werden ja immer gecached (sonst ist der Zugriff viel zu langsam, selbst auf Flash) und andere BitBases wie die Robbo-Triplebases werden ebenfalls gecached oder sogar von einigen Engines komplett ins RAM geladen.
Es kann doch eigentlich nicht sein, daß bei Syzygy gar nichts ins RAM verlagert wird? Oder doch?

Stefan

P.S: Der Start des Syzygy-Stockfishes ist übrigens unfaßbar gut gelaufen. Einen Prozentwert zu so einem frühen Zeitpunkt zu posten, verbietet sich, daher nur soviel: Stocki hat erst 10 Partien verloren (von 149!!!)...Dafür gabs rel. viele Remisen. Hoffen wir mal, daß das nur ein statistischer Ausreißer ist, der sich noch einrenkt, sonst müssen wir alles, was wir bisher über Tablebases wußten zumindest in Bezug auf die Syzygy-Bases, vergessen...Ich hatte ja schon früher mal Tests mit Houdini und den 3-5er GaviotaBases gemacht, da kam nur ein minimales Eloplus bei raus, was weit innerhalb der Errorbar lag. Ronald de Man kann doch das TB-Rad eigentlich nicht neu erfunden haben, oder?
Parent - - By Michael Scheidl Date 2013-10-28 11:34
Zitat:
Es kann doch eigentlich nicht sein, daß bei Syzygy gar nichts ins RAM verlagert wird? Oder doch?

Ich vermute, daß je nach Bedarf nachgeladen wird. Das habe ich mir unlängst, aber nur oberflächlich, in einer einzelnen Endspielstellung angesehen:

http://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=67009

Jedenfalls war die Speicherbelegung der Syz.-Version nach 10 Sek. größer und schien mit mehr Rechenzeit anzuwachsen. - Wenn ich nicht ganz irre, werden jedenfalls nur die W/D/L-Bitbases ins RAM geladen.
Parent - By Stefan Pohl Date 2013-10-29 05:52 Edited 2013-10-29 05:54
[quote="Michael Scheidl"]
Zitat:
Es kann doch eigentlich nicht sein, daß bei Syzygy gar nichts ins RAM verlagert wird? Oder doch?

Ich vermute, daß je nach Bedarf nachgeladen wird. Das habe ich mir unlängst, aber nur oberflächlich, in einer einzelnen Endspielstellung angesehen:

http://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=67009

Jedenfalls war die Speicherbelegung der Syz.-Version nach 10 Sek. größer und schien mit mehr Rechenzeit anzuwachsen. - Wenn ich nicht ganz irre, werden jedenfalls nur die W/D/L-Bitbases ins RAM geladen.


Ich denke, du hast Recht. Da mein USB-Stick bei den TB-Zugriffen ja blinkt, war interessanterweise zu beobachten, daß zu Beginn des Testruns der Stick fast nonstop blinkte, schon gestern Abend (nach gut 500 Partien) blinkte er aber nur noch alle 1-2 Minuten mal kurzzeitig. Ergo muß einiges von den TBs peu-a-peu ins RAM gewandert sein. Inzwischen ist auch die vom Windoofs-Taskmanager angezeigte Speicherauslastung etwas gestiegen, aber seltsamerweise nur um knapp 80 MByte.

Stefan
Parent - - By Timo Haupt Date 2013-10-28 12:14
Ich habe Ronald so verstanden, dass Dinge wie Caching, MultiThread-Handling etc. bei den Syzygy-Bases dem Betriebssystem überlassen werden. Das ist ein Merkmal, das diese Bases von allen anderen unterscheidet und gewisse Vorteile hat. Von dem, was ich bisher gelesen habe, erscheinen mir die Syzygy-Bases allen anderen Lösungen überlegen, insbesondere auch wegen Einhaltung der 50-Züge-Regel. Ich glaube, Ronald de Man hat zwar das Rad nicht neu erfunden, aber es ist ihm ein großer Wurf gelungen, weil er ein Format entwickelt hat, welches die Schwächen der anderen Formate nicht teilt, sondern stattdessen nützliche Erweiterungen enthält.
Parent - - By Thomas Müller Date 2013-10-28 13:30

deshalb meinte ich neulich mal, dass die chancen für einen neuen TB-Standard evtl. noch nie grösser waren als jetzt!?
Also alle engines bitte den zugriff einbauen und prima

gruß
thomas
Parent - By Michael Scheidl Date 2013-10-28 14:17
Ich bin etwas skeptisch; zumindest die derzeitige Implementierung in Syz.-Stockfish scheint mir nicht zufriedenstellend. Es mag zwar an der DTZ50-Metrik (zu der ich mir nicht schmeicheln kann sie vollständig verstanden zu haben) liegen, aber ich mag mich noch nicht daran gewöhnen, welches seltsame Verhalten hinsichtlich Mattankündigungen erscheint.

Des weiteren scheint es u.U. "Phänomene" beim MultiPV-Analysemodus zu geben, was sich allerdings aus einer Beschreibung von R.de Man erschließt, weil laut Tables z.B. in einer Gewinnstellung dann nur noch Gewinnzüge berechnet werden und das kann ja u.U. nur einer sein.

Statt langer Reden mit kurzem Sinn probiert man das, wenn man die 3/4/5er (nicht die 6er) benutzt, zumindest das läßt sich ja einstellen - mit folgenden zwei Stellungen im Analysemodus aus. Aber bitte in einem Interface ohne GUI-Zugriff auf Nalimovs, sonst kommt das ja durcheinander.


Dieser 6-Steiner ist -M28 nach 1.Sxg6; Königszüge sind blanker Unsinn und verlieren schneller.


Nur 1...Kd5 gewinnt, -M28.

Gewöhnungsbedürftig. Oder ich habe schon Altersstarrsinn.
Parent - - By Stefan Pohl Date 2013-10-29 03:25
[quote="Thomas Müller"]

deshalb meinte ich neulich mal, dass die chancen für einen neuen TB-Standard evtl. noch nie grösser waren als jetzt!?
Also alle engines bitte den zugriff einbauen und prima

gruß
thomas
[/quote]

Schön wärs! Ich habe mittlerweile 5 verschiedene auf meinem TB-USB-Stick.

Ganz früher Zwischenstand meines Testlaufes: 1250 Partien absolviert und +29 Elo (!). Wirklich bemerkenswert gut. Aber es kann noch viel passieren, es kommen ja noch 8750 Partien...Sollte es aber auch nur annähernd so bleiben, wäre das eine erheblich größere Steigerung als erwartet und ein erheblich besseres Ergebnis, als ich beim Testen klassischer TBs (Nalimov, Gaviota) gemessen hatte (immer unter +10 Elo), wo allerdings der Zugriff auf die TBs auch erst erheblich später im der Partie losgeht.
Wird also doch ein interessantes Experiment.
Stay tuned!

Stefan
Parent - - By Stefan Pohl Date 2013-10-30 04:40
[quote="Stefan Pohl"]
Ganz früher Zwischenstand meines Testlaufes: 1250 Partien absolviert und +29 Elo (!). Wirklich bemerkenswert gut. Aber es kann noch viel passieren, es kommen ja noch 8750 Partien...Sollte es aber auch nur annähernd so bleiben, wäre das eine erheblich größere Steigerung als erwartet und ein erheblich besseres Ergebnis, als ich beim Testen klassischer TBs (Nalimov, Gaviota) gemessen hatte (immer unter +10 Elo), wo allerdings der Zugriff auf die TBs auch erst erheblich später im der Partie losgeht.
Wird also doch ein interessantes Experiment.
[/quote]

So liebe Leute, hier nun der erste Zwischenstand, der halbwegs seriös ist. Nach knapp 3000 Partien nun nur noch +15 Elo. Das ist nun ein Zwischenstand, wie ich ihn auch als Endergebnis etwa erwartet hatte (und erwarte) (ich erwarte +10 Elo (+/-5)). Damit sind auch die Syzygy-Bases in der Tablebase-Realität angekommen (schön für Analysen und Studien aber im praktischen Spiel nur sehr begrenzter (Elo-)Nutzen). Mal sehen, ob und wieviel sich zum Ende hin noch tut - es fehlen ja immer noch 7000 Partien. Vielleicht zieht der Score ja auch noch mal an, wer weiß?!?
Endergebnis Sonntagabend oder Montag.

Stefan
Parent - - By Stefan Pohl Date 2013-10-31 10:48
[quote="Stefan Pohl"]
So liebe Leute, hier nun der erste Zwischenstand, der halbwegs seriös ist. Nach knapp 3000 Partien nun nur noch +15 Elo. Das ist nun ein Zwischenstand, wie ich ihn auch als Endergebnis etwa erwartet hatte (und erwarte) (ich erwarte +10 Elo (+/-5)). Damit sind auch die Syzygy-Bases in der Tablebase-Realität angekommen (schön für Analysen und Studien aber im praktischen Spiel nur sehr begrenzter (Elo-)Nutzen). Mal sehen, ob und wieviel sich zum Ende hin noch tut - es fehlen ja immer noch 7000 Partien. Vielleicht zieht der Score ja auch noch mal an, wer weiß?!?
Endergebnis Sonntagabend oder Montag.
[/quote]

Hier der Halbzeitstand (gut 5000 Partien von 10000): +11 Elo. Auch die Syzygy-Bases kochen also nur mit Wasser, wie es aussieht. Ich hoffe, daß dieser Zwischenstand für alle TB-Freunde nicht allzu desillusionierend ist. Ob der Score noch mal anzieht? Immerhin ist der freie Fall des Scores inzwischen wohl gestoppt (+11 Elo waren es auch nach knapp 4000 Partien).

Stefan
Parent - - By Jörg Oster Date 2013-10-31 10:56
[quote="Stefan Pohl"]
[quote="Stefan Pohl"]
So liebe Leute, hier nun der erste Zwischenstand, der halbwegs seriös ist. Nach knapp 3000 Partien nun nur noch +15 Elo. Das ist nun ein Zwischenstand, wie ich ihn auch als Endergebnis etwa erwartet hatte (und erwarte) (ich erwarte +10 Elo (+/-5)). Damit sind auch die Syzygy-Bases in der Tablebase-Realität angekommen (schön für Analysen und Studien aber im praktischen Spiel nur sehr begrenzter (Elo-)Nutzen). Mal sehen, ob und wieviel sich zum Ende hin noch tut - es fehlen ja immer noch 7000 Partien. Vielleicht zieht der Score ja auch noch mal an, wer weiß?!?
Endergebnis Sonntagabend oder Montag.
[/quote]

Hier der Halbzeitstand (gut 5000 Partien von 10000): +11 Elo. Auch die Syzygy-Bases kochen also nur mit Wasser, wie es aussieht. Ich hoffe, daß dieser Zwischenstand für alle TB-Freunde nicht allzu desillusionierend ist. Ob der Score noch mal anzieht? Immerhin ist der freie Fall des Scores inzwischen wohl gestoppt (+11 Elo waren es auch nach knapp 4000 Partien).

Stefan
[/quote]
Hi Stefan,

das ist doch toll!
Das ist weit mehr, als ich erwartet habe. Ehrlich.
Für die Nalimov-TBs konnte ja bis heute nicht wirklich ein Elo-Zuwachs nachgewiesen werden. (Oder habe ich da was verpasst?)

Vielen Dank für deinen Test. 
Parent - - By Stefan Pohl Date 2013-10-31 13:29
[quote="Jörg Oster"]
[quote="Stefan Pohl"]
[quote="Stefan Pohl"]
So liebe Leute, hier nun der erste Zwischenstand, der halbwegs seriös ist. Nach knapp 3000 Partien nun nur noch +15 Elo. Das ist nun ein Zwischenstand, wie ich ihn auch als Endergebnis etwa erwartet hatte (und erwarte) (ich erwarte +10 Elo (+/-5)). Damit sind auch die Syzygy-Bases in der Tablebase-Realität angekommen (schön für Analysen und Studien aber im praktischen Spiel nur sehr begrenzter (Elo-)Nutzen). Mal sehen, ob und wieviel sich zum Ende hin noch tut - es fehlen ja immer noch 7000 Partien. Vielleicht zieht der Score ja auch noch mal an, wer weiß?!?
Endergebnis Sonntagabend oder Montag.
[/quote]

Hier der Halbzeitstand (gut 5000 Partien von 10000): +11 Elo. Auch die Syzygy-Bases kochen also nur mit Wasser, wie es aussieht. Ich hoffe, daß dieser Zwischenstand für alle TB-Freunde nicht allzu desillusionierend ist. Ob der Score noch mal anzieht? Immerhin ist der freie Fall des Scores inzwischen wohl gestoppt (+11 Elo waren es auch nach knapp 4000 Partien).

Stefan
[/quote]
Hi Stefan,

das ist doch toll!
Das ist weit mehr, als ich erwartet habe. Ehrlich.
Für die Nalimov-TBs konnte ja bis heute nicht wirklich ein Elo-Zuwachs nachgewiesen werden. (Oder habe ich da was verpasst?)

Vielen Dank für deinen Test. 
[/quote]

Naja, bei einem Vergleich zweier Ergebnisse addieren sich ja die Errorbars und der abgeschlossene LS-Testrun von Stockfish 131022 hat eine Errorbar von +/-5 und der aktuelle Halbzeitstand von ca. +/-7. Daher ist auch hier noch kein Elo-Zuwachs außerhalb der Errorbar nachgewiesen - wenn er aber auch recht wahrscheinlich ist, da es sehr unwahrscheinlich ist, das ein Ergebnis sich ganz am Rand zweier sich addierender Errorbars befindet. Unmöglich ist es aber nicht.
Erst wenn der Test durch ist und die Steigerung wirklich größer als +10 Elo geblieben ist, wäre es eine nachgewiesene Steigerung außerhalb der Errorbars.
Generell ist es wahrscheinlich, daß die Steigerung durch die Syzygybases etwas größer ist, als die durch Nalimovs und Co, weil auf die SyzygyBases durch Stockfish sehr viel früher zugegriffen wird, nämlich oft schon im späten Mittelspiel.

Stefan
Parent - - By Michael Scheidl Date 2013-10-31 13:49
Wobei jedoch zum Beispiel Shredder typischerweise, zumindest bei großer Tiefe, oftmals sogar schon während der Eröffnung auf die Shredderbases zugegriffen hat. Stets verblüffend aber mittlerweile schon fast gewohnt. Das ist alles sehr individuell, und zum Teil bekanntlich auch konfigurierbar.

Mir erscheint bei Deinen Syzygy-Ergebnissen insbesondere wertvoll, daß man zumindest praktisch sicher sagen kann daß sie nie schaden, nicht einmal bei sehr kurzen Bedenkzeiten wo ein eventueller Bremseffekt theoretisch (glaube ich) ja mehr schaden würde als bei langen. Wenn das somit nicht der Fall ist, gilt für mich der Umkerschluß daß Zugriff auf verläßliches Wissen der Endspielstärke nur dienen kann.

Von einem Bremseffekt war allerdings schon bei früheren Bitbases-Formaten, sofern sie komplett ins RAM geladen werden wie vorwiegend üblich, keine Rede mehr. Die Kombination von Bitbases und "Distance to..."-Tables ist auch nicht neu, siehe Shredder- oder Robbobases. Insofern wurde hier wohl tatsächlich kein Rad neu erfunden, aber eben durch viel geringere Dateigröße und 50er-Berücksichtigung (letzteres aber auch nicht neu) deutlich verbessert.

Quasi wie ein Formel Eins-Rad im Vergleich zu einer runden Holzscheibe.
Parent - - By Stefan Pohl Date 2013-10-31 16:11
[quote="Michael Scheidl"]
Wobei jedoch zum Beispiel Shredder typischerweise, zumindest bei großer Tiefe, oftmals sogar schon während der Eröffnung auf die Shredderbases zugegriffen hat. Stets verblüffend aber mittlerweile schon fast gewohnt. Das ist alles sehr individuell, und zum Teil bekanntlich auch konfigurierbar.

Mir erscheint bei Deinen Syzygy-Ergebnissen insbesondere wertvoll, daß man zumindest praktisch sicher sagen kann daß sie nie schaden, nicht einmal bei sehr kurzen Bedenkzeiten wo ein eventueller Bremseffekt theoretisch (glaube ich) ja mehr schaden würde als bei langen. Wenn das somit nicht der Fall ist, gilt für mich der Umkerschluß daß Zugriff auf verläßliches Wissen der Endspielstärke nur dienen kann.

Von einem Bremseffekt war allerdings schon bei früheren Bitbases-Formaten, sofern sie komplett ins RAM geladen werden wie vorwiegend üblich, keine Rede mehr. Die Kombination von Bitbases und "Distance to..."-Tables ist auch nicht neu, siehe Shredder- oder Robbobases. Insofern wurde hier wohl tatsächlich kein Rad neu erfunden, abemr eben durch viel geringere Dateigröße und 50er-Berücksichtigung (letzteres aber auch nicht neu) deutlich verbessert.

Quasi wie ein Formel Eins-Rad im Vergleich zu einer runden Holzscheibe.
[/quote]

Der Syzygy-Zugriff ist bei Stockfish mit dem Wert 6 auf das Maximum voreingestellt, und so ist es auch bei meinem Testrun. Dennoch gibt es wohl Engines, die noch etwas früher auf Bitbases zugreifen. Ivanhoe zeigt auch schon oft erste Zugriffe kurz nach Verlassen des Buches auf die Triplebases.
Einen Bremseffekt sollte es bei Bitbases eigentlich nicht geben, eher im Gegenteil. Sicher braucht auch der Zugriff auf Bitbases etwas Zeit, allerdings sehr wenig und gleichzeitig wird die Baumsuche ja bei Erreichen einer TB-Stellung sofort beendet, während sie sonst ja zumindest sehr häufig noch weitergeht, was ja auch wiederum Zeit kostet. Daher kann ein Bitbase-Zugriff unter dem Strich sogar Zeit einsparen, weil die früher beendete Baumsuche den Zeitverlust durch das Nachschlagen in den TBs überkompensiert. Das dürfte m.E. auch der Hauptgrund für das leichte Eloplus sein, daß ich bisher messe, nicht die Tatsache, daß Endspiele wirklich besser behandelt werden, denn wie schon erwähnt, sind die allermeisten im praktischen Spiel wirklich auftretenden Endspiele mit 5 oder weniger Steinen sowieso totremis oder klar gewonnen, und mit TBs wird das dann einfach etwas früher gesehen, aber das Endergebnis einer Partie ändert sich dadurch so gut wie nie (im praktischen Spiel). Ist zumindest meine Theorie. Das könnte dann aber bedeuten, daß der Elogewinn durch TBs mit längeren Bedenkzeiten eher geringer werden würde, weil etwas eingesparte Zeit dann weniger ins Gewicht fällt. Andererseits wird dann auch noch früher auf die TBs zugegriffen, weil die Suche tiefer wird. Schwierig abzuschätzen, was schwerer wiegt.
Schaden werden Bitbases aber auf jeden Fall nicht. Auch echte TBs sollten nicht schaden, sofern sie ordentlich gecached werden, auf Flashmemory geparkt sind und nicht zu früh auf sie zugegriffen wird.
Das alles gilt aber m.E. nur für 3-5 Steiner. 6 Steiner sind einfach zu groß, um sie ins RAM zu verlegen (BitBases), bzw. sie ordentlich zu cachen (echte TBs)...

Stefan
Parent - By Tom Paul Date 2013-10-31 17:10
Warum wird denn auf die Shredderbases zugegriffen, sobald Shredder aus dem Buch ist und bei Stockfish, Houdini usw. nicht?
Parent - - By Thomas Ficass Date 2013-11-01 10:18
Zitat:
Der Syzygy-Zugriff ist bei Stockfish mit dem Wert 6 auf das Maximum voreingestellt, und so ist es auch bei meinem Testrun.


Hallo Stefan,

ich kann zwar nicht sagen, ob es tatsächlich einen Unterschied macht, aber laut der Readme.md von Stockfish-Syzygy sollte das SyzygyProbeLimit auf "5" gesetzt werden, wenn man "nur" die 3- bis 5-Steiner verwendet:

Zitat:
If you have the 6-piece tables, set the value of "SyzygyProbeLimit" to 6 (the default). If you only have the 5-piece table, set it to 5. Set the value of this option to 0 if you want to temporarily disable tablebase probing.


Vielleicht bremst es Stockfish (etwas) ab, wenn er jedes Mal, wenn er im Suchbaum einen 6-Steiner erreicht, auf dem Stick nach der entsprechenden 6-Steiner-Bitbase sucht?

Grüße

Thomas
Parent - - By Stefan Pohl Date 2013-11-01 13:05
[quote="Thomas Ficass"]
Zitat:
Der Syzygy-Zugriff ist bei Stockfish mit dem Wert 6 auf das Maximum voreingestellt, und so ist es auch bei meinem Testrun.


Hallo Stefan,

ich kann zwar nicht sagen, ob es tatsächlich einen Unterschied macht, aber laut der Readme.md von Stockfish-Syzygy sollte das SyzygyProbeLimit auf "5" gesetzt werden, wenn man "nur" die 3- bis 5-Steiner verwendet:

Zitat:
If you have the 6-piece tables, set the value of "SyzygyProbeLimit" to 6 (the default). If you only have the 5-piece table, set it to 5. Set the value of this option to 0 if you want to temporarily disable tablebase probing.


Vielleicht bremst es Stockfish (etwas) ab, wenn er jedes Mal, wenn er im Suchbaum einen 6-Steiner erreicht, auf dem Stick nach der entsprechenden 6-Steiner-Bitbase sucht?

Grüße

Thomas


Danke für die Info. Ich kann dazu folgendes sagen: Ich habe zuvor unter der FritzGUI mit dem fraglichen Parameter herumexperimentiert und beim default-Setting waren die TB-Zugriffe am frühesten. Und da ich default-Parameter einer Engine nur aus gutem Grund ändere, sah ich ergo keine Veranlassung, etwas an der Voreinstellung zu ändern. Einen nennenswerten Bremseffekt sehe ich bei den Knotenleistungen ebenfalls nicht, die TBs liegen ja auf einem schnellen USB-Stick und sie werden auch irgendwie gecached, da die Zugriffe auf den Stick mit zunehmender Testdauer deutlich abgenommen haben (hatte ich ja schon erwähnt, daß der Stick nach einigen Hundert Partien sehr viel seltener blinkte als zu Beginn des Testruns).
Die von Stockfish angezeigten Knotenzahlen sind jedenfalls für einen Stockfish vollkommen normal. Auch glaube ich nicht, daß sich der Parameter auf die Anzahl der Steine bezieht, denn welchen Sinn sollten dann die Werte 1 und 2 haben??

Ich lassen den Test auf jeden Fall weiterlaufen, da er schon weit fortgeschritten ist und ich default-Einstellungen von Engines für Testruns auch nur ungern verändere...

Gruß - Stefan
Parent - By Michael Scheidl Date 2013-11-01 15:10
Ich glaube schon daß sich der Parameter einfach auf die Anzahl der Steine bezieht, auch wenn 1 und 2 sinnlos sind. Aber die Engine schaut ja beim Laden welche Tables vorhanden sind, z.B. (aus Shredder Classic):

Zitat:
Found 145 tablebases.
Engine: Stockfish 211013 syz (512 MB)
von Tord Romstad, Marco Costalba and Joona


Wenn ich das Setting von 5 auf 6 erhöhe, sieht das dennoch - und logischerweise - identisch aus. Somit gehe ich davon aus daß die Engine von Anfang an weiß was zur Verfügung steht und keine unnützen Zugriffsversuche macht. Allerdings kann ich natürlich in diesem Punkt nicht sicher sein; dazu müßte sich ein Programmierer den Code anschauen.
Parent - - By Stefan Schiffermüller Date 2013-11-03 08:10
[quote="Stefan Pohl"]
Die 3-5er Syzygy-Bases liegen auf einem schnellen USB-Stick
[/quote]
Hallo Stefan,

Kannst du mir sagen, welchen USB-Stick du hast? Ich habe nämlich vor, die Syzygy 3-5 Steiner und ein paar 6-Steiner (nur wdl-Dateien) auf einen schnellen und preiswerten USB-Stick zu packen. Ich habe nur USB 2.0 Anschlüsse, leider kein USB 3.0.

Gruß Stefan
Parent - By Stefan Pohl Date 2013-11-03 09:36
[quote="Stefan Schiffermüller"]
[quote="Stefan Pohl"]
Die 3-5er Syzygy-Bases liegen auf einem schnellen USB-Stick
[/quote]
Hallo Stefan,

Kannst du mir sagen, welchen USB-Stick du hast? Ich habe nämlich vor, die Syzygy 3-5 Steiner und ein paar 6-Steiner (nur wdl-Dateien) auf einen schnellen und preiswerten USB-Stick zu packen. Ich habe nur USB 2.0 Anschlüsse, leider kein USB 3.0.

Gruß Stefan
[/quote]

Ach je, der Stick ist schon relativ alt. Hat 32GB (war damals richtig teuer) und ist von Spaceloop. Typbezeichnung weiß ich nicht, sorry. Aber der wird bestimmt gar nicht mehr hergestellt...

Sorry - Stefan
Parent - - By Stefan Pohl Date 2013-11-03 11:37
Hier nun das Endergebnis. Aus Zeitgründen kopiere ich mein englisches Posting aus talkchess hier rein. Bitte dafür um Verständnis, muß noch zur Nachtschicht. Nächster Test für die LS-Rangliste läuft übrigens - mal wieder Stockfish (131102)...

Hi all,

I did a test of Stockfish with Syzygy-Bases (3-5 pieces, on a fast USB-Stick, default-settings except the Syzygy-path) with LS-conditions (10000 games against the opponents of the LS top10 tournament (all opponents without any endgame-bases)). That made it possible to compare the result with the LS-results of Stockfish (without Syzygy-Bases) against the same opponents.
LS-tested version of Stockfish was 131022 (latest version of that day). The tested Syzygy-Stockfish was 131023 (version from 00:43, wich is the "Merge remote-tracking branch 'upstream/master'" of Stockfish 131022). So both versions were identical, except the Syzygy-support.

Here the result (first value is Stockfish without Syzygy, second value is Stockfish with Syzygy-Bases)


Stockfish - Houdini 3             48.25% | 50.00%
Stockfish - Komodo 6              52.80% | 52.50%
Stockfish - Amitis 130912         56.75% | 57.25%
Stockfish - Critter 1.6a          57.10% | 56.85%
Stockfish - Gull 2.3              56.10% | 56.60%
Stockfish - Strelka 5.5           56.30% | 57.30%
Stockfish - Mars 1                57.40% | 62.10%
Stockfish - Panchess 00.537       59.90% | 62.85%
Stockfish - Bouquet 1.8           59.80% | 61.95%
Stockfish - Robbolito 0.085g3     64.00% | 66.20%

Total: 56.84% | 58.36% = +11 Elo for Stockfish with Syzygy-Bases. (95%-Errorbar of both testruns (10000 games each)= +/-5 Elo)


This test shows, that there is a Elo gain for Stockfish with 3-5 Syzygy-bases, if all opponents dont use any endgame-bases. But the Elo gain is small...

Stefan
Parent - - By Tom Paul Date 2013-11-03 12:16
Bringt es etwas wenn ich den Stockfish mit Syzygybases so umändere, dass er auch zusätzlich Nalimov benutzen kann?
Parent - - By Stefan Pohl Date 2013-11-03 12:29
[quote="Tom Paul"]
Bringt es etwas wenn ich den Stockfish mit Syzygybases so umändere, dass er auch zusätzlich Nalimov benutzen kann?
[/quote]

Nur, wenn du Wert auf die Anzeige korrekter Mattdistanzen legst. In Elo (im praktischen Spiel) bringt es nix.

Stefan
Parent - By Tom Paul Date 2013-11-03 12:32
Genau darum geht es mir;)
Up Topic Hauptforen / CSS-Forum / Syzygy-Stockfish im LS-Härtetest

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill