Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Stockfish mit 1/2 Sekunde pro Zug
- - By Benno Hartwig Date 2021-01-31 09:09
Wenn ich zwei sehr ähnliche Engines vergleichen wollte (z.B. zwei Stockfish-Versionen), hatte ich auf meinem 2.3GHz-i5 gern mit kurzen Zeiten gespielt (z.B. 2m+0,5s). Die Partien kamen mir schin ganz manierlich vor, und die Begegnungen erreichten recht schnell eine gewisse statistische Aussagekraft.

Jetzt kam in einer Partie eine sehr deutliche weiß-Gewinnstellung vor (z.B. 79. Zug von weiß), die nach 50 völlig planlosen weiteren Zügen dann aber tatsächlich remis wurde.     

Kann es wirklich sein, dass Stockfish mit immerhin einer halben Sekunden Denkzeit pro Zug soetwas nicht zum Sieg nutzt??? Braucht er wirklich mehr?
Erstaunlich! Enttäuschend!
Und: Wieviel Mindestzeit ist nötig, um nicht durch solch einen Firlefanz Partien irre entschieden zu bekommen?
Ich denke, ich sollte jetzt doch lieber deutlich längere Zeiten wählen. Leider!

Event:
Ort:
Datum:

Weiss:
Schwarz:

Ergebnis
Board
Parent - By Frank Quisinsky Date 2021-01-31 10:43 Edited 2021-01-31 10:47
Hallo Benno,

bei einer Begrenzung der Zugtiefe würden die Ratinglisten ein komplett anderes Bild abliefern.

Habe damit schon oft experimentiert, gerade hinsichtlich der Frage:
Welches Programm eignet sich bei einer niedrigeren Mhz am Besten für einen Schachcomputer?
Ist eines der Haupthemen bei der Entwicklung von Wasp aber auch für anderer Programmierer.
ProDeo / Benjamin erreichen hier z. B. sehr gute Ergebnisse!

Es ist also keinesfalls so, dass die Nummer 1 "Stockfish" auch die Nummer 1 bei sehr geringen Suchtiefen ist.
So gerne wir Elo als ultimativ betrachten wollen, so sehr unterschiedlich sind die Ergebnisse bei den verwendeten Zeitkontrollen und sonstigen Beeinflussungsfaktoren.

z. B. bei Suchtiefe 6 ist Stockfish keinesfalls auf Platz 1.



Ratinglisten auch nach Suchtiefen zu generieren ist durchaus ein interessantes Thema.
Du wirst es nicht glauben, wie viele der in den analen verschwundenen älteren Schachprogramme plötzlich und unerwartet ziemlich weit oben auftauchen würden.

Nettes Feld für interessante Experimente, gerade auch auf schwächerer Hardware!!
In heutigen Zeiten vielleicht gar interessanter als mit bestmöglicher Hardware zu testen.

Viele Grüße
Frank
Parent - - By Kurt Utzinger Date 2021-01-31 12:02 Upvotes 2
Benno Hartwig schrieb:

Kann es wirklich sein, dass Stockfish mit immerhin einer halben Sekunden Denkzeit pro Zug soetwas nicht zum Sieg nutzt??? Braucht er wirklich mehr?
Erstaunlich! Enttäuschend!

Und: Wieviel Mindestzeit ist nötig, um nicht durch solch einen Firlefanz Partien irre entschieden zu bekommen?
Ich denke, ich sollte jetzt doch lieber deutlich längere Zeiten wählen. Leider!


Hallo Benno
Ob solcher Experimente/Aussagen kann ich nur staunen. Wenn das so weitergeht, dann kommt bei noch viel schnellerer
Hardware die gleiche Frage bezogen auf 1/100-Sek-Bedenkzeit. Das hat doch mit Schach, wie ich es verstehe, rein
gar nichts mehr zu tun und scheint mir absolut irrelevant. OK, wenn dann in baldiger Zukunft die X-Tausend 5m-Blitzpartien
durch Millionenen von 5s-Blitzpartien (oder 1s-Blitzpartien) ersetzt werden, mag es ja wieder eine gewisse Berechtigung haben ... aber
ich würde es begrüssen, diesen Unsinn nicht mehr erleben zu müssen. Insbesondere auch deshalb, weil zu jenem Zeitpunkt das
Problem Schach gelöst sein wird und es z.B. heisst "Weiss zieht und gewinnt in 58 Zügen".
Gruss
Kurt
Parent - - By Peter Martan Date 2021-01-31 12:43
Kurt Utzinger schrieb:

Insbesondere auch deshalb, weil zu jenem Zeitpunkt das
Problem Schach gelöst sein wird und es z.B. heisst "Weiss zieht und gewinnt in 58 Zügen".

Wenn du von der Grundstellung sprichst, Kurt, glaube ich eher, dass es heißen wird, Weiß zieht und Schwarz hält Remis ab einer Bedenkzeit von, sagen wir 3 Minuten/ Zug und einer dann zeitgemäßen Hardware.

So weit sind wir, wenn wir entweder vernünftige Eröffnungsstellungen vorgeben oder buchlos spielen lassen, jetzt ja auch praktisch schon bei z.B. TCEC- Hardware. Also sehr weit weg von "gelöst" ist das, was wir jetzt schon haben, auch nicht mehr, wenn wir mit dem, was Olaf Jenkner den "geisteswissenschaftlichen Beweis" nennt, zufrieden sind.
Parent - By Kurt Utzinger Date 2021-01-31 12:49
Peter Martan schrieb:

Kurt Utzinger schrieb:

Insbesondere auch deshalb, weil zu jenem Zeitpunkt das
Problem Schach gelöst sein wird und es z.B. heisst "Weiss zieht und gewinnt in 58 Zügen".

