Machine Learning: Evolutionary Algorithms

On the 14th of December 2023 the course takes place in ID 03/139 (CIP-Pool 1).

This course provides an in-depth introduction to practical optimization with algorithms from the domain of evolutionary computation.

Evolutionary Algorithms are randomized search and optimization heuristics inspired by principles of biological evolution. The field aims to exploit the principle of the "survival of the fittest" for the solution of technical problems. The resulting optimization algorithms are conceptually simple, widely applicable, and easy to implement. Evolutionary search has applications in science and engineering for the approximate solution of difficult "black box" problems.

The course starts with a general overview of the wide field of optimization, including problem modeling. It then introduces different flavors of evolutionary computation, in particular genetic algorithms, genetic programming, and evolution strategies including covariance matrix adaptation. The lecture develops the basic evolutionary optimization model. Various aspects of evolutionary search in discrete and continuous search spaces are discussed in detail, resulting in a systematic taxonomy of largely modular building blocks.

The second part of the course considers a range of typical challenges, like handling constraints, highly multi-modal problems, noisy objective functions, and multiple objectives. It closes with neuroevolution, a method for training neural network controllers, as a modern application domain.



Course type
6 CP
Winter Term 2023/2024


Takes place every week on Thursday from 10:00 to 14:00 in room IA 0/158-79 (PC-Pool 1).
First appointment is on 12.10.2023
Last appointment is on 01.02.2024
Takes place on 14.12.2023 from 10:00 to 14:00 in room ID 03/139 (CIP-Pool 1).


The course is designed for Master students of technical subjects in computer science, mathematics, engineering, and natural sciences. It assumes solid knowledge of math basics, in particular linear algebra (e.g., eigen decomposition) and probability, as well as some Python programming.

The Institut für Neuroinformatik (INI) is a central research unit of the Ruhr-Universität Bochum. We aim to understand the fundamental principles through which organisms generate behavior and cognition while linked to their environments through sensory systems and while acting in those environments through effector systems. Inspired by our insights into such natural cognitive systems, we seek new solutions to problems of information processing in artificial cognitive systems. We draw from a variety of disciplines that include experimental approaches from psychology and neurophysiology as well as theoretical approaches from physics, mathematics, electrical engineering and applied computer science, in particular machine learning, artificial intelligence, and computer vision.

Universitätsstr. 150, Building NB, Room 3/32
D-44801 Bochum, Germany

Tel: (+49) 234 32-28967
Fax: (+49) 234 32-14210