chapter four

4 More Evolutionary Computation with DEAP

 

This chapter covers

  • Developing regression solvers with genetic programming in DEAP.
  • Applying particle swarm optimization to solve for unknowns in complex functions.
  • Breaking a problem into components and co-evolving a solution.
  • Understanding and applying evolutionary strategies to approximating solutions.
  • Approximating continuous and discontinuous solutions with differentiable evolution.

In chapter 3 we just started to scratch the surface of what evolutionary computation looks like by introducing genetic algorithms. Starting with GA helps us set several foundations that we will continue to develop on in this chapter and where we will progress from GA to explore other GC methods for solving more specialized and complex problems.

There is a wide variety and forms of evolutionary algorithms which have different strengths and weaknesses. Understanding other available options strengths our understanding of where to apply which algorithm. As we will see in this chapter there is more than one way to peel a orange.

4.1 Genetic Programming with DEAP

We have already used DEAP extensively for developing GA solutions to a variety of problems. In this exercise we will continue to use DEAP to explore a subset of EC/GA called genetic programming. GP follows the same principles of GA and employs many of the same genetic operators. The key difference between GA and GP is the structure of the gene/chromosome and how fitness is evaluated.

4.1.1 Solving Regression with Genetic Programming

4.2 Particle Swarm Optimization with DEAP

4.2.1 Solving Equations with PSO

4.3 Co-evolving Solutions with DEAP

4.3.1 Co-evolving Genetic Programming with Genetic Algorithms

4.4 Evolutionary Strategies with DEAP

4.4.1 Applying Evolutionary Strategies to Function Approximation

4.4.2 Revisiting the EvoLisa

4.5 Differential Evolution with DEAP

4.5.1 Approximating Complex and Discontinuous Functions with DE

4.6 Summary