Lecturers and Teaching Assistants
Prof. Guy Rothblum
Course Schedule and Location
Wednesday, 14:15 - 16:00, Ziskind, Rm 1
06/11/2019
Field of Study, Course Type and Credit Points
Mathematics and Computer Science: Lecture; Elective; Regular; 2.00 points
Comments
* A make-up session will be held on Jan-19, 16:15-18:00, Ziskind Room 1
Attendance and participation
Evaluation Type
No final exam or assignment
Estimated Weekly Independent Workload (in hours)
Syllabus
Complexity Theory studies the intrinsic difficulty of computational tasks, and the relationship and connections between different tasks. Computation is studied via the lens of resources such as running time, space, randomness, and interaction. This course is meant to provide an introductions and overview of some of the exciting developments in this field.Specific topics will include:
- revisiting the P-vs-NP Question and NP-Completeness;
- separation results for time and space complexity;
- non-uniform complexity (e.g., P/poly);
- the Polynomial-time Hierarchy;
- the class #P and approximate-#P;
- randomized computations (RP and BPP);
- derandomization;
- probabilistic proof systesms (IP, PCP etc);
Learning Outcomes
Upon successful completion of this course students should be able to:
- Describe key notions and principles of the field of computational complexity theory.
- Demonstate familiarity with basic paradigms and techniques of the field of computational complexity theory.
- Apply notions, principles, paradigms and techniques of computational complexity theory to their own research.
- Discuss the meaning of the various notions and results of computational complexity theory.
Reading List
Computational Complexity: A Conceptual Perspective,
Oded Goldreich