Ветвь 1. Попарная проверка вершин и нахождение диаметра 2 страница



=  заменяется на 17, = = 14 заменяется на меньшее 11.

Вычисляем эксцентриситет претендента ε(c1) = 17. Так как , полагаем . Верхняя и нижняя границы радиуса не равны: , значит, вершина c1 = v3 не является центральной.

Находим самую удаленную от c1 вершину: v5 с расстоянием . Так как для v5 не найдены все кратчайшие пути, решаем SSSP(v5) и добавляем v5 в множество опорных вершин: . При этом матрица длин ребер изменяется следующим образом: =  заменяется на 18.

 

  v1 v2 v3 v4 v5 v6
v1 0 7 9 17 11 2
v2 7 0 10 15 18
v3 9 10 0 11 17 11
v4 17 15 11 0 6 15
v5 11 18 17 6 0 9
v6 2 11 15 9 0

 

Находим следующего претендента c2 – это вершина v6 с . Согласно формуле (2.2) изменяем нижнюю границу радиуса, полагая rl = 15. Для c2 кратчайшие расстояния не найдены, решаем SSSP(c2 = v6), в матрице длин ребер при этом значение =  заменяется на 9.

 

  v1 v2 v3 v4 v5 v6
v1 0 7 9 17 11 2
v2 7 0 10 15 18 9
v3 9 10 0 11 17 11
v4 17 15 11 0 6 15
v5 11 18 17 6 0 9
v6 2 9 11 15 9 0

 

Вычисляем эксцентриситет претендента ε(c2) = 15. Так как , полагаем . В данном случае нижняя и верхние границы совпадают , значит, вершина c2 = v6 является центральной, при этом радиус графа равен .

Таким образом, найден центр графа (в данном случае центр состоит из одной вершины) и его радиус. При этом задача SSSP решена для 5 вершин, против 6 решений SSSP при поиске радиуса обычным способом. В данном примере коэффициент уменьшения числа решений SSSP разработанным алгоритмом составил 5/6, однако на реальных графах большой размерности, как показывают эксперименты, этот показатель значительно ниже – до 1% и менее.

Теперь найдем диаметр графа, используя алгоритм Д1. Для начальной оценки нижней dl и верхней du границ диаметра используется информация о кратчайших расстояниях от вершин, для которых решена задача SSSP во время поиска радиуса. В данном примере таких вершин пять: v1, v3, v4, v5 и v6. Обходим эти вершины по порядку и итерационно уточняем значения нижней и верхней границ диаметра, а также исключаем из рассмотрения вершины, чей эксцентриситет удовлетворяет условиям (2.11), (2.12).

Изначально , , матрица границ эксцентриситетов вершин имеет вид

 

  v1 v2 v3 v4 v5 v6
εl –∞ –∞ –∞ –∞ –∞ –∞
εu

Рассматриваем вершину v1. Получаем значения нижней и верхней границ диаметра:

, .

Вычисляем нижние и верхние границы эксцентриситетов вершин:

εl(v1) = max(εl(v1), ε(v1) – , ) = max(–∞, 17 – 0, 0) = 17;

εu(v1) = min(εu(v1), ε(v1) + ) = min(∞, 17 + 0) = 17;

εl(v2) = max(εl(v2), ε(v1) – , ) = max(–∞, 17 – 7, 7) = 10;

εu(v2) = min(εu(v2), ε(v1) + ) = min(∞, 17 + 7) = 24;

εl(v3) = max(εl(v3), ε(v1) – , ) = max(–∞, 17 – 9, 9) = 9;

εu(v3) = min(εu(v3), ε(v1) + ) = min(∞, 17 + 9) = 26;

εl(v4) = max(εl(v4), ε(v1) – ,

) = max(–∞, 17 – 17, 17) = 17;

εu(v4) = min(εu(v4), ε(v1) + ) = min(∞, 17 + 17) = 34;

εl(v5) = max(εl(v5), ε(v1) – ,

) = max(–∞, 17 – 11, 11) = 11;

εu(v5) = min(εu(v5), ε(v1) + ) = min(∞, 17 + 11) = 28;

