• Aucun résultat trouvé

Des métriques topologiques

Dans le document The DART-Europe E-theses Portal (Page 52-55)

2.4 Mesures sur un graphe

2.4.1 Des métriques topologiques

La gure 2.7 présente une application de métriques suivantes à un graphe de manière visuelle.

Le degré

Le degré, qui a déjà été déni plus tôt (voir partie 2.1.1), est la métrique topologique la plus simple. Il associe à chaque sommet le nombre de voisins qu'il a. Cela revient aussi à compter le nombre d'arêtes incidentes à chaque sommet (les boucles n'étant comptées qu'une seule fois).

Contrairement aux métriques suivantes, aucun calcul particulier n'est eectué pour obtenir cette métrique. Cette métrique prend des valeurs entières entre 0 (pour un sommet isolé) et+∞.

Le coecient de clustering

Comme nous l'avons vu dans le paragraphe 2.1.3, un cluster est un groupe de sommets très fortement connecté entre eux et avec peu de connexion avec le reste du graphe. Le but du coe-cient de clustering est de mesurer si un sommet appartient à un tel cluster ou non. La moyenne de ce coecient sur l'ensemble du graphe indique si le graphe est globalement constitué de cluster ou non.

La méthode de calcul consiste à considérer pour chaque sommet sla part de ses voisins qui

sont connectés entre eux.

Algorithme 6: Calcul du coecient de clustering Données : Graphe graphe : Le graphe

Données : Sommet s : Le sommet pour lequel le coecient de clustering est calculé Résultat : Scalaire c : Le coecient de clustering de s

début

nombrePaire ← 0;

c ← 0;

pour tous les Paire de sommet (a, b) : Paires issues de graphe.voisins(s) faire si graphe.existeArête(a, b) alors

Cette métrique a donc une complexité brute en 0(n3). Cette borne est atteinte lors du calcul du coecient de clustering d'une clique. Cependant, dans la majorité des cas, le temps de calcul est presque linéaire par rapport au nombre de sommets. Par exemple, avec l'hypothèse d'un degré borné, la complexité passe en 0(n∗d2).

La centralité (Betweenness centrality)

La centralité, plus couramment nommée betweenness centrality , le terme anglais dédié, permet de déterminer si un sommet est sur de nombreux plus court chemin ou pas. Pour cela, tous les plus courts chemins entre toutes les paires de sommets du graphe sont calculés. Des compteurs sont placés sur chaque sommet et sont incrémentés lorsqu'un sommet est sur un plus court chemin. Le résultat de la mesure correspond à la valeur de chacun de ses compteurs divisés par le nombre de plus courts chemins sur l'ensemble du graphe.

Avec n le nombre de sommet du graphe, il y a n(n−1)

2 paires de sommets dans le graphe.

Si le graphe est connexe, il y a donc au moins n(n−1))

2 plus courts chemins. Il peut y en avoir plus, car deux sommets peuvent être reliés par plusieurs chemins diérents de même longueur.

D'un point de vue algorithmique, cette métrique s'appuie sur un parcours en largeur du graphe. Ce parcours est modié an de permettre d'arriver sur un sommet par plusieurs chemin de même longueur. Cela permet de compter le nombre de plus court chemin et d'obtenir la liste des prédécesseurs de chaque sommets durant ce parcours. Il sut d'utiliser un marquage des som-mets explorés à l'aide d'un nombre entier correspondant à la longueur du chemin entre la source du parcours et le sommet courant (et -1 pour un sommet pas encore exploré). Cette méthode est appelée parcoursLargeurMultiChemin et renvoit un triplet correspondant à l'ordre de visite des sommets, le nombre de plus courts les reliant à la source et leurs listes de prédécesseurs respectifs.

Le calcul de la centralité se déroule ensuite de la manière suivante :

Algorithme 7: Calcul de la centralité

Argument : Graphe graphe : Le graphe sur lequel est calculé la centralité

Résultat : Tableau de scalaires résultat : La valeur de la centralité pour chaque sommet début

résultat.initialiserValeurs(0)

accumulateur← Tableau de scalaires indéxés par les sommets pour tous les Sommet s : Sommets de graphe faire

(ordreParcoursInverse, nombreChemins, prédécesseurs)

,→ ← parcoursLargeurMultiChemin(graphe, s)

// s est toujours le dernier sommet de ordreParcoursInverse accumulateur.initialiserValeurs(0 )

pour tous les Sommet v : ordreParcoursInverse faire pour tous les Sommet pred : prédécesseurs[v] faire

accumulateur[pred]← accumulateur[pred] + ,→ nombreChemins[pred]

nombreChemins[v] * ( 1 + accumulateur[v] )

/* On ajoute à ses prédécesseurs la prise en compte des chemins

aboutissants au sommet v */

si v 6= s alors

résultat[v]← résultat[v] + accumulateur[v]

/* Tous les chemins aboutissant ou passant par v et partant de s ont été pris en compte, on l'ajoute donc au résultat */

retourner résultat

Le coût d'un parcours en profondeur étant linéaire en fonction de la taille du graphe, la com-plexité de cette métrique est enO(n2)toujours avecnle nombre de sommet du graphe. Brandes a fourni une approximation plus précise de la compléxité en O(nm) dans son article publié en 2001 [16]. Cette métrique prend des valeurs entre 0 et 1. Au niveau de son interprétation, plus la betweenness centrality d'un sommet est haute, plus ce sommet aura une place importante sur les grandes routes du graphe. Dans le cas d'un graphe en cluster, cela correspondra généralement aux sommets ponts qui relient les diérents clusters entre eux. À l'opposé les sommets ayant une centralité basse sont relativement isolés ou peu importants et leur suppression n'aura que peu d'impact sur la structure du graphe.

Le degré de proximité

La dernière métrique topologique utilisée dans le cadre de cette thèse est le degré de proxim-ité, nommé généralement closeness centrality, dans sa version proposée par Dangalchev en 2006 [21]. L'objectif est d'obtenir une estimation de la distance moyenne de chaque noeud au reste du graphe. Pour cela, pour chaque sommets, la somme des distances à tous les autres sommets est eectuée, puis le résultat est divisé par le nombre de sommet an de normaliser le résultat. La version proposée par Dangalchev permet une meilleure adaptation aux graphes qui manquent de connectivité. Pour cela il remplace le terme de la somme par2−d(s,u) avecd(s,u)la distance entre les sommetssetu. Ainsi, les sommets non connectés, et qui sont donc séparés par une distance innie ne sont pas problématiques. Il propose une normalisation plus complexe de cette mesure de proximité (au lieu de simplement divisé le résultat par le nombre de sommets du graphe).

Toutefois, cette dernière n'est pas utilisée dans le cadre de cette thèse.

Le calcul de cette métrique se fait très simplement en réalisant un parcours en largeur depuis chaque sommet. Cela permet d'obtenir la distance entre un sommet et les autres sommets du graphe. La somme est réalisée au fur et à mesure du parcours. La complexité de cette métrique est donc enO(n2)

Dans le document The DART-Europe E-theses Portal (Page 52-55)