Радиус графа

advertisement
Алгоритмы на графах
Волновой метод
Волновой метод

Постановка
задачи.
Пусть
G
–
неориентированный связный граф, а и b –
две его вершины. Требуется найти цепь,
соединяющую вершины а и b и
содержащую наименьшее число ребер.
Волновой метод

1.
2.
3.
Алгоритм
решения
задачи
волновым
методом.
Помечаем вершину а индексом 0.
Вершины, смежные с а и соединенные с а,
дугами, инцидентными вершине а, помечаем
индексами 1.
Вершины, смежные с помеченными индексами 1
и соединенные с ними инцидентными вершинам
1 дугами, помечаем индексами 2.
Волновой метод
4.
5.
6.
Аналогично помечаем вершины
индексами 3, 4, …
Совокупность вершин, помеченных
индексом m, обозначим Am.
В некоторой момент будет помечена
вершина b, пусть b∈An. Останавливаем
процесс индексации.
Волновой метод
7.
8.
По построению можно найти вершину b1∈An-1,
смежную с b, по тем же соображениям
существует вершина b2∈An-2, смежная с b1, и т.д.
Искомая цепь с наименьшим числом ребер
получается теперь как последовательность
вершин (b, b1, b2, …, bn=a), где bi An-i, то есть
нужно двигаться, начиная от конечной вершины
b в сторону убывания индекса вершины.
Задание
Найти все кратчайшие цепочки от b до а.

2
1
3
4
5
9
8
13
12
6
7
10
14
21
11
15 16
а
18
19
17
b
20
22
23
24
Условный радиус вершины

Если мы не будем останавливать
индексацию,
то
через
некоторое
количество шагов все вершины графа
будут снабжены индексами, причем
наибольший из них является условным
радиусом графа G относительно вершины
а.
 ra=max d(a, b)
Волновой метод

В случае ориентированного графа волновой
метод позволяет решить две задачи:



Найти длины кратчайших путей от вершины а до
остальных вершин графа;
Найти длины кратчайших путей от каждой вершины
графа до вершины а.
При этом в основном алгоритме изменяется
только построение множества Аn.
Задание


Для графа найти
цепь
с
наименьшим
числом
ребер,
соединяющих
вершины а и b:
a=5; b=69
Найти условный
радиус вершины
а=25
2
1
9
8
4
3
13
10
14
17
18
16
23
29
30
38
39
25
7
21
22
11
15
12
19
20
26
24
31
6
5
27
28
32
41
40
33
48
46
45
47
50
51
55
53
63
54
56
57 58
60
62
64
61
65
66
69
72
36
35
37
34
42 43
49
44
52
59
68
67
70
71
73
74
Центр и диаметр графа





Расстоянием между вершинами a и b называется длина
кратчайшей цепи из a в b.
Радиус графа определяется как наименьший из условных радиусов
вершин графа.
Центром графа G называется такая вершина a, что максимальное
расстояние между a и любой другой вершиной является наименьшим
из всех возможных. Это расстояние называется радиусом графа.
Диаметром d связного графа называется максимальное возможное
расстояние между любыми двумя его вершинами.
Если расстояние между двумя вершинами равно диаметру графа, то
кратчайший путь, соединяющий эти вершины, называется
диаметральным путем, а подграф, образованный вершинами и
ребрами этого пути, – диаметральной цепью.
Задание

Найти радиус и
диаметр графа
Задание

Найти центр, радиус
и диаметр графа
Задание

Найти радиус,
диаметр и центр
графа
Задание

Найти радиус,
диаметр и центр
графа
Задание

Найти радиус,
диаметр и центр
графа
Условный радиус вершины



Если мы не будем останавливать индексацию, то
через некоторое количество шагов все вершины
графа будут снабжены индексами, причем
наибольший из них является условным радиусом
графа G относительно вершины а.
ra=max d(a, b)
Расстоянием между вершинами a и b
называется длина кратчайшей цепи из a в b.
Радиус графа определяется как наименьший из
условных радиусов вершин графа.
Центр и диаметр графа



Центром графа G называется такая вершина a, что
максимальное расстояние между a и любой другой
вершиной является наименьшим из всех возможных. Это
расстояние называется радиусом графа.
Диаметром d связного графа называется максимальное
возможное расстояние между любыми двумя его
вершинами.
Если расстояние между двумя вершинами равно
диаметру графа, то кратчайший путь, соединяющий эти
вершины, называется диаметральным путем, а подграф,
образованный вершинами и ребрами этого пути, –
диаметральной цепью.
Задание

Найти центр, радиус
и диаметр графа
Задание

Найти радиус,
диаметр и центр
графа
Задание

Найти радиус,
диаметр и центр
графа
Задание

Найти радиус,
диаметр и центр
графа
Download