Wenn du von der Grundstellung sprichst, Kurt, glaube ich eher, dass es heißen wird, Weiß zieht und Schwarz hält Remis ab einer Bedenkzeit von, sagen wir 3 Minuten/ Zug und einer dann zeitgemäßen Hardware.

So weit sind wir, wenn wir entweder vernünftige Eröffnungsstellungen vorgeben oder buchlos spielen lassen, jetzt ja auch praktisch schon bei z.B. TCEC- Hardware. Also sehr weit weg von "gelöst" ist das, was wir jetzt schon haben, auch nicht mehr, wenn wir mit dem, was Olaf Jenkner den "geisteswissenschaftlichen Beweis" nennt, zufrieden sind.


Hallo Peter
Das kann natürlich ebenso möglich sein, wobei man vielleicht dann noch die
Einschränkung machen kann/muss "nach 1.e4 e5" und/oder "nach 1.d4 d5",
weil alles andere für Schwarz verloren ist.
Gruss
Kurt
Parent - - By Benno Hartwig Date 2021-01-31 15:36

> Ob solcher Experimente/Aussagen kann ich nur staunen. Wenn das so weitergeht, dann kommt bei noch viel schnellerer Hardware die gleiche Frage bezogen auf 1/100-Sek-Bedenkzeit...


Auch mich wird ein möglichst verlässlicher Spielstärkevergleich zweier Stockfish-Versionen bei beispielsweise 15 Minuten pro Partie viel mehr interessieren.
Nur wie komme ich in erträglicher Zeit zu einem Schätzwert, der möglichst wenig fehlerbehaftet ist?

Viel kürzere Zeiten bei vielen Partien halte ich da für die deutlich verlässlichere Methode als wenige Partien bei langen Zeiten.
Nur: wie kurz die Zeiten sein dürfen, oder wann man den Bogen überspannt, das ist mir nicht nicht klar.
Wo ist der optimale Kompromiss?
Nicht formale Ähnlichkeit zu realen Partien wäre für mich wichtig, sondern ein möglichst verlässliches Ergebnis.
Nein, Kurt, ich finde diesen Ansatz gar nicht so staunenswert.
Parent - By Hauke Lutz Date 2021-01-31 15:42 Upvotes 1
Die Vielkerner sind dank Ryzen auch für weniger astronomische Preis zu haben.
Der Kompromiss besteht darin sich zu überlegen wie viel einem sein Hobby wert ist.
Parent - - By Thomas Plaschke Date 2021-01-31 13:17
Das ist ja wirklich eigenartig.

Ich habe die Partie ab dem 80. Zug von Stockfish-201218 und Cfish-201231 mit 1 Thread bei 1 min Bedenkzeit auf einem Desktop-PC ausspielen lassen (ohne Endspieltabellen - das wäre keine Herausforderung). Cfish zeigte bereits beim ersten analysierten Zug eine Mattbewertung an. Stockfish brauchte etwas länger und brachte es auch schnell zum richtigen Ende.
Lässt man beide Programme (mit einem Thread) etwas analysieren, finden sie relativ schnell im 80. Zug das Matt (unter Arena dauerte das in der Anayse deutlich länger als beim Ausspielen unter Fritz ). 10 Züge später gab es in der Partie wieder dieselbe Stellung. Jetzt brauchten SF201218 mit 107 s und CF201231 mit 66 s deutlich länger bis zur Mattanzeige. Anscheinend spielt jetzt - und vielleicht auch später - die Erkennung von Stellungswiederholungen eine unselige Rolle beim Finden des besten Zuges (gut, dass du die komplette Partie und nicht nur die Position nach dem 79. Zug gepostet hast).
Ich fürchte, längere Bedenkzeiten bringen solche Erscheinungen nicht zum Verschwinden. Mit leeren Hashtabellen, wie in meinem Test, findet SF die Lösung ja völlig problemlos. Für mich sieht das eher nach einem echten Programmfehler aus.

Viele Grüße
Th. Plaschke
Parent - - By Benno Hartwig Date 2021-01-31 16:02
Es lässt sich sogar leidlich reproduzieren (zumindest hier in meinem Umfeld).

Einfach diesen 79ten Weiß-Zug ausführen (König schlägt Turm)
und dann in Arena rechnen lassen, sogar mit fester Einstellung 1 Sekunde pro Zug. Immer wieder weiß und schwarz abwechselnd.
Bei mir zieht die Engine dann elendig lange planlos hin und her, die Bewertung bleibt stoisch bei +54,16.
Und dies auch, wenn ich Arena und damit auch dien Engines mal neu gestartet habe.

Dann irgendwann, 10 Züge später oder auch erst 30 Züge später (oder gar nicht?) kommt plötzlich eine Matt-Ansage "matt in 7" oder so.
Mich interessiert jetzt sehr, ob ihr ein ähnliches Bild seht?
Parent - - By Thomas Plaschke Date 2021-01-31 18:45
Ich habe es mit SF-201218 versucht. Nach 849 ms wechselt er zum 28 Halbzug von Sd6 zu Tb3.
Dann habe ich SF-210117 von abrok.de geladen (für >=Haskell-CPUs). Das sollte der Stockfish sein, den du getestet hast. Diese Version erwägt Sd6 nicht und spielt nach 1 s 80. Te4. (Hast du ev. ein anderes Netz verwendet?)
Beirrt 
Th. Plaschke
Parent - - By Benno Hartwig Date 2021-01-31 19:04
Wenn du in dieser Weise jeweils 1 Sekunde (kann bei Arena ja direkt so eingestellt werden) abwechselnd die SF-Engines ziehen lässt (einfach ein Patch auf die Space-Taste, Und wenn diesen Versuch auch ein paar mal machst), bekommst du dann nicht zunächst viele bis sehr viele reichlich wilde Züge angeboten, bei denen Weiß eine sich kaum ändernde (oder auch gar nicht ändernde) Bewertung bei +54,xx zeigt?
Und dann irgendwann (vielleicht hat SF zufällig doch eine Stellung erreicht, aus der die Engine etwas sehen kann), kommt plötzlich ein "Matt in x", oder eben lange Zeit auch nicht, oder eben gar nicht?
Verhält es sich bei dir nicht so?
Parent - By Thomas Plaschke Date 2021-01-31 19:42
Zuerst noch eine Ergänzung zu meinem letzten Beitrag: die aktuelle Stockfish-Version (die von heute, 31.01.2021) wechselt nach 668 ms zu 80. Sd6 - was ja noch nichts heißen will.

