Skip to content

Latest commit

 

History

History

module07-ga

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Genetic Algorithms

Core Material

For each module, I will provide written and video tutorials on the topics. You can review whichever format suits you best. If the amount feels overwhelming, please reach out and we can help you narrow things down, and select a subset of the material to focus an exercise around. It's a lot!

Code Examples

Supplemental Material

For each module, I will provide a list of additional video tutorials and readings that you may draw on for further exploration. It's unlikely you would be able to consume everything in one week and if you are looking for guidance about what might fit with your interests and learning style the most, please reach out.

Additional Techniques

Project Demos

Genetic Algorithm Optimization

Further Reading

Assignment

The purpose of the assignment this week is to explore the idea of genetic algorithms and have a discussion about scenarios and possibilities at the start of class next week. You could choose one of the following three options (or design your own assignment!)

Option 1: Genetic Algorithm Design Exercise

Describe a problem and approach to "solving" it with a Genetic Algorithm. Here is a template you can use. Document your idea in a blog post and link below.

Option 2: Tweak Examples

Play with the parameters of any of the code examples provided above. Try changing any of following:

  • Population Size
  • Mutation Rate
  • Fitness Function
  • Crossover method
  • Mutation method

How do each of the above parameters alter the behavior / outcome of the example? Document your results.

Option 3: Create Your Own

Create your own simulation with a genetic algorithm. This is probably too ambitious for a one week assignment, but it could be a step along the way to a final project. Here are some ideas:

  • Using the Shakespeare monkey example, try evolving a sequence of something other than characters -- geometry, musical notes, pixels, etc.
  • Using the "evolving faces" example, create your own "interactive selection" project. In addition to visual design, consider evolving sound — a short sequence of tones?
  • In Jer Thorp’s original Smart Rockets each rocket only gets five thrusters (of any direction and strength) that follow a firing sequence (of arbitrary length). Jer’s simulation also gives the rockets a finite amount of fuel. Try adding these elements or other variations to my Smart Rockets example, Smart Rockets video tutorial.

Emoji Key

The following emoji key will hopefully help you navigate the material for each module.

  • 🚂 Video tutorial from Coding Train
  • 🎥 Other video tutorial
  • 📗 Nature of Code book
  • 📕 Other reading
  • 💻 Code examples
  • 🎨 Creative project references