560 likes | 715 Views
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.
E N D
The PCP Theorem byGap Amplification Proven by Irit DinurExposition 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. • If theorem is true, Verifier is convinced. • If theorem is false, no proof can convince her.
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.)
PCP Classes • What theorems can be proven by PCPs?
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 ]
Toy PCP Example Lazy verifier “Is this graph 3-colorable?” Prover
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).
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
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
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
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
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
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
Main Theorem • There exists a constant >0and a polynomial time transformationT : graphsG16 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- ]
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!
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
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.
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.
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.
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
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.
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.
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.
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, whereK16dt • Increases gap by a factor t • Increases # vertices & edges by a constant factor
View of Dinur’s Transformation G’ G Corollary: Dinur’s goal is achieved!(Modulo caveats)We have a transformation T that: • Maps G16 GK, whereK16dt • Increases gap by a factor t • Increases # vertices & edges by a constant factor New Edges(connect vertices at distance t)
Remaining tasks for this talk • Proof of Main Lemma • Transforming graphs to constant degree • Transforming graphs to expanders Postponeuntil end
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)
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
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
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)
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.
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
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)
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
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
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)
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)
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
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
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
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 | Me1 ]∙Pr[ Me1 ] (1/8)∙E[ Me | Me1 ]∙Pr[ Me1 ] = (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
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)
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[ (∑i1i)2] 2 ∑jiE[ i j ] = 2 ∑i1Pr[i=1] ∑jiPr[j=1| i=1] = 2 ( t∙|F| / |E| )( 1 + ∑k1(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
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[ (∑i1i)2] 2 ∑jiE[ i j ] = 2 ∑i1Pr[i=1] ∑jiPr[j=1| i=1] = 2 ( t∙|F| / |E| )(1 + ∑k1(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)
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[ (∑i1i)2] 2 ∑jiE[ i j ] = 2 ∑i1Pr[i=1] ∑jiPr[j=1| i=1] = 2 ( t∙|F| / |E| )(1 + ∑k1(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)
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)
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-21 = Mj-2( (1/n)∙1 + F’ / 2|F| ) • Pr[ej∈F | e1∈F] = ∑v (F(v)/d)∙j-1(v) = (FT j-1)/d
Random Walks on Expanders • 1(v) = F(v) / 2|F| • 1 = (1/n)∙1 + F’ / 2|F| • j-1 = Mj-21 = 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-2F’ (linearity) |F|/|E|+ (1/2|F|d) ||F|| ||Mj-2F’|| (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 (∑vF(v)2) |F|/|E|+ (1/2|F|d) (2/d)j-2 (d ∑vF(v)) =|F|/|E|+ (2/d)j-2 (end of Claim)
Remaining tasks for this talk • Proof of Main Lemma • Transforming graphs to constant degree • Transforming graphs to expanders
Transforming Graphs to Constant Degree Introduce dummyvertices! v