Distanțe între vârfuri
Interconectivitatea unei rețele poate fi evaluată analizând numărul și lungimea căilor dintre vârfuri. O cale reprezintă pur și simplu lanțul de conexiuni dintre vârfuri. Numărul de muchii intermediare dintre două vârfuri reprezintă distanța geodezică dintre ele. Vârfurile conectate direct au o distanță geodezică de 1. Cele care au un vecin comun, dar nu sunt conectate direct, au o distanță geodezică de 2 și tot așa. În rețelele direcționate, direcția muchiilor poate fi luată în considerare. Dacă două vârfuri nu pot fi atinse urmând muchii direcționate, li se atribuie o distanță geodezică infinită. În acest exercițiu vei învăța cum să găsești cele mai lungi căi dintre vârfuri într-o rețea și cum să identifici vârfurile aflate în cel mult \(n\) conexiuni față de un vârf dat. Pentru rețele de transmitere a bolilor, cum este setul de date despre rujeolă, acest lucru te ajută să înțelegi cât de repede se răspândește boala prin rețea.
Acest exercițiu face parte din cursul
Analiza rețelelor în R
Instrucțiuni pentru exercițiu
- Găsește lungimea celui mai lung drum din rețea folosind
farthest_vertices(). - Identifică secvența drumului folosind
get_diameter(). Aceasta ilustrează copiii care au transmis boala cel mai departe prin rețea. - Folosește
ego()pentru a găsi toate vârfurile accesibile în cel mult 2 conexiuni față de vârful 42, precum și pe cele care pot ajunge la vârful 42 în cel mult două conexiuni. Primul argument al funcțieiego()este obiectul graf, al doilea este numărul maxim de conexiuni dintre vârfuri, al treilea este vârful de interes, iar al patrulea argument determină dacă iei în considerare conexiunile care ies din sau intră în vârful de interes.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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('___'))