为什么我们不能仅通过添加一个常数使所有权重为正来找到负权重的最短路径?


12

我目前正在阅读算法的介绍,并由Johnson的算法得出,该算法取决于确保所有路径都是正的。

该算法取决于找到一个新的权重函数(w'),该权重函数对所有边都是正值,并保持最短路径关系的正确性。

通过计算要添加到w原始值的h(s),h(d)值来实现。

我的问题是,为什么不仅仅在图中找到最小的w并将其添加到所有边上?这将同时满足这两个条件,并且需要较少的计算。


2
您是否尝试证明您的主张或找到反例?提示:您的直觉是错误的。(社区,我非常确定这是重复的。您能找到它吗?)
拉斐尔

@Raphael我也很确定这也是一个骗子,但我认为回答这个问题要比找到那个骗子要快。
David Richerby

@Raphael对不起,因为我无法以无法搜索的特定格式来表达我的问题。
Mr.Me

1
我们确实有一个已经解释了这个问题的问题,但是它被标记为另一个非常令人困惑且难以理解的问题的重复,并且将多个不同的问题混合在一起。因此,我认为这个问题比我们以前拥有的有价值。如果您愿意,我想我们可以重新定位目标对象(将它们作为目标对象的副本关闭,而不是当前指向的对象)。
DW

Answers:


23

向每个边缘添加权重比长路径为长路径增加权重。(就很多边缘而言,这很长。)

-2一个b31个256


0

将每个边缘权重增加相同的量并不一定会使每个路径增加相同的距离。相反,路径的增加通常是不成比例的,这取决于路径具有多少个边。


2
在另一个答案中已经提到了这种效果。
Yuval Filmus

我只是把它改写到混乱的地步。
Pendechosen
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.