基于边的图论距离度量和其他度量 attributes/weight

Graph theory distance measures and other metrics based on edge attributes/weight

我正在构建一个以城市为节点的图表,边是连接这些节点的主要高速公路。

我的边属性是高速公路的长度和估计从起点到终点节点所需的时间。

NetworkX 具有计算距离度量的算法,例如直径(距离最远的节点之间的最短路径)、偏心率(从一个节点到所有其他节点的最大距离)和半径(整个网络的最大偏心率)。

是否可以使用我上传到我的网络的边缘属性(例如以英里为单位的距离和以分钟为单位的时间)来计算这些指标?

您可以计算图中所有最短加权路径的矩阵:

shortest1 = shortest_path_length(G, weight="distance")

您现在可以使用以下方法计算图形的偏心率:

ecc = eccentricity(G, sp=shortest2)

最后可以用偏心率计算直径等:

diam = diameter(G, e=ecc)

请注意,shortest_path_length 返回的最短路径和 eccentricity 期望的最短路径具有不同的结构((节点,字典)元组列表与字典字典)。您可以使用 shortest2 = dict(shortest1).

将一个转换为另一个