Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2024/2025

Complexity Theory

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
NI-CPX Z,ZK 5 3P+1C Czech
Garant předmětu:
Ondřej Suchý
Lecturer:
Dušan Knop, Ondřej Suchý
Tutor:
Michal Opler, Ondřej Suchý
Supervisor:
Department of Theoretical Computer Science
Synopsis:

Students will learn about the fundamental classes of problems in the complexity theory and different models of algoritms and about implications of the theory concerning practical (in)tractability of difficult problems.

Requirements:

Knowledge of graph theory and graph algorithms in scope of BIE-AG1, as well as formal languages, Turing machines, P and NP classes, and nedeterminism in scope of BIE-AAG is assumed. Knowledge from BIE-AG2, such as Hamilton cycles, TSP, approximation algorithms, etc. is highly beneficial.

Syllabus of lectures:

1. Computational problems and models of computation, Turing Machine, Undecideability.

2. Time hierarchy, non-deterministic Turing Machine.

3. Class NP, the existence of an NP-complete problem, Cook's theorem.

4. Strong and weak NP-hardness, pseudopolynomial algorithms, class coNP, Ladner's theorem.

5. Oracle Turing Machine, relativization, Baker-Gill-Solovay theorem.

6. Polynomial hierarchy, problems hard for classes of the hierarchy.

7. Space complexity, Class PSPACE, Savitch's Theorem, Logspace.

8. Boolean circuits, Circuit complexity, P/poly, circuits of bounded depth, paralelization of computation, P-completeness.

9. Probabilistic Turing Machine, Classes of randomized algorithms, error reduction, relations to P/poly and to Polynomial Hierarchy.

10. Optimalization problems, Approximation algorithms, Classes of approximability.

11. Probabilistically checkable proofs, PCP theorem, inaproximability of Vertex Cover and Independent Set.

12. Exponential Time Hypothesis (ETH), Strong ETH, their relations and implications.

13. Quantum Computation and relations to classical classes.

Syllabus of tutorials:

1. Complexity of algorithms, simulation of models of computation in different model.

2. Non-determinism, class NP.

3. Problems outside NP, various NP-complete problems a reductions between them, problems in coNP.

4. Problems in PSPACE and various classes of the polynomial hierarchy, examples of circuits for various simple problems.

5. Amplification of success probability of randomized algorithms, examples of randomized algorithms.

6. Various approximation algorithms a proofs of inapproximability.

Study Objective:

To provide a theoretical background for deciding whether a given problem is, according to our present knowledge, tractable and what kind of computational methods could be used.

Study materials:

S. Arora, B. Barak, ''Computational Complexity: A Modern Approach''. Cambridge University Press, 2009. ISBN 0521424267.

Goldreich, O. Computational Complexity: A Conceptual Perspective. Cambridge University Press, 2008. ISBN 052188473X.

R. Motwani, P. Raghavan, ''Randomized Algorithms''. Cambridge University Press, 1995. ISBN 0521474655.

M. Mitzenmacher, E. Upfal, '' Probability and Computing: Randomized Algorithms and Probabilistic Analysis''. Cambridge University Press, 2005, ISBN9780521835404.

Christos H. Papadimitriou, “Computational Complexity”. Pearson, 1993. ISBN 978-0201530827

D. P. Williamson, D. B. Shmoys: “The Design of Approximation Algorithms”, Cambridge university press, 2011. ISBN 9780521195270

V. V. Vazirani: Approximation Algorithms, Springer, 2001. ISBN 3540653678

Note:
Further information:
https://courses.fit.cvut.cz/NI-CPX/
Time-table for winter semester 2024/2025:
Time-table is not available yet
Time-table for summer semester 2024/2025:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2024-04-17
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet6290606.html