220 likes | 453 Views
The PCP Theorem via gap amplification. Irit Dinur Presentation by Michal Rosen & Adi Adiv. PCP. Prover : gives a proof:. 1. 0. 0. 1. 1. 0. 0. 1. Hide it, and gives it to the verifier Verifier : picks constant number of cells randomly Accept / reject according the check.
E N D
The PCP Theoremvia gap amplification Irit Dinur Presentation by Michal Rosen & Adi Adiv
PCP Prover: gives a proof: 1 0 0 1 1 0 0 1 Hide it, and gives it to the verifier Verifier: picks constant number of cells randomly Accept/reject according the check
Definitions The probability upon the random coins PCP[r,q] LЄPCP[r,q] if there is a protocol <p,v>: s.t. if xL if xL r – how many coins does v need for checking π q – the number of places v samples π π Pr[v accepts π] = 1 π Pr[v accepts π] ≤
PCP Theorem NP = PCP½[log(n),O(1)] If xLπ Pr[vacceptsπ] = 1 If xLπ Pr[vacceptsπ] ≤ ½. r = log(n) - how many coins does v need for checking π q = O(1) - the number of places v samples π
What is it good for? NP = PCP½[log(n),O(1)] Gap3-SAT[,1]NP-Hard PCP is very important for approximate problems
Cu,v = {(2,1), (1,0)} U V Constraint Graph (CG) Input: <G=(V,E), ∑, C>: G = (V,E) undirected graph , ∑alphabet, C constraintswhere for every eE, Ce∑х∑. Example: ∑ = {0,1,2} v = 0 U = 1 U = 2
UNSAT(CG) UNSAT(CG) = the smallest number of: # unsatisfied edges #all edges UNSAT(CG) = minσ(|{Cu,v: (σ(u),σ(v))C(u,v)}|/m)
UNSAT(CG) why? => GapCG[1- ,1]NP-Hard => GapCG[1- ,1] ≤pGap3-SAT[c,1] => Gap3-SAT[c,1]NP-Hard => PCP theorem!!! Remember: NP = PCP½[log(n),O(1)] Gap3-SAT[c,1]NP-Hard
How? Gi Gi+1 |∑(Gi)| = |∑(Gi+1)| ּ UNSAT(Gi+1) > 2 ּ UNSAT(Gi) |Gi+1| ~ kּ |Gi| (k is a constant) Degree(Gi+1) =constant
Road Map • Preparation: • Degree reduction- Gi Gi1 d-regular graph • Expandering- Gi1 Gi2 • Powering- Gi2 Gi3 increase UNSAT(Gi2). • ∑ -reduce- Gi3 Gi+1back to original ∑.
Preparation After the preparations the graph becomes d-regularexpander. We’ll see later how to do it. UNSAT(G) |G| Deg(G) |∑| Constant factor Constant factor d-regular No change
Powering - overview Result: UNSAT(Gt) ≥βּ√t ּUNSAT(G) Problem: |∑| becomes |∑|d^t UNSAT(G) |G| Deg(G) |∑| Constant factor Constant factor goes up goes up (problem!!!)
Powering Lemma (amplification lemma) β > 0,G = <(V,E),∑,C> -d-regular-CG UNSAT(Gt) ≥β√tּmin(UNSAT(G),1/t) UNSAT(Gt) ≥ 2ּUNSAT(G) or 1/t (constant) Example: If we’ll take t ≥4/β2 then
Powering What does it give us? UNSAT(G) = 1/m 2/m 22/m … 2O(log(m))/m = We need to repeat the procedure O(log(m)) times
Reduce ∑ Problem: ∑ is exponential in n - ∑d^log(n). The reduction won’t be polynomial. Solution: There is a codethat reduce ∑ UNSAT(G) |G| Deg(G) |∑| no change by constant by constant back to usual
Summary In each iteration (3 steps combined) Preparations, Powering and Reduce ∑ • Doubles UNSAT • Increases |G| by constant factor. • Increases degree. • Doesn’t change ∑.
0 0 Cu.v = {(1,0)} Cu.v = {(1,0)} 1 0 V V U U More about Expandering Problem: what if we have this graph? F – satisfied edges S – unsatisfied edges C – the edges between T to S S C F
More about Expandering S What will happen To Gt (powering)? UNSAT(Gt) might be smaller than UNSAT(G) Solution: expander!! (*last week…) C F
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.
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)2S… (1+a/d)O(log(m))S≈ m So after O(log(m)) iterations we get to all the edges.
Preparation - summary After the preparations the graph becomes d-regularexpander. We’ll see later how to do it. UNSAT(G) |G| Deg(G) |∑| Constant factor Constant factor d-regular No change
summary CGNPC CG = GapCG[1-1/m,1] GapCG[1- 1/m ,1] p(polytime) GapCG[,1] GapCG[,1]NP-Hard GapCG[,1] ≤pGap3-SAT[’,1] Gap3-SAT[’,1]NP-Hard PCP theorem!!!