Die Regeln des Schachs lernen

11

Eine ähnliche Frage stellt sich die Frage , ob ein Computer lernen kann, im Schach optimal zu spielen, indem er Tausende von Spielen analysiert.

Wenn eine Maschine zu Beginn und nach jedem Zug den Zustand des Bretts für ein paar Schachspiele (oder ein paar Dame-Spiele) überprüfen kann, kann sie so programmiert werden, dass sie die Spielregeln lernt?

Wenn dies möglich ist, in welchem ​​Umfang (z. B. wäre es in der Lage, eine Rochade oder Beförderung zu erklären), würde dies funktionieren? Welche Algorithmen für maschinelles Lernen würden dies ermöglichen?

Yktula
quelle
3
Die Maschine sollte in der Lage sein, einen Zustand zu erreichen, in dem sie sagen kann: "Ich habe diese Bewegung ausgeführt gesehen, daher gehe ich davon aus, dass ich sie unter ähnlichen Umständen ausführen kann." Ob dies "Lernen der Regeln" bedeutet, ist fast eine philosophische Frage. ;)
täuschen
@deceze Nun, du hast nicht ganz recht. Wenn man die Regeln lernt, bedeutet dies, dass man in der Lage ist, den Zug angesichts des Layouts zu machen, das dem Programm noch nie zuvor passiert ist. Ansonsten lernt man nicht die Regeln, sondern merkt sich die Bewegungen.
2
@Max Würde der Computer in der Lage sein, Bewegungen korrekt auszuführen, die er noch nie zuvor gesehen hat? Sagen wir, der Ritter hat viele Male zwei vorwärts und eins zur Seite bewegt, aber niemals zwei zurück, eins zur Seite. Wie kann es sicher sagen, welche Regeln für die Bewegung von Rittern gelten? Vielleicht gibt es eine spezielle Klausel in den Regeln, die besagt, dass "Ritter sich nicht zurückbewegen können, sondern nur vorwärts" (genau wie Bauern). Daher scheint es unmöglich, Regeln mit Sicherheit abzuleiten. Das gilt so ziemlich auch für Menschen.
Täuschung
8
@Max In der Tat, es könnte eine unendliche Anzahl von Regeln, der Computer nicht kann ableiten . On the 8th turn the knight may not turn right. On a sunny day the pawns may jump over bishops.Der Computer kann nicht sagen, warum sich dieser Bauer in einer bestimmten Runde nicht bewegt hat. Vielleicht gab es eine Regel dagegen, die sich unter diesen besonderen Umständen bewegte. Daher sollte der Computer nur in der Lage sein, ähnliche (tatsächlich exakte) Muster zu reproduzieren, aber niemals in der Lage sein, die Regeln mit 100% iger Sicherheit abzuleiten .
Täuschung
@deceze Ja, das kann es, wenn du ihm diese Regel irgendwie gezeigt hast. Genauso wie Sie dem Menschen die Regeln beibringen müssen (z. B. ihm den Ausdruck der zu lesenden Regeln geben), müssen Sie diese Regeln der Maschine irgendwie zur Verfügung stellen. Der einfachste Weg ist, ALLE Regeln in einigen Spielen zu wiederholen, damit die Maschine sie lernen kann. Gleiches gilt für Menschen - Menschen werden das nicht wissen, On a sunny day the pawns may jump over bishops.wenn Sie ihm das nie gezeigt haben.

Antworten:

10

Wenn eine Maschine zu Beginn und nach jedem Zug den Zustand des Bretts für ein paar Schachspiele (oder ein paar Dame-Spiele) überprüfen kann, kann sie so programmiert werden, dass sie die Spielregeln lernt?

Sicher nicht für ein paar Schachpartien; Sie müssten unglaublich viele davon analysieren, um zu verhindern, dass ungültige Züge ausgeführt werden. Wie viel weiß ich nicht; Dieses Problem gehört zum Bereich der rechnergestützten Lerntheorie, des PAC-Lernens und des Problems der Lernfähigkeit im Grenzbereich .

