• Aucun résultat trouvé

CHAPITRE 3 : LES ALGORITHMES DE GRAPHE BASES SUR DES MODELES PHYSIQUES

3.2 L ES ALGORITHMES BASES SUR DES MODELES PHYSIQUES

3.2.2 Les algorithmes force-attraction-répulsion

Cette famille d’algorithmes est aussi basée sur des modèles physiques car elle est conçue en analogie avec des systèmes mécaniques qui mettent en œuvre des forces d’attraction et de répulsion afin de trouver l’état stable du système avec une énergie minimale. Le graphe à étudier est donc assimilé à un système de masse et ressort où les masses représentent les sommets et les ressorts représentent les liens. Après avoir affecté des positions initiales aux sommets (souvent de façon aléatoire), ils se repoussent et s’attirent pour trouver leurs positions finales qui correspondent à l’état final du système masse-ressort avec une énergie minimale. Par conséquent, trouver la position finale de chaque sommet d’un graphe équivaut à minimiser l’énergie générée par le système masse-ressort correspondant. Les deux méthodes

les plus utilisées pour minimiser cette énergie sont la résolution de systèmes d’équations et la simulation des forces d’attraction et de répulsion. Par rapport aux techniques du recuit simulé, il est plus facile de modéliser un graphe à l’aide du système masse-ressort.

Cependant, comme les algorithmes de recuit simulé, les algorithmes de force-attraction-

répulsion ont aussi un inconvénient qui est le temps d’exécution car il est souvent très difficile

de minimiser l’énergie générée par le système masse-ressort qui correspond à son état final. C’est pourquoi la plupart des algorithmes basés sur ce modèle proposent leurs propres fonctions de réduction d’énergie (appelées cost function ou fonction de coût) qui ne sont jamais exprimées explicitement.

3.2.2.1 Principe général

Le concept du modèle masse-ressort a été initialement développé par Eades [Eades, 1984]. Ses travaux faisaient l’objet de plusieurs développements qui conduisaient à différents modèles dynamiques. En associant les sommets (noeuds) d’un graphe à des masses et les liens (arêtes) à des ressorts, le concept proposé par Eades supposait que la position finale des sommets pourrait correspondre à l’état final du système masse-ressort après une phase de transition due aux attractions et répulsions des sommets.

En général, tous les algorithmes basés sur le modèle masse-ressort sont basés sur le principe qui consiste à calculer les forces de répulsion entre tous les sommets et les forces d’attraction uniquement entre les sommets adjacents. Fruchterman et Reingold [Fruchterman, 1991] ont proposé une nouvelle variante de l’algorithme de Eades, et la plupart des algorithmes FDP récemment développés sont basés sur leur approche. Cette approche consiste à faire en sorte que deux sommets adjacents soient affichés plus proches l’un de l’autre. Pour éviter le problème de croisement des liens et de superposition des sommets, deux sommets ne doivent pas être affichés trop proches. Autrement dit, la distance entre les sommets doit être plus ou moins uniforme. Comme elle est montrée dans le pseudo-code suivant, la seule condition d’arrêt du calcul de la position finale des sommets est le nombre maximal d’itération fixé à l’avance. Le déplacement de chaque sommet est à évaluer en fonction de la "température" globale du système. Il n’existe donc pas de moyens qui permettent de préciser de façon absolue combien d’itérations sont nécessaires pour trouver la position finale des sommets, et il n’existe pas, non plus, de fonction de coût unique qui permet de déterminer le déplacement d’un sommet. C’est la raison pour laquelle tous les algorithmes basés sur les approches de Fruchterman et Reingold proposent leurs propres fonctions de coût.

Algorithme FDP :

Initialisation : positionnement aléatoire des sommets ; Tant que k < Max_Itération faire

Pour tout sommet u faire

Pour tout sommet v != u faire Si distance (u, v) < seuil alors

Calculer la force de répulsion entre u et v ; Pour tout sommet v, v adjacent à u faire

Calculer la force d’attraction entre u et v ; Pour tout sommet u faire

Calculer la somme des forces appliquées à u ; Déplacer u en fonction de la température globale ;

Diminuer la température globale ; Fin

Kamada et Kawai [Kamada, 1989] ont amélioré les travaux de Eades en introduisant le concept de distance idéale entre deux sommets non adjacents. Cette distance est proportionnelle à la longueur du chemin le plus court entre deux sommets non adjacents. Ils étaient aussi les premiers à formuler l’expression de l’énergie générée par un système masse- ressort, et ont montré que la recherche de la position finale des sommets qui minimise les croisements des liens équivaut à la résolution d’un système d’équations pour minimiser l’énergie générée par le système masse-ressort correspondant. Au lieu de simuler des forces de répulsion et des forces d’attraction, ils ont proposé d’autres méthodes qui consistent à résoudre des systèmes d’équations afin de minimiser l’énergie totale générée par le système masse-ressort. L’avantage de cette méthode est que le nombre d’itérations n’est plus fixé de façon aléatoire mais dépend uniquement de la limite minimale recherchée de l’énergie totale.

Initialement, la plupart des algorithmes FDP étaient appliqués à la représentation 2D de larges graphes. De nombreux travaux ont montré qu’ils peuvent être aussi appliqués à la représentation 3D et produisent une bonne qualité d’affichage. Les avantages de FDP pour l’affichage 3D ont été montrés par les travaux de Tim Dwyer [Dwyer, 2001] sur la

visualisation 3D des diagrammes UML. Churcher et Creek [Churcher, 2001] ont proposé un environnement virtuel qui permet de visualiser un large graphe en utilisant l’algorithme FDP.

Malgré la simplicité de modélisation des algorithmes FDP, ils nécessitent des optimisations car ils ont deux grands inconvénients. Le premier inconvénient est qu’ils ne prennent pas en compte, en général, l’optimisation de l’espace d’affichage et le deuxième inconvénient est le temps d’exécution. En effet, comme nous avons vu précédemment, ces algorithmes sont basés sur le principe que chaque paire de sommets exerce des forces de répulsion, et que des forces d’attraction sont calculées uniquement pour chaque paire de sommets adjacents. Jusqu’à l’obtention de l’état final du système, plusieurs itérations sont exécutées et la position des sommets est modifiée. Sachant que chaque itération est exécutée dans un temps d’ordre

O(n2+m), n étant le nombre total de sommets et m le nombre total d’arêtes, ceci peut être

pénalisant en temps de calcul lorsqu’il s’agit d’afficher de larges graphes composés de milliers de sommets.

Documents relatifs