Complexity Theory

From International Center for Computational Logic

Complexity Theory

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

Lecturer

Tutor

SWS

  • 4/2/0

Modules

Examination method

  • Oral exam

Matrix channel

Lecture series


Contents

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
  • 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 limit for participants. 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 world-wide.

Contact

Besides the regular meetings in the 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.

Schedule and Location

All dates will be published on this page (see Dates & Materials above).

  • The weekly lecture sessions will take place on Mondays DS2 (9.20 - 10.50) and Tuesdays DS2 (9.20 - 10.50) in APB E005. The room for the Monday session DS2 will be announced soon.
  • The weekly exercise session will take place on Tuesdays DS5 (14.50 - 16.20) in APB E005.
  • Important: Stay informed about current covid-19 regulations of 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 DS2, October 9, 2023 in APB E008
Lecture Turing Machines and Languages DS2, October 10, 2023 in APB E005
Lecture Undecidability DS2, October 16, 2023 in APB E008
Lecture Undecidability (continued) DS2, October 17, 2023 in APB E005
Exercise Mathematical Foundations, Decidability, and Recognisability DS5, October 17, 2023 in APB E005
Lecture Undecidability and Recursion DS2, October 23, 2023 in APB E008
Lecture Time Complexity and Polynomial Time DS2, October 24, 2023 in APB E005
Exercise Undecidability DS5, October 24, 2023 in APB E005
Lecture Time Complexity and Polynomial Time (continued) DS2, October 30, 2023 in APB E008
No session Reformation Day (Public Holiday) DS2, October 31, 2023 in APB E005
No session Reformation Day (Public Holiday) DS5, October 31, 2023 in APB E005
Lecture NP DS2, November 6, 2023 in APB E008
Lecture NP-Completeness DS2, November 7, 2023 in APB E005
Exercise Time Complexity DS5, November 7, 2023 in APB E005
Lecture NP-Complete Problems DS2, November 13, 2023 in APB E008
Lecture Space Complexity DS2, November 14, 2023 in APB E005
Exercise NP and NP-Completeness (continued) DS5, November 14, 2023 in APB E005
Lecture Polynomial Space DS2, November 20, 2023 in APB E008
Lecture Polynomial Space (continued) DS2, November 21, 2023 in APB E005
Exercise NP-Completeness and Time Complexity DS5, November 21, 2023 in APB E005
Lecture Games/Logarithmic Space DS2, November 27, 2023 in APB E008
Lecture The Time Hierarchy Theorem DS2, November 28, 2023 in APB E005
Exercise Space Complexity DS5, November 28, 2023 in APB E005
Lecture Space Hierarchy and Gaps DS2, December 4, 2023 in APB E008
Exercise Space Complexity (continued) DS5, December 5, 2023 in APB E005
Lecture P vs. NP: Ladner's Theorem DS5, December 5, 2023 in APB E005
Lecture P vs. NP and Diagonalisation DS2, December 11, 2023 in APB E008
Lecture P vs. NP and Diagonalisation (continued) DS5, December 12, 2023 in APB E005
Exercise Diagonalisation DS5, December 12, 2023 in APB E005
Lecture Alternation DS2, December 18, 2023 in APB E008
Lecture The Polynomial Hierarchy DS2, December 19, 2023 in APB E005
Exercise Diagonalisation and Alternation DS5, December 19, 2023 in APB E005
Lecture The Polynomial Hierarchy / Circuit Complexity DS2, January 8, 2024 in APB E008
Lecture Circuits for Parallel Computation DS2, January 9, 2024 in APB E005
Exercise Polynomial Hierarchy DS5, January 9, 2024 in APB E005
Lecture Probabilistic Turing Machines DS2, January 15, 2024 in APB E008
Lecture Probabilistic Complexity Classes (1) DS2, January 16, 2024 in APB E005
Exercise Alternation DS5, January 16, 2024 in APB E005
Lecture Probabilistic Complexity Classes (2) DS2, January 22, 2024 in APB E008
Lecture Quantum Computing (1) DS2, January 23, 2024 in APB E005
Exercise Circuit Complexity DS5, January 23, 2024 in APB E005
Lecture Quantum Computing (2) DS2, January 29, 2024 in APB E008
Lecture Interactive Proof Systems DS2, January 30, 2024 in APB E005
Exercise Probabilistic TMs and Complexity Classes DS5, January 30, 2024 in APB E005


Calendar