Python Networkx:多次切割的电导计算

时间:2019-05-28 11:11:52

标签: graph networkx partitioning

我想计算三个分区S',S''和S'''的电导,以得出图G上的多个切口。

但是,如https://networkx.github.io/documentation/latest/reference/algorithms/generated/networkx.algorithms.cuts.conductance.html

所述,networkx电导函数在给定两个分区S'和S''的情况下计算电导

还在Wikipedia中,为两个给定分区定义了电导:https://en.wikipedia.org/wiki/Conductance_(graph)

此时的问题是:如何计算不具有两个分区S'和S''而是三个带有S'''的电导?

一个想法是对提名者进行成对计算:

\sum_{i \in S', j \in S''} a_{ij} + \sum_{i \in S', k \in S'''} a_{ik} + \sum_{j \in S'', k \in S'''} a_{jk} 

,并在分母中包含a(S''')。但是我不确定这种方法是否那么简单。基本上,这只是计算每个分区之间的成对连接之和。

最诚挚的问候

1 个答案:

答案 0 :(得分:0)

根据维基百科

  

整个图形的电导率是所有可能削减的https://en.wikipedia.org/wiki/Conductance_(graph)

的最小电导率

所以,据我所知,您可以像这样计算它

score = min(nx.conductance(g, cluster_i, weight='weight')
            for cluster_i in clusters_list)