Как получить «края сочленения» в igraph? - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь определить ребра между точками сочленения, используя igraph (и тидиграф) и его функцию articulation_points. Другими словами, я ищу ребра в моем графике, которые, если разрезать, разделят график на две части. Моим первым предположением было то, что все, что мне нужно было сделать, это отфильтровать ребра до тех, где вершины from и to были точками сочленения. К сожалению, я быстро обнаружил, что этого недостаточно, поскольку этот подход помечает края, которые не будут разбивать сеть, если они будут обрезаны, когда они находятся рядом друг с другом. Есть ли другой путь к этому списку «края артикуляции»?

Вот мои (неправильные) логи c.

mygraph %N>%
  mutate(apoint = name %in% as.character(igraph::articulation_points(.G()))) %E>%
  mutate(aedge = .N()$apoint[from] & .N()$apoint[to])

Я попытаюсь найти минимальную сеть, которая имеет свойство терпеть неудачу с этой логикой c. Оставайтесь с нами.

1 Ответ

1 голос
/ 24 марта 2020

Такие ребра называются "мостами". Поиск мостов реализован в C ядре из igraph, но не (пока) в интерфейсе R, я боюсь. Возможно, он будет включен в новую версию.

Кстати, есть и новый форум поддержки для igraph: https://igraph.discourse.group/

...