Skip to content

NeuralNetwork_GeneticAlgorithm_QLearning_Unity is a Unity project that implements a neural network, a machine learning genetic algorithm, and Q-learning. It also features a simple car controller and a 2D race track. The app demonstrates how a neural network learns to navigate the track using both genetic algorithms and Q-learning.

Notifications You must be signed in to change notification settings

Som3Bod3/NeuralNetwork_GeneticAlgorithm_QLearning_Unity

Repository files navigation

NeuralNetwork_GeneticAlgorithm_QLearning_Unity

NeuralNetwork_GeneticAlgorithm_QLearning_Unity is a Unity project that implements a neural network, a machine learning genetic algorithm, and Q-learning. It also features a simple car controller and a 2D race track. The user can change parameters related to the genetic algorithm's mutations, the number of cars, and the Q-learning parameters.

The app demonstrates how a neural network learns to navigate the track using both genetic algorithms and Q-learning. It shows the number of generations and episodes it has taken to learn, the time it took to learn, and the number of cars in each generation.

Features

  • Neural network implementation
  • Machine learning genetic algorithm implementation
  • Q-learning implementation using the ML-Agents external library
  • Simple car controller
  • 2D race track
  • Parameter customization
  • Track navigation learning using both genetic algorithms and Q-learning
  • Generation and episode statistics display

Technology Stack

  • Unity
  • C#
  • ML-Agents

Usage

Once you have the project up and running, you can start experimenting with the genetic algorithm and Q-learning parameters and observe how the neural network learns to navigate the track. Here are some of the things you can do with NeuralNetwork_GeneticAlgorithm_QLearning_Unity:

  • Change the genetic algorithm mutation parameters
  • Change the number of cars in each generation
  • Change the Q-learning parameters
  • Observe how the neural network learns to navigate the track using both genetic algorithms and Q-learning
  • View the generation and episode statistics

IMPORTANT: the code won't run Q-Learning after cloning the repo. It's missing several files from venv\Lib\site-packages\torch\lib\ that were exceeding 100Mb of size and I haven't found a way to upload them yet. Contact me directly if you want the files.


Game view

About

NeuralNetwork_GeneticAlgorithm_QLearning_Unity is a Unity project that implements a neural network, a machine learning genetic algorithm, and Q-learning. It also features a simple car controller and a 2D race track. The app demonstrates how a neural network learns to navigate the track using both genetic algorithms and Q-learning.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published