Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Typischer Analysefehler (old news)
- - By Michael Scheidl Date 2014-08-21 16:18
Zwar rufe ich nur ein bekanntes Problem in Erinnerung, aber das Stellungsbeispiel ist besonders plakativ, gefunden im CCC:

http://talkchess.com/forum/viewtopic.php?t=53370

Es geht darum daß manche Engines im Analysemodus nach unlogischen Zugfolgen felsenfest daran glauben, daß der Gegner einen Schwachsinnszug wiederholen wird, und deswegen einen Verlustzug "propagieren".


Man ziehe nun im Analysemodus 1.Da7+?? Kf8 2.Da5 (der Test muß natürlich ohne Endspieltables gemacht werden).

Folgende Übeltäter schlagen 2...Ke7?? mit Remisbewertung vor: Stockfish 290714, Gull 3, Komodo CCT, Quazar 0.4, Tornado 5 beta... wer noch alles? Das muß ja wirklich nicht sein meine Herren.
Parent - - By Kurt Utzinger Date 2014-08-21 20:36
Hallo Michael

Interessante Stellung. Bei mir gehören Deep Hiarcs 14 WCSC und Critter 1.6a 64-bit
nicht zu den Übeltätern.

Mfg Kurt
Parent - - By Michael Scheidl Date 2014-08-21 21:04 Edited 2014-08-21 21:08
Ja, es gibt mehrere lobenswerte Engines die das korrekt behandeln, soweit ich feststellen kann u.a. Deep Fritz 13, Fire 3.0, Houdini 1.5a, Shredder 12 SE (der diesen Unsinn schon lange nicht mehr macht)...

Weiterer Übeltäter Rybka 232a.

Das ist eines der kleinen, feinen Details die bei ausschließlichem Blick auf Eloranglisten eventuell nicht wahrgenommen werden. Bei mir bekommt eine Engine die solchen Blödsinn macht, einen dicken Minuspunkt.

Eigentlich müßte ja reichen, unerzwungene Stellungswiederholungen nahe der Wurzel auszuschließen (die allgemeine Effektivität der vereinfachten Methode in den gigantischen Suchbäumen leuchtet mir ein).
Parent - - By Roland Riener Date 2014-08-21 23:10
Weitere Übeltäter sind SmarThink, Don, Naum, Hannibal und auch die 4er Deep Rybkas.

Sodann Suche abgebrochen.
Parent - By Horst Sikorsky Date 2014-08-22 11:41
die Engine sind Schlau!!
wehr zu dumm ist zu gewinnen, dem zeige ich das nicht
Parent - - By Kurt Utzinger Date 2014-08-22 14:50
Hallo Michael
Ist davon auszugehen, dass Stocki diesen Fehler auch in einer
ausgespieltend Partie machen würde?
Mfg Kurt
Parent - - By Michael Scheidl Date 2014-08-22 15:48
Davon gehe ich aus, wobei er aber kaum mit Zügen wie Da7+?? konfrontiert sein wird mit dem hier das Unheil begann...
Parent - By Benno Hartwig Date 2014-08-22 16:10
So krass wird es nicht sein.
In einem Spiel gegen einen Menschen kann ich mir aber schon vorstellen, dass die Engine in eine ziemlich schlechte Phase gerät, in der ein Gegner dann aber ein für ihn gutes Abspiel übersieht. Die Engine kann sich ggf. dadurch retten. Etwas später hat sie aber die Wahl zwischen zwei Zügen
z1: führt zu dieser Stellung, in der der Gegner eben gepatzt hatte
z2: führt zu einer neuen Stellung, die nur geringfügig nachteilig für die Engine ist

Es ist dann ggf. keine gute Idee, z1 zu wählen. Der Gegner überlegt diesmal ggf. genauer. z2 hält aber noch gute Chancen offen.
Aber die Engine wertet ggf. fix, einfach und schlecht:
"z1: Wert=0
z2: Wert=-0,05
Dann mache ich doch lieber z1"

Und das Maleur ist ggf. da.

Und es könnte verhindert werden, wenn die Engine auch diese Wiederholungsstellung zumindest ein Stück weit analysiert, oder wenigstens noch mal im Hash nachsieht.

OK, dann wäre immer noch zu entscheiden, welcher Wert dann gegeben werden soll für z1, wenn die Engine eben 2 Fakten erkennt:
a) "meine ausgefeilte Bewertung sagt, dass die Stellung recht schlecht ist: -2,00"
b) "mein Gegner hat diese Stellung aber auch schon mal auf dem Brett gehabt, und der nach seinem Urteil beste Zug konnte ihm aber beim ersten Durchlauf keinen Vorteil bringen!"
Welcher Wert wäre dann ganz konkret für diesen Zug angemessen? Beides sollte wohl irgendwie eingehen.
Und diese Bewertung ist halt notwendig, damit dieser Zug gegen Alternativzüge konkret abgewogen werden kann.

Benno
Parent - - By Benno Hartwig Date 2014-08-22 12:53 Edited 2014-08-22 12:56
Schöne Stellung.
Wenn eine Engine die Wahl hat zwischen zwei Zügen
z1: der führt zu einer Stellung, in der meinem Gegner schon mal nichts Vernünftiges eingefallen war, wo ich also wenigstens hoffen darf, dass das so bleibt,
    wenngleich ich nicht weiß, ob er nicht doch auch vernichtende Züge in Petto hat, die er nun nehmen könnte
z2: der zu einer Stellung führt, die ich tatsächlich ausgeglichen oder Remis bewerte

dann sollte gern z2 gezogen werden
und es sollte gern auch gezielt nach solch einem z2 gesucht werden.

