Using Genetic Algorithms to Create Safer Self-Driving Cars
Kelvin Zhang
Gleneagle Secondary
Floor Location : M 044 F

The idea of a completely self-driving car — with no steering wheels, brakes, or human drivers — is something that can change the automotive industry. There are many models, such as Google's, which do a pretty good job at automated driving. However, due to the fact that current models don't have optimal algorithms, a backup driver is needed to take over in-case of error in judgement of the algorithm.

In this project, a unique approach was taken towards the driving algorithm of a self-driving car. We, as humans, are able to drive safely due to the structure of our brain — which has undergone millions of years of evolution — but even then, some faulty judgments from time to time may lead to car crashes. A machine is able to complete the same task, but will make the correct judgement the whole time. The problem is that they don't have the complex connections that we have in our brains, but are rather limited to perform functions that are coded by the programmer — which can mean unseen bugs and errors — leading to a possible accident. To tackle this issue, an approach was taken closely resembling that of biological evolution, and replicating the way in which we learn.

A genetic algorithm, which starts off by knowing nothing about the situation, is put into a driver's seat. Though random mutations and an elitism selection system, the program creates a population and selects the strongest chromosome in a genome to be passed on to the next generation; essentially, it continues this process until a final champion is reached. The neural network which is slowly produced contains of an input layer (which is the distances measured by the sensor), an output layer (the actions generated for the driver to take), and intermediate nodes — those of which resemble our neurons — and are connected to the other layers, resembling the axons and dendrites in our brain.

The applications can lead to a safer self-driving car, and can be further improved upon with the use of backpropagation networks to identify traffic signs and pedestrian signals.