Al is the nickname given to the genetic algorithm used to optimize the racing lines you see on this site. A genetic algorithm is simply an optimization process that mimics some of the processes by which natural evolution occurs, such as mutation, crossover, and natural selection. The basic structure of our genetic algorithm is as follows:
- Set up an initial population of solutions with random variations. In our case, this means many different paths around a given race course. Our population size is typically between 40 and 100 paths.
- Breed the solutions together to create offspring. These children represent combinations of the original parents.
- Apply mutation to the offspring. This means creating random changes in parts of the child paths, in order to more thoroughly search all possible racing lines.
- Select which children and parents will be retained for the next generation. The others "die off." The end of this process marks the end of a generation.
- Repeat from Step 2 until fitness criteria or the minimum number of generations is satisfied.
An example of how this optimization improves lap time is shown in the figure below.
As you can see in the picture, both the lap time and the population diversity are bottoming out as the generation count increases. Low diversity means that the members of the population are all very similar to each other. When this happens, it is difficult for any further improvement to be obtained, and the optimization can be considered complete. Unfortunately, for complex problems, there is no way of knowing how close to the "perfect" solution you are when you stop seeking further improvement.
Al is often crunching four track-vehicle combinations simultaneously, each of which typically requires a minimum of 250,000 lap simulations. Time to optimize one track-vehicle pair this way depends on several factors, and can range from 1-4 hours for high quality solutions. Quick and dirty optimizations can be obtained in much less time - only a few minutes. In addition to the basic genetic algorithm steps listed above, Al has some intelligent features built in that slow things down a bit, but greatly improve the quality and consistency of the final solutions.
Thanks for reading, and please see the links on the left for more information!