Kann Ihnen eine Schachengine sagen, warum ein Zug schlecht oder gut ist?

8

Kann Ihnen eine Schachengine sagen, warum ein Zug schlecht oder gut ist? Angenommen, eine Schachengine sagt, dass die Punktzahl gegen meinen Gegner derzeit +2 zu meinen Gunsten beträgt. Ich mache dann einen Zug und meine Punktzahl sinkt auf 1,4. Kann mir irgendein Motor sagen, was ich falsch gemacht habe, so dass meine Punktzahl von 2 auf 1,4 gesunken ist (vorausgesetzt, ich habe kein Stück oder Bauern usw. aufgehängt)?

Es scheint mir, dass es sinnlos ist, wenn Schachprogrammierer ihre Programme noch stärker machen, und es wäre für den durchschnittlichen Schachspieler viel vorteilhafter, wenn sie uns von ihren Programmen anweisen lassen könnten, warum ein Zug schlecht (oder gut) ist, vorausgesetzt, sie können dies derzeit nicht mach das.

Randy Minder
quelle
5
Es könnte vorteilhafter sein, zu verstehen, warum ein Zug gut oder schlecht ist.
Tony Ennis

Antworten:

7

Irgendwie (aber nicht wirklich) - und es wird für Motoren tatsächlich schwieriger , dies für Sie zu tun. Um zu verstehen, warum, müssen Sie verstehen, wie die Bewertung verläuft. Motoren können in der Regel Schnellauswertungen an einer bestimmten Position vornehmen und ihr einen Rohpunktwert geben. Unabhängig von der Position spielen sie dann vorwärts und versuchen, die Linie nach vorne zu finden, die diese Punktzahl für beide Seiten optimiert.

Es ist wichtig zu verstehen, dass die Punktzahl '2.0' oder '1.4' nicht die Bewertung / Punktzahl für die aktuelle Position ist. Stattdessen bewegt sich die Bewertung N auf der ganzen Linie, wobei jede Seite den besten Zug spielt, den die Engine gefunden hat. Aus diesem Grund springt der "Aktuelle Bewertungswert" herum, während der Computer nachdenkt. Es ist nicht so, dass sich die 'Punktzahl' für eine Position geändert hat - es ist nur so, dass eine andere Linie gefunden wurde, die sich vorwärts bewegte und an einer anderen Position endete (die eine andere Punktzahl hatte).

In der Vergangenheit saugten Motoren. Nicht nur wegen suboptimaler Algorithmen, sondern auch wegen sehr langsamer Hardware - wenn Sie Zinseszinsen für mächtig halten, ist dies nichts im Vergleich zu Moores Gesetz . Computer blickten damals also nur ein paar Schritte in die Zukunft. Das machte es für einen Menschen relativ einfach, der Logik zu folgen - Ihre Punktzahl ging zurück, weil Sie in der nächsten Runde Ihren Ritter verlieren.

Aber jetzt? Wenn Ihre Punktzahl von '2.0' auf '-0.3' gestiegen ist, ist es möglich, dass Sie aufgrund einiger unvermeidbarer Taktiken in den nächsten 7 Zügen den Austausch aufgeben müssen, um zu vermeiden, dass Sie Ihre Königin verlieren oder schachmatt werden . Aber es ist schwer, den Sprung von "Hier ist die Position jetzt" und "Nun, ich habe in Zukunft 20 Milliarden Positionen bewertet und vertraue mir, wenn ich sage, dass Sie den Turm für ihren Bischof geopfert haben, war das Beste, auf das Sie hoffen konnten."

Kevin
quelle
4

@D_M erwähnte Chessmaster, berichtet jedoch nur über sehr einfache statische Funktionen wie:

  • Deine Königin wird angegriffen
  • Sie verlieren einen Bauern in der Computerzeile
  • Sie gewinnen einen Austausch in der Computerleitung

Weißt du warum Chessmaster das getan hat? Das liegt daran, dass die Implementierung einfach war.

Kann mir irgendein Motor sagen, was ich falsch gemacht habe, so dass meine Punktzahl von 2 auf 1,4 gesunken ist (vorausgesetzt, ich habe kein Stück oder Bauern usw. aufgehängt)?

NEIN . Chesmaster kann das nicht. Das kann keine Software. Wir haben nicht die Technologie, um das zu tun. Herkömmliche Motorprogrammiertechniken können das nicht.

Um das zu tun, was Sie beschreiben, benötigen wir fortgeschrittene Modelle für Mathematik / maschinelles Lernen. Mir ist so etwas nicht bekannt.

SmallChess
quelle
Aber ... meine Version von Chessmaster DID ging über das reine Material hinaus und erzählte dem Benutzer von Positionsüberlegungen. Vielleicht hatten Sie eine frühere Version? Und selbst wenn Sie mir aus irgendeinem Grund nicht über Chessmaster glauben, ist es eindeutig möglich , mit der aktuellen Technologie zu arbeiten, da wir derzeit tatsächlich Algorithmen haben, die Positionen basierend auf Dingen wie Raum und Bauernposition bewerten. Motoren wären viel schwächer, wenn sie nur Material betrachten würden.
DM
@D_M Nein. Ich bin ein erfahrener Motorenentwickler, ich weiß wovon ich spreche. Es ist möglich, nichts ist unmöglich. Wir haben Sonden in den Weltraum geschickt, es ist natürlich möglich, eine intelligentere Schachmaschine zu bauen. Aber wir haben jetzt nicht.
SmallChess
@D_M Welche Positionsüberlegungen erwähnen Sie in Chessmaster? Ausgaben ausgeben?
SmallChess
Unter chess.com/forum/view/general/chessmaster9 gab es eine Beispielausgabe, wenn Sie nach unten scrollen. "Durch diese Spielweise wird Ihr Angriffspotential erhöht. Außerdem wird die Entwicklung Ihrer Bauern etwas verbessert." Das ist so ziemlich die Ausgabe, an die ich mich erinnere. Ich würde Ihnen selbst weitere Beispiele geben, wenn Windows 10 meine alte Chessmaster 9000-CD ausführen könnte (oder wenn das CD-Laufwerk auf meinem alten Computer nicht defekt wäre)
DM
Ich habe hier eine andere gefunden: chess.com/forum/view/chess-equipment/… "Als Ergebnis dieser Spiellinie gewinnen Sie einen Bischof und einen Bauern. Außerdem wird die Beweglichkeit Ihrer Figuren erheblich verbessert, und die von Schwarz Die Mobilität wird verringert. Außerdem ist die Bauernformation von Schwarz etwas gestört. Schließlich wird der Druck auf den König von Schwarz etwas erhöht und der Druck auf Ihren König wird leicht verringert. "
DM
1

Zusätzlich zu anderen Antworten bewerten Motoren Positionen wie Menschen nicht, sodass sie keine gute Erklärung dafür liefern können, warum sie Ihren Schritt für minderwertig halten (Betonung auf sie denken, nicht unbedingt).

Sie können jedoch mithilfe von Motorvorschlägen den Seitenlinien folgen und verstehen, warum diese minderwertig waren. Zumindest mache ich das so.

Könnte es einen Motor geben, der das kann? Ich denke ja, aber aus geschäftlicher Sicht ist wahrscheinlich ein undurchführbar großer Aufwand notwendig.

ferit
quelle
Wenn Sie sich die Bewertungsfunktion von Schach-Engines ansehen, würde ich sagen, dass sie Positionen ähnlich wie Menschen bewerten. Der Unterschied besteht darin, dass Computer in der Lage sind, viele Positionen in verschiedenen Zeilen schnell zu bewerten, während sich ein Mensch mehr auf Erfahrung / allgemeine Prinzipien verlässt.
user1583209
1

Ich denke, die Schachengine kann es Ihnen "sagen", aber auf indirekte Weise.

Ich würde mehrere verschiedene Züge von derselben Position aus spielen. Die Schach-Engine gibt Ihnen (vermutlich) für jede eine andere Punktzahl.

Auf diese Weise können Sie die verschiedenen Züge "ordnen". Vielleicht entsteht ein Muster. Wenn nicht, möchten Sie vielleicht einen (stärkeren) menschlichen Spieler dazu bringen, Ihnen die Rangliste der Schachmaschine zu erklären.

Tom Au
quelle
1

Ja, ich habe Programme gesehen, die versuchen zu erklären, warum ein Zug in der Sprache gut oder schlecht ist. Chessmaster 9000 würde dies tun.

Viele Motoren zeigen Ihnen die beste Linie für jede Bewegung. Es kann Ihnen also sagen, dass wenn Sie g6 spielen, erwartet wird, dass das Spiel f5 gxf5 Sxf5 wird, während wenn Sie b6 spielen, erwartet wird, dass das Spiel a5 bxa5 Bxa5 geht. Oft kann man von dort aus sehen, warum der Umzug gut oder schlecht war. Aber manchmal ist es immer noch sehr subtil.

Hier gibt es ein Tool , mit dem Sie eine Position eingeben können und das Ihnen genau sagt, warum Stockfish die Position so bewertet, wie sie es tut. Es funktioniert nur für eine statische Position (es schaut überhaupt nicht nach vorne), aber es ist immer noch interessant.

DM
quelle
Wie verwende ich dieses Tool? Es scheint wie ein HTML-Dokument. Wie kann man es öffnen und damit interagieren?
Santropedro
Persönlich habe ich es heruntergeladen und dann die Datei per Drag & Drop in einen Browser gezogen.
DM
0

Nein. Obwohl der von allen erwähnte Schachmeister Ihnen einige grundlegende Dinge sagen kann, z. B. ob die folgende Zeile zu einem Tauschopfer führt oder Sie einen Bauern verlieren und so weiter.

Sie können dies aber auch selbst analysieren, indem Sie die Zeilen herunterspielen. Es gibt keine Schach-Engines und ich sehe in naher Zukunft keine, die erklären können, warum der Zug gut / schlecht ist, es sei denn, er kostet Sie einen wesentlichen Unterschied. Da ein Motor möglicherweise einen Zug gespielt hat, um seine Position in der Zukunft zu verbessern, etwa nach 50 Zügen. Es kann Ihnen auf keinen Fall erklären, warum dieser Zug nach 50 Zügen zu einer besseren Position führt.

Auch große Schach-Engines auf dem Markt wie Stockfish usw. machen sich nicht einmal die Mühe, solche Funktionen aufzunehmen, bei denen die Level-Schach-Engines völlig anders sind und sehr schwer zu analysieren sind, selbst wenn wir eine Erklärung für jeden Zug erhalten.

prog_SAHIL
quelle
Der Schachmeister sagte Dinge wie "Durch diese Spielweise wird Ihr Angriffspotential erhöht. Außerdem wird die Entwicklung Ihrer Bauern etwas verbessert" oder so etwas und beschränkte sich nicht nur darauf zu sagen, ob Sie gewinnen würden oder nicht Material verlieren. Zumindest meine Version.
DM
0

Die Motorbewertung ("2" / "1,4") ist in der Tat sehr ähnlich der Bewertung eines Menschen durch einen Menschen. Es handelt sich im Grunde genommen um eine Summe verschiedener Faktoren wie Material , Königssicherheit , Stückaktivität usw., die nicht für die aktuelle Position, sondern für die Position bewertet werden, die ungefähr 20 Schritte voraus ist. vorausgesetzt, perfektes Spiel von beiden Seiten.

Im Prinzip könnte man versuchen, die Änderung all dieser Faktoren separat zu überwachen (anstatt nur deren Summe wie bei Motoren). Wenn beispielsweise ein Zug später zu einem niedrigeren Wert für "Königssicherheit" führt als der beste Zug, könnte man versucht sein, dem Lernenden etwas zu sagen wie: Ihr letzter Zug hat Ihren König anfälliger gemacht

Ich bezweifle jedoch, dass dies in tatsächlichen Spielen funktionieren würde, weil:

  • Der Zug des Lernenden könnte tatsächlich andere Probleme haben: Zum Beispiel könnte er die Entwicklung vernachlässigen und nur aus diesem Grund muss der Spieler später Zugeständnisse in Bezug auf den Schutz seines Königs machen (unter der Annahme des besten Spiels).
  • Viele Faktoren können sich gleichzeitig ändern, einige steigen, andere fallen zum Beispiel. Der Versuch, dies in Worten auszudrücken, kann umständlich sein, z. B.: Ihr letzter Zug hat die Sicherheit des Königs vernachlässigt, aber die Aktivität Ihres Stücks verbessert, und Sie haben einen Bauern verloren, aber eine offene Datei belegt. Wären diese Informationen für einen Lernenden hilfreich?

Aus diesem Grund bezweifle ich, dass Computer Ihnen zumindest mit der aktuellen Technologie das positionelle oder intuitive Spielen (basierend auf Prinzipien) beibringen können. Verwenden Sie lieber klassische Methoden wie andere Menschen, lesen / sehen / hören Sie kommentierte Spiele usw.

user1583209
quelle