This is the final project of the GUI course in Computer Science and Mathematics at Vanier College. The purpose of doing this project was more than just learning about GUI, which was done during the entirety of the semister. It was also done for the purpose to learn about Artificial Intelligence. In fact, this project consists of self-learning cars that race in a track using neural network and deep learning.
First the user inputs some parameter that the cars will share such as their learning rate, velocity angular velocity and even the neural network structure (number of hidden layers). When they hit a border of the track, they crash and remain motionless until the end of the generation. At any moment during the simulation, the user can click on any car to see its neural network structure and witness the values of its neurons and its weights updating in real time. Then, the car with the highest fitness score will be accounted the best car of the generation. This means that his neural network model will be transmitted to the next generation with a small mutation (based on the learning rate). This process is repeated until the user decides to stop the program. At the end of each training, the program will show an evolution of the best fitness scores over the generations and remind the user what input led to this learning.
public void testSigmoid() ✓
public void testRelu() ✓
public void testTanh() ✓
public void testClone() of the hiddenlayer class ✓
main menu:
preview of the layout and the different themes available:
preview of the required inputs to run the simulation:

Elyes Bradai
Youssef Ben Mouny
David Tang