Управление стоимостью ребер отрицательно взвешенного орграфа, позволяющее использовать алгоритм Дейкстры

Предположим, у нас есть орграф, содержащий ребра как с положительным, так и с отрицательным весом.

Я понимаю, что решение кратчайшего пути — это алгоритм Беллмана-Форда.

Мой вопрос: почему мы не можем просто добавить какое-то большое значение N ко всем затратам ребер, чтобы больше не было отрицательных ребер, а затем использовать гораздо более эффективный алгоритм Дейкстры?


person Dylan Fouche    schedule 05.06.2018    source источник


Ответы (1)


Добавление константы к длине каждого ребра не является монотонным для длин путей, даже для путей между одними и теми же двумя узлами (поскольку пути могут различаться по количеству ребер). Рассмотрим граф с ребрами ab, bc и ac веса -1. Добавление N=2 переключает кратчайший путь с a на c с ab,bc на ac.

person asp    schedule 06.06.2018