CS151 Complexity Theory Lecture 16 May 28, 2019.

Slides:



Advertisements
Similar presentations
Hardness of Reconstructing Multivariate Polynomials. Parikshit Gopalan U. Washington Parikshit Gopalan U. Washington Subhash Khot NYU/Gatech Rishi Saket.
Advertisements

A threshold of ln(n) for approximating set cover By Uriel Feige Lecturer: Ariel Procaccia.
Quantum Information and the PCP Theorem Ran Raz Weizmann Institute.
Complexity Theory Lecture 9 Lecturer: Moni Naor. Recap Last week: –Toda’s Theorem: PH  P #P. –Program checking and hardness on the average of the permanent.
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.
Constraint Satisfaction over a Non-Boolean Domain Approximation Algorithms and Unique Games Hardness Venkatesan Guruswami Prasad Raghavendra University.
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.
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 Adapted from Oded Goldreich’s course lecture notes.
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.
1 COMPOSITION PCP proof by Irit Dinur Presentation by Guy Solomon.
1. 2 Overview Some basic math Error correcting codes Low degree polynomials Introduction to consistent readers and consistency tests H.W.
CS151 Complexity Theory Lecture 10 April 29, 2004.
CS151 Complexity Theory Lecture 13 May 11, CS151 Lecture 132 Outline Natural complete problems for PH and PSPACE proof systems interactive proofs.
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 Slides by Asaf Shapira & Michael Lewin & Boaz Klartag & Oded Schwartz. Adapted from things beyond us.
1 2 Introduction In this lecture we’ll cover: Definition of strings as functions and vice versa Error correcting codes Low degree polynomials Low degree.
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.
Sub-Constant Error Low Degree Test of Almost-Linear Size Dana Moshkovitz Weizmann Institute Ran Raz Weizmann Institute.
Computational Complexity Theory Lecture 2: Reductions, NP-completeness, Cook-Levin theorem Indian Institute of Science.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
Direct-product testing, and a new 2-query PCP Russell Impagliazzo (IAS & UCSD) Valentine Kabanets (SFU) Avi Wigderson (IAS)
CS151 Complexity Theory Lecture 13 May 11, Outline 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.
Fall 2013 CMU CS Computational Complexity Lectures 8-9 Randomness, communication, complexity of unique solutions These slides are mostly a resequencing.
CS151 Complexity Theory Lecture 16 May 20, The outer verifier Theorem: NP  PCP[log n, polylog n] Proof (first steps): –define: Polynomial Constraint.
List Decoding Using the XOR Lemma Luca Trevisan U.C. Berkeley.
CS151 Complexity Theory Lecture 15 May 18, Gap producing reductions Main purpose: –r-approximation algorithm for L 2 distinguishes between f(yes)
Umans Complexity Theory Lectures Lecture 16: The PCP Theorem.
P & NP.
Computational Complexity Theory
Probabilistic Algorithms
L is in NP means: There is a language L’ in P and a polynomial p so that L1 ≤ L2 means: For some polynomial time computable map r :  x: x  L1 iff.
Umans Complexity Theory Lectures
Umans Complexity Theory Lectures
Umans Complexity Theory Lectures
NP-Completeness Yin Tat Lee
Intro to Theory of Computation
Intro to Theory of Computation
CS151 Complexity Theory Lecture 13 May 15, 2017.
RS – Reed Solomon List Decoding.
How to Delegate Computations: The Power of No-Signaling Proofs
Cryptography Lecture 12 Arpita Patra © Arpita Patra.
3rd Lecture: QMA & The local Hamiltonian problem (CNT’D)
Introduction to PCP and Hardness of Approximation
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
NP-Completeness Yin Tat Lee
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
CS21 Decidability and Tractability
Our First NP-Complete Problem
CS21 Decidability and Tractability
PCP Characterization of NP:
Umans Complexity Theory Lectures
CS151 Complexity Theory Lecture 10 May 2, 2019.
CS151 Complexity Theory Lecture 7 April 23, 2019.
Instructor: Aaron Roth
Instructor: Aaron Roth
CS151 Complexity Theory Lecture 5 April 16, 2019.
Lecture 23 NP-Hard Problems
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Presentation transcript:

CS151 Complexity Theory Lecture 16 May 28, 2019

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] ≤ ½ May 28, 2019

PCP Two observations: The PCP Theorem (AS, ALMSS): PCP[log n, 1] = NP. PCP[1, poly n] = NP proof? PCP[log n, 1] ⊆ NP The PCP Theorem (AS, ALMSS): PCP[log n, 1] = NP. May 28, 2019

The PCP Theorem Two major components: 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 NP ⊆ PCP[n2, 1] (“inner verifier”) we will prove (low-degree test on Problem Set) May 28, 2019

(if prover keeps promise to supply all quadratic fns of x) The inner verifier Theorem: NP ⊆ PCP[n2, 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) May 28, 2019

∑i<j ai,j Xi Xj + ∑i bi Xi + c = 0 Quadratic Equations quadratic equation over F2: ∑i<j ai,j Xi Xj + ∑i bi Xi + c = 0 language QUADRATIC EQUATIONS (QE) = { systems of quadratic equations over F2 that have a solution (assignment to the X variables) } May 28, 2019

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 ∧ ∨ ¬ gi gi gi … and gout = 1 z1 z2 z1 z2 z gi – z = 1 gi – z1z2 = 0 gi – (1-z1)(1-z2) = 1 May 28, 2019

Quadratic Functions Code intended proof: F the field with 2 elements given x ∈ Fn, a solution to instance of QE fx: Fn → F2 all linear functions of x fx(a) = ∑i ai xi gx: Fn x n → F2 includes all quadratic fns of x gx(A) = ∑i, j A[i,j]xixj KEY: can evaluate any quadratic function of x with a single evaluation of fx and gx May 28, 2019

PCP for QE Verifier’s action: 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 May 28, 2019

[so f’ = Had(u) and g’ = Had(V)] PCP for QE x ∈ Fn soln fx(a) = ∑i ai xi Had(x) gx(A) = ∑i, j A[i,j]xixj Had(x⊗x) 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 May 28, 2019

Pra [h’(a) = h(a)] ≥ 1 – O(𝛿) PCP for QE x ∈ Fn soln fx(a) = ∑i ai xi Had(x) gx(A) = ∑i, j A[i,j]xixj Had(x⊗x) Linearity test: given access to h:Fm → 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. Pra [h’(a) = h(a)] ≥ 1 – O(𝛿) May 28, 2019

Pra [h’(a) = h(a)] ≥ 1 – O(𝛿) PCP for QE x ∈ Fn soln fx(a) = ∑i ai xi Had(x) gx(A) = ∑i, j A[i,j]xixj Had(x⊗x) Self-correction: given access to h:Fm→F close to linear h’; i.e., Pra [h’(a) = h(a)] ≥ 1 – O(𝛿) to access h’(a), pick random b; compute h(b) + h(a+b) with prob. at least 1 – 2⋅O(𝛿), h(b) = h’(b) and h(a+b) = h’(a+b); hence we compute h’(a) May 28, 2019

f’(a)f’(b) = (∑iaiui )(∑ibiui) = ∑i,j aibjV[i,j] = g’(abT) PCP for QE x ∈ Fn soln fx(a) = ∑i ai xi Had(x) gx(A) = ∑i, j A[i,j]xixj Had(x⊗x) Consistency check: given access to linear functions f’ = Had(u) and g’ = Had(V) pick random a, b ∈ Fn; check that f’(a)f’(b) = g’(abT) completeness: if V = u ⊗ u f’(a)f’(b) = (∑iaiui )(∑ibiui) = ∑i,j aibjV[i,j] = g’(abT) May 28, 2019

PCP for QE x ∈ Fn soln fx(a) = ∑i ai xi Had(x) gx(A) = ∑i, j A[i,j]xixj Had(x⊗x) Consistency check: given access to linear functions f’ = Had(u) and g’ = Had(V) soundness: claim that if V ≠ u ⊗ u Pr[(∑iaiui )(∑ibiui) = ∑i,j aibjV[i,j] ] ≤ 3/4 Pr[(uuT)b ≠ Vb] ≥ 1/2 Pr[aT(uuT)b ≠ aTVb] ≥ ½⋅½ = ¼ ∃ i,j s.t. uuT and V differ in entry (i,j); pick bj last ∃ i s.t. (uuT)b and Vb differ in entry i; pick ai last May 28, 2019

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 May 28, 2019

NP ⊆ PCP[log n, polylog n] MAX-k-SAT given: k-CNF 𝜙 output: max. # of simultaneously satisfiable clauses generalization: MAX-k-CSP given: variables x1, x2, …, xn taking values from set S k-ary constraints C1, C2, …, Ct output: max. # of simultaneously satisfiable constraints May 28, 2019

NP ⊆ PCP[log n, polylog n] algebraic version: MAX-k-PCS given: variables x1, x2, …, xn taking values from field Fq n = qm for some integer m k-ary constraints C1, C2, …, Ct assignment viewed as f:(Fq)m → Fq output: max. # of constraints simultaneously satisfiable by an assignment that has deg. ≤ d May 28, 2019

NP ⊆ PCP[log n, polylog n] MAX-k-PCS gap problem: given: variables x1, x2, …, xn taking values from field Fq n = qm for some integer m k-ary constraints C1, C2, …, Ct assignment viewed as f:(Fq)m → Fq YES: some degree d assignment satisfies all constraints NO: no degree d assignment satisfies more than (1-𝜖) fraction of constraints May 28, 2019

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 = qm variables with m = O(log n / loglog n) degree of assignments d = polylog(n) gap 𝜖 is NP-hard. May 28, 2019

NP ⊆ PCP[log n, polylog n] t = poly(n) k-ary constraints with k = polylog(n) field size q = polylog(n) n = qm 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) May 28, 2019

NP ⊆ PCP[log n, polylog n] Proof of Lemma reduce from 3-SAT 3-CNF φ(x1, x2,…, xn) can encode as 𝜓:[n] x [n] x [n] x {0,1}3→{0,1} 𝜓(i1, i2, i3, b1, b2, b3) = 1 iff φ contains clause (xi1b1 ∨ xi2b2 ∨ xi3b3) e.g. (x3∨¬x5∨x2) ⇒ 𝜓(3,5,2,1,0,1) = 1 May 28, 2019

NP ⊆ PCP[log n, polylog n] pick H ⊆ Fq with {0,1} ⊆ H, |H| = polylog n pick m = O(log n/loglog n) so |H|m = n identify [n] with Hm 𝜓:Hm x Hm x Hm x H3 → {0,1} encodes φ assignment a:Hm → {0,1} Key: a satisfies φ iff ∀i1,i2,i3,b1,b2,b3 𝜓(i1,i2,i3,b1,b2,b3) = 0 or a(i1)=b1 or a(i2)=b2 or a(i3)=b3 May 28, 2019

NP ⊆ PCP[log n, polylog n] 𝜓:Hm x Hm x Hm x H3 → {0,1} encodes φ a satisfies φ iff ∀i1,i2,i3,b1,b2,b3 𝜓(i1,i2,i3,b1,b2,b3) = 0 or a(i1)=b1 or a(i2)=b2 or a(i3)=b3 extend 𝜓 to a function 𝜓’:(Fq)3m+3 → Fq with degree at most |H| in each variable can extend any assignment a:Hm → {0,1} to a’:(Fq)m → Fq with degree |H| in each variable May 28, 2019

NP ⊆ PCP[log n, polylog n] 𝜓’:(Fq)3m+3 → Fq encodes φ a’:(Fq)m → Fq s.a. iff ∀(i1,i2,i3,b1,b2,b3) ∈ H3m+3 𝜓’(i1,i2,i3,b1,b2,b3) = 0 or a’(i1)=b1 or a’(i2)=b2 or a’(i3)=b3 define: pa’:(Fq)3m+3 → Fq from a’ as follows pa’(i1,i2,i3,b1,b2,b3) = 𝜓’(i1,i2,i3,b1,b2,b3)(a’(i1) - b1 )(a’(i2) - b2 )(a’(i3) - b3) a’ s.a. iff ∀ (i1,i2,i3,b1,b2,b3) ∈ H3m+3 pa’(i1,i2,i3,b1,b2,b3) = 0 May 28, 2019

NP ⊆ PCP[log n, polylog n] 𝜓’:(Fq)3m+3 → Fq encodes φ a’:(Fq)m → Fq s.a. iff ∀(i1,i2,i3,b1,b2,b3) ∈ H3m+3 pa’(i1,i2,i3,b1,b2,b3) = 0 note: deg(pa’) ≤ 2(3m+3)|H| start using Z as shorthand for (i1,i2,i3,b1,b2,b3) another way to write “a’ s.a.” is: exists p0:(Fq)3m+3 → Fq of degree ≤ 2(3m+3)|H| p0(Z) = pa’(Z) ∀Z ∈ (Fq)3m+3 p0(Z) = 0 ∀Z ∈ H3m+3 May 28, 2019

NP ⊆ PCP[log n, polylog n] Focus on “p0(Z) = 0 ∀Z ∈ H3m+3” given: p0:(Fq)3m+3 → Fq define: p1(x1, x2, x3, …, x3m+3) = Σhj∈Hp0(hj, x2, x3, …, x3m+3)x1j Claim: p0(Z)=0 ∀Z ∈ H3m+3 ⇔ p1(Z)=0 ∀Z∈ FqxH3m+3-1 Proof (⇒) for each x2, x3, …, x3m+3 ∈ H3m+3-1, resulting univariate poly in x1 has all 0 coeffs. May 28, 2019

NP ⊆ PCP[log n, polylog n] Focus on “p0(Z) = 0 ∀Z ∈ H3m+3” given: p0:(Fq)3m+3 → Fq define: p1(x1, x2, x3, …, x3m+3) = Σhj∈Hp0(hj, x2, x3, …, x3m+3)x1j Claim: p0(Z)=0 ∀Z ∈ H3m+3 ⇔ p1(Z)=0 ∀Z∈ FqxH3m+3-1 Proof (⇐) for each x2, x3, …, x3m+3 ∈H3m+3-1, univariate poly in x1 is ≡ 0 ⇒ has all 0 coeffs. deg(p1) ≤ deg(p0) + |H| May 28, 2019

NP ⊆ PCP[log n, polylog n] deg(p2) ≤ deg(p1) + |H| given: p1:(Fq)3m+3 → Fq define: p2(x1, x2, x3, …, x3m+3) = Σhj ∈ Hp1(x1, hj, x3, x4, …, x3m+3)x2j Claim: p1(Z)=0 ∀Z ∈ Fq x H3m+3-1 ⇔ p2(Z)=0 ∀Z ∈ (Fq)2 x H3m+3-2 Proof: same. May 28, 2019

NP ∈ PCP[log n, polylog n] deg(pi) ≤ deg(pi-1) + |H| given: pi-1:(Fq)3m+3 → Fq define: pi(x1, x2, x3, …, x3m+3) = Σhj ∈ Hpi-1(x1, x2, …, xi-1, hj, xi+1, xi+2, …, x3m+3)xij Claim: pi-1(Z)=0 ∀Z ∈ (Fq)i-1 x H3m+3-(i-1) ⇔ pi(Z)=0 ∀Z ∈ (Fq)i x H3m+3-i Proof: same. May 28, 2019

NP ∈ PCP[log n, polylog n] define degree 3m+3+2 poly. δi:Fq →Fq so that δi(v) = 1 if v = i δi(v) = 0 if 0 ≤ v ≤ 3m+3+1 and v ≠ i define Q:Fq x (Fq)3m+3 → Fq by: Q(v, Z) = Σi=0…3m+3δi(v)pi(Z) + δ3m+3+1(v)a’(Z) note: degree of Q is at most 3(3m+3)|H| + 3m + 3 + 2 < 10m|H| May 28, 2019

NP ⊆ PCP[log n, polylog n] Recall: MAX-k-PCS gap problem: given: variables x1, x2, …, xn taking values from field Fq n = qm for some integer m k-ary constraints C1, C2, …, Ct assignment viewed as f:(Fq)m → Fq YES: some degree d assignment satisfies all constraints NO: no degree d assignment satisfies more than (1-𝜖) fraction of constraints May 28, 2019

NP ⊆ PCP[log n, polylog n] Instance of MAX-k-PCS gap problem: set d = 10m|H| given assignment Q:Fq x (Fq)3m+3 → Fq expect it to be formed in the way we have described from an assignment a:Hm → {0,1} to φ note to access a’(Z), evaluate Q(3m+3+1, Z) pa’(Z) formed from a’ and 𝜓’ (formed from φ) to access pi(Z), evaluate Q(i, Z) May 28, 2019

NP ⊆ PCP[log n, polylog n] Instance of MAX-k-PCS gap problem: set d = 10m|H| given assignment Q:Fq x (Fq)3m+3 → Fq expect it to be formed in the way we have described from an assignment a:Hm → {0,1} to φ constraints: ∀Z ∈ (Fq)3m+3 (C0,Z): p0(Z) = pa’(Z) 0<i≤3m+2 (Ci,Z): pi(z1, z2, …, zi, zi+1, …, z3m+3) = Σhj∈H pi-1(z1, z2, …, zi-1, hj, zi+1, …, zk)zij (C3m+3,Z): p3m+3(Z) = 0 May 28, 2019

NP ⊆ PCP[log n, polylog n] given Q:Fq x (Fq)3m+3 → Fq of degree d = 10m|H| constraints: ∀ Z ∈ (Fq)3m+3 (C0,Z): p0(Z) = pa’(Z) (Ci,Z): pi(z1, z2, …, zi, zi+1, …, z3m+3) = Σhj∈H pi-1(z1, z2, …, zi-1, hj, zi+1, …, zk)zij (C3m+3,Z): p3m+3(Z) = 0 Schwartz-Zippel: if any one of these sets of constraints is violated at all then at least a (1 – 12m|H|/q) fraction in the set are violated Key: all low-degree polys May 28, 2019

NP ⊆ PCP[log n, polylog n] Proof of Lemma (summary): reducing 3-SAT to MAX-k-PCS gap problem φ(x1, x2,…, xn) instance of 3-SAT set m = O(log n/loglog n) H ⊆ Fq such that |H|m = n (|H| = polylog n, q ≈|H|3) generate |Fq|3m+3 = poly(n) constraints: CZ = ⋀i=0…3m+3+1 Ci, Z each refers to assignment poly Q and φ (via pa’) all polys degree d = O(m|H|) = polylog n either all are satisfied or at most d/q = o(1) << ε May 28, 2019

NP ⊆ PCP[log n, polylog n] O(log n) random bits to pick a constraint query assignment in O(polylog(n)) locations to determine if constraint is satisfied completeness 1 soundness (1-𝜖) if prover keeps promise to supply degree d polynomial prover can cheat by not supplying proof in expected form May 28, 2019

NP ⊆ PCP[log n, polylog n] Low-degree testing: want: randomized procedure that is given d, oracle access to f:(Fq)m → Fq runs in poly(m, d) time always accepts if deg(f) ≤ d rejects with high probability if deg(f) > d too much to ask. Why? May 28, 2019

NP ⊆ PCP[log n, polylog n] Definition: functions f, g are δ-close if Prx[f(x) ≠ g(x)] ≤ δ Lemma: ∃δ > 0 and a randomized procedure that is given d, oracle access to f:(Fq)m → Fq runs in poly(m, d) time uses O(m log |Fq|) random bits always accepts if deg(f) ≤ d rejects with high probability if f is not δ-close to any g with deg(g) ≤ d May 28, 2019

NP ⊆ PCP[log n, polylog n] idea of proof: restrict to random line L check if it is low degree always accepts if deg(f) ≤ d other direction more complex (Fq)m May 28, 2019

NP ⊆ PCP[log n, polylog n] can only force prover to supply function f that is close to a low-degree polynomial how to bridge the gap? recall low-degree polynomials form an error correcting code (Reed-Muller) view “close” function as corrupted codeword May 28, 2019

NP ⊆ PCP[log n, polylog n] Self-correction: want: randomized procedure that is given x, oracle access to f:(Fq)m → (Fq) that is δ-close to a (unique) degree d polynomial g runs in poly(m, d) time uses O(m log |Fq|) random bits with high probability outputs g(x) May 28, 2019

NP ⊆ PCP[log n, polylog n] Lemma: ∃ a randomized procedure that is given x, oracle access to f:(Fq)m → (Fq) that is δ-close to a (unique) degree d polynomial g runs in poly(m, d) time uses O(m log |Fq|) random bits outputs g(x) with high probability May 28, 2019

NP ⊆ PCP[log n, polylog n] idea of proof: restrict to random line L passing through x query points along line apply error correction (Fq)m May 28, 2019

NP ⊆ PCP[log n, polylog n] Putting it all together: given L ∈ NP and an instance x, verifier computes reduction to MAX-k-PCS gap problem prover supplies proof in form f:(Fq)m → (Fq) (plus some other info used for low-degree testing) verifier runs low-degree test rejects if f not close to some low degree function g verifier picks random constraint Ci; checks if sat. by g uses self-correction to get values of g from f accept if Ci satisfied; otherwise reject May 28, 2019