# Complexity Theory

# Complexity Theory

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

**Lecturer**

**Tutor**

**SWS**

- 4/2/0

**Modules**

**Examination method**

- Oral exam

**Matrix channel**

**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

### Mode of Teaching and Registration

The sessions are taught in presence, using a large enough room at TU Dresden. Starting from 22 Nov 2022, the lecture is also streamed live via Zoom, so that students can join while in Covid quarantine or if unable to attend due to the general pandemic situation. The link can be found in Opal under "Links" (see below) and can also be found (or requested anew) in the Matrix chat group.

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. Additionally, we kindly ask you to enroll in the **OPAL course** so we can contact you, should the need arise.
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).
- The weekly exercise session will take place on Wednesdays DS3 (11.10 - 12.40).
**All lecture and exercise sessions**will take place in room APB/E005.**Important:**Stay informed about current covid-19 regulations of TU Dresden. In particular, participants need to provide a certificate of vaccination or recovery, or a current negative test.

**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 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.

- The

- 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 11, 2021 in APB E008 | File |

Lecture | Turing Machines and Languages | DS2, October 12, 2021 in APB E005 | File |

Lecture | Undecidability | DS2, October 18, 2021 in APB E005 | File |

Lecture | Undecidability (continued) | DS2, October 19, 2021 in APB E005 | |

Exercise | Mathematical Foundations, Decidability, and Recognisability | DS3, October 20, 2021 in APB E005 | File |

Lecture | Undecidability and Recursion | DS2, October 25, 2021 in APB E005 | File |

Lecture | Time Complexity and Polynomial Time | DS2, October 26, 2021 in APB E005 | File |

Exercise | Undecidability | DS3, October 27, 2021 in APB E005 | File |

Lecture | Time Complexity and Polynomial Time (continued) | DS2, November 1, 2021 in APB E005 | |

Lecture | NP | DS2, November 2, 2021 in APB E005 | File |

Exercise | Rice's Theorem and PTime | DS3, November 3, 2021 in APB E005 | File |

Lecture | NP-Completeness | DS2, November 8, 2021 in APB E005 | File |

Lecture | NP-Complete Problems | DS2, November 9, 2021 in APB E005 | File |

Exercise | NP and NP-Completeness | DS3, November 10, 2021 in APB E005 | File |

Lecture | Space Complexity | DS2, November 15, 2021 in APB E005 | File |

Lecture | Polynomial Space | DS2, November 16, 2021 in APB E005 | File |

No session | Day of Prayer and Repentance (Public Holiday) | DS3, November 17, 2021 in APB E005 | |

Lecture | Games/Logarithmic Space | DS2, November 22, 2021 in APB E005 | File |

Lecture | Games/Logarithmic Space (continued) | DS2, November 23, 2021 in APB E005 | |

Exercise | NP-Completeness and Time Complexity | DS3, November 24, 2021 in APB E005 | File |

Lecture | The Time Hierarchy Theorem | DS2, November 29, 2021 in APB E005 | File |

Exercise | Space Complexity | DS2, November 30, 2021 in APB E005 | File |

Lecture | Space Hierarchy and Gaps | DS2, December 1, 2021 in APB E005 | File |

Lecture | P vs. NP: Ladner's Theorem | DS3, December 6, 2021 in APB E005 | File |

Lecture | P vs. NP and Diagonalisation | DS2, December 7, 2021 in APB E005 | File |

Lecture | P vs. NP and Diagonalisation (continued) | DS3, December 8, 2021 in APB E005 | |

Lecture | Alternation | DS2, December 13, 2021 in APB E005 | File |

Lecture | The Polynomial Hierarchy | DS2, December 14, 2021 in APB E005 | File |

Exercise | Diagonalisation and Alternation | DS3, December 15, 2021 in Video conference | File |

Lecture | The Polynomial Hierarchy / Circuit Complexity | DS2, December 20, 2021 in APB E005 | File |

Lecture | Questions and Answers | DS2, December 21, 2021 in APB E005 | File |

Exercise | Alternation | DS3, December 22, 2021 in Video conference | File |

Lecture | Circuits for Parallel Computation | DS2, January 10, 2022 in APB E005 | File |

Lecture | Probabilistic Turing Machines | DS2, January 11, 2022 in APB E005 | File |

Exercise | Polynomial Hierarchy | DS3, January 12, 2022 in APB E005 | File |

Lecture | Probabilistic Complexity Classes (1) | DS2, January 17, 2022 in APB E005 | File |

Lecture | Probabilistic Complexity Classes (2) | DS2, January 18, 2022 in APB E005 | File |

Exercise | Circuit Complexity | DS3, January 19, 2022 in APB E005 | File |

Lecture | Quantum Computing (1) | DS2, January 24, 2022 in APB E005 | |

Lecture | Quantum Computing (2) | DS2, January 25, 2022 in APB E005 | |

Exercise | Probabilistic TMs and Complexity Classes | DS3, January 26, 2022 in APB E005 | File |

Lecture | Interactive Proof Systems | DS2, January 31, 2022 in APB E005 | |

Lecture | Summary and Consultation | DS2, February 1, 2022 in APB E005 | |

Exercise | Randomised Computation and Quantum Computing | DS3, February 2, 2022 in APB E005 | File |

### Calendar