Die von den anderen Postern vorgeschlagenen Klassifizierungsalgorithmen können möglicherweise Schachregeln diskriminierend lernen: Bei zwei Board-Setups können sie die Frage, ob ein gültiger Zug einen in den anderen verwandelt, mit "Ja" oder "Nein" beantworten. Mit etwas Aufwand können sie auch zum Generieren von Zügen verwendet werden. Sie generieren dann jedoch entweder nur Züge, die sie in Spielen gesehen haben, in denen sie trainiert wurden, oder sie generieren eine Kombination aus gültigen und ungültigen Zügen, wobei jeder eine Punktzahl angibt, wie wahrscheinlich sie den fraglichen Zug mit ungültigen Regeln betrachten hoffentlich sehr kleine Wahrscheinlichkeiten.

(Das heißt, entweder würde das Programm einige gültige Züge, die ihm zur Verfügung stehen, nicht erkennen, oder Sie könnten betrügen, ohne dass es es bemerkt, oder Sie müssten es so lange trainieren, dass Sie jegliches Interesse am Spiel verlieren.)

Informationen zu Techniken, mit denen Regeln erlernt werden können, finden Sie unter Induktive Logikprogrammierung und genetische Programmierung . Ich bin mir nicht sicher, ob jemals jemand versucht hat, sie auf das Schachlernen anzuwenden. Da die Schachregeln festgelegt sind, ist es (auch für die Wissenschaft) viel interessanter, gute Schachspielprogramme zu erstellen, als solche, die die Grundregeln von Grund auf lernen müssen.

Fred Foo
quelle
4

Die Schachregeln sind ziemlich komplex und einige werden in einem Spiel sehr selten ausgeführt.

Zum Beispiel die en passant Regel. Wie viele Spiele müssen Sie beobachten, um daraus zu schließen, dass nur der erste Zug nach dem zweistufigen Vorwärtszug zulässig ist ?

Ein anderes Beispiel. Das B-Quadrat kann in langen Burgen angegriffen werden. Wie viele Spiele sehen Sie, wo dies passiert?

Mit anderen Worten, Sie benötigen viele, viele, viele Spiele, um alle Regeln korrekt abzuleiten.

Aber vielleicht findet Google "bald" eine Ecke seiner Cloud für ein vollständiges Archiv von Schachspielen ...


quelle
"Das B-Quadrat kann in langen Burgen angegriffen werden" Was ist das für ein Zug? Kannst du es mir erklären oder verlinken?
CaffGeek
@chad, auch Castling Queenside genannt - die Notation "0-0-0" wird verwendet. Es sind nur die drei Felder, die die Könige "berühren", die möglicherweise nicht angegriffen werden.
2
Außerdem kann das D-Quadrat nicht angegriffen werden, wenn die Königin besetzt wird (oder das F-Quadrat, wenn die Königin besetzt ist) . Sie können auch nicht burgieren, nachdem Sie Ihren König bewegt haben. Woher solltest du wissen, dass etwas nicht getan werden kann , indem Spiele beobachtet werden, bei denen es nicht getan wurde? Wie Lars erwähnt, könnte der Computer Wahrscheinlichkeiten zuweisen, dass ein Zug gültig ist, aber die Feststellung dieser spezifischen Regel durch Beobachtung von Spielen ist nahezu unmöglich.
BlueRaja - Danny Pflughoeft
Es gab auch Spiele, sogar von Großmeistern in einem Turnier, in denen die Regeln gebrochen wurden und keiner der Spieler es bemerkte! Gemäß den Turnierregeln ist das Spiel gültig und wird fortgesetzt, wenn keiner der Spieler innerhalb von 10 Zügen etwas bemerkt. (Ich erinnere mich sehr gut an ein Spiel, bei dem ein Großmeister seinen König bewegte, ihn dann zurückzog und später besetzte. Ich kann ihn jetzt jedoch nicht finden.)
BlueRaja - Danny Pflughoeft
1
en passant ist selten genug , aber es gibt einige Zwänge Draw Regeln, die FAR seltener. Ich spiele seit 40 Jahren und habe noch nie ein Spiel gesehen, bei dem man aus 50 Zügen ohne Bauernzüge und ohne Eroberungen ein erzwungenes Unentschieden ziehen könnte. Ich denke, es gibt noch eine solche Regel, an die ich mich nicht einmal erinnere. In der Praxis werden die Spieler einem Unentschieden zustimmen, bevor sie aufgerufen werden. (Sie existieren, um sicherzustellen, dass Sie eine gezogene Position nicht "gewinnen" können, indem Sie sie
herausziehen
2

Ja und nein

Ich bin mir nicht sicher, ob Sie fragen, ob es möglich ist, die Schachregeln mithilfe von maschinellem Lernen / neuronalen Netzen zu lernen, oder ob es möglich ist, eine Schachmaschine auf "Großmeister" -Ebene damit zu trainieren.

Sie können einem Computer sicherlich die Regeln und ein gewisses Maß an Schach beibringen, indem Sie diese verwenden. Ich glaube jedoch nicht, dass Sie es damit auf ein höheres Niveau bringen können. Die Informatik hat es bisher nicht geschafft, eine Maschine zu entwickeln, die Schach aus einer positionellen / intuitiven Sicht "verstehen" kann. Alle aktuellen Schachcomputer verwenden eine umfangreiche Datenbank, Brute-Force-Berechnungen und möglicherweise ein maschinelles Lernen.

Vermutlich hängt es davon ab, ob Sie die Verwendung einer Referenzdatenbank als Betrug betrachten oder nicht :) Außerdem ist es schwer zu wissen, ob Sie tatsächlich wissen können, dass viele Spiele gut darin sind. Menschen, die gut im Schach sind, sind gerade deshalb gut, weil sie so viele Spiele gesehen haben, auf die sich der Teil des Gehirns bezieht, von dem normalerweise bekannt ist, dass er Gesichter erkennt. Aus dieser Erinnerung geht hervor, dass menschliche Schachspieler in der Lage sind, eine "Intuition" für die Stärke einer Position zu entwickeln.

