Page 1

A scalable force-directed method for the visualization of large graphs

MONTPELLIER

Fabien Jourdan, Guy Melançon fjourdan@lirmm.fr, melancon@lirmm.fr

LIRM

Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier CNRS - Université Montpellier II

Département Informatique Fondamentale et Applications

1


Plan 1. Introduction 2. Force-directed layout methods Description Algorithm 3. Partitioning nodes Observation Spreading activation metric Extracting nodes by layers 4. The Layout algorithm Virtual graphs Algorithm Complexity of the algorithm 5. Experimentation Energy computation Tests 6. Conclusion and future work 2


1. Introduction Graph Visualization Definition 1 Subfield of Information Visualization dealing with relational data. – Areas of application social networks visualization class browsers (object oriented systems) metabolic pathways (post-genomic data) etc ... – Graph Visualization challenges choosing an abstraction of a graph that will provide a beginning for exploration providing a good view of a graph while keeping the computing time low reducing the amount of data displayed without omitting key informations 3


2. Force-directed layout methods

Description – Physical metaphor Nodes physical bodies Edges attractors (ex : springs with prefered length) Between each neighbours attraction forces Between each pair of nodes repulsion forces Attempt to find a minimum energy configuration of this system – Advantages Require no specific graph properties Respect aesthetic criteria as edge length, covering space... Good readability

4


2. Force-directed layout methods

Description – Physical metaphor Nodes physical bodies Edges attractors (ex : springs with prefered length) Between each neighbours attraction forces Between each pair of nodes repulsion forces Attempt to find a minimum energy configuration of this system – Advantages Require no specific graph properties Respect aesthetic criteria as edge length, covering space... Good readability

4-a


2. Force-directed layout methods

Description – Physical metaphor Nodes physical bodies Edges attractors (ex : springs with prefered length) Between each neighbours attraction forces Between each pair of nodes repulsion forces Attempt to find a minimum energy configuration of this system – Advantages Require no specific graph properties Respect aesthetic criteria as edge length, covering space... Good readability

5


2. Force-directed layout methods

Description – Physical metaphor Nodes physical bodies Edges attractors (ex : springs with prefered length) Between each neighbours attraction forces Between each pair of nodes repulsion forces Attempt to find a minimum energy configuration of this system – Advantages Require no specific graph properties Respect aesthetic criteria as edge length, covering space... Good readability

6


2. Force-directed layout methods

Description – Physical metaphor Nodes physical bodies Edges attractors (ex : springs with prefered length) Between each neighbours attraction forces Between each pair of nodes repulsion forces Attempt to find a minimum energy configuration of this system – Advantages Require no specific graph properties Respect aesthetic criteria as edge length, covering space... Good readability

7


2. Force-directed layout methods : A graph

  



Data

Result : A drawing of the graph

give every node a random position repeat a linear number of times : (stop when the system energy gets under a lower bound) begin for each node do compute a vector obtained by summing up all attractive and repulsive forces acting on 

1

for each node do apply the previously computed vector to obtain the node’s new position 

2

end 

.



8

  

To slow to be immersed in an interactive environment.

Its a priori time complexity is


3. Partitioning nodes

Nodes and edges in the figure on the right have been colored according to their associated Spreading Activation value. 9


3. Partitioning nodes Spreading activation – Signals are sent through the network (the graph) – How spreads the signal through this graph – Hogg and Huberman mathematical model (87) : Nodes are assigned a sequence of values computed iteratively following a simple recurrence:





 

 





 



 





 

(1)

Hogg and Huberman give conditions under which this iterative process converge

They evaluate the speed of convergence according to

and

– Nodes with the highest spreading activation values should provide a skeleton for the graph 10


3. Partitioning nodes



Extracting nodes by layers – Partition : Let be a graph and let be the map assigning to each node its spreading activation value. Let denote a partition of into consecutive and distinct intervals. Then, we define the partition associated with by for , ..., . – The size of the extracted layers of nodes is imposed by the limitations of the forcedirected method – Partition deepneth has to be controled (with ) – Layers of size 

 



 

































 































 





  











































11


3. Partitioning nodes



Extracting nodes by layers – Partition : Let be a graph and let be the map assigning to each node its spreading activation value. Let denote a partition of into consecutive and distinct intervals. Then, we define the partition associated with by for , ..., . – The size of the extracted layers of nodes is imposed by the limitations of the forcedirected method – Partition deepneth has to be controled (with ) – Layers of size 

 



 

































 































 





  











































12


3. Partitioning nodes



Extracting nodes by layers – Partition : Let be a graph and let be the map assigning to each node its spreading activation value. Let denote a partition of into consecutive and distinct intervals. Then, we define the partition associated with by for , ..., . – The size of the extracted layers of nodes is imposed by the limitations of the forcedirected method – Partition deepneth has to be controled (with ) – Layers of size 

 



 

































 































 





  











































13


3. Partitioning nodes



Extracting nodes by layers – Partition : Let be a graph and let be the map assigning to each node its spreading activation value. Let denote a partition of into consecutive and distinct intervals. Then, we define the partition associated with by for , ..., . – The size of the extracted layers of nodes is imposed by the limitations of the forcedirected method – Partition deepneth has to be controled (with ) – Layers of size 

 



 

































 































 





  











































14


3. Partitioning nodes Partitioning the interval of values – Consider the statistical repartition of values in the graph denote the statistical density function associated with the spreading activation metric on

–

 

 

  

  











– It is possible to compute a unique inverse value for . (Simple adjustements are needed to compute an inverse value in the general cases) 



 











 





 





 

must be such that

, ...,





– The partition



15


3. Partitioning nodes Partitioning the interval of values – Consider the statistical repartition of values in the graph denote the statistical density function associated with the spreading activation metric on

–

 

 

  

  











– It is possible to compute a unique inverse value for . (Simple adjustements are needed to compute an inverse value in the general cases) 



 











 





 





 

must be such that

, ...,





– The partition





 



500 12

1000 22

1500 30

2000 40



15-a

2500 45

5000 83

10000 154


3. Partitioning nodes Filtration – Gadjer, Goodrich and Kobourov (2000) – Not based on numerical values but on neighborhood relationships – Used to speed up force-directed layout methods for large graphs – Their approach only work well for graphs with strong regularities (a grid, for instance)

Sommet de deg 2 Sommet de deg 3 Sommet de deg 4

16


4. The Layout algorithm



Introduction – Assume that the spreading activation metric has been computed on the whole graph denote an instance of a force– directed layout algorithm : positions for every node – a modified instance of the algorithm : positions for every node Nodes are fixed but act on nodes Nodes can move 





























































17


4. The Layout algorithm



Introduction – Assume that the spreading activation metric has been computed on the whole graph denote an instance of a force– directed layout algorithm : positions for every node – a modified instance of the algorithm : positions for every node Nodes are fixed but act on nodes Nodes can move 





























































17-a


4. The Layout algorithm



Introduction – Assume that the spreading activation metric has been computed on the whole graph denote an instance of a force– directed layout algorithm : positions for every node – a modified instance of the algorithm : positions for every node Nodes are fixed but act on nodes Nodes can move 





























































18


4. The Layout algorithm



Virtual graphs – Let and the induced subgraph – Target : taking into account paths between two nodes in when computing – The edges in are only used to induce additional attractive forces beand will not be tween nodes in drawn in the final layout for 











19


4. The Layout algorithm



Virtual graphs – Let and the induced subgraph – Target : taking into account paths between two nodes in when computing – The edges in are only used to induce additional attractive forces beand will not be tween nodes in drawn in the final layout for 











19-a


4. The Layout algorithm



Virtual graphs – Let and the induced subgraph – Target : taking into account paths between two nodes in when computing – The edges in are only used to induce additional attractive forces beand will not be tween nodes in drawn in the final layout for 











20


4. The Layout algorithm



Virtual graphs – Let and the induced subgraph – Target : taking into account paths between two nodes in when computing – The edges in are only used to induce additional attractive forces beand will not be tween nodes in drawn in the final layout for 











21


4. The Layout algorithm : A graph

.

 





Data

Result : A drawing of the graph 

















1

begin Compute a partition Compute the virtual graph associated with Run Record the positions of nodes and mark them as fixed for each level ( ) do Compute the induced subgraph Compute the virtual graph Run Report the position for nodes and mark them as fixed 

























 













2











 







 







 





  





22



 

end





 

 









return The resulting drawing of


4. The Layout algorithm

Complexity of the algorithm



  



 

.

 

. 

  







can be computed in linear time





– Claim 1 The partition

– Theorem 1 The algorithm runs in time







 



be two consecutive layers in the partition for . Under the – Claim 2 Let assumption that , the induced subgraph is computed in . This also holds true for . Moreover, the additional time to linear time is constant on average. Thus the graph compute the virtual subgraph can be computed in time as well. 





 



 



  



 









  







 











  





 

  

23


5. Experimentation Energy computation – Basalaj PhD thesis (2000) – Computing the energy associated with a drawing is measuring how close the euclidean distances between points in are to the actual distance between the corresponding nodes in the graph.



denote the euclidean distance for a drawing

 







 

  



denote the distance in

 

 







  



 









 

 





 

 







24

(2)


5. Experimentation Tests – Tests on a variety of graphs – Java API Royere Graphs 

 



 

59 216 250 296 300 350 400 450 500 550 600

87 528 490 824 639 668 992 865 784 1172 1182

Ref 1 3 4 5 6 7 8 9 10 11 12

Algorithm 2

GEM

Random

Ring

0.049 0.112 0.220 0.210 0.217 0.206 0.200 0.191 0.203 0.190 0.175

0.0139 0.154 0.130 0.132 0.169 0.135 0.130 0.165 0.196 0.128 0.189

0.349 0.203 0.223 0.213 0.228 0.220 0.220 0.219 0.214 0.210 0.210

0.388 0.224 0.236 0.228 0.243 0.233 0.224 0.234 0.233 0.221 0.221

25


5. Experimentation

26


5. Experimentation

27


6. Conclusion and future work Conclusion – Using a partition based on metric values

 

   

  



 

–

Future work – The drawing could serve as the input for an animated force-directed layout – Choose an other metric

28


http://www.lirmm.fr/~fjourdan/Publication/WSPresentation  

http://www.lirmm.fr/~fjourdan/Publication/WSPresentation.pdf

Advertisement
Read more
Read more
Similar to
Popular now
Just for you