ace:a fast multiscale eigenvectors computation for drawing huge graphs yehunda koren liran carmel...
Post on 21-Dec-2015
219 views
TRANSCRIPT
ACE:A Fast Multiscale Eigenvectors Computation for Drawing Huge Graphs
Yehunda KorenLiran CarmelDavid Harel
Fast Graph Drawing Algorithm
Very large graphs Millions of nodes in less than a
minute Finds optimal drawing by
minimizing a quadratic energy function
Minimization – generalized eigenvalue problem
Need for Speed
Drawing of graph -> capture its nature
Most graph drawing methods- lengthy computation times
Fastest alg- require 10 min for 105-node graph
ACE- 10-20 sec for 105-node graph
Minimization
For commonly encountered graphs, in which all weights are non-negative, the Laplacian is positive semi-definite. Key observation that this provides for the feasibility of nice drawings
Minimization
Drawing: expect nodes connected by large positive weights to be close together, and those connected by large negative weights to be far away from each other
ACE algorithm Technique common to algebraic multigrid
(AMG) algorithm Express as originally high-dimensional problem
in lower and lower dimensions using coarsening
Problem solved exactly then starts a
refinement process- the solution is progressively projected back into higher and higher dimensions until original problem is reproduced
ACE algorithm
Coarsening
Let G be a PSD graph with n nodes Replaces G with another PSD graph Gc
containing m < n nodes approximating the same entity on different scales
Interpolation matrix- tool that linkes G and Gc
Coarsening
Given a fine n-node PSD graph, and an nxm interpolation matrix, take the coarse m-node PSD graph to be Gc
(Lc,Mc)
Coarsening Interpolation Matrix:
Retain structure Easy to compute in running time The sparser the better
Types: Edge Contraction Interpolation Weighted Interpolation
Interpolation Types Edge Contracting Interpolation
Interpolate each node of the finer graph from exactly one coarse node
1. Divide the nodes of fine graph into small disjoint connected subsets
2. Associate the members of each subset with single coarse node
Sparse and easy to compute Only takes into consideration the
strongest connection of nodes
Interpolation Types Weighted Interpolation
Interpolate each node of the fine graph from possibly several coarse nodes
1. Choose a subset of m nodes out of n nodes of G – representatives
2. Fix the coordinates of the representatives by their values
3. Determine the coordinates of the non-representatives as a weighted sum of neighboring representatives
Running Time The Sparser the interpolation matrix,
the faster a single iteration is The more accurate the interpolation
matrix, the less iterations are required
Edge Contracting fastest: structure of homogeneous graphs
Weighted fastest: structure of non-homogeneous graphs
Coarsening cont.
Coarsening cont.
Coarsening cont. Given Gc, the generalized
eigenprojection problem and the original problem in the same dimension is: (substituted x =Ay)
Refinement Keep coarsening until couse PSD graph is
sufficiently small ~ < 100 nodes
The drawing of G(L,M) is obtained from lowest positive generalized eigenvectors of (L,M)
Since M is diagonal, the problem can be an eigenvalue problem Bv = μv and since B is small, this takes fraction of total running time
Use power iteration algorithm to find the largest eigenvalues of symmetric matrices but reverse since we need to find the lowest not the largest
Examples Graphs 105 nodes - few sec Graphs 106 nodes – 10-20 sec Graphs 7.5*106 nodes – 2 min
Examples Electronic Noses: chemical devices to
quantify odors Array of sensors that gives an odor-
unique response pattern N=300 measurements 30 types of odors Odors in up-rt outliers Diff clusteres of odors separated
Multiscale Vizualization of Small World Networks
David AuberYves ChiricotaFabien JourdanGuy Melancon
Problem
“small world” networks Shown to be relevant models in study
social networks, software reverse engineering, biology, etc.
Have a multiscale natureviewed as a network of groups – also small world networks
Small World Networks
First identified by Milgram studying the structure of social networks
“Six degree of separation”
Small World Networks
Defining Properties: Average path length
Same # edges as random graph
Clustering index of nodes Orders of magnitude larger than ave
Internet Movie Database
Interactive Visualization of Small World Networks Common tasks: Identify patterns in set of
connections
Social groups: collections of actors who are closely linked to one another
Social Positions: sets of actors who are linked into the total social system in similar ways
Might not need
Use of small world properties of networks to support the visualization
Compute decomposition of small world network into highly connected components –also small world
Technique Compute clustering index for nodes and
graph
Where c(v) is the clustering index of node v, v is a node in the network, r(N(v)) is the number of edges connecting
neighbors of v , k is the size of v’s neighborhood N(v)
Technique Clustering index of graph G
Take the average
Where N is the number of nodes in G
Technique Small world networks:
High clustering index Small average path length between nodes
Technique Finding a clustering index of an edge
Denote: M(u) ~ set of neighbors of u that are not
neighbors of v W(u,v) ~ set of common neighbors to u and v R(A,B) for the number of edges linking nodes in
a set A to nodes in set B S(A,B) = r(A,B) / |A|*|B| computes the
proportion of existing edges among the set of all possible edges
Technique
Finding a clustering index of an edge Given edge(u,v), strength is computed by
dividing neighborhood of u or v into distinct subsets
Compute:
Discard weak edges
Strength of edge = measure of its contribution to the cohesion of the neighborhood
Filter out the weak If strength of edge < threshold Maximal disconnected subgraphs corresponding to
clustering of initial graph Quotient graph: subgraphs as vertices
Visual Coherence Force-directed algorithm
naturally embeds neighbor nodes close to one another
Not distinguish between edges Induce same attractive force for all edges of
the graph –avoid be assigning weights
Quotient graph laid out using Force-directed algorithm Weaker edges replaces by single edge
Navigational Coherence
Selected component showed in same manner as overview panel
Left click: display of overview Middle click: show same component
unfolded as a flat graph Wheel: zoom in/out
Examples
Resyn Assistan API Software designed for the study of
chemical components developed in Montpellier (LIRMM)
IMDB subset Central group= renowned movie
actors Periphery= movies
Threshold and Quality Measurements
Threshold choice determined by good partitioning from filtering
Quality of a partition – comput how close a partition is to a partion with optimal cost
Threshold and Quality Measurements Cost function:
Where C~ clustering of graph G First term – mean value of edge density
inside each cluster Second term – mean value of edge
density between clusters
Quality Optimal threshold approaches 1.6 for
MQ close to 0.80
MQ scores (really high)
Partitioning Interactive approach to choosing
threshold might be an alternative Clustering techniques aim at finding
partitions that have a minimal number of outer edges
Immediate visual feedback provided Computing time still low Method able to find partitions with a
high MQ value