Mit dem Shredder-GUI lässt sich die Stellung mit fester Zeitvorgabe ausspielen (512 MB Hash).
Es beginnt auch mit wirren Zügen, die keinen zielführenden Drang zum Matt erkennen lassen, bis das Matt - anscheinend zufällig im 89. Zug gefunden wird. Danach zieht SF durch.

Code:
80. Re4 {+50.87/29 1s} Kf3 {+51.77/36 1s} 81. Re1
{+51.84/39 1s} Kf4 {+51.84/44 1s} 82. Ne7 {+51.84/40 1s}
Kf3 {+51.84/41 1s} 83. Nd5 {+51.84/40 1s} Kg4 {+51.84/38
1s} 84. Rb1 {+51.84/37 1s} Kg5 {+51.84/37 1s} 85. Rb2
{+51.84/38 1s} Kg6 {+51.84/38 1s} 86. Rf2 {+51.84/38 1s}
Kg5 {+51.84/39 1s} 87. Rf8 {+51.84/40 1s} Kg6 {+51.84/40
1s} 88. Rb8 {+51.84/37 1s} Kg7 {+51.84/36 1s} 89. Nf4
{+M11/38 1s} Kf6 {+M10/43 1s} 90. Rb5 {+M9/43 1s} Kg7
{+M8/47 1s} 91. Kb7 {+M8/49 1s} Kf6 {+M7/51 1s} 92. Kc7
{+M7/50 1s} Kf7 {+M6/60 1s} 93. Rf5+ {+M6/60 1s} Kg8
{+M5/93 1s} 94. Kd7 {+M5/126 1s} Kh8 {+M4/245 0s} 95. Ke6
{+M4/245 0s} Kg7 {+M3/245 0s} 96. Rh5 {+M3/245 0s} Kg8
{+M2/245 0s} 97. Kf6 {+M2/245 0s} Kf8 {+M1/245 0s} 98. Rh8#
{+M1/245 0s} 1-0

Dass SF auf deinem Notebook den Weg - zufällig - nicht findet, könnte an der unterschiedlichen Leistung der PCs liegen. Shredder hat im 80. Zug für Weiß 5.622 kN/s angezeigt. Vielleicht ist das der Unterschied.

Viele Grüße
Th. Plaschke
Parent - - By Frank Brenner Date 2021-01-31 13:48 Upvotes 1
Da muß entweder ein Fehler im Testaufbau oder in der Konfiguration oder am Zeiteinteilungsalgorithmus der EngineVersion oder an der  GUI (Arena ?) vorliegen.

Stockfish setzt auch mit 1/100 s pro Sekunde eine KTS vs K  Stellung zum  Matt.

Leela mit einer Montecarlo Engine im Hintergrund dagegen würde dieses gewonnene Endpiel selbst mit einer halben Stunde Bedenkzeit pro Zug auf einer RTX3080 nicht in ein Matt überführen.
Parent - - By Jörg Oster Date 2021-01-31 14:26
Frank Brenner schrieb:

Da muß entweder ein Fehler im Testaufbau oder in der Konfiguration oder am Zeiteinteilungsalgorithmus der EngineVersion oder an der  GUI (Arena ?) vorliegen.

Stockfish setzt auch mit 1/100 s pro Sekunde eine KTS vs K  Stellung zum  Matt.

Leela mit einer Montecarlo Engine im Hintergrund dagegen würde dieses gewonnene Endpiel selbst mit einer halben Stunde Bedenkzeit pro Zug auf einer RTX3080 nicht in ein Matt überführen.


Ach ja?
Da bin ich mir nicht so sicher.

Nimm einfach mal ein paar Stellungen aus der o. a. Partie und lass sie für eine halbe Sekunde rechnen.
Stellungswiederholung über Stellungswiederholung ...
Stockfish braucht in der Tat einige Sekunden bis ein Fortschritt in der Bewertung angezeigt wird.

