# Computational Complexity

By Prof. Subrahmanyam Kalyanasundaram   |   IIT Hyderabad
Learners enrolled: 734
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.
Summary
 Course Status : Completed Course Type : Elective Duration : 12 weeks Start Date : 25 Jul 2022 End Date : 14 Oct 2022 Exam Date : 30 Oct 2022 IST Enrollment Ends : 08 Aug 2022 Category : Computer Science and Engineering Foundations of Computing Credit Points : 3 Level : Postgraduate

### Course layout

Week 1: Introduction to the course, Polynomial time reductions, P and NP classes, Review of NP Completeness, P vs NP
Week 2: NP Complete problems, Cook-Levin Theorem, Polynomial Hierarchy
Week 3: Time Hierarchy Theorem, Space Complexity, Savitch’s Theorem, NL-Completeness, NL = coNL
Week 4: PSPACE Completeness, Space Hierarchy Theorem, Ladner Theorem, Oracles
Week 5: Baker-Gill-Solovay Theorem, Randomized Complexity Classes
Week 6: Randomized Complexity Classes(contd.), BPP is in polynomial hierarchy, Circuit Complexity
Week 7: Circuit Hierarchy Theorem, P/poly complexity class, NC and AC classes, Karp-Lipton Theorem
Week 8: Parity not in AC^0, Adleman’s Theorem, Polynomial Identity Testing, Perfect Matching is in RNC^2
Week 9: Bipartite Perfect Matching is in RNC (contd.), Isolation Lemma, Valiant Vazirani Theorem, #P and #P Completeness.
Week 10: Permanent is #P Complete, Toda’s Theorem
Week 11: Communication Complexity, Lower bound techniques, Monotone depth lower bound for matching.
Week 12: Introduction to Interactive Proofs, #3-SAT is in IP, Private and Public Coin Interactive proofs, Course summary.

### Books and references

1. Computational Complexity, by Christos Papadimitriou
2. Computational Complexity: A Modern Approach, by Sanjeev Arora and Boaz Barak.
3. Introduction to the Theory of Computation by Michael Sipser

### Prof. Subrahmanyam Kalyanasundaram

Subrahmanyam Kalyanasundaram is an Associate Professor at the Department of Computer Science and Engineering, IIT Hyderabad. He did his Masters from Dept of ECE in IISc. After which, he did his Masters in Mathematics and Phd in Algorithms, Combinatorics and Optimization from Georgia Tech. He has been at the Department of Computer Science and Engineering, IIT Hyderabad since 2011. He is interested in almost all areas of theoretical computer science, and has most recently been working on combinatorics, graph theory and graph algorithms of late.

### Course certificate

The course is free to enroll and learn from. But if you want a certificate, you have to register and write the proctored exam conducted by us in person at any of the designated exam centres.
The exam is optional for a fee of Rs 1000/- (Rupees one thousand only).
Date and Time of Exams: 30 October 2022 Morning session 9am to 12 noon; Afternoon Session 2pm to 5pm.
Registration url: Announcements will be made when the registration form is open for registrations.
The online registration form has to be filled and the certification exam fee needs to be paid. More details will be made available when the exam registration form is published. If there are any changes, it will be mentioned then.
Please check the form for more details on the cities where the exams will be held, the conditions you agree to when you fill the form etc.

CRITERIA TO GET A CERTIFICATE

Average assignment score = 25% of average of best 8 assignments out of the total 12 assignments given in the course.
Exam score = 75% of the proctored certification exam score out of 100

Final score = Average assignment score + Exam score

YOU WILL BE ELIGIBLE FOR A CERTIFICATE ONLY IF AVERAGE ASSIGNMENT SCORE >=10/25 AND EXAM SCORE >= 30/75. If one of the 2 criteria is not met, you will not get the certificate even if the Final score >= 40/100.

Certificate will have your name, photograph and the score in the final exam with the breakup.It will have the logos of NPTEL and IIT Hyderabad .It will be e-verifiable at nptel.ac.in/noc.

Only the e-certificate will be made available. Hard copies will not be dispatched.

Once again, thanks for your interest in our online courses and certification. Happy learning.

- NPTEL team