CSCI 7000-005: Computational Complexity

Fall 2018

University of Colorado, Boulder

HW5

Homework 5 is out and due on December 13.

META

Subject

A main objective of theoretical computer science is to understand the amount of resources needed to solve computational problems. While the design and analysis of algorithms puts upper bounds on such amounts, computational complexity theory is mostly concerned with lower bounds; In this class, we will be largely interested in infeasible problems, that is computational problems that require impossibly large resources to be solved, even on instances of moderate size. It is very hard to show that a particular problem is infeasible, and in fact for a lot of interesting problems the question of their feasibility is still open. Another direction this class studies is the relations between different computational problems and between different “modes” of computation. For example what is the relative power of algorithms using randomness and deterministic algorithms, what is the relation between worst-case and average-case complexity, how easier can we make an optimization problem if we only look for approximate solutions, and so on.

Prerequisites

Mathematical maturity; exposure to advanced undergraduate material in Algorithms, and in Discrete Probability and Combinatorics. More specifically, CSCI 2824 or equivalent, CSCI 3104/5454 or equivalent, familiarity with the notion of algorithm, running time, reduction, turing machine, basic notions of discrete math and probability.

If you have not taken those classes but believe that your background is close to being sufficient, please make sure you have filled up any potential gaps by the end of the second week of classes. You can refer to the standard algorithms and probability textbooks for the classes above as supplementary material.

If you are not sure whether your background suffices, please see the instructor. The course is designed for graduate students but may be suitable for advanced undergraduates. Undergraduate students who are interested in taking the course are advised to consult with the instructor before registering.

Instructor

Alexandra Kolla (alexandra.kolla [at] colorado [dot] edu) 122 ECES [AK]

 

Times

Tuesday 12:30PM - 13:45PM and Tuesday 12:30PM - 13:45PM |114 ECES

Office Hours

Alexandra Kolla - Wednesdays 2:00-3:00PM @ 122 ECES

 

 

SCHEDULE

# Date Topic Lecture Slides Reading Material
1 Tu August 28 Introduction to Complexity Theory Slides  
2 Th August 30 Turing machines Review See these and these lecture notes and Chapter 1 from Arora-Barak
3 Tu September 4 P vs NP, time hierarchy theorems Slides See these lecture notes and Chapters 2,3 from Arora-Barak
4 Th September 6 Boolean Circuits Slides See these lecture notes and Chapter 6 from Arora-Barak
5 Tu September 11 Boolean Circuits,contd. Parallel Computation Slides See these lecture notes and Chapter 6 from Arora-Barak
6 Tu September 13 Randomized Computation Slides See these lecture notes and Chapter 7 from Arora-Barak
7 Tu September 18 Polynomial Hierarchy Slides See these lecture notes and Chapters 4,5 from Arora-Barak
8 Tu September 20 Polynomial Hierarchy and Karp-Lipton-Sipser See previous lecture See previous lecture
9 Tu September 25 Spece Complexity, NL Slides See these lecture notes and Chapter 3 from Arora-Barak
10 Th September 27 NL=co-NL, Undirected Connectivity, Introduction to Eigenvalues Slides See these lecture notes
11 Tu October 2 More on Spectra Slides See these lecture notes
12 Th October 4 Random Walks and Eigenvalues Slides See these lecture notes
13 Tu October 16 Zig-Zag Product and Expanders See these lecture notes
14 Th October 18 Zig-Zag Product and Expanders, contd. See these lecture notes
15 Tu October 23 L=SL See these lecture notes
16 Th October 25 Pseudorandom Generators from Exanders. Slides See these lecture notes
17 Tu October 30 Valiant-Vazirani. Slides See these lecture notes
18 Th November 1 Counting Classes. Slides See these lecture notes and Chapter 17 from Arora-Barak
19 Tu November 6 Interactive Proofs. Slides See Chapter 13 from these lecture notes and Chapter 8 from Arora-Barak
20 Th November 8 Interactive Proofs, IP=PSPACE Warmup Slides See Chapter 14 from these lecture notes and Chapter 8 from Arora-Barak
21 Tu November 13 In-class work group
22 Th November 15 PCPs See Chapter 11 from Arora-Barak
23 Tu November 27 Intro to Quantum Computing N/A See these lecture notes.
24 Th November 29 Intro to Quantum Computing, contd. N/A See these lecture notes.
25 Tu December 4 Intro to Quantum Computing, contd. N/A See these lecture notes.
26 Th December 6 BQP, Quantum Algorithms N/A See these and these lecture notes.

 

 

 

Homework # Due Homework Solutions
HW1 September 13 Solutions
HW2 September 27 -
HW3 October 18 -
HW4 November 8 -
HW5 December 13 -
HW6 TBD -

COURSEWORK and GRADING POLICIES


Homework
There will be a total of 5-6 homeworks.
They can be turned in in groups of up to 3 students. All students in each group get the same grade.

Please do not forget to cite your sources (you will get a zero if you use material from elsewhere and do not cite the source!)

 

 

Project
There will be a final project. More details to come.
Here is a list of potential project ideas: Project Ideas.
We can provide references to help you get started looking into any of these projects. You may also come up with a project idea of your own.
Grading
70% homeworks and 30% exam/final project. Extra points may be given for class participation at various occasions.

 

TENTATIVE SYLLABUS

Part 1: "Classical Complexity Theory" (about 5 weeks)

We will start with "basic" and "classical" material about time, space, P versus NP, polynomial hierarchy, circuit complexity and so on, including moderately modern and advanced material, such as the power of randomized algorithms, the complexity of counting problems, the average-case complexity of problems, and interactive proofs. 

Part 2: "Spectral Techniques for Complexity Theory " (about 4 weeks)

 

- We will learn techniques from spectral graph theory and apply them to several key complexity theory results such as expander graphs, the Unique Games Conjecture, pseudorandom generators, and Reingold's L=SL result. 

 

Part 3: "Quantum Computing" (about 2 weeks)

 

We will focus on quantum complexity theory.

Part 4 (tentative):  "Final Presentations" (remaining time)

Depending on attendance.

   

 

READING MATERIAL

 

 

Top