Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
76___.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
862.72 Кб
Скачать

22. Исследование маршрутов графа (определение маршрутов фиксированной длины и их количество)

Важным применением матрицы смежности является возможность по ней определять маршруты фиксированной длины и их количество.

Теорема. Пусть дан граф G=(V,E), где V={v1,v2,…,vn} – множество вершин,  A – матрица смежности графа G. Рассмотрим матрицу Ak= A•A•…•A=(aij). Если aij=m, то из вершины vi в вершину vj существует m маршрутов длины k.

Пример. Рассмотрим граф смешанного типа.

Рисунок 3.3.3

Его матрица смежности будет матрица А= .

По матрице А устанавливаем существование маршрутов длины 1, например, т.к. а13 =0, то маршрутов из 1 в 3 длины 1 нет (записывают: маршрута (1 3) нет).

А2 = •  = .

Т.к. а213 = 0, то маршрута (1 3) нет,  т.к. а222 =2, то существует два маршрута (2 2), т.к. а234 =1, то существует один маршрут (3 4) и т.д.

А3 = • = .

Т.к. а313 =1, то существует один маршрут (1 3), т.к. а321 =3, то существует три маршрута (2 1) и т.д.

Последовательность вершин маршрута можно получить, исследуя элементы матриц А, А2, А3 и т.д., или, в случае простых графов, по их рисунку. Наиболее наглядный способ состоит в использовании модифицированной матрицы смежности, в которой вместо единиц записаны названия соответствующих рёбер (дуг). В примере 3.3.4 модифицированная матрица смежности  будет иметь вид:

.

По последней матрице делаем вывод, что т.к. её элемент a122=e2e3, то есть один маршрут длины 2 из вершины 1 в вершину 2, это (1,e2,4,e3,2); т.к. a222=e4e4+e3e3, то есть два маршрута длины 2 из вершины 2 в 2: (2,e4,3,e4,2) и (2,e3,4,e3,2). По A13 аналогично можно найти маршруты длины 3 и их количество.

24. Расстояния в графах (эксцентриситет, диаметр, радиус, центр)

Определение. Расстоянием между вершинами vi и vj (обозначается d(vi, vj)) называется минимальная длина простой цепи с концами в vi и vj.

Пусть V={v1,v2,…,vn} – множество вершин графа. Рассмотрим матрицу D=(dij), где dij =d(vi, vj). D называется матрицей расстояний. Очевидно, D=DT , т.е. D – симметрическая матрица.

1. Эксцентриситетом вершины v (обозначается e(v)) называется max{d(u,v)|uЄv}, т.о. эксцентриситет равен расстоянию от данной вершины до наиболее удалённой от неё. В матрице расстояний e(vi) равен наибольшему из чисел, стоящих в і-ой строке.

2. Диаметром графа G (обозначается d(G)) называется максимальный из всех эксцентриситетов: d(G)=max{e(v)|vЄV}.

4. Радиусом графа G (обозначается r(G)) называется минимальный из всех эксцентриситетов: r(G)=min{e(v)|vЄV}.

5. Вершина v называется периферийной, если e(v)=d(G); вершина v называется центральной, если e(v)=r(G). Множество всех центральных вершин графа называется его центром.

25. Взвешенные графы. Матрица весов. Взвешенное расстояние. Нахождение кратчайших маршрутов(алгоритм Дейкстры).

Пусть дан граф G(V,E). Пометкой (или распределением меток) графа называется пара функций: f: V→Sv и g: E→SE, где Sv, SE – множества меток вершин и рёбер. Четвёрка (V,E,f,g) называется взвешенным или помеченным графом.

Информацию о весах дуг во взвешенном графе можно представлять в виде матрицы весов W=(wij), где wij – вес дуги (vi,vj), если эта дуга существует, если не существует, то соответствующий вес обозначают 0 или ∞, в зависимости от приложений (∞ - если вершины не смежные). Матрица весов имеет вид:

W= .

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

Пусть G(V,E) – взвешенный граф, имеющий n вершин и  W=(wij), его матрица весов wij>0. Пусть требуется найти взвешенное расстояние от фиксированной вершины vі (она называется источником) до некоторой другой вершины (вообще по алгоритму Дейкстры 1 находят сразу расстояния от источника до всех остальных вершин). Обозначим Т1 множество вершин V - {vi} , т.е. Т1 – это множество всех вершин V без источника. Обозначим D(1)=(d1(1) , d2(1), …, dn(1)), где di(1)=0, dj(1)=wij (i≠j), т.е. D(1) – это і-ая строка в матрице весов. Пусть на шаге S уже определены множ. вершин TS и строка D(S)=(d1(S),d2(S),…, dn(S)). Наша задача перейти от TS к TS+1 и от D(S) к D(S+1). Выберем в TS вершину vj такую, что dj(S)=min{ dk(S)/ vk TS}. Положим ТS+1=TS\{Vj},  D(S+1)=(d1(S+1), …, dn(S+1)), dk(S+1)=dk(S), если Vk TS+1, dk(S+1)=min{dk(S),dj(S)+wjk}, если Vk TS+1.На шаге S = n-1 получим строку D(n-1)=( d1(n-1), d2(n-1)…, dn(n-1)),вк-й dj(n-1) равно взвешенному рас-ю от верш. vі до верш. vj: d j(n-1)=dw(vі, vj).

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

Этот алгоритм (его иногда называют алгоритмом расстановки меток) позволяет найти не только вес кратчайшего пути, но и сам путь. Метки могут находиться в двух состояниях – быть временными и постоянными. Рассмотрим этот метод на том же примере.

Найти кратчайшее взвешенное расстояние и путь от вершины А до вершины F.

1 шаг. Всем вершинам припишем метки (∞,0), вершине А – источнику - (0,0) и сделаем её постоянной и подчеркнём.

2 шаг. Рассмотрим смежные с А вершины В и С, т.к. вес  больше их расстояний (весов) от А, то заменяем  на эти расстояния 5 и 6, а вторую координату заменяем на А, т.е. получаем В(5,А) и С(6,А).

3 шаг. Выбираем минимальный из весов, приписанных В и С, – это 5. Поэтому вершину В(5,А) делаем постоянной, подчёркиваем (рисунок 3.4.6).

4 шаг. Как 2-ой шаг. Рассмотрим вершины, смежные с В(5,А), это C,D,E,F. Прибавим к их расстояниям от В вес вершины В: для С  - 5+3=8, т.к. 8>6, то оставляем С(6,А); для D - 5+7=12, т.к. 12< , то изменяем  D(12,B);

для E - 5+2=7, т.к. 7< , то изменяем E(7,B); для F - 5+10=15, т.к. 15< , то изменяем F(15,B).

5 шаг. Как 3-ий шаг. Находим наименьшее из расстояний, присвоенных временным вершинам: min{6,12,7,15}=6, т.к. вершина С(6,А) имеет это расстояние, то делаем её постоянной, подчёркиваем.

6 и 7 шаги. Как 2-ой и 3-ий шаги. Смежной с вершиной С будет только одна временная вершина Е(7,В), прибавим к её весу вес С: 7+6=13>7, итак, оставляем для Е те же координаты, делаем её постоянной, подчёркиваем.

8 шаг. Смежной с Е временной вершиной будет F(15,B): 7+4=11<15, поэтому изменяем F(15,B) на  F(11,E), делаем постоянной, подчёркиваем.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]