• Nenhum resultado encontrado

D´ecomposition en composantes hautement connexes

Les travaux existants en visualisation d’information (e.g. [122, 4, 10]) ont montr´e que la d´ecomposition en composantes biconnexes est efficace. L’id´ee d´evelopp´ee dans ce cha- pitre est de g´en´eraliser ces r´esultats aux d´ecompositions en composantes 3- et 4-connexes

4.3. D´ecomposition en composantes hautement connexes 59

Fig. 4.3: (a) Sous-r´eseau de IMDb ; (b) Les composantes biconnexes sont entour´ees par des enveloppes convexes ; (c) Les composantes triconnexes sont entour´ees par des enveloppes convexes ; (d) Les composantes 4-connexes sont entour´ees par des enveloppes convexes.

en les comparant aux r´esultats d’approches utilis´ees en visualisation d’information (cf chapitre 3). Par cons´equent, notre approche consiste `a appliquer successivement des algo- rithmes de d´ecomposition en composantes biconnexes, puis triconnexes et enfin 4-connexes (voir la figure 4.3). Les r´esultats de ces d´ecompositions sont des groupes chevauchants, puisque chaque composante k-connexe (k > 1) partage au moins un sommet avec une autre composante k-connexe (et peut aussi partager une ou plusieurs arˆetes).

4.3.1 D´ecompositions en composantes 2- et 3-connexes

Les propri´et´es des graphes k-connexes ont ´et´e largement ´etudi´ees en informatique th´eorique. De nombreux travaux ont ´et´e effectu´es en particulier sur la d´ecomposition en composantesbiconnexes et en composantestriconnexes.

4.3.1.1 D´ecomposition en composantes biconnexes

Il existe de nombreux algorithmes pour trouver les composantes biconnexes d’un graphe. Des algorithmes classiques de d´ecomposition en composantes biconnexes sont

60 Chapitre 4. D´ecomposition de graphe

donn´es dans [124] et [15]. La m´ethode consiste `a premi`erement calculer un arbre couvrant en utilisant un parcours en profondeur [33] du graphe (aussi appel´eDFS). Lors de ce par- cours, certains arcs sont invers´es (la source devient la destination et inversement) de telle sorte que l’arbre couvrant soit un arbre enracin´e. Puis l’algorithme classifie les arcs en fonction des positions relatives de leurs extr´emit´es. En particulier, un arc dont la source a une profondeur plus ´elev´ee que la destination est appel´earc retour.

SoitTr le sous-arbre enracin´e en un sommetrde l’arbre couvrant. S’il existe au moins un chemin entre chaque descendant de r et r form´e d’arcs de Tr et de au plus un arc retour, et s’il n’existe aucun de ces chemins entre un descendant der et un ancˆetre der, alors le graphe induit dansGpar les sommets deTr est une composante biconnexe de G.

Cet algorithme permet de calculer les composantes biconnexes d’un graphe G = (V, E) en O(|V|+|E|).

4.3.1.2 D´ecomposition en composantes triconnexes

Dans [73], Hopcroft et Tarjan donnent un algorithme analogue pour calculer les com- posantes triconnexes d’un graphe biconnexe. Tout comme dans la d´ecomposition en com- posantes biconnexes, cet algorithme commence par effectuer unDFS et classifier les arcs.

Puis pour chaque sommet u, ils d´efinissent deux valeurs : lowP t1(u) et lowP t2(u). Ces deux valeurs sont respectivement la profondeur du sommet le moins profond et la pro- fondeur du «deuxi`eme» sommet le moins profond dans l’arbre couvrant que l’on peut atteindre depuisupar un chemin comme d´efini dans la partie 4.3.1.1. En utilisant ces deux valeurs, les composantes triconnexes d’un graphe biconnexe G= (V, E) sont calcul´ees en temps O(|V|+|E|).

