Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дискретка. Шпоры по дискретной математике.doc
Скачиваний:
137
Добавлен:
22.09.2019
Размер:
1.29 Mб
Скачать

30. Расстояние в графах. Центральные и периферийные вершины.

Пусть G=<M,R> - связный неорграф, a,b – две его несовпадающие вершины. Длина кратчайшего (a,b)-маршрута называется расстоянием между вершинами a и b и обозначается ρ(a,b). Положим ρ(a,a)=0.

Аксиомы метрики:

  1. ρ(a,b)≥0;

  2. ρ(a,b)=0  a=b

  3. ρ(a,b)= ρ(b,a) (симметричность)

  4. ρ(a,b)≤ ρ(a,с)+ ρ(с,b) (неравенство треугольника)

Если M={a1,…,an}, то матрица P=(pij), в которой pij=ρ(ai,aj), называется матрицей расстояний. Заметим, что PT=P.

Эксцентриситетом вершины a называется величина .

Максимальный среди всех эксцентриситетов вершин называется диаметром графа G и обозначается через d(G): . Вершина a называется периферийной, если e(a)=d(G). Минимальный из эксцентриситетов графа G называется его радиусом r(G): . Вершина a называется центральной, если e(a)=r(G). Множество всех центральных вершин графа называется его центром.

31. Взвешенное расстояние. Алгоритм Форда-Беллмана.

Пусть G=<M,R> - взвешенный граф, в котором вес каждой дуги (a,b) есть некоторое вещественное число μ(a,b). Весом маршрута a1,…,an+1 называется число . Взвешенным расстоянием (ω-расстоянием) ρω(a,b) между вершинами a и b называется минимальный из весов (a,b)-маршрутов). Маршрут с минимальным весом называется кратчайшим. Взвешенным эксцентриситетом вершины a называется величина . Взвешенной центральной вершиной называется вершина a, для которой . Взвешенный эксцентриситет центральной вершины называется взвешенным радиусом.

Пусть G=<M,R> - взвешенный граф, имеющий n вершин и матрицу весов W=(ωij). Предположим, что в G отсутствуют контуры с отрицательным весом, поскольку двигаясь по такому контуру достаточное число раз можно получить маршрут бесконечно малого веса.

Алгоритм Форда-Беллмана (для нахождения взвешенного расстояния от вершины ai (источника) до всех вершин графа G):

Зададим строку , полагая . Определим строку , полагая . Нетрудно заметить, что - минимальный из весов (ai,aj)-маршрутов, состоящих не более чем из двух дуг.

Продолжая процесс, на шаге s определим строку , полагая . Искомая строка ω-расстояний получается при s=n-1: . Алгоритм можно завершить на шаге k, если D(k)=D(k+1).

32. Степени вершин. Эйлеровы графы, циклы, цепи. Алгоритм построения эйлерова цикла.

Степенью или валентностью вершины a неорграфа G называется число ребер, инцидентных вершине a (петли считаются дважды). Вершина степени 0 называется изолированной, степени 1 – концевой или висячей.

Лемма о рукопожатиях: Сумма степеней всех вершин графа является четным числом и равна удвоенному числу ребер.

Критерий «эйлировости» графа: Связный неориентированный мультиграф тогда и только тогда является эйлеровым, когда степень каждой из его вершин – четное число.

Алгоритм построения эйлерова цикла:

  1. Выбрать произвольно некоторую вершину a.

  2. Выбрать произвольно некоторое ребро u, инцидентное a, и присвоить ему номер 1 (назовем это ребро пройденным).

  3. Каждое пройденное ребро вычеркнуть и присвоить ему номер, на единицу больший предыдущего вычеркнутого ребра.

  4. Находясь в вершине x, не выбирать ребро, соединяющее x с a, если есть возможность иного выбора.

  5. Находясь в вершине x, не выбирать ребро, которое является перешейком (т.е. ребром, при вычеркивании которого граф распадается на две компоненты связности).

  6. После того как в графе будут занумерованы все ребра, образуется эйлеров цикл.

Теорема: Если связный граф содержит k вершин нечетной степени, то минимальное число покрывающих его реберно непересекающихся цепей равно k/2.

Доказательство: Набор реберно непересекающихся цепей покрывает граф G, если каждое его ребро входит в одну из этих цепей.

Пусть связный граф G содержит k вершин нечетной степени. По лемме о рукопожатиях число k четно. Рассмотрим граф G, полученной добавлением к G новой вершины a и ребер, соединяющих a со всеми вершинами нечетной степени графа G. Граф G будет содержать эйлеров цикл. Если удалить из этого цикла все ребра, инцидентные вершине a, то получится не более k/2 цепей, покрывающих G. С другой стороны, граф, являющийся объединением r реберно непересекающихся цепей имеет не более 2r верши нечетной степени. Поэтому граф G нельзя покрыть цепями, число которых меньше k/2.