a combinatorial construction of almost-ramanujan graphs using the zig-zag product avraham ben-aroya...
TRANSCRIPT
A Combinatorial Construction of Almost-Ramanujan
Graphs Using the Zig-Zag product
Avraham Ben-Aroya Amnon Ta-Shma
Tel-Aviv University
Expander graphs
- Sparse graphs with strong connectivity
- Fundamental objects in Math and CSApplications in: Communication networks Derandomization Error correcting codes PCPs Proof complexity …
Properties of expanders
Many pseudorandom properties: No small cuts Every “not-too-large” set expands Random walks mix fast Spectral gap …
Challenge: Explicit constructions of “good”
expanders
Spectral gap
0 0 … 1/D 0
0 1/D … 0 1/D
…
1/D 0 … 1/D 0
0 1/D … 0 0
Eigenvector basis v1,…,vn, eigenvalues 1=1 … n
Denote 2(G)=max{|2|,|n|}.
Smaller 2(G) better expansion
1 = 12
3
n
D-regular graph operator spectrum
What is the optimal spectral gap?
[AlonBoppana] : Any D-regular graph satisfies
2(G) 2(D-1) /D – o(1) 2D-1/2
o(1)0 as the number of vertices grows
[Friedman] : Random D-regular graphs satisfy 2(G) 2(D-1) /D +
A graph is Ramanujan if 2(G) 2(D-1) /D
Expander constructions
Construction Type 2(G)
[LubotzkyPhilipsSarnak86,
Margulis88,Morgenstern94]
Algebraic
Ramanujan
2(G) 2(D-1) /D
2D-1/2
[ReingoldVadhanWigderson00]
Combinatorial
O(D-1/3)
Why do we look for combinatorial constructions?
A fundamental object in CS deserves a combinatorial proof [RVW00]
Central component in:• Good combinatorial expanders [CRVW02]• Undirected connectivity in L [Reingold05]• Cayley expanders [ALW01, MW02, RSW04]
Expander constructions
Construction Type Explicitness
2(G)
[LPS86,Margulis88,
Morgenstern94]Algebraic Full
Ramanujan,
2D-1/2
[ReingoldVadhanWigderson00]
Combinatorial
Full O(D-1/3)
Full= The neighbors of a vertex are computable in time polylog(|V|)
Expander constructions
Construction Type Explicitness
2(G)
[LPS86,Margulis88,
Morgenstern94]Algebraic Full
Ramanujan,
2D-1/2
[ReingoldVadhanWigderson00]
Combinatorial
Full O(D-1/3)
[BiluLinial04] Combinatorial
MildO(D-1/2log1.5D)=
D-1/2+o(1)
Mild= The graph is computable in time poly(|V|)
Expander constructions
Construction Type Explicitness
2(G)
[LPS86,Margulis88,
Morgenstern94]Algebraic Full
Ramanujan,
2D-1/2
[ReingoldVadhanWigderson00]
Combinatorial
Full O(D-1/3)
[BiluLinial04] Combinatorial
MildO(D-1/2log1.5D)=
D-1/2+o(1)
Our result Combinatorial
Full D-1/2+o(1)
Outline
The result
The technique: a new variant of the zig-zag product
The construction scheme [ReingoldVadhanWigderson00]
Small expander Increase size
Improve 2Reduce degree
Heart of [ReingoldVadhanWigderson00] the
zig-zag product
G
H
zig-zag G zigzag H
(N,DG,G)
(DG,DH,H)(N·DG, DH
2, ≈H+G)
vertices degree 2
The replacement product
The replacement product
Slightly incomplete…
.
The replacement product
For simplicity assume G is DG edge-colorable
The replacement product
Cloud
Vertices: same as in replacement product Edges: (v,u)E there is a path of length 3
on the replacement product such that:• The first step is inside a cloud• The second step is inter-cloud• The third step is inside a cloud
The Zig-Zag product
The Zig-Zag product
vuExample:
v and u are connected
Formally: spectral analysis – not in this talk
Intuitively: analyze “entropy flow”Entropy- a measure of randomness
(H2()=-log Prx,y~[x=y])
If G is D-regular then H2(G())H2()+log(D)
When G has a good spectral gap this almost tight
Intuition vs. formality
Intuitive analysis: start with some - a entropy deficient distribution on its vertices
Show that H2(G())>>H2() We’ll analyze only one illuminating
distribution• Formal analysis follows a similar
argument
Intuition vs. formality
Why does the zig-zag work?
cloud
cloud
cloud
cloud
cloud
cloudcloud
cloud
cloud
The graph afterreplacement
Why does the zig-zag work?
cloud
cloud
cloud
cloud
cloud
cloudcloud
cloud
cloud
A uniform distribution over a subset of clouds
H step
G step
H step
Wasted
Why does the zig-zag work?
cloud
cloud
cloud
cloud
cloud
cloudcloud
cloud
cloud
H step
G step
H step
Why does the zig-zag work?
cloud
cloud
cloud
cloud
cloud
cloudcloud
cloud
cloud
H step
G step
H step
Why does the zig-zag work?Buffer point-of-view
Cloud-label Edge-label [N][DG]
A vertex in the new graph:
A H-step:
65 3
65 10
65 7
0.5
0.5
310
7
H
Why does the zig-zag work?Buffer point-of-view
Cloud-label Edge-label [N][DG]
A vertex in the new graph:
A G-step:
65 3
65 9
G
9 3
3For simplicity
assume G is DG edge-colorable
Why does the zig-zag work?Buffer point-of-view
Cloud-label Edge-label
The support of the distribution
[N][DG]
A uniform distribution over a subset of clouds:• The marginal on is uniform• Conditioned on every cloud in the support, is uniform
H step
G step
H step
Why does the zig-zag work?Buffer point-of-view
H step
G step
H step
Wasted
Cloud-label Edge-label
H does nothing
Cloud=k Uniform
Edge-label
Why does the zig-zag work?Buffer point-of-view
H step
G step
H step
Cloud-label Edge-label
- Applying G is just taking a step from according to
- Since G is an expander, after this step, should have more entropy
- G is a permutation, hence the entropy in is reduced
Why does the zig-zag work?Buffer point-of-view
H step
G step
H step
Cloud-label Edge-label
H adds entropy!
Cloud=k
Spectral gap of the zig-zag
We take two H-steps, hence the degree is DH
2. On some inputs, only one of the two
steps is useful This incurs a quadratic loss in 2.
First Attempt: zig-zag with 3 cloud steps
v
u
The problem
cloud
cloud
cloud
cloud
cloud
cloudcloud
cloud
cloud
The graph afterreplacement
The problem
cloud
cloud
cloud
cloud
cloud
cloudcloud
cloud
cloud
A uniform distribution over a subset of clouds
H step
G step
H step
G step
H step
Wasted
The problem
cloud
cloud
cloud
cloud
cloud
cloudcloud
cloud
cloud
H step
G step
H step
G step
H step
The problem
cloud
cloud
cloud
cloud
cloudcloud
cloud
cloud
H step
G step
H step
G step
H step
cloud
Ideally:
H step
G step
H step
G step
H step cloud
cloudcloud
cloud
cloud
cloud
cloud
cloud
cloud
The problem
cloud
cloud
cloud
cloud
cloudcloud
cloud
cloud
H step
G step
H step
G step
H step
cloud
The problem
cloud
cloud
cloud
cloud
cloud
cloudcloud
cloud
cloud
H step
G step
H step
G step
H step
Potentially: 1 out of 2 cloud steps is wasted
Wasted
The problem:Buffer point-of-view
H step
G step
H step
G step
H step
A uniform distribution over a subset of clouds
Cloud-label Edge-label
Cloud=k Uniform
H does nothing
Edge-label
The problem:Buffer point-of-view
Cloud-label Edge-label
H step
G step
H step
G step
H step
- Applying G is just taking a step from according to
- Since G is an expander, after this step, has more entropy
- G is a permutation, hence the entropy in is reduced
H step
G step
H step
G step
H step
The problem:Buffer point-of-view
Cloud-label Edge-label
H adds entropy!
Cloud=k
H step
G step
H step
G step
H step Edge-label
The problem:Buffer point-of-view
Cloud-label
Since the second component is not uniform, we don’t know
how the entropy flows in the G step (this is like taking a randomstep over the graph according to an unknown distribution).
Edge-label
??
The problem:Buffer point-of-view
Cloud-label Edge-label
Cloud=k Uniform
We might be in this case, in which H does nothing
Potentially: 1 out of 2 cloud steps is wasted
H step
G step
H step
G step
H step
Our solution
Once an H-step is wasted, all the following H-steps are not
We shall make sure that all the following G-steps are cloud-dispersing.• This is done by taking thicker clouds and
choosing H in a special way
Replacement with thicker clouds
An expander over the cloud vertices
Replacement with thicker clouds
Multiple paralleledges
Why does this work?
cloud
cloud
cloud
cloud
cloud
cloudcloud
cloud
cloud
The graph aftermodified replacement
DG10 vertices
Why does this work?
cloud
cloud
cloud
cloud
cloud
cloudcloud
cloud
cloud
A uniform distribution over a subset of clouds
H step
G step
H step
G step
H step
Wasted
Why does this work?
cloud
cloud
cloud
cloud
cloud
cloudcloud
cloud
cloud
H step
G step
H step
G step
H step
DG9 vertices
DG10 vertices
Why does this work?
cloud
cloud
cloud
cloud
cloud
cloudcloud
cloud
cloud
H step
G step
H step
G step
H step
Almost uniform over outgoing
edges
Why does this work?
cloud
cloud
cloud
cloud
cloud
cloudcloud
cloud
cloud
H step
G step
H step
G step
H step
Why does this work?
cloud
cloud
cloud
cloud
cloud
cloudcloud
cloud
cloud
H step
G step
H step
G step
H stepNot Wasted
Why does this work?Buffer point-of-view
A vertex in the new graph:
A H-step:
651,… 65
2,…
654,…
0.5
0.5
3,1,…10,2,…
7,4,…
H
H-vertex-label
Cloud-label
Edge-label[N][DG]
10
310
7
Why does this work?Buffer point-of-view
A vertex in the new graph:
A G-step:
651,…
91,…
H-vertex-label
Cloud-label
Edge-label[N][DG]
10
3 3
65 9
G3
For simplicity assume G is DG edge-colorable
H-vertex-label
Why does this work? Buffer point-of-view
Cloud-label
Edge-label
The support of the distribution
[N][DG]10
A uniform distribution over a subset of clouds:• The marginal on is uniform• Conditioned on every cloud in the support, is uniform
H step
G step
H step
G step
H step
Why does this work? Buffer point-of-view
H step
G step
H step
G step
H step
A uniform distribution over a subset of clouds
Cloud=k Uniform
H does nothing
H-vertex-label
Cloud-label
Edge-label
H-vertex-label
Why does this work? Buffer point-of-view
H step
G step
H step
G step
H step
- Applying G is just taking a step from according to
- Since G is an expander, after this step, has more entropy
- G is a permutation, hence the entropy in is reduced
Cloud-label
Edge-labelEdge-label
Why does this work? Buffer point-of-view
H step
G step
H step
G step
H step
Cloud=k
H-vertex-label
Cloud-label
Edge-label
We choose H such that it also “mixes” the second component
H adds entropy!
Now the Edge-label part is close to uniform!
H step
G step
H step
G step
H step
H-vertex-label
Why does this work? Buffer point-of-view
Cloud-label
Edge-labelEdge-label
G moves entropy in the right direction again
Not Wasted
following H adds entropy
The parameters We take 3 steps and at least 2 “work” degree= DH
3 eigenvalue H2
The general case: We take k steps and at least k-1
“work” degree= DHk eigenvalue H
k-1
How to choose H
H is a graph with DG10 vertices that satisfies
two properties: “Mixing”: for every d[DG],
H(d,UDG9) (UDG
,¿) (i.e. almost uniform over the D outgoing
edges) Expansion
How to achieve both? Choose a random H and verify it has both properties
A simple permutationsatisfies this
A problem The previous is only true when G is DG-
edge-colorable In general, G may change the edge-
label in an arbitrary way (may depend on the cloud)
The graphs H is of constant size The number of clouds =The size of the
large graph grows to infinity. It seems unlikely that there is a choice for
H that is good for all distributions.
65 3
G
9 ¿¿¿
A solution
Take the large graph G to be “locally invertible”
G(v,i)=(v[i],(i))
This property of G is preserved throughout the construction
Now things are similar to the DG-edge-colorable case
The final product
G – a “locally invertible” (N, DG, G) H1,…,Hk – a sequence of “mixing”
expanders (found by exhaustive search) each is (DG
10k, DH, H) Do modified replacement and take
the graph of “paths” of length k The resulting graph is
(NDG10k, DH
k, O(Hk-1 + G))
Our result: a fully-explicit combinatorial construction of D-regular graphs with 2(G)=D-1/2+o(1) .
Can we push this further to O(D-1/2) ? Ramanujan+ ?
Thank you!
Conclusions