Efficient Preprocessing and Parameterized Algorithms
Code  Completion  Credits  Range 

MIPAM  Z,ZK  4  2P+1C 
 Lecturer:
 Ondřej Suchý (guarantor)
 Tutor:
 Ondřej Suchý (guarantor), Radovan Červený
 Supervisor:
 Department of Theoretical Computer Science
 Synopsis:

There are many optimization problems for which no polynomial time algorithms are known (e.g. NPcomplete 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 practicee.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:

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., BIEGRA, BIEAG1, BIEAG2) 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. Nonexistence of polynomiál size kernels for some problems.
6. Dynamic programming, exploitation of the inclusionexclusion principle. Color Coding.
7. Iterative compression. Greedy localization.
8. Treewidth and basic properties.
9. Dynamic programming on graphs of bounded treewidth. 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 FixedParameter Algorithms, Oxford University Press, 2006.
 Note:
 Further information:
 https://courses.fit.cvut.cz/MIPAM/
 Timetable for winter semester 2019/2020:
 Timetable is not available yet
 Timetable for summer semester 2019/2020:

06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon Tue Fri Thu Fri  The course is a part of the following study plans:

 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 20162017 (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)