Zum Beispiel:
Engine:
position fen K7/8/3N4/8/8/1R6/6k1/8 w - - 5 82
go movetime 500
info string NNUE evaluation enabled using nn-62ef826d1a6d.nnue
info depth 1 seldepth 2 multipv 1 score cp 5261 nodes 28 nps 28000 tbhits 0 time 1 pv d6c8
info depth 2 seldepth 4 multipv 1 score cp 5242 nodes 64 nps 64000 tbhits 0 time 1 pv d6c8 g2h2
info depth 3 seldepth 4 multipv 1 score cp 5242 nodes 144 nps 144000 tbhits 0 time 1 pv d6c8 g2h2 b3a3
info depth 4 seldepth 4 multipv 1 score cp 5242 nodes 225 nps 225000 tbhits 0 time 1 pv d6c8 g2h2 b3a3 h2g2
info depth 5 seldepth 6 multipv 1 score cp 5242 nodes 297 nps 297000 tbhits 0 time 1 pv d6f5 g2f1 b3b2 f1e1 f5e7
info depth 6 seldepth 8 multipv 1 score cp 5238 nodes 400 nps 200000 tbhits 0 time 2 pv d6f5 g2f2 b3b2 f2f3 b2b4 f3f2 b4b3
info depth 7 seldepth 10 multipv 1 score cp 5238 nodes 479 nps 239500 tbhits 0 time 2 pv d6f5 g2f2 b3b2 f2f3 b2b4 f3f2 b4b3 f2g2
info depth 8 seldepth 10 multipv 1 score cp 5238 nodes 613 nps 306500 tbhits 0 time 2 pv d6f5 g2f2 b3b2 f2f3 b2b4 f3f2 b4b3 f2g2 f5e7 g2f2
info depth 9 seldepth 10 multipv 1 score cp 5238 nodes 798 nps 399000 tbhits 0 time 2 pv d6f5 g2f2 b3b2 f2f3 b2b4 f3f2 b4b3 f2g2 f5e7 g2f2
info depth 10 seldepth 12 multipv 1 score cp 5238 nodes 1172 nps 586000 tbhits 0 time 2 pv d6f5 g2f2 b3b2 f2f3 b2b4 f3f2 b4b3 f2g2 f5e7 g2f2 a8b8
info depth 11 seldepth 12 multipv 1 score cp 5238 nodes 1406 nps 703000 tbhits 0 time 2 pv d6f5 g2f2 b3b2 f2f3 b2b4 f3f2 b4b3 f2g2 f5e7 g2f2 a8b8 f2g2
info depth 12 seldepth 14 multipv 1 score cp 5238 nodes 2041 nps 680333 tbhits 0 time 3 pv d6f5 g2f2 b3b2 f2f3 b2b4 f3f2 b4b3 f2g2 f5e7 g2f2 e7c8 f2g2 a8b7
info depth 13 seldepth 15 multipv 1 score cp 5242 nodes 3600 nps 900000 tbhits 0 time 4 pv d6f5 g2f2 f5e7 f2g2 a8b8 g2f2 b8b7 f2e2 b7a8 e2f2 e7c8 f2g2 a8b7
info depth 14 seldepth 15 multipv 1 score cp 5242 nodes 4915 nps 1228750 tbhits 0 time 4 pv d6f5 g2f2 f5e7 f2g2 a8b8 g2f2 b8b7 f2e2 b7a8 e2f2 e7c8 f2g2 a8b7 g2f1
info depth 15 seldepth 16 multipv 1 score cp 5238 nodes 8447 nps 1206714 tbhits 0 time 7 pv d6f5 g2f2 f5e7 f2g2 a8b8 g2f2 b8b7 f2e2 b7a8 e2f2 e7c8 f2g2 a8b7 g2h2 c8e7
info depth 16 seldepth 18 multipv 1 score cp 5238 nodes 12334 nps 1370444 tbhits 0 time 9 pv d6f5 g2f2 f5e7 f2g2 a8b8 g2f2 e7c8 f2g2 b8b7 g2h2 b3a3 h2g2 b7a8 g2f2 c8e7 f2g2
info depth 17 seldepth 21 multipv 1 score cp 5242 nodes 22601 nps 1412562 tbhits 0 time 16 pv d6f5 g2f2 a8b8 f2g2 b3a3 g2h2 b8b7 h2g2 b7a8 g2f1 a3a2 f1e1 a2b2 e1f1 f5e7
info depth 18 seldepth 18 multipv 1 score cp 5242 nodes 28728 nps 1436400 tbhits 0 time 20 pv d6f5 g2f2 a8b8 f2g2 b3a3 g2h2 b8b7 h2g2 b7a8 g2f2 f5e7 f2g2 a3b3 g2f2 e7c8 f2g2 a8b7 g2h2
info depth 19 seldepth 21 multipv 1 score cp 5242 nodes 38305 nps 1418703 tbhits 0 time 27 pv d6f5 g2f2 a8b8 f2g2 b3a3 g2h2 b8a8 h2g2 f5d6 g2f2 d6c8 f2g2 a3b3 g2h2 a8b7 h2g2 b7b8 g2f2 b3c3
info depth 20 seldepth 22 multipv 1 score cp 5242 nodes 53362 nps 1442216 tbhits 0 time 37 pv d6f5 g2f2 a8b8 f2g2 b3a3 g2h2 b8a8 h2g2 f5d6 g2f2 d6c8 f2g2 a3b3 g2h2 a8b7 h2g2 b7b8 g2f2 b3c3 f2g2
info depth 21 seldepth 24 multipv 1 score cp 5238 nodes 102921 nps 1449591 tbhits 0 time 71 pv d6f5 g2f2 a8b8 f2g2 b3a3 g2f2 f5e7 f2g2 e7c8 g2h2 b8a7 h2g2 a7a8 g2f2 c8e7 f2e1 a8b7 e1d2 a3h3 d2c2 b7a8
info depth 22 seldepth 24 multipv 1 score cp 5238 nodes 129869 nps 1459202 tbhits 0 time 89 pv d6f5 g2f2 a8b8 f2g2 b3a3 g2f2 f5e7 f2g2 e7c8 g2h2 a3b3 h2g2 b8a8 g2h2 a8b7 h2g2 b7b8 g2f2 b8a8 f2g2 c8d6 g2f2
info depth 23 seldepth 26 multipv 1 score cp 5238 nodes 169342 nps 1459844 tbhits 0 time 116 pv d6f5 g2f2 a8b8 f2g2 b3a3 g2f2 f5e7 f2g2 e7c8 g2h2 b8a8 h2g2 a3b3 g2h2 a8a7 h2g2 a7b7 g2f2 b7a8 f2g2 c8e7 g2f2 b3a3
info depth 24 seldepth 26 multipv 1 score cp 5238 nodes 253201 nps 1430514 tbhits 0 time 177 pv d6f5 g2f2 a8b8 f2g2 b3a3 g2f2 f5e7 f2g2 e7c8 g2h2 b8a8 h2g2 a3b3 g2h2 a8a7 h2g2 c8e7 g2h2 a7b7 h2g2 b7a8 g2f2 e7f5 f2g2
info depth 25 seldepth 27 multipv 1 score cp 5238 nodes 317833 nps 1425260 tbhits 0 time 223 pv d6f5 g2f2 a8b8 f2g2 b3a3 g2f2 f5e7 f2g2 e7c8 g2h2 b8a8 h2g2 a8b7 g2h2 c8e7 h2g2 b7b8 g2h2 a3b3 h2g2 e7c8 g2f2 b8a8 f2g2 c8d6
info depth 26 seldepth 28 multipv 1 score cp 5238 nodes 385735 nps 1439309 tbhits 0 time 268 pv d6f5 g2f2 a8b8 f2g2 b3a3 g2f2 f5e7 f2g2 e7c8 g2h2 b8a8 h2g2 a8b7 g2h2 c8e7 h2g2 b7b8 g2h2 a3b3 h2g2 e7c8 g2f2 b8a8 f2g2 c8d6 g2f2
info depth 27 seldepth 30 multipv 1 score cp 5238 nodes 499822 nps 1436270 tbhits 0 time 348 pv d6f5 g2f2 a8b8 f2g2 b3a3 g2f2 f5e7 f2g2 e7c8 g2h2 b8a8 h2g2 a3b3 g2h2 b3d3 h2g2 c8e7 g2h2 e7f5 h2g2 d3g3 g2f2 g3b3 f2g2 f5e7 g2f2 b3a3 f2g2
info depth 28 seldepth 30 multipv 1 score cp 5238 nodes 615564 nps 1428222 tbhits 0 time 431 pv d6f5 g2f2 a8b8 f2g2 b3a3 g2f2 f5e7 f2g2 e7c8 g2h2 b8a8 h2g2 a3b3 g2h2 b3c3 h2g2 c8d6 g2f2 c3a3 f2g2 a3b3 g2f2 d6c8 f2g2 c8e7 g2f2 b3a3 f2e2
info depth 29 seldepth 31 multipv 1 score cp 5238 nodes 718860 nps 1434850 tbhits 0 time 501 pv d6f5 g2f2 a8b8 f2g2 b3a3 g2f2 f5e7 f2g2 e7c8 g2h2 b8a8 h2g2 c8d6 g2f2 d6e4 f2g2 a3b3 g2h2 b3g3 h2h1 e4d6 h1h2 d6f5 h2h1 f5e7 h1h2 g3g5 h2h3 e7f5 h3h2
bestmove d6f5 ponder g2f2
Parent - By Frank Brenner Date 2021-01-31 16:30
Okay, hab das jetzt mit Stockfish ausprobiert.

