The PCP theorem

26
The PCP theorem

description

The PCP theorem. Summary. Proof structure Basic ingredients Arithmetization Properties of polynomials 3-SAT belongs to PCP[O( n 3 ) , O(1)]. Proof structure. 3-SAT  PCP[log, polylog ]. 3-SAT  PCP[log, polylog ]. composition lemma. 3-SAT  PCP[log, polyloglog ]. - PowerPoint PPT Presentation

Transcript of The PCP theorem

Page 1: The PCP theorem

The PCP theorem

Page 2: The PCP theorem

Summary- Proof structure

- Basic ingredients- Arithmetization- Properties of polynomials

- 3-SAT belongs to PCP[O(n3),O(1)]

Page 3: The PCP theorem

3-SATPCP[log,polylog] 3-SATPCP[log,polylog]

composition lemma

3-SATPCP[log,polyloglog]

3-SATPCP[O(n3),O(1)]

composition lemma

3-SATPCP[log,O(1)]PCP[log,O(1)] NPPCP is closed withrespect to polynomial-time Karp reducibility

Proof structure

Page 4: The PCP theorem

Basic ingredients- If two univariate polynomials of degree d coincides

on at least d+1 points, then they are the same- aritmetization of Boolean formulas- low-degree probabilistic test

- If a small fraction of the value table of a (low degree) polynomial is wrong, it is still possible to compute the right values (with high probability)- self-correcting probabilistic procedure

Page 5: The PCP theorem

Polynomial associated with a formula- Let f be a CNF Boolean formula with three literals per

clause

- Polynomial p[ƒ] associated with f:- p[u]=1-x[u] and p[not u]=x[u]

- p[l1 or l2 or l3]=p[l1]p[l2]p[l3]

- p[c1 and ... and cm] = p[ci]

Page 6: The PCP theorem

Truth-assignments and values

- If f(a1,...,an) is true, then p[f](a1,...,an)=0 where we identify the value TRUE with 1 and the value FALSE with 0

- Problem: If f(a1,...,an) is false, then p[f](a1,...,an) not necessarily is 1- Depends on the parity of the number of satisfied clauses

Page 7: The PCP theorem

Example

- c1=u1 or not u3 or not u4, c2=not u1 or u2 or not u4, c3=u2 or u3 or not u4

- p[f](x1,x2,x3,x4)=(1- x1)x3x4+x1(1-x2)x4+(1-x2)(1-x3)x4=x3x4+x1x3x4+x1 x4-x1x2x4+x4-x3x4-x2x4+ x2x3x4=x4 +x1 x4+x2x4+x1x2x4+x1x3x4+x2x3x4

- ƒ(0,0,0,1) is false and p[f](0,0,0,1)=1 but …ƒ(1,0,0,1) is false and p[f](1,0,0,1)=0

Page 8: The PCP theorem

Homogenization

- Lemma: Let v1,...,vm be a non-zero vector. ThenPrr {0,1}m[ rivi=1]= 1/2

- Easy proof by induction on m

- For any r {0,1}m, define p[f,r]= rip[ci]

- Hence:- if f(a1,...,an) is true, then, for any r {0,1}m, clearly p[f,r]

(a1,...,an)=0

- if f(a1,...,an) is false, then from the lemma it follows that Prr {0,1}m [p[f,r](a1,...,an)=1]=1/2

Page 9: The PCP theorem

Example

c1= u1or not u3 or not u4, c2= not u1 or u2 or not u4, c3= u2 or u3 or not u4

r p[f,r] p[f,r](1,0,0,1)

000 0 0

001 x4+x2x4+x3x4+x2x3x4 1

010 x1x4+x1x2x4 1

011 x4+x1x4+x2x4+ x3x4+ x!x2x4+x2x3x4 0

100 x3x4+ x1x3x4 0

101 x4+x2x4+ x1x3x4+ x2x3x4 1

110 x1x4+x3x4+ x1x2x4+x1x3x4 1

111 x4+x1x4+ x2x4+x1x2x4+ x1x3x4+x2x3x4 0

Page 10: The PCP theorem

Arithmetization and linearity- Polynomials of degree 3

- Must be converted in set of linear functions

- Each polynomial of degree 3 is the sum of- constant term a

- set of monomials (I1=set of variable indices)

