Course10610622963 lectures
Computational Complexity
Prof. Subrahmanyam Kalyanasundaram · IIT Hyderabad
About
This course is an introduction to the area of computational complexity theory. We will see different models of computations and computational complexity classes. The computational models measure various different aspects of computation, like time, space, randomness, number of gates, amount of communication etc. The complexity classes classify different computational problems depending on their easiness or hardness as per these different models. We will also see how these complexity classes are related to each other. Many of the results are extremely interesting and use several interesting ideas.
Intended audience: Students of Computer Science discipline. This could be BTech students who are interested in Theory or MTech/PhD students.
Prerequisites: Theory of Computation.
Lectures
Week 1
- Introduction to Computational Complexity
- The Class P
- The Class NP
- The Class NP - Alternate Definition
- Polynomial Time Reductions
- NP - Completeness
Week 2
- Cook Levin Theorem: Part 1
- Cook Levin Theorem: Part 2
- More NP Complete Problems
- Polynomial Hierarchy: Part 1
- Polynomial Hierarchy: Part 2
- Polynomial Hierarchy: Part 3
Week 3
- Time Hierarchy Theorem
- Introduction to Space Complexity
- NL-Completeness
- Savitch's Theorem
- NL = co-NL: Part 1
- NL = co-NL: Part 2
Week 4
- PSPACE Completeness
- Games and PSPACE Completeness
- Space Hierarchy Theorem
- Ladner's Theorem
- Oracle Turing Machines
- Polynomial Hierarchy Using Oracles
Week 5
- Baker-Gill-Solovay Theorem: Part 1
- Baker-Gill-Solovay Theorem: Part 2
- Randomized Complexity Classes: Part 1
- Randomized Complexity Classes: Part 2
- Randomized Complexity Classes: Part 3
Week 6
- Randomized Complexity Classes: Part 4
- Comparison Between Randomized Complexity Classes
- BPP is in Polynomial Hierarchy
- Circuit Complexity: Part 1
- Circuit Complexity: Part 2
Week 7
- Formal Definition of Circuits
- Hierarchy Theorem for Circuit Size
- Complexity Class : P/Poly
- Karp-Lipton Theorem
- Turing Machines That Take Advice
- Classes NC and AC
Week 8
- Parity Not in AC0: Part 1
- Parity Not in AC0: Part 2
- Adleman's Theorem
- Polynomial Identity Testing and Bipartite Perfect Matching in RNC
Week 9
- Search Bipartite Perfect Matching is in RNC: Part 1
- Search Bipartite Perfect Matching is in RNC: Part 2
- Promise Problems and Valiant-Vazirani Theorem
- Valiant Vazirani Theorem Continued
- #P and the Complexity of Counting
Week 10
- Permanent is #P-Complete: Part 1
- Permanent is #P-Complete: Part 2
- Toda's Theorem: Part 1
- Toda's Theorem: Part 2
Week 11
- Introduction to Communication Complexity: Part 1
- Introduction to Communication Complexity: Part 2
- Lower Bound Techniques
- Communication Complexity of Relations
- Monotone Depth Lower Bound for Matching
Week 12
Syllabus and materials
At NPTEL, as the course publishes them.
Credits and licence
- Institution
- IIT Hyderabad
- Department
- Computer Science and Engineering
- Teacher
- Prof. Subrahmanyam Kalyanasundaram
- Level
- Graduate
- Language
- English
- Subjects
- Computer science, Engineering
- Source
- NPTEL
- Licence
- CC BY-NC-SA, as NPTEL states it. Non-commercial use only. NPTEL's terms
- Attribution
- NPTEL states: "Distributed under Creative Commons Attribution-ShareAlike / CC BY - NC - SA", beside a BY-NC-SA badge. Coordinated by IIT Madras.
- Who can watch
- NPTEL gives no rating. Invisible Network shows it to Tweens profiles and older, judged from what the source says about it. How courses are placed