barycenter#

barycenter(G, weight=None, attr=None, sp=None)[source]#

计算连通图的重心,可选地考虑边权重。

重心 是一个 连通\(G\) 的子图,由其节点 \(v\) 组成的集合诱导,最小化目标函数

\[\sum_{u \in V(G)} d_G(u, v),\]

其中 \(d_G\) 是(可能加权的):func:路径长度 。 重心也称为 中位数 。参见 [West01],第 78 页。

Parameters:
Gnetworkx.Graph

连通图 \(G\)

weightstr , 可选

传递给 shortest_path_length()

attrstr , 可选

如果给定,将目标函数的值写入每个节点的 attr 属性。否则不存储该值。

spdict of dicts, 可选

所有对最短路径长度作为字典的字典

Returns:
list

G 的节点,诱导 G 的重心。

Raises:
NetworkXNoPath

如果 G 是不连通的。 G 可能对 barycenter() 显示为不连通,如果 sp 给定但缺少任何对的最短路径长度。

ValueError

如果 spweight 同时给定。

See also

center
periphery

Examples

>>> G = nx.Graph([(1, 2), (1, 3), (1, 4), (3, 4), (3, 5), (4, 5)])
>>> nx.barycenter(G)
[1, 3, 4]