Inizia subitoInizia gratis

Distanze tra vertici

L’interconnettività di una rete può essere valutata esaminando numero e lunghezza dei cammini tra i vertici. Un cammino è semplicemente la catena di connessioni tra vertici. Il numero di archi intermedi tra due vertici rappresenta la distanza geodetica tra i vertici. I vertici collegati direttamente tra loro hanno distanza geodetica pari a 1. Quelli che condividono un vicino in comune ma non sono collegati direttamente hanno distanza geodetica pari a 2, e così via. Nelle reti dirette si può tenere conto della direzione degli archi. Se due vertici non possono essere raggiunti seguendo gli archi diretti, si assegna loro una distanza geodetica infinita. In questo esercizio imparerai a trovare i cammini più lunghi tra vertici in una rete e a individuare quei vertici che si trovano entro \(n\) connessioni da un dato vertice. Per reti di trasmissione di malattie, come il dataset sul morbillo, questo ti aiuta a capire con quanta rapidità la malattia si diffonde attraverso la rete.

Questo esercizio fa parte del corso

Analisi delle reti in R

Visualizza corso

Istruzioni dell'esercizio

  • Trova la lunghezza del cammino più lungo nella rete usando farthest_vertices().
  • Identifica la sequenza del cammino usando get_diameter(). Questo mostra i singoli bambini che hanno trasmesso la malattia più lontano nella rete.
  • Usa ego() per trovare tutti i vertici raggiungibili entro 2 connessioni dal vertice 42 e poi quelli che possono raggiungere il vertice 42 entro due connessioni. Il primo argomento di ego() è l’oggetto grafo, il secondo è il numero massimo di connessioni tra i vertici, il terzo è il vertice di interesse e il quarto determina se stai considerando le connessioni in uscita o in entrata rispetto al vertice di interesse.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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('___'))
Modifica ed esegui il codice