The capstone project using Artificially Intelligent systems.
Using a Genetic Algorithm and a Neural Network, create a system that can maneuver a track.
requirements.txt also takes care of all required pip dependencies The project was developed on a UNIX system running Ubuntu 18.04Application/Module | Command |
---|---|
Python 3 | sudo apt install python3 |
Pip (Module installations) | sudo apt install python3-pip |
Numpy | pip install numpy |
Pygame | pip install pygame |
By incorporating several command line arguments to be passed into the program, several other features also exist outside the arguments
- -p, --pool Overrides how many cars are spawned.
- -ne, --noevolve Disables genetic evolution.
- -f, --file File that contains any number of gene sets, must be in pre-existing list notation.
Examples
Run program to evaluate success of a single participant
python Main_Menu.py -p 1 -ne --file trained_gene.txt
One of the great hidden features of this project is the acceptance of outside models. The model must mimic the same number of inputs and outputs but all the rest is reconfigured within the genetic.load() function within genetic.py.
By placing the models/ directory generated by Tensorflow, the program will automatically load the newly created model into the program and create it's participants based on the initial gene set found.
The overall entirety of the project has placed a great deal of interest into investing more time into this project. By building a successful system, many of the internals are lacking a deal of structure as continuous hacking and rebuilding had to occur, all in the sake of getting this working. For that, anyone wishing to develop the project further should first reconsider the code basis and possibly put forth effort into rebuilding the software into a more legible and up to par for code standards.