# CS151 Complexity Theory Lecture 16 May 28, 2019 May 28, 2019  2019-11-06 0K 0 0 0

## CS151 Complexity Theory Lecture 16 May 28, 2019 May 28, 2019 - Description

CS151 Complexity Theory Lecture 16 May 28, 2019 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 ID: 763785 Download Presentation

Embed code:

## CS151 Complexity Theory Lecture 16 May 28, 2019 May 28, 2019

Download Presentation - The PPT/PDF document "CS151 Complexity Theory Lecture 16 May ..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.

### Presentations text content in CS151 Complexity Theory Lecture 16 May 28, 2019 May 28, 2019

CS151Complexity Theory Lecture 16 May 28, 2019

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] ½   2

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

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 polynomialsNP PCP[n2, 1] (“inner verifier”)we will prove (low-degree test on Problem Set) 4

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

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

Quadratic EquationsLemma : QE is NP-complete. Proof: clearly in NP; reduce from CIRCUIT SATcircuit C an instance of CIRCUIT SATQE variables = variables + gate variables May 28, 2019   gi z   g i z 1 z 2 g i – z = 1 g i – z 1 z 2 = 0   g i z 1 z 2 g i – (1-z 1 )(1-z 2 ) = 1 … and g out = 1 7

Quadratic Functions Code intended proof :F the field with 2 elementsgiven x Fn, a solution to instance of QEfx: Fn F2 all linear functions of xfx(a) = i ai xigx: Fn x n F2 includes all quadratic fns of xgx(A) = i, j A[i,j]xixjKEY: can evaluate any quadratic function of x with a single evaluation of fx and gx May 28, 20198

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 instanceCompleteness: obviousSoundness: x fails to satisfy some equation; imagine picking coeff. for this one lastPr[x satisfies R] = 1/2 May 28, 2019 9

PCP for QE To “enforce promise”, verifier needs to perform:linearity test: verify f, g are (close to) linearself-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, 2019x Fn soln fx (a) = i a i x i Had(x) g x (A) = i , j A[ i,j ] x i x j Had(x x )   10

PCP for QE Linearity test: given access to h:Fm Fpick random a,b; check if h(a) + h(b) = h(a+b) ; repeat O(1) timesdo this for functions f and g supplied by proverTheorem [BLR]: h linear prob. success = 1; prob. success 1 – linear h’ s.t.Pra [h’(a) = h(a)] 1 – O()  May 28, 2019 x 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(xx)  11

PCP for QE Self-correction: given access to h:FmF close to linear h’; i.e.,Pra [h’ (a) = h(a)] 1 – O()to access h’(a), pick random b; computeh(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)  May 28, 2019 x F n soln f x (a) = i a i x i Had(x) g x (A) = i , j A[ i,j ] x i xj Had(xx)  12

PCP for QE 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 uf’(a)f’(b) = (iaiui )(ibiui) = i,j aibjV[i,j] = g’(abT)   May 28, 2019 x 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(xx)  13

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[(iaiui )(ibiui) = i,j aibjV[i,j] ] 3/4Pr[(uuT)b Vb] 1/2Pr[aT(uu T)b a T Vb ] ½ ½ = ¼   May 28, 2019 i,j s.t. uu T and V differ in entry ( i,j ); pick b j last   i s.t. ( uu T )b and Vb differ in entry i ; pick ai last  x Fn soln fx(a) = i ai xi Had(x) gx(A) = i, j A[i,j]xix j Had(xx)  14

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

May 28, 2019 NP PCP[log n, polylog n] MAX-k-SATgiven: k-CNF output: max. # of simultaneously satisfiable clausesgeneralization: MAX-k-CSPgiven:variables x1, x2, …, xn taking values from set Sk-ary constraints C1, C2, …, Ctoutput: max. # of simultaneously satisfiable constraints   16

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

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

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.   19

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 constraintquery 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)   20

May 28, 2019 NP PCP[log n, polylog n] Proof of Lemmareduce from 3-SAT3-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 (xi 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   21

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 = nidentify [n] with Hm:Hm x Hm x Hm x H3 {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 (i1 ,i2,i3,b1 ,b2,b 3) = 0 or a(i1)=b1 or a(i2)=b2 or a(i3)=b3 22

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 ( 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 Fq with degree at most |H| in each variablecan extend any assignment a:Hm {0,1} to a’:(Fq )m Fq with degree |H| in each variable 23

May 28, 2019 NP PCP[log n, polylog n] ’:(Fq)3m+3 Fq encodes φa’:(Fq)m Fq s.a. iff (i1,i2 ,i3,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’(i2 )=b2 or a’(i 3)=b3 define: pa’:(Fq)3m+3 Fq from a’ as follows pa’(i1,i2,i3,b1,b2,b3) = ’(i1,i 2,i3,b1,b2,b3)(a’(i1) - b1 )(a’(i2) - b 2 )(a’(i3) - b3) a’ s.a. iff (i1,i2,i3,b1,b2,b3) H3m+3pa’(i1,i2,i3,b1,b2,b3) = 0  24

May 28, 2019 NP PCP[log n, polylog n] ’:(Fq)3m+3 Fq encodes φa’:(Fq)m Fq s.a. iff (i1,i2,i 3,b1 ,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 (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+3p0(Z) = 0 Z H3m+3 25

May 28, 2019 NP PCP[log n, polylog n] Focus on “p0(Z) = 0 Z H3m+3”given: p0:(Fq)3m+3 Fqdefine: p1(x1, x2, x3, …, 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 FqxH3m+3-1Proof () for each x2, x3, …, x3m+3 H3m+3-1, resulting univariate poly in x1 has all 0 coeffs. 26

May 28, 2019 NP PCP[log n, polylog n] Focus on “p0(Z) = 0 Z H3m+3”given: p0:(Fq)3m+3 Fqdefine: p1(x1, x2, x3, …, 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 Fq xH3m+3-1Proof () for each x2, x3, …, x3m+3 H 3m+3-1, univariate poly in x1 is 0 has all 0 coeffs.  deg(p 1) ≤ deg(p0) + |H|27

May 28, 2019 NP PCP[log n, polylog n] given: p1:(Fq)3m+3 Fqdefine: p2(x1, x2, x3, …, x3m+3) =Σhj Hp1(x1 , hj , 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-2Proof: same.  deg(p2) ≤ deg(p1) + |H|28

May 28, 2019 NP PCP[log n, polylog n] given: pi-1:(Fq)3m+3 Fqdefine: pi(x1, x2, x3, …, x3m+3) =Σhj Hpi-1(x1 , x2, …, 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 (Fq)i x H3m+3-iProof: same.  deg(pi) ≤ deg(pi-1) + |H|29

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 ≠ idefine Q:Fq x (Fq)3m+3 Fq 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 + 3 + 2 < 10m|H|   30

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

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 Fqexpect 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) p a ’ (Z) formed from a ’ and ’ (formed from φ ) to access p i (Z) , evaluate Q( i , Z)   32

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 Fqexpect it to be formed in the way we have described from an assignment a:Hm {0,1} to φconstraints: Z ( F q ) 3m+3 (C 0 , Z ): p 0 (Z) = p a ’ (Z) 0<i≤3m+2 ( C i , Z ): p i (z 1, z2, …, z i, zi+1, …, z3m+3) = Σh jH pi-1(z1, z2, …, zi-1, hj, z i+1, …, zk)zij (C3m+3,Z): p3m+3 (Z) = 0   33

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): p 0(Z) = p a ’ (Z) ( C i , Z ): p i (z 1 , z 2 , …, z i , z i+1 , …, z 3m+3 ) = Σ h j H p i-1(z1, z 2, …, zi-1, h j, zi+1, …, zk)zij (C3m+3,Z): p3m+3(Z) = 0Schwartz-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 34

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-SATset m = O(log n/loglog n)H Fq such that |H|m = n (|H| = polylog n, q | H| 3 ) generate |F q | 3m+3 = poly(n) constraints: C Z = i =0…3m+3+1 C i, Z each refers to assignment poly Q and φ (via p a ’ ) all polys degree d = O( m|H |) = polylog neither all are satisfied or at most d/q = o(1) << ε  35

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

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 Fqruns in poly(m, d) timealways accepts if deg(f) ≤ drejects with high probability if deg(f) > d too much to ask. Why? 37

May 28, 2019 NP PCP[log n, polylog n] Definition: functions f, g are δ-close ifPrx[f(x) ≠ g(x)] δLemma: δ > 0 and a randomized procedure that is given d, oracle access to f:(Fq)m Fqruns in poly(m, d) timeuses 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   38

May 28, 2019 NP PCP[log n, polylog n] idea of proof:restrict to random line Lcheck if it is low degreealways accepts if deg(f) ≤ dother direction more complex (Fq) m 39

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

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 gruns in poly(m, d) timeuses O(m log |Fq|) random bitswith high probability outputs g(x) 41

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 gruns in poly(m, d) timeuses O(m log |Fq|) random bitsoutputs g(x) with high probability  42

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

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 problemprover supplies proof in form f:(Fq)m (Fq) (plus some other info used for low-degree testing)verifier runs low-degree testrejects if f not close to some low degree function gverifier picks random constraint Ci; checks if sat. by g uses self-correction to get values of g from f accept if C i satisfied; otherwise reject   44