## Genetic Algorithms

These video lessons accompany Chapter 9 (Genetic Algorithms) from The Nature of Code book.

- #9.1
### Genetic Algorithm Introduction

29 Jul 2016Welcome to part 1 of a new series of videos focused on Evolutionary Computing, and more specifically, Genetic Algorithms. In this tutorial, I introduce the concept of a genetic algorithm, how it can be used to approach “search” problems and how it relates to brute force algorithms.

- #9.2
### Genetic Algorithm How it works

29 Jul 2016In part 2 of this genetic algorithm series, I explain how the concepts behind Darwinian Natural Selection are applied to a computational evolutionary algorithm.

- #9.3
### Genetic Algorithm Shakespeare Monkey Example

31 Jul 2016Part 3 of the Genetic Algorithm series is dedicated to the Shakespeare Monkey Example. In this video, I use the evolutionary concepts from the previous video to compute a problem that a brute force algorithm wouldn’t be able to solve.

- #9.4
### Genetic Algorithm Looking at Code

31 Jul 2016In part 4 of the series on Genetic Algorithm, I finally look at code! Using p5.js (and Processing / Java in the addendum), I implement the Shakespeare Monkey genetic algorithm example in JavaScript.

- #9.5
### Genetic Algorithm Fitness, Genotype vs Phenotype

01 Aug 2016In part 5 of my genetic algorithm series I discuss how you can adapt the algorithm for your own creative project. The key pieces are designing and implementing a custom “fitness function” as well as how you choose to encode your DNA (genotype vs phenotype).

- #9.6
### Genetic Algorithm Improved Fitness Function

05 Aug 2016In this video I look at strategies for improving the genetic algorithm’s fitness function to improve efficiency and accuracy.

- #9.7
### Genetic Algorithm Pool Selection

05 Aug 2016In this Genetic Algorithm video, I discuss improvements and strategies for “pool selection” (such as rejection sampling / monte carlo simulation) to pick “parents” based on probabilities mapped to their fitness score.

- #9.8
### Genetic Algorithm Improved Pool Selection

03 May 2017In this video, I look at yet another technique for “pool selection” – how to pick an item randomly from an array with a non-uniform distribution, i.e. some elements have higher probability of being picked than others. I use this same method in my Traveling Salesperson coding challenge, but it can be applied more broadly.

- #9.9
### Genetic Algorithm Interactive Selection

09 Aug 2016In this genetic algorithms video, I discuss a technique known as “interactive selection” where the algorithm’s fitness function is calculated based on user / viewer interaction.

- #9.10
### Genetic Algorithm Continuous Evolutionary System

11 Aug 2016In this video, I apply the Genetic Algorithm to an “Ecosystem Simulation”, a system in which models biological life more closely, where elements live and die continuously evolving over time.

- #9.11
### Genetic Algorithms and Evolutionary Computing

11 Aug 2015This video covers genetic algorithms and looks at how they are applied in 3 scenarios.