Machine Learning: Evolutionary Algorithms

Please register via moodle:

Moodle is often very slow, in that case use the following links:

Please also register in the Moodle course, which will be used for announcements and for exam registration.

Evolutionary Algorithms are randomized optimization methods. They are inspired by principles of biological evolution, however, applied in a technical context for the solution of mathematical or technical optimization problems,

These population-based methods apply the principles of inheritance, variation, and the "survival of the fittest" to candidate solutions. The resulting search heuristics are applicable to a wide variety of application problems. They are conceptually relatively simple and often easy to implement. Their analysis requires elaborate tools and quickly becomes intractable. Evolutionary search is often applied to the approximate solution of hard optimization tasks for which efficient problem-specific solvers are not available.

The course starts out with a basic model of an evolutionary algorithm. Departing from this model students will learn about various aspects of evolutionary optimization on discrete and continuous search spaces, from which a systematic taxonomy of modular components will be developed.

The course applies the flipped classroom format. Students work through the relevant lecture material at home; most of the material is provided in the form of videos. All lecture material is in English. The presence time is dedicated to a practical session. Most of the practical session is filled with exercises, many of which involve programming tasks. We will use the Python programming language. All exercises are distributed in the form of Jupyter notebooks.



Course type
6 CP
Winter Term 2022/2023
moodle course available


Takes place every week on Wednesday from 10:00 to 14:00 in room IA 0/158-79.
First appointment is on 12.10.2022
Last appointment is on 01.02.2023


The course is designed for Master students of the Angewandte Informatik and Medizinphysik programs, but all students with a mathematical or technical background, e.g., studying natural science or engineering topics, should have the necessary background.

Participants must be familiar with linear algebra and elementary probability theory. For example, students should be well acquainted with the following terms:

  • vector, basis, linear function, linear map, matrix
  • norm, inner product, orthogonal
  • probability, distribution, density, quantile
  • normal distribution, expectation, variance, covariance

More advanced mathematical material will be introduced as needed.

The course is taught in a flipped classroom format. Most of the presence time is dedicated to practical exercises, many of which involve programming. The course it taught online via zoom.

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