Кратчайшие пути из одной вершины



Основные определения


Кратчайшие пути и релаксация


Алгоритм Дейкстры

Алгоритм Беллмана - Форда

Кратчайшие пути в ациклическом ориентированном графе

Ограничения на разности и кратчайшие пути

Задачи

Литература

Кратчайшие пути и релаксация

Кратчайший путь из u в v – это любой путь p из u в v, для которого w(p) = δ(u, v), где:

  • w(p) = сумма весов всех ребер пути p
  • δ(u, v) = min{w(p): по всем путям p из u в v}, если существует путь u в v; ∞ - в противном случае

Свойство оптимальности для подзадач

Любая часть кратчайшего пути сама есть кратчайший путь. Это значит, что задача о кратчайших путях обладает свойством оптимальности для подзадач - признак того, что к ней может быть применимо динамическое программирование или жадный алгоритм.

Релаксация

Техника релаксации состоит в следующем. Для каждого ребра v V храним некоторое число
d[v], являющееся верхней оценкой веса кратчайшего пути из s в v. Начальное значение оценки кратчайшего пути и массива π устанавливается процедурой:

Релаксация ребра (u, v) E состоит в следующем: значение d[v] уменьшается до d[u] + ω(u, v); при этом d[v] остается верхней оценкой. Мы хотим, чтобы значение π[v] указывало путь, использованный при получении этой верхней оценки, поэтому одновременно мы меняем значение
π[v]:

На рисунке приведены два примера релаксации: в одном случае оценка кратчайшего пути уменьшается (а), в другом ничего не происходит (б).

Свойства релаксации

Деревья кратчайших путей



Вперед

Вверх

Назад


 

©Оформитель и составитель: Фёдорова Т.А., 2009

 


Рейтинг ресурсов УралWeb
Сайт создан в системе uCoz