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

Similar documents
2 Evidence that Graph Isomorphism is not NP-complete

PCP Theorem and Hardness of Approximation

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

Advanced Algorithms (XIII) Yijia Chen Fudan University

2 Natural Proofs: a barrier for proving circuit lower bounds

DRAFT. PCP and Hardness of Approximation. Chapter 19

1 Agenda. 2 History. 3 Probabilistically Checkable Proofs (PCPs). Lecture Notes Definitions. PCPs. Approximation Algorithms.

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

Lecture 15: A Brief Look at PCP

6.841/18.405J: Advanced Complexity Wednesday, April 2, Lecture Lecture 14

Lecture 12: Interactive Proofs

Lecture 16 November 6th, 2012 (Prasad Raghavendra)

Limits to Approximability: When Algorithms Won't Help You. Note: Contents of today s lecture won t be on the exam

Notes on Complexity Theory Last updated: November, Lecture 10

CS151 Complexity Theory. Lecture 15 May 22, 2017

Lecture 19: Interactive Proofs and the PCP Theorem

Tool: Linearity Testing and the Walsh-Hadamard Code

1 Randomized Computation

Lecture 5: Derandomization (Part II)

Lecture 26. Daniel Apon

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

Lecture 22. m n c (k) i,j x i x j = c (k) k=1

CS151 Complexity Theory. Lecture 14 May 17, 2017

Basic Probabilistic Checking 3

Introduction Long transparent proofs The real PCP theorem. Real Number PCPs. Klaus Meer. Brandenburg University of Technology, Cottbus, Germany

1 The Low-Degree Testing Assumption

Lecture 3: Boolean Functions and the Walsh Hadamard Code 1

Non-Approximability Results (2 nd part) 1/19

Lecture 18: PCP Theorem and Hardness of Approximation I

[PCP Theorem is] the most important result in complexity theory since Cook s Theorem. Ingo Wegener, 2005

Solution of Exercise Sheet 12

20.1 2SAT. CS125 Lecture 20 Fall 2016

Probabilistically Checkable Proofs. 1 Introduction to Probabilistically Checkable Proofs

MTAT Complexity Theory October 20th-21st, Lecture 7

Dinur s Proof of the PCP Theorem

BCCS: Computational methods for complex systems Wednesday, 16 June Lecture 3

CS151 Complexity Theory. Lecture 13 May 15, 2017

Computational Complexity: A Modern Approach. Draft of a book: Dated January 2007 Comments welcome!

Complexity Classes IV

Definition 1. NP is a class of language L such that there exists a poly time verifier V with

Lecture 17: Interactive Proof Systems

Lecture 8: Linearity and Assignment Testing

1 Probabilistically checkable proofs

Lecture 24: Randomized Complexity, Course Summary

Lecture 26: Arthur-Merlin Games

Complexity Classes V. More PCPs. Eric Rachlin

Lecture 7 Limits on inapproximability

PCPs and Inapproximability Gap-producing and Gap-Preserving Reductions. My T. Thai

Umans Complexity Theory Lectures

Lecture 2 Sep 5, 2017

Lecture 22: Counting

Lecture Hardness of Set Cover

Introduction to Interactive Proofs & The Sumcheck Protocol

Building Assignment Testers DRAFT

Efficient Probabilistically Checkable Debates

COMPUTATIONAL COMPLEXITY

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

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

Expander Graphs and Their Applications (X) Yijia Chen Shanghai Jiaotong University

Lecture 18: Oct 15, 2014

Lecture 4 : Quest for Structure in Counting Problems

CSCI 1590 Intro to Computational Complexity

Lecture 10: Hardness of approximating clique, FGLSS graph

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

DRAFT. Complexity of counting. Chapter 8

Towards the Sliding Scale Conjecture (Old & New PCP constructions)

B(w, z, v 1, v 2, v 3, A(v 1 ), A(v 2 ), A(v 3 )).

Lecture 11: Proofs, Games, and Alternation

Interactive Proofs 1

Average Case Complexity: Levin s Theory

Lecture 22: Quantum computational complexity

Theoretical Cryptography, Lectures 18-20

Lecture Introduction. 2 Formal Definition. CS CTT Current Topics in Theoretical CS Oct 30, 2012

DD2446 Complexity Theory: Problem Set 4

Interactive Proofs. Merlin-Arthur games (MA) [Babai] Decision problem: D;

Essential facts about NP-completeness:

Two Query PCP with Sub-Constant Error

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

Lecture 14: IP = PSPACE

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

2 Completing the Hardness of approximation of Set Cover

Approximation Algorithms and Hardness of Approximation. IPM, Jan Mohammad R. Salavatipour Department of Computing Science University of Alberta

Lecture 22: Oct 29, Interactive proof for graph non-isomorphism

1 PSPACE-Completeness

1 Circuit Complexity. CS 6743 Lecture 15 1 Fall Definitions

Lecture 1: Introduction

Complexity Theory. Jörg Kreiker. Summer term Chair for Theoretical Computer Science Prof. Esparza TU München

CS286.2 Lecture 8: A variant of QPCP for multiplayer entangled games

Identifying an Honest EXP NP Oracle Among Many

Great Theoretical Ideas in Computer Science

Lecture 59 : Instance Compression and Succinct PCP s for NP

Lecture 17. In this lecture, we will continue our discussion on randomization.

Sublinear Algorithms Lecture 3

Lecture Notes 17. Randomness: The verifier can toss coins and is allowed to err with some (small) probability if it is unlucky in its coin tosses.

Umans Complexity Theory Lectures

P versus NP over Various Structures

Notes on Complexity Theory Last updated: October, Lecture 6

Complexity Theory. Jörg Kreiker. Summer term Chair for Theoretical Computer Science Prof. Esparza TU München

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

6.045: Automata, Computability, and Complexity (GITCS) Class 15 Nancy Lynch

Transcription:

Topics in Theoretical Computer Science April 18, 2016 Lecturer: Ola Svensson Lecture 8 (Notes) Scribes: Ola Svensson Disclaimer: These notes were written for the lecturer only and may contain inconsistent notation, typos, and they do not cite relevant works. They also contain extracts from the two main inspirations of this course: 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak; 2. The course http://theory.stanford.edu/ trevisan/cs254-14/index.html by Luca Trevisan. 1 Introduction Recall last lecture: Graph Ismorphism is unlikely to be NP-complete. Indeed if GI is NP-complete then the polynomial hierarchy collapses to its second level. IP = PSPACE Arithmetization: define a polynomial that is 1 for satisfying assignments and 0 for unsatisfying assignments. Sumcheck protocol: recursively check whether the polynomial equals a value K. One can also consider interactive proofs with multiple provers. Today: The power of two provers is equivalent to that of any polynomial number of provers. If we let MIP be the class of languages with interactive proofs consisting polynomial interaction with polynomially many (two) provers, then MIP = NEXP. So many provers seem to add power to the verifier (think of interrogation: more informative if the two criminals cannot talk to each other). Another view of proofs: probabilistic checkable proofs. How can we verify a proof by only reading a constant number of bits? Important connection to the theory of approximability of NP-hard problems. 2 Probabilistically Checkable Proofs(PCP) In this section we will discuss probabilistically checkable proofs, an idea having many implications in the development of modern theoretical computer science. Before we jump into PCPs, let us first recall the verifier definition of NP. 1

2.1 Preliminaries NP: A language L is in NP iff there exists a polynomial time verifier V which when given an x and a proof Π of length poly( x ) verifies whether x L, with the following properties: completeness: If x L then proof Π such that V Π (x) accepts. Soundness: If x L then proofs Π, the verifier V Π (x) rejects. In the definition of NP the deterministic verifier reads the entire proof and the completeness and soundness hold with probability one. Now an interesting question to ask is, what if we make our verifier to be non-deterministic and are willing to tolerate some non-zero probability of accepting a false proof, can we have our verifier read few bits of the proof and verify with high probability?. Surprisingly, it is possible to have the verifier read a constant number of bits from the proof and verifies with high probability. 2.2 Definition of Probabilistically Checkable Proofs (PCPs) PCP: A language L is in PCP(r, q) if there exists a probabilistic polynomial time verifier V which, when given an instance x and a proof Π of length poly( x ), proceeds as follows 1. Reads x and O(r) random bits. 2. Based on x and O(r) random bits, queries O(q) bits from Π. 3. Computes and either accepts or rejects with following properties, completeness: If x L then proof Π such that V Π (x) accepts with probability 1. Soundness: If x L the proof Π, the verifier V Π (x) accepts with probability at most 1 2. Theorem 1 (PCP Theorem (AS-ALMSS 92)) NP = PCP(log(n), 1). We will not prove the PCP theorem in class (a couple of year s ago we did but it took 4 lectures), instead we will prove a weaker (but probably still surprising) result: NP = PCP(poly(n), 1). 2.3 Exercises Exercise 1 Prove that PCP(log(n), 1) NP. Proof Consider a language L PCP(log(n), 1), which by definition has a probabilistic polynomial time verifier. The claim is that from this probabilistic verifier we can construct a deterministic verifier. Given a proof Π and an input instance x, the deterministic verifier runs the probabilistic verifier for all combinations of the clog(n) random bits, a total of 2 clog(n) = n c runs, and accepts iff the PCP verifier accepts for every bit strings. Since the probabilistic verifier runs in polynomial time and the number of possible combinations is bounded by n c the deterministic verifier runs in polynomial time. Completeness follows directly from the completeness of the probabilistic verifier. Soundness follows as for at least half of the bit strings we have a rejection in the probabilistic verifier, and thus a rejection by the deterministic verifier. In fact it suffices to use only n c /2 + 1 of the random bitstrings, as at least one of them will reject. Exercise 2 Given that GAP 3-SAT is NP-complete, prove that NP PCP(log n, 1). GAP 3-SAT instances are 3-SAT instances with the constraint that either they are satisfiable or no more than 1 ɛ of the clauses can be satisfied simultaneously. Deciding whether a GAP 3-SAT instance is satisfiable is in some sense easier than deciding if a general 3-SAT instance is satisfiable due to the ɛ-gap separating the satisfiable instances from the non-satisfiable ones. 2

Remark It can be proven that the PCP-Theorem is equivalent to that of GAP 3-SAT being NPcomplete. Proof We will prove that GAP 3-SAT PCP(log n, 1). Then, as any problem in NP can be reduced in polytime to GAP 3-SAT (GAP 3-SAT is NP-complete by assumption), we can construct a probabilistic verifier for any problem in NP: First reduce it to GAP 3-SAT and use the verifier for that problem (which we will now present). We prove that GAP 3-SAT PCP(log n, 1). First consider reading log n random bits, and choosing one of the n clauses accordingly (let the bits read be treated as the binary representation of the clause). Read the 3 assignments in the proof which the clause uses. If the proof is correct, the clause is satisfied (correctness). If the proof is incorrect there is a probability at most 1 ɛ of accepting, since with probability at least ɛ the randomly selected clause will be not satisfied. If ɛ < 0.5 this is not good enough. To drive this probability down, we read 1 ɛ log n random bits from which we choose 1 ɛ clauses. The resulting false acceptance rate is then (1 ɛ) 1 ɛ, which is strictly less than 1 2. Thus GAP 3-SAT is in PCP(log n, 1) with constants C r = 1 ɛ and C q = 3 1 ɛ. 3 Preliminaries In order to prove NP PCP(poly(n), 1), we need to devise a probabilistic verifier for an NP-complete problem (namely QUADEQ), that runs in polynomial time, performs O(poly(n)) random coin flips, and reads O(1) bits from the proof. In this lecture, we will first introduce the Walsh-Hadamard code (WH), then use its properties to design the required verifier. 4 Walsh-Hadamard code Definition 2 : The WH code encodes n bits into 2 n bits. The encoding function WH: {0, 1} n {0, 1} 2n maps the input u {0, 1} n into the truth table of the function x u = n x i u i mod 2. Let s see an example where we encode all possible bit strings x of length 2 into 4 bits : For WH(0,0), x (0, 0) x. For WH(0,1), x (0, 1) x = x 2. For WH(1,0), x (1, 0) x = x 1. For WH(1,1), x (1, 1) x = x 1 x 2. i=1 x WH(0,0) WH(0,1) WH(1,0) WH(1,1) (0,0) 0 0 0 0 (0,1) 0 1 0 1 (1,0) 0 0 1 1 (1,1) 1 1 1 0 We can see from this example that the codewords of Walsh-Hadamard code are the truth table of all linear functions over F n 2. We will see in the following subsection that the WH code has two interesting properties, namely its local testability and local decodability. 3

