Hallo zusammen,
ich habe mit einem lernenden Zusandsautomaten (Reinforcement Learning) einen Computergegner für Tic Tac Toe geschrieben / angelernt. Dafür habe ich mich von der Struktur her erstmal stark an einen Udemy Kurs gehalten und die Zustände in ein Dictionary geschrieben. Die Keys sind das Spielfeld als String und die Values sind die Gewichtungen für jedes der 9 Teilspielfelder als Liste.
Nun will ich zum schnelleren Lernen die Anzahl der Zustände reduzieren, indem ich Drehsymmetrien nutze. Wenn also der aktuelle Zustand des Spielfeldes durch Drehen in einen bereits gespeicherten Zustand überführt werden kann, soll er nicht extra gespeichert werden.
So viel zur Vorgeschichte.
Für die Berechnung des Drehens würde ich gerne numpy arrays verwenden, die aber leider nicht im Dictionary gespeichert werden können. Wenn ich alles als Tuple und Liste speicher, muss es immer zwischen den Formaten hin und her berechnet werden.
Kennt dafür jemand eine gute Lösung oder mache ich mir da gerade unnötig Gedanken wegen der Umrechnung?
Schon einmal vielen Dank.