Homde
quelle
Die besten Großmeister merken sich riesige Eröffnungsbücher und das wird nicht als Betrug angesehen. Und trotzdem kommt es immer wieder vor, dass das, was einst als gute Eröffnungsvariante galt, von einer neuen Idee zerstört wird. Daher ist der "Cheat" beim Spielen von Buchzügen möglicherweise nicht einmal die optimale Art und Weise, wie ein Computer spielt.
Kevin
2

Wie viele der Kommentare gesagt haben, ist dies fast eine philosophische Frage, die die Definition von "lernen" diskutiert. Die meisten Programme für künstliche Intelligenz beruhen auf der Bestimmung rationaler Lösungen. Wenn genügend Daten vorhanden sind, bestimmt ein Lernschach-Ai-Programm eine Liste von Zügen, die in bestimmten Situationen rational sind. Dies bedeutet nicht, dass es die Schachregeln kennt, sondern lediglich versteht, welche Züge von Vorteil sind und welche nicht. Selbst wenn der Datensatz Spieler enthält, die illegale Züge ausführen, führt der illegale Zug zu einem sofortigen Verlust, sodass das ai ihn ignoriert und diesen Zug niemals verwendet, da er niemals von Vorteil ist.

Es spielt keine Rolle, ob neuronale Netze oder evolutionäre Algorithmen oder irgendeine andere Art von Lernalgorithmus verwendet werden, ein ai kann niemals explizit Regeln aus dem Betrachten von etwas lernen, es kann nur eine Liste von rational vorteilhaften Optionen bestimmen.

SC Ghost
quelle
2

Wenn Sie sich die Schachregeln als die Physik-Engine des Spiels und die Gesetze der Physik als die permanenten und unbeugsam akzeptierten Regeln des Universums vorstellen, dann denken Sie darüber nach, wie wenige tatsächliche "Gesetze" es in unserem natürlichen Universum gibt. Es ist EXTREM schwer, wenn nicht unmöglich, eine harte und schnelle REGEL zu machen, aber wir können zu einem bestimmten Zeitpunkt eine Reihe von getesteten und akzeptierten Theorien aufstellen.

Es könnte möglich sein, anzunehmen, dass der Computer Bewegungen beobachtet und protokolliert, aber KEINE Aussagen über gültige Bewegungen direkt macht.

Zum Beispiel würde es beobachten, wie sich ein Bauer um ein Feld vorwärts bewegt und neue Hypothesen aufstellt, dass sich alle Teile nur um ein Feld vorwärts bewegen können und ein anderer, dass sich ein Bauer nur um ein Feld vorwärts bewegen kann. Es werden so viele restriktive Hypothesen wie möglich aufgestellt, bis der nächste Schritt erfolgt und einige von ihnen von uns geworfen oder liberaler gemacht werden können.

