What to expect from this course?
Learn about the content you can expect from this course.
We'll cover the following...
Each chapter in this course builds on the last by making additions to a genetic algorithm framework in some meaningful way. For the best results, you should read this course in successive order and follow along with the code examples as they are presented to you.
Given below is a brief overview of the contents from each chapter in the course:
-
The chapter Writing Your First Genetic Algorithm introduces the basics of the genetic algorithm and its example, and outlines the kinds of problems best suited for using genetic algorithms.
-
The chapter Breaking Down Genetic Algorithms dives deeper into the core concepts, where you explore the steps involved in the evolutionary process of a genetic algorithm and design the framework for using genetic algorithms.
-
The chapter Encoding Problems and Solutions brings forward a variety of strategies that can be used to represent real-world optimization problems and solutions and focuses on how Elixir behaviours can be used to represent any optimization problem imaginable.
-
The chapter Evaluating Solutions and Populations allows you to explore how genetic algorithms learn to find better solutions through evaluating a set of solutions along with the concept of fitness, where you are introduced to different fitness functions and termination criteria for various types of problems.
-
The chapter Selecting the Best will focus on the process of selection — why it is important, how selection rate affects your algorithms, how to write different types of selection strategies, and the different types of problems where each of these can be applied.
-
The chapter Generating New Solutions takes a look at the crossover process, the different types of crossover strategies that are present, and uses the example of the N-queens problem to see how crossover strategies can affect the solutions produced by your genetic algorithm.
-
The chapter Preventing Premature Convergence looks at premature convergence and how it can be solved using mutation. Here, you will create a basic password cracker to demonstrate premature convergence, implement several different mutation strategies, and choose the ones that best apply to different problems.