La premi`ere ´etape de notre approche consiste `a calculer les composantes biconnexes du r´eseau en utilisant l’algorithme pr´esent´e dans [15]. Cela permet d’obtenir le premier niveau de notre d´ecomposition (par exemple, voir la figure 4.3.(b)). Afin de raffiner cette d´ecom- position, nous recherchons ensuite les composantes triconnexes de chaque composante biconnexe du graphe en utilisant l’algorithme de Hopcroft et Tarjan [73] (par exemple, voir la figure 4.3.(c)). Cette recherche est effectu´ee dans chacune des composantes bicon- nexes afin non seulement d’obtenir des composantes plus denses mais aussi de r´eduire le temps de calcul. Par abus de langage, nous appellerons, dans la suite de cette th`ese, composantes triconnexes du graphe les composantes obtenues lors de cette ´etape.

4.3.2 D´ecomposition en composantes 4-connexes

Etant donn´e que le principe de notre approche est de trouver des composantes de plus en plus denses, nous effectuons ensuite une d´ecomposition en composantes 4-connexes de chaque composante triconnexe trouv´ee lors de l’´etape pr´ec´edente. Nous avons pour cela impl´ement´e notre propre algorithme. L’id´ee de notre approche est de calculer ces composantes 4-connexes en utilisant l’algorithme de d´ecomposition en composantes tri- connexes [73].

Si l’on supprime un sommetu d’une composante triconnexe Ctrico du graphe et que la composante r´esultante Ctrico n’est plus triconnexe, alors la composante Ctrico n’est

4.3. D´ecomposition en composantes hautement connexes 61

Fig.4.4: (a) Un exemple de graphe triconnexe ; (b) Apr`es la suppression du sommet u, le graphe r´esultant peut ˆetre d´ecompos´e en composantes triconnexes ; (c) Si on ajoute le sommet u`a chaque composante de (b), on obtient alors trois composantes C1, C2 et C3 et il n’existe pas de 3-s´eparateurs (cf d´efinition dans la section 2.2) contenantudansC1,C2 ouC3.

pas 4-connexe. En appliquant l’algorithme de Hopcroft et Tarjan [73] surCtrico , on trouve tous les2-s´eparateurs3deCtrico et par cons´equent tous les3-s´eparateursde la composante triconnexeCtricocontenant le sommetu. La figure 4.4 illustre cette technique, lorsque que l’on supprime le sommet u du graphe de la figure 4.4.(a), le graphe r´esultant n’est plus triconnexe. On obtient la d´ecomposition du graphe r´esultant en appliquant l’algorithme de d´ecomposition en composantes triconnexes [73] (cf figure 4.4.(b)). La figure 4.4.(c) montre les composantes que l’on obtient par ce processus. En r´ep´etant pour chaque sommet ce processus, on obtient tous les 3-s´eparateurs de la composante triconnexe. On peut ainsi construire la d´ecomposition en composantes 4-connexes.

Comme nous r´ep´etons|V|fois l’algorithme de d´ecomposition en composantes tricon- nexes, dans le pire des cas la d´ecomposition en composantes 4-connexes est effectu´ee en tempsO(|V| · |E|) (le pire des cas est celui o`u le graphe est triconnexe). Cette complexit´e en temps est relativement ´elev´ee, cependant il est important de noter que la recherche de composantes 4-connexes n’est effectu´ee que dans les composantes triconnexes ce qui rend utilisable cette technique (voir la section 4.5 pour les temps de calculs). Par abus de langage, nous appellerons, dans la suite de cette th`ese, composantes 4-connexes du graphe les composantes obtenues lors de cette ´etape et d´ecomposition en composantes 4-connexes l’algorithme permettant de les obtenir.

En supprimant un sommet d’une composante 4-connexe et en recherchant les com- posantes 4-connexes de la composante r´esultante, on pourrait calculer les composantes 5-connexes en tempsO(|V|2· |E|). Cette approche pourrait donc ˆetre ais´ement g´en´eralis´ee

`

a la d´ecomposition en composantes k-connexes. La complexit´e en temps d’un tel algo- rithme serait alors O(|V|k−3· |E|). Dans ce chapitre, nous nous sommes concentr´es sur la d´ecomposition en composantes 4-connexes. En effet, pour toutk >4, quand bien mˆeme la d´ecomposition en composantes k-connexes donnerait des r´esultats excellents, calculer ces composantes n´ecessiterait un temps de calcul trop important rendant ainsi l’algorithme inutilisable sur des donn´ees r´eelles.

3cf d´efinition desk-s´eparateursd’un graphe dans la section 2.2

62 Chapitre 4. D´ecomposition de graphe