Umans Complexity Theory Lectures

Similar documents
CS151 Complexity Theory. Lecture 1 April 3, 2017

Lecture 24: Randomized Complexity, Course Summary

Essential facts about NP-completeness:

Lecture 22: Quantum computational complexity

NP-Complete problems

NP-Completeness. Until now we have been designing algorithms for specific problems

CSC 5170: Theory of Computational Complexity Lecture 5 The Chinese University of Hong Kong 8 February 2010

Lecture 23: Introduction to Quantum Complexity Theory 1 REVIEW: CLASSICAL COMPLEXITY THEORY

Intro to Theory of Computation

Notes for Lecture 3... x 4

Exponential time vs probabilistic polynomial time

Definition: Alternating time and space Game Semantics: State of machine determines who

CSCI3390-Lecture 14: The class NP

U.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan August 30, Notes for Lecture 1

Complexity. Complexity Theory Lecture 3. Decidability and Complexity. Complexity Classes

1 Randomized Computation

Umans Complexity Theory Lectures

A An Overview of Complexity Theory for the Algorithm Designer

NP Complete Problems. COMP 215 Lecture 20

Time-bounded computations

Complete problems for classes in PH, The Polynomial-Time Hierarchy (PH) oracle is like a subroutine, or function in

Intro to Theory of Computation

NP, polynomial-time mapping reductions, and NP-completeness

ITCS:CCT09 : Computational Complexity Theory Apr 8, Lecture 7

Notes for Lecture 3... x 4

Lecture 20: conp and Friends, Oracles in Complexity Theory

Lecture 19: Finish NP-Completeness, conp and Friends

P is the class of problems for which there are algorithms that solve the problem in time O(n k ) for some constant k.

Beyond NP [HMU06,Chp.11a] Tautology Problem NP-Hardness and co-np Historical Comments Optimization Problems More Complexity Classes

Lecture 4 : Quest for Structure in Counting Problems

NP-Completeness. Algorithmique Fall semester 2011/12

Design and Analysis of Algorithms

CS154, Lecture 17: conp, Oracles again, Space Complexity

Lecture Examples of problems which have randomized algorithms

1 Circuit Complexity. CS 6743 Lecture 15 1 Fall Definitions

Computational complexity

conp = { L L NP } (1) This problem is essentially the same as SAT because a formula is not satisfiable if and only if its negation is a tautology.

COMPUTATIONAL COMPLEXITY

20.1 2SAT. CS125 Lecture 20 Fall 2016

Notes on Complexity Theory Last updated: December, Lecture 2

Definition: Alternating time and space Game Semantics: State of machine determines who

Computational Complexity

2 P vs. NP and Diagonalization

Geometric Steiner Trees

Lecture 22: Counting

Review of unsolvability

Q = Set of states, IE661: Scheduling Theory (Fall 2003) Primer to Complexity Theory Satyaki Ghosh Dastidar

Theory of Computation

CMSC 441: Algorithms. NP Completeness

Notes on Complexity Theory Last updated: November, Lecture 10

Computer Sciences Department

CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1

Computational Complexity Theory

Time to learn about NP-completeness!

Umans Complexity Theory Lectures

CS 151 Complexity Theory Spring Solution Set 5

1 Randomized complexity

6-1 Computational Complexity

an efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem.

NP-Complete Problems. More reductions

CS21 Decidability and Tractability

SAT, NP, NP-Completeness

Lecture 17: Cook-Levin Theorem, NP-Complete Problems

Complexity Theory: The P vs NP question

Circuits. Lecture 11 Uniform Circuit Complexity

Lecture 22: Derandomization Implies Circuit Lower Bounds

BBM402-Lecture 11: The Class NP

-bit integers are all in ThC. Th The following problems are complete for PSPACE NPSPACE ATIME QSAT, GEOGRAPHY, SUCCINCT REACH.

Complexity Theory. Knowledge Representation and Reasoning. November 2, 2005

Undecidability and Rice s Theorem. Lecture 26, December 3 CS 374, Fall 2015

Lecture 23: More PSPACE-Complete, Randomized Complexity

1 Computational problems

Review of Complexity Theory

CSC 5170: Theory of Computational Complexity Lecture 9 The Chinese University of Hong Kong 15 March 2010

Correctness of Dijkstra s algorithm

Acknowledgments 2. Part 0: Overview 17

Harvard CS 121 and CSCI E-121 Lecture 22: The P vs. NP Question and NP-completeness

CS151 Complexity Theory

Questions Pool. Amnon Ta-Shma and Dean Doron. January 2, Make sure you know how to solve. Do not submit.

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness

NP-Completeness and Boolean Satisfiability

Notes for Lecture 2. Statement of the PCP Theorem and Constraint Satisfaction

CS154, Lecture 15: Cook-Levin Theorem SAT, 3SAT

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: NP-Completeness I Date: 11/13/18

Lecture 19: Interactive Proofs and the PCP Theorem

: On the P vs. BPP problem. 30/12/2016 Lecture 11

Lecture 23: Alternation vs. Counting

NP-Complete Problems. Complexity Class P. .. Cal Poly CSC 349: Design and Analyis of Algorithms Alexander Dekhtyar..

The Cook-Levin Theorem

Lecture 2 (Notes) 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak;

: Computational Complexity Lecture 3 ITCS, Tsinghua Univesity, Fall October 2007

The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

Lecture 3: Reductions and Completeness

