1 / 56

The PCP Theorem by Gap Amplification

The PCP Theorem by Gap Amplification. Proven by Irit Dinur Exposition by Radhakrishnan-Sudan Lecture by Nick Harvey. 1. 0. 3. 1. 2. 0. 1. 3. …. How to give a proof?. Verifier. “Is 728950327 prime?”. Prover. Prover writes a proof Verifier checks all of it.

cian
Download Presentation

The PCP Theorem by Gap Amplification

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The PCP Theorem byGap Amplification Proven by Irit DinurExposition by Radhakrishnan-Sudan Lecture by Nick Harvey

  2. 1 0 3 1 2 0 1 3 … How to give a proof? Verifier “Is 728950327 prime?” Prover • Prover writes a proof • Verifier checks all of it. • If theorem is true, Verifier is convinced. • If theorem is false, no proof can convince her.

  3. 1 0 3 1 2 0 1 3 … Probabilistically Checkable Proofs Lazy verifier “Is 728950327 prime?” Prover • Prover writes a proof • Verifier rolls dice; checks a few bits of proof. • If theorem is true, Verifier is convinced. • If theorem is false, Pr[ Verifier is fooled ] < ½.(This probability is called the Soundness.)

  4. PCP Classes • What theorems can be proven by PCPs?

  5. PCP Classes • What languages can be decided by PCPs? • Depends on # dice, # queries, alphabet size… • The PCP Theorem[Arora, Lund, Motwani, Sudan, Szegedy ‘92]NP = PCP[ O(log n) dice, O(1) queries, alphabet size 2, soundness 1/2 ]

  6. Toy PCP Example Lazy verifier “Is this graph 3-colorable?” Prover

  7. Only one bad edge! Toy PCP Example Lazy verifier “Is this graph 3-colorable?” Prover • Prover produces coloring • Verifier picks a random edge and checks colors • If graph is 3 colorable, Verifier is always convinced • If graph not 3 colorable, Verifier can be fooled.Prob[ Victor is fooled ] = 1 – O(1/n).

  8. Only one bad edge! Toy PCP Example Lazy verifier “Is this graph 3-colorable?” Prover • Prover produces coloring • Verifier picks a random edge and checks colors • If graph is 3 colorable, Verifier is always convinced • If graph not 3 colorable, Verifier can be fooled.Prob[ Verifier is fooled ] = 1 - O(1/n) Soundness is too low!Want (n) bad edges! Want Gap to be (1)! GAP

  9. Ideal Reduction Graphs onpoly(n) vertices {0,1}* • No such transformationis known. • But we can do something similar! 3 colorablegraphs Any NP Language L Transformation T “Far from 3 colorable”graphs L In every 3 coloring, a constantfraction of edges are bad

  10. Generalized Graph Coloring c{u,v} Constraint c{u,v} • G = ( V, E, , C ) where is the “alphabet” of colorsC = { ce : e in E } is a set of constraintswhere ce : × {0,1} • Let GK = { instances with ||=K }. v’s color u’s color

  11. Generalized Graph Coloring c{u,v} Constraint c{u,v} • G is satisfiableif there is a coloring satisfying all constraints. • G is -far fromsatisfiableif every coloring leaves at least ∙|E| constraints unsatisfied. v’s color u’s color

  12. Main Theorem • There exists a constant >0and a polynomial time transformation T s.t. G16(generalized graph coloringinstances with ||=16) {0,1}* Satisfiablegraphs Any NP Language L Transformation T -far fromsatisfiable graphs L

  13. Main Theorem • There exists a constant >0and a polynomial time transformation T s.t. G16(generalized graph coloringinstances with ||=16) All graphs Satisfiablegraphs 3-colorablegraphs Transformation T -far fromsatisfiable graphs Non-3-colorablegraphs

  14. Main Theorem • There exists a constant >0and a polynomial time transformationT : graphsG16 s.t.3-colorable graphs map to satisfiable graphsand non-3-colorable graphs map to -far fromsatisfiable graphs. Corollary • NP ⊆ PCP[ O(log n) dice, 2 queries, alphabet size 16, soundness 1- ]

  15. G16 G16 G16 G16 Graphs Satisfiable Satisfiable Satisfiable Satisfiable 3-colorable -far Not3-colorable '-far ''-far '''-far  ' '' ''' < < < < Gap: 1/n How To Prove Main Theorem? • Trivial for =O(1/n) (Call  the Gap) • Idea: Find a transformation T that: • Increases gap by a constant factor • Increases # vertices & edges by a constant factor • Maintains alphabet size = 16 • Apply T only O(log n) times • Done!

  16. Use bigger constant ∙ We can ignore this! How To Prove Main Theorem? • Find a transformation T that: • Increases gap by a constant factor c • Increases # vertices & edges by a constant factor • Maintains alphabet size = 16 • Handy Lemma [Arora et al.]There exists a constant >0 such thatfor any constant alphabet size K,there exists a map M : GK  G16that shrinks gap by a factor . • Pro: Alphabet size shrinksCon: Gap also shrinks

  17. Dinur’s Goal • Find a transformation T that: • Maps G16  GK, where K is a constant • Increases gap by a large constant factor c • Increases # vertices & edges by a constant factor • Note: 0  gap 1, so the transformationnecessarily fails once gap is large enough.

  18. What to do? • Setup: • Given G=(V,E,,C), construct G’=(V’,E’,’,C’). • Want 2 queries in G’ to somehow test constraintsfor many edges in G. • Silly Approach: • Let G’ be the complete graph • Increase the alphabet size to ’=n • Each vertex stores an “opinion” of other vertices’ colors • Constraint in C’ for edge {u,v} checks thatu’s opinions all match v’s opinions, and thatall constraints in C are satisfied.

  19. Much too large! What to do? G’ G • Silly Approach: • Let G’ be the complete graph • Increase the alphabet size to ’=n • Each vertex stores an “opinion” of other vertices’ colors • Constraint in C’ for edge {u,v} checks thatu’s opinions all match v’s opinions, and thatall constraints in C are satisfied.

  20. What to do? • Dinur’s Approach: • Let t be a constant • Each vertex stores “opinions” of its neighbors at distance  t • Want storage at each vertex to be a constant Vertices should have constant degree d. Storage  16dt • Verifier queries two nearby vertices and checks someof their nearby edges Colors of allnearby vertices

  21. B(b,t) Implementing Dinur’s Approach • Let t be a large constant • Pick vertex a at random • Do a random walk from a. Halt at each step w.p. 1/t. B(a,t) (Ball of radius taround a) e1 e2 e3 … v1 v2 v3 a=v0 vT=b E[length of walk]=t • Both a and b have opinions about colors of verticesin B(a,t) ⋂ B(b,t) • Verifier tests if a’s and b’s opinions agree, and if theconstraints are satisfied on those edges.

  22. When does Verifier reject? • Let t be a large constant • Pick a vertex a at random • Do a random walk. Stop at each step w.p. 1/t. FAILURE!Conflicting Opinions B(a,t) B(b,t) e1 e2 e3 … v1 v2 v3 a=v0 vT=b • Both a and b have opinions about verticesin B(a,t) ⋂ B(b,t) • Verifier tests if a’s and b’s opinions agree, and if theconstraints are satisfied on those edges.

  23. When does Verifier reject? • Let t be a large constant • Pick a vertex a at random • Do a random walk. Stop at each step w.p. 1/t. FAILURE!Violated Constraint B(a,t) B(b,t) e1 e2 e3 … v1 v2 v3 a=v0 vT=b • Both a and b have opinions about verticesin B(a,t) ⋂ B(b,t) • Verifier tests if a’s and b’s opinions agree, and if theconstraints are satisfied on those edges.

  24. Analysis of Dinur’s Approach • If G is satisfiable, then prover supplies valid proofand verifier accepts with probability 1. • Main Lemma: Let G be -far from satisfiable. Then verifier rejects every coloringwith probability (∙t) (until  reaches 1/t). • Caveats: (1) G must have constant degree d. (2) G must have good expansion. • Corollary: Dinur’s goal is achieved! (Modulo caveats)We have a transformation T that: • Maps G16  GK, whereK16dt • Increases gap by a factor t • Increases # vertices & edges by a constant factor

  25. View of Dinur’s Transformation G’ G Corollary: Dinur’s goal is achieved!(Modulo caveats)We have a transformation T that: • Maps G16  GK, whereK16dt • Increases gap by a factor t • Increases # vertices & edges by a constant factor New Edges(connect vertices at distance  t)

  26. Remaining tasks for this talk • Proof of Main Lemma • Transforming graphs to constant degree • Transforming graphs to expanders Postponeuntil end

  27. Breaktime Puzzle! • I have two (biased) dice Da and Db • Say their outcomes have probabilities: • a1 a2 …  a6 where Σi ai = 1 • b4 b2 …  b5 where Σi bi = 1 (ordering is irrelevant) • Roll Da and Db once each, independently • What is Pr[ outcomes differ ]? (I want a very simple lower bound, depending on ai’s & bi’s)

  28. Map graph 3-coloring to generalized graph coloring in G16 G16 G16 G16 G16 Graphs Satisfiable Satisfiable Satisfiable Satisfiable 3-colorable -far Not3-colorable '-far ''-far '''-far  ' '' ''' < < < < Gap: 1/n Review of first half • Want a transformation T that: • Maps G16  GK, where K is a constant • Increases gap by a large constant factor c • Increases # vertices & edges by a constant factor

  29. Analysis of Dinur’s Approach • Suppose G is -far from satisfiable • Let A’ be any coloring of G’ • Want to show: Pr[ verifier detects fault in G’ ] (∙t) • How? • Show that A’ induces a coloring A of G • A has many faulty edges by assumption • Show that faults in A also cause A’ to have faults • Formally: • Let N be an RV = # faulty edges of G detected by verifier • Want to show: Pr[ N>0 ] (∙t) • Via second-moment method: Pr[ N>0 ]  E[ N ]2 / E[ N2 ] • Will show E[ N ] is large and E[ N2 ] is small

  30. E[ N ]2 E[ N2 ] Remaining Tasks • Define coloring A of G induced by coloring A’ of G’ • Let F be { faulty edges of coloring A } • Let N be an RV = # edges of F detected by verifier • Show E[ N ] ( t∙|F| / |E| ) • Show E[ N2 ] O( t∙|F| / |E| ) • Thus Pr[ N>0 ]   ( t∙|F| / |E| )  (t∙) (end of Main Lemma)

  31. Induced Coloring A • Notation: • A’u(v) = u’s opinion of v’s color in coloring A’ • A(v) = v’s color in A • Intuition for defining A: • Color A(u) should be a “majority opinion” of u’s color in A’ • Definition of A should be easy to analyzewhen considering verifier’s behavior • Verifier uses random walk  define A via random walk • Formally: • Perform random walk of length  t-1 from v in G’. • Let final vertex be u. Then u votes for color A’u(v). • Let A(v) be the majority vote.

  32. Set A(v) = Red How to pick A(v)? r Votes for v’s color • Formally: • Perform random walk of length  t-1 from v in G’. • Let final vertex be u. Then u votes for color A’u(v). • Let A(v) be the majority vote. z A’s(v) s A’z(v) y R G B 6 3 1 1 1 w u x v

  33. E[ N ]2 E[ N2 ] Remaining Tasks • Define coloring A of G induced by coloring A’ of G’ • Let F be { faulty edges of coloring A } • Let N be an RV = # edges of F detected by verifier • Show E[ N ] ( t∙|F| / |E| ) • Show E[ N2 ] O( t∙|F| / |E| ) • Thus Pr[ N>0 ]   ( t∙|F| / |E| )  (t∙) (end of Main Lemma)

  34. E[ N ] is large Let F be { faulty edges of coloring A } Let N be an RV = # edges of F detected by verifier e • Focus on a single edge e∈F • Suppose walk traverses e and {u,v} ⊆B(a,t)⋂B(b,t) • Verifier performs 3 tests: Is A’a(u) = A’b(u)? Is A’a(v) = A’b(v)? Is ce( A’a(u), A’b(v) )=1? • Intuition • If opinions of nearby vertices differ then Tests 1 and 2 will fail • If opinions of nearby vertices match then Test 3 will fail B(a,t) B(b,t) … … u v a b Test 1 Test 2 Test 3

  35. E[ N ] is large Let F be { faulty edges of coloring A } Let N be an RV = # edges of F detected by verifier e • Focus on a single edge e∈F • Suppose walk traverses e and {u,v} ⊆B(a,t)⋂B(b,t) • Verifier performs 3 tests: Is A’a(u) = A’b(u)? Is A’a(v) = A’b(v)? Is ce( A’a(u), A’b(v) )=1? • Pr[ verifier detects fault ]  maxi Pr[ Test i detects fault ] • Define: pu = Pr[ A’a(u) = A(u) | d(a,u)<t ] pv = Pr[ A’b(v) = A(v)| d(b,v)<t ] B(a,t) B(b,t) … … u v a b Test 1 Test 2 Test 3 Unknown parameters

  36. E[ N ] is large Test 1 Test 2 Test 3 • Verifier performs 3 tests: Is A’a(u) = A’b(u)? Is A’a(v) = A’b(v)? Is ce( A’a(u), A’b(v) )=1? • Define: pu = Pr[ A’a(u) = A(u) | d(a,u)<t ] (Unknown) Pr[ Test 1 detects fault ]  Pr[ d(a,u)<t d(b,v)<t Test 1 detects fault ] (1-1/e)2 Pr[ Test 1 detects fault | d(a,u)<t d(b,v)<t ] =(1-1/e)2 Pr[ A’a(u)A’b(u) | d(a,u)<t d(b,v)<t ] Roll two independent, biased dice Da and Db.What is Pr[ values differ ]?  (1 – (prob of most likely value for Da)

  37. E[ N ] is large Test 1 Test 2 Test 3 • Verifier performs 3 tests: Is A’a(u) = A’b(u)? Is A’a(v) = A’b(v)? Is ce( A’a(u), A’b(v) )=1? • Define: pu = Pr[ A’a(u) = A(u) | d(a,u)<t ] (Unknown) Pr[ Test 1 detects fault ]  Pr[ d(a,u)<t d(b,v)<t Test 1 detects fault ] (1-1/e)2 Pr[ Test 1 detects fault | d(a,u)<t d(b,v)<t ] =(1-1/e)2 Pr[ A’a(u)A’b(u) | d(a,u)<t d(b,v)<t ]  (1 – (prob of most likely value for Da) By definition, A(u) is the most likely value for A’a(u)! (1-1/e)2 (1-pu)

  38. E[ N ] is large Test 1 Test 2 Test 3 • Verifier performs 3 tests: Is A’a(u) = A’b(u)? Is A’a(v) = A’b(v)? Is ce( A’a(u), A’b(v) )=1? • Define: pu = Pr[ A’a(u) = A(u) | d(a,u)<t ] pv= Pr[ A’b(v) = A(v)| d(b,v)<t ] Unknown Pr[ Test 3 detects fault ]  Pr[ d(a,u)<t d(b,v)<t Test 3 detects fault ] (1-1/e)2 Pr[ Test 3 detects fault | d(a,u)<t d(b,v)<t ] (1-1/e)2 Pr[ A’a(u)=A(u) A’b(v)=A(v) | d(a,u)<t d(b,v)<t ] a and b are independent =(1-1/e)2pu pv

  39. E[ N ] is large Test 1 Test 2 Test 3 • Verifier performs 3 tests: Is A’a(u) = A’b(u)? Is A’a(v) = A’b(v)? Is ce( A’a(u), A’b(v) )=1? • Define: pu = Pr[ A’a(u) = A(u) | d(a,u)<t ] pv = Pr[ A’b(v) = A(v)| d(b,v)<t ] Unknown Pr[ Test 1 detects fault ]  (1-1/e)2 (1-pu) Pr[ Test 2 detects fault ]  (1-1/e)2 (1-pv) Pr[ Test 3 detects fault ]  (1-1/e)2pu pv Pr[ Verifier detects fault ]  maxi Pr[ Test i detects fault ]  (1-1/e)2max { 1-pu, 1-pv, pupv} √  (1-1/e)2( 5 - 1) / 2  1/8

  40. E[ N ] is large Test 1 Test 2 Test 3 • Verifier performs 3 tests: Is A’a(u) = A’b(u)? Is A’a(v) = A’b(v)? Is ce( A’a(u), A’b(v) )=1? • Define: pu = Pr[ A’a(u) = A(u) | d(a,u)<t ] pv = Pr[ A’b(v) = A(v)| d(b,v)<t ] Punchline e is a faulty edge for G under coloring A If verifier’s random walk traverses e, then it will detect a fault with probability 1/8. Unknown Pr[ Test 1 detects fault ]  (1-1/e)2 (1-pu) Pr[ Test 2 detects fault ]  (1-1/e)2 (1-pv) Pr[ Test 3 detects fault ]  (1-1/e)2pu pv Pr[ Verifier detects fault ]  maxi Pr[ Test i detects fault ]  (1-1/e)2max { 1-pu, 1-pv, pupv} √  (1-1/e)2( 5 - 1) / 2  1/8

  41. Wrapup: E[ N ] is large • Notation: • Let F be { faulty edges of coloring A } • Let N be an RV = # edges of F detected as faulty by verifier • Focus on a single edge e∈F • Let Me = # times e is traversed by verifier’s random walk • Let Ne = # times e is traversed by verifier’s random walkand is detected to be faulty • Thus N = Σe∈F Ne E[ Ne ] = E[ Ne | Me=0 ]∙Pr[ Me=0 ] + E[ Ne | Me1 ]∙Pr[ Me1 ]  (1/8)∙E[ Me | Me1 ]∙Pr[ Me1 ] = (1/8)∙E[ Me ] ith edge of walk isdistributed uniformlysince G is regular = (1/8)∙E[ length of random walk ] / |E| = (1/8) ∙ t / |E|  E[ N ] = Σe∈FE[ Ne] = t∙|F| / 8∙|E|= ∙t / 8

  42. E[ N ]2 E[ N2 ] Remaining Tasks • Define coloring A of G induced by coloring A’ of G’ • Let F be { faulty edges of coloring A } • Let N be an RV = # edges of F detected by verifier • Show E[ N ] ( t∙|F| / |E| ) • Show E[ N2 ] O( t∙|F| / |E| ) • Thus Pr[ N>0 ]   ( t∙|F| / |E| )  (t∙) (end of Main Lemma)

  43. E[ N2 ] is small • Let e1, e2, …, be edges chosen by verifier • Let i be indicator that  i edges chosen and ei∈ F • Simplifying Assumption: • Edges chosen independently, not by random walk Pr[j=1| i=1] = (1-1/t)j-i |F|/|E| (if j>i) E[N2] = E[ (∑i1i)2]  2 ∑jiE[ i j ] = 2 ∑i1Pr[i=1] ∑jiPr[j=1| i=1] = 2 ( t∙|F| / |E| )( 1 + ∑k1(1-1/t)k|F|/|E| ) < 2 ( t∙|F| / |E| )( 1 + t|F| / |E| ) < 4 ( t∙|F| / |E| ) So long as =|F|/|E|<1/t

  44. E[ N2 ] is small • Let e1, e2, …, be edges chosen by verifier • Let i be indicator that iedges chosen and ei∈ F • Claim:If G is an expander then ei’s on random walkare almost pairwise independent. • Pr[j=1| i=1] = (1-1/t)j-i( |F|/|E| + (1-2/d2)j-i-1) (if j>i) Expansion of G E[N2] = E[ (∑i1i)2]  2 ∑jiE[ i j ] = 2 ∑i1Pr[i=1] ∑jiPr[j=1| i=1] = 2 ( t∙|F| / |E| )(1 + ∑k1(1-1/t)k(|F|/|E|+(1-2/d2)k-1) ) < 2 ( t∙|F| / |E| )(1 + t|F|/|E| + 2/d2) < 4 ( t∙|F| / |E| ) (1 + 2/d2)

  45. E[ N2 ] is small • Let e1, e2, …, be edges chosen by verifier • Let i be indicator that iedges chosen and ei∈ F • Claim:If G is an expander then ei’s on random walkare almost pairwise independent. • Pr[ej∈F | e1∈F] = |F|/|E| + (1-2/d2)j-2 (if j>1) E[N2] = E[ (∑i1i)2]  2 ∑jiE[ i j ] = 2 ∑i1Pr[i=1] ∑jiPr[j=1| i=1] = 2 ( t∙|F| / |E| )(1 + ∑k1(1-1/t)k(|F|/|E|+(1-2/d2)k-1) ) < 2 ( t∙|F| / |E| )(1 + t|F|/|E| + 2/d2) < 4 ( t∙|F| / |E| ) (1 + 2/d2)

  46. E[ N ]2 E[ N2 ] Remaining Tasks • Define coloring A of G induced by coloring A’ of G’ • Let F be { faulty edges of coloring A } • Let N be an RV = # edges of F detected by verifier • Show E[ N ] ( t∙|F| / |E| ) • Show E[ N2 ] O( t∙|F| / |E| ) • Claim:If G is an expander then ei’s on random walkare almost pairwise independent. • Pr[ej∈F | e1∈F] = |F|/|E| + (1-2/d2)j-2 (if j>1) • Thus Pr[ N>0 ]   ( t∙|F| / |E| )  (t∙) (end of Main Lemma)

  47. Random Walks on Expanders • Claim: Pr[ej∈F | e1∈F] = |F|/|E| +(2/d)j-2 (if j>1) • Notation: • 2 d-2/d is the second-largest eigenvalue • F(v) = { edges in F incident on v } • v1, v2, … are the vertices on random walk • i is the distribution on vi, conditioned on e1∈F • M is transition matrix of the random walk • Preliminaries: • 1(v) = F(v) / 2|F| • 1 = (1/n)∙1 + F’ / 2|F|where F’ is component of F orthogonal to 1 • j-1 = Mj-21 = Mj-2( (1/n)∙1 + F’ / 2|F| ) • Pr[ej∈F | e1∈F] = ∑v (F(v)/d)∙j-1(v) = (FT j-1)/d

  48. Random Walks on Expanders • 1(v) = F(v) / 2|F| • 1 = (1/n)∙1 + F’ / 2|F| • j-1 = Mj-21 = Mj-2( (1/n)∙1 + F’ / 2|F| ) • Pr[ej∈F | e1∈F] = ∑v (F(v)/d)∙j-1(v) = (FT j-1)/d Pr[ej∈F | e1∈F] = (FT j-1)/d (from (4)) = (FTMj-2( (1/n)∙1 + F’/2|F| ))/ d (from (3)) = (1/nd)∙FT1+ (1/2|F|d) FTMj-2F’ (linearity) |F|/|E|+ (1/2|F|d) ||F|| ||Mj-2F’|| (Cauchy-Schwarz) |F|/|E|+ (1/2|F|d) ||F|| (2/d)j-2 ||F|| (since F’ ┴1) =|F|/|E|+ (1/2|F|d) (2/d)j-2 (∑vF(v)2) |F|/|E|+ (1/2|F|d) (2/d)j-2 (d ∑vF(v)) =|F|/|E|+ (2/d)j-2 (end of Claim)

  49. Remaining tasks for this talk • Proof of Main Lemma • Transforming graphs to constant degree • Transforming graphs to expanders

  50. Transforming Graphs to Constant Degree Introduce dummyvertices! v

More Related