In the last chapter, we explored the origins of life simulation and how evolution and natural selection can be used for optimization. We learned how genetic algorithms, a subset of evolutionary computation, could extend these concepts further into an elegant practical method of optimized search.
In this chapter, we directly extend what we learned in the last chapter to tackle larger and more complex problems using genetic algorithms. As part of this journey, we employ an EC toolkit called Distributed Evolutionary Algorithms in Python (DEAP) to make our lives easier. Like frameworks such as Keras or PyTorch, DEAP provides several tools and operators to make coding easier.