CommencezCommencez gratuitement

Distances entre sommets

On peut évaluer l'interconnectivité d'un réseau en examinant le nombre et la longueur des chemins entre les sommets. Un chemin est simplement la chaîne de connexions entre des sommets. Le nombre d'arêtes intermédiaires entre deux sommets représente la distance géodésique entre ces sommets. Les sommets reliés directement ont une distance géodésique de 1. Ceux qui partagent un voisin commun sans être reliés directement ont une distance géodésique de 2, et ainsi de suite. Dans les réseaux orientés, on peut tenir compte du sens des arêtes. Si l'on ne peut pas atteindre deux sommets en suivant les arêtes orientées, on leur attribue une distance géodésique infinie. Dans cet exercice, vous apprendrez à trouver les plus longs chemins entre des sommets dans un réseau et à déterminer quels sommets se trouvent à n connexions d'un sommet donné. Pour les réseaux de transmission de maladies, comme l'ensemble de données sur la rougeole, cela vous aide à repérer à quelle vitesse la maladie se propage dans le réseau.

Cette activité fait partie du cours

Analyse de réseaux avec R

Voir le cours

Instructions de l’exercice

  • Trouvez la longueur du plus long chemin dans le réseau avec farthest_vertices().
  • Identifiez la séquence du chemin à l'aide de get_diameter(). Cela montre quels enfants ont transmis la maladie le plus loin dans le réseau.
  • Utilisez ego() pour trouver tous les sommets atteignables en au plus 2 connexions à partir du sommet 42, puis ceux qui peuvent atteindre le sommet 42 en au plus deux connexions. Le premier argument de ego() est l'objet graphe, le deuxième est le nombre maximal de connexions entre les sommets, le troisième est le sommet d'intérêt, et le quatrième précise si vous considérez les connexions qui sortent du sommet d'intérêt ou celles qui y entrent.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

library(igraph)

# Which two vertices are the furthest apart in the graph ?
___(g) 

# Shows the path sequence between two furthest apart vertices.
___(g)  

# Identify vertices that are reachable within two connections from vertex 42
___(g, ___, '42', mode = c('___'))

# Identify vertices that can reach vertex 42 within two connections
___(g, ___, '42', mode = c('___'))
Modifier et exécuter le code