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

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

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

Page 1: 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

Page 2: 1 The PCP Theorem via gap amplification Irit Dinur Presentation 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

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

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 ππ] ≤ ] ≤

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

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 ππ

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

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

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

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

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

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))

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

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

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

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

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

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 ∑∑..

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

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

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

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!!!)

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

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

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

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

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

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

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

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 ∑∑..

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

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)}

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

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

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

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.

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

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.

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

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

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

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!!!