Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 The PCP Theorem via gap amplification Irit Dinur Presentation by Michal Rosen & Adi Adiv.

Similar presentations


Presentation on theme: "1 The PCP Theorem via gap amplification Irit Dinur Presentation by Michal Rosen & Adi Adiv."— Presentation transcript:

1 1 The PCP Theorem via gap amplification Irit Dinur Presentation by Michal Rosen & Adi Adiv

2 2 The PCP Theorem NP = PCP ½ [log(n),O(1)] What does it mean?

3 3 Definitions NP L  NP if there is a protocol : L  NP if there is a protocol : p – prover has infinite running time. v – verifier has O(poly(n)) running time. s.t. if x  L if x  L if x  L  π v(π) = 1  π v(π) = 0

4 4 Definitions NP-Complete L  NPC if L  NP and if for  A  NP A ≤ p L. if for  A  NP A ≤ p L. We saw that SAT, 3-Col, Ham… Are in NPC

5 5 PCP Prover: gives a proof: Hide it, and gives it to the verifier Verifier: picks constant number of cells randomly Accept/reject according the check 1 0011001

6 6 Definitions PCP  [r,q] LЄPCP  [r,q] if there is a protocol : s.t. if x  L if x  L if x  L r – how many coins does v need for checking π q – the number of places v samples π The probability upon the random coins  π Pr[v accepts π] = 1  π Pr[v accepts π] ≤ 

7 7 Example -3-col P: gives a proof (coloring): ∑ = {0,1,2} V: choose an edge randomly and check it 2001 u yx v u x v y V accepts V regects

8 8 Example 3-col 3-Col Prover – Verifier – q = r =  = = = = gives a coloring of G. chooses edge (u,v) randomly, checks u and v have different colors. O(1) 1-1/m O(log(n)) r – how many coins does v need for checking π q – the number of places v samples π  – if x  L  π Pr[v accepts π] ≤ 

9 9 PCP Theorem NP = PCP ½ [log(n),O(1)] If x  L  π Pr[v accepts π] = 1 If x  L  π Pr[v accepts π] ≤ ½. r = log(n) - how many coins does v need for checking π q = O(1) - the number of places v samples π

10 10 What is it good for? NP = PCP ½ [log(n),O(1)]  Gap3-SAT[ ,1]  NP-Hard PCP is very important for approximate problems

11 11 History AS92: defining PCP ALMSS92: the PCP theorem Long and complicated proof Uses heavily algebraic tools Not good parameters BGLR93, RS97,AS97…: Better parameters but even more complicated D06: simple combinatorial proof STOC’06 best paper

12 12 Main Goal We will show an overview of the proof Gap3-SAT[ ,1]  NP-Hard Actually we will prove hardness of hardness of a problem, a problem, Which has an easy reduction to Gap3-SAT Remember: NP = PCP ½ [log(n),O(1)]  Gap3-SAT[c,1]  NP-Hard

13 13 Constraint Graph (CG) Input: : G = (V,E) undirected graph, ∑ alphabet, C constraints where for every e  E, C e  ∑х∑. Example: ∑ = {0,1,2} U V C u,v = {(2,1), (1,0)} U = 1 v = 0 U = 2

14 14 Constraint Graph (CG) Goal: Find σ:V->∑ that satisfied all edges (u,v)  E s.t. (σ(u),σ(v))  C u,v wU V C u,v = {(1,1)} C v,w = {(0,0),(1,1)}σ(u)=1 σ σ(v)=1 σ σ(w)=1 σ σ(u)=0

15 15 CG  NPC CG  NP CG  NP We’ll show reduction We’ll show reduction 3-Col ≤ CG ∑ = {0,1,2} For every edge (u,v)  E, C u,v = u ≠ v

16 16 GapCG[α,β] Definition: CG is a constraint graph (like before) YES: there exists σ :V->∑ s.t. #satisfied edges ≥ β. NO: for any σ:V->∑ #satisfied edges ≤ .

17 17 GapCG[α,β] Notice: if G  CG then in every assignment there is at least one edge that is not satisfied In this case: GapCG[1-1/m,1] = CG (m = |E|)

18 18 UNSAT(CG) UNSAT(CG) = the smallest number of: # unsatisfied edges #all edges #all edges UNSAT(CG) = min σ (|{C u,v : (σ(u),σ(v))  C(u,v)}|/m)

19 19 UNSAT(CG) Remember: if G  CG then in every assignment there is at least one edge that is not satisfied Therefore: UNSAT(G) m = |E| # “bad” edges # all edges m 1 ≥=

20 20 UNSAT(CG) So what do we know? It is NP-Hard to distinguish between UNSAT(G) = 0 to UNSAT(G) ≥ 1/m So what do we need? It is NP-Hard to distinguish between UNSAT(G) = 0 to UNSAT(G) ≥ 

21 21 UNSAT(CG) why? => GapCG[1- ,1]  NP-Hard => GapCG[1- ,1] ≤ p Gap3-SAT[c,1] => Gap3-SAT[c,1]  NP-Hard => PCP theorem!!! Remember: NP = PCP ½ [log(n),O(1)]  Gap3-SAT[c,1]  NP-Hard

22 22 GOAL UNSAT(G) ≥ 1/m is not enough. We want constant  !!! => UNSAT(G) ≥  How can we increase the percentage of the “bad” edges?

23 23 How? G i  G i+1 |∑(G i )| = |∑(G i+1 )| ּ UNSAT(G i+1 ) > 2 ּ UNSAT(G i ) |G i+1 | ~ kּ |G i | (k is a constant) Degree(G i+1 ) = constant

24 24 Road Map  Preparation:  Degree reduction- G i  G i 1 d-regular graph  Expandering- G i 1  G i 2  Powering- G i 2  G i 3 increase UNSAT(G i 2 ).  ∑ -reduce- G i 3  G i+1 back to original ∑.

25 25 Preparation After the preparations the graph becomes d-regular expander. We’ll see later how to do it. UNSAT(G)|G|Deg(G)|∑| Constant factor d-regular No change

26 26 Powering - overview Result: UNSAT(G t ) ≥ β ּ √t ּ UNSAT(G) Problem: |∑| becomes |∑| d^t UNSAT(G)|G|Deg(G)|∑| Constant factor goes up goes up (problem!!!)

27 27 Powering Let G = a constraint graph. Let G = a constraint graph. We define G t = : V’ = V V’ = V E’: there are k edges between u and v iff there are exactly k different t-step paths between them in G. E’: there are k edges between u and v iff there are exactly k different t-step paths between them in G.

28 28 Powering ∑ d^t : every u  V’ has information of it’s t-step neighbors. ∑ d^t : every u  V’ has information of it’s t-step neighbors. Constraints: (u,v)  E’ will be satisfied if- Constraints: (u,v)  E’ will be satisfied if- u and v assignment agree about all the shared “neighbors”.u and v assignment agree about all the shared “neighbors”. The assignment satisfies all the shared constraints in the original graph G.The assignment satisfies all the shared constraints in the original graph G.

29 29 Powering Example: t = 2 powering  GtGt xwyz G ? uxwyzu ? ? ? ? ? ?

30 30 Powering t = 1 : Assignment Does it satisfie? xwyz y=1x=1w=0 y=1x=1 xwyz C={(1,1)} C={(0,2)} C={(1,0)} powering  G GtGt

31 31 Powering Lemma (amplification lemma)  β > 0,  G = - d-regular-CG UNSAT(G t ) ≥ β√tּmin(UNSAT(G),1/t) UNSAT(G t ) ≥ 2ּUNSAT(G) or 1/t (constant) Example: If we ’ ll take t ≥4/β 2 then

32 32 Powering What does it give us? UNSAT(G) = 1/m  2/m  2 2 /m  …  2 O(log(m)) /m =  We need to repeat the procedure O(log(m)) times

33 33 Powering - Summary Result: UNSAT(G t ) ≥ β ּ √t ּ UNSAT(G) Problem: |∑| becomes |∑| d^t UNSAT(G)|G|Deg(G)|∑| Constant factor goes up goes up (problem!!!)

34 34 Reduce ∑ Problem: ∑ is exponential in n - ∑ d^log(n). The reduction won’t be polynomial. Solution: There is a code that reduce ∑ UNSAT(G)|G|Deg(G)|∑| no change by constant back to usual

35 35 Summary In each iteration (3 steps combined) Preparations, Powering and Reduce ∑ Doubles UNSAT Doubles UNSAT Increases |G| by constant factor. Increases |G| by constant factor. Increases degree. Increases degree. Doesn’t change ∑. Doesn’t change ∑.

36 36 More about Degree Reduction Lemma 3.2 (constant degree) Any G =, CG can be transformed to d-regular-CG G’ = d-regular-CG G’ = s.t. aּUNSAT(G) ≤ UNSAT(G’) for d > 0, a > 0.

37 37 Degree Reduction - Proof What is our goal? To make the graph d-regular aּUNSAT(G) ≤ UNSAT(G’) for a > 0

38 38 Degree Reduction - Proof For every u  V we add k new vertices u i, when u appears k times in the constraints. k = degree(v) uwzxy  u1u1 u2u2 u3u3 u4u4 wzyx

39 39 Degree Reduction - Proof What should be the constrains between the u i ? For any i ≠ j the constrains are- u i = u j How will we do it?

40 40 Degree Reduction - Proof First try Connect them all as a clique!!! What’s the problem? We have n 2 “good” edges so the UNSAT(G) is very small Not good for us!!! u4u4 u3u3 u2u2 u1u1

41 41 Degree Reduction - Proof Second try Connect them all in a line What’s the problem? The UNSAT is still getting smaller! uwzxy  u4u4 wu3u3 zu2u2 yu1u1 x

42 42 Degree Reduction - Proof Example uwz x y..... C={(0,1)} C={(1,1)} C={(0,1)} σ(x)=1 σ(y)=1 σ(z)=1 σ(u)=0  σ(w)=1 unun wU i+1 zuiui yu1u1 x.. σ(x)=1 σ(y)=1 σ(z)=1 C={(1,1)} C={(0,1)} σ(u n )=0 σ(u i+1 )=0 σ(u i )=1 σ(u 1 )=1 UNSAT=1/3 UNSAT= 1 (m+(n-1)).

43 43 Degree Reduction - Proof Third and last try Connect them all in an Expander!!! Reminder: Expander a ּ |S|≤E(S,S’) where a>1.

44 44 Degree Reduction - Proof Can we build an Expander? Theorem:  n vertices we can build a d-1 regular expander with a > 0 and #edges lּn (linear in n)

45 45 Degree Reduction - Proof Why is Expander good? u3u3 u4u4 u2u2 unun u7u7 u1u1 u6u6 u5u5 S A set |S| ≤ |V|·½ S There is Expander between the U i: c∙|S|≤|E(S,S’)|

46 46 Degree Reduction - Proof u3u3 u4u4 u2u2 unun u7u7 u1u1 u6u6 u5u5 If the “bad” guy takes a set S of u i and “cheat” The number of unsatisfiededges Will grow S z x y Edges outside the Expander

47 47 More about Expandering Problem: what if we have this graph? F – satisfied edges S – unsatisfied edges C – the edges between T to S S F C U V 1 0 C u.v = {(1,0)} U V 0 0

48 48 More about Expandering What will happen To Gt (powering)? UNSAT(Gt) might be smaller than UNSAT(G) Solution: expander!! (*last week…) S F C

49 49 More about Expandering Definition: G is expander if for every S in V s.t. |S| ≤ |V|/2, denote E(S,S’) as the number of edges between S to V/S (=S’), aּ|S| ≤ E(S,S’), where a > 1.

50 50 More about Expandering Why is expander a solution? Denote S as the “bad” edges (unsatisfied edges). In every power iteration S multiplies itself in a constant > 1. S  (1+a/d)S  (1+a/d) 2 S  …  (1+a/d) O(log(m)) S ≈ m So after O(log(m)) iterations we get to all the edges.

51 51 Preparation - summary After the preparations the graph becomes d-regular expander. We’ll see later how to do it. UNSAT(G)|G|Deg(G)|∑| Constant factor d-regular No change

52 52 summary CGNPC CG = GapCG[1-1/m,1] GapCG[1- 1/m,1] p(polytime) GapCG[,1] GapCG[,1]NP-Hard GapCG[,1] ≤p Gap3-SAT[’,1] Gap3-SAT[’,1]NP-Hard PCP theorem!!!


Download ppt "1 The PCP Theorem via gap amplification Irit Dinur Presentation by Michal Rosen & Adi Adiv."

Similar presentations


Ads by Google