# Lecture "Machine Learning – Evolutionary Algorithms"

## Credit Points

The course (lecture plus practical course) is worth 6 CP.

## Time and Location

- Winter Term 2016/2017
- Lecture: Friday, 10:15-11:45, room NB 3/57
- Practical course: Monday, 12:15-13:45, room NB 3/57

## Summary

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.

## Language

The course consists of a two hours/week lecture and an accompanying two hours/week practical course. The course will be in English.

## Prerequisites

The course is designed for Master students of the Angewandte Informatik program. The lecture Mathematics for Modeling and Data Analysis is strongly recommended as a background.

Participants should 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

## Homework

The course is accompanied by regular homework assignments, some of which will involve programming tasks in Python. All homework assignments are distributed and handed in in the form of Jupyter notebooks.

## Moodle

The course is managed in Moodle The course is managed in Moodle. Lecture slides and homework assignments will be available there. The system will also be used for handing in homework assignments.