An Elementary Construction of Constant-Degree
Expanders
Noga Alon*, Oded Schwartz* and Asaf Shapira**
*Tel-Aviv University, Israel**Microsoft Research, USA
SODA 2007
2
Expanders
Sparse Highly connected
[n,d,]-expandern vertices, d regular
For every |S| ≤ n/2 d|S| ≤ |E(S,V \ S)|
\V SS
3
Applications of Expanders
Robust networks Derandomization Error Correcting Codes PCP Hardness of approximations …
4
Eigenvalues of Graphs
G: [n, d, ]-expander
Adjacency matrix A: Ai,j = #(i,j) edges
Eigenvalues1 ¸ 2 ¸ … ¸ n
1 = d, v1=1n
= maxi 1{|i|}
5
Expansion vs. Eigenvalues
G: [n, d, ]-expander
iff < d
Thm: [Alon-Milman84, Dodziuk84, Alon86]
(Actually 2)
12 (1 ) 2(1 )d d
6
Existence
[Pinsker73]:
9 > 0, s. t. 8 d ¸ 3 and (even) n,
9 [n, d, ]-expander.
7
Constructions Explicit:
Construct G
» E.g, for reductions» Time = Poly(n)
» or even Space = log n
» Which n’s? – 8n.
Fully Explicit: Find the i’th neighbor of v
» E.g, for derandomization» Time = Poly(|v|) = Poly(log n)» or even Space = loglog n
» Which n’s? – |G|=Poly(n) usually suffices.
8
Some Previous Results
[Margulis73], [Gabber-Galil81]Algorithm for Constant degree expanders.
…[Lubotzky-Phillips-Sarnak88], [Margulis88]Ramanujan Graphs.
[Alon-Roichman94]Polylog degree.
[Reingold-Vadhan-Wigderson02]Iterative construction.
9
Our Contribution
Thm:
9 8 n:
Explicit [Poly(n), O(1), ]-expander» Simple to construct» Simple to analyze
Applying the above we obtain:
1. Fully Explicit [Poly(n),O(1), ]-expander
2. Explicit [n, O(1), ]-expander
10
G2
Replacement Product: G1 ® G2
G1 : [n, d1, δ1]-expander
G2 : [d1, d2, δ2]-expander
G1
For all v of G1:
1. Split
2. Install G2
3. Duplicate edges
11
G1 ® G2: Properties
G1 : [n, d1, δ1]-expander
G2 : [d1, d2, δ2]-expander G2 G1G1 ® G2 : [nd1, 2d2, δ(δ1,δ2)]-expander
12
G1 ® G2: Some History
G1 : [n, d1, δ1]-expander
G2 : [d1, d2, δ2]-expander G2 G1G1 ® G2 : [nd1, 2d2, δ(δ1,δ2)]-expander
[Gromov83] : Spectral Analysis
[Reingold-Vadhan-Wigderson02] : via Zig-Zag
[Papadimitriou-Yannakakis91] : for Inapprox.
[Dinur05] : for PCP
13
G1 ® G2: Expansion
G1 : [n, d1, δ1]-expander
G2 : [d1, d2, δ2]-expander G2 G1
Thm:G1 ® G2 is a [nd1, 2d2, δ1
2 ¢ δ2/80)]-expander
[here]: Simple combinatorial proof.
14
E1: [n, log2n, ¼ ]-expander
[Special case of Alon-Roichman]
E2: [log2n, (loglogn)2, ¼ ]-expander
[A&R again]
E3: [2(loglog n)2, 3, ]-expander
(Pinsker, exhaustive search)
Return E = (E1 ® E2) ® E3
New Construction (roughly)
Constant Degree Expander Algorithm
E: [Poly(n), 6, ’ ]-expander
Proof
Proof
15
G1 ® G2: Combinatorial Proof
G1: [n, d1, δ1]-expander
G1 ® G2: [nd1, 2d2, δ12 ¢ δ2/80)]-expander
G2: [d1, d2, δ2]-expander
S V \ S
G1 ® G2
16
G2
G2
G2
G2
G2
G2
G2
G2
G2
G1 ® G2: Combinatorial Proof
G2
G1
G2
G1: [n, d1, δ1]-expander
G1 ® G2: [nd1, 2d2, δ12 ¢ δ2/80)]-expander
G2: [d1, d2, δ2]-expander
G2X
G2?
G1 ® G2
17
G1 ® G2: Combinatorial Proof
G1: [n, d1, δ1]-expander
G1 ® G2: [nd1, 2d2, δ12 ¢ δ2/80)]-expander
G2: [d1, d2, δ2]-expander
G2
G2
G2
G2
G2
G2
G2
G2
G2 G2
G1
G2
G2X
G2?
+G2
G2
G2G2
--
X
G1 ® G2
18
A&R: Proof
(a special case of [Alon-Roichman94]).
8 r, q=2t, LD(q,r):
Vertices: (a0,…,ar) ai 2 F2t = [q]
Edges:(x,y) 2 [q]2
The (x,y) neighbor of (a0,…,ar) is:(a0,…,ar)+y¢(1,x,x2,…,xr).
19
LD(q,r): Properties
LD(q,r) :n = qr+1 verticesd = q2-regular
Thm: [Alon-Roichman94]: (LD(q,r)) · rq
For r = q/2 ¸ ½(1- / d) ¸ ¼ log2(n) ¸ (½q log q)2 > q2 = d
LD(q,r) : [n, O(log2n), ¼]-expander.
20
LD(q,r): Eigenvalues
M: n £ n matrix of LD(2t,r)
L : 2t! {0,1} L(x0,…xt-1)=x0
Eigenvectors:
0
( )
0 2
1
,..., ,
r
i i
t
L a b
a
r i
v b
a a a a F
21
LD(q,r): Eigenvalues
1. va are orthogonal
2. va are eigenvectors
(what eigenvalues?)
+
va are all eigenvectors
0
( )
0 2
1
,..., ,
r
i i
t
L a b
a
r i
v b
a a a a F
22
LD(q,r): Eigenvalues
1. va are orthogonal
Proof:
<va, va’> = b va(b) va’(b) W.l.o.g, a0 a’0.
0
( )
0 2
1
,..., ,
r
i i
t
L a b
a
r i
v b
a a a a F
0 0
0
0 0 01
( ) ( ' )
'
( ' )
( ' ' )
1
1
1
r r
i i i i
r
i i i
r
i i i
L a b L a b
a a
L a a b
L a a b a a b
v b v b
All values
23
LD(q,r): Eigenvalues
2. va are eigenvectors
Proof:
va (b + c) = va (b) va(c)
(M va)(b) = c 2 Fr+1 Mbc¢ va(c)
= x,y 2 F va(b+y(1,x,...,xr))
= (x,y 2 F va(y,yx,...,yxr))¢ va(b)
0
( )
0 2
1
,..., ,
r
i i
t
L a b
a
r i
v b
a a a a F F
(Mva) (b) =P
c2F r+1Mbc va(c) =P
x;y2F va(b+y(1;x; :::;xr)) =P
x;y2F va(y; yx; :::; yxr)
va(b)(Mva) (b) =
Xc2F r+1
Mbc va(c) =Xx;y2F
va(b+y(1;x; :::;xr)) =
0@Xx;y2F
va(y; yx; :::; yxr)
1A va(b) :
(Mva) (b) =P
c2F r+1Mbc va(c) =P
x;y2F va(b+y(1;x; :::;xr)) =P
x;y2F va(y; yx; :::; yxr)
va(b)
The (x,y) neighbor of
b
a
24
LD(q,r): Eigenvalues
2. va are eigenvectors!
What are a ?a = x,y 2 F va((y,yx,...,yxr))
pa(x) = ir=0 aixi
0
( )
0 2
1
,..., ,
r
i i
t
L a b
a
r i
v b
a a a a F F
(Mva) (b) =P
c2F r+1Mbc va(c) =P
x;y2F va(b+y(1;x; :::;xr)) =P
x;y2F va(y; yx; :::; yxr)
va(b)(Mva) (b) =
Xc2F r+1
Mbc va(c) =Xx;y2F
va(b+y(1;x; :::;xr)) =
0@Xx;y2F
va(y; yx; :::; yxr)
1A va(b) :
(Mva) (b) =P
c2F r+1Mbc va(c) =P
x;y2F va(b+y(1;x; :::;xr)) =P
x;y2F va(y; yx; :::; yxr)
va(b)
( )
,
1 a iL y p x
ax y F
b
( ) ( )
, : 0 , : 0
1 1a a
a a
L y p x L y p x
x y F p x x y F p x
25
LD(q,r): Eigenvalues
2. va are eigenvectors.
What are a ?
0
( )
0 2
1
,..., ,
r
i i
t
L a b
a
r i
v b
a a a a F F
(Mva) (b) =X
c2F r+1Mbc va(c) =
Xx;y2F
va(b+y(1;x; :::;xr)) =
0@Xx;y2F
va(y; yx; :::; yxr)
1A va(b) :
( ) ( )
, : 0 , : 0
1 1a a
a a
L y p x L y p x
ax y F p x x y F p x
=1, 8 y
= |F| = q
(Mva) (b) =P
c2F r+1Mbc va(c) =P
x;y2F va(b+y(1;x; :::;xr)) =P
x;y2F va(y; yx; :::; yxr)
va(b)
(Mva) (b) =P
c2F r+1Mbc va(c) =P
x;y2F va(b+y(1;x; :::;xr)) =P
x;y2F va(y; yx; :::; yxr)
va(b)
all values
= 0
a = (0,…0) ) a = q2
a (0,…0), ) pa has at most r roots ) a · rq
26
Variants
» For every n» Fully explicit
27
For Every n
LD(q,r) :
n = qr+1 vertices
d = q2-regular
E1: [q2,3, ]-expander Search
E2: [q6,q2,1/4]-expander LD(q,5)
E3: [q4(r+1),q8,1/4]-expander LD(q4,r) q4/100≤ r ≤ q4/2
E4 = E3 ® (E2 ® E1)
E4: [q4r+12,12, ’]-expander
28
Poly(n)
E4: [q4r+12,12, ’]-expander q4/100≤ r ≤ q4/2
q = 2t
n = q^ (q4) q4 = (lg n / lg lg n)
t’ = t + 1 q’ = 2q, r’ = 16rn’ ≤ (2q)4r’+12 = Poly(n)
r’ = r - 1 n’ = n/ q4
q 4(1/2 q^4)+12 > (2q)4(16 q^4 /100) +12
n, n lglgn / lgn ≤ n0 ≤ n
29
(n)
n, n lglgn / lgn ≤ n0 ≤ n
a = n / n0 < lgn / lglgn
if a < 100 – done. E5 : [12a, 3, ]-expander search: (lgn/lglgn) (lg n / lglg n) = Poly(n) Duplicate edges
E = E4 ® E5
E:[12n, 6, ’’]-expander
30
Fully Explicit
Vertex naming: (x,y) The i’th neighbor of (x,y)
» If i ≤ d2 then (x, y’) : y’ is neighbor i in G2
» else (x’, y): x’ is neighbor y in G1
G2 G1
G1 : [n, d1, δ1]-expander
G2 : [d1, d2, δ2]-expander
G1 ® G2 : [nd1, 2d2, δ(δ1,δ2)]-expander
31
Connection Scheme
G2 is d2-edge-colorable+
G1 ® G2 is 2d2-edge-colorable.
G1 : [n, d1, δ1]-expander
G2 : [d1, d2, δ2]-expander G2 G1G1 ® G2 : [nd1, 2d2, δ(δ1,δ2)]-expander
Connection scheme? (rotation map)
e.g: d1-edge-coloring for G1.
32
Fully Explicit
G1 ® G2
» Fully Explicit» D-edge-colorable
Alon-Roichman:» Fully Explicit» D-edge-colorable
Pinsker» Fully Explicit» D-edge-colorable
33
A&R: Edge Colorability
(a special case of [Alon-Roichman94]).
8 r, q=2t, LD(q,r):
Vertices: (a0,…,ar) ai 2 F2t = [q]
Edges: (x,y) 2 [q]2 the (x,y) neighbor of (a0,…,ar):
(a0,…,ar)+y¢(1,x,x2,…,xr).
34
Conclusions and Open Problems
A (Fully) explicit constant degree expander» Simple to construct» Simple to analyze
Exploiting the simplicity? Simple combinatorial proof
» for [n, poly-log n, ¼ ]-expander?» for graph powering?» for (near) Ramanujan graphs?
35
Expanders Construction
Thank You.
36
G2
G2
G2
G2
G2
G2
G2
G2
G2
G1 ® G2: Combinatorial Proof
G2
G1
G2
G1: [n, d1, δ1]-expander
G1 ® G2: [nd1, 2d2, δ12 ¢ δ2/80)]-expander
G2: [d1, d2, δ2]-expander
37
G1 ® G2: Combinatorial Proof
G1: [n, d1, δ1]-expander
G1 ® G2: [nd1, 2d2, δ12 ¢ δ2/80)]-expander
G2: [d1, d2, δ2]-expander
(1-1/4)d1Each contributes:
1 d1 /4 ¢ 2 d2
If (small) ¸ 1|S|/10
#sets ¸ 1|S|/10d1
Total:
1d1/4¢2d2¢ 1|S|/10d1
= 122/80 ¢ 2d2¢|S|
Else
small) < 1|S|/10 (Large)¸ (1-1/10) |S|
38
G1 ® G2: Combinatorial Proof
G1: [n, d1, δ1]-expander
G1 ® G2: [nd1, 2d2, δ12 ¢ δ2/80)]-expander
G2: [d1, d2, δ2]-expander
Else
small) < 1|S|/10 (Large)¸ (1-1/10) |S|
1
1
1 111 1
11210 2#3
1 14 4
S ndSlarge sets n
dd d
39
G1 ® G2: Combinatorial Proof
G1: [n, d1, δ1]-expander
G1 ® G2: [nd1, 2d2, δ12 ¢ δ2/80)]-expander
G2: [d1, d2, δ2]-expander
1
1
1
small<10
21 #
10 3
S
Slarge sets n
d
G2
G2
G2
G2
G2
G2
G2
G2
G2 G2
G1
G2
40
G1 ® G2: Combinatorial Proof
G2
G2
G2
G2
G2
G2
G2
G2
G2 G2
G2
G1: [n, d1, δ1]-expander
G1 ® G2: [nd1, 2d2, δ12 ¢ δ2/80)]-expander
G2: [d1, d2, δ2]-expander
1
1
1
small<10
21 #
10 3
S
Slarge sets n
d
G2 G2 G2G2
G1:Total ¸ ½ 1d1#large-sets
G1 ® G2: ½1d1d2#large-sets - corrections
41
G1 ® G2: Combinatorial Proof
G2
G2
G2
G2
G2
G2
G2
G2
G2 G2
G2
G1: [n, d1, δ1]-expander
G1 ® G2: [nd1, 2d2, δ12 ¢ δ2/80)]-expander
G2: [d1, d2, δ2]-expander
1
1
1
small<10
21 #
10 3
S
Slarge sets n
d
G2 G2 G2G2
At most:
¼ 1d1d2 #large-sets
42
G1 ® G2: Combinatorial Proof
G2
G2
G2
G2
G2
G2
G2
G2
G2 G2
G2
G1: [n, d1, δ1]-expander
G1 ® G2: [nd1, 2d2, δ12 ¢ δ2/80)]-expander
G2: [d1, d2, δ2]-expander
1
1
1
small<10
21 #
10 3
S
Slarge sets n
d
At most:
d2 (small) < d21|S| /10
· 1d2/10 ¢ #large-sets d1 10/(10-1)
· 1/9 1d1d2#large-sets
G2 G2 G2G2
43
G1 ® G2: Combinatorial Proof
1 1 2 11
1
1
21
1
2
2
1 1 1#
11
1
16
5 5 92
36 36 1
2 9
00
4
d d
d d large sets
d S dd
SS
G2
G2
G2
G2
G2
G2
G2
G2
G2 G2
G2
G1: [n, d1, δ1]-expander
G1 ® G2: [nd1, 2d2, δ12 ¢ δ2/80)]-expander
G2: [d1, d2, δ2]-expander
G2 G2 G2G2
¼ 1d1d2 #large-sets
½ 1d1d2#large-sets - corrections
1/9 1d1d2#large-sets
1
1
21 #
10 3
Slarge sets n
d
44
Compared to Random Walk
G2
G2
G2
G2
G2
G2
G2
G2
G2 G2
G1
G2
G1: [n, d1, δ1]-expander
G1 ® G2: [nd1, 2d2, δ12 ¢ δ2/80)]-expander
G2: [d1, d2, δ2]-expander
45
[n,polylog n,]-expander
(a special case of [Alon-Roichman94]).
8 r, q=2t, LD(q,r):
Vertices: (a0,…,ar) ai 2 F2t = [q]
Edges: (x,y) 2 [q]2 the (x,y) neighbor of (a0,…,ar):
(a0,…,ar)+y¢(1,x,x2,…,xr).
46
LD(q,r): Properties
LD(q,r):n = qr+1 verticesd = q2-regularq2-edge-colorable
Thm: [Alon-Roichman94]: (LD(q,r)) · rq
Recall ½(1- / d) · If r · q/2 then LD(q,r) is a [qr+1, q2, ¼]-expander.