Title: The PCP Theorem via gap amplification
1The PCP Theoremvia gap amplification
- Irit Dinur
- Presentation by Michal Rosen Adi Adiv
2The PCP Theorem
- NP PCP½log(n),O(1)
- What does it mean?
3Definitions
- NP
- L?NP if there is a protocol ltp,vgt
- p prover has infinite running time.
- v verifier has O(poly(n)) running time.
- s.t.
- if x?L
- if x?L
?p v(p) 1
?p v(p) 0
4Definitions
- NP-Complete
- L?NPC if L?NP and
- if for ?A?NP A p L.
- We saw that SAT, 3-Col, Ham
- Are in NPC
5PCP
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/rej
ect according the check
6Definitions
The probability upon the random coins
- PCP?r,q
- L?PCP?r,q if there is a protocol ltp,vgt
- s.t. if x?L
- if x?L
- r how many coins does v need for checking p
- q the number of places v samples p
?p Prv accepts p 1
?p Prv accepts p ?
7Example -3-col
P gives a proof (coloring) ? 0,1,2 V
choose an edge randomly and check it
2
0
0
1
u x v y
V accepts V regects
u
v
y
x
8Example 3-col
q the number of places v samples p
- 3-Col
- Prover
- Verifier
- q
- r
- ?
gives a coloring of G.
r how many coins does v need for checking p
chooses edge (u,v) randomly, checks u and v
have different colors.
O(1)
O(log(n))
? if x ? L ?p Prv accepts p ?
1-1/m
9PCP Theorem
- NP PCP½log(n),O(1)
- If x?L ?p Prv accepts p 1
- If x?L ?p Prv accepts p ½.
- r log(n) - how many coins does v need for
checking p - q O(1) - the number of places v samples p
10What is it good for?
- NP PCP½log(n),O(1)
- ?
- Gap3-SAT?,1?NP-Hard
- PCP is very important for approximate problems
11History
- 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
- STOC06 best paper
12Main Goal
- We will show an overview of the proof
- Gap3-SAT?,1?NP-Hard
- Actually we
- will prove
- hardness of
- a problem,
- Which has an easy reduction to Gap3-SAT
Remember NP PCP½log(n),O(1) ?
Gap3-SATc,1?NP-Hard
13Constraint Graph (CG)
- Input ltG(V,E), ?, C gt
- G (V,E) undirected graph ,
- ? alphabet,
- C constraints where for every e?E, Ce????.
- Example
- ? 0,1,2
v 0
U 1
U 2
14Constraint Graph (CG)
- Goal
- Find sV-gt? that satisfied all edges
- (u,v)?E s.t. (s(u),s(v))?Cu,v
s(v)1
s(u)1
s(w)1
s(u)0
15CG?NPC
- CG?NP
- Well show reduction
- 3-Col CG
- ? 0,1,2
- For every edge (u,v)?E, Cu,v u ? v
16GapCGa,ß
- Definition
- CG is a constraint graph (like before)
- YES there exists s V-gt? s.t.
- satisfied edges ß.
- NO for any sV-gt?
- satisfied edges ?.
17GapCGa,ß
- Notice
- if G?CG then in every assignment there is
- at least one edge that is not satisfied
- In this case
- GapCG1-1/m,1 CG
- (m E)
18UNSAT(CG)
- UNSAT(CG) the smallest number of
- unsatisfied edges
- all edges
- UNSAT(CG)
- mins(Cu,v (s(u),s(v))?C(u,v)/m)
19UNSAT(CG)
- Remember
- if G?CG
- then in every assignment there is at least
- one edge that is not satisfied
- Therefore
- UNSAT(G)
- m E
1
bad edges
m
all edges
20UNSAT(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) ?
21UNSAT(CG)
- why?
- gt GapCG1- ?,1?NP-Hard
- gt GapCG1- ?,1 p Gap3-SATc,1
- gt Gap3-SATc,1?NP-Hard
- gt PCP theorem!!!
Remember NP PCP½log(n),O(1) ?
Gap3-SATc,1?NP-Hard
22GOAL
- UNSAT(G) 1/m is not enough.
- We want constant ? !!!
- gt UNSAT(G) ?
- How can we increase the percentage of the bad
edges?
23How?
- Gi ? Gi1
- ?(Gi) ?(Gi1)
- ? UNSAT(Gi1) gt 2 ? UNSAT(Gi)
- Gi1 k? Gi (k is a constant)
- Degree(Gi1) constant
24Road Map
- Preparation
- Degree reduction- Gi ? Gi1 d-regular graph
- Expandering- Gi1 ? Gi2
- Powering- Gi2 ? Gi3
- increase UNSAT(Gi2).
- ? -reduce- Gi3 ? Gi1 back to original ?.
25Preparation
- After the preparations the graph becomes
- d-regular expander.
- Well see later how to do it.
UNSAT(G) G Deg(G) ?
Constant factor
Constant factor
d-regular
No change
26Powering - overview
- Result UNSAT(Gt) ß ? vt ? UNSAT(G)
- Problem ? becomes ?dt
UNSAT(G) G Deg(G) ?
Constant factor
Constant factor
goes up
goes up (problem!!!)
27Powering
- Let G lt(V,E),?,Cgt a constraint graph.
- We define Gt lt(V,E),?dt,Ctgt
- V V
- E there are k edges between u and v iff there
are exactly k different t-step paths between them
in G.
28Powering
- ?dt every u?V has information of its t-step
neighbors. - Constraints (u,v)?E will be satisfied if-
- u and v assignment agree about all the shared
neighbors. - The assignment satisfies all the shared
constraints in the original graph G.
29Powering
Gt
G
?
?
?
?
powering?
?
?
?
30Powering
- t 1 Assignment
- Does it satisfie?
y1 x1 w0
G
Gt
C(1,1)
powering?
C(1,0)
C(0,2)
y1 x1
31Powering
- Lemma (amplification lemma)
- ?ß gt 0,?G lt(V,E),?,Cgt - d-regular-CG
- UNSAT(Gt) ßvt?min(UNSAT(G),1/t)
- UNSAT(Gt) 2?UNSAT(G) or 1/t (constant)
Example If well take t 4/ß2 then
32Powering
- 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
33Powering - Summary
- Result UNSAT(Gt) ß ? vt ? UNSAT(G)
- Problem ? becomes ?dt
UNSAT(G) G Deg(G) ?
Constant factor
Constant factor
goes up
goes up (problem!!!)
34Reduce ?
- Problem
- ? is exponential in n - ?dlog(n).
- The reduction wont be polynomial.
- Solution
- There is a codethat reduce ?
UNSAT(G) G Deg(G) ?
no change
by constant
by constant
back to usual
35Summary
- In each iteration (3 steps combined)
- Preparations, Powering and Reduce ?
- Doubles UNSAT
- Increases G by constant factor.
- Increases degree.
- Doesnt change ?.
36More about Degree Reduction
- Lemma 3.2 (constant degree)
- Any G lt(V,E),?,Cgt, CG
- can be transformed to
- d-regular-CG G lt(V,E),?,Cgt
- s.t.
- a?UNSAT(G) UNSAT(G)
- for d gt 0, a gt 0.
37Degree Reduction - Proof
- What is our goal?
- To make the graph d-regular
- a?UNSAT(G) UNSAT(G) for a gt 0
38Degree Reduction - Proof
- For every u?V we add k new vertices ui,
- when u appears k times in the constraints.
- k degree(v)
?
39Degree Reduction - Proof
- What should be the constrains between the ui?
- For any i ? j the constrains are- ui uj
- How will we do it?
40Degree Reduction - Proof
- First try
- Connect them all as a clique!!!
- Whats the problem?
- We have n2 good edges so the
- UNSAT(G) is very small
- Not good for us!!!
41Degree Reduction - Proof
- Second try
- Connect them all in a line
- Whats the problem?
- The UNSAT is still getting smaller!
?
42Degree Reduction - Proof
s(x)1
s(u1)1
C(1,1)
s(x)1
..
s(y)1
s(ui)1
C(1,1)
C(1,1)
. .
s(u)0
?
C(1,1)
s(z)1
C(0,1)
C(0,1)
s(y)1
..
s(ui1)0
C(0,1)
.
. .
s(w)1
s(z)1
s(un)0
C(0,1)
UNSAT1/3
43Degree Reduction - Proof
- Third and last try
- Connect them all in an Expander!!!
- Reminder
Expander a?SE(S,S) where agt1.
44Degree Reduction - Proof
- Can we build an Expander?
- Theorem ?n vertices we can build a d-1
- regular expander with a gt 0 and edges
- l?n (linear in n)
45Degree Reduction - Proof
There is Expander between the Ui cSE(S,S)
S A set S V½
S
46Degree Reduction - Proof
- If the bad guy
- takes a set
- S of ui
- and cheat
- The number of
- unsatisfied
- edges
- Will grow
S
x
u1
un
u2
u3
u7
Edges outside the Expander
u4
u6
u5
y
z
47More 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
48More about Expandering
S
- What will happen
- To Gt (powering)?
- UNSAT(Gt)
- might be smaller
- than UNSAT(G)
- Solution
- expander!! (last week)
C
F
49More 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 gt 1.
50More 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 gt 1. - S?(1a/d)S?(1a/d)2S?
- ?(1a/d)O(log(m))S m
- So after O(log(m)) iterations we get to all the
edges.
51Preparation - summary
- After the preparations the graph becomes
- d-regular expander.
- Well see later how to do it.
UNSAT(G) G Deg(G) ?
Constant factor
Constant factor
d-regular
No change
52summary
- CG?NPC
- CG GapCG1-1/m,1
- GapCG1- 1/m ,1 ?p(polytime) GapCG?,1
- GapCG?,1?NP-Hard
- GapCG?,1 p Gap3-SAT?,1
- Gap3-SAT?,1?NP-Hard
- PCP theorem!!!