εl(v6) = max(εl(v6), ε(v1) – , ) = max(–∞, 17 – 2, 2) = 15;

εu(v6) = min(εu(v6), ε(v1) + ) = min(∞, 17 + 2) = 19.

Из рассмотрения при этом исключаются вершины v1 и v4, так как εl(v1) = εu(v1) и εl(v4) = du/2. Матрица границ эксцентриситетов принимает вид

 

  v1 v2 v3 v4 v5 v6
εl 17 10 9 17 11 15
εu 17 24 26 34 28 19

 

Далее рассматриваем вершину v3. Эксцентриситет вершины v3 не изменяет значений нижней и верхней границ диаметра: dl = max(dl,ε(v3)) = (17, 17) = 17, du = min(du,2∙ε(v3)) = (34, 34) = 34. Уточняем нижние и верхние границы эксцентриситетов не исключенных вершин:

εl(v2) = max(εl(v2), ε(v3) – ,

) = max(10, 17 – 10, 10) = 10;

εu(v2) = min(εu(v2), ε(v3) + ) = min(24, 17 + 10) = 24;

εl(v3) = max(εl(v3), ε(v3) – , ) = max(9, 17 – 17, 17) = 17;

εu(v3) = min(εu(v3), ε(v3) + ) = min(26, 17 + 0) = 17;

εl(v5) = max(εl(v5), ε(v3) – ,

) = max(11, 17 – 17, 17) = 17;

εu(v5) = min(εu(v5), ε(v3) + ) = min(28, 17 + 17) = 28;

εl(v6) = max(εl(v6), ε(v3) – ,

) = max(15, 17 – 11, 11) = 15;

εu(v6) = min(εu(v6), ε(v3) + ) = min(19, 17 + 11) = 19.

Из рассмотрения при этом исключаются вершины v3 и v5, так как εl(v3) = εu(v3) и εl(v5) = du/2. Матрица границ эксцентриситетов принимает вид

 

  v1 v2 v3 v4 v5 v6
εl 17 10 17 17 17 15
εu 17 24 17 34 28 19

 

Теперь рассматриваем вершину v4. Эксцентриситет вершины v4 не изменяет значений нижней и верхней границ диаметра: dl = max(dl, ε(v4)) = (17, 17)=17, du = min(du, 2∙ε(v4)) = (34, 34) = 34. Уточняем нижние и верхние границы эксцентриситетов не исключенных вершин:

εl(v2) = max(εl(v2), ε(v4) – ,

) = max(10, 17 – 15, 15) = 15;

εu(v2) = min(εu(v2), ε(v4) + ) = min(24, 17+15) = 24;

εl(v6) = max(εl(v6), ε(v4) – ,

) = max(15, 17 – 15, 15) = 15;

εu(v6) = min(εu(v6), ε(v4) + ) = min(19, 17 + 15) = 19.

Ни одна из оставшихся вершин не исключаются из рассмотрения. Матрица границ эксцентриситетов принимает вид

 

  v1 v2 v3 v4 v5 v6
εl 17 15 17 17 17 15
εu 17 24 17 34 28 19

 

Далее рассматриваем вершину v5. Значение нижней границы диаметра изменяется: dl = max(dl, ε(v5)) = (17, 18) = 18, а верхней – нет: du = min(du, 2∙ε(v5)) = (34, 36) = 34. Уточняем нижние и верхние границы эксцентриситетов неисключенных вершин:

εl(v2) = max(εl(v2), ε(v5) – ,

) = max(15, 17 – 18, 18) = 18;

εu(v2) = min(εu(v2), ε(v5) + ) = min(24, 17 + 18) = 24;

εl(v6) = max(εl(v6), ε(v5) – , ) = max(15, 17 – 9, 9) = 15;

εu(v6) = min(εu(v6), ε(v5) + ) = min(19, 17 + 9) = 19.

Из рассмотрения при этом исключается вершина v2, так как 18 = εl(v2) > du/2 = 17. Матрица границ эксцентриситетов принимает вид

 

  v1 v2 v3 v4 v5 v6
εl 17 18 17 17 17 15
εu 17 24 17 34 28 19

 


Дата добавления: 2021-02-10; просмотров: 72; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!