Nach so vielen Zügen werden Sie schließlich eine Reihe solider Theorien haben, aber es wird ein lebender Datensatz sein, der sich permanent 0 nähert, ihn aber nie erreicht.

Die Antwort ist also, dass ein Computer eine wirklich gute Vermutung anstellen könnte, aber die Regeln (BEARBEITEN: NICHT) mit Sicherheit kennt.

maple_shaft
quelle
1

Theoretisch - ja, das kann es. Es kann sogar ein Großmeister im Schach werden. Die Antwort, die Sie suchen, sind neuronale Netze . Neuronale Netze sind im Wesentlichen dasselbe, was in unserem Gehirn passiert. Darüber hinaus kann es angesichts des perfekt (lesbar - unglaublich perfekt) gestalteten neuronalen Netzwerks und einer perfekten Hardware alles lernen, was ein Mensch auf die gleiche oder sogar bessere Weise lernen kann.

Lesen Sie mehr darüber:

bezmax
quelle
2
Diese "Antwort" ist nur eine Reihe von Wikipedia-Links, von denen zwei dasselbe Konzept beschreiben, von denen einer extrem weit gefasst ist und einer nichts mit dem vorliegenden Problem zu tun hat. Bitte zeigen Sie, wie eine Kohonen-Karte verwendet wird, um die Schachregeln effektiv zu lernen.
Fred Foo
1
ANN und NN sind nicht annähernd so komplex wie ein tatsächliches Neuron / menschliches Gehirn, ein ANN ist bestenfalls eine schreckliche grobe Annäherung.
Darknight
"In Theorie, Theorie und Praxis sind sie gleich, in der Praxis jedoch nie." Schachprogramme können wie Großmeister gespielt werden, aber ich glaube nicht, dass dies an neuronalen Netzen oder maschinellem Lernen liegt. Die meisten guten Programme verwenden umfangreiche Eröffnungsbücher, Endgame-Tabellen und eine erste Tiefensuche ("Negamax mit Alpha-Beta-Bereinigung") sowie eine wahrscheinlich sehr komplizierte Bewertungsfunktion (die höchstwahrscheinlich mit Hilfe von Großmeistern geschrieben wurde).
Kevin
Neuronale Netze können nur lernen, wozu sie ausgebildet sind. Schach hat einige Regeln, die sehr selten angewendet werden, aber Teil des Spiels sind. Wäre es legal, zum Bischof aufzusteigen? Wäre es legal, zum König aufzusteigen?
2
Ha ... die Beförderung zum König macht Schachmatt etwas schwieriger!
Kevin
1

Ich denke, es kann die Bewegungen lernen, die es machen darf, nur durch Analyse, aber wie würde es die Bewegungen lernen, die es nicht machen darf? Zum Beispiel scheint sich der Bauer niemals um ein Feld vorwärts zu bewegen, wenn sich eine gegnerische Figur davor befindet. Woher weiß der Computer, ob dies nach Wahl des Spielers erfolgt oder nicht. Sie können einen Algorithmus entwickeln, der besagt, dass wenn 99,99% der Zeit oder mehr ein Ereignis nicht eintritt, dies bedeutet, dass Sie dies nicht tun dürfen, aber es könnte auch sein, dass 99,99% der Zeit als a betrachtet werden schlechter Zug, aber in 0,01% der Fälle ist es der Zug, der das Spiel gewinnt. Meine Antwort lautet also nein, es kann nicht alle Regeln einfach durch Analysieren von Spielen lernen, aber es kann wahrscheinlich genug lernen, um ein Spiel zu spielen.

Dunk
quelle
1

Dies ist eine philosophische Frage. Sie können auch fragen, ob eine Person lernen kann, Schach zu spielen, indem sie Menschen beobachtet, während sie Schach spielen. Tatsächlich ist es im Grunde die gleiche Art von Frage, die Nelson Goodman in seinem großartigen Buch Fact, Fiction and Forecast stellt : Wie können wir von einer endlichen Menge bereits gemachter Beobachtungen zu einer Vorhersage zukünftiger Beobachtungen übergehen? Die bereits gemachten Beobachtungen wären die bisher beobachteten Schachzüge und die zukünftigen Beobachtungen wären alle Schachzüge, die noch nicht stattgefunden haben. Die Frage ist, gibt es eine nomologische Beziehung zwischen vergangenen Beobachtungen und zukünftigen Beobachtungen (im Gegensatz zu der rein kausalen Beziehung zwischen vergangenen Ereignissen und zukünftigen Ereignissen)?

