我正在尝试使用igraph(和tidygraph)及其功能articulation_points
来识别关节之间的边缘。换句话说,我正在寻找图形中的边缘,如果将其剪切,则会将图形分成两部分。我的第一个猜测是,我要做的就是将边缘过滤为from
和to
顶点均为关节点的边缘。不幸的是,我很快发现这是不够的,因为这种方法标记了边缘,如果边缘彼此相邻,这些边缘将在切割时不会分裂网络。是否有通往该“发音边缘”列表的另一条路线?
这是我的(不正确的)逻辑。
mygraph %N>%
mutate(apoint = name %in% as.character(igraph::articulation_points(.G()))) %E>%
mutate(aedge = .N()$apoint[from] & .N()$apoint[to])
我将尝试提出一个最小的网络,该网络具有无法通过此逻辑进行操作的特性。请继续关注。
这种边缘称为“桥”。查找桥接器是在C core的igraph
中实现的,但恐怕还没有在R接口中实现。也许它将包含在新版本中。
顺便说一下,igraph
还有一个新的支持论坛:https://igraph.discourse.group/