Randomness and non-uniformity

conp, Oracles, Space Complexity

CMPT307: Complexity Classes: P and N P Week 13-1

JASS 06 Report Summary. Circuit Complexity. Konstantin S. Ushakov. May 14, 2006

Turing Machines and Time Complexity

Quantum Computing Lecture 8. Quantum Automata and Complexity

Transcription:

Complexity Theory Umans Complexity Theory Lectures Lecture 1a: Problems and Languages Classify problems according to the computational resources required running time storage space parallelism randomness rounds of interaction, communication, others Attempt to answer: what is computationally feasible with limited resources? 2 Complexity Theory Contrast with decidability: What is computable? answer: some things are not We care about resources! leads to many more subtle questions fundamental open problems The central questions Is finding a solution as easy as recognizing one? P = NP? Is every efficient sequential algorithm parallelizable? P = NC? Can every efficient algorithm be converted into one that uses a tiny amount of memory? P = L? Are there small Boolean circuits for all problems that require exponential running time? EXP P/poly? Can every efficient randomized algorithm be converted into a deterministic algorithm one? P = BPP? 3 4

Central Questions We think we know the answers to all of these questions but no one has been able to prove that even a small part of this world-view is correct. If we re wrong on any one of these then computer science will change dramatically Introduction You already know about two complexity classes P = the set of problems decidable in polynomial time NP = the set of problems with witnesses that can be checked in polynomial time and notion of NP-completeness Useful tool Deep mathematical problem: P = NP? Course should be both useful and mathematically interesting 5 6 A question Given: polynomial f(x 1, x 2,, x n ) as arithmetic formula (fan-out 1): multiplication (fan-in 2) - addition (fan-in 2) * negation (fan-in 1) x 1 x 2 Question: is f identically zero? x 3 * * + - x n A question Given: multivariate polynomial f(x 1, x 2,, x n ) as an arithmetic formula. Question: is f identically zero? Challenge: devise a deterministic polytime algorithm for this problem. 7 8

A randomized algorithm Given: multivariate degree r poly. f(x 1, x 2,, x d ) note: r = deg(f) size of formula Algorithm: pick small number of random points if f is zero on all of these points, answer yes otherwise answer no (low-degree non-zero polynomial evaluates to zero on only a small fraction of its domain) No efficient deterministic algorithm known Derandomization Here is a deterministic algorithm that works under the assumption that there exist hard problems, say SAT. solve SAT on all instances of length log n 1 1 0 0 1 1 1 0 0 1 encode using error-correcting code (variant of a Reed-Muller code) 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 9 10 Derandomization Derandomization 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 run randomized alg. using these strings in place of random evaluation points if f is zero on all of these points, answer yes otherwise answer no This works. (proof in this course) This technique works on any randomized algorithm. Gives generic derandomization of randomized procedures. 11 12

A surprising fact Is finding a solution as easy as recognizing one? P = NP? probably FALSE Is every sequential algorithm parallelizable? P = NC? probably FALSE Can every efficient algorithm be converted into one that uses a tiny amount of memory? P = L? probably FALSE Are there small Boolean circuits for all problems that require exponential running time? EXP P/poly? probably FALSE Can every randomized algorithm be converted into a deterministic algorithm one? P = BPP? probably TRUE Outline Should be mostly review 1. 2. Complexity Classes 3. Turing Machines 4. Reductions 5. Completeness 13 14 Need formal notion of computational problem. Examples: Given graph G, vertices s, t, find the shortest path from s to t Given matrices A and B, compute AB Given an integer, find its prime factors Given a Boolean formula, find a satisfying assignment One possibility: function from strings to strings function problem: f: * * given x, compute f(x) decision problem: f: * {yes, no} given x, accept or reject April, 2013 15 16

simplification doesn t give up much: Given an integer n, find its prime factors Given an integer n and an integer k, is there a factor of n that is < k? Given a Boolean formula, find a satisfying assignment Given a Boolean formula, is it satisfiable? solve function problem efficiently using related decision problem (how?) We will work mostly with decision problems 17 decision problems: f: * {yes, no} equivalent notion: language L * L = set of yes instances Examples: set of strings encoding satisfiable formulas set of strings that encode pairs (n,k) for which n has factor < k decision problem associated with L: Given x, is x in L? 18 An aside: two encoding issues 1. implicitly assume we ve agreed on a way to encode inputs (and outputs) as strings sometimes relevant in fine-grained analysis (e.g. adj. matrix vs. adj. list for graphs) almost never an issue in this class avoid silly encodings: e.g. unary 19 2. some strings not valid encodings of any input -- treat as no L yes yes no no officially: co-l 20

Complexity Classes 2. some strings not valid encodings of any input -- treat as no L yes no yes no What we usually mean by co-l 21 complexity class = class of languages set-theoretic definition no reference to computation (!) example: TALLY = languages in which every yes instance has form 0 n e.g. L = { 0 n : n prime } 22 Complexity Classes complexity classes you know: P = the set of languages decidable in polynomial time NP = the set of languages L where L = { x : y, y x k, (x, y) R } and R is a language in P easy to define complexity classes Complexity Classes harder to define meaningful complexity classes: capture genuine computational phenomenon (e.g. parallelism) contain natural and relevant problems ideally characterized by natural problems (completeness more soon) robust under variations in model of computation possibly closed under operations such as AND, OR, COMPLEMENT 23 24