Complexity Theory

From International Center for Computational Logic

Complexity Theory

Course with SWS 4/2/0 (lecture/exercise/practical) in WS 2025

Contents

This course covers both fundamental concepts and advanced topics in complexity theory.

Key topics are:

  • Turing Machines (revision): Definition of Turing Machines; Variants; Computational Equivalence; Decidability and Recognizability; Enumeration
  • Undecidability: Examples of Undecidable Problems; Mapping Reductions; Rice’s Theorem (both for characterizing Decidability and Recognizability); Recursion Theorem; Outlook into Decidability in Logic
  • 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

Mode of Teaching and Registration

The course generally does not require a special registration, and there is no participant limit. However, students in programmes that use the Selma system (esp., students in CMS Master) will need to register there to obtain credits. Most of the materials will be freely available worldwide.

Schedule and Location

This page will publish all dates (see Dates & Materials above).

  • The weekly lecture sessions will take place on Mondays DS4 (13.00 - 14.30) in APB E005 and Tuesdays DS3 (11.10 - 12.40) in MER 0E23.
  • The weekly exercise session will take place on Tuesday DS5 (14.50 - 16.20), also in APB E005.

Contact

Besides the regular meetings in lectures and exercise classes, you can also contact the teachers and other students in the public discussion channel on Matrix shown on the side.

Acknowledgements

The 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.
Free lecture notes with a 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

Subscribe to events of this course (icalendar)

Lecture Introduction and Motivation DS4, October 13, 2025 in APB E005 File 1 File 2
Lecture Turing Machines and Languages DS3, October 14, 2025 in MER 0E23 File 1 File 2
Lecture Undecidability DS4, October 20, 2025 in APB E005 File 1 File 2
Lecture Undecidability and Recursion DS3, October 21, 2025 in MER 0E23 File 1 File 2
Exercise Mathematical Foundations, Decidability, and Recognisability DS5, October 21, 2025 in APB E005 File
Lecture Time Complexity and Polynomial Time DS4, October 27, 2025 in APB E005 File 1 File 2
Lecture Polynomial-Time Reductions and Nondeterministic Polynomial Time DS3, October 28, 2025 in MER 0E23 File 1 File 2
Exercise Undecidability DS5, October 28, 2025 in APB E005 File
Lecture NP-Completeness DS4, November 3, 2025 in APB E005 File 1 File 2
Lecture NP-Complete Problems DS3, November 4, 2025 in MER 0E23 File 1 File 2
Exercise Time Complexity DS5, November 4, 2025 in APB E005 File
Lecture Space Complexity and PSPACE DS4, November 10, 2025 in APB E005 File 1 File 2
Lecture Polynomial Space and Games DS3, November 11, 2025 in MER 0E23 File 1 File 2
Exercise NP-Completeness DS5, November 11, 2025 in APB E005 File
Lecture Logarithmic Space DS4, November 17, 2025 in APB E005 File 1 File 2
Lecture Hierarchy Theorems DS3, November 18, 2025 in MER 0E23 File 1 File 2
Exercise More NP-Completeness and P-Completeness DS5, November 18, 2025 in APB E005
Lecture Space Hierarchy and Gaps DS4, November 24, 2025 in APB E005 File 1 File 2
Lecture P vs. NP: Ladner's Theorem DS3, November 25, 2025 in MER 0E23 File 1 File 2
Exercise Space Complexity DS5, November 25, 2025 in APB E005 File
Lecture P vs. NP and Diagonalisation DS4, December 1, 2025 in APB E005 File 1 File 2
Lecture Alternation DS3, December 2, 2025 in MER 0E23 File 1 File 2
Exercise Time and Space Complexity DS5, December 2, 2025 in APB E005 File
Lecture The Polynomial Hierarchy DS4, December 8, 2025 in APB E005
Lecture Polynomial Hierarchy / Circuit Complexity DS3, December 9, 2025 in MER 0E23
Exercise Alternation DS5, December 9, 2025 in APB E005
Lecture Circuits and Parallel Computation DS4, December 15, 2025 in APB E005
Lecture Questions and Answers (before Christmas) DS3, December 16, 2025 in MER 0E23
No session Christmas Break DS5, December 16, 2025 in APB E005
Lecture Probabilistic Turing Machines DS4, January 5, 2026 in APB E005
Lecture Probabilistic Complexity Classes (1) DS3, January 6, 2026 in MER 0E23
Exercise Polynomial Hierarchy DS5, January 6, 2026 in APB E005
Lecture Probabilistic Complexity Classes (2) DS4, January 12, 2026 in APB E005
Lecture Quantum Computing (1) DS3, January 13, 2026 in MER 0E23
Exercise Circuit Complexity DS5, January 13, 2026 in APB E005
Lecture Quantum Computing (2) DS4, January 19, 2026 in APB E005
Lecture Interactive Proof Systems (1) DS3, January 20, 2026 in MER 0E23
Exercise Randomised Computation DS5, January 20, 2026 in APB E005
Lecture TBA DS4, January 26, 2026 in APB E005
Lecture TBA DS3, January 27, 2026 in MER 0E23
Exercise Quantum Computing DS5, January 27, 2026 in APB E005
Lecture TBA DS4, February 2, 2026 in APB E005
Lecture Summary and Consultation DS3, February 3, 2026 in MER 0E23
Exercise TBA DS5, February 3, 2026 in APB E005


Calendar