As part of the Artifical Intelligence unit of MAT301, I implemented a genetic algorithm to train a collection of agents to complete a simple track.
Artificial Neural Networks
The primary aim of the project was to successfully train agents to complete a simple race track. Each agent is rewarded for traveling the furthest from spawn as well as receiving bonuses for reaching checkpoints without crashing.
Each agent contains a neural network. The neural networks are composed of several layers of weights. Initially, the weights are randomised and with each successive generation, successful agents lend their networks to the next generation.
In an effort to reflect real world behaviours, each generation is subjected to a trace amount of mutation, which involves slightly modifying the agents weights.