Wie bewerten die Engines denn im Multivariantenmodus die Alternativen zu 2... Ke7?
Auch als 0? oder schlechter als 0?

Benno
Parent - - By Peter Martan Date 2014-08-22 14:26
Benno Hartwig schrieb:

Wenn eine Engine die Wahl hat zwischen zwei Zügen
<code>z1: der führt zu einer Stellung, in der meinem Gegner schon mal nichts Vernünftiges eingefallen war, wo ich also wenigstens hoffen darf, dass das so bleibt,
    wenngleich ich nicht weiß, ob er nicht doch auch vernichtende Züge in Petto hat, die er nun nehmen könnte
z2: der zu einer Stellung führt, die ich tatsächlich ausgeglichen oder Remis bewerte</code>
dann sollte gern z2 gezogen werden
und es sollte gern auch gezielt nach solch einem z2 gesucht werden.

Wie bewerten die Engines denn im Multivariantenmodus die Alternativen zu 2... Ke7?
Auch als 0? oder schlechter als 0?


5k2/5b2/8/Q3K3/8/2r5/8/8 b - - 0 1

Analysis by Stockfish 020814 64 SSE4.224:

1. =  (0.00): 2...Ke7
2. =  (0.28): 2...Te3+ 3.Kf4 Tb3 4.Da6 Ke7 5.Da7+ Kf8 6.Dd7 Tb1 7.Dd6+ Kg7 8.Dd4+ Kg8 9.Df2 Kg7 10.De2 Lg6 11.De5+ Kg8 12.De6+ Kh7 13.Dd7+ Kh6 14.Dh3+ Kg7 15.Dc3+ Kh7 16.Ke3 Tb5 17.Kd4

Der Witz ist ja aber, Benno, dass der "zweite Zug", von dem du sprichst, hier einfach ein böser Irrtum ist, 2...Te3 ist Remis, dass das ohne tbs nicht lupenrein als solches erkannt wird, ok, aber dass der Turm einem offenbar eigens einprogrammierten "Stellungswiederholungshoffungspatch" geopfert wird, so dass der engine dadurch mutwillig die Chance genommen wird, noch etwas näher hineinzurechnen und sofort das bevorstehende Matt zu erkennen und das für die paar Elo, die das bringen kann, wenn ich den thread im CCC dazu richtig interpretiere, das find ich schon ein starkes Stück.
Parent - By Benno Hartwig Date 2014-08-22 14:49
Ja, die Logik bei Stellungswiederholungen ist hier wohl einfach zu simpel.

Wenn sie verbessert würde, wenn wenigstens mit kleinerer Tiefe auch noch mal geguckt würde was passieren kann, wenn man in einer Wiederholung geht (hier Ke7), dann wäre die Engine wohl irgendwie schöner, aber das Spiel gegen Engines würde dadurch ggf. nicht erfolgreicher. Dann hält sich ggf. die Motivation in Grenzen.

Obwohl:
Gegen Menschen mag das sogar wirklich was bringen, auch wenn das etwas Zeit (und damit zunächst mal auch Spielstärke) kostet. Denn ein Mensch kann ja auch gut beim ersten Mal eine Chance übersehen haben, und die Engine sollte gern überlegen, ob sie dem Menschen solche Chancen noch ein weiteres Mal bietet. Der kann beim zweiten Mal was anderes finden.
Und auch eine Engine, die in einer Wiederholungsschleife steckt, weiß nun auch, dass diese Schleife so zu nichts führt und könnte gezielt nach erfolgversprechenden Ausbrüchen suchen. Und sie finden.

Benno
Parent - - By Jörg Oster Date 2014-08-22 14:55
Wer möchte, kann sich gerne von hier https://github.com/joergoster/Stockfish/tree/analyzing die Sourcen herunterladen und selber kompilieren.
Das ist ein Zweig, den ich pflege, in dem ich u. a. den 3-fold repetition patch, eine verbesserte null-move verification search und etwas Endspielwissen (nicht spielrelevant) hinzugefügt habe. Außerdem kann man in dieser Version den Null-Move abstellen. Seit gestern. 

Gruß, Jörg.
Parent - By Peter Martan Date 2014-08-22 15:16
Danke Jörg, lauter sehr heiße Eisen bei Stockfish (und natürlich nicht nur bei ihm), finde ich, die du da aufzählst. Ich kann nur hoffen, es macht jemand für mich (das Kompilieren), selbst wenn's da ja auch so einen build-your-own- Weg bei Stocki gibt, das selbst Kompilieren fang ich mir auch nicht mehr an auf meine alten Tage, fürchte ich.
Parent - - By Kalle Wirsch Date 2014-08-22 18:29
Danke Jörg,

da es ja einige... Files sind hätte ich gerne gewusst wo du das zusätzliche Endspielwissen untergebracht hast.

MfG

Kalle
Hidden post (unapproved)
- By 2phil4u not at home Date 2014-08-22 11:05
Das ist ja wirklich der Hammer, das hätte ich nie gedacht, dass die engines nach einer Stellungswiederholung, wie sich auch in praktischen Partien oft vorkommen, bsp um Zeit zu gewinnen, davon ausgehen, dass sich das ganze wiederholt und nicht in der Lage sind den Fehler des Gegners (nicht Ausnutzen eines Gewinnzuges) durch einen anderen Zug zu einem remis zu führen.

Vielleicht liegt es daran, dass der 1. Zug so schlecht war und bereits im 1. Zug geschlagen werden kann, vielleicht passiert das bei Gewinn über 3 und mehr Züge nicht, aber ich finds schon hart, wie Stocki hier freiwillig seinen Turm opfert.
Up Topic Hauptforen / CSS-Forum / Typischer Analysefehler (old news)

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill