Umans Complexity Theory Lectures Lecture 16: The PCP Theorem.

Slides:



Advertisements
Similar presentations
A threshold of ln(n) for approximating set cover By Uriel Feige Lecturer: Ariel Procaccia.
Advertisements

Quantum Information and the PCP Theorem Ran Raz Weizmann Institute.
MaxClique Inapproximability Seminar on HARDNESS OF APPROXIMATION PROBLEMS by Dr. Irit Dinur Presented by Rica Gonen.
Gillat Kol joint work with Ran Raz Competing Provers Protocols for Circuit Evaluation.
CS151 Complexity Theory Lecture 17 May 27, CS151 Lecture 172 Outline elements of the proof of the PCP Theorem counting problems –#P and its relation.
Complexity class NP Is the class of languages that can be verified by a polynomial-time algorithm. L = { x in {0,1}* | there exists a certificate y with.
Constraint Satisfaction over a Non-Boolean Domain Approximation Algorithms and Unique Games Hardness Venkatesan Guruswami Prasad Raghavendra University.
Two Query PCP with Subconstant Error Dana Moshkovitz Princeton University and The Institute for Advanced Study Ran Raz The Weizmann Institute 1.
Probabilistically Checkable Proofs Madhu Sudan MIT CSAIL 09/23/20091Probabilistic Checking of Proofs TexPoint fonts used in EMF. Read the TexPoint manual.
Introduction to PCP and Hardness of Approximation Dana Moshkovitz Princeton University and The Institute for Advanced Study 1.
Umans Complexity Theory Lectures Lecture 15: Approximation Algorithms and Probabilistically Checkable Proofs (PCPs)
The PCP theorem. Summary -Proof structure -Basic ingredients -Arithmetization -Properties of polynomials -3-SAT belongs to PCP[O(n 3 ),O(1)]
Inapproximability from different hardness assumptions Prahladh Harsha TIFR 2011 School on Approximability.
Two Query PCP with Sub-constant Error Dana Moshkovitz Princeton University Ran Raz Weizmann Institute 1.
PCPs and Inapproximability Introduction. My T. Thai 2 Why Approximation Algorithms  Problems that we cannot find an optimal solution.
1 L is in NP means: There is a language L’ in P and a polynomial p so that L 1 · L 2 means: For some polynomial time computable map r : 8 x: x 2 L 1 iff.
CS21 Decidability and Tractability
1. 2 Gap-QS[O(1), ,2|  | -1 ] Gap-QS[O(n), ,2|  | -1 ] Gap-QS*[O(1),O(1), ,|  | -  ] Gap-QS*[O(1),O(1), ,|  | -  ] conjunctions of constant.
CS151 Complexity Theory Lecture 7 April 20, 2004.
1. 2 Gap-QS[O(n), ,2|  | -1 ] 3SAT QS Error correcting codesSolvability PCP Proof Map In previous lectures: Introducing new variables Clauses to polynomials.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
1 COMPOSITION PCP proof by Irit Dinur Presentation by Guy Solomon.
NP-Complete Problems Problems in Computer Science are classified into
Complexity 19-1 Complexity Andrei Bulatov More Probabilistic Algorithms.
CS151 Complexity Theory Lecture 13 May 11, CS151 Lecture 132 Outline Natural complete problems for PH and PSPACE proof systems interactive proofs.
CS151 Complexity Theory Lecture 15 May 18, CS151 Lecture 152 Outline IP = PSPACE Arthur-Merlin games –classes MA, AM Optimization, Approximation,
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 22 Instructor: Paul Beame.
1 The PCP starting point. 2 Overview In this lecture we’ll present the Quadratic Solvability problem. In this lecture we’ll present the Quadratic Solvability.
1 The PCP starting point. 2 Overview In this lecture we’ll present the Quadratic Solvability problem. We’ll see this problem is closely related to PCP.
CS151 Complexity Theory Lecture 16 May 25, CS151 Lecture 162 Outline approximation algorithms Probabilistically Checkable Proofs elements of the.
1 Joint work with Shmuel Safra. 2 Motivation 3 Motivation.
Some 3CNF Properties are Hard to Test Eli Ben-Sasson Harvard & MIT Prahladh Harsha MIT Sofya Raskhodnikova MIT.
1 Hardness Result for MAX-3SAT This lecture is given by: Limor Ben Efraim.
Dana Moshkovitz, MIT Joint work with Subhash Khot, NYU.
1 L is in NP means: There is a language L’ in P and a polynomial p so that L 1 ≤ L 2 means: For some polynomial time computable map r : x: x L 1 iff r(x)
1. 2 Overview of the Previous Lecture Gap-QS[O(n), ,2|  | -1 ] Gap-QS[O(1), ,2|  | -1 ] QS[O(1),  ] Solvability[O(1),  ] 3-SAT This will imply a.
Correlation testing for affine invariant properties on Shachar Lovett Institute for Advanced Study Joint with Hamed Hatami (McGill)
Sub-Constant Error Low Degree Test of Almost-Linear Size Dana Moshkovitz Weizmann Institute Ran Raz Weizmann Institute.
Lecture 22 More NPC problems
Theory of Computation, Feodor F. Dragan, Kent State University 1 NP-Completeness P: is the set of decision problems (or languages) that are solvable in.
Computational Complexity Theory Lecture 2: Reductions, NP-completeness, Cook-Levin theorem Indian Institute of Science.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
CS151 Complexity Theory Lecture 13 May 11, Outline proof systems interactive proofs and their power Arthur-Merlin games.
1 Interactive Proofs proof systems interactive proofs and their power Arthur-Merlin games.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CS151 Complexity Theory Lecture 14 May 13, Arthur-Merlin Games IP permits verifier to keep coin-flips private –necessary feature? –GNI protocol.
CSC401 – Analysis of Algorithms Chapter 13 NP-Completeness Objectives: Introduce the definitions of P and NP problems Introduce the definitions of NP-hard.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
1 P P := the class of decision problems (languages) decided by a Turing machine so that for some polynomial p and all x, the machine terminates after at.
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
Fall 2013 CMU CS Computational Complexity Lectures 8-9 Randomness, communication, complexity of unique solutions These slides are mostly a resequencing.
Non-Approximability Results. Summary -Gap technique -Examples: MINIMUM GRAPH COLORING, MINIMUM TSP, MINIMUM BIN PACKING -The PCP theorem -Application:
1 How to establish NP-hardness Lemma: If L 1 is NP-hard and L 1 ≤ L 2 then L 2 is NP-hard.
CS151 Complexity Theory Lecture 16 May 20, The outer verifier Theorem: NP  PCP[log n, polylog n] Proof (first steps): –define: Polynomial Constraint.
NPC.
Complexity ©D.Moshkovits 1 2-Satisfiability NOTE: These slides were created by Muli Safra, from OPICS/sat/)
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
TU/e Algorithms (2IL15) – Lecture 9 1 NP-Completeness NOT AND OR AND NOT AND.
Umans Complexity Theory Lectures Lecture 3d: Nondeterminism: Sparse Languages and NP Berman’s Theorem: Unary NP complete => P=NP.
1 SAT SAT: Given a Boolean function in CNF representation, is there a way to assign truth values to the variables so that the function evaluates to true?
CS151 Complexity Theory Lecture 15 May 18, Gap producing reductions Main purpose: –r-approximation algorithm for L 2 distinguishes between f(yes)
P & NP.
Computational Complexity Theory
How to Delegate Computations: The Power of No-Signaling Proofs
Introduction to PCP and Hardness of Approximation
PCP Characterization of NP:
Umans Complexity Theory Lectures
CS151 Complexity Theory Lecture 7 April 23, 2019.
Instructor: Aaron Roth
CS151 Complexity Theory Lecture 16 May 28, 2019.
Presentation transcript:

Umans Complexity Theory Lectures Lecture 16: The PCP Theorem

2 PCP PCP[r(n),q(n)]: set of languages L with p.p.t. verifier V that has (r, q)-restricted access to a string “proof” –V tosses O(r(n)) coins –V accesses proof in O(q(n)) locations –(completeness) x  L   proof such that Pr[V(x, proof) accepts] = 1 –(soundness) x  L   proof* Pr[V(x, proof*) accepts]  ½

3 PCP Two observations: –PCP[1, poly n] = NP proof? –PCP[log n, 1]  NP proof? The PCP Theorem (AS, ALMSS): PCP[log n, 1] = NP.

4 The PCP Theorem Two major components: –NP  PCP[n 2, 1] (“inner verifier”) we will prove from scratch (linearity test on PS) –NP  PCP[log n, polylog n] (“outer verifier”) we will prove this from scratch, assuming low- degree test, and self-correction of low-degree polynomials

5 The inner verifier Theorem: NP  PCP[n 2, 1] Proof (first steps): 1. Quadratic Equations is NP-hard 2. PCP for QE: proof = all quadratic functions of a soln. x verification = check that a random linear combination of equations is satisfied by x (if prover keeps promise to supply all quadratic fns of x)

Quadratic Equations quadratic equation over F 2 :  i<j a i,j X i X j +  i b i X i + c = 0 language QUADRATIC EQUATIONS (QE) = { systems of quadratic equations over F 2 that have a solution (assignment to the X variables) } 6

Quadratic Equations Lemma: QE is NP-complete. Proof: clearly in NP; reduce from CIRCUIT SAT –circuit C an instance of CIRCUIT SAT –QE variables = variables + gate variables 7  gigi z  gigi z1z1 z2z2 g i – z = 1 g i – z 1 z 2 = 0  gigi z1z1 z2z2 g i – (1-z 1 )(1-z 2 ) = 1 … and g out = 1

Quadratic Functions Code intended proof : –F the field with 2 elements –given x ∈ F n, a solution to instance of QE –f x : F n → F 2 all linear functions of x f x (a) =  i a i x i –g x : F n x n → F 2 includes all quadratic fns of x g x (A) =  i, j A[i,j]x i x j –KEY: can evaluate any quadratic function of x with a single evaluation of f x and g x 8

PCP for QE If prover keeps promise to supply all quadratic fns of x, a solution of QE instance… Verifier’s action: –query a random linear combination R of the equations of the QE instance –Completeness: obvious –Soundness: x fails to satisfy some equation; imagine picking coeff. for this one last Pr[x satisfies R] = 1/2 9

PCP for QE To “enforce promise”, verifier needs to perform: –linearity test: verify f, g are (close to) linear –self-correction: access the linear f’, g’ that are close to f, g [so f’ = Had(u) and g’ = Had(V)] –consistency check: verify V = u u 10 x ∈ F n solves f x (a) =  i a i x i Had(x) g x (A) =  i, j A[i,j]x i x j Had(x x)

PCP for QE Linearity test: given access to h:F m → F –pick random a,b; check if h(a) + h(b) = h(a+b); repeat O(1) times –do this for functions f and g supplied by prover Theorem [BLR]: h linear ⇒ prob. success = 1; prob. success ≥ 1 – δ, ∃ linear h’ s.t. Pr a [h’(a) = h(a)] > 1 – O(δ) 11 x ∈ F n solves f x (a) =  i a i x i Had(x) g x (A) =  i, j A[i,j]x i x j Had(x x)

PCP for QE Self-correction: –given access to h:F m →F close to linear h’; i.e., Pr a [h’(a) = h(a)] ≥ 1 – O(δ) –to access h’(a), pick random b and compute h(b) + h(a+b) –with prob. at least 1 – 2O(δ) ≥ h(b) = h’(b) and h(a+b) = h’(a+b); –hence we compute h’(a) 12 x 2 F n soln f x (a) =  i a i x i Had(x) g x (A) =  i, j A[i,j]x i x j Had(x ­ x)

PCP for QE Consistency check: given access to linear functions f’ = Had(u) and g’ = Had(V) –pick random a, b ∈ F n and check that f’(a)f’(b) = g’(ab T ) –completeness: if V = u u f’(a)f’(b) = (  i a i u i )(  i b i u i ) =  i,j a i b j V[i,j] = g’(ab T ) 13 x 2 F n solves f x (a) =  i a i x i Had(x) g x (A) =  i, j A[i,j]x i x j Had(x x)

PCP for QE Consistency check: given access to linear functions f’ = Had(u) and g’ = Had(V) –soundness: claim that if V  u ­ u Pr[(  i a i u i )(  i b i u i ) =  i,j a i b j V[i,j] ] · 3/4 Pr[(uu T )b  Vb] ¸ 1/2 Pr[aT(uu T )b  a T Vb] ¸ ½·½ = ¼ 14 9 i,j s.t. uu T and V differ in entry (i,j); pick b j last 9 i s.t. (uu T )b and Vb differ in entry i; pick a i last x 2 F n soln f x (a) =  i a i x i Had(x) g x (A) =  i, j A[i,j]x i x j Had(x ­ x)

15 The outer verifier Theorem: NP  PCP[log n, polylog n] Proof (first steps): –define: Polynomial Constraint Satisfaction (PCS) problem –prove: PCS gap problem is NP-hard

16 NP  PCP[log n, polylog n] MAX-k-SAT –given: k-CNF  –output: max. # of simultaneously satisfiable clauses generalization: MAX-k-CSP –given: variables x 1, x 2, …, x n taking values from set S k-ary constraints C 1, C 2, …, C t –output: max. # of simultaneously satisfiable constraints

17 NP  PCP[log n, polylog n] algebraic version: MAX-k-PCS –given: variables x 1, x 2, …, x n taking values from field F q n = q m for some integer m k-ary constraints C 1, C 2, …, C t –assignment viewed as f:(F q ) m  F q –output: max. # of constraints simultaneously satisfiable by an assignment that has deg. ≤ d

18 NP  PCP[log n, polylog n] MAX-k-PCS gap problem: –given: variables x 1, x 2, …, x n taking values from field F q n = q m for some integer m k-ary constraints C 1, C 2, …, C t –assignment viewed as f:(F q ) m  F q –YES: some degree d assignment satisfies all constraints –NO: no degree d assignment satisfies more than (1-  ) fraction of constraints

19 NP  PCP[log n, polylog n] Lemma: for every constant 1 > ε > 0, the MAX-k-PCS gap problem with t = poly(n) k-ary constraints with k = polylog(n) field size q = polylog(n) n = q m variables with m = O(log n / loglog n) degree of assignments d = polylog(n) gap  is NP-hard.

20 NP  PCP[log n, polylog n] t = poly(n) k-ary constraints with k = polylog(n) field size q = polylog(n) n = q m variables with m = O(log n / loglog n) degree of assignments d = polylog(n) check: headed in right direction –O(log n) random bits to pick a constraint –query assignment in O(polylog(n)) locations to determine if it is satisfied –completeness 1; soundness 1-  (if prover keeps promise to supply degree d polynomial)

21 NP  PCP[log n, polylog n] Proof of Lemma –reduce from 3-SAT –3-CNF φ(x 1, x 2,…, x n ) –can encode as  :[n] x [n] x [n] x {0,1} 3  {0,1} –  (i 1, i 2, i 3, b 1, b 2, b 3 ) = 1 iff φ contains clause (x i 1 b 1  x i 2 b 2  x i 3 b 3 ) –e.g. (x 3  x 5  x 2 )   (3,5,2,1,0,1) = 1

22 NP  PCP[log n, polylog n] –pick H  F q with {0,1}  H, |H| = polylog n –pick m = O(log n/loglog n) so |H| m = n –identify [n] with H m –  :H m x H m x H m x H 3  {0,1} encodes φ –assignment a:H m  {0,1} –Key: a satisfies φ iff  i 1,i 2,i 3,b 1,b 2,b 3  (i 1,i 2,i 3,b 1,b 2,b 3 ) = 0 or a(i 1 )=b 1 or a(i 2 )=b 2 or a(i 3 )=b 3

23 NP  PCP[log n, polylog n]  :H m x H m x H m x H 3  {0,1} encodes φ a satisfies φ iff  i 1,i 2,i 3,b 1,b 2,b 3  (i 1,i 2,i 3,b 1,b 2,b 3 ) = 0 or a(i 1 )=b 1 or a(i 2 )=b 2 or a(i 3 )=b 3 –extend  to a function  ’:(F q ) 3m+3  F q with degree at most |H| in each variable –can extend any assignment a:H m  {0,1} to a’:(F q ) m  F q with degree |H| in each variable

24 NP  PCP[log n, polylog n]  ’:(F q ) 3m+3  F q encodes φ a’:(F q ) m  F q s.a. iff  (i 1,i 2,i 3,b 1,b 2,b 3 )  H 3m+3  ’ (i 1,i 2,i 3,b 1,b 2,b 3 ) = 0 or a’(i 1 )=b 1 or a’(i 2 )=b 2 or a’(i 3 )=b 3 –define: p a’ :(F q ) 3m+3  F q from a’ as follows p a’ (i 1,i 2,i 3,b 1,b 2,b 3 ) =  ’(i 1,i 2,i 3,b 1,b 2,b 3 )(a’(i 1 ) - b 1 )(a’(i 2 ) - b 2 )(a’(i 3 ) - b 3 ) –a’ s.a. iff  (i 1,i 2,i 3,b 1,b 2,b 3 )  H 3m+3 p a’ (i 1,i 2,i 3,b 1,b 2,b 3 ) = 0

25 NP  PCP[log n, polylog n]  ’:(F q ) 3m+3  F q encodes φ a’:(F q ) m  F q s.a. iff  (i 1,i 2,i 3,b 1,b 2,b 3 )  H 3m+3 p a’ (i 1,i 2,i 3,b 1,b 2,b 3 ) = 0 –note: deg(p a’ ) ≤ 2(3m+3)|H| –start using Z as shorthand for (i 1,i 2,i 3,b 1,b 2,b 3 ) –another way to write “a’ s.a.” is: exists p 0 :(F q ) 3m+3  F q of degree ≤ 2(3m+3)|H| p 0 (Z) = p a’ (Z)  Z  (F q ) 3m+3 p 0 (Z) = 0  Z  H 3m+3

26 NP  PCP[log n, polylog n] –Focus on “p 0 (Z) = 0  Z  H 3m+3 ” –given: p 0 :(F q ) 3m+3  F q –define: p 1 (x 1, x 2, x 3, …, x 3m+3 ) = Σ h j  H p 0 (h j, x 2, x 3, …, x 3m+3 )x 1 j –Claim: p 0 (Z)=0  Z  H 3m+3  p 1 (Z)=0  Z  F q xH 3m+3-1 –Proof (  ) for each x 2, x 3, …, x 3m+3  H 3m+3-1, resulting univariate poly in x 1 has all 0 coeffs.

27 NP  PCP[log n, polylog n] –Focus on “p 0 (Z) = 0  Z  H 3m+3 ” –given: p 0 :(F q ) 3m+3  F q –define: p 1 (x 1, x 2, x 3, …, x 3m+3 ) = Σ h j  H p 0 (h j, x 2, x 3, …, x 3m+3 )x 1 j –Claim: p 0 (Z)=0  Z  H 3m+3  p 1 (Z)=0  Z  F q xH 3m+3-1 –Proof (  ) for each x 2, x 3, …, x 3m+3  H 3m+3-1, univariate poly in x 1 is  0  has all 0 coeffs. deg(p 1 ) ≤ deg(p 0 ) + |H|

28 NP  PCP[log n, polylog n] –given: p 1 :(F q ) 3m+3  F q –define: p 2 (x 1, x 2, x 3, …, x 3m+3 ) = Σ h j  H p 1 (x 1, h j, x 3, x 4, …, x 3m+3 )x 2 j –Claim: p 1 (Z)=0  Z  F q x H 3m+3-1  p 2 (Z)=0  Z  (F q ) 2 x H 3m+3-2 –Proof: same. deg(p 2 ) ≤ deg(p 1 ) + |H|

29 NP  PCP[log n, polylog n] –given: p i-1 :(F q ) 3m+3  F q –define: p i (x 1, x 2, x 3, …, x 3m+3 ) = Σ h j  H p i-1 (x 1, x 2, …, x i-1, h j, x i+1, x i+2, …, x 3m+3 )x i j –Claim: p i-1 (Z)=0  Z  (F q ) i-1 x H 3m+3-(i-1)  p i (Z)=0  Z  (F q ) i x H 3m+3-i –Proof: same. deg(p i ) ≤ deg(p i-1 ) + |H|

30 NP  PCP[log n, polylog n] –define degree 3m+3+2 poly. δ i :F q  F q so that δ i (v) = 1 if v = i δ i (v) = 0 if 0 ≤ v ≤ 3m+3+1 and v ≠ i –define Q:F q x (F q ) 3m+3  F q by: Q(v, Z) = Σ i=0…3m+3 δ i (v)p i (Z) + δ 3m+3+1 (v)a’(Z) –note: degree of Q is at most 3(3m+3)|H| + 3m < 10m|H|