Модифицированный кратчайший путь с использованием алгоритма Дейкстры или Беллмана – Форда - PullRequest
3 голосов
/ 25 декабря 2010

Как мы можем использовать алгоритм Дейкстры или Беллмана-Форда, чтобы найти кратчайший путь в графе, на некоторые ребра которого влияют, если мы пойдем по конкретным вершинам.Таким образом, длина затронутого края будет больше или меньше исходной длины.

1 Ответ

1 голос
/ 27 декабря 2010

Если я правильно понимаю, вы хотите изменить стоимость ребра на графике в зависимости от узлов, которые посещаются на вашем текущем пути.Пример из комментариев:

"Edge AB имеет длину 3, но если вы также посетите узел C, длина AB будет 5"

Теперь, похоже, нетпуть для чего-то вроде алгоритма Джикстры, поскольку в этом алгоритме есть жадный шаг, который выбирает «лучший» узел на каждом этапе.Представление о том, что «лучший» узел в этой точке может измениться в более позднее время (из-за правила, такого как выше), нарушает концепцию жадного подхода, который предполагает, что мы эффективно посещаем узлы в порядке от наилучшей до худшей стоимости.Я не уверен, что это NP сложный, как предполагалось, но он, конечно, не может использовать подход Dijikstra с самого начала.+1 за проблему, хотя.

...