Complexity Theory

KTH12 · SoSe-2022



Complexity Theory is a beautiful field that studies different models of computation as well as their relationships to each other. The most famous open problem in this field is the P vs. NP problem. In this course, you will discover elegant proof techniques, fascinating ideas, and exciting open questions.

Time and Place


Week plan

The summer term has 14 weeks, the following is a preliminary plan:

  1. Introduction: Efficient universal Turing machine. [AB 1.2-1.4, 1.6-1.7]
    In-class exercises: Example 1.1, Claims 1.5 and 1.6.
    Homework: Exercises 1.5, 1.6*, 1.9, 1.10, 1.15. (* = hard, but well worth the effort)

  2. NP and NP completeness [AB 2.1-2.3, 2.5-2.7]
    Homework: 2.10, 2.8, 2.25, 2.29, 2.6b*, 2.30*

  3. Diagonalization [AB, ch.3]
    Homework: 3.5, 3.6, 3.7*, 3.8*

  4. Space complexity [AB, ch.4]
    Homework: 4.1, 4.2, 4.3, 4.7
    Written assignment: pdf

  5. The polynomial hierarchy and alternations [AB, ch.5]
    Homework: 5.3, 5.7, 5.10, 5.13

  6. Boolean circuits [AB, ch.6]
    Homework: 6.3, 6.8, 6.9*, 6.12

  7. Randomized computation [AB, ch.7]

  8. Interactive proofs [AB, ch.8]

  9. PCP Theorem [AB, ch.11]

  10. Decision Trees [AB, ch.12]

  11. Complexity of Counting [AB, ch.17]

  12. Circuit Lower Bounds [AB, ch.14]

  13. NEXP ⊈ ACC0 [AB, addendum · paper]


This course is available for Bachelor and Master students! You must have mastered Algorithms and Data Structures 1 and 2 (or equivalent) and you must love mathematics.



book cover

AB: Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak.
[Volltext als E-Book].

There is also a pdf on the book website, but be aware that it is not a final draft and has different chapter numbers.

Similar Courses

Further resources