如果您从 R 中使用 igraph,请使用此选项
is_min_separator {igraph} | R 文档 |
检查给定的顶点集合是否为最小顶点分隔符。
is_min_separator(graph, candidate)
图 |
输入图。 它可以是有向图,但边缘方向将被忽略。 |
candidate |
一个数值向量,给出候选分隔符的顶点 ID。 |
is_min_separator
决定提供的顶点集合是否为最小顶点分隔符。最小顶点分隔符是一个顶点分隔符,其任何子集都不是顶点分隔符。
在具有 n
个顶点的完全连通图的特殊情况下,每个 n-1
个顶点的集合都被认为是顶点分隔符。
一个逻辑标量,指示提供的顶点集合是否为(最小)顶点分隔符。
min_separators
列出所有最小尺寸的顶点分隔符。
# The graph from the Moody-White paper
mw <- graph_from_literal(1-2:3:4:5:6, 2-3:4:5:7, 3-4:6:7, 4-5:6:7,
5-6:7:21, 6-7, 7-8:11:14:19, 8-9:11:14, 9-10,
10-12:13, 11-12:14, 12-16, 13-16, 14-15, 15-16,
17-18:19:20, 18-20:21, 19-20:22:23, 20-21,
21-22:23, 22-23)
# Cohesive subgraphs
mw1 <- induced_subgraph(mw, as.character(c(1:7, 17:23)))
mw2 <- induced_subgraph(mw, as.character(7:16))
mw3 <- induced_subgraph(mw, as.character(17:23))
mw4 <- induced_subgraph(mw, as.character(c(7,8,11,14)))
mw5 <- induced_subgraph(mw, as.character(1:7))
check.sep <- function(G) {
sep <- min_separators(G)
sapply(sep, is_min_separator, graph=G)
}
check.sep(mw)
check.sep(mw1)
check.sep(mw2)
check.sep(mw3)
check.sep(mw4)
check.sep(mw5)