Evolutionary Computation: Methods and Algorithms
CS-729 / 4 credits
Teacher(s): Floreano Dario, Invited lecturers (see below), van Diggelen Fuda
Language: English
Remark: 2 weeks of daily lectures separated by 1 week of exercises in February 2027, followed by research project and graded report by 31 May 2027.
Frequency
Only this year
Summary
This course introduces Evolutionary Computation, machine-learning methods inspired by natural evolution for solving non-differentiable and ill-defined problems. Students learn the theory, main algorithms, and applications to neural networks and robotics, and apply them to a project of their choice.
Content
Evolutionary Computation (EC) is a family of machine-learning methods for solving decision-making problems. Loosely inspired by natural evolution, EC methods have the distinctive capability of producing solutions to non-differentiable and ill-defined problems in a wide variety of areas, such as robotics, architecture, electronic circuit design, civil engineering, or te reverse engineering of biological gene regulatory networks, to mention a few. In addition, EC methods can be used as a meta-learning technique to define properties of neural networks, such as their architecture, learning meta-parameters, or new learning algorithms.
The course will give an introduction to the theory and inspiration behind evolutionary computation, provide foundations of the most popular methods, and describe specific algorithms for each method.
The course will be complemented by exercises that students can perform on their own to explore how the algorithms work. In addition, students will apply the methods to a research project of their own choice: either a problem related to their own PhD research, or a problem related to the design and control of embodied AI systems.
The exam will consist of the assessment of the project report. The research projects will be formulated so that the best ones could be submitted for publication to a conference or journal.
Lectures:
- Natural and Artificial Evolution
- Principles and Operators of Evolutionary Computation
- Algorithms: Genetic Algorithms and Evolution Strategies
- Multi-objective Optimization and EC Algorithms
- Evolution of Neural Networks
- Comparison between EC and Reinforcement Learning
- Evolution of Neurocontrollers for Robots
- Morphology representation and Development Evolution
- Co-evolution of Robotic Bodies and Brains
- Quality Diversity Optimization
- Evolution of Collective Agents: Competitive and Cooperative Evolution
- Evolution of Bio-hybrid Robots
Keywords
Evolutionary Computation, Machine Learning, Robotics, Decision Making problems, Optimization methods
Learning Outcomes
By the end of the course, the student must be able to:
Transversal skills
- Access and evaluate appropriate sources of information.
- Collect data.
- Write a literature review which assesses the state of the art.
- Write a scientific or technical report.
- Demonstrate the capacity for critical thinking
- Assess progress against the plan, and adapt the plan as appropriate.
- Set objectives and design an action plan to reach those objectives.
- Plan and carry out activities in a way which makes optimal use of available time and other resources.
Teaching methods
Lectures, exercises, project discussion
Expected student activities
Attend classes and ask questions, critically read the literature, formulate research project method, carry out research project, write technical report.
Assessment methods
Assessment of technical report
Resources
Bibliography
- Eiben, A. E. and Smith, J. E. (2003, 2015) Introduction to Evolutionary Computing. Berlin: Springer Verlag
- Floreano, D. and Mattiussi, C. (2008, 2023) Bio-inspired Artificial Intelligence. Cambridge, MA: MIT Press.
- Risi, S., Tang, Y., Ha, D. and Miikkulainen, R. (2025) Neuroevolution. Cambridge, MA: MIT Press.
- In addition, recent research articles will be provided during the lectures
In the programs
- Number of places: 20
- Exam form: Project report (session free)
- Subject examined: Evolutionary Computation: Methods and Algorithms
- Courses: 20 Hour(s)
- Exercises: 6 Hour(s)
- Project: 60 Hour(s)
- Type: optional
Reference week
| Date | Time | Room | Course |
|---|---|---|---|
| Monday 01.02.2027 | 14:15-16:00 | - | CS-729 Evolutionary Computation: Methods and Algorithms |
| Tuesday 02.02.2027 | 14:15-16:00 | - | CS-729 Evolutionary Computation: Methods and Algorithms |
| Wednesday 03.02.2027 | 14:15-16:00 | - | CS-729 Evolutionary Computation: Methods and Algorithms |
| Thursday 04.02.2027 | 14:15-16:00 | - | CS-729 Evolutionary Computation: Methods and Algorithms |
| Friday 05.02.2027 | 14:15-16:00 | - | CS-729 Evolutionary Computation: Methods and Algorithms |
| Monday 08.02.2027 | 14:15-16:00 | - | CS-729 Evolutionary Computation: Methods and Algorithms |
| Tuesday 09.02.2027 | 14:15-16:00 | - | CS-729 Evolutionary Computation: Methods and Algorithms |
| Wednesday 10.02.2027 | 14:15-16:00 | - | CS-729 Evolutionary Computation: Methods and Algorithms |
| Thursday 11.02.2027 | 14:15-16:00 | - | CS-729 Evolutionary Computation: Methods and Algorithms |
| Friday 12.02.2027 | 14:15-16:00 | - | CS-729 Evolutionary Computation: Methods and Algorithms |
| Monday 15.02.2027 | 14:15-16:00 | - | CS-729 Evolutionary Computation: Methods and Algorithms |
| Tuesday 16.02.2027 | 14:15-16:00 | - | CS-729 Evolutionary Computation: Methods and Algorithms |
| Wednesday 17.02.2027 | 14:15-16:00 | - | CS-729 Evolutionary Computation: Methods and Algorithms |
| Thursday 18.02.2027 | 14:15-16:00 | - | CS-729 Evolutionary Computation: Methods and Algorithms |
| Friday 19.02.2027 | 14:15-16:00 | - | CS-729 Evolutionary Computation: Methods and Algorithms |