Efficient Preprocessing and Parameterized Algorithms
- Ondřej Suchý (guarantor)
- Ondřej Suchý (guarantor), Radovan Červený
- Department of Theoretical Computer Science
There are many optimization problems for which no polynomial time algorithms are known (e.g. NP-complete problems). Despite that it is often necessary to solve these problems exactly in practice. We will demonstrate that many problems can be solved much more effectively than by naively trying all possible solutions. Often one can find a common property (parameter) of the inputs from practice-e.g., all solutions are relatively small. Parameterized algorithms exploit that by limiting the time complexity exponentially in this (small) parameter and polynomially in the input size (which can be huge).
Parameterized algorithms also represent a way to formalize the notion of effective polynomial time preprocessing of the input, which is not possible in the classical complexity. Such a polynomial time preprocessing is then a suitable first step, whatever is the subsequent solution method.
We will present a plethora of parameterized algorithm design methods and we will also show how to prove that for some problem (and parameter) such an algorithm (presumably) does not exist. We will also not miss out the relations to other approaches to hard problems such as moderately exponential algorithms or approximation schemes.
The lecture is intended rather for students of higher years of studies, eventually Ph.D. students. However, only basic knowledge of Graph Theory and Computational Complexity (e.g., BIE-GRA, BIE-AG1, BIE-AG2) is required for understanding. Hence, the lecture can be also attended by students in the third year of bachelor studies.
- Syllabus of lectures:
1. Introduction. Bounded Search Trees, Basic definitions.
2. Kernelization as a formalization of the term „efficient preprocessing“. Examples of simple kernelizations.
3. Interleaving kernelization with bounded search trees. More complex bounded search trees.
4. Kernelization based on global rules.
5. Non-existence of polynomiál size kernels for some problems.
6. Dynamic programming, exploitation of the inclusion-exclusion principle. Color Coding.
7. Iterative compression. Greedy localization.
8. Tree-width and basic properties.
9. Dynamic programming on graphs of bounded tree-width. Courcelle's Theorem.
10. Baker's style approximation schemes.
11. Minors, their usage in design of parameterized algorithms
12. Parameterized algorithms for planar graphs (Bidimensionality).
13. Classes of parameterized intractability, parameterized reduction, relations to Exponential Time Hypothesis
- Syllabus of tutorials:
Seminars consist of problem solving on the topics of the course.
- Study Objective:
The goal of the study is to get familiar with the basic methods of design of fpt algorithms, kernelization, and methods of proving lower bounds for these.
- Study materials:
M. Cygan, F.V. Fomin, Ł. Kowalik, D. Lokshtanov, D. Marx, Ma. Pilipczuk, Mi. Pilipczuk, S. Saurabh: Parameterized Algorithms, Springer, 2015.
Rodney G. Downey, Michael R. Fellows: Fundamentals of Parameterized Complexity, Springer, 2013.
Rolf Niedermeier: Invitation to Fixed-Parameter Algorithms, Oxford University Press, 2006.
- Further information:
- Time-table for winter semester 2019/2020:
- Time-table is not available yet
- Time-table for summer semester 2019/2020:
Thákurova 7 (FSv-budova A)roomTH:A-1242
Thákurova 7 (FSv-budova A)
Fri Thu Fri
- The course is a part of the following study plans:
- Knowledge Engineering, in Czech, Presented in Czech, for Students who Enrolled in 2015 (elective course)
- Master Informatics, Presented in Czech, Version for Students who Enrolled in 2015 (elective course)
- Knowledge Engineering, in Czech, Presented in Czech, Version 2016 and and 2017 (elective course)
- Computer Security, Presented in Czech, Version 2016 to 2019 (elective course)
- Computer Systems and Networks, Presented in Czech, Version 2016 to 2019 (elective course)
- Design and Programming of Embedded Systems, in Czech, Version 2016 to 2019 (elective course)
- Specialization Web and Software Engineering, in Czech, Version 2016 to 2019 (elective course)
- Specialization Software Engineering, in Czech, Version 2016 to 2019 (elective course)
- Specialization Web Engineering, Presented in Czech, Version 2016 to 2019 (elective course)
- Master Informatics, Presented in Czech, Version 2016 to 2019 (elective course)
- Specialization System Programming, Presented in Czech, Version 2016 to 2019 (elective course)
- Specialization Computer Science, Presented in Czech, Version 2016-2017 (elective course)
- Specialization Computer Science, Presented in Czech, Version 2018 to 2019 (elective course)
- Knowledge Engineering, in Czech, Presented in Czech, Version 2018 to 2019 (elective course)