Algorithms for Hard Problems
Language
The course will be held in English, as long there is at least one non-German speaking student in the class.
Contents
Many real-world problems turn out to be NP-hard, which means that no efficient algorithms are known for them. In practice, therefore, heuristic methods are usually employed to solve them; while these often provide sufficiently good runtime results or solutions, they are unfortunately usually difficult to understand and do not allow for any guaranteed statements about their quality. In this course, we will explain several algorithmic methods that offer an alternative to heuristic methods, such as approximate algorithms or algorithms with moderate exponential complexity. Another approach that allows us to deal with NP-hard problems is parameterized algorithms. For many NP-hard problems, the exponential growth of runtime depends only on a small part of the input, known as a parameter. This leads to the concept of parameterized algorithms: if the values of the parameters are small in specific applications of the problem in question, the exponential growth can be accepted if necessary, and the problem can be efficiently solved using a fixed-parameter algorithm.
This course introduces several interesting methods and techniques for developing parameterized and approximate algorithms. Furthermore, we will discuss the complexity theory that deals with such algorithms.
The course partly consists of integrated exercises that are optional but will be discussed in class.
Prerequisites: Knowledge from the introductory courses, particularly algorithms and some complexity theory.
Lecture Materials
Lecture notes can be found in the Moodle course.
Literature
- R. Downey, M. Fellows: Parameterized Complexity, Springer-Verlag, 1999.
- F. Fomin and D. Kratsch: Exact Exponential Algorithms, Springer, 2010
- R. Motwani, P. Raghavan: Randomized Algorithms. Cambridge University Press, 1995.
- R. Niedermeier: Invitation to Fixed-Parameter Algorithms, Oxford University Press, 2006
- U. Schöning: Algorithmik. Spektrum Akademischer Verlag, 2001.
- C.H. Papadimitriou: Computational Complexity. Addison-Wesley, 1994.
- Lecture Notes