4.1 Local testability of the Walsh-Hadamard Given a function f : {0, 1} n {0, 1}, we would like to whether there exist u {0, 1} n such that f = W H(u). In other word words, we want to know if the function f is linear. f is linear if and only if f(x + y) = f(x) + f(y) x, y {0, 1} n mod 2. In order to check if f is linear, we do the following test. Linearity test 1. Select x, y {0, 1} n independently uniformly at random. 2. Check if f(x + y) = f(x) + f(y) mod 2. We see that all linear functions are always accepted. Definition 3 Two functions f, g are (1 ɛ)-close if they agree on all, but ɛ-fraction of the inputs. Theorem 4 : The Blum, Luby, Rubinfeld (BLR) linearity test Let f : {0, 1} n {0,1} if P r(f(x + y) = f(x) + f(y)) ρ for ρ 1 2 then f is ρ close to some linear function. Corollary 5 : For any δ (0, 1 2 ), there exists a linearity test that reads O( 1 δ ) bits such that: (Completeness: ) if f is linear, the test accepts with probability 1. (Soundness: ) if f is not (1 δ)-close to a linear function, then the test accepts with probability p 1 2. Proof We repeat the test of the theorem 1 δ many times independently. Completeness: f is linear then we always accepts Soundness: if f is not (1 δ)-close to a linear function then a single test accepts with probability p 1 δ. Since we do 1 δ tests independently, the probability that they all succeed is (1 δ) 1 δ 1 e. 4.2 Local decodability of the Walsh-Hadamard code Given a function f that is (1 δ)-close to some linear function ˆf, how to find ˆf(x)? Since the function ˆf(x) is linear we can simply compute f(x) = 1 2 (f(a) + f(b)) 1. Select x {0, 1} n uniformly at random. 2. Output f(x + x ) + f(x ). Claim 6 The algorithm outputs ˆf(x) with probability 1 2 δ Proof Since f is (1 δ)-close to ˆf, we have that [ Pr f(x + x ) = ˆf(x ] + x ) 1 δ [ Pr f(x ) = ˆf(x ] ) 1 δ 4

Hence by the union bound we get: [ Pr f(x + x ) = ˆf(x + x ) f(x ) = ˆf(x ] ) 1 2δ In that case we get: f(x + x ) + f(x ) = ˆf(x ) = ˆf(x + x ) + ˆf(x ) = ˆf(x) + ˆf(x ) = ˆf(x) We will prove that NP PCP(poly(n),1) by showing that QUADEQ, an NP-complete problem, has a probabilistic verifier that uses O(poly(n)) random bits and queries O(1) bits from proof. 5 The QUADEQ Problem In order to prove that NP P CP (poly(n), 1), we will prove that an NP-complete problem has a proof-verifier that uses O(P oly(n)) random bits and queries O(1) bits from the proof. Definition 7 (QUADEQ) Given a system of m quadratic equations over n variables in F 2, decide whether there exists an assignment of the variables such that all equations are satisfied. Example 1 Given the following system: The system is satisfied when u 1 = u 2 = u 3 = 1. u 1 u 2 + u 3 u 1 + u 2 u 3 = 1 u 2 u 2 + u 1 = 0 u 3 u 2 + u 2 u 1 + u 1 u 1 = 1 Since we are working in F 2, we have that x = x 2, hence by replacing any linear term by its square value, we will only have quadratic terms in our equations. For n variables, there are n 2 different possible quadratic terms (There are actually n(n+1) 2 different quadratic terms, if we consider that u i u j = u j u i, 5

but it won t make a difference for what we are going to do). Let U be a vector containing the n 2 possible quadratic terms: u 1 u 1 u 1 u 2 U = u 1 u 3... u n u n We can then represent the problem with a linear system of n 2 variables {U 1,1, U 1,2,..., U n,n } with the added constraint that U i,j = u i u j. We can now express our problem with matrices. Let A F m n2 2 and b F m 2. We want to find U F n2 2 such that AU = b. Example 2 We can rewrite our previous example as: 5.1 Exercises 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 U 1,1 U 1,2 U 1,3 U 2,1 U 2,2 U 2,3 U 3,1 U 3,2 U 3,3 = Exercise 3 What is the rate and distance of the Walsh-Hadamard code? log(# of code words) The rate of a code is defined as rate = # of bits of a code word The distance of a code is the smallest hamming distance of two code words. Proof Here we trivially have that rate = log(2n ) 2 = n n 2 n If we take 2 different code words, they correspond to 2 linear functions f(x) = x u and g(x) = x v with u v. We have then f(x) g(x) if and only if (x u) (x v) = (u v) x = 1. Because of the fact that u v, (u v) will never be the zero-vector, and thus, the equation will be satisfied for half of the possible x s which means the distance is 2 n /2 (and the relative distance is 1/2). Using the (distance) result of the exercise, we can prove the following 1 0 1 Lemma 8 (Random Subsum Property) For any v, u F n 2 u x for half of the possible x F n 2. such that v u, we have that v x 6