chapter four

4 Evolutionary Algorithms

 

What you will learn in this chapter:

  • The inspiration for evolutionary algorithms.
  • Problems suited to be solved with evolutionary algorithms.
  • The lifecycle of a genetic algorithm.
  • Designing and developing a genetic algorithm to solve problems.
  • The parameters for configuring a genetic algorithm lifecycle based on different scenarios, problems, and data sets.

4.1   What is Evolution?

4.2   Problems Applicable to Evolutionary Algorithms

4.3   Genetic Algorithm – Life Cycle

4.4   Encoding the Solution Space

4.4.1   Binary Encoding – Represent possible solutions with zeros and ones

4.5   Creation of a Population of Solutions

4.6   Measuring Fitness of Individuals in a Population

4.7   Selecting Parents Based on their Fitness

4.7.1   Steady State – Replacing a portion of the population each generation

4.7.2   Generational – Replacing the entire population each generation

4.7.3   Roulette Wheel Selection – Selecting parents and surviving individuals

4.8   Reproducing Individuals from Parents

4.8.1   Single-point Crossover – Inherit one part from each parent

4.8.2   Two-point Crossover – Inherit more parts from each parent

4.8.3   Uniform Crossover – Inherit many parts from each parent

4.8.4   Bit String Mutation for Binary Encoding

4.8.5   Flip Bit Mutation for Binary Encoding

4.9   Populating the Next Generation

4.9.1   Exploration vs. Exploitation

4.9.2   Stopping Conditions

4.10   Configuring the Parameters of a Genetic Algorithm

4.10.1   Use Cases for Evolutionary Algorithms