Die KI programmieren
Der folgende Code zeigt ein vollständiges NIM-Spiel, bei dem ein menschlicher Spieler gegen einen Zufallsspieler antreten kann, der zwar korrekte Züge spielt, aber keine wirkliche Strategie hat - und auch nichts lernt.
Aufgabe 1: Zufall gegen Mensch
Betrachte den Programmcode des Spiels und spiele das Spiel mehrfach.
Versuche, den Programmcode komplett zu verstehen. Lass Dich dabei von
der Funktion
myprint nicht irritieren. Diese ist nur
notwendig, damit die Ausgabe im Browser gut funktioniert. Sie benimmt
sich ansonsten genauso wie das Dir bekannte print.
Aufgabe 2: Bau einer NIM-KI
Ergänze den Code nun um eine Python-Klasse, die einen lernenden KI-Spieler realisiert und die von der Klasse Spieler abgeleitet ist.
Tipp: Mache zunächst nur einige wenige Trainingsläufe, um zu sehen, ob Dein KI-Spieler das richtige lernt.
Aufgabe 3: Training KI gegen KI
Ändere das Programm so ab, dass zwei KI-Spieler zunächst einige Runden
gegen einen Zufallsspieler trainiert werden und dann gegeneinander
weiter trainieren.