• Aucun résultat trouvé

G´en´eration d’enveloppes ` a partir de l’espace topologique

7.2 Utilisation d’enveloppes concaves

7.2.2 G´en´eration d’enveloppes ` a partir de l’espace topologique

Mˆeme si la pr´ec´edente technique permet de calculer des enveloppes tr`es esth´etiques, semblables `a des enveloppes dessin´ees `a main lev´ee, elle ne passe pas tr`es bien `a l’´echelle pour visualiser efficacement un grand nombre de groupes chevauchants. En effet, elle ne permet pas de moduler pr´ecis´ement la largeur d’une enveloppe et par cons´equent il peut ˆetre difficile de distinguer les fronti`eres de chaque ensemble. Pour pallier `a ce probl`eme, nous avons investigu´e une autre m´ethode qui calcule des enveloppes concaves `a partir

Figure 7.3: Exemple d’application de notre m´ethode de g´en´eration d’enveloppes concaves depuis l’espace image pour mettre en ´evidence des sous-graphes. Une vue d´etaill´ee du r´eseau m´etabolique du r´eseau m´etabolique de l’organisme Saccharomyces cerevisiae (levure) est pr´esent´ee. Les voies m´etaboliques contenant l’´el´ement ”PAPS” ont ´et´e mises en ´evidence avec notre m´ethode.

de l’espace topologique du graphe `a visualiser. Par espace topologique nous entendons l’espace continu de coordonn´ees dans lequel la repr´esentation du graphe est plong´ee.

D´etail de la technique La Figure7.4 illustre les diff´erentes ´etapes de notre m´ethode. Sur l’image la plus `a gauche, on peut voir un dessin de r´eseau de co-occurrence des person-nages du livre Les Mis´erables [117] ´ecrit par Victor Hugo. Un ensemble de sous-graphes d’int´erˆet a ´et´e calcul´e sur ce r´eseau en utilisant l’algorithme Link Communities [3].

Dans un premier temps, un graphe de d´ependance (voir D´efinition 2.29) est calcul´e afin de mod´eliser la fa¸con dont les diff´erents ensembles (sous-graphes) `a visualiser se che-vauchent. Ensuite un algorithme de coloration propre de graphe est appliqu´e sur ce graphe de d´ependance pour assigner `a chaque ensemble une valeur positive de telle sorte que deux ensembles se chevauchant aient des valeurs diff´erentes. Cette valeur sera ensuite utilis´ee pour d´eterminer la distance dans le plan entre un sous-graphe et l’enveloppe l’entourant. Appliquer cette coloration sur le graphe de d´ependance nous permet de garantir que les

Figure 7.4: Illustration du pipeline de la m´ethode : `a partir d’une d´ecomposition de graphe chevauchante, un ensemble d’enveloppes distinguables les unes des autres est calcul´e.

enveloppes des diff´erents ensembles chevauchants seront toutes distinguables en leur affec-tant une largeur proportionnelle `a leur valeur de coloration et en les rendant dans l’ordre d´ecroissant de ces valeurs.

N’importe quel algorithme de coloration propre pourrait ˆetre utilis´e pour cette tˆache. Cependant pour faciliter la visualisation d’ensembles imbriqu´es, nous avons besoin d’un algorithme de coloration d´edi´e. Par exemple si l’on consid`ere deux ensembles imbriqu´es, pour identifier facilement que l’un est contenu dans l’autre, son enveloppe doit ˆetre conte-nue dans l’enveloppe de l’autre ensemble (voir Figure7.5).

(a) (b)

Figure 7.5: Illustration de la visualisation d’ensembles imbriqu´es. (a) La valeur de coloration assign´ee `a l’ensemble contenu dans l’autre est plus grande que celle de l’autre ensemble. L’enveloppe de l’ensemble contenu dans l’autre est alors plus large que celle de l’autre ensemble, compliquant son identification. (b) Quand l’ensemble contenu dans l’autre a une valeur de coloration plus faible que celle de l’autre ensemble, l’imbrication des enveloppes permet de voir clairement la relation d’inclusion entre les deux.

Notre proc´edure de coloration va ainsi cr´eer un ordre sur les diff´erents ensembles de telle sorte que cet ordre refl`ete la complexit´e de chaque ensemble. Dans notre cas, nous utilisons le nombre de sommets pour ´evaluer la complexit´e d’un ensemble. Le d´etail de cette

proc´edure est le suivant. `A partir d’un graphe de d´ependance G = (V, E) et d’une fonction de valuation de sommets P (ici P (u) est le nombre de sommets de l’ensemble associ´e au sommet u dans le graphe de d´ependance), notre algorithme fournit une coloration C telle que ∀(u, v) ∈ E, si P (u) < P (v) alors C(u) < C(v). L’algorithme est bas´e sur un parcours de graphe en largeur, not´e BFS pour Breadth-first search, et a donc une complexit´e en temps lin´eaire. Son d´etail est pr´esent´e `a l’Algorithme 2

Algorithme 2 Algorithme de coloration d´edi´ee appliqu´e sur le graphe de d´ependance mod´elisant les chevauchements entre les sous-graphes `a visualiser.

1: Phase d’initialisation : ∀u ∈ V, C(u) = P (u).

2: Faire un BFS `a partir d’un sommet non visit´e u. Lors du parcours, on ins`ere dans la file des prochains sommets `a visiter seulement les sommets v tels que P(v) = P (u). Au cours de cette phase, on calcule et conserve les valeurs suivantes :

– σ(u) correspondant `a la composante connexe (maximale sous inclusion) form´ee par u et tous les sommets v ∈ V ayant P(u) comme valuation.

– maxL (resp. minG) qui est la valeur maximum de C plus petite que C(u) (resp. la valeur minimum de C plus grande que C(u)) dans le voisinage direct de σ(u).

3: Assigner `a tous les sommets de σ(u) diff´erentes valeurs dans l’intervalle ]maxL, minG[ si minG 6= maxL, sinon dans l’intervalle [1, |σ(u)|].

4: Marquer tous les sommets v ∈ σ(u) comme visit´es.

5: R´ep´eter l’´etape 2 jusqu’`a ce que tous les sommets aient ´et´e visit´es.

Une fois cette ´etape effectu´ee, nous pouvons alors calculer les enveloppes associ´ees `a chaque sous-graphe. Comme nous avons besoin de pouvoir moduler pr´ecis´ement leurs lar-geurs, notre solution pour les g´en´erer est bas´ee sur du clipping de polygones et fonctionne dans l’espace topologique. L’id´ee est de calculer l’union de polygones construits `a partir de la position des sommets et des arˆetes du sous-graphe `a mettre en exergue. Le polygone associ´e `a un sommet peut ˆetre par exemple un cercle dont le centre est la position du som-met et le rayon est d´efini par la boite englobante du somsom-met ainsi que la largeur d´esir´ee de l’enveloppe. Le polygone associ´e `a une arˆete consiste en l’extrusion de la ligne bris´ee la repr´esentant param´etr´ee par la largeur d´esir´ee de l’enveloppe. Pour calculer l’union de tous ces polygones, nous utilisons la biblioth`eque Clipper [108] : une impl´ementation efficace de l’algorithme de clipping de polygones mis au point par Vatti [185]. Des illustrations de ce processus de g´en´eration d’enveloppe sont pr´esent´ees `a la Figure7.6.

Comparaison avec l’autre m´ethode de g´en´eration d’enveloppes La Figure 7.7

pr´esente une comparaison des r´esultats obtenus en appliquant les deux m´ethodes de g´en´e-ration d’enveloppes concaves pour visualiser le r´esultat d’une d´ecomposition chevauchante

(a) (b) (c) (d)

Figure 7.6: Illustration du processus g´en´erant une enveloppe concave pour entourer le dessin d’un sous-graphe. (a) Sous-graphe `a mettre en exergue. (b) L’ensemble de polygones dont l’union doit ˆetre calcul´ee. Les cercles rouges sont les polygones calcu-l´es `a partir de la position des sommets, les quadrilat`eres bleus sont ceux calcul´es `a partir de la position des arˆetes. (c) Illustration d’une ´etape interm´ediaire du proces-sus d’union des polygones. Le polygone vert correspond `a l’union d´ej`a calcul´ee. Les polygones bleus sont ceux restants `a traiter. (d) Enveloppe concave r´esultante.

sur un graphe d’exemple. Dans la Figure 7.7(a), les enveloppes ont ´et´e calcul´ees en uti-lisant la m´ethode travaillant dans l’espace image de la visualisation (voir section 7.2.1). Dans la Figure 7.7(b), les enveloppes ont ´et´e g´en´er´ees avec la m´ethode travaillant dans l’espace topologique introduite dans la section courante. On observe qu’avec la premi`ere m´ethode, il est difficile d’identifier pr´ecis´ement chaque sous-graphe de la d´ecomposition. Le probl`eme vient du fait que certaines fronti`eres d’enveloppes sont parfois confondues. Ce probl`eme n’apparaˆıt pas avec la seconde m´ethode car la largeur de chaque enveloppe a pu ˆetre modul´ee pr´ecis´ement afin qu’elles soient toutes clairement distinguables les unes des autres.

Exemples d’application Nous pr´esentons ici deux exemples d’application de cette m´e-thode de g´en´eration d’enveloppes concaves pour la visualisation d’une d´ecomposition che-vauchante de graphe.

Le premier exemple consiste en la visualisation d’une d´ecomposition chevauchante du r´eseau de co-occurence Les Mis´erables [117]. Les sommets de ce graphe repr´esente l’ensemble des personnages de l’œuvre de Victor Hugo. Une arˆete relie deux personnages si ils apparaissent dans le mˆeme chapitre du livre. La d´ecomposition a ´et´e calcul´ee `a l’aide de l’algorithmeLink Communities [3]. Cet algorithme ne produit pas uniquement des sous-graphes hautement connect´es comme le font beaucoup d’algorithmes de fragmentation de graphe. Ces sous-graphes peuvent ˆetre class´es en trois cat´egories :

(a) (b)

Figure 7.7: Comparaison entre les deux techniques de g´en´eration d’enveloppes

concaves pour la visualisation d’une d´ecomposition de graphe chevauchante : (a) enveloppes g´en´er´ees depuis l’espace image, (b) enveloppes g´en´er´ees depuis l’espace topologique. On observe que dans (a), il est difficile d’identifier pr´ecis´ement chaque sous-graphe, les fronti`eres de certaines enveloppes ´etant parfois confondues. Ce pro-bl`eme n’apparaˆıt pas dans (b) car la largeur de chaque enveloppe a pu ˆetre pr´ecis´ement modul´ee afin qu’elles soient toutes clairement distinguables.

nombre de connexions entre eux.

• Sous-graphe biparti : sous-ensemble de sommets reliant des sous-graphes haute-ment connect´es.

• Sous-graphe arborescent : sous-ensemble de sommets formant un arbre, pouvant ´egalement relier des sous-graphes hautement connect´es.

Avec notre m´ethode, nous pouvons visualiser cette classification en assignant `a chaque enveloppe une couleur associ´ee `a la cat´egorie du sous-graphe qu’elle entoure. Le r´esultat est pr´esent´e `a la Figure7.8. A l’´echelle globale de la visualisation (voir Figure7.8(a)), on peut observer de petits sous-graphes qui s’intersecte avec de plus grands. Les diff´erents sous-graphes hautement connect´es (en bleu) ou les sous-graphes arborescents (en vert) sont clairement identifiables. On peut voir par exemple que chaque sommet appartient au plus `a un sous-graphe hautement connect´e. Le centre du dessin dans la Figure7.8(a)

est plus complexe `a visualiser. Il contient plusieurs sommets de fort degr´e appartenant `a des sous-graphes bipartis (en rouge). Une vue d´etaill´ee de cette zonz est pr´esent´ee `a la Figure 7.8(b). Rappelons que les sous-graphes partageant des sommets sont repr´esent´es avec des enveloppes de largeur diff´erente. Les diff´erentes cat´egories de sous-graphes auquel appartient un sommet sont donc clairement identifiables. Par exemple on peut observer que

les sommets ”Valjean” et ”Javert” appartiennent chacun `a quatre sous-graphes bipartis : ils jouent donc un important rˆole de m´ediateur dans le r´eseau. On peut ´egalement voir que ”MmeThenardier” est contenu dans les mˆemes groupes que ”Thenardier”, son mari dans le livre.

Le second exemple, pr´esent´e `a la Figure 7.9, montre le r´eseau m´etabolique de l’orga-nisme Saccharomyces cerevisiae (levure) dessin´e avec notre m´ethode [124] d´etaill´ee dans la section 4.3. L’ensemble des voies m´etaboliques de ce r´eseau ont ´et´e mis en exergue avec notre m´ethode. Ce r´eseau contenait `a la base 836 sommets et 936 arˆetes r´epartis sur 164 voies m´etaboliques. Les ´el´ements appartenant `a plus de trois voies m´etaboliques ont ´et´e dupliqu´es, r´esultant en un r´eseau de 1360 sommets et 1340 arˆetes. L’int´erˆet de notre m´ethode de visualisation de sous-graphes sur ce r´eseau est qu’un grand nombre de m´etabolites/r´eactions ainsi que les arˆetes les connectant sont partag´es par plusieurs voies. On peut observer dans la vue d´etaill´ee de la Figure 7.9que chaque voie et leurs ´el´ements communs peuvent ˆetre clairement identifi´es.