A Combinatorial Construction of Almost-Ramanujan Graphs Using the Zig-Zag product Avraham Ben-Aroya Avraham Ben-Aroya Amnon Ta-Shma Amnon Ta-Shma Tel-Aviv University Tel-Aviv University
Expander graphs - Sparse graphs with strong connectivity - Fundamental objects in Math and CS Applications in: Communication networks Communication networks Derandomization Derandomization Error correcting codes Error correcting codes PCPs PCPs Proof complexity 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 Explicit constructions of good expanders
Spectral gap 00…1/D0 01/D…01/D … 1/D0…1/D0 01/D…00 Eigenvector basis v 1,…,v n, eigenvalues 1 =1 … n Eigenvector basis v 1,…,v n, eigenvalues 1 =1 … n Denote 2 (G)=max{| 2 |,| n |}. Denote 2 (G)=max{| 2 |,| n |}. Smaller 2 (G) better expansion Smaller 2 (G) better expansion 1 = n D-regular graphoperator spectrum
What is the optimal spectral gap? [AlonBoppana] : [AlonBoppana] : Any D-regular graph satisfies Any D-regular graph satisfies 2 (G) 2 (D-1) /D – o(1) 2D -1/2 2 (G) 2 (D-1) /D – o(1) 2D -1/2 o(1) 0 as the number of vertices grows [Friedman] : [Friedman] : Random D-regular graphs satisfy Random D-regular graphs satisfy 2 (G) 2 (D-1) /D + 2 (G) 2 (D-1) /D + A graph is Ramanujan if 2 (G) 2 (D-1) /D A graph is Ramanujan if 2 (G) 2 (D-1) /D
Expander constructions ConstructionType 2 (G) 2 (G) [ LubotzkyPhilipsSarnak86, Margulis88,Morgenstern94 ] AlgebraicRamanujan 2 (G) 2 (D-1) /D 2 (G) 2 (D-1) /D 2D -1/2 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] A fundamental object in CS deserves a combinatorial proof [RVW00] Central component in: Central component in: Good combinatorial expanders [CRVW02]Good combinatorial expanders [CRVW02] Undirected connectivity in L [Reingold05]Undirected connectivity in L [Reingold05] Cayley expanders [ALW01, MW02, RSW04]Cayley expanders [ALW01, MW02, RSW04]
Expander constructions ConstructionTypeExplicitness 2 (G) 2 (G) [ LPS86,Margulis88, Morgenstern94 ] AlgebraicFullRamanujan, 2D -1/2 2D -1/2 [ReingoldVadhan Wigderson00] CombinatorialFull O(D -1/3 ) Full= The neighbors of a vertex are computable in time polylog(|V|)
Expander constructions ConstructionTypeExplicitness 2 (G) 2 (G) [ LPS86,Margulis88, Morgenstern94 ] AlgebraicFullRamanujan, 2D -1/2 2D -1/2 [ReingoldVadhan Wigderson00] CombinatorialFull O(D -1/3 ) [BiluLinial04]CombinatorialMild O(D -1/2 log 1.5 D)= D -1/2+o(1) Mild= The graph is computable in time poly(|V|)
Expander constructions ConstructionTypeExplicitness 2 (G) 2 (G) [ LPS86,Margulis88, Morgenstern94 ] AlgebraicFullRamanujan, 2D -1/2 2D -1/2 [ReingoldVadhan Wigderson00] CombinatorialFull O(D -1/3 ) [BiluLinial04]CombinatorialMild O(D -1/2 log 1.5 D)= D -1/2+o(1) Our result CombinatorialFull D -1/2+o(1)
Outline The result The result The technique: The technique: a new variant of the zig-zag product a new variant of the zig-zag product
The construction scheme [ReingoldVadhanWigderson00] Small expanderIncrease size Improve 2 Reduce degree
The construction scheme (N,D, ) = A D-regular graph with N vertices and 2 (G) = (N,D, ) = A D-regular graph with N vertices and 2 (G) = Building blocks: Tensor: (N,D, ) (N,D, )=(N 2,D 2, ) Tensor: (N,D, ) (N,D, )=(N 2,D 2, ) Squaring: (N,D, ) 2 =(N,D 2, 2 ) Squaring: (N,D, ) 2 =(N,D 2, 2 ) Zig-Zag: (N,D G, G ) (D G,D H, H )=(N D G,D H 2, O( G + H )) Zig-Zag: (N,D G, G ) (D G,D H, H )=(N D G,D H 2, O( G + H )) Bottleneck in [RVW]Bottleneck in [RVW] Our contribution: k-step Zig-Zag: Our contribution: k-step Zig-Zag: (N,D G, G ) k (D G 4k,D H, H )=(N D G 4k,D H k, O( G + H k-1 )) (N,D G, G ) k (D G 4k,D H, H )=(N D G 4k,D H k, O( G + H k-1 )) z z
Heart of [ReingoldVadhanWigderson00] the zig-zag product G H zig-zag G zigzag H (N,D G, G ) (D G,D H, H ) (N·D G, D H 2, H + G ) vertices degree 2
The replacement product
Slightly incomplete….
The replacement product For simplicity assume G is D G edge-colorable
The replacement product Cloud
Vertices: same as in replacement product Vertices: same as in replacement product Edges: (v,u) E there is a path of length 3 on the replacement product such that: Edges: (v,u) E there is a path of length 3 on the replacement product such that: The first step is inside a cloudThe first step is inside a cloud The second step is inter-cloudThe second step is inter-cloud The third step is inside a cloudThe third step is inside a cloud The Zig-Zag product
vu Example: v and u are connected
Formally: spectral analysis – not in this talk Formally: spectral analysis – not in this talk Intuitively: analyze entropy flow Intuitively: analyze entropy flow Entropy- a measure of randomness (H 2 ( )=-log Pr x,y~ [x=y]) If G is D-regular then H 2 (G( )) H 2 ( )+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 Intuitive analysis: start with some - a entropy deficient distribution on its vertices Show that H 2 (G( ))>>H 2 ( ) Show that H 2 (G( ))>>H 2 ( ) Well analyze only one illuminating distribution Well analyze only one illuminating distribution Formal analysis follows a similar argumentFormal analysis follows a similar argument Intuition vs. formality
Why does the zig-zag work? cloud The graph after replacement
Why does the zig-zag work? cloud A uniform distribution over a subset of clouds H step G step H step Wasted
Why does the zig-zag work? cloud H step G step H step
Why does the zig-zag work? cloud H step G step H step
Why does the zig-zag work? Buffer point-of-view Cloud-labelEdge-label [N] [D G ] A vertex in the new graph: A H-step: H
Why does the zig-zag work? Buffer point-of-view Cloud-labelEdge-label [N] [D G ] A vertex in the new graph: A G-step: G 93 3 For simplicity assume G is D G edge-colorable
Why does the zig-zag work? Buffer point-of-view Cloud-labelEdge-label The support of the distribution [N] [D G ] 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-labelEdge-label H does nothing Cloud=kUniform
Edge-label Why does the zig-zag work? Buffer point-of-view H step G step H step Cloud-labelEdge-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-labelEdge-label H adds entropy! Cloud=k
Spectral gap of the zig-zag We take two H-steps, hence the degree is D H 2. We take two H-steps, hence the degree is D H 2. On some inputs, only one of the two steps is useful This incurs a quadratic loss in 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 The graph after replacement
The problem cloud A uniform distribution over a subset of clouds H step G step H step G step H step Wasted
The problem cloud H step G step H step G step H step
The problem cloud H step G step H step G step H step cloud
Ideally: H step G step H step G step H step cloud
The problem cloud H step G step H step G step H step cloud
The problem 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-labelEdge-label Cloud=kUniform H does nothing
Edge-label The problem: Buffer point-of-view Cloud-labelEdge-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-labelEdge-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 dont know how the entropy flows in the G step (this is like taking a random step over the graph according to an unknown distribution). Edge-label ? ?
The problem: Buffer point-of-view Cloud-labelEdge-label Cloud=kUniform 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 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. 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 wayThis 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 Arbirary matching
Replacement with thicker clouds Multiple parallel edges
Why does this work? cloud The graph after modified replacement D G 10 vertices
Why does this work? 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 H step G step H step G step H step D G 9 vertices D G 10 vertices
Why does this work? cloud H step G step H step G step H step Almost uniform over outgoing edges
Why does this work? cloud H step G step H step G step H step
Why does this work? cloud H step G step H step G step H step Not Wasted
Why does this work? Buffer point-of-view A vertex in the new graph: A H-step: 65 1,… 65 2,… 65 4,… 0.5 3,1,… 10,2,… 7,4,… H H-vertex-label Cloud-label Edge-label [N] [D G ]
Why does this work? Buffer point-of-view A vertex in the new graph: A G-step: 65 1,… 9 H-vertex-label Cloud-label Edge-label [N] [D G ] G 3 For simplicity assume G is D G edge-colorable
H-vertex-label Why does this work? Buffer point-of-view Cloud-label Edge-label The support of the distribution [N] [D G ] 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=kUniform 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-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-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 We take 3 steps and at least 2 work degree= D H 3 eigenvalue H 2 work degree= D H 3 eigenvalue H 2 The general case: We take k steps and at least k-1 work degree= D H k eigenvalue H k-1 We take k steps and at least k-1 work degree= D H k eigenvalue H k-1
How to choose H H is a graph with D G 10 vertices that satisfies two properties: Mixing: for every d [D G ], Mixing: for every d [D G ], H(d,U D G 9 ) (U D G,¿) (i.e. almost uniform over the D outgoing edges) (i.e. almost uniform over the D outgoing edges) Expansion Expansion How to achieve both? Choose a random H and verify it has both properties A simple permutation satisfies this
A problem The previous is only true when G is D G -edge- colorable The previous is only true when G is D G -edge- colorable In general, G may change the edge-label in an arbitrary way (may depend on the cloud) 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 graphs H is of constant size The number of clouds =The size of the large graph grows to infinity. 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. It seems unlikely that there is a choice for H that is good for all distributions. 653 G 9¿¿¿
A solution Take the large graph G to be locally invertible Take the large graph G to be locally invertible G(v,i)=(v[i], (i)) This property of G is preserved throughout the construction This property of G is preserved throughout the construction Now things are similar to the D G -edge- colorable case Now things are similar to the D G -edge- colorable case
The final product G – a locally invertible (N, D G, G ) G – a locally invertible (N, D G, G ) H 1,…,H k – a sequence of mixing expanders (found by exhaustive search) each is (D G 10k, D H, H ) H 1,…,H k – a sequence of mixing expanders (found by exhaustive search) each is (D G 10k, D H, H ) Do modified replacement and take the graph of paths of length k Do modified replacement and take the graph of paths of length k The resulting graph is The resulting graph is (N D G 10k, D H k, O( H k-1 + G ))
Our result: a fully-explicit combinatorial construction of D-regular graphs with 2 (G)=D -1/2+o(1). 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+ ? Can we push this further to O(D -1/2 ) ? Ramanujan+ ? Thank you! Conclusions