Das ist eine Studie von Benno Pal, das ist der Lösungsweg:
Event:
Ort:
Datum:
Weiss:
Schwarz:
Ergebnis
Board
Was man hier aber unterscheiden muss: dass das von LC0 und Ceres "aus den falschen Gründen" gelöst wird, hat nichts mit dem GUI zu tun, mit dem man nur den ersten Zug bewerten lässt. Zumindest nicht nur damit und es muss kein Bug vom GUI dahinter stecken, es hat Gründe, die in der Engine bzw. in der Art, wie sie mit der Stellung umgeht, begründet sind.
Die Output- Lines, die ich nach jeweils ca. 1 Minute Rechenzeit gezeigt habe, sind, wie Robert erörtert hat, von Zügen nach dem 8. falsch (beim 10. warum ich den 8 erwähe, kommt noch), aber mehr als das an best moves in einer Output- Line zu verlangen, das ist schon viel verlangt.
Was man hingegen, wie du richtig geschrieben hast, verlangen müsste in dem Fall, wäre, dass es die Engine Zug um Zug richtig ausspielt, leider tut sie (tun sie, wenn man Ceres und LC0 gesondert betrachtet) das auch nicht (immer). Nicht im Selfplay und nicht (immer) gegen SF, wobei es auf die Bedenkzeit ankommt und von welcher Stellung im Verlauf der Lösungsvariante man ausgeht.
Ich habe mir den Spaß gemacht und sowohl Ceres als auch LC0 bei 25'+5" allein ausspielen zu lassen, da bin ich aber vom jeweils letzten noch korrekten Zug (bzw. einer auch noch zum Matt genügenden Abzweigung) ausgegangen aus der Output- Line.
8.Kd2 statt Kd3, das kann noch zur richtigen Lösung umstellen, ist also im Output noch nicht nachweisbar falsch.
Obwohl bei erreichtem 6Steiner das GUI sogar auch auf sie (die tbs) zugreifen konnte, haben es da sowohl Ceres als auch LC0 (in jeweils einzelnen Versuchen) geschafft, ins Remis zu tappen.
Bei Ceres könnte man der Engine zugute halten, dass sie vielleicht einen tbs- Bug hat, glaube ich aber gar nicht mehr, mir scheint eher, dass sie nur die hits immer noch nicht anzeigt, aber wie auch immer, Ceres habe ich dann außen vor gelassen und noch 2x LC0 gegen SF mit 45'+15" ausspielen lassen.
Die eine Partie, wieder von 8.Kd2 ausgehend, hat LC0 noch einmal in den Sand (ins Remis) gesetzt, hingegen von der Ausgangsstellung der Studie aus hat's endlich fürs Matt gereicht.
Ich habe hier alles Partien in eine .pgn zusammengefügt, damit man's so gemeinsam im GUI anschauen kann, was wozu gehört, ist in den Kommentaren enthalten:
[Event "Stellung ausspielen (Ceres96, Schnellsc"]
[Site "?"]
[Date "2006.??.??"]
[Round "?"]
[White "Pal, Benno"]
[Black "White to play and win"]
[Result "1/2-1/2"]
[Annotator "Martan,Peter"]
[SetUp "1"]
[FEN "q7/7R/k7/1p6/1p6/1P2B3/7K/8 w - - 0 1"]
[PlyCount "43"]
1. Bd4 Qb8+ 2. Kh1 Qa8+ 3. Kg1 Qg8+ 4. Rg7 Qb8 5. Kg2 Qa8+ 6. Kf2 Qb8 7. Ke3
Qe8+ 8. Kd3 (8. Kd2 {Ceres- Output} Qb8 (8... Qa8 9. Kc1 Qh1+ 10. Kb2 Qh2+ 11.
Kb1 Qh1+ 12. Ka2 Qh2+ 13. Ka1 Qh1+ 14. Ka2 Qh2+ 15. Ka1 {0.01/5} Qh1+ {0.00/3}
16. Bg1 {0.00/2} Qh8 {0.00/3} 17. Bd4 {0.00/2} Qh1+ {0.00/1 Ceres outplay}) 9.
Kc2 Qh2+ 10. Kb1) 8... Qb8 9. Rg6+ Ka5 10. Rg1 Ka6 11. Rg7 Qa8 12. Rf7 Qb8 13.
Kc2 Qa8 14. Kb2 Qg2+ (14... Qb8 15. Ka2 Qa8 16. Ra7+) 15. Bf2 Qa8 16. Rh7 Qb8
17. Bd4 Qa8 18. Ka1 {#129/1 0} Qb8 {#26/102 59 0.06;#40: '(Ka5)'} (18... Ka5 {
#129/1} 19. Ra7+ {#128/1} Qxa7 {#128/1} 20. Bxa7 {#127/1} Ka6 {3/1} 21. Bc5 {
2/0} Ka5 {2/1} 22. Kb1 {1/0} Ka6 {1/1} 23. Bxb4 {2/1} Kb6 {2/0} 24. Be7 {1/0}
Kc7 {1/0} 25. Bc5 {1/0} Kb7 {1/0} 26. Kc2 {1/0} Kc6 {1/0} 27. Ba3 {1/0} Kb6 {
1/0} 28. Be7 {1/0} Kc6 {1/0} 29. Ba3 {1/0} Kd5 {1/0} 30. Kc3 {1/0} Kc6 {1/0}
31. Kd4 {1/0} Kb6 {1/0} 32. Kd5 {1/0} Kb7 {1/0} 33. Kc5 {1/0} Ka6 {1/0} 34. Bb4
{1/0} Kb7 {1/0} 35. Kxb5 {2/1} Kc7 {2/0} 36. Bc5 {1/0} Kb7 {1/0} 37. Bd6 {1/0}
Ka7 {1/0} 38. Kc6 {1/0} Ka8 {1/0} 39. Bb8 {1/1} Kxb8 {1/1} 40. b4 {1/0} Ka8 {
1/0} 41. Kb6 {1/0} Kb8 {1/1} 42. Kc6 {1/0} Ka8 {1/0} 43. Kb6 {1/0} Kb8 {1/1}
44. Kc6 {1/0 LC0 outplay}) 19. Rh6+ {#128/1 0} Ka5 {#25/97 110} 20. Rh8 {#127/
1 0} Qb7 (20... Qd6 {#24/97 126 (Dxh8)} 21. Ra8+ {#124/1 0} Qa6 {#23/70 0} 22.
Rxa6+ {#123/1 0} Kxa6 {#22/69 0} 23. Bf2 {2/0 0 (Lc5)} Kb7 {2/0 0} 24. Be1 {1/
0 0} Kb6 {1/0 0} 25. Bxb4 {2/1 0} Kb7 {2/0 0} 26. Bc5 {1/0 0} Kc6 {1/0 0} 27.
Bf8 {1/0 0} Kd7 {1/0 0} 28. Bc5 {1/0 0} Ke8 {1/0 0} (28... Kd8 {1/0 0} 29. Kb2
{1/0 0} Kc7 {1/0 0} 30. Kc3 {1/0 0} Kd7 {1/0 0} 31. Bg1 {1/0 0} Kc8 {1/0 0} 32.
Kb4 {1/0 0} Kc7 {1/0 0} 33. Kxb5 {1/1 0} Kb7 {1/0 0} 34. Kc4 {1/0 0} Ka6 {1/0 0
} 35. b4 {1/0 0} Kb7 {1/1 0} 36. Be3 {1/0 0} Ka8 {1/0 0} 37. Kc5 {1/0 0} Kb7 {
1/0 0} 38. Bf4 {1/0 0} Ka7 {1/0 0} 39. Kc6 {1/0 0} Ka8 {1/0 0} 40. Bb8 {1/1 0}
Kxb8 {1/1 0} 41. Kb6 {1/1 0} Kc8 {1/0 0} 42. Kc6 {1/0 0} Kb8 {1/0 0} 43. Kb6 {
1/1 0} Kc8 {1/0 0} 44. Kc6 {1/0 0} Kb8 {1/0 0 Remis angenommen 1/2-1/2 (48)
Lc0 v0.29.0-dev+git.fe0c87a-Stockfish 100222 DESKTOP-9QB5AU4 2022 [0.06;#40]})
29. Kb2 {1/0 0} Kd7 {1/0 0} 30. Kc3 {1/0 0} Kc7 {1/0 0} 31. Bf2 {1/0 0} Kd6 {
1/0 0} 32. Kd4 {1/0 0} b4 {2/1 0} 33. Be1 {1/0 0} Kc6 {1/0 0} 34. Bxb4 {2/1 0}
Kb5 {2/0 0} 35. Bc5 {1/0 0} Ka6 {1/0 0} 36. Kc4 {1/0 0} Kb7 {1/0 0} 37. b4 {1/
0 0} Ka8 {1/0 0} 38. Kb3 {1/0 0} Kb7 {1/0 0} 39. b5 {1/0 0} Ka8 {1/0 0} 40. Kb4
{1/0 0} Kb7 {1/0 0} 41. Bg1 {1/0 0} Kb8 {1/0 0} 42. Kc5 {1/0 0} Kc7 {1/0 0} 43.
Kd5 {1/0 0} Kb8 {1/0 0} 44. Kc6 {1/0 0} Kc8 {1/0 0} 45. Bd4 {1/0 0} Kd8 {1/0 0}
46. b6 {1/0 0} Ke7 {1/0 0} 47. b7 {1/0 0} Ke6 {1/0 0} 48. b8=Q {4/1 0} Kf5 {4/
1 0} 49. Qe5+ {3/0 0} Kg4 {3/0 0} 50. Qe4+ {2/1 0} Kg3 {2/0 0} 51. Bg1 {1/1 0}
Kh3 {1/1 0} 52. Bh2 {1/1 0} Kxh2 {5/1 0} 53. Qg6 {4/0 0} Kh1 {4/0 0} 54. Kd5 {
3/1 0} Kh2 {3/1 0} 55. Ke4 {2/1 0} Kh1 {2/0 0} 56. Kf3 {1/1 0} Kh2 {1/1 0} 57.
Qg2# {1/1 0 1-0 (67) Lc0 v0.29.0-dev+git.fe0c87a-Stockfish 100222
DESKTOP-9QB5AU4 2022 [0.08;152.43]}) 21. Rh2 Ka6 22. Ra2# 1/2-1/2
Ich interpretiere das alles so: LCO (und Ceres) braucht (brauchen) hier viel Rechenzeit im Standrechnen und im game play, den Remis- Fallen im follow up auszuweichen, obwohl sie den richtigen Lösungszug finden. Wenn man sich anschaut, wie langsam diese NN- Engines werden, wenn sie in tbs- nahe Stellungen kommen und oder ein Matt anrechenbar wird, sieht man, wie schwer sie sich mit solchen Stellungen an und für sich tun. Drum gurken sie zeitweise ja auch immer noch im Endspiel rum statt den kürzesten Weg zu gehen im game playing.
Das wird aber, wie du auch schreibst, Lothar, schon "einfach" der MCTS- artigen Suche geschuldet sein, komodo weiß schon auch, warum er im MCTS- Modus auf A-B umschaltet, wenn die Stellungen nach sicher gewonnen oder verloren "ausschauen" für die Engine.
Zu der einzelnen Stellung in der einzelnen Test- Suite würde ich sagen, will man nicht riskieren, dass die beiden Engines je einen Punkt einfahren, den sie "nicht wirklich verdienen" hier, muss man die Stellung rausnehmen, dass das "aus falschen Gründen" gelöst und damit als nicht gelöst bewertet wird, kann man von keinem GUI verlangen, wenn die Engine die vorgeschriebene Rechenzeit lang den richtigen Lösungszug oben hat, (wenn Banksia sich in dieser Hinsicht fragwürdig verhält, ist das ein ähnliches aber anderes Problem) Evals sind kein Bewertungskriterium (was ich zeitweise bedauere, aber das ist ein anderer Thread
).
Ich persönlich gönne den beiden NN- Engines diese einen fragwürdigen Zähler (vielleicht, vielleicht auch nicht, je nachdem wie sie sich beim weiter Ausspielen je nach Gegner und Hardware-Zeit verhalten), auch wenn sie ihn wahrscheinlich nicht verdienen. Hier sind wir bei einem prinzipiellen Entscheidungskriterium von Stellungstests, wie auch immer man sie macht (weil das übrigens nämlich auch wieder für Teststellungen ganz allgemein gilt, egal, ob es (Eröffnungs-)Teststellungen sind, die fürs Eng-Eng-Match gedacht sind, siehe .pgn oben, oder für single best move Suiten):
Will man mehr Selektivität oder mehr Sensitivität der Stellungen, dass die meisten (Stellungen) für die meisten Engines (die man miteinander vergleicht) (zu) schwer sind, dann zählen natürlich einzelne richtige statistisch umso mehr, die error bar wächst aber relativ zur Gesamtzahl der Punkte, oder dass die meisten zu leicht sind, dann bekommt man mehr "Remis", bei genau dieser Entscheidung steht man (immer schon aber) heutzutage mehr und mehr gerade auch bei den Eröffnungsstellungen, von denen aus man Eng-Eng aufsetzt, mehr Vorteil einer Seite aus der Eröffnung heraus heißt weniger Remis aber mehr 1:1- Paare, was die error bar auch wieder steigert, die Remis sind ja, was die error bar angeht, ein Segen, 10 Remis ohne ganzen Punkt und sie ist ebeno 0 wie bei 100 oder 1000 Remis, man hat halt als Ergebnis nur das unbeliebte "gleichstark" als Ergebnis. Das alles aber wieder nur so dazugesagt, weil's halt in der letzten Zeit ein (mein) Thema für sich war und ist (mal wieder).
Hingegen wäre das hier einfach eine Teststellung, die man optimaler Weise nicht nur anhand des ersten Zuges beurteilen sollte, und das allerdings aber natürlich auch nicht nur im Stellungstest, sondern überhaupt nicht, weil man sich sonst leicht auch als Mensch über gelöst oder nicht gelöst irren könnte. (Dazu hat sich's der Autor der Studie ja auch so ausgedacht, um eigentlich Menschen, nicht primär Maschinen, in die Irre zu führen, nicht um zu zeigen, wie leicht das gewonnen ist.)
Man sollte optimaler Weise bei allen Stellungen, die man mit und ohne Engines beurteilen will, mehr als den ersten Zug allein anschauen, nämlich immer genau mindestens so viele Züge der Abspiele, bis wirklich Klarheit herrscht, aber diese Binsenweisheit muss vielleicht auch nicht wirklich gerade ich immer wieder zum Besten geben. "Richtige" oder "falsche" "Evals" sind schon Zweck der ganzen Übung, auch bei Menschen hätte man gern, wenn sie sich eine Weile in eine Stellung vertieft haben, dann nicht nur Züge, sondern auch ein zu erwartendes Ergebnis, wenn eine Engine also mit einer Reihe richtiger Züge in einem Abspiel und einem dann irgendwann entlang dieser Line falschen, durch den die Eval Schmarrn wird, dann darf man ihr das vorwerfen, wenn man's selber besser weiß, das Entscheidungskritierium wäre einerseits die Eval, andererseits die Länge der richtigen bzw. falschen Variante im Zusammenhang mit dieser Bewertung, das gilt jetzt wieder für Menschen und Maschinen gleichermaßen.
So what regards