Кратчайшие пути и релаксацияКратчайший путь из u в v – это любой путь p из u в v, для которого w(p) = δ(u, v), где:
Любая часть кратчайшего пути сама есть кратчайший путь. Это значит, что задача о кратчайших путях обладает свойством оптимальности для подзадач - признак того, что к ней может быть применимо динамическое программирование или жадный алгоритм.
Техника релаксации состоит в следующем. Для каждого ребра v V храним некоторое число
Релаксация ребра (u, v) E состоит в следующем: значение
d[v] уменьшается до d[u] + ω(u, v); при этом d[v]
остается верхней оценкой. Мы хотим, чтобы значение π[v] указывало путь, использованный при получении этой верхней оценки,
поэтому одновременно мы меняем значение
На рисунке приведены два примера релаксации: в одном случае оценка кратчайшего пути уменьшается (а), в другом ничего не происходит (б).
|
©Оформитель и составитель: Фёдорова Т.А., 2009