Bei einer Bedenkzeit von 100ms pro zug rechnet er oft nur 1,2  oder 3 Halbzüge tief.  Leider kann ich bei Arena keine 100ms pro Zug fix eingeben, sondern nur 0s für die Partie + 0,1s pro Zug Bonus.

Nach 1 Sekunde erreicht SF berteits Tiefe "46/23".

Möglicherweise ist die Feineinteilung des Zeiteinteilungsalgorithmus bei Stockfish zu grob um ordentlich die Bedenkzeit von 100ms pro Zug einzuteilen, was ja auch verständlich ist, schließlich kann nicht 10% der CPU Zeit auf die Uhr geguckt werden.

Bei einer Tiefe von 2-3 Halbzügen zieht Stockfish wirklich nur hin und her oder im Kreis.

Wäre mein PC 100 mal so langsam und wenn ich dann keine 100ms/Zug eingebe , sondern 10s/Zug dann würde Stockfish zuverlässig mattsetzen.
Parent - - By Benno Hartwig Date 2021-01-31 15:46
Ja, ich machte es im Rahmen von vielen Partien in Arena 3.5.1 2861.
Ich werde versuchen, es irgendwie zu reproduzieren...
Parent - - By Andreas Matthies Date 2021-02-01 08:55
Ich stelle auch häufiger fest, dass da teilweise Zeit "verloren" geht zwischen Arena und der Engine. Die Engine bekommt teilweise nur eine Millisekunde, obwohl das Zeitmanagement eigentlich im vorherigen Zug eine Reserve aufgehoben haben sollte, und muss dann entsprechend sofort ziehen. Im Arena Log ist das zu sehen: go wtime 1 winc 100 ...
(Zählen die 100ms Increment eigentlich schon für den aktuellen Zug?)
Und auch nach Zeit verlorene Partien treten immer mal auf, wenn man die Option nicht explizit deaktiviert.
Cutechess ist da deutlich genauer, was das Zeitmanagement angeht. Leider in vielen Funktionen nicht so schön wie Arena aber zum Ausspielen von Testpartien die beste Wahl.
Parent - - By Jörg Oster Date 2021-02-01 11:59
Andreas Matthies schrieb:

Ich stelle auch häufiger fest, dass da teilweise Zeit "verloren" geht zwischen Arena und der Engine. Die Engine bekommt teilweise nur eine Millisekunde, obwohl das Zeitmanagement eigentlich im vorherigen Zug eine Reserve aufgehoben haben sollte, und muss dann entsprechend sofort ziehen. Im Arena Log ist das zu sehen: go wtime 1 winc 100 ...
(Zählen die 100ms Increment eigentlich schon für den aktuellen Zug?)


