Summary
In this chapter, we learned about GAs and their underlying concepts. We discussed evolutionary algorithms and genetic programming. We understood how they are related to GAs. We discussed the fundamental building blocks of GAs including the concepts of population, crossover, mutation, selection, and fitness function. We learned how to generate a bit pattern with predefined parameters. We discussed how to visualize the evolution process using CMA-ES. We learned how to solve the symbol regression problem in this paradigm. We then used these concepts to build a robot controller to traverse a map and consume all the targets. In the next chapter, we will learn about reinforcement learning and see how to build a smart agent.