ПочатиПочніть безкоштовно

Відстані між вершинами

Взаємозв'язність мережі можна оцінювати, аналізуючи кількість і довжину шляхів між вершинами. Шлях — це просто ланцюжок зв'язків між вершинами. Кількість проміжних ребер між двома вершинами визначає геодезичну відстань між ними. Вершини, безпосередньо з'єднані одна з одною, мають геодезичну відстань 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('___'))
Редагувати та запускати код