删除 igraph 中的最大派系

Remove maximal cliques in igraph

我有一个断开的无向网络。 我想识别并删除所有属于派系的组件。 我不想删除所有派系,只是那些本身就是网络组成部分的派系。

我应该如何进行?

library(igraph)
g <- graph_from_literal(a-b-c-d-b,e-f-g-e,h-i-l)
result <- graph_from_literal(a-b-c-d-b,h-i-l)

一种解决方案如下,但我不知道这在大型网络中的效率如何。

d <- graph_from_literal(a-b-c-d-b,e-f-g-e,h-i-l)
d0 <- decompose.graph(d)
d1 <- disjoint_union(d0[unlist(lapply(d0, function(x) count_max_cliques(x)!=1))])