Wenn wir das Wort nomologisch wie durch ein Naturgesetz oder eine Logik interpretieren und nichts jemals gegen dieses Gesetz verstoßen kann, dann gibt es sicherlich keine solche Beziehung, da die erste Person, die eine Burg diagonal bewegt, das Naturgesetz brechen würde und das Universum, wie wir es kennen, würde zusammenbrechen.

Aber selbst wenn tatsächlich durch einen ungewöhnlichen Naturunfall jeder Zug, den ein Schachspieler auf der Welt von nun an machen würde, gültig wäre (niemand würde jemals Fehler machen oder versuchen zu betrügen und sogar Menschen ahnungslos über die Schachregeln würde anfangen, Schachfiguren zufällig über die Tafel zu schieben, aber aus Versehen immer nach den Regeln), was uns nicht davon überzeugen würde, dass es ein Naturgesetz (oder ein Gesetz der Logik) gibt, das all dies erzwingt. Wir würden es als rein zufällig betrachten.

Ähnliches hat Ludwig Wittgenstein in seinen Philosophischen Untersuchungen behandelt . Er besteht darauf, dass jede Reihe von Beobachtungen willkürlich vielen und sogar widersprüchlichen Regeln entspricht. Wenn zum Beispiel alle von mir beobachteten Schachspiele am Nachmittag stattgefunden hätten, könnte meine Regel am Nachmittag sein, dass der Bischof nur diagonal bewegt werden kann . Dass die Tageszeit für das Spiel unwichtig ist, konnte ich nicht beobachten, da ich zu verschiedenen Tageszeiten keine Schachspiele beobachtet habe. Oder wenn ich noch nie eine Frau beim Schachspielen beobachtet habe, könnte die Regel lauten, dass der Bischof überhaupt nur von Männern bewegt werden kann. Was für eine Beobachtung relevant ist und was nicht, wird als Voraussetzung für die Beobachtung bestimmt und kann nicht Teil der Beobachtung selbst sein.

Übrigens: Wittgensteins Lösung des Problems ist der von Goodman ziemlich ähnlich. Ich werde die Überraschung jedoch nicht verderben;-)

Nachtrag:

In den Tagen, als Sussman ein Neuling war, kam Minsky einmal zu ihm, als er am PDP-6 hackte.

"Was machst du?", Fragte Minsky. "Ich trainiere ein zufällig verdrahtetes neuronales Netz, um Tic-Tac-Toe zu spielen", antwortete Sussman. "Warum ist das Netz zufällig verdrahtet?", Fragte Minsky. "Ich möchte nicht, dass es Vorurteile darüber gibt, wie man spielt", sagte Sussman.

Minsky schloss dann die Augen. "Warum schließt du deine Augen?" Fragte Sussman seinen Lehrer. "Damit der Raum leer ist." In diesem Moment war Sussman erleuchtet.

Pillmuncher
quelle
-4

Nein

Weil das einfache Lernen von Mustern (über welche Methode auch immer) nicht dasselbe ist wie "Lernen, Schach optimal zu spielen".

Dies erfordert Planung und Strategie, was sich stark vom bloßen Lernen von Mengenmustern unterscheidet.

Dunkle Nacht
quelle
1
Das weißt du eigentlich nicht; Außerdem stellt sich die Frage, ob es möglich ist (für einen Computer, aber die gleichen Einschränkungen würden wahrscheinlich auch für Menschen gelten), die tatsächlichen Schachregeln nur durch Analyse von Beispielspielen zu lernen.
tdammers
1
Ich denke, Sie haben die Frage falsch verstanden ...
maple_shaft
Nach der Arbeit (Masterarbeit) mit AI (Neuronale Netze) bin ich mir ziemlich sicher, dass dies nicht möglich ist. Wenn Sie keine Beweise haben, um etwas anderes zu sagen, können Sie nicht einfach sagen "Sie wissen das nicht"
Darknight