Evolution Strategies is a class of evolutionary optimization algorithms that rely on stochastic variations and selection mechanisms to generate candidate solutions. It relies on a population of individuals to increase the chances of finding good solutions to the optimization problem. In each iteration, members of the current population are selected to be the parents of the next generation. The parents undergo stochastic variations, generating new candidate solutions. The fitness of the new candidate solutions is obtained, and the fittest candidate solutions are selected to become the parents of the next generation. This process is repeated until some stopping criterion is met, such as reaching a given number of generations or of evaluations of the fitness function.
This chapter introduces the reader to evolution strategies algorithms, presenting both the initial versions of the algorithms as well as the ones that have recently gained attention of the research community in the field of artificial intelligence. The presentation is complemented with examples and Python code.