The PCP Theorem via gap amplification Irit Dinur Hebrew University.
The PCP theorem
-
Upload
abigail-boyd -
Category
Documents
-
view
41 -
download
4
description
Transcript of The PCP theorem
The PCP theorem
Summary- Proof structure
- Basic ingredients- Arithmetization- Properties of polynomials
- 3-SAT belongs to PCP[O(n3),O(1)]
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
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
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]
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
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
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
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
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
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)}
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))
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
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
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
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 ...
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
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
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
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.
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.
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
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
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.
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
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.