边缘权重的Shortest_Path解释

时间:2019-08-16 15:10:17

标签: networkx

如果我使用networkx来计算最短路径的长度,则为:

path_length = nx.shortest_path_length(G, source = origin, target = destination, weight = 'distance') 

networkx如何知道将edge属性解释为距离或权重?

The documentation表示可以接受,但未指定如何解释属性。

在重量的情况下,我希望较高的值是首选。通过权重最高的边缘的最短路径。

在有距离的情况下,我希望使用较小的值以最小化总距离。

我在概念上缺少什么吗?

我得到的结果与我对距离的期望一致,但是我在文档中找不到任何可以澄清这一点的信息感到不舒服。

1 个答案:

答案 0 :(得分:1)

从文档中:

  

weight(无或字符串,可选(默认=无))–如果为None,则每   边具有权重/距离/成本1.如果是字符串,请使用此边属性   作为边缘重量。任何不存在的edge属性默认为1。

所以无论是距离还是重量,目标都是最小化。通常,诸如 profit / utility 之类的词是指最大化,而 weight / distance / cost (权重/距离/成本)则是指最小化,而诸如 fitness 之类的其他词都可以使用。