如何在图表中找到顶点的三角形数?
假设我有一张图g
。我可以使用这个命令计算每个顶点的度数
g.vs.degree()
它将返回一个数字列表。是否有任何类似的方法来计算将返回列表的三角形的数量?
以前我可以用Gephi计算,但现在我转移到igraph。
更新1
使用cliques
,我会得到类似的东西
import igraph as ig
g = ig.Graph.Famous('Krackhardt_Kite')
g.cliques(min=3,max=3)
[(0, 1, 3),
(0, 2, 3),
(0, 2, 5),
(0, 3, 5),
(1, 3, 4),
(1, 3, 6),
(1, 4, 6),
(2, 3, 5),
(3, 4, 6),
(3, 5, 6),
(5, 6, 7)]
所以三角形的数量应该像这样返回(基于Gephi)
[4,4,3,8,3,5,5,1,0]
igraph还提供这些函数来计算三角形的数量吗?
答案 0 :(得分:2)
可能效率不高,但这可行:
'config.requestTimestamp'
另一种不使用def triangles(g):
cliques = g.cliques(min=3, max=3)
result = [0] * g.vcount()
for i, j, k in cliques:
result[i] += 1
result[j] += 1
result[k] += 1
return result
的变体:
cliques()
我还没有完成任何基准测试,因此这个基准测试可能比前一个更快或更慢 - 我不知道。