Ich habe in letzter Zeit viel über TD-Gammon gelesen, als ich in einem Videospiel, das ich mache, Optionen für KI erkunde. Das Videospiel ist eine rundenbasierte Positionsart, dh die Position einer "Einheit" oder eines Spielstücks wirkt sich stark auf die Nützlichkeit in diesem Brettzustand aus.
Um mich darauf vorzubereiten, hielt ich es für ratsam, zuerst ein neuronales Netzwerk für einige verschiedene Spiele zu implementieren.
Die Idee, die mir gefällt, besteht darin, den Board-Status für das Neuronale Netzwerk mit einem einzelnen Ausgangsneuron zu codieren, das diesen Board-Zuständen im Vergleich zu anderen Board-Zuständen eine relative Stärke verleiht. So wie ich es verstehe, hat TD-Gammon so funktioniert.
Wenn ich mir jedoch den Code und die Beispiele / Tutorials anderer Leute anschaue, scheint es große Unterschiede in der Art und Weise zu geben, wie sie den Board-Status darstellen. Sogar für etwas so Einfaches wie Tic-Tac-Toe.
Damit; speziell für Tic-Tac-Toe, was ist eine bessere, oder was ist die richtige Darstellung für den Board-Status? Ich habe gesehen:
- 9 Eingangsneuronen, eine für jedes Quadrat. Ein
0Hinweis auf einen freien Platz,-1den Gegner und sich1selbst. - 9 Eingangsneuronen, aber mit unterschiedlichen Werten wie
0für den Gegner,0.5kostenlos und1für sich selbst? - Könnten Sie größere Werte verwenden? LIke
0,1und2? - 27 Eingangsneuronen. Die ersten 3 sind Quadrat 1, die nächsten 3 sind Quadrat 2 usw. Jedes Neuron ist
1oder0. Der erste der Dreiergruppen gibt an, ob dieses Quadrat frei ist oder nicht. Die zweite zeigt an, ob das Feld von Ihrem Gegner besetzt ist oder nicht. Am Ende wird nur eines von 3 Neuronen ein haben1, die anderen beiden werden ein haben0. - 18 Eingangsneuronen. Das erste ist
1für den X-Spieler, das zweite1für den O-Spieler und beide0für ein Leerzeichen
Dann; Wie würden Sie dies darstellen, wenn Sie in Spiele verzweigen, in denen die spezifischen Fähigkeiten der Figuren ins Spiel kommen, wie im Schach?
Wäre es so einfach, höhere Eingabewerte für wertvollere Stücke zu verwenden? Dh -20für eine gegnerische Königin und +20für deine eigene Königin? Oder benötigen Sie etwas Komplexeres, bei dem Sie für jedes Feld mehr als 10 Werte definieren, einen für jede Kombination aus Einheitentyp und Spieler?