Gibt es eine Schachengine mit einem Analysemodus, der anzeigen kann, ob eine Position von beiden Seiten erzwungen wird?
Es ist üblich, dass Motoren Auswertungen von 0,0 ausgeben, wenn sie ein Unentschieden erkennen. Eine Bewertung von 0,0 kann jedoch viele Dinge bedeuten. Angenommen, es ist weiß, um sich zu bewegen, kann eine Bewertung von 0,0 bedeuten:
- Das Spiel ist sicherlich ein Unentschieden, unabhängig davon, wie einer der Spieler spielt (z. B. unzureichendes Material).
- Beide Spieler können ein Unentschieden erzwingen. Keiner der Spieler kann hoffen zu gewinnen, wenn sein Gegner perfekt spielt.
- Unabhängig davon, welche Bewegung Weiß spielt, ist der Computer zu 100% sicher, dass Schwarz ein Unentschieden erzwingen kann, wenn er dies wünscht. Weiß kann nicht hoffen zu gewinnen, wenn Schwarz perfekt spielt. Ein Unentschieden ist das wahrscheinlichste Ergebnis, aber eine tiefere Suche könnte zeigen, dass Schwarz einen Sieg erzwingen kann.
- Der Computer ist zu 100% sicher, dass Weiß ein Unentschieden erzwingen kann, wenn er dies wünscht. Schwarz kann nicht hoffen zu gewinnen, wenn Weiß perfekt spielt. Ein Unentschieden ist das wahrscheinlichste Ergebnis, aber eine tiefere Suche könnte zeigen, dass Weiß einen Sieg erzwingen kann.
- Der Computer hat für beide Seiten kein erzwungenes Unentschieden gefunden, aber die Bewertung ist bisher genau gleich. Ein Unentschieden ist das wahrscheinlichste Ergebnis, aber eine tiefere Suche kann später einen Vorteil für eine Seite zeigen.
Um nur ein Beispiel zu geben, wann dies nützlich sein könnte, wenn Weiß nicht gewinnen muss und nur so sicher wie möglich sein möchte, ein Unentschieden zu erzielen, ziehen sie es möglicherweise vor, einen Zug mit der Bewertung +0,0 und einem bekannten erzwungenen Unentschieden zu spielen obwohl ein weiterer Schritt mit einer höheren Bewertung verfügbar ist.
Ein anderes Beispiel ist, dass Sie, wenn Sie einen Gewinn benötigen (dh ein Unentschieden ist genauso schlimm wie ein Verlust), möglicherweise einen Zug mit einer leicht negativen Bewertung spielen möchten, um zu vermeiden, dass Ihr Gegner die Möglichkeit hat, ein Unentschieden zu erzwingen. Dies erhöht zwar Ihre Verlustchance, aber auch Ihre Gewinnchance.
Offensichtlich gibt es Positionen, in denen es schwierig oder unmöglich ist, sicher zu sein, ob eine Zwangsziehung verfügbar ist oder nicht. Wenn der Motor jedoch ein erzwungenes Ziehen ankündigt, muss es möglich sein, ein Ziehen zu erzwingen. Falsch negative Ergebnisse sind akzeptabel, es sollten jedoch keine falsch positiven Ergebnisse vorliegen.
Zusammenfassend möchte ich für eine bestimmte Position wissen, ob einem (oder beiden Spielern) ein erzwungenes Unentschieden zur Verfügung steht. Die Berechnung der numerischen Bewertung der Position ist nicht erforderlich, aber wenn dies gleichzeitig zur Verfügung steht, ist dies ein Bonus.
Antworten:
Die kurze Antwort auf Ihre Frage lautet Nein . Es gibt keine Schachmaschine, die zuverlässig anzeigen kann, ob eine Seite ein erzwungenes Unentschieden hat. Zum Beispiel ist diese verriegelte Position ganz klar ein Anziehungspunkt für das menschliche Auge:
Beachten Sie jedoch, dass die Bewertung 0,17 und nicht 0,00 beträgt . Houdini gibt auch 0,05 - ganz gut für Weiß. Dies ist sehr wichtig. Dies deutet darauf hin, dass die Bewertung von 0,00 von diesen Programmen aus einem bestimmten Grund reserviert wird, und tatsächlich ist dies der Fall. Grundsätzlich wird der Computer selbst in einer "gleichen" Position niemals sagen, dass die Punktzahl 0,00 beträgt , sondern der einen oder anderen Seite eine winzige Kante geben.
Also vor diesem Hintergrund zu den Einzelheiten! Erstens, wenn das Spiel aufgrund der Position nur ein Unentschieden ist (z. B. Patt, unzureichendes Material usw.), zeigen die meisten GUIs eine Meldung mit der Aufschrift "Game Drawn" oder etwas in diesem Sinne an. Damit bleiben die komplizierteren Fälle, die Sie in Ihrer Frage erwähnt haben. Um die meisten davon abzudecken, werde ich eine andere Position vorstellen. Dies ist aus Morphy-NN 1-0, New Orleans Blindfold Simul entnommen:
Beachten Sie, dass Morphy derzeit einen Partner in 6 hat, beginnend mit
18.b4+!
. Wenn Morphy jedoch irgendwie versäumte, dass dies ein Partner war, hatte er immer noch ein erzwungenes Ziehen durch Wiederholung, was der Computer schnell sieht. Durch Erhöhen der Anzahl der Variationen, die der Computer anzeigt, ist es möglich zu sehen, dass Weiß nach einem Spiel wie18.Qxc3+?
Weiß immer noch ein Unentschieden erzwingen kann, obwohl es einen Turm und ein Stück hinunter ist. Die Bewertung von 0,00 weist uns erneut darauf hin, dass dies eine besondere Position ist, da der Computer eine fortwährende Prüfung berechnen kann. Wenn die Bewegungen18.Qxc3+? Kxd5
auf dem Brett ausgeführt werden, beträgt die Bewertung 0,00 , was darauf hinweist, dass die beste Fortsetzung von Weiß darin besteht, ein Unentschieden zu erzwingen. Wenn Sie dies nicht tun, verlieren Sie das Spiel mit dem besten Spiel.Zusammenfassend kann also kein vorhandener Motor mit exakter Sicherheit sagen, dass eine Position ein Unentschieden ist. Die Bewertung von 0,00 ist jedoch etwas Besonderes. Wenn dies entweder als Hauptpunktzahl oder als Punktzahl für eine Variation angezeigt wird, bedeutet dies, dass in dieser bestimmten Linie wahrscheinlich ein Unentschieden erzwungen wird. Der einfachste Weg, dies zu überprüfen, wird spielerisch als "Leertaste-Analyse" bezeichnet - wenn der Benutzer die Leertaste immer wieder drückt, um den Computer zu zwingen, den empfohlenen Top-Zug auszuführen. Schließlich gelangen Sie zu einer Position, die sowohl für den Menschen als auch für die Maschine offensichtlich ist.
Und schließlich, um Ihren Punkt über "Verachtung" anzusprechen.
Dies wird unter Schachprogrammierern ganz einfach als Verachtung bezeichnet. Bei den meisten Engines können Sie den Grad der Verachtung in den Einstellungen festlegen. Eine positive Verachtung (100 ist normalerweise ein angemessenes Niveau für die Analyse) weist den Motor an, sich ziemlich anzustrengen (der Wert eines Bauern), um ein Unentschieden zu vermeiden. Eine negative Einstellung führt dazu, dass der Motor einen erzwungenen Zug anstrebt (dh unzureichendes Material, Patt oder unbefristet).
quelle
So wie Motoren an bestimmten Punkten einen erzwungenen Partner sehen können, der einige Züge entfernt ist, weil genügend Linien erzwungen werden, damit der Motor in der verbleibenden Tiefe bis zum Partner alles perfekt sehen kann, gibt es auch Kreuzungen in Schachspielen, die einen ermöglichen Motor, um ein erzwungenes Unentschieden zu sehen, aus dem gleichen Grund, um die begrenzten Möglichkeiten im Spiel vollständig überblicken zu können.
Darüber hinaus wäre es einfach, die Bewertungsfunktion eines Motors zu optimieren, um Bewegungen zu suchen und zu bevorzugen, die zu solchen erzwungenen Zügen führen: Ebenso wie das Erreichen eines Partners typischerweise einen enormen Wert erhält, der alle anderen numerischen Faktoren des Bewertungsalgorithmus des Motors in den Schatten stellt Um das Spiel des Motors zum endgültigen Ziel zu führen, könnte man stattdessen einen so enormen numerischen Wert für das Erreichen einer der Arten von Ziehungen angeben, die ich mir vorgestellt habe.
Bewerten Sie beispielsweise automatisch jede Position, in der der Gegner nicht genügend Material hat, um sich als +1000000 zu paaren. Wenn der Motor dann jemals die Möglichkeit hat, so viel Material des Gegners abzuschieben, wird er Sie darüber informieren. Passen Sie außerdem den Bewertungsalgorithmus an, um eine dreifache Wiederholung als +1000000 anstelle der üblichen 0 zu bewerten. Wenn es dann zu einer erzwungenen Wiederholung kommt (wie in einem Szenario mit fortwährender Überprüfung), wird die Engine sie lieben und Sie darüber informieren . Geben Sie in ähnlicher Weise +1000000 an, wenn Sie eine Tischbasisziehung gewaltsam erreichen können.
Sie können auch sicherstellen, dass der Motor diese Bewertungen nur dann abgibt, wenn die vollständige Gewissheit besteht, dass die Ziehungen tatsächlich erzwungen werden (da der Baum zwischen hier und dort vollständig überprüft werden konnte), genau wie bei einem Motor, der keinen Partner ankündigt, es sei denn ist sicher. Sie erhalten also keine falsch positiven Ergebnisse, obwohl es natürlich viele falsch negative Ergebnisse gibt, die Sie in Ihrer Frage vernünftigerweise / unbedingt zulassen.
quelle