CS 710 - Complexity Theory
Fall 2017 |
Course Description
This course provides a graduate-level introduction to computational complexity
theory, the study of the power and limitations of efficient computation.
In the first part of the course we focus on the standard setting, in which one
tries to realize a given relation between inputs and outputs in a
time- and space-efficient way. We develop models of computation that
represent the various capabilities of digital computing devices,
including parallelism, randomness, and quantum effects. We also
introduce models based on the notions of nondeterminism, alternation,
and counting, which precisely capture the power needed to efficiently
compute important types of relations. The meat of this part of the
course consists of intricate connections between these models, as well
as some separation results.
In the second part, depending on the interest of the students, we may
study other computational processes that arise in diverse areas of
computer science, each with their own relevant efficiency measures.
Specific possible topics include:
- proof complexity, interactive proofs, and probabilistically checkable
proofs -- motivated by verification,
- pseudorandomness and zero-knowledge -- motivated by cryptography and
security,
- computational learning theory -- motivated by artificial intelligence,
- communication complexity -- motivated by distributed computing,
- query complexity -- motivated by databases.
All of these topics have grown into substantial research areas in their own
right. We cover the main concepts and some of the key results, as time
permits.
Prerequisites
Complexity theory at the level of CS 520. We will start the course with
a quick review of the relevant CS 520 material. If you haven't taken
CS 520 or an equivalent course before but are mathematically mature,
you should be able to pick up the prerequisite material from the review.
Text
There is no required text.
Lecture notes will be made available from the course web page.
Relevant references are the text books
Complexity Theory:
A Modern Approach by Sanjeev Arora and Boaz Barak, and
Computational
Complexity: A Conceptual Perspective by Oded Goldreich.
Lectures
TR 2:30-3:45pm in 2540 Engineering Hall.
Course Work
- Homework (75%).
There will be 3 assignments. You can work on the assignments in pairs.
- Scribes (25%).
Write lecture notes for one of the lectures with new material. Detailed
instructions will be provided in due time.
Instructor
Dieter van Melkebeek
<dieter@cs.wisc.edu>.
Office hours: T 4-5pm and by appointment.
|