Computer sind seit langem in der Lage, Schach mit einer "Brute-Force" -Technik zu spielen, bis zu einer bestimmten Tiefe zu suchen und dann die Position zu bewerten. Der AlphaGo-Computer verwendet jedoch nur eine ANN, um die Positionen auszuwerten (er führt meines Wissens keine Tiefensuche durch). Ist es möglich, eine Schachengine zu erstellen, die Schach genauso spielt wie AlphaGo Go? Warum hat das niemand getan? Würde dieses Programm eine bessere Leistung erbringen als die Top-Schachengines (und Schachspieler) von heute?
32
Antworten:
EDIT (nach dem Lesen der Zeitung):
Ich habe die Zeitung nachdenklich gelesen. Beginnen wir mit dem, was Google in der Zeitung behauptet hat:
Leider halte ich es nicht für eine gute Zeitschrift. Ich werde mit Links erklären (damit du weißt, dass ich nicht träume):
https://chess.stackexchange.com/questions/19360/how-is-alpha-zero-more-human hat meine Antwort darauf, wie AlphaZero wie ein Mensch gespielt hat
Das Match war unfair , stark voreingenommen. Ich zitiere Tord Romstad, den ursprünglichen Programmierer für Stockfish.
Stockfish hätte nicht mit nur einer Minute pro Zug das beste Schach spielen können. Das Programm war nicht dafür ausgelegt.
Eine 1-GB-Hash-Tabelle ist für ein Spiel wie dieses absolut inakzeptabel. Stockfische stießen häufig auf Hash-Kollisionen. Es dauert CPU-Zyklen, um alte Hash-Einträge zu ersetzen.
FAZIT
Google hat nicht ohne Zweifel bewiesen, dass ihre Methoden Stockfish überlegen sind. Ihre Zahlen sind oberflächlich und stark auf AlphaZero voreingenommen. Ihre Methoden sind für einen unabhängigen Dritten nicht reproduzierbar. Es ist noch etwas zu früh, um zu sagen, dass Deep Learning der traditionellen Schachprogrammierung überlegen ist.
BEARBEITEN (Dez 2017):
Es gibt eine neue Veröffentlichung von Google Deepmind ( https://arxiv.org/pdf/1712.01815.pdf ) zum vertieften Lernen im Schach. Aus der Zusammenfassung geht hervor, dass die weltweit führende Stockfish-Schachmaschine "überzeugend" besiegt wurde. Ich denke, dies ist der bedeutendste Erfolg im Computerschach seit dem Deep Blue-Match 1997. Ich werde meine Antwort aktualisieren, sobald ich die Zeitung ausführlich gelesen habe.
Original (vor Dez 2017)
Lassen Sie uns Ihre Frage klären:
ANN kann für Schachengines verwendet werden:
Giraffe spielt ungefähr auf der Stufe Internation Master, was ungefähr der FIDE 2400 entspricht. Stockfish, Houdini und Komodo spielen jedoch alle um die FIDE 3000. Dies ist eine große Lücke. Warum? Warum nicht Monte-Carlo Tree Search?
Es gab Forschungen, dass Monte Carlo Tree Search nicht gut für Schach skaliert. Go ist ein anderes Spiel als Schach. Die Schachalgorithmen funktionieren bei Go nicht, weil das Schach auf brutalen Taktiken beruht. Taktik ist wohl wichtiger im Schach.
Jetzt haben wir festgestellt, dass MCTS für AlphaGo gut funktioniert, aber weniger für Schach. Deep Learning wäre nützlicher, wenn:
Wenn Deep Learning Folgendes erreichen kann, schlägt es den traditionellen Algorithmus:
Lassen Sie mich darauf hinweisen:
einer noch:
Referenz:
Ich zitiere:
quelle
DeepBlue hat Kasparov bereits besiegt, sodass dieses Problem mit einem viel einfacheren Ansatz gelöst werden kann. Dies war möglich, weil die Anzahl der möglichen Züge im Schachspiel viel geringer ist als im Go , so dass es ein viel einfacheres Problem ist. Beachten Sie außerdem, dass sowohl NN als auch Brute Force enorme Rechenressourcen benötigen ( hier finden Sie ein Foto des Computers hinter AlphaGo. Beachten Sie, dass nicht einmal GPUs, sondern TPUs für die Berechnung verwendet werden). Die ganze Aufregung mit go war, dass die Go-Community argumentierte, als Deep Blue Kasparov besiegte, dass dies mit go nicht möglich wäre (aus vielen verschiedenen Gründen, aber um die Argumente zusammenzufassen, müsste ich eine detaillierte Einführung in das Spiel geben von go). Ja, Sie können NN beibringen, Schach zu spielen, Mario , oder versuchen, es zu lehrenStarcraft ...
Ich vermute, der Grund dafür ist, dass man in den Mainstream-Medien einfach nicht oft von Fällen hört, in denen Leute Probleme lösen, die bereits gelöst wurden.
Außerdem ist Ihre Prämisse falsch, Deep Learning wird zum Spielen von Schach verwendet, z. B. wie in Deep Learning Machine unterrichtet sich selbst Schach in 72 Stunden, spielt auf internationalem Meisterebene . Siehe auch das entsprechende Papier, Giraffe: Deep Reinforcement Learning verwenden, um Schach zu spielen .
quelle