Schlechte Stockfischbewertung

15

Das ist die Studie

NN - NN

Wie Sie sehen können, gibt Stockfish einen absolut entscheidenden Gewinn für Schwarz, obwohl es eindeutig ein Unentschieden ist !!

Überzeugen Sie sich selbst

c4 + ist ein Verlustzug, während Ba4 + der richtige ist.

Was ist los? Nicht Stockfisch berücksichtigen Positionen geschlossen überhaupt ?

William Kinaan
quelle
5
Es gibt viele Positionen, die Stockfish nicht richtig einschätzt (einschließlich einiger gängiger Endspiele).
Qudit
10
Es passiert die ganze Zeit! Es ist ein Stück Software, kein Gott
David
4
Es würde mich sehr freuen, ein Szenario in einer ähnlichen Art zu sehen, das von AlphaZero oder Leela Zero völlig falsch bewertet wird!
links um ca. 08.07.19 Uhr
1
@ Qudit: Ja. Ich habe nur darauf hingewiesen, dass sich die Frage genau auf diesen Aspekt konzentrieren sollte, anstatt von der gegebenen Position auszugehen. Entschuldigung, wenn ich das nicht klargestellt habe.
TonyK
3
@leftaroundabout Leela misevaluiert auch ständig Festungen, siehe zB das Ende dieses Spiels von TCEC Sufi: cd.tcecbeta.club/archive.html?season=15&div=sf&game=31 . Tatsächlich misevaluiert Leela wahrscheinlich sogar mehr als Stockfish, da es ziemlich oft eine Nicht-Null-Bewertung gibt, während Stockfish stoisch 0,00 anzeigt, und es dauert Ewigkeiten, bis Leela merkt, dass der Gegner ihn nicht gewinnen lässt.
Allure

Antworten:

25

Stockfisch ist keine perfekte Schachfigur, und Sie haben eine Position gefunden, bei der es sich nicht um ein Unentschieden handelt (zumindest, bis die 50-Züge-Regel einsetzt und dabei hilft, es zu beschneiden). Diese Stellungen nennt man " Festungen ". Sie können feststellen, dass dies der Fall ist, da Stockfish die endgültige Position auch bei Eingabe der Lösung mit -10 oder mehr bewertet. Diese Festungspositionen, in denen Stockfisch absolut falsch ist, gibt es nur wenige, aber es gibt sie, und dies ist eine davon.

Es hat verschiedene Versuche gegeben, Festungserkennungscodes in Stockfish und andere konventionelle Motoren zu schreiben, die dazu gedacht sind, Festungen zu erkennen und Stockfish davon abzuhalten, auf sie zuzugehen, wenn ihre Position überlegen ist. Wenn Sie eine clevere Idee haben, können Sie diese wahrscheinlich in einem wissenschaftlichen Journal veröffentlichen (siehe Veröffentlichungen im Schachprogrammierungs-Wiki).

Locken
quelle
11

Es ist hilfreich zu verstehen, dass Motoren nicht wirklich von der "Strategie" abgehen, da sie mehrere Züge in die Zukunft blicken, die Punktzahl der Position auswerten und den optimalen Zugsatz finden.

Die große Schwäche dieses Ansatzes ist, dass der Motor Probleme bekommt, wenn nichts schnell passieren kann. Dies war früher ein großes Problem bei Endspielen. Wenn Sie ein K + B + P gegen K + P haben, lösen Sie diese Position nicht in wenigen Zügen auf. Die Lösung bestand also darin, den Engines Endgame-Tabellenbasen hinzuzufügen. Berechnen Sie einfach jede Endgame-Position im Voraus und fügen Sie sie als Bibliothek für die Engine hinzu. (Aus diesem Grund können Sie in den meisten billigen Schach-Apps einen Gewinn erzielen, indem Sie das Endspiel überleben: weil es keine Endspiel-Tabellenbasis hat.)

Aber Ihre Position wird (verständlicherweise) in keiner Endspiel-Datenbank enthalten sein. Der Stockfisch muss also Millionen von Positionen ausspielen, die sich über 10 erstrecken, und bewegt sich in die Zukunft. Es können definitiv keine ~ 56 Züge für den vollständigen Entscheidungsbaum gespielt werden - das ist es, was nötig ist, um ein endgültiges Unentschieden zu bestimmen.

Kevin
quelle
0

Die anderen Antworten decken diese Frage gut ab, aber es ist interessant, dass nicht alle Programme verstehen, dass dies ein Unentschieden ist. Ich habe dies an meinen Computer angeschlossen und als ChessBase Premium-Mitglied habe ich auch Zugriff auf Cloud-Engines.

Eine dieser Cloud-Engines bewertete dies fast augenblicklich als Unentschieden. Ich wünschte nur, es gäbe mehr Informationen als nur "New Engine".

Bildbeschreibung hier eingeben

PhishMaster
quelle