Efficient Preprocessing and Parameterized Algorithms
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
NI-PAM | Z,ZK | 4 | 2P+1C | Czech |
- Garant předmětu:
- Lecturer:
- Tutor:
- Supervisor:
- Department of Theoretical Computer Science
- Synopsis:
-
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.
- Requirements:
-
Only basic knowledge of Graph Theory and Computational Complexity (e.g., BIE-AG1, BIE-AG2, BIE-AAG) 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.
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.
- Note:
- Further information:
- https://courses.fit.cvut.cz/NI-PAM/
- No time-table has been prepared for this course
- The course is a part of the following study plans:
-
- Master specialization Computer Security, in Czech, 2020 (elective course)
- Master specialization Design and Programming of Embedded Systems, in Czech, 2020 (elective course)
- Master specialization Computer Systems and Networks, in Czech, 202 (elective course)
- Master specialization Management Informatics, in Czech, 2020 (elective course)
- Master specialization Software Engineering, in Czech, 2020 (elective course)
- Master specialization System Programming, in Czech, version from 2020 (elective course)
- Master specialization Web Engineering, in Czech, 2020 (elective course)
- Master specialization Knowledge Engineering, in Czech, 2020 (elective course)
- Master specialization Computer Science, in Czech, 2020 (elective course)
- Mgr. programme, for the phase of study without specialisation, ver. for 2020 and higher (elective course)
- Study plan for Ukrainian refugees (elective course)
- Master specialization System Programming, in Czech, version from 2023 (elective course)
- Master specialization Computer Science, in Czech, 2023 (PS, elective course)