440 likes | 634 Views
ACE:A Fast Multiscale Eigenvectors Computation for Drawing Huge Graphs . Yehunda Koren Liran Carmel David 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
E N D
ACE:A Fast Multiscale Eigenvectors Computation for Drawing Huge Graphs Yehunda Koren Liran Carmel David 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
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. • 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 Auber Yves Chiricota Fabien Jourdan Guy Melancon
Problem • “small world” networks • Shown to be relevant models in study social networks, software reverse engineering, biology, etc. • Have a multiscale nature viewed 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
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
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