АкушерствоАнатомияАнестезиологияВакцинопрофилактикаВалеологияВетеринарияГигиенаЗаболеванияИммунологияКардиологияНеврологияНефрологияОнкологияОториноларингологияОфтальмологияПаразитологияПедиатрияПервая помощьПсихиатрияПульмонологияРеанимацияРевматологияСтоматологияТерапияТоксикологияТравматологияУрологияФармакологияФармацевтикаФизиотерапияФтизиатрияХирургияЭндокринологияЭпидемиология

Минимальный путь в нагруженном ориентированном графе

Прочитайте:
  1. IBM создала микросхему на графене
  2. Алгоритм выделения эйлерова цикла в связном мультиграфе с четными степенями вершин
  3. Графен изобрели с помощью скотча
  4. Графеновые ленты - перспективный полупроводник
  5. Графеновый аккумулятор сможет заряжаться за несколько секунд
  6. Для чего же нужен графен?
  7. Как меняются свойства однослойного графена с увеличением числа слоев?
  8. Материалы на основе графена и его аналогов
  9. Металлсодержащие наночастицы на поверхности графена и родственных объектов
  10. Методы получения графена и его аналогов

Найти минимальный путь в нагруженном ориентированном графе из вершины в вершину по методу Форда-Беллмана.

Рассмотрим сначала общую задачу – нахождения минимального пути из вершины vнач в vкон.

Пусть D =(V, X) – нагруженный ориентированный граф, V ={ v 1,…, vn }, n >1. Введем величины , где i =1,…, n, k =0,1,2,…, n– 1.

Для каждого фиксированного i и k величина равна длине минимального пути среди путей из vнач в vi содержащих не более k дуг. Если путей нет, то .

Положим также .

Составляем матрицу длин дуг C (D)=[ cij ] порядка n:

Утверждение. При i =2,…, n, k ³0 выполняется равенство

. (3.1)

Алгоритм Форда-Беллмана нахождения минимального пути в нагруженном ориентированном графе D из vнач в vкон. (vнач ≠ vкон)

записываем в виде матрицы, i - строка, k -столбец.

1) Составляем таблицу , i =1,…, n, k =0,…, n -1. Если , то пути из vнач в vкон нет. Конец алгоритма.

2) Если то это число выражает длину любого минимального пути из vнач в vкон. Найдем минимальное k 1³1, при котором . По определению получим, что k 1- минимальное число дуг в пути среди всех минимальных путей из vнач в vкон.

3) Затем определяем номера i 2,…, такие, что

,

,

,

то есть, восстанавливаем по составленной таблице и матрице стоимости искомый минимальный путь из vнач в vкон.

Пример

Найдем минимальный путь из вершины v 2 в v 6 в ориентированном нагруженном графе D, изображенном на рис. 9. В рассматриваемом графе количество вершин n= 7, следовательно, матрица длин дуг ориентированного графа D будет иметь размерность 7×7.

 

Рис. 9.

 

Матрица длин дуг для рассматриваемого графа будет выглядеть следующим образом:

.

Согласно алгоритму, составляем таблицу стоимости минимальных путей из вершины v 2 в вершину vi не более, чем за k шагов, k =0,… n -1 (n =7, следовательно, k =0,…6). Как было определено выше, , и для всех остальных вершин viv 2, то есть первый столбец таблицы состоит из элементов, равных , кроме элемента . Второй столбец таблицы повторяет вторую строку матрицы стоимости, поскольку представляет собой стоимость возможных путей из вершины v 2 за один шаг. Далее по формуле (3.1) находим по столбцам все оставшиеся элементы таблицы. Например, чтобы найти элемент , складываем элементы столбца и первого столбца матрицы стоимости и выбираем минимальное из получившихся чисел:

.

В конечном итоге получаем следующую таблицу:

Теперь необходимо по построенной таблице и по матрице C (D) восстановить минимальный путь из вершины v 2 в v 6, который будет строиться с конца, то есть, начиная с вершины v 6. Для этого выбираем минимальное из чисел, стоящих в строке, соответствующей v 6 в таблице. Это число – 21 – длина минимального искомого пути. В первый раз такая длина была получена при количестве шагов, равном 4. В вершину v 6 мы можем попасть за один шаг из вершин v 1 и v 7 (длина соответствующих дуг 8 и 5 соответственно – данные из матрицы C (D)). Выбираем минимальную по длине из этих дуг. Далее, в вершину v 7 можно попасть из v 4 и v 5 (длина соответствующих дуг 7 и 3 соответственно). Продолжая аналогичным образом, найдем искомый путь за 4 шага минимальной длины из вершины v 2 в v 6: v 2 v 3 v 5 v 7 v 6.

 


Дата добавления: 2015-09-27 | Просмотры: 912 | Нарушение авторских прав







При использовании материала ссылка на сайт medlec.org обязательна! (0.004 сек.)