 Dear Fellow Scholars, this is two-minute papers with Karo Zona Ifehir. Genetic algorithms help us solve problems that are very difficult if not impossible to otherwise write programs for. For instance, in this application we have to build a simple car model to traverse this terrain. Put some number of wheels on it somewhere, head a set of triangles as a chassis and off you go. This is essentially the DNA of a solution. The farther it goes, the better the car is and the goal is to design the best car you possibly can. First, the algorithm will try random solutions and as it has no idea about the concept of a car or gravity, it will create a lot of bad solutions that don't work at all. However, after a point it will create something that is at least remotely similar to a car which will immediately perform so much better than the other solutions in the population. A genetic algorithm then creates a new set of solutions, however, now, not randomly. It respects a rule that we call survival of the fittest, which means that the best existing solutions are taken and mixed together to breed new solutions that are also expected to do well. Like in evolution in nature, mutations can also happen, which means random changes are also applied to the DNA code of a solution. We know from nature that evolution works extraordinarily well and the more we run this genetic optimization program, the better the solutions get. It's quite delightful for a programmer to see their own children trying vigorously and succeeding at solving a difficult task, even more so if the programmer wouldn't be able to solve this problem by himself. Let's run a quick example. We start with a set of solutions. The DNA of a solution is a set of zeros and ones which can encode some decision about the solution whether we turn left or right in a maze or it can also be an integer or an unreal number. We then compute how good these solutions are according to our taste in the example with cars how far these designs can get. Then we take, for instance, the best three solutions and combine them together to create a new DNA. Some of the better solutions may remain in the population unchanged. Then, probabilistically, random mutations happen to some of the solutions which help us explore the vast search space better. Reans and repeat and there you have it, genetic algorithms. I have also coded up a version of Roger Allsings' Evo Liza problem where the famous Monalisa painting is to be reproduced by a computer program with a few tens of triangles. The goal is to paint a version that is as faithful to the original as possible. This would be quite a difficult problem for humans but apparently a genetic algorithm can deal with this really well. The code is available for everyone to learn, experiment and play with and it's super fun. And if you're interested in the concept of evolution, maybe read the excellent book, The Blind Watchmaker by Richard Dawkins. Thanks for watching and for your generous support and I'll see you next time.