SSDEpresentation

Graph Drawing Using Sampled
Spectral Distance Embedding
(SSDE)
Ali Civril, Malik Magdon-Ismail,
Eli Bocek-Rivele
Spectral Graph Drawing…

Goals:




Create “aesthetically pleasing”
structure
Be able to do it quickly and efficiently
Considering the case of straight-line
edge drawings of connected graphs
Spectral Approach! Some
Examples…
Algebraic Multigrid Computation of
Eigenvectors (ACE)

Minimizes Hall’s Energy Function:
1 n
E  i , j 1 wij ( xi  x j ) 2
2



Extension of the barycenter method
Exploits multi-scaling paradigm
Runtime and aesthetic quality may depend
on the type of graph it is given
High Dimensional Embedding (HDE)


Find a drawing in high dimensions,
reduce by PCA
Comparable results and speed to
ACE
Classic Multidimensional Scaling
(CMDS)
|| xi  x j || Dij , for i, j  1,2...n.
xi  x j  2 xi * x j  Dij
2
2
2
Let X, Q, and 1n be defined as :
X T  [ x1 ,..., xn ], QT  [|| x1 ||2 ,..., || xn ||2 ], 1n  [1,...,1]
T
Q1n  1n QT  2 XX T  L
T
1
T
Let projection matrix  be : I n  1n1n
n
Q1nT    1n QT   2XX T   L
1
(X )(X )   L
2
T
Classic Multidimensional Scaling
(CMDS)
Its downfall?




Huge matrices
Matrix multiplication is slow
Our work is an extension of this
approach
Have vertex positions that
reproduce the distance matrix
Intuition Behind SSDE




Distance matrices contain redundant
information
Johnson-Lindenstrauss lemma
Represent distances approximately in
O(log( n) /  2 )  (practically constant)
dimensions
Based on approximate matrix
decompositions [DKM06]
Pick a column C from matrix of
Suppose
NowWe
Choose
Ccan
is anow
C-transpose
basis
show
for L…
distances
Li
CT
C
Li

n 1 n k
 Ci
C
T


*
k 1
  (1... n )
L  C
L  C
T
i
Ci  
T
C  
1 T
 C 
i
i
1
L  C C

T
L  C C
T
The Algorithm




Sample C
Compute pseudo-inverse of 
Find spectral decomposition of L
Power iteration only multiplies L and a
vector v repeatedly, hence linear time
The Algorithm in Pseudo Code
1 : (C , )  ComputeCan dPhi (G, method , c)
2 : (U , ,V T )  SVD()
3 :    Regularize (,  )
4 :    V  U T
5 : returnY  PowerItera tion( C,  ,  )

The Sampling in More Depth

Two approaches


Random Sampling
Greedy Sampling (more fun)
Regularization



Must do this to prevent numerical
instability
This is since the small singular values
which are close to zero should be ignored

Else huge instability is possible in
i
i  2
2
i  /i

Where  i is the i th diagonal entry in  
Our experiments revealed that    1 is good enough for
practical purposes where  1 is the largest singular value
3
Results
CMDS (SDE) versus SSDE
Some Huge Graphs
Finan512
|V| = 74,752
|E| = 261,120
Total Time: .68 Seconds
Ocean
|V| = 143,473
|E| = 409,953
Total Time: 1.65 Seconds
And now what you’ve all been
waiting for…
The Cow…
The Cow
SSDE
ACE
Cow
|V| = 1,820
|E| = 7,940
HDE
Conclusion


SSDE sacrifices a little accuracy for
time (versus CMDS)
May use results as a preliminary
step for slower algorithms
Questions?
You have them, I want them!
(so long as they’re easy…)