Foundations of Complexity Theory
Foundations of Complexity Theory
Course with SWS 2/2/0 (lecture/exercise/practical) in WS 2020
- Oral exam
If you want to contact David Carral, you may use his new email address: firstname.lastname@example.org. His TUD email will not work after the 20th of January.
- All examinations will be oral remote exams.
- The exams will on the 24th of February (Wednesday).
- Students have to register for the exam by following the usual procedure for their study program and module. Once the examination date is known, students must contact the KBS secretary office (email@example.com) to submit the registration forms and to ask for a time slot.
- The duration of exams for Foundations of Complexity Theory will correspond to 4 SWS, unless another length is clearly stated in the email to the KBS secretary.
- We also offer examinations for last year's Complexity Theory course (6 SWS). Students who want to take this exam have to register for this course and should emphasize the length of 6 SWS when asking for a time slot to avoid confusion.
- Exams are "closed book" (i.e., additional materials and lecture notes are not permitted).
- The 15th Feb is the deadline for exam registration (i.e., the students must contact our secretary contacted our secretary with all the necessary forms to ask for a time slot by this date; it is NOT enough if only the examination office is informed on that day).
- All examinations will be oral remote exams.
- The exams will take place on the 24th of February
- Students have to register for the exam by following the usual procedure for their study programme and module. Once the examination date is known, students must contact the KBS secretary office (<email>) to submit the registration forms and to ask for a time slot.
- The duration of exams for Foundations of Complexity Theory will correspond to 4SWS, unless another length is clearly stated in the email to the KBS secretary.
- We also offer examinations for last year's Complexity Theory course (6SWS). Students who want to take this exam have to register for this course and should emphasize the length of 6SWS when asking for a time slot to avoid confusion.
- Exams are "closed book", i.e., additional materials and lecture notes are not permitted.
This course covers the fundamental concepts as well as advanced topics of complexity theory.
Key topics are:
- Turing Machines (revision): Definition of Turing Machines; Variants; Computational Equivalence; Decidability and Recognizability; Enumeration
- Time Complexity: Measuring Time Complexity; Many-One Reductions; Cook-Levin Theorem; Time Complexity Classes (P, NP, ExpTime); NP-completeness; pseudo-NP-complete problems
- Space Complexity: Space Complexity Classes (PSpace, L, NL); Savitch’s Theorem; PSpace-completeness; NL-completeness; NL = coNL
- Diagonalization: Hierarchy Theorems (det. Time, non-det. Time, Space); Gap Theorem; Ladner’s Theorem; Relativization; Baker-Gill-Solovay Theorem
- Alternation: Alternating Turing Machines; APTime = PSpace; APSpace = ExpTime; Polynomial Hierarchy
- Circuit Complexity: Boolean Circuits; Alternative Proof of Cook-Levin Theorem; Parallel Computation (NC); P-completeness; P/poly; (Karp-Lipton Theorem, Meyer’s Theorem)
- Probabilistic Computation: Randomized Complexity Classes (RP, PP, BPP, ZPP); Sipser-Gács-Lautemann Theorem
- Quantum Computing: Quantum circuits, BQP, some basic results
Schedule and Location
Because of the ongoing COVID-19 pandemic, we are offering this lecture as an online course. Here are all the details:
- We will host the tutorials as "live sessions" on Tuesdays from 14:50 to 16:20. See the schedule of these sessions under the "Dates and Materials" tab for more information.
- These "live sessions" will take place in a dedicated BigBlueButton room. To access this room, click on the Videokonferenz link associated with the tutorial session under "Dates and Materials". The room will be open 10 minutes before the beginning of each session.
- Exercise sheets preparing for the tutorials and the final exams will be uploaded at least one week before the tutorial takes place.
- Every week on Tuesday, we will publish either one video (if there is a tutorial happening on that week) or two videos (if there is none) with the weekly lectures. These videos will be posted on this webpage under the "Dates and Materials" tab.
Simliar courses have been taught at TU Dresden by Prof. Dr. Markus Krötzsch in previous years:
Note that the lecture this year is a bit more compact than the ones offered in 2018 and 2019.
AcknowledgementsThe slides for some of the foundational lectures of this course are based on slides used by Markus Krötzsch for the course Complexity Theory at the University of Oxford, which were adopted from slides created by Stefan Kreutzer and Ian Horrocks for that course. Further material has been prepared first by Daniel Borchmann during his time at TU Dresden.
- Michael Sipser: Introduction to the Theory of Computation, International Edition; 3rd Edition; Cengage Learning 2013
- Introductory text that covers all basic topics in this lecture.
- Erich Grädel: Complexity Theory; Lecture Notes, Winter Term 2009/10. Available online at https://logic.rwth-aachen.de/Teaching/KTQC-WS09/index.html.en
- Free lecture notes with general overview of main results; more detailed than Sipser on oracles and alternation; main reference for randomized computation
- John E. Hopcroft and Jeffrey D. Ullman: Introduction to Automata Theory, Languages, and Computation; Addison Wesley Publishing Company 1979
- The Cinderella Book; contains a lot of information not contained in most other books; the hierarchy of undecidable problems as well as Rice' characterization of recognizable properties of recognizable languages are from here.
- Christos H. Papadimitriou: Computational Complexity; 1995 Addison-Wesley Publishing Company, Inc
- Standard reference text for many advanced aspects on complexity theory; the proofs of the Linear Speedup Theorem, the Gap Theorem, and Ladner's Theorem as given in the lecture are from here
- Sanjeev Arora and Boaz Barak: Computational Complexity: A Modern Approach; Cambridge University Press 2009
- Extensive book covering the state of the art of Complexity Theory
- Michael R. Garey and David S. Johnson: Computers and Intractability; Bell Telephone Laboratories, Inc. 1979
- The classical book on Complexity Theory; contains a long list of problems with their complexities
|Lecture||Introduction||File 1, File 2, File 3|
|Lecture||Mathematical Foundations, Decidability, and Recognisability||File 1, File 2, File 3|
|Exercise||Mathematical Foundations, Decidability, and Recognisability||DS5, November 3, 2020 in Video conference||File|
|Lecture||Time Complexity and Polynomial Time||File 1, File 2, File 3|
|Lecture||NP||File 1, File 2, File 3|
|Lecture||NP-Completeness||File 1, File 2, File 3|
|Exercise||Time Complexity, PTime, and NP||DS5, November 17, 2020 in Video conference||File|
|Lecture||NP-Complete Problems||File 1, File 2, File 3|
|Exercise||NP-Completeness and Time Complexity||DS5, November 24, 2020 in Video conference||File|
|Lecture||Space Complexity||File 1, File 2, File 3|
|Lecture||Polynomial Space||File 1, File 2, File 3|
|Lecture||Games/Logarithmic Space||File 1, File 2, File 3|
|Exercise||Space Complexity||DS5, December 8, 2020 in Video conference||File|
|Lecture||The Time Hierarchy Theorem||File 1, File 2, File 3|
|Exercise||Diagonalisation||DS5, December 15, 2020 in Video conference|
|Lecture||Space Hierarchy and Gaps||File 1, File 2, File 3|
|Lecture||P vs. NP: Ladner's Theorem||File 1, File 2, File 3|
|Lecture||P vs. NP and Diagonalisation||File 1, File 2, File 3|
|Exercise||Diagonalisation and Alternation||DS5, January 12, 2021 in Video conference||File|
|Lecture||Alternation||File 1, File 2, File 3|
|Exercise||Alternation and the Polynomial Hierarchy||DS5, January 19, 2021 in Video conference||File|
|Lecture||The Polynomial Hierarchy||File 1, File 2, File 3|
|Exercise||Circuit Complexity||DS5, January 26, 2021 in Video conference||File|
|Lecture||Circuit Complexity||File 1, File 2, File 3|
|Exercise||Probabilistic Turing Machines and Complexity Classes||DS5, February 2, 2021 in Video conference||File|
|Lecture||Probabilistic Turing Machines and Complexity Classes||File 1, File 2, File 3|