1 The PCP Theorem via gap amplification Irit Dinur Presentation by Michal Rosen & Adi Adiv.
-
Upload
willa-jennings -
Category
Documents
-
view
213 -
download
0
Transcript of 1 The PCP Theorem via gap amplification Irit Dinur Presentation by Michal Rosen & Adi Adiv.
11
The PCP TheoremThe PCP Theoremvia gap amplificationvia gap amplification
Irit DinurIrit Dinur
Presentation by Michal Rosen & Adi AdivPresentation by Michal Rosen & Adi Adiv
55
PCPPCP
ProverProver: gives a proof:: gives a proof:
Hide it, and gives it to the verifierHide it, and gives it to the verifier
VerifierVerifier: picks constant number of cells : picks constant number of cells randomlyrandomly
AcceptAccept//rejectreject according the check according the check
11 00 00 11 11 00 00 11
66
DefinitionsDefinitions
PCPPCP[[rr,,qq]]
LLЄЄPCPPCP[[rr,,qq] if there is a protocol <p,v>:] if there is a protocol <p,v>:
s.t. if s.t. if xxLL
if if xxLL
rr – how many coins does – how many coins does vv need for checking need for checking ππ
qq – the number of places – the number of places vv samples samples ππ
The probability upon the
random coins
ππ Pr[ Pr[vv accepts accepts ππ] = ] = 11ππ Pr[ Pr[vv accepts accepts ππ] ≤ ] ≤
99
PCP TheoremPCP Theorem
NPNP = = PCPPCP½½[[log(n)log(n),,O(1)O(1)]]
If If xxLL ππ Pr[ Pr[vv acceptsaccepts ππ] = 1] = 1If If xxLL ππ Pr[ Pr[vv acceptsaccepts ππ] ] ≤≤ ½. ½.r r = = log(n)log(n) - how many coins does - how many coins does vv need need
for checking for checking ππqq = = O(1) O(1) - the number of places - the number of places vv
samples samples ππ
1010
What is it good for?What is it good for?
NPNP = = PCPPCP½½[[log(n)log(n),,O(1)O(1)]]
Gap3-SATGap3-SAT[[,,11]]NP-HardNP-Hard
PCP is very important for approximate PCP is very important for approximate problems problems
1313
Constraint Graph (CG)Constraint Graph (CG)
Input: <Input: <G=(V,E)G=(V,E), , ∑∑, , CC >:>:G = (V,E) G = (V,E) undirected graph ,undirected graph ,∑∑ alphabet,alphabet,CC constraints constraints where for every where for every eeEE, ,
CCee∑∑хх∑∑..Example:Example:∑∑ = {0,1,2}= {0,1,2}
U
V
Cu,v = {(2,1), (1,0)}
U = 1
v = 0
U = 2
1818
UNSAT(CGUNSAT(CG))
UNSATUNSAT((CGCG) = the ) = the smallestsmallest number of: number of:
# # unsatisfiedunsatisfied edges edges ##allall edges edges
UNSATUNSAT((CGCG) =) =minminσσ(|{C(|{Cuu,,vv: (: (σσ((uu),),σσ((vv))))C(C(uu,,vv)}|/)}|/mm))
2121
UNSAT(CGUNSAT(CG))
why?why?
=> => GapCGGapCG[[1- 1- ,,11]]NP-HardNP-Hard
=>=> GapCG GapCG[[1- 1- ,,11] ] ≤≤pp Gap3-SATGap3-SAT[[cc,1],1]
=> => Gap3-SATGap3-SAT[[cc,1],1]NP-Hard NP-Hard
=> => PCP theoremPCP theorem!!! !!! Remember:Remember:
NP = PCPNP = PCP½½[log(n),O(1)][log(n),O(1)]
Gap3-SAT[c,1]Gap3-SAT[c,1]NP-HardNP-Hard
2323
How?How?
GGii G Gi+1i+1
||∑∑(G(Gii)| = |)| = |∑∑(G(Gi+1i+1)|)|
5 5 UNSAT(GUNSAT(Gi+1i+1) > 2) > 2 UNSAT(GUNSAT(Gii))
|G|Gi+1i+1| ~ k| ~ k |G|Gii| (k is a constant)| (k is a constant)
Degree(GDegree(Gi+1i+1) =) = constantconstant
2424
Road MapRoad Map
Preparation:Preparation:Degree reductionDegree reduction- - GGii GGii
11 d-regular graph d-regular graph
ExpanderingExpandering- - GGii11 GGii
22
PoweringPowering- - GGii22 GGii
33
increase UNSAT(increase UNSAT(GGii22).).
∑∑ -reduce-reduce- - GGii3 3 GGi+1i+1 back to original back to original ∑∑..
2525
PreparationPreparation
After the preparations the graph After the preparations the graph becomes becomes
d-regulard-regular expanderexpander..
We’ll see later how to do it.We’ll see later how to do it.UNSAT(G)UNSAT(G)
|G||G|
Deg(G)Deg(G)
|∑||∑|
Constant factorConstant factor
Constant factorConstant factor
d-regulard-regular
No changeNo change
2626
Powering - overviewPowering - overview
Result: Result: UNSATUNSAT((GGtt) ) ≥≥ ββ √√tt UNSATUNSAT(G)(G)
Problem: |Problem: |∑∑| becomes || becomes |∑∑||d^td^t
UNSAT(G)UNSAT(G)
|G||G|
Deg(G)Deg(G)
|∑||∑|
Constant factorConstant factor
Constant factorConstant factor
goes upgoes up
goes up (problem!!!)goes up (problem!!!)
3131
PoweringPowering
Lemma (amplification lemma) Lemma (amplification lemma)
ββ > 0, > 0,G = <(V,E),G = <(V,E),∑∑,C> - ,C> - d-regulard-regular-CG-CG
UNSATUNSAT(G(Gtt) ) ≥≥ ββ√√ttmin(min(UNSATUNSAT(G),1/t)(G),1/t)
UNSATUNSAT(G(Gtt) ) ≥≥ 2 2UNSATUNSAT(G) or 1/t (G) or 1/t (constant)(constant)
Example:Example:
If we’ll take t ≥4/If we’ll take t ≥4/ββ22 then then
3232
PoweringPowering
What does it give us?What does it give us?
UNSATUNSAT((GG) = ) =
11/m /m 22/m /m 2222/m /m …… 22O(log(mO(log(m))))/m = /m =
We need to repeat the procedure We need to repeat the procedure O(log(m))O(log(m)) times times
3434
Reduce Reduce ∑∑
Problem:Problem:∑∑ is exponential in n - is exponential in n - ∑∑d^log(nd^log(n))..The reduction won’t be polynomial. The reduction won’t be polynomial.
Solution:Solution:There is a codeThere is a codethat reduce that reduce ∑∑ UNSAT(G)UNSAT(G)
|G||G|
Deg(G)Deg(G)
|∑||∑|
no changeno change
by constantby constant
by constantby constant
back to usualback to usual
3535
SummarySummary
In each iteration (3 steps combined)In each iteration (3 steps combined)
PreparationsPreparations, , PoweringPowering and and Reduce Reduce ∑∑
Doubles Doubles UNSATUNSAT Increases Increases |G||G| by constant factor. by constant factor. Increases Increases degreedegree.. Doesn’t change Doesn’t change ∑∑..
4747
More about ExpanderingMore about Expandering
Problem:Problem:what if we have this graph?what if we have this graph?
F – satisfiedF – satisfiededgesedges
S – unsatisfied S – unsatisfied edgesedges
C – the edges C – the edges between T to Sbetween T to S
S
F
C
U
V10
Cu.v = {(1,0)}
U
V00
Cu.v = {(1,0)}
4848
More about ExpanderingMore about Expandering
What will happen What will happen
To GTo Gtt (powering)? (powering)?
UNSAT(GUNSAT(Gtt) )
might be smallermight be smaller
than UNSAT(G) than UNSAT(G)
Solution:Solution:
expander!! (*last week…)expander!! (*last week…)
S
F
C
4949
More about ExpanderingMore about Expandering
Definition:Definition:
G is expander if for every G is expander if for every SS in in V V s.t. s.t.
||SS| | ≤ ≤ ||VV|/2, denote E(|/2, denote E(SS,,SS’) as the ’) as the number of edges between number of edges between SS to to VV//SS (=(=SS’),’),
aa||SS| | ≤ ≤ E(E(SS,,SS’), where’), where a a > 1.> 1.
5050
More about ExpanderingMore about Expandering
Why is expander a solution?Why is expander a solution?
Denote Denote SS as the “bad” edges (unsatisfied as the “bad” edges (unsatisfied edges). edges).
In every power iteration In every power iteration SS multiplies itself in multiplies itself in a constant > 1.a constant > 1.
SS(1+a/d)(1+a/d)SS(1+a/d)(1+a/d)22SS……
(1+a/d)(1+a/d)O(log(m))O(log(m))SS ≈≈ m m
So after O(So after O(log(m)log(m)) iterations we get to all the ) iterations we get to all the edges. edges.
5151
Preparation - summaryPreparation - summary
After the preparations the graph After the preparations the graph becomes becomes
d-regulard-regular expanderexpander..
We’ll see later how to do it.We’ll see later how to do it.UNSAT(G)UNSAT(G)
|G||G|
Deg(G)Deg(G)
|∑||∑|
Constant factorConstant factor
Constant factorConstant factor
d-regulard-regular
No changeNo change
5252
summarysummary
CGCGNPCNPCCGCG = = GapCGGapCG[[1-1/m1-1/m,1],1]GapCGGapCG[[1- 1/m 1- 1/m ,1] ,1] pp(polytime) (polytime)
GapCGGapCG[[,1],1]GapCGGapCG[[,1],1]NP-HardNP-HardGapCGGapCG[[,1] ,1] ≤≤pp Gap3-SATGap3-SAT[[’’,1],1]Gap3-SATGap3-SAT[[’’,1],1]NP-HardNP-Hard
PCP theorem!!!PCP theorem!!!