Complexity Theory

From International Center for Computational Logic

Complexity Theory

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

Lecturer

Tutor

SWS

  • 4/2/0

Modules

Examination method

  • Oral exam

Lecture series


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

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 are published on this page (see Dates & Materials above)

  • The weekly lecture sessions will take place on Tuesdays DS3 (11:10 to 12:40), and Wednesdays DS6 (16:40 to 18:10).
  • The weekly exercise session will take place on Tuesdays DS5 (14:50 to 16:20).
The first exercise will take place in the second week, i.e., on 17 Oct 2017
  • All sessions will take place in room APB/E005.
  • Important: There will be no lectures or exercises in the third week (24th and 25th Oct 2017)
  • 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 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 DS3, October 10, 2017 in APB E005 File 1 File 2
Lecture Turing Machines and Languages DS6, October 11, 2017 in APB E005 File 1 File 2
Lecture Undecidability DS3, October 17, 2017 in APB E005 File 1 File 2
Exercise Mathematical Foundations, Decidability, and Recognisability DS5, October 17, 2017 in APB E005 File
Lecture Undecidability and Recursion DS6, October 18, 2017 in APB E005 File 1 File 2
Lecture Time Complexity and Polynomial Time DS6, November 1, 2017 in APB E005 File 1 File 2
Lecture NP DS3, November 7, 2017 in APB E005 File 1 File 2
Exercise Undecidability and Rice's Theorem DS5, November 7, 2017 in APB E005 File
Lecture NP-Completeness DS6, November 8, 2017 in APB E005 File 1 File 2
Lecture NP-Complete Problems DS3, November 14, 2017 in APB E005 File 1 File 2
Exercise Time Complexity, PTime, and NP DS5, November 14, 2017 in APB E005 File
Lecture Space Complexity DS6, November 15, 2017 in APB E005 File 1 File 2
Lecture Polynomial Space DS3, November 21, 2017 in APB E005 File 1 File 2
Exercise NP-Completeness and Time Complexity DS5, November 21, 2017 in APB E005 File
Lecture Games/Logarithmic Space DS3, November 28, 2017 in APB E005 File 1 File 2
Exercise Space Complexity DS5, November 28, 2017 in APB E005 File
Lecture The Time Hierarchy Theorem DS6, November 29, 2017 in APB E005 File 1 File 2
Lecture Space Hierarchy and Gaps DS3, December 5, 2017 in APB E005 File 1 File 2
Exercise Log-space Complexity and Diagonalization DS5, December 5, 2017 in APB E005 File
Lecture P vs. NP: Ladner's Theorem DS6, December 6, 2017 in APB E005 File 1 File 2
Lecture P vs. NP and Diagonalisation DS3, December 12, 2017 in APB E005 File 1 File 2
Exercise Diagonalisation DS5, December 12, 2017 in APB E005 File
Lecture Alternation DS6, December 13, 2017 in APB E005 File 1 File 2
Lecture The Polynomial Hierarchy DS3, December 19, 2017 in APB E005 File 1 File 2
Exercise Diagonalisation and Alternation DS5, December 19, 2017 in APB E005 File
Lecture Questions and Answers DS6, December 20, 2017 in APB E005 File 1 File 2
Lecture Circuit Complexity DS3, January 9, 2018 in APB E005 File 1 File 2
Exercise Alternation and the Polynomial Hierarchy DS5, January 9, 2018 in APB E005 File
Lecture Circuits for Parallel Computation DS6, January 10, 2018 in APB E005 File 1 File 2
Lecture Probabilistic Turing Machines DS3, January 16, 2018 in APB E005 File 1 File 2
Exercise Circuit Complexity DS5, January 16, 2018 in APB E005 File
Lecture Probabilistic Complexity Classes (1) DS6, January 17, 2018 in APB E005 File 1 File 2
Lecture Probabilistic Complexity Classes (2) DS3, January 23, 2018 in APB E005 File 1 File 2
Exercise Probabilistic TMs and ComplexityClasses DS5, January 23, 2018 in APB E005 File
Lecture Quantum Computing (1) DS6, January 24, 2018 in APB E005 File 1 File 2
Lecture Quantum Computing (2) DS3, January 30, 2018 in APB E005 File 1 File 2
Exercise Probabilistic Complexity Classes (3) DS5, January 30, 2018 in APB E005 File
Lecture Summary, Outlook, Consultation DS6, January 31, 2018 in APB E005


Calendar