graph drawing using sampled spectral distance embedding (ssde)
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
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:
Extension of the barycenter method Exploits multi-scaling paradigm Runtime and aesthetic quality may
depend on the type of graph it is given
n
ji jiij xxwE1,
2)(21
High Dimensional Embedding (HDE)
Find a drawing in high dimensions, reduce by PCA
Comparable results and speed to ACE
Classic Multidimensional Scaling (CMDS)
....2,1,for ,|||| njiDxx ijji 222 *2 ijjiji Dxxxx
]1,...,1[1 ],||||,...,||[|| ],,...,[
:as defined be 1 and Q, X,Let 22
11
n
Tnn
Tn
T xxQxxX
LXXQQ TTn
T 211n
Tnnn n
111I :be matrix projectionLet
LXXQQ TTn
T 211n
LXX T
21))((
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
(practically constant) dimensions
Based on approximate matrix decompositions [DKM06]
)/)(log( 2nO
Pick a column C from matrix of distances
C
TC
iL
Suppose C is a basis for L…Now Choose C-transposeWe can now show
ii CL
iiC T
TCCL
T1CT1CCL
Linear Time!TiC
*
iL C
1n kn
1k
TC
CL
)...( 1 n
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
),,(dPhiComputeCan),(:1 cmethodGC )(),,(:2 T SVDVU
),(Regularize:3
TUV:4
),,tion(PowerItera:5 CreturnY
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
22 / ii
ii
in entry diagonal theis Where thi i
31 Our experiments revealed that is good enough for
practical purposes where is the largest singular value1
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 HDE
Cow|V| = 1,820|E| = 7,940
ACE
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…)