Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Для графов с контурами поиск максимального пути затруднён, т.к. он может не существовать. Для отыскания минимального пути существуют разные алгоритмы.
Алгоритм Форда.
Общая постановка задачи:
Задан произвольный связный орграф, каждой дуге которого приписано положительное число. Найти минимальный путь между двумя вершинами графа.
Примечание: Порядковая функция графа не задана.
Решение: Для поиска минимального пути между x0 и xn руководствуются следующими правилами:
1. Вершине x0 приписывается метка l0 =0. Всем остальным xi приписывается li=¥.
2. Выбирается произвольная дуга x0®xi и вершине xi приписывается метка li¢=l0+l(x0,xi), где l(x0,xj) - вес дуги между x0 и xi.
3. Для вершины xj с меткой lj ищется вершина xi, от которой идёт такая дуга в xj, что lj¢ < lj и где: lj¢=li+l(xi,xj).
Вершине xj приписывается метка lj¢.
4. После разметки всех вершин графа для произвольной вершины xj с меткой lj рассматриваем все вершины xi с дугами, ведущими в вершину xj, и выбирается новая метка lj¢ < lj и такая, что lj¢ является минимальной из всех возможных меток.
5. Процедура пункта 4 проводится для каждой вершины графа возможно и не один раз, пока не будут получены минимальные метки у каждой вершины графа.
6. Выбор минимального пути осуществляют по правилам получения минимального пути для графа без контуров.
Дата публикования: 2015-01-13; Прочитано: 146 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!