Відстані між вершинами
Взаємозв'язність мережі можна оцінювати, аналізуючи кількість і довжину шляхів між вершинами. Шлях — це просто ланцюжок зв'язків між вершинами. Кількість проміжних ребер між двома вершинами визначає геодезичну відстань між ними. Вершини, безпосередньо з'єднані одна з одною, мають геодезичну відстань 1. Ті, що мають спільного сусіда, але не з'єднані між собою, мають геодезичну відстань 2 і так далі. В орієнтованих мережах можна враховувати напрям ребер. Якщо дві вершини неможливо досягти, рухаючись за напрямами ребер, їхня геодезична відстань вважається нескінченною. У цій вправі ви навчитеся знаходити найдовші шляхи між вершинами в мережі та визначати вершини, що лежать у межах \(n\) зв'язків від заданої вершини. Для мереж передавання хвороб, як-от набір даних про кір, це допомагає з'ясувати, як швидко хвороба поширюється мережею.
Ця вправа є частиною курсу
Аналіз мереж у R
Інструкції до вправи
- Знайдіть довжину найдовшого шляху в мережі за допомогою
farthest_vertices(). - Визначте послідовність вершин на цьому шляху за допомогою
get_diameter(). Це показує окремих дітей, які передали хворобу найдалі мережею. - Використайте
ego(), щоб знайти всі вершини, яких можна досягти в межах 2 зв'язків від вершини 42, а потім — ті, що можуть досягти вершини 42 у межах двох зв'язків. Перший аргументego()— об'єкт графа, другий — максимальна кількість зв'язків між вершинами, третій — вершина, що нас цікавить, а четвертий визначає, чи враховуєте ви зв'язки, що виходять із цієї вершини, чи ті, що входять до неї.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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('___'))