Skip to content

Creating a simple snake game which will be trained using a rule-based respectively genetic algorithms

Notifications You must be signed in to change notification settings

Qusay99/train_snake_game

Repository files navigation

Überblick

Dieses Repository beinhaltet die Implementierung eines evolutionären Algorithmus zur Optimierung der Spielleistung eines Snake-Games mithilfe von neuronalen Netzwerken.

Verwendete Methoden:

  • Evolutionärer Algorithmus: Der Algorithmus simuliert die natürliche Evolution und nutzt dabei Selektion, Kreuzung und Mutation, um eine bessere Lösung für ein gegebenes Optimierungsproblem zu finden. In diesem Fall wird der Algorithmus verwendet, um die besten Gewichtungen für das neuronale Netzwerk zu identifizieren.
  • Vorwärtspropagation: Die Vorwärtspropagation ist der Prozess, bei dem die Eingabedaten durch das neuronale Netzwerk propagiert werden, um die Ausgabe zu generieren. Hier wird sie verwendet, um die Vorhersagen der KI basierend auf den aktuellen Gewichtungen zu erhalten.

Während der Implementierung wurde einige Einstellungen für den Algorihtmus folgendem Paper entnommen: https://ceur-ws.org/Vol-2468/p9.pdf

Im Verlauf der Entwicklungs- und Evaluierungsphasen wurden diverse Fitnessfunktionen implementiert und einer gründlichen Prüfung unterzogen. In der abschließenden Phase erfolgte die Selektion der optimalen Fitnessfunktion, gefolgt von mehreren Evaluierungsdurchgängen. Hervorzuheben ist, dass nur die unten dargestellten Evaluierungsdurchgänge protokolliert wurden, da bei ihnen bedeutende Leistungsdisparitäten infolge der Parameteranpassungen beobachtet wurden.

Die Ergebnisse nach Erhöhung der Populationsgröße:

Ausführung

Um das Training auszuführen, stellen Sie zuerst sicher, dass Sie alle notwendigen Packages installiert haben:

pip install -r requirements.txt

Danach können Sie das Training mit folgendem Befehl starten:

python genetrischerAlgo.py

Quellen:

About

Creating a simple snake game which will be trained using a rule-based respectively genetic algorithms

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published