Soweit ich verstehe, scheint es, dass vor dem Umzug alle starken Schach-Software
- untersucht Tausende oder Millionen von möglichen zukünftigen Positionen;
- bewertet jede zukünftige Position gemäß einer Heuristik, die als Bewertungsfunktion bezeichnet wird;
- wertet jede zukünftige Position separat auf Ruhe aus, um zu entscheiden, ob Fortsetzungen von der Position aus untersucht werden sollen;
- wählt aus den verfügbaren Zügen nach Minimax; und
- verwendet ein Eröffnungsbuch.
So weit, ist es gut. Die Stärke eines Schachprogramms scheint jedoch hauptsächlich von der Qualität seiner Auswertungs- und Ruheheuristik abhängig zu sein - und auch von seinem Eröffnungsbuch, das aus der Sicht des Computers eine weitere Heuristik darstellt. Ein solches Schachprogramm weiß anscheinend nur genau so viel über das Spiel wie der Mensch, der die Heuristiken erstellt hat. Das Programm scheint keine eigenen Einsichten zu haben.
Hat jemand jemals ein Schachprogramm geschrieben, das eigene Einsichten hat? Das lernt das Spiel von alleine? Das trainiert sich selbst? Solch ein Programm würde natürlich mit den Spielregeln versehen sein und würde vermutlich weiterhin mit einer unbearbeiteten Minimax- und Ruheinfrastruktur versehen sein und wäre in der Lage, einen erzwungenen Partner zu erkennen und zu verfolgen, wenn er einen fand. Es wäre jedoch keine Heuristik vorgesehen. Zum Beispiel würde nicht gesagt werden, das Spiel in Richtung Zentrum zu öffnen, Türme den Rittern vorzuziehen oder was die sizilianische Verteidigung ist. Sie müsste solche Prinzipien selbst ableiten (oder möglicherweise bessere Prinzipien entdecken).
In seiner reinen Form würde ein solches Programm niemals Meisterspiele zum Lernen erhalten, sondern nur seine eigenen Spiele, die gegen sich selbst gespielt werden. Nur wenn es vollständig selbst trainiert ist, wird es für den menschlichen Wettbewerb freigesetzt.
Gibt es so eine reine Schach-KI? Ist jemals ein mechanischer Schachautodidakt aufgetaucht? Kann sich der alte Türke selbst beibringen?
Hier scheint ein kurzer Hinweis auf eine reine Schach-KI zu sein, die fehlgeschlagen ist.
( Eine tangential verwandte Frage zur computergestützten Untersuchung von Schacheröffnungen ist bereits auf dieser Website aufgetreten.)
AKTUALISIEREN
Die Frage wird zum Zeitpunkt des Schreibens von @WesFreeman, @GregE, durch drei verschiedene, aufschlussreiche Antworten beantwortet. und @Landei. Alle drei werden nachdrücklich empfohlen, und ich werde mich schuldig fühlen, wenn ich gemäß den Richtlinien der Website eine unter Ausschluss der anderen förmlich akzeptiere . Lassen Sie mich hier für alle drei danken und meine Wertschätzung ausdrücken.
Fragen wollen Kürze. Eine Antwort auf Antworten kann jedoch länger dauern. Der interessierte Leser kann daher von hier aus direkt zu den Antworten springen und dann, falls er noch interessiert ist, zurückkehren, um das folgende längere Update zu lesen.
Als ich die Frage stellte, dachte ich an Folgendes.
Angenommen, ein hypothetisches Dorf am Stadtrand von Shangri-La, in dem die Menschen noch nie von Schach gehört haben. Während Ihres kurzen Besuchs unterrichten Sie die Dorfältesten über die Spielregeln, unterweisen sie jedoch niemals in einem der Spielprinzipien. Zwei der Ältesten spielen ein Spiel, während der Rest der Ältesten zuschaut, während Sie (ohne das Spiel durch Kibitzen zu stören) Ihren Kommentar auf Fragen der Regeln beschränken. Während Ihres Aufenthalts in Shangri-La wird kein Postmortem nachgespielt oder erneut über Schach gesprochen. Wenn Sie jedoch aufbrechen und nicht mehr zurückkehren, lassen Sie Ihr Schachspiel zurück.
In Ihrer Abwesenheit bringen die Ältesten den Menschen das Spiel bei. Einige Leute spielen später ein wenig in der Freizeit, einige mit wachsender Begeisterung, die ihre eigenen Schachspiele herstellen.
Für solche Dorfbewohner mag es nicht sofort offensichtlich sein, dass ein Turm besser als ein Ritter war, aber die Leute könnten dennoch allmählich die relativen Stärken der Schachfiguren über das Spiel vieler Spiele herausfinden. Ebenso ist es für sie möglicherweise nicht sofort offensichtlich, dass 1. a4 eine schlechte Eröffnung war: Sie könnten es aber versuchen und die Ergebnisse betrachten.
Inwieweit würde sich das Verständnis der Dorfbewohner für das Spiel schließlich dem der Außenwelt annähern? Könnten sie, ohne ein Eröffnungsbuch, selbst neuartige Eröffnungen entwickeln? Natürlich würde man nicht erwarten, dass die Eröffnungen der Dorfbewohner zunächst sehr gut sind, aber angesichts einiger Jahrhunderte der Isolation könnten die Dorfbewohner, soweit ich weiß, ein respektables Eröffnungsrepertoire entwickeln.
Würde sich eine ihrer unabhängig entwickelten Öffnungen für die Außenwelt als interessant erweisen, wenn der nächste Reisende 200 Jahre später vorbeikommt, um sie zur Kenntnis zu nehmen? Könnte Shangri-La der Welt den neuen Roman Shangri-La Defense geben?
Wenn ja, dann hatte ich in Bezug auf meine ursprüngliche Frage zur Schach-KI mehr oder weniger folgendes vor Augen: Könnte eine Schach-KI den Schachfortschritt der Dorfbewohner am Stadtrand von Shanrgi-La mehr oder weniger duplizieren?
In Anbetracht von Sussmans Geschichte in @ Landeis Antwort unten ist es zweifellos richtig, dass meine Dorfbewohner bestimmte Vorurteile in das Spiel einbringen würden. Zum Beispiel würden sie das Verständnis vermitteln, dass es im Allgemeinen besser ist, mehr von einem nützlichen Gegenstand zu besitzen, als weniger davon zu besitzen, und dass es daher wahrscheinlich vorzuziehen ist, die Schachfiguren eines Gegners zu erobern, wenn man seine eigenen erobert. Wie territorial die fiktiven Menschen in Shangri-La von Natur aus waren, ist eine Frage der Literatur, aber man kann davon ausgehen, dass sie eine Position, die mehr Raum geboten hat, als überlegen gegenüber einer Position, die weniger geboten hat, anerkennen würden. Und jeder kluge Anfänger, der einmal ein Schachspiel gezeigt und in die Spielregeln eingewiesen hat, kann daraus schließen, dass eine Dame wahrscheinlich besser ist als ein Bauer, einfach weil die Königin bis zu 27 Züge zur Verfügung hat.
Meine Frage muss daher nicht so ausgelegt werden, dass sie eine absolute, Sussman-artige Anordnung gegen das Einbringen jeglicher Art von Wissen in das Schachbrett impliziert. sondern um eine generelle Anordnung gegen vorgefaßtes, schachspezifisches Wissen zu implizieren. Immerhin (ohne Rücksicht auf die Entwicklung der Spielregeln vor langer Zeit) wurde irgendwann in der Vergangenheit die erste Partie Schach gespielt. Vielleicht hat der erste Spieler 1. a4 geöffnet; aber irgendwann lernte er es besser und lehrte seine Schüler, was er gelernt hatte; die ihrerseits von Generation zu Generation mehr lernten und lehrten, uns Kasparov zu geben.
Könnte eine KI so etwas nicht tun, nur in Wochen und nicht in Jahrhunderten?
Ich nehme an, Platon wäre skeptisch. Hume wäre optimistischer, aber die Frage ist nicht mehr allein durch die Philosophie zu klären. Wir haben jetzt elektronische Computer, mit denen wir das Angebot testen können, und ich habe mich gefragt, wie der Stand der KI-Technik ist. Die besten Schach-AIs scheinen derzeit völlig unintelligente Expertensysteme zu sein, die alle schlagen und dabei nichts intuitiv erfassen. Ich fragte mich, ob etwas breitere KIs, die in gewisser Weise tatsächlich an Schach denken, einen beachtlichen Erfolg darin hatten, sich das Spiel selbst beizubringen.
Ich verstehe, dass die Antwort nein ist, wahrscheinlich nicht.
Antworten:
Sie haben einige sehr interessante Punkte. Ich habe ein wenig Erfahrung in der KI-Forschung (mein M.Sc. war auf diesem Gebiet), daher denke ich, dass ich einige Einblicke geben kann.
Forschung in der Umgebung
Erstens gibt es sicherlich Forschungsarbeiten in diesem Bereich - die Suche nach "evolutionärem Schach" kam mit diesem Artikel aus dem Jahr 2001 zurück und hat ziemlich genau das getan, was Sie vorgeschlagen haben, wobei der Min / Max-Ansatz verlassen und nur die Bewertungsfunktion modifiziert wurde. Es ist möglich, noch viel mehr zu graben, und mir sind mehrere Leute bekannt, die im Allgemeinen auf diesem Gebiet gearbeitet haben.
Theoretische Möglichkeiten
Meiner Meinung nach ist die Rechenzeit der einzige wirkliche einschränkende Faktor für die Erstellung einer "reinen" Schachspiel-KI. Es gibt absolut keinen Grund, warum eine solche KI mit aktuellen Ansätzen theoretisch nicht erstellt werden kann.
Praktische Dinge
Es gibt zwei Hauptprobleme bei der Verwendung von evolutionären oder genetischen Ansätzen bei der Entwicklung einer heuristischen Schachfunktion. Das erste ist, dass eine heuristische Funktion für Schach selbst im Grunde sehr komplex ist. Es handelt sich um Hunderte von Regeln, Stückbewertungen (die sich je nach Position usw. unterscheiden können), Positionsanalysen usw. Sie benötigen eine flexible Computersprache, in der diese Regeln beschrieben werden. Diese Regeln können dann zufällig generiert werden. mutiert, miteinander gezüchtet usw. Es ist sicherlich möglich, aber ich vermute, Sie würden mit einem Regelsatz enden, der aus mehreren tausend Entitäten besteht. Das ist ein sehr großer Regelsatz, der sich dynamisch entwickeln soll.
Das zweite Problem ist, dass Sie, um Ihre neu geänderte Regel tatsächlich zu bewerten, Schachpartien spielen und sehen müssen, wer am Ende gewinnt. Wenn Sie dies "richtig" machen möchten, sollten Sie beiden Spielern genügend Zeit zum Nachdenken geben, ähnlich wie bei einer typischen Spieldauer. Es reicht jedoch nicht aus, nur einen einzigen Gegner zu spielen. Sie möchten viele verschiedene Gegner und möglicherweise sogar die gleichen Gegner mehrmals spielen, bevor Sie wirklich davon überzeugt sind, dass Sie eine Verbesserung der Spielstärke festgestellt haben. Dies würde wahrscheinlich bedeuten, ein paar hundert Spiele pro Person in Ihrer Population zu spielen, und das gibt Ihnen eine Generation Ihres Algorithmus.
In der Regel werden mit diesen Ansätzen mehrere Hundert Generationen oder mit so komplexen Funktionen wie einer Schachheuristik mehrere Hunderttausend (oder sogar Millionen) Generationen betrachtet. Einige schnelle Berechnungen sollten Sie davon überzeugen, dass Sie mehrere tausend Stunden CPU-Zeit für eine einzelne Generation benötigen. Selbst wenn Sie eine Serverfarm von beträchtlicher Größe skalieren, werden Sie wahrscheinlich mehrere (möglicherweise Hunderte) Jahre benötigen, um sich tatsächlich genau so zu entwickeln Sie erwähnen in Ihrem Update.
Am Ende dieser Zeit hätten Sie einen interessanten Algorithmus, der wahrscheinlich Unmengen von Einsichten in das Spiel hätte, die nie wirklich entdeckt wurden. Es ist schwer zu sagen, ob sie für den Menschen nützlich oder sogar verständlich sind. Warum gibt es diese Regel? Denn über mehrere tausend Spiele schien es zu funktionieren.
Zukunft
Ich habe keinen Zweifel, dass diese Ansätze mit zunehmender Rechenleistung immer beliebter werden. Derzeit haben wir einen Punkt erreicht, an dem eine Maschine gerade genug Rechenzeit hat, um (fast alle) Menschen zu schlagen, wenn ihre Intelligenz sorgfältig von Hand gefertigt wird. In 20 Jahren ist es durchaus möglich, dass Prozessoren so weit fortgeschritten sind, dass ein oder zwei zusätzliche Schritte in der Tiefe den "hartcodierten" Maschinen nicht mehr genügend Vorteile bieten, sondern routinemäßig von weiterentwickelten, seltsam intuitiven Maschinen geschlagen werden Millionen Stunden Evolution stecken dahinter.
Update 2018 Mai
Wie Robert Kaucher in einem Kommentar weiter unten erwähnt, verdienen die jüngsten Nachrichten hier eine Erwähnung. Insbesondere das AlphaGo-Projekt von Google scheint der erste wirklich realisierbare AI-basierte Ansatz für diese Art von Spielen zu sein. Ende 2017 soll es gegen StockFish 2 gewonnen haben , nachdem es für diese Aufgabe neu ausgerichtet wurde.
quelle
Ich vermute, dass das, wonach Sie fragen, als eine Art genetischer Algorithmus oder evolutionärer Algorithmus eingestuft wird . Ich vermute, dass es keinen realistischen Weg gibt, einen solchen Algorithmus zu entwerfen, ohne einen gewissen Grad an menschlicher Voreingenommenheit auf einer fundamentalen Ebene zu verankern, da der Programmierer immer noch die statischen Merkmale einer Position definieren muss (Materialzählung, Bauernstruktur, Farbkomplexe usw.). wonach die KI Positionen aus verschiedenen Spielen klassifizieren und vergleichen würde. Wenn Sie eine Google-Suche nach der obigen algorithmischen Terminologie im Zusammenhang mit Schach durchführen, werden Sie zahlreiche Ergebnisse finden, aber wahrscheinlich nur wenige, die ernsthafte Nachforschungen betreffen, die tatsächlich zur Erstellung erfolgreicher, wettbewerbsfähiger KIs verwendet wurden.
Tatsache ist, dass dies eine Konsequenz von Moores Gesetz istComputer sind heutzutage so leistungsfähige Rechenmaschinen, dass extrem ausgefeilte KI-Methoden nicht nur unnötig sind (im Hinblick auf das Spielen auf einem höheren Level als die besten menschlichen Gegner), sondern möglicherweise sogar kontraproduktiv sind. Schach ist die Art von Spiel, in dem - vor allem aufgrund des vergleichsweise geringen Suchraums für vernünftige Bewegungen an einer bestimmten Position und der Tatsache, dass taktische Kombinationen erzwungen werden (einschließlich Abfolgen von Schachzügen, Eroberungen von Stücken, Gefährdungen durch Partner oder katastrophaler Materialverlust) usw.) - Ein Brute-Force-Ansatz mit einigen konservativen Suchbaumbeschneidungen ist gleichzeitig der algorithmisch einfachste und effektivste Ansatz. Wenn Sie die Verfügbarkeit von Endspieltabellen und Eröffnungsbüchern berücksichtigen, wächst die Logik dieses Ansatzes nur. Ich verstehe, dass es Es ist immer noch ein großes theoretisches Interesse und ein potenzieller Wert für die Art von neuartiger KI, von der Sie sprechen, aber ich vermute, Schach ist die falsche Arena, um sie zu entwickeln. Andererseits ist ein Spiel wie Go, das von Natur aus weniger taktisch ist und einen sehr viel größeren Suchraum umfasst, der Brute-Force-Ansätze unpraktisch macht, möglicherweise ein besserer Kandidat für hochmoderne KI-Forschung.
quelle
Siehe Wikipedia-Seite über das allgemeine Spielen . Es ist ein aktives Forschungsgebiet. Es gibt ein jährliches GGP-Turnier, bei dem die Programme die Regeln eines neuen Spiels erhalten, eine Weile darüber nachdenken und dann das Spiel gegeneinander spielen.
Wenn Sie einem GGP-Programm die Schachregeln geben, werden Sie feststellen, dass es viel stärker als ein menschlicher Anfänger und viel schwächer als ein speziell geschriebenes Schachprogramm ist.
quelle
Es lohnt sich, diese Frage angesichts des jüngsten Erfolges von AlphaZero gegen Stockfish 8 zu überdenken . AlphaZero ist eine Weiterentwicklung der DeepMind- Programme AlphaGo und AlphaGo Zero und wurde mit einer erstaunlichen Punktzahl von +28 = 72 -0 gegen eine der stärksten "traditionellen" Schachengines der Welt abgeschlossen.
AlphaZero hat sich selbst beigebracht, wie man durch verstärkendes Lernen spielt und seine neuronale Netzwerkarchitektur durch eine Reihe von Spielen gegen sich selbst trainiert. Nach dem Begleitpapier :
Ich bin sicher, man kann Fragen zu Dingen wie der unterschiedlichen verwendeten Hardware stellen - " AlphaZero ... verwendete eine einzelne Maschine mit 4 TPUs . Stockfish ... spielte mit 64 Threads und einer Hash-Größe auf [seiner] stärksten Fähigkeitsstufe von 1 GB. " - Aber auf jeden Fall ist das Ergebnis von AlphaZero bemerkenswert und sehr ähnlich wie im OP.
AlphaZero zeigte vielleicht noch mehr Unterstützung dafür, wie wenig domänenspezifisches Wissen im Spiel war. Zusätzlich zum Sieg gegen Stockfish im Schach trainierte AlphaZero bei Shogi, um das Champion-Programm Elmo zu übertreffen, und übertraf natürlich auch seinen Vorgänger AlphaGo Zero in Go .
Hier ist eines der Spiele gegen Stockfish, ein Berlin, in dem das materielle Ungleichgewicht schließlich AlphaZero ist, mit dem Läuferpaar gegen einen Ritter und 4 Bauern für Stockfish danach
31.Qxc7
. In dieser Position befinden sich alle Teile von AlphaZero auf dem hinteren Rang, und die Bischöfe befinden sich wieder auf ihren ursprünglichen Feldern. Schließlich, nachdem die Königinnen abgezogen sind, manövrieren die schwarzen Figuren langsam, um weiße Bauern aufzunehmen, und das sind Vorhänge.quelle
Ich denke, der Hauptgrund, warum es schwierig ist, eine solche KI zu produzieren, ist der Platz, der zum Speichern des "Trainings" benötigt wird, um effektiv zu sein.
Auch (als Antwort auf Ihren Kommentar zum Selbsttraining) kann das Selbsttraining bei dem Versuch, eine solche KI zu verbessern, nachteilig sein. Ich habe einige Nachforschungen mit Tic-Tac-Toe (zugegebenermaßen viel einfacher) angestellt und alle möglichen gefunden von schrecklichen Möglichkeiten zu gewinnen (und diese schrecklichen Möglichkeiten zu trainieren), weil beide Seiten schrecklich gespielt haben. Es dauerte viel länger, um eine angemessene Leistung mit Selbsttraining zu erzielen, als mit einer vorausschauenden KI im Tic-Tac-Toe-Modus zu trainieren.
Ich halte es jedoch für interessant, einen Hybrid zu sehen, der sowohl Deep Search als auch "Training" verwendet - eine Art gespeicherte Positionsdatenbank für Mittelspiel (anstelle von nur Endspiel und Eröffnungen). Es würde viel Platz brauchen.
Vielleicht denken Sie an einen "realeren" KI-Ansatz, der eher Positionskonzepte als Positionsgewinn / -verlust / -ziehung lernen würde, aber ich denke nicht, dass dies sehr effektiv wäre (im Vergleich zu starken Motoren).
quelle
Ich möchte hier nur auf die Antworten von Greg und Wes eingehen. Die Art von AIs, die thb vorschlägt, existiert einfach nicht mit der Raffinesse, die für diese Anwendung erforderlich ist. Und selbst wenn sie das taten, würde ich vermuten, dass sie daran scheitern würden. Es ist, als ob man eine starke Allzweck-KI will, die die Grundregeln des Spiels lehrt und dann weitergeleitet wird. Wenn Sie sich jedoch die allgemeinen AIs ansehen, die sich in der Entwicklung befinden, werden ihnen alle Dinge wie Objekt- und Spracherkennung auf der Stufe von 1 bis 2 Jahren beigebracht. Jede Allzweck-KI müsste zuerst die Raffinesse haben, um zu verstehen, was ein Spiel überhaupt ist, bevor sie verstehen kann, wie man ein Spiel spielt. Sie können eine Allzweck-KI nicht entwerfen und erwarten, dass sie wie eine schmale oder spezialisierte KI funktioniert. Eine Allzweck-KI muss wie eine Person unterrichtet werden, und Sie können nicht erwarten, zwei Anfänger ohne Kenntnisse der Schachgeschichte zusammenzubringen und Eröffnungen und strategische Themen spontan neu zu erfinden. Es würde viele hundert Instanzen der KI erfordern, die sich gegenseitig spielen, wobei jede über viele hunderttausende Iterationen Zugriff auf die historischen Daten aller ihrer Spiele hat. Und jede KI müsste bestimmte Merkmale aufweisen, die auf verschiedenen Ebenen gewichtet sind.
Menschen brauchten fast 500 Jahre, um von Rodrigo (Ruy) López de Segura und Pedro Damião zu Paul Morphy zu gelangen und dann die weiteren Veränderungen zu betrachten, die zwischen dem Spiel von Steinitz und Alekhine stattfanden. Und all diese Veränderungen erfolgten durch die Dynamik vieler hunderttausender Spieler mit unterschiedlichen Temperamenten und anderen Einflussfaktoren (wie etwa die Bevorzugung von Rittern gegenüber Bischöfen oder Bischöfen gegenüber Rittern), ganz zu schweigen von Spielstilen und -moden. All diese Dinge trugen zu dem Dynamo des Wandels bei, der das Schachspiel im Laufe der Jahrhunderte beeinflusste. Keine schwache KI - selbst eine schwache Allzweck-KI - könnte diese Art von Dynamo duplizieren, weil ihr das Verlangen fehlt. Nur wünschen kann viele Tage etwas zu sitzen fahren stundenlang über eine Öffnung mit dem analysieren Absicht davon Zerschlagung oder es zu verbessern , nachdem ein Konkurrent „gesprengt“ es. Wirklich ist es diese Art von Trieb für Analyse und Vorbereitung, die das Spiel im Laufe der Jahrhunderte verbessert hat - nicht das blinde Spielen von Millionen von Spielen zwischen ebenso schwachen Spielern.
Es ist, als würde man eine Menge Leute nehmen, die kein Englisch sprechen und die nie die Meister der Literatur ihrer Muttersprache lesen und sie in einen Raum mit Büchern über Englisch als Zweitsprache bringen und erwarten, dass sie so etwas wie die Werke von Shakespeare erfinden. Es wird niemals passieren.
EDIT : Ich hätte es besser wissen sollen, als diese Behauptung aufzustellen, weil es passiert ist .
Mein anhaltendes, offensichtlich unbegründetes Geplapper:
Wir setzen all das implizite Wissen voraus, das wir über die Welt haben. Um zu verstehen, dass ein Hammer für mich nützlicher ist als ein Schraubenzieher, wenn ich Holzstücke und einen Nagel habe, muss ich zuerst verstehen, dass bestimmte Klassen von Dingen in bestimmten Situationen nützlicher sind als andere. Ich muss auch verstehen, dass Dinge einen Nutzen haben, der auf ein Ziel angewendet werden kann. Das sind Heuristiken. Wenn der KI nicht gesagt werden kann, dass bestimmte Teile mehr Wert haben als andere, wie kann sie dann überhaupt verstehen, was ein Partner ist? Wenn es nicht mit spezifischen Heuristiken programmiert werden kann, muss es in der Lage sein, diese Ideen wie "Wert" und "Nutzen" aus der Erfahrung zu extrapolieren. Und das ist nicht die Domäne der engen KI. Es ist die Domäne des allgemeinen Zwecks, der starken KI.
quelle
Bitte meditieren Sie über folgende AI Koan:
Unsere Anwendungen haben immer Vorurteile, egal ob Sie Ihre Augen schließen oder nicht ...
quelle
Ja. Schauen Sie sich die Giraffe- Schachengine von Matthew Lai an. Er schrieb die Schachengine als Teil seiner Forschung über künstliche Intelligenz für einen Master in Informatik.
Darüber wurde im letzten Jahr im TalkChess- Schachprogrammierforum viel diskutiert . Ich weiß, weil ich ein Schachengine-Autor bin, dessen Engine ungefähr so stark ist wie die von Giraffe. Ich implementierte meine Engine jedoch mithilfe traditioneller Techniken, während der Autor von Giraffe seine Engine mithilfe des Lernens mit zeitlicher Differenzverstärkung mit tiefen neuronalen Netzen trainierte. Matthew musste noch die traditionelle Alpha / Beta-Suche implementieren, um eine Position dynamisch zu bewerten - mit anderen Worten, um viele Schritte nach vorne zu schauen. Seine Innovation ist die Schulung des Motors zur Bewertung einer statischen Position. Im Vergleich dazu habe ich spezifisches Wissen in die statische Bewertungsroutine meines Motors geschrieben.
Ich habe Code geschrieben, um die Bewertungsparameter mithilfe eines Partikelschwarmalgorithmus zu optimieren (siehe Danke- Seite in meinem Blog für Links zu technischen Diskussionen), der zu positiven Ergebnissen geführt hat - eine stärkere Engine. Dies war jedoch nicht die Aufgabe, die Engine zum "Lernen" zu bringen, sondern vielmehr, Fehler in einem extrem großen Bereich von Bewertungsparametern zu minimieren (in der Größenordnung von 10 ^ 150 diskreten Parameterkombinationen).
Matthew diskutiert seine Dissertation im TalkChess-Forum. Er arbeitet jetzt für Google in DeepMind, wenn ich mich richtig erinnere.
Lesen Sie auch den Blog von Thomas Petzke . Er hat eine extrem starke Schachengine, iCE, geschrieben und genetische Algorithmen verwendet, um die statische Bewertung der Engine zu verbessern. Siehe seine Beiträge aus 2013 und früher, wie z. B. Populationsbasiertes inkrementelles Lernen .
quelle
Eine Google - Suche wie diese können die Ergebnisse wie aufdrehen dies .
Vor allem glaube ich, dass Sie sich dieses Papier ansehen möchten . Sie geben ihrem Motor einige anfängliche Daten wie Stückwerte, so dass es nicht genau das ist, wonach Sie fragen, aber es hat ziemlich gut funktioniert.
quelle
Maschinelles Lernen macht es möglich.
Das Öffnen von Büchern mit Schachengines verwendet maschinelles Lernen. Die Engine testet das Öffnen von Zeilen im Buch, indem sie diese wiedergibt. Wenn eine Zeile im Vergleich zu einer anderen besser abschneidet, wird diese Zeile im Eröffnungsbaum hervorgehoben. Mit der Zeit lernt der Motor die besseren Linien.
Nach Ende der Eröffnungsphase stoppt der Motor die Verwendung des Buches und verwendet die Bewertungsfunktion.
Wie implementiere ich eine selbstlernende Engine mit maschinellem Lernen?
Stellen Sie sich einen Motor mit einem Buch ohne Bewertungsfunktion vor. Und das Buch ist anfangs leer. Motor hat also keine Kenntnisse über Schach.
Die Engine beginnt mit diesem leeren Buch zu spielen und schließt das Buch erst am Ende des Spiels. Wir können es uns wie eine normale Engine vorstellen, die bis zum Ende des Spiels ein Eröffnungsbuch verwendet.
Mit der Zeit würde der Motor statistisch die besten Fortsetzungen finden, da schlechte Linien mit der Zeit schlechter abschneiden. Aber natürlich sollten viele Spiele gespielt werden, um ein gutes Buch zu erhalten. Ich weiß nicht, wie viele, aber so viele, wie wir als unpraktisch bezeichnen können.
Update vom Dezember 2017 : Nun, ich denke Alpha Zero hat mir das Gegenteil bewiesen, indem es sich stark genug trainiert hat, um eine der stärksten Motoren, Stockfish, mit einer praktischen Menge an Spielen zu schlagen .
quelle
Was auch immer Sie in diesem Bereich versuchen, lesen Sie zuerst die Geschichte von Turry hier: http://waitbutwhy.com/2015/01/artificial-intelligence-revolution-2.html
TL; DR; Spoiler-Version auf Anfrage:
quelle
Und da ist AlphaZero. Feiern Sie eine ganz neue Generation von Schachengines
quelle
Aus Wie sagen wir Wahrheiten, die weh tun könnten? von Edsger W.Dijkstra bringt die falsche Annahme, die Ihrer Frage zugrunde liegt, auf den Punkt. Künstliche Intelligenz mag künstlich sein, aber es ist keine Intelligenz im menschlichen Sinne.
In den 1984 von Reith Lectures für die BBC gehaltenen Vorlesungen erklärt der amerikanische Philosoph John Searle genau, was mit harter KI nicht stimmt. Die "zu lange, nicht zuhörende" Zusammenfassung seines Arguments lautet "Syntax ist keine Semantik", aber ich möchte Sie dennoch ermutigen, mindestens die Vorlesung 2 "Bierdosen und Fleischmaschinen " anzuhören .
Wenn Sie verstanden haben, was Dijkstra und Searle vor mehr als 30 Jahren gesagt haben, werden Sie erkennen, was an Ihren Fragen falsch ist:
Menschen haben "Einsichten" und können lernen. Computer können nicht. Ihr Dorf primitiver Menschen konnte im Laufe der Jahrhunderte die Schachöffnungstheorie reproduzieren, Computer jedoch nicht.
quelle
Diese Antwort wird vom Fragesteller der ursprünglichen Frage vier Jahre nach der Frage gegeben. Es ersetzt oder ersetzt keine früher gegebenen Antworten, da die meisten früheren Antworten interessanter sind als diese. Diese Antwort kann jedoch einen zusätzlichen Kontext hinzufügen.
Soweit ich das beurteilen kann, scheint die meiste KI-Forschung implizit die Voraussetzung zu erfüllen, dass Gedanken und Vernunft ausschließlich materielle Phänomene waren, oder dass Ergebnisse, die nicht von Gedanken und Vernunft zu unterscheiden sind, notwendigerweise nur durch materielle Prozesse erreichbar sein müssen. Ich bestreite die Prämisse nicht (und bewerbe sie auch hier nicht). Ich beobachte nur, dass es eine Prämisse zu sein scheint .
Und wie sollte das in der KI-Forschung keine Prämisse sein? KI-Forscher müssen materielle Prozesse durcharbeiten, ob sie wollen oder nicht.
Die Schulmänner der realistischen Philosophie, zurück durch Duns Scotus, St. Thomas, Aristoteles und Platon, haben bezüglich der Theorie des Geistes viel zu sagen. Repräsentationalisten wie Kant hatten etwas anderes zu sagen. KI-Forschung ist Kant wahrscheinlich näher, aber das macht die Schulmänner nicht falsch.
Zugegeben, es gibt einen God-of-the-Gaps- Einwand, der an dieser Stelle in Gesprächen der gegenwärtigen Art auftaucht, aber ein professioneller Philosoph würde Ihnen sagen, dass der God-of-the-Gaps-Einwand einen Strohmann angreift. dass dieser Einwand nur gegen Personen von Nutzen ist, die keine Philosophie studiert haben und daher nicht wissen, wovon sie sprechen. Nach Aristoteles ist es eine formale und endgültige Kausalität, die mit der Frage der selbst ausgebildeten Schach-KI in Verbindung gebracht werden könnte. In aristotelischer Hinsicht arbeitet der KI-Forscher jedoch ausschließlich mit materieller und insbesondere effizienter Kausalität(außer vielleicht schief, sofern menschliche Trainer persönlich formale und endgültige Elemente in das System einbringen). Wenn die Vernunft formell ist, wenn der Gedanke endgültig ist, wenn sich Searles chinesischer Raum als ontologische Unmöglichkeit herausstellt (wie auch immer), kann es sein, dass eine rein selbst trainierte Schach-KI nicht einmal theoretisch erreicht werden kann.
Ich vermute, dass eine rein autodidaktische Schach-KI tatsächlich erreicht werden kann und wird - dass sich diese Frage in aristotelischer Hinsicht im Hinblick auf eine lediglich effiziente Kausalität als hinreichend formulierbar erweisen wird. Ich stehe einer starken KI im Allgemeinen skeptischer gegenüber, aber diese sind in Erfahrung zu beweisen, nicht wahr? Niemand weiß es wirklich noch.
Die Philosophie von Kausalität und Verstand ist subtil und wird von wenigen (und wahrscheinlich auch von wenigen KI-Forschern, die praktischere Männer sind) verstanden. Wenn Sie eine solche Philosophie lernen möchten, ist es das Lernen wert; Beachten Sie jedoch, dass es im Internet und sogar häufig in gedruckter Form äußerst leicht ist, irreführende Erklärungen zu finden, die auf nicht erläuterten Missverständnissen beruhen. Für mein Geld ist Edward Feser heute der beste Einführungslehrer für dieses Thema, dessen Bücher zu vernünftigen Preisen gedruckt bleiben. Sie können viel mehr von ihm lernen.
Man bezweifelt jedoch, dass auch Dr. Feser eine maßgebliche Antwort auf die vorliegende Frage wagen würde! Die Antwort muss in den Laboratorien von AI noch bewiesen werden.
quelle
Ich möchte, dass sie den Code freigeben, dann können wir reden. Es ist nicht so einfach, Schach zu lösen, Alpha wird es auch in einem halben Jahrhundert nicht lösen. Lustigerweise spielt es immer noch 1.d4. Warum? Da es auf Menschenspiele und Menschentheorie trainiert wurde, gibt es die höchste Leistungsrate für 1.d4. Das arme Ding weiß nicht, dass 1 ... c5 in genau 8 Zügen ein Unentschieden erzielt. Jetzt wollen sie, dass ich glaube, Alpha habe kein simuliertes Eröffnungsbuch verwendet ... Sie sagen, Alpha hat Eröffnungen großartig gespielt. Na ja, mit einigen Ausnahmen. 1.d4 spricht sicherlich nicht gut über den Grad der Intelligenz, den das Programm erreicht hat. Glücklicherweise ist SF in der Eröffnungsphase noch schwächer. :)
quelle