- set of binomials (I2=set of pair of variable indices)

- set of trinomials (I3= set of triple of variable indices)

- Hence,p(x1,...,xn)=a+ i I1

xi+ (i,j) I2 xixj+ (i,j,k) I3

xixjxk

Page 11: The PCP theorem

Example

- p(x1,x2,x3,x4)=x4+x1x4+x2x4+x1x2x4+x1x3x4+x2x3x4

- In this case,- a=0

- I1={4}

- I2={(1,4),(2,4)}

- I3={(1,2,4),(1,3,4),(2,3,4)}

Page 12: The PCP theorem

Computing the polynomial value

- Let a1,...,an be an assignment to the polynomial variables

- Then, p(a1,...,an)= a+ i I1

ai+ (i,j) I2 aiaj+ (i,j,k) I3

aiajak

- Define:- A(x1,...,xn)= aixi

- B(x1,...,xn2)= aiajxi,j

- C(x1,...,xn3)= aiajakxi,j,k

- The value of p can be computed asp(a1,...,an)=a+A(Ch(I1))+B(Ch(I2))+C(Ch(I3))

Page 13: The PCP theorem

Example

- p(x1, x2, x3, x4) = x4+x1x4+x2x4+x1x2x4+x1x3x4+x2x3x4

- Assignment: 1,0,0,1

- In this case:- Ch(I1) = 0,0,0,1 and A(Ch(I1)) = a4 = 1

- B(Ch(I2)) = a1 a4 + a2 a4 = 1

- C(Ch(I3)) = a1a2a4 + a1a3a4 + a2a3a4 = 0

- p(1,0,0,1) = 0+1+1+0 = 0

Page 14: The PCP theorem

3-SAT PCP(n3,1)

formula of size n

verifier

n3 random bits

A(x) = ax

B(y) = (a o a)y

C(z) = (a o a o a)z

2n

2n2

2n3

Page 15: The PCP theorem

Problems to be solved- Verifying that A, B and C are (almost) linear and

consistent- Must be done with n3 random bit and querying a constant

number of values of A, B and C

- Verifying that A, B and C encode a satisfying truth assignment- Must be done with n3 random bits and querying a constant

number of values of A, B and C in order to compute the values of A, B and C corresponding to Ch(I1), Ch(I2), and Ch(I3), respectively

Page 16: The PCP theorem

Disadvantages- Proof has exponential size because we have a

polynomial number of variables- Requires a polynomial number of random bits

- Alternative: low degree polynomials with less variables- The degree depends on the length of the assignment - That’s another story ...

Page 17: The PCP theorem

Linear functions- A function f from {0,1}m to {0,1} is linear if, for any x

and y {0,1}m, f(x+y)=f(x)+f(y)

- Given two functions f and g, their distance d(f,g) is the fraction of input on which they differ- f and g are -close if d(f,g)

- Lemma: let <1/3 and let g be a function from {0,1}m to {0,1} such that

Prx,y {0,1}m[g(x+y) g(x)+g(y)] /2.Then there exists a linear function f that is -close to g

Page 18: The PCP theorem

Proof- f(x)=majority{g(x+y)-g(y)}

- f and g are -closeOtherwise, since Pry {0,1}m[f(x)=g(x+y)-g(y)] 1/2, if

Prx {0,1}m[f(x)g(x)] > then Prx,y {0,1}m[g(x+y)-g(y) g(x)] > /2

- f is linear- For any a, Prx {0,1}m[f(a) g(a+x)-g(x)] (see later)

– for any a and b, Prx {0,1}m[f(a)+f(b)+g(x) g(a+x)+f(b)]

– for any a and b, Prx {0,1}m[f(b)+g(a+x) g(b+a+x)]

– for any a and b, Prx {0,1}m[g(a+b+x) f(a+b)+g(x)]

- For any a and b, Prx {0,1}m[f(a)+f(b)+g(x)=f(a+b)+g(x)] 1-3 >0

- Independent from x: ƒ is linear

Page 19: The PCP theorem

Proof (continued)- For any a, pa=Prx {0,1}m[f(a)=g(a+x)-g(x)] 1-

- By hypothesis, Prx,y {0,1}m[g(x+a+y) g(x+a)+g(y)] /2

- By hypothesis, Prx,y {0,1}m[g(x+y+a) g(x)+g(y+a)] /2

- Hence, Prx,y {0,1}m[g(x+a)+g(y)=g(x)+g(y+a)] 1-- Prx,y {0,1}m[g(x+a)+g(y)=g(x)+g(y+a)] =

Prx {0,1}m[g(x+a)-g(x)=0] Pry {0,1}m[g(y+a)+g(y)=0] +

Prx {0,1}m[g(x+a)-g(x)=1] Pry {0,1}m[g(y+a)+g(y)=1] =

(Prx {0,1}m[g(x+a)-g(x)=0])2+(Prx {0,1}m[g(x+a)-g(x)=1])2

- From definition of f, pa 1/2

- Since either f(a)=0 or f(a)=1, we finally have that 1- pa

2+(1- pa)2 pa(pa+(1- pa)) = pa

Page 20: The PCP theorem

Linearity test

- If g is linear, then it answers YES with probability 1

- If g is not -close to a linear function, then it answers NO with probability at least /2- By iterating, we can make the error probability arbitrarily

small

begin randomly choose x,y {0,1}m ;

if g(x+y)=g(x)+g(y) then return YESelse return NO

end.

Page 21: The PCP theorem

Self-correcting procedure

- Lemma: If g is -close to a linear function f, then Pry {0,1}m[SC-g(x)=f(x)] 1-2

begin

randomly y {0,1}m ; return SC-g(x)=g(x+y)-g(y)

end.

Page 22: The PCP theorem

Proof- For any x {0,1}m, y and x+y are uniformly

distributed (even if they are not independent)

- Hence, for any x {0,1}m,- Pry {0,1}m[g(y)=f(y)] 1-

- Pry {0,1}m[g(x+y)=f(x+y)]1-

- Since, for any x,y {0,1}m, f(x)=f(x+y)-f(y), we have that, for any x {0,1}m, Pry {0,1}m[g(x+y)-g(x)=f(x)] 1-2

- Hence, Pry {0,1}m[SC-g(x)=f(x)] 1-2

Page 23: The PCP theorem

Consistency

- If ai, bi,j, and ci,j,k are the coefficients of linear functions A, B, and C, then bi,j= ai aj and ci,j,k= ai aj ak

- Equivalently, for any x, x’ {0,1}n and for any y{0,1}n2, A(x)A(x’)=B(x o x’) and A(x)B(y)=C(x o y) where x o x’ is in {0,1}n2 and its (i-1)n+j-th element is xix’j (similarly for x o y)

- Problem: x o x’ is not random and we cannot directly use the -closeness- Solution: use the self-correcting procedure

Page 24: The PCP theorem

Consistency test

- Lemma: For any < 1/24, there exists k such that if A and B are not consistent, then with probability at least 1- at least one of k applications of the consistency test answers NO- Similar test and lemma for C

begin randomly x,x’ {0,1}n ;

if SC-A(x)SC-A(x’)=SC-B(x o x’) then return YESelse return NO

end.

Page 25: The PCP theorem

Proof- Assume that coefficients of B and A are not consistent

- otherwise there is nothing to be proved

- Since, for any xx’ {0,1}n, Prr {0,1}n[xr x’r]=1/2, then, for any xx’ {0,1}n2, Prr {0,1}n[xr x’r] 1/2

- Coefficients of B form a matrix b- Coefficients of A form a vector a, and a o a is a matrix

- Hence Prr,s {0,1}n[rT(a o a)s rTbs] 1/4

- rT(a o a)s=A(r)A(s) and rTbs=B(r o s)- By property of self-correcting test, it follows that

- Prr,s {0,1}n[SC-A(r)SC-A(s) SC-B(r o s)] 1/4-6 > 0

Page 26: The PCP theorem

Satisfiability test

- Lemma: If A,B, and C are -close to linear consistent functions, then there exists k such that with probability at least 1- at least one k applications of the satisfiability test answers NO if the assignment does not satisfy ƒ

- Teorem: 3-SAT is in PCP(n3,1)

begin randomly r {0,1}m ;

compute a, I1, I2, and I3 of polynomial p[f,r];if a+A(Ch(I1))+B(Ch(I2))+C(Ch(I3))=0 then return YESelse return NO

end.