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.