Exercises

Most of the exercises below use Google Colab, a free cloud-based service that allows you to write and run your Python code in a Jupyter notebook. This platform includes many python libraries such as Ternsorflow, Matplotlib, Pandas, etc. Colab also provides access to limited GPU resources so you can run your experiments right there.

You can access Colab through your Google drive. Create a copy of the exercise notebook in your Google Colab account. It has a code for the general setup; the exercise consists of filling in the missing parts of the code yourself, running it, and verifying that it works.

As an example of working code, here’s the Bipedal walker example used in Chapters 2 & 3.

Assignments

Chapter 2 –
Evolution strategies (ES) and genetic algorithms (GA) on black-box optimization using Numpy Notebook

Chapter 3 –
Part1: ES/GA evolving a neural network for the MNIST task Notebook
Part2: ES/GA evolving a neural network for the CartPole task Notebook
Part3: Implementing NEAT for data classification task Notebook

Chapter 4 –
Part1: Evolving a CPPN for creative pattern generation Notebook
Part2: Implementing MAP-Elites for MNIST Notebook

Chapter 6 –
COVID-19 Policy Prescriptions Assignment

Chapter 7 –
Evolving Neural Cellular Automata (NCA) to generate a pattern Notebook

Chapter 8 –
Part1: Neuroevolution of a simple SlimeVolley player against a random opponent Assignment
Part2: Neuroevolution of a better SlimeVolley player with evolutionary arms race Assignment
Notebook (for both Part1 and Part2)
This assignment can be run as a class-wide tournament

Chapter 12 –
Evolving Hebbian learning Notebook

Tutorial –
Part1: Pole-balancing
Part2: Model merging
Part3: MAP-Elites
Notebook (for Part1, Part2, Part3)
This is the exercise used in some of the neuroevolution tutorials

Solutions

The solutions are provided in the For Instructors page. It is password-protected; if you are an instructor or TA, please send an email to sebr@itu.dk and yujintang@sakana.ai to get it.