Implementierung von Checkers (Drafts) Strategie -Brettspiel mit KI -basierter Bot
Dieses Projekt soll die Fähigkeit neuronaler Netzwerke zeigen, zu lernen, ein Spiel mit Checkers zu spielen.
Das geschulte Netzwerk wird verwendet, um einen Suchalgorithmus zu leiten - Minimax mit Alpha -Beta -Beschneidung
Um die vielversprechendsten Bewegungen in Spielen auszuwählen.
Neurales Netzwerk wird zur Bewertung des Vorstandsstaates verwendet. Es nimmt den Vorstandsstatus als Eingabe- und Ausgaberwert zwischen -1 und 1
(Werte nahe -1 -> Weiße Siege, Werte nahe 1 -> Schwarze Siege). Alphazero stellte dies als "Wertnetzwerk" ein.
Derzeit ist das neuronale Netzwerk nur das MLP -Modell (Multilayer Perceptron) mit 6 versteckten Schichten:
-> 32 Neuronen für die Eingangsschicht | 64, 64, 128, 128, 256, 256 für versteckte Schichten und 1 Neuron für die Ausgangsschicht
Ich arbeite an der zeitlichen Differenzlernmethode (TD Leaf), die viel besser erscheint als MLP ATM
(Benötigen Sie einige Zeit, um das Modell vollständig zu verarbeiten).
Die Hauptidee besteht darin, überwachtes Lernen zu verwenden, um ein Modell auszubilden und dieses Modell mit dem Selbsteinsatz zu verbessern, was DeepMind mit Alphazero getan hat.
-> http://www.fierz.ch/download.php
Ungefähr 20000 Spiele, die Ergebnisse sind meistens Draw (ca. 14000) - nicht so gut für neuronale Netze, aber ich kann keinen besseren Geldautomaten finden.
1. python main.py # runs web server on localhost:5000
2. Web browse to localhost:5000
At this phase game does not support (interface) validation and multiple jumps so dont use it right now :)
Console version is fully featured (it supports validation and multiple jumps)