如果我们想确定该图的两个节点之间的最短路径,为什么定向加权图不能包含负权重周期?
答案 0 :(得分:2)
因为负循环会以下列方式影响路径权重:
a----------b-----------c---------------d
2 | 2 | 4
| |
| -3 | -3
| |
e-----------f
2
首次尝试寻找路径:
a->b->c->d cost = 8
现在让我们进入循环:
a->b->c->f->e->b->c->d cost = 8 + (-2)
两个人的价格便宜,但我们可以做得更好:
a->b->c->(f->e->b->c)^i->d cost = 8 + (-2) ^ i
显而易见的问题:每次循环都会使路径变得更便宜,我们最终会以无限循环结束。
但这并不适用于所有路径寻找算法。例如,Bellman-Ford-algorithm能够处理负边缘,效率较低。
答案 1 :(得分:1)
因为如果确实如此,最短路径可以是 -inf 。
想象一下这个例子,你想要计算A和D之间的最短路径。可能你想要它是A - B - D,6步。但是你可以根据需要多次循环B-C-B循环。然后,最短路径是A - B - C - B - C - ... - B - C - B - D.
答案 2 :(得分:0)
因为如果有这样的循环,对于每条"最短的路径"你可能会想,我可以通过简单地再次遍历这个负面循环来选择更好的一个。这肯定会降低总体路径成本,因为假设这个周期具有负权重。
答案 3 :(得分:0)
因为“最短”实际上意味着“最低成本/重量”路径。
通过使负负值循环,可以使用它来使任意路径(包含此循环)的权重任意低。