Complexity Theory
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
MI-CPX | Z,ZK | 5 | 3P+1C | Czech |
- Course guarantor:
- Lecturer:
- Tutor:
- 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 (un)solvability of difficult problems.
- Requirements:
- Syllabus of lectures:
-
1. Models of computation.\r
2. Algorithmic undecidability.\r
3. Nondeterminism, the class NP, the existence of an NP-complete problem.\r
4. NP-complete problems.\r
5. Problem P=NP, relativization, classes coNP and NP intersection coNP.\r
6. The class PSPACE, Savitch theorem, hierarchy in PSPACE.\r
7. PSPACE-complete problem (quantified formulae and games), complete problem for the hierarchy classes.\r
8. Circuit and algebraic complexity.\r
9. Randomized algorithms, complexity classes of randomized algorithms (classes BPP, ZP, RP).\r
10. One-way functions, pseudorandom sequences, discrete logarithm, cryptography.\r
11. Interactive proofs, probabilistically verifiable proofs, expanders, gap problem, PCP theorem, non-aproximability of 3SAT.\r
- Syllabus of tutorials:
-
1. Mutual simulations of computational models.
2. [2] NP-complete problems and their reductions.
3. Particular problems in coNP and NP intersection coNP.
4. [2] Complete problems for PSPACE and different classes of the hierarchy in PSPACE.
5. [2] Examples of circuits for different simple problems, bounded fan-in.
6. [3] Examples of different Monte-Carlo and Las Vegas algorithms.
7. Examples of pseudorandom sequences ans simple facts about their (non-)predictability.
8. Amplification of a success probability, examples of randomized algorithms.
9. Expanders and random walks, Markov chains and their mixing.
- Study Objective:
-
Provide a theoretical background for deciding whether a given problem is, according to our present knowledge, solvable and what kind of computational methods could be used.
- Study materials:
-
1. Arora, S., Barak, B. ''Computational Complexity: A Modern Approach''. Cambridge University Press, 2009. ISBN 0521424267.
2. Goldreich, O. ''Computational Complexity: A Conceptual Perspective''. Cambridge University Press, 2008. ISBN 052188473X.
3. Motwani, R., Raghavan, P. ''Randomized Algorithms''. Cambridge University Press, 1995. ISBN 0521474655.
- Note:
- Further information:
- https://courses.fit.cvut.cz/MI-CPX/
- No time-table has been prepared for this course
- The course is a part of the following study plans:
-
- Master branch Knowledge Engineering, in Czech, 2016-2017 (elective course)
- Master branch Computer Systems and Networks, in Czech, 2016-2019 (elective course)
- Master branch Design and Programming of Embedded Systems, in Czech, 2016-2019 (elective course)
- Master branch Web and Software Engineering, spec. Info. Systems and Management, in Czech, 2016-2019 (elective course)
- Master branch Web and Software Engineering, spec. Software Engineering, in Czech, 2016-2019 (elective course)
- Master branch Web and Software Engineering, spec. Web Engineering, in Czech, 2016-2019 (elective course)
- Master program Informatics, unspecified branch, in Czech, version 2016-2019 (VO)
- Master branch System Programming, spec. System Programming, in Czech, 2016-2019 (elective course)
- Master branch System Programming, spec. Computer Science, in Czech, 2016-2017 (compulsory course of the branch)
- Master branch Knowledge Engineering, in Czech, 2018-2019 (elective course)