Ich frage mich, wie man ein neuronales Netzwerk für ein rundenbasiertes Brettspiel wie Tic-Tac-Toe, Schach, Risiko oder ein anderes rundenbasiertes Spiel trainiert. Das Erhalten des nächsten Zuges durch Inferenz scheint ziemlich einfach zu sein, indem der Spielstatus als Eingabe eingegeben und die Ausgabe als Zug für den aktuellen Spieler verwendet wird. Das Training einer KI für diesen Zweck scheint jedoch nicht so einfach zu sein, weil:
- Es gibt möglicherweise keine Bewertung, ob ein einzelner Zug gut ist oder nicht, daher scheint das Training einzelner Züge nicht die richtige Wahl zu sein
- Die Verwendung aller Spielzustände (Eingaben) und Bewegungen (Ausgaben) des gesamten Spiels zum Trainieren des neuronalen Netzwerks scheint nicht die richtige Wahl zu sein, da möglicherweise nicht alle Bewegungen innerhalb eines verlorenen Spiels schlecht sind
Ich frage mich also, wie ich ein neuronales Netzwerk für ein rundenbasiertes Brettspiel trainieren kann. Ich möchte mit Tensorflow ein neuronales Netzwerk für Tic-Tac-Toe erstellen.
quelle
Ich denke, Sie sollten sich mit dem verstärkten Lernen vertraut machen. In diesem Bereich des maschinellen Lernens interagiert der Agent mit seiner Umgebung und erhält danach eine Belohnung. Jetzt ist der Agent das neuronale Netzwerk, die Umgebung ist das Spiel und der Agent kann eine Belohnung von +1 erhalten, wenn er gewinnt oder -1, wenn er verliert. Sie können diesen Status-, Aktions- und Belohnungstupel verwenden, um den Agenten zu schulen. Ich kann David Silvers Vorträge auf Youtube und Suttons Buch auch empfehlen.
quelle