Soweit ich weiß, ja.
Siehe auch https://de.wikipedia.org/wiki/Bedenkzeit
Zitat:
Jeder Spieler hat eine Grundbedenkzeit, zu der vor jedem Zug eine Zugzeit addiert wird (Beispiel: 3 Minuten + 10 Sekunden/Zug).


Auf discord hat mir kürzlich ein Lco-Entwickler gesagt, Arena würde schon mit dem position command die Uhr starten.
Es kann aber auch sein, dass er das mit Winboard verwechselt hat.

Ich benutze allerdings weder Arena noch Winboard fürs Testen, sondern fast auschließlich cutechess-cli ...
Parent - - By Hauke Lutz Date 2021-02-01 12:32
2015 habe ich unter Arena schon interessante Effekte gesehen.
Bei pgn-Vorgaben und spielen mit Fischerbonus schlägt Arena den Fischerbonus auch auf Vorgabezüge auf.
Parent - By Wolfgang Battig Date 2021-02-01 14:05
Ist nicht arenaspezifisch, Shredder Classic macht das auch.
Die Vorgabezüge gehören halt zur Partie, auch wenn die Engines sie nicht selbst gespielt haben. Wenn aus einem Buch heraus gespielt wird ebenso.
- - By Benno Hartwig Date 2021-02-02 06:23 Edited 2021-02-02 06:25
Ich habe es auch mit anderen Startstellungen KTS-K ausprobiert und 1s/Zug und 1 Kern ohne Pondern getestet:
"SF  kann vor Kraft nicht laufen!"

Genutzt habe ich Arena 3.5.1, fest eingestellte 1s/Zug, eine SF-Engine mit NNUE-Nutzung gewählt.
Und dann diese Engine mit wiederholtem Drücken der Space-Taste beide Seiten spielen lassen.

SF erreicht bei jedem Zug Tiefen von weit in die 20, oft bis in die 40 hinein.
SF zeigt mir bei jedem Zug eine Bewertung von mehr als 50,00 an.
Aber SF irrt irre lange reichlich was planlos hin und her, und es ist Zufall, ob nach 30 Zügen jeder Seite eine Mattansage kommt, mit Glück auch mal schon nach 10 Zügen, oder ob die 50-Züge-Regel doch geknackt wird.
Eben probierte ich es beispielsweise aus dieser Stellung heraus:

Ich befürchte, hier liegt noch ein logisches Problem im Stockfish, welches sich, wohl schwieriger erkennbar, auch in anderen Situationen schädlich auswirken kann.
"Wie komme ich voran, wenn jeder Fortsetzung gewonnen scheint?[pgn][/pgn]" (Tatsächlich ja gewonnen "ist", nur wenn die Engine nicht weiß, wie es geht...?")
Parent - - By Benno Hartwig Date 2021-02-03 07:21 Edited 2021-02-03 07:28
Ersetzt man den Springer durch einen Läufer, kommen die Stockfische sehr schnell auf Züge, bei denen sie das Matt sehen. Und ziehen es dann natürlich durch.

Nimmt man den Springer weg (KT-K), staunt ich aber auch, dass sich SF zunächst mal 5 aus meiner Sicht völlig unsinnige Züge gönnt, hier natürlich auch kein Matt sieht, bis er dann plötzlich doch ein Matt in 17 erkennt und es dann durchzieht.

Bei KTS-K und 1s/Zug aber kann passieren, dass SF diesen "Zufallstreffer" nicht macht und über die 50-Züge hinweg und dann ins Remis hinein stolpert.

Unter anderem bei Stefan und Andreas (danke euch an dieser Stelle noch einmal für eure andauernden Leistungen!!!) werden Ranglisten ja auch mit solchen Zeitvorgaben erspielt.
- Mittelt sich das alles wieder weg?
- Oder ist das dank Endspieldatenbanken eh egal?
- Oder sollte das zu denken geben?
Parent - By Andreas Matthies Date 2021-02-03 13:25
Ich habe diesen Thread mal zum Anlass genommen, meine eigene Engine auf diese Arten von Endspiel loszulassen, insbesondere auf KBNvK, da das im Moment das einzige ist, für das expliziter Code existiert.
Und siehe da... die Ergebnisse waren schrecklich.

Schuld war, dass ich vor einiger Zeit im Zuge der Einführung von NNUE die Logik in der Hauptbewertungsfunktion von "liefere Bewertung aus Sicht von Weiß" umgestellt hatte auf "liefere Bewertung aus Sicht der Seite, die am Zug ist". Und diese Umstellung hatte ich in der Endspielfunktion KBNvK vergessen. Ist jetzt korrigiert.
Und wer weiss, ob da nicht auch in SF was vergessen wurde. Diese Endspiele werden ja selten ohne EGTB wirklich ausgespielt, so dass es vielleicht beim Testen oder in den üblichen Turnieren nicht auffällt.
Parent - By Jörg Oster Date 2021-02-07 13:06 Upvotes 1
Da scheint tatsächlich was "faul" zu sein.
Die erste NNUE-Version ("Use NNUE" war noch auf false gesetzt) kann das noch.

Engine:
go depth 28
info string classical evaluation enabled.
info depth 1 seldepth 1 multipv 1 score cp 5903 nodes 23 nps 11500 tbhits 0 time 2 pv h1g2
info depth 2 seldepth 2 multipv 1 score cp 5899 nodes 144 nps 72000 tbhits 0 time 2 pv h1g2 d6d7
info depth 3 seldepth 3 multipv 1 score cp 5909 nodes 266 nps 133000 tbhits 0 time 2 pv h1g2 d6d7 g2f3
info depth 4 seldepth 4 multipv 1 score cp 5909 nodes 534 nps 267000 tbhits 0 time 2 pv h1g2 d6d7 g2f3 d7c8
info depth 5 seldepth 6 multipv 1 score cp 5910 nodes 926 nps 463000 tbhits 0 time 2 pv h1g2 d6d7 g2f3 d7d8 f3e4
info depth 6 seldepth 7 multipv 1 score cp 5915 nodes 2288 nps 762666 tbhits 0 time 3 pv h1g2 d6d5 h2h5 d5c4 g2f3 c4d4 f3f4
info depth 7 seldepth 9 multipv 1 score cp 5915 nodes 4958 nps 1239500 tbhits 0 time 4 pv h1g2 d6c5 g2f3 c5d5 h2h5 d5d4 h5h4 d4e5 f3e3
info depth 8 seldepth 10 multipv 1 score cp 5918 nodes 7266 nps 1453200 tbhits 0 time 5 pv h1g2 d6c5 g2f3 c5d5 h2h5 d5c6 h5f5 c6d7 f3e4
info depth 9 seldepth 10 multipv 1 score cp 5918 nodes 10460 nps 1494285 tbhits 0 time 7 pv h1g2 d6c5 g2f3 c5d5 h2h5 d5c6 f3e3 c6d7 e3e4 d7d8
info depth 10 seldepth 12 multipv 1 score cp 5920 nodes 21726 nps 1810500 tbhits 0 time 12 pv h2d2 d6e7 h1h2 e7f7 h2g3 f7e8 g3f4 e8f7 f4g4 f7e8 g4f5
info depth 11 seldepth 12 multipv 1 score cp 5923 nodes 31746 nps 1867411 tbhits 0 time 17 pv h2d2 d6e7 h1h2 e7f7 h2g3 f7e7 g3g4 e7f6 g4f4 f6e6 f4e4 e6f6
info depth 12 seldepth 14 multipv 1 score cp 5927 nodes 57633 nps 1921100 tbhits 0 time 30 pv h1g2 d6c5 g2f3 c5d5 h2h5 d5c6 f3e3 c6d6 e3d4 d6c6 h5d5 c6b6 d4e5
info depth 13 seldepth 15 multipv 1 score cp 5928 nodes 70959 nps 1917810 tbhits 0 time 37 pv h1g2 d6c5 g2f3 c5d5 h2h5 d5c6 f3e3 c6d6 e3d4 d6c6 h5h6 c6c7 d4e5 c7d7 h6h8
info depth 14 seldepth 16 multipv 1 score cp 5928 nodes 89554 nps 1946826 tbhits 0 time 46 pv h1g2 d6c5 g2f3 c5d5 h2h5 d5c6 f3e3 c6d6 e3d4 d6c6 h5h6 c6c7 d4e5 c7d7 h6h8 d7e7
info depth 15 seldepth 17 multipv 1 score cp 5928 nodes 107861 nps 1926089 tbhits 0 time 56 pv h1g2 d6c5 g2f3 c5d5 h2h5 d5c6 f3e3 c6d6 e3d4 d6c6 h5h6 c6c7 d4e5 c7d7 h6h8 d7e7 e5d5
info depth 16 seldepth 18 multipv 1 score cp 5928 nodes 140266 nps 1921452 tbhits 0 time 73 pv h1g2 d6c5 g2f3 c5d5 h2h5 d5c6 f3e3 c6d6 e3d4 d6c6 h5h6 c6b5 h6h8 b5b4 h8a8 b4b5 g1e2 b5b4
info depth 17 seldepth 21 multipv 1 score cp 5928 nodes 175646 nps 1909195 tbhits 0 time 92 pv h1g2 d6c5 g2f3 c5d5 h2h5 d5c6 f3e3 c6d6 e3d4 d6c6 h5h6 c6d7 d4d5 d7e7 h6b6 e7d7 d5e5 d7e7 b6b8
info depth 18 seldepth 22 multipv 1 score cp 5930 nodes 232273 nps 1873169 tbhits 0 time 124 pv h1g2 d6c5 g2f3 c5d5 h2h5 d5e6 f3e4 e6f6 h5e5 f6g6 e5d5 g6f6 d5h5 f6f7 h5h6 f7g7 h6b6 g7f7 e4e5
info depth 19 seldepth 21 multipv 1 score cp 5930 nodes 293921 nps 1860259 tbhits 0 time 158 pv h1g2 d6c5 g2f3 c5d5 h2h5 d5e6 f3e4 e6f6 h5e5 f6g6 e4f4 g6f6 e5e2 f6f7 f4e5 f7g6 e2g2 g6h6 e5f5 h6h5 f5f6
info depth 20 seldepth 22 multipv 1 score cp 5933 nodes 417326 nps 1830377 tbhits 0 time 228 pv h1g2 d6c5 g2f3 c5d5 h2h5 d5e6 f3e4 e6d6 h5e5 d6c6 e5d5 c6b6 e4d4 b6c6 d5h5 c6b7 d4d5 b7b6 d5d6 b6b7 d6d7 b7a6
info depth 21 seldepth 26 multipv 1 score cp 5938 nodes 553005 nps 1825099 tbhits 0 time 303 pv h2h5 d6c6 h1h2 c6d6 h2g2 d6e6 g2f3 e6d6 f3e4 d6c6 e4d4 c6b6 h5h6 b6b5 g1e2 b5b4 h6b6 b4a4 d4c4 a4a3 b6b3 a3a4 e2c3 a4a5 b3b5 a5a6
info depth 22 seldepth 27 multipv 1 score cp 5942 nodes 616684 nps 1819126 tbhits 0 time 339 pv h2h5 d6c6 h1h2 c6d6 h2g2 d6e6 g2f3 e6d6 f3e4 d6c6 e4d4 c6b6 h5h6 b6b5 g1e2 b5b4 h6b6 b4a4 d4c4 a4a3 e2d4 a3a2 d4f3 a2a3 b6h6
info depth 23 seldepth 27 multipv 1 score mate 26 nodes 679500 nps 1812000 tbhits 0 time 375 pv h1g2 d6e6 g2f3 e6f5 h2h5 f5g6 h5c5 g6f7 f3e4 f7f6 c5h5 f6g7 e4f5 g7f7 h5h8 f7e7 f5e5 e7d7 h8h6
info depth 24 seldepth 27 multipv 1 score mate 25 nodes 766909 nps 1808747 tbhits 0 time 424 pv h1g2 d6e6 g2f3 e6f5 h2h5 f5g6 h5c5 g6f7 f3e4 f7e6 c5h5 e6d6 h5e5 d6c6 e5d5 c6b7 d5d6 b7a7 d6h6 a7b7 e4e5 b7c7 h6d6 c7b7
info depth 25 seldepth 28 multipv 1 score mate 24 nodes 877073 nps 1808397 tbhits 0 time 485 pv h1g2 d6e6 g2f3 e6f5 h2h5 f5g6 h5c5 g6f7 f3e4 f7e6 c5h5 e6f6 h5h6 f6f7 e4e5 f7g7 h6d6 g7f7 e5f5 f7e7 d6d3 e7f7 d3d7 f7e8 f5e6 e8f8 e6f6 f8e8
info depth 26 seldepth 31 multipv 1 score mate 20 nodes 1023748 nps 1792903 tbhits 0 time 571 pv h1g2 d6e6 g2f3 e6d5 h2h5 d5d4 h5f5 d4c3 f3e3 c3c4 f5h5 c4c3 h5c5 c3b4 e3d4 b4b3 d4d3 b3b4 c5f5 b4b3 f5b5 b3a3 g1f3 a3a2 d3c4 a2a3 b5b8 a3a2 b8b6
info depth 27 seldepth 30 multipv 1 score mate 18 nodes 1123416 nps 1794594 tbhits 0 time 626 pv h1g2 d6e6 h2h5 e6d6 g2f3 d6e6 f3e4 e6d6 h5e5 d6c6 e5d5 c6b7 d5d6 b7a7 e4e5 a7b7 e5e6 b7c7 e6e7 c7b7 e7d7 b7b8 d6b6 b8a8 d7d6 a8a7 d6c6 a7a8
info depth 28 seldepth 29 multipv 1 score mate 18 nodes 1194452 nps 1798873 tbhits 0 time 664 pv h1g2 d6e6 h2h5 e6d6 g2f3 d6e6 f3e4 e6d6 h5e5 d6c6 e5d5 c6b7 d5d6 b7a7 e4e5 a7b7 e5e6 b7c7 e6e7 c7b7 e7d7 b7b8 d6b6 b8a8 d7d6 a8a7 d6c6 a7a8 b6b5
bestmove h1g2 ponder d6e6


Da war die Funktion, die die eigentliche Bewertung abruft, noch einfach gehalten.
Code:
/// evaluate() is the evaluator for the outer world. It returns a static
/// evaluation of the position from the point of view of the side to move.

Value Eval::evaluate(const Position& pos) {

  if (Eval::useNNUE)
      return NNUE::evaluate(pos);
  else
      return Evaluation<NO_TRACE>(pos).value();
}

Später hat sich das ja drastisch geändert, und ich vermute mal, das dabei was schief gelaufen ist.
(Wobei das meiner Meinung nach auch nicht der richtige Platz im Code ist, dies zu tun.
Aber was weiß ich schon.)
Parent - - By Thomas Plaschke Date 2021-02-03 17:35
Ich habe mit deiner Ausgangsposition nocht ein bisschen weitergetestet. Die Versionen ohne NNUE können noch mattsetzen (bspw. die vom 22.06.2020).
Der letzte Cfish vom 31.12.2020 kann es nicht, selbst wenn man auf "Classical" umstellt. Auch bei den letzten Stockfishen bringt es nichts, "Use NNUE" zu deaktivieren. Der Fehler liegt nicht unmittelbar an der Verwendung der NNs.

Viele Grüße
Th. Plaschke
Parent - - By Max Siegfried Date 2021-02-07 13:14
Haben sich die Stockfish Entwickler dazu geäußert?
Ich denke es könnte schlimme Folgen haben wenn ein Fehler im Code ein halbes Jahr lang unentdeckt bleibt.
Parent - - By Thomas Plaschke Date 2021-02-07 19:02

>Haben sich die Stockfish Entwickler dazu geäußert?


Nicht, dass ich wüsste.

Mit Jörg Oster haben wir aber jemanden im Forum, der aktiv an Stockfish mitarbeitet und dem Fehler schon auf der Fährte ist (s.o.).

Viele Grüße
Thomas Plaschke
Parent - - By Jörg Oster Date 2021-02-07 20:47
Thomas Plaschke schrieb:

Nicht, dass ich wüsste.

Mit Jörg Oster haben wir aber jemanden im Forum, der aktiv an Stockfish mitarbeitet und dem Fehler schon auf der Fährte ist (s.o.).

Viele Grüße
Thomas Plaschke


Eigentlich nicht mehr wirklich.
Ich arbeite zur Zeit eher an meinem eigenen "MOJO" fork. 
Parent - By Hauke Lutz Date 2021-02-07 20:49
Ich bin gespannt was du aus dem Hut zauberst
Up Topic Hauptforen / CSS-Forum / Stockfish mit 1/2 Sekunde pro Zug

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill