首页 > 解决方案 > 计算二分网络x图中的正方形数量

问题描述

我有一个二分网络,我想计算网络中的正方形数量,例如:

import networkx as nx
B=nx.Graph()
B=nx.bipartite.random_graph(100, 100, .05) 

我知道 networkx 有一个内置的方法来计算平方聚类系数(封闭 4 路径与开放 3 路径的份额),但我想简单地计算封闭 4 路径的数量。有人能想出一个使用内置函数的好技巧吗?

标签: pythonnetworkx

解决方案


我认为您可以简单地调整代码nx.square_clustering,如下所示。如果需要,将其包装成一个函数

v = 0 # or any other node
clustering = 0
potential = 0
for u, w in combinations(B[v], 2):
    squares = len((set(B[u]) & set(B[w])) - {v})
    clustering += squares

推荐阅读