Machine Learning for Automated Algorithm Design
News
- The first session will be at the Oct 18th. We will not meet at the Oct 16th.
- All news and exercise sheets will be online at ILAS
Background
Automatic algorithm design gets more and more important because algorithms get more complex
and a developer has to make calls about many aspects, e.g.,
which subroutine to use or how to set parameters (also known as magic constants).
From the perspective of a user,
there often exist more than one algorithm to solve a given problem.
So, how to choose a well performing algorithm?
In practice, it is even worse:
There exist no single well-performing parameter setting or best algorithm for all kind of possible inputs.
Therefore, we have to determine the best settings for new inputs again and again
which can be (i) a really time-consuming and annoying task
and (ii) a human is often biased by her own experience
which is often not optimal.
To automatically solve all these problems,
automatic algorithm design can be used
to determine well-performing algorithm parameter settings,
to select the best algorithm for a given input,
or even to help to develop and implement better algorithms.
In our course "ML4AAD", we will discuss all these problems and how to solve them.
To this end, we will use a lot machine learning and optimization techniques to solve them effectively.
Furthermore, we will focus on hard combinatorial problems as an example class of algorithms
to apply automatic algorithm design in the course.
We strongly recommend that you know the foundations of
(i) artificial intelligence (AI) and (ii) machine learning (ML) in order to attend the course.
The participants should have attended at least in one other course for AI and ML in the past.
In particular, the lectures are partitioned in 8 modules:
- Introduction to NP-Hard problems
- Methods for solving combinatorial problems
- Empirical evaluation of algorithms
- Statistical models of the empirical hardness of NP-hard problems
- Hyperparameter optimization
Dynamics
__The course will be in English.__
We will meet weekly for a lecture and an exercise.
Roughly every second week, there will be a new exercise sheet.
Most exercises will be practical (teams of 2 students!)
so that you learn how to apply automatic algorithm design in practice.
You must get 50% points from the exercise to participate in the final exam (see below).
- Building: 106; Room: SR 00 007
- Lecture: Monday 12:20 - 13:50
- Exercise: Wednesday 12:20 - 13:50
Exam
In the end, everyone (no team work!) has to implement a larger project
which is the base of the final oral exam.
In the first 15 minutes of the oral exam, you have to present your project
and in the second 15 minutes, we will ask you to answer questions about further course material.