1 / 44

ACE:A Fast Multiscale Eigenvectors Computation for Drawing Huge Graphs

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

davis
Download Presentation

ACE:A Fast Multiscale Eigenvectors Computation for Drawing Huge Graphs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ACE:A Fast Multiscale Eigenvectors Computation for Drawing Huge Graphs Yehunda Koren Liran Carmel David Harel

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. ACE algorithm

  8. 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

  9. 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)

  10. Coarsening • Interpolation Matrix: • Retain structure • Easy to compute in running time • The sparser the better • Types: • Edge Contraction Interpolation • Weighted Interpolation

  11. 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

  12. 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

  13. 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

  14. Coarsening cont.

  15. Coarsening cont.

  16. Coarsening cont. • Given Gc, the generalized eigenprojection problem and the original problem in the same dimension is: (substituted x =Ay)

  17. 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

  18. Examples • Graphs 105 nodes - few sec • Graphs 106 nodes – 10-20 sec • Graphs 7.5*106 nodes – 2 min

  19. 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

  20. Multiscale Vizualization of Small World Networks David Auber Yves Chiricota Fabien Jourdan Guy Melancon

  21. 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

  22. Small World Networks • First identified by Milgram studying the structure of social networks • “Six degree of separation”

  23. Small World Networks • Defining Properties: • Average path length • Same # edges as random graph • Clustering index of nodes • Orders of magnitude larger than ave

  24. Internet Movie Database

  25. 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

  26. 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

  27. 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)

  28. Technique • Clustering index of graph G • Take the average • Where N is the number of nodes in G

  29. Technique • Small world networks: • High clustering index • Small average path length between nodes

  30. 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

  31. 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:

  32. 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

  33. 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

  34. 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

  35. 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

  36. 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

  37. 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

  38. Quality • Optimal threshold approaches 1.6 for MQ close to 0.80

  39. MQ scores (really high)

  40. 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

More Related