Лекция № 11. Технология внедрения средств проектирования ПО

advertisement
Лекция №13.
Определение кратчайших путей между
узлами коммутации сети связи
Учебные и воспитательные цели:
1. Уяснить сущность и алгоритмы метода
Форда - Беллмана и метода Дейкстры.
Учебные вопросы
1. Использование метода ФордаБелмана.
2. Применение метода Дейкстры.
Вопрос №1. Использование метода Форда-Белмана.
Если последовательность вершин
v0,v1,v2,...,vp определяет путь от s до t, то
его длина определяется как сумма
l(s,t) = b(vi-1,vi),
где b(vi-1,vi) - вес ветви, соединяющий
вершины vi-1 и vi
Вопрос №1. Использование метода Форда-Белмана.
Сущность методов:
I этап.
Всем узлам сети присваивается вес равный
сумме весов ветвей в кратчайшем пути
между узлом-источником и данным узлом.
II этап.
Определяются все транзитные узлы,
лежащие на кратчайшем пути между
узлом-источником и узлом-получателем.
Вопрос №1. Использование метода Форда-Белмана.
Алгоритм I этапа:
1. Узлу-источнику присваивается нулевой
∞.
вес, остальным узлам - начальный вес
2. Определяются узлы сети,
непосредственно связанные с узломисточником, и им присваивается вес,
равный весу ветви, соединяющей данный
узел с узлом-источником.
Вопрос №1. Использование метода Форда-Белмана.
Алгоритм I этапа:
3. Далее определяются узлы смежные с
теми узлами, которые изменили свой вес
на предыдущем шаге. Для этих узлов
определяются новые веса по формуле
k
k-1
Vi =min(Vi ,
k-1
Vj +bij ).
Вопрос №1. Использование метода Форда-Белмана.
9
2
4
3
4
2
6
1
1
3
3
2
5
2
6
6
3
4
4
4
4
7
7
6
8
Вопрос №1. Использование метода Форда-Белмана.
Алгоритм II этапа:
Кратчайший путь выявляется в
направлении от узла-получателя к узлуисточнику по правилу:
Из всех ветвей, входящих в узел,
кратчайшему пути принадлежит ветвь, вес
которой равен разнице весов узлов,
которые она соединяет:
bi,j=Vi – Vj .
Вопрос №1. Использование метода Форда-Белмана..
3
9
2
4
3
0
6
1
5
9
4
2
5
6
1
3
3
4
2
2
6
6
6
3
4
2
4
4
7
7
8
13
8
Вопрос №2. Применение метода Дейкстры .
Алгоритм I этапа:
1. Узлу-источнику присваивается нулевой
∞.
вес, остальным узлам - начальный вес
2. Определяются узлы сети,
непосредственно связанные с узломисточником, и им присваивается вес,
равный весу ветви, соединяющей данный
узел с узлом-источником.
Вопрос №2. Применение метода Дейкстры .
Алгоритм I этапа:
3. Выбирается узел, имеющий наименьший
вес – он считается «определенным» и на
последующих шагах его вес уже не
пересчитывается.
Вопрос №2. Применение метода Дейкстры .
Алгоритм I этапа:
4. Определяются все узлы, смежные с
«определенным», и для них определяется
новый вес, равный сумме весов
k
k-1
Vj =min(Vj
,Vо
k-1
+boj)
Вопрос №2. Применение метода Дейкстры .
Алгоритм I этапа:
5. Веса узлов, не имеющих непосредственную связь с «определенным» узлом не
изменяются.
6. Повторяются пункты 3-5 до тех пор, пока
все узлы не станут «определенными».
7. Полученные «определенные» значения
присваиваются узлам в качестве весов
Вопрос №2. Применение метода Дейкстры .
9
2
4
3
4
2
6
1
1
3
3
2
5
2
6
6
3
4
4
4
4
7
7
6
8
Вопрос №2. Применение метода Дейкстры .
Алгоритм II этапа:
Кратчайший путь выявляется в направлении
от узла-получателя к узлу-источнику по
правилу:
Из всех ветвей, входящих в узел,
кратчайшему пути принадлежит ветвь, вес
которой равен разнице весов узлов, которые
она соединяет:
Download