Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / False evaluations for positions with multiple knights
- - By Armin Jungblut Date 2024-03-28 09:02
https://github.com/official-stockfish/Stockfish/issues/5140

2k5/2N5/N2N2N1/2N1N3/8/8/8/4K3 b - - 117 14" (should be mate in two plies)
=> löst nur Huntsman2023 und Dragon.

"8/3k4/8/8/4N3/5N2/6N1/7K b - - 117 14" (should be mate in 15)
=> löst nur Huntsman2023. Dragon rechnet zumindest.

Alle meine Stockfish-Abkömmlinge haben das "Problem".
Parent - - By Peter Martan Date 2024-03-28 09:13 Edited 2024-03-28 09:49
Das erste davon ist bei mir kein Problem für SF 240303.
Weder single thread mit SyzygyProbeLimit=1, noch mit 30 Threads und ProbeLimit=6.
Übrigens auch für keinen SF- Branch ähnlichen Alters, den ich probiert hab'. Scheint etwas zu sein, was sich SF mit einem sehr jungen Patch zugezogen hat, mag dann natürlich erst recht nicht eigens den momentan jüngsten runterladen

Dragon, Berserk, Obsidian haben auch alle sofort das Matt in 1 im Output.
Die Forderung
Zitat:
Stockfish should find the checkmate before reaching depth 245.

auf github find' ich aber, was SF angeht, auch etwas eigenartig, weil schon die erste Output- Zeile single thread mit 0.00" die Tiefe 245 im Fritz anzeigt.

2k5/2N5/N2N2N1/2N1N3/8/8/8/4K3 b - - 0 1

Analysis by Stockfish dev-20240303-b0ac8a4e:

14...Kd8 15.S5e6#
Tiefe: 245/3 00:00:00 488Knoten

Edit: zum zweiten hab' ich hier nur noch schnell einen einzelnen Versuch mit ShashChess und 30 threads der 16x3.5 GHz CPU, 8G hash, SyzygyProbeLimit=0 gemacht, nachdem der ebenso wie mit HypnoS in wenigen Sekunden das #15 hatte, ist sich noch ein einzelner run mit SF dev. ausgegangen:

8/3k4/8/8/4N3/5N2/6N1/7K b - - 0 1

Analysis by Stockfish dev-20240303-b0ac8a4e:

14...Kc6 15.Sf4 Kb5 16.Sfd2 Kb4 17.Sd3+ Ka4
  Weiß hat entscheidenden Vorteil. 
  +- (2.96)  Tiefe: 10/14   00:00:00
...
14...Kc8 15.Sd4 Kd7 16.Se3 Kd8 17.Sd5 Ke8 18.Sc5 Kf7 19.Sb5 Ke8 20.Sd6+ Kd8 21.Sdb7+ Ke8 22.Kg2 Kf7 23.Sd6+ Kg7 24.Se6+ Kg6 25.Kh3 Kh7 26.Kg3 Kg6 27.Kh4 Kh6 28.Sdf4 Kh7 29.Sf7 Kg8 30.Sfg5 Kh8 31.Sd5 Kg8 32.Sf6+ Kh8 33.Sf7#
  Weiß setzt Matt. 
  +- (#19)  Tiefe: 43/39   00:00:01  76993kN
14...Kc8 15.Se3 Kd7 16.Sd4 Kd8 17.Sd5 Ke8 18.Sc5 Kf8 19.Sf5 Ke8 20.Kg2 Kf7 21.Sd6+ Kg7 22.Kg3 Kh6 23.Kh4 Kg6 24.Se6 Kh6 25.Se7 Kh7 26.Kh5 Kh8 27.Se8 Kh7 28.Sf6+ Kh8 29.Sg6#
  Weiß setzt Matt. 
  +- (#15)  Tiefe: 44/37   00:00:02  107MN
...
14...Kc8 15.Se3 Kd7 16.Sd4 Kd8 17.Sd5 Ke8 18.Sc5 Kf7 19.Sf5 Ke8 20.Kg2 Kf7 21.Sd6+ Kg7 22.Kg3 Kh6 23.Kh4 Kg6 24.Se6 Kh6 25.Se7 Kh7 26.Kh5 Kh8 27.Se8 Kh7 28.Sf6+ Kh8 29.Sg6#
  Weiß setzt Matt. 
  +- (#15)  Tiefe: 51/31   00:00:11  650MN

So what?

Wenn da eine jüngere SF- Version buggy ist, dann auch höchstens durch einen Patch nach dem 3.3.
Parent - - By Jörg Oster Date 2024-03-28 09:50
Peter, du hast ja auch den 50-Züge Zähler einfach auf 0 gesetzt.
Parent - By Peter Martan Date 2024-03-28 09:51 Edited 2024-03-28 10:38
Jörg, ich hab' die Fen- Strings aus dem github genommen.

Tatsächlich sind's in der Konsole mit denselben  Fen- Strings und 240303 Nullnummern, was das Fritz- GUI da mit dem Zugzähler macht, weiß ich nicht, sorry

Dass Shredder alles, was man aus der Zwischenablage an Stellungen einfügt, mit einem neuen ersten Zug zu rechnen beginnt, ist man gewöhnt, beim Fritz hab' ich halt auch nur auf das 14... geachtet und nicht darauf, dass die 117 irreversiblen Halbzüge ignoriert werden. Hiarcs setzt sie übrigens auf 99, 117 überfordert ihn offenbar auch, Arena macht's richtig

Die Zeit zum Editieren des ersten Postings ist jetzt natürlich auch um und löschen kann ich's nicht mehr, nachdem du schon geantwortet hast, kann ich das P.T. Publikum also nur noch hier um Entschuldigung bitten, dass ich im Fritz- GUI nicht mit der Falle des Fen- Strings gerechnet hatte, bzw. an ihr vorbei habe rechnen lassen
Parent - - By Jörg Oster Date 2024-03-28 10:11 Upvotes 2
Wobei Huntsman-2023 nie offiziell war.

Nach dem Release von Matefish 3.0 werde ich mich bemühen,
auch an einem neuen Huntsman zu arbeiten.
Parent - - By Armin Jungblut Date 2024-03-28 11:20
Matefish 2, Huntsman 1+2 haben bei mir auch keine korrekten Ergebnisse ausgegeben. 2023 macht da etwas "anders".
Freu mich auf deine neuen Arbeiten 
Parent - By Jörg Oster Date 2024-03-28 11:35
Armin Jungblut schrieb:

Matefish 2, Huntsman 1+2 haben bei mir auch keine korrekten Ergebnisse ausgegeben. 2023 macht da etwas "anders".
Freu mich auf deine neuen Arbeiten 

Die 2023 ignoriert ganz einfach die 50-Züge Regel. 

Matefish ignoriert diese zwar auch, ist ja so üblich für Mattaufgaben,
ist aber nur für Matt in x Aufgaben ausgelegt.
Parent - - By Peter Martan Date 2024-03-30 09:35 Edited 2024-03-30 09:41 Upvotes 1
Wenn ich mir für einen neuen Huntsman etwas wünschen dürfte, wäre es persistent hash in der Art, wie ihn Sopel (Tomasz Sobczyk) seinerzeit in seine Version von Fat Fritz 2 eingebaut hat unter dem schlimmen Namen, das war ja aber ein Cfish.
Marco Zerbinati hat das dann in C+ übersetzt für ein paar HypnoS-, SugaR-, und Crystal- Versionen, ist leider in keiner der aktuellen Versionen mehr drin, dieser SF- Code (HypnoS ist ja jetzt auch frei auf github runterladbar), aber ich kann dir übers Outskirts, in dem du ja auch registriert bist, eine der alten Versionen mit persistent hash verlinken, wenn's dich interessiert.

Sowas wäre gerade auch für eine auf die Mattsuche spezialisierte Engine nützlich, weil man lange Backward- Analysen immer wieder mal unterbrechen will oder muss, wenn man die Hardware anderweitig braucht, und dann ist immer wieder der schöne große, schon mit sehr vielen nützlichen Einträgen gefüllte Hash weg. Den zwischenspeichern und später wieder laden zu können, das ist ein Feature, das ich immer wieder sehr schätze für Analysen.
Parent - - By Peter Martan Date 2024-03-30 11:40 Edited 2024-03-30 11:56 Upvotes 1
Zitat:

Sowas wäre gerade auch für eine auf die Mattsuche spezialisierte Engine nützlich, weil man lange Backward- Analysen immer wieder mal unterbrechen will oder muss, wenn man die Hardware anderweitig braucht, und dann ist immer wieder der schöne große, schon mit sehr vielen nützlichen Einträgen gefüllte Hash weg. Den zwischenspeichern und später wieder laden zu können, das ist ein Feature, das ich immer wieder sehr schätze für Analysen.

Nur so ein einzelnes Beispiel, das hier hat Dann Corbit unter Anderem gerade ins Talkchess gebracht:

https://talkchess.com/viewtopic.php?p=960971#p960971

Gleich die erste Stellung davon

acd 44; bm Kf4; ce 630; c2 "#23;"; pm Kf4; pv Kf4; id "ChestDB.06301";

soll ein Matt in 23 sein, ich komme da nicht einmal in die Nähe dieser DTM mit Huntsman, #44 ist das kürzeste, was ich bisher mit Forward- Backward bekomme, nach 20 Zügen wird's klarer Weise zäh mit der weiteren Hardware- Zeit und dem Hash bei 30 Threads und 32 Gb.
Wenn ich das mit einer Cfish- Version vom Vorjahr, die dann ein anderer Outskirts- User aus der von Sopel gemacht hat, rückwärts verfolge, geht's mit Classical Eval annähernd so flott wie mit Huntsman, aber während der (Huntsman) auch über Nacht entweder nicht viel weiter kommt oder die DTM aus dem Output verliert, kann ich mit dem persistent hash einfach mal mit einem overnight- hash Pause machen und dann mit verschiedenen TC- Einstellungen automatisch weiterlaufen lassen, wenn ich sehe, das ist zuviel Rechenzeit (oder - Tiefe) pro Zug, speichere ich wieder zwischen und stelle um.
Kann jemand nachvollziehen, wieviel das bei allen möglichen Analysen hilft, aber gerader auch für eine lange DTM?

Nach diesen 20 Zügen

2r1b1Q1/6p1/2P5/5P2/1p2K3/pPp5/n2P4/1B2k3 w - - 0 1

1. Kf4 Nc1 2. dxc3 a2 3. Bxa2 Ne2+ 4. Kg5 bxc3 5. Bb1 Bd7 6. Qc4 Bxc6 7. Qe6 Rc7 8. Bd3 Bf3 9. Qe3 c2 10. Bxc2 Rxc2 11. Qxf3 Rc3 12. Qh1+ Kd2 13. Qd5+ Rd3 14. Qa5+ Nc3 15. Kg6 Rg3+ 16. Kf7 Kd3 17. b4 Ke4 18. b5 Nd5 19. Qa8 Rb3 20. Kxg7 Rg3+

bekomme ich nach etwas weiterem nachfolgendem Forward- Backward diesen Output vom Cfish mit 30 Threads und 32G Hash:

Q7/6K1/8/1P1n1P2/4k3/6r1/8/8 w - - 0 1

Analysis by CfishNN 20230626 64 POPCNT:

21.Kf7 Tb3 22.f6 Tf3 23.Da4+ Ke5 24.Da1+ Kd6 25.Da6+ Ke5 26.De6+ Kd4 27.b6 Tb3 28.Dg4+ Ke5 29.De2+ Kd6 30.De6+ Kc5 31.Dc8+ Kd4 32.b7 Sxf6 33.Kxf6 Tb6+ 34.Ke7 Tb5 35.b8D Txb8 36.Dxb8 Kc3 37.Dg3+ Kb2 38.Ke6 Kc2 39.Kd5 Kd2 40.Df3 Kc2 41.Kc4 Kb1 42.Dg2 Kc1 43.Kc3 Kd1 44.Dd2#
Tiefe: 55/48 00:00:01 72142kN

Ein bisschen weiter rückwärts geht's noch relativ flott, aber die DTM fängt zu wackeln an, schätzungsweise werden in absehbarer Rechenzeit vielleicht noch 5 bis 10 Züge gehen mit irgendeinem DTM- Output, aber verlässlich ist der dann nicht mehr und zum interaktiv am Bildschirm sitzend Weitermachen wird's zu langwierig.
Wenn ich an der Stelle nach den 20 Zügen mit einem laut GUI 70% vollen Hash (32G) ein "Persistent TTSerialize" mache und die entsprechende TT Min Depth auf 21 war, bekomme ich auf der Festplatte gerade mal knappe 2.5G und wenn ich die irgendwann nach einem Neustart von Engine und GUI wieder lade, hab' ich sofort wieder den Matt in 24- Output am Bildschirm und kann dort weitermachen, wo ich zuletzt aufgehört habe.

Gustav und Chest haben von der Ausgangsstellung aus auch keine Chance, was ich nur so ein bisschen probiert habe, nicht mit #23, was ich sowieso nicht wirklich glaube, solange mir nicht jemand eine dementsprechende Variante zeigt.
Parent - By Max Siegfried Date 2024-03-30 14:24
Kann man Stockfish in einem speziellen MultiPV=2 Modus laufen lassen, in dem Stockfish auf einem Rechner mit 16 oder 64 echten Kernen, einen Kern durchgehend nur für die Mattsuche verwendet?
15 + 1 bzw. 63 +1 Kerne, quasi so als hätte man Stockfish + Matefish gleichzeitig am laufen, aber in einer Engine.
So bleibt alles im RAM und Stockfsh kann aufgrund der dort befindlichen Informationen handeln.
Wobei Stockfish nur dann die Bewertung von Matefish prüft, wenn die Bewertung von Matefish etwas gefunden hat, wie ein Matt oder eine Bewertung die mindestens +1.00 besser ist als bei Stockfish?

Oder würde die Möglichkeit bestehen Stockfish und Matefish, da beide fast gleich sind, gleichzeitig laufen zu lassen und Stockfish auf alle Daten im RAM zugreifen zu lassen?
Wobei Stockfish so lange an seiner Variante rechnet, bis Matefish eine spürbar höhere Bewertung anzeigt, wie Matt in 20 im Mittelspiel, die Stockfish wahrscheinlich in Millisekunden vom Matt zurück bis zur Ausgangsvariante prüfen könnte.
Parent - By Peter Martan Date 2024-03-30 15:21 Edited 2024-03-30 15:24 Upvotes 1
Natürlich könnte, wenn die in der Chest.epd angegebe DTM ev. nicht stimmt, auch die Lösung falsch sein. Sting bevorzugt 1.De6, mit etwas Forward- Backward mit Huntsman bekomme ich dann nach diesen ersten 5 Zügen

2r1b1Q1/6p1/2P5/5P2/1p2K3/pPp5/n2P4/1B2k3 w - - 0 1
1. Qe6 Bf7 2. Qxc8 cxd2 3. Bc2 Nc3+ 4. Ke3 d1=Q 5. Bxd1 Kxd1

diesen Output nach wieder längerem Forward- Backward:


Analysis by The Huntsman 1:

6.c7 Kc2 7.Qb7 a2 8.Qa6 Kb2 9.c8Q a1Q 10.Qxa1+ Kxa1 11.Qf8 Bh5 12.Kd3 Kb2 13.Qxb4 Na2 14.Qb7 Nc1+ 15.Kd2 Nxb3+ 16.Kd3 Be2+ 17.Kxe2 Kc3 18.Qxg7+ Kc4 19.Ke3 Nc5 20.Qd4+ Kb5 21.Qd5 Kb6 22.f6 Na6 23.f7 Nc7 24.Qd6+ Kb5 25.Qxc7 Ka4 26.f8Q Kb3 27.Qfb8+ Ka3 28.Qca7#
Depth: 64/46 00:01:08 3919MN

Sorry für die englischen Abkürzungen, das kommt, weil ich das gerade im Talkchess auch gepostet habe und noch dieselben Einstellungen im GUI.
Parent - By Peter Martan Date 2024-03-28 10:55 Upvotes 1
Nachdem ich erst durch Jörg aufmerksam gemacht wurde, dass verschiedene GUIs den Zug- Zähler im Fen- String nicht korrekt interpretieren, kannst du das erste Antwort- Posting ignorieren.
Was ich jetzt nur noch ein bisschen mit früheren Fischen probiert hab', das Problem hatte SF 11 (war der älteste, den ich probier hab'), auch schon.
Parent - By Armin Jungblut Date 2024-03-28 11:05 Upvotes 1
Ich verwende Hiarcs Pro Mac

Um unabhängig der GUI zu sein jetzt auch ein Test mit command-line.

Huntsman 2023
Terminal
Pfad Engine
./Huntsman-2023-150723-M1-clang-pgo-aj
position fen 2k5/2N5/N2N2N1/2N1N3/8/8/8/4K3 b - - 117 14
d                                 => Kontrolle Stellung
go                                
info time 8 multipv 1 depth 245 seldepth 3 score mate -1 nodes 12839 nps 1604875 hashfull 0 tbhits 0 pv c8d8 c5e6
bestmove c8d8 ponder c5e6

Stockfish
Terminal
Pfad Engine
./stockfish-16-240320-clang17-aj
position fen 2k5/2N5/N2N2N1/2N1N3/8/8/8/4K3 b - - 117 14
d                                 => Kontrolle Stellung
go                

info depth 245 seldepth 2 multipv 1 score cp 0 nodes 245 nps 61250 hashfull 0 tbhits 0 time 4 pv c8d8
bestmove c8d8
Up Topic Hauptforen / CSS-Forum / False evaluations for positions with multiple knights

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill