evolution

Logo

Introduction to Evolutionary Computation class

View the Project on GitHub giorgia-nadizar/evolution

Project - Evolution of agents

This project can be done in pairs. It focuses on the evolution of agents using the EvoGym suite. To get started with evogym, see the documentation.

Neuroevolution in evogym notebook

Open In Colab

Notebook for gifs

Open In Colab

For this project, you’ll run the code locally. To build the minimal environment for this project, you’ll find the necessary information in this file. You can fork this minimal repo that contains the main project files.

Please create one GitHub repository for each team, containing the names of both members in a README.md file. Add echigot as a collaborator to the project.

You will need to evolve movement policies for three tasks independently:

You have a budget of 5.000.000 steps for evolution (for example, a population of 10 for 1000 generations with simulation of 500 steps).
Each evaluation can have 500 maximum steps, but you can reduce this in the early stages of evolution if needed. You choose the evolutionary algorithm, gene representation, and evolutionary hyperparameters, but you must demonstrate that you only used the allocated evaluation budget. To do so, you might want to show optimization logs, evolution plots, … (you can take inspiration from research papers in this domain to come up with nice and interesting visualizations). The goal is to obtain the best score independently on each task—but you might also want to try to optimize something that solves all three tasks at once. Scores should be shown in your final presentation as the average best score over at least 2 independent evolutions.

For each task, points will be allocated to teams depending on performance (see below).


Presentation & Evaluation (20 points total)

Grading Criteria

(Same base score per team member; small adjustments possible via Q&A)


Code sources

You can use the code provided during class for your evolutionary algorithms, and you can also use any code online. Some popular libraries are: