![](/user_photo/2706_HbeT2.jpg)
- •Лесосибирск 2012
- •Лекция 1 Основные понятия теории множеств
- •1 Понятие множества
- •2 Способы задания множеств
- •3 Сравнение множеств
- •Лекция 2 Операции над множествами
- •1 Операции над множествами
- •2 Свойства операций над множествами
- •Лекция 3 Соответствия и функции
- •1 Соответствия
- •2 Функции
- •Лекция 4 Бинарные отношения и операции над ними
- •1 Понятие бинарного отношения
- •2 Операции над бинарными отношениями
- •Лекция 5 Свойства и виды бинарных отношений
- •1 Свойства бинарных отношений
- •2 Виды бинарных отношений
- •Модуль II Основы комбинаторики Лекция 6 Основные понятия комбинаторики
- •1 Правила суммы и произведения
- •2 Выборки
- •Лекция 7 Методы решения задач комбинаторики
- •1 Метод включений и исключений
- •2 Метод рекуррентных соотношений
- •Модуль II Элементы теории графов Лекция 6 основные понятия теории графов
- •1 Понятие графа
- •2 Виды графов
- •3 Матрица смежности, инцидентности
- •4 Изоморфизм графов
- •Лекция 9 Операции над графами
- •1 Подграфы
- •2 Операции над графами
- •Лекция 10 Пути и связность в неориентированных графах
- •1 Основные определения
- •2 Обходы в графе
- •Лекция 9 Пути и связность в ориентированных графах
- •1 Виды связности
- •2 Выделение компонент сильной связности
- •Алгоритм выделения компонент сильной связности
- •Лекция 10 Расстояния в графах
- •1 Основные определения
- •2 Нахождение расстояний в графе
- •Алгоритм Дейкстры
- •Алгоритм Форда-Беллмана нахождения минимального пути в нагруженном ориентированном графе d из vнач в vкон.( vнач ≠ vкон)
- •Лекция 11 Деревья
- •1 Основные свойства деревьев
- •2 Нахождение центров дерева
- •3 Покрывающие деревья (остовы)
- •Алгоритм построения покрывающего дерева для произвольного невзвешенного графа g
- •Алгоритм выделения минимального остовного дерева в неориентированном взвешенном графе g
- •Лекция 12 Двудольные и планарные графы
- •1 Двудольные графы
- •2 Планарные графы
- •Лекция 13 Раскраски графов
- •1 Раскраски
- •2 Внешняя и внутренняя устойчивость. Покрытия
- •Лекция 14 Потоки в сетях
- •1 Постановка задачи нахождения максимального потока
- •2 Решение задачи
- •Заключение
- •Библиографический список
Лекция 10 Расстояния в графах
План лекции
Основные определения
Нахождение расстояний в графе
Ключевые слова: расстояние между вершинами, радиус, диаметр. центр, графа, эксцентриситет вершины.
1 Основные определения
Расстоянием
между вершинами
называется минимальная длина пути между
ними, при этом
,
,
если не
пути.
Расстояние в графе удовлетворяют аксиомам метрики
1)
,
2)
(в неориентированном графе)
3)
4)
в связном неориентированном графе.
Пусть
связный граф (или псевдограф).
Диаметром
графа G
называется величина
.
Пусть
.
Максимальным
удалением (эксцентриситетом)
в графе G
от вершины
называется величина
.
Радиусом
графа G
называется величина
Центром
графа G
называется
любая вершина
такая, что
.
Матрицей
расстояний
графа G
с вершинами v1,...,vn
называется квадратная матрица порядка
п,
в
которой для
элемент
-й
строки
и j-гo
столбца равен расстоянию между вершинами
vi
и vj.
В прикладных задачах обычно рассматриваются помеченные графы, в которых ребрам приписаны некоторые действительные числа. Длины маршрутов в таких графах определяются не числом пройденных ребер, а суммой весов этих ребер. Всю информацию о взвешенном графе можно получить из матрицы весов.
Матрица
весов
графа (длин дуг орграфа) G
квадратная, ее порядок совпадает с
порядком графа (орграфа). Элемент, стоящий
на пересечении i-й
строки и j-гo
столбца, равен весу ребра (дуги) (vi,
vj),
если такое ребро (такая дуга) существует,
в противном случае он равен
.
Весом (или длиной) маршрута во взвешенном графе называется сумма весов ребер, входящих в этот маршрут. Взвешенным расстоянием между вершинами u и v называется наименьший из весов маршрутов, связывающих u и v. Маршрут от u до v, вес которого совпадает со взвешенным расстоянием между u и v, называется кратчайшим (минимальным).
2 Нахождение расстояний в графе
Алгоритм Дейкстры позволяет найти взвешенные расстояния от какой-либо вершины v графа до остальных вершин в случае, когда веса всех ребер неотрицательны. Работа алгоритма происходит по шагам. На каждом шаге каждой вершине w приписываются метки, указывающие минимальный из весов изученных маршрутов, связывающих данную вершину с вершиной v и соседнюю с w вершину, через которую проходит наилучший маршрут. При поиске взвешенных расстояний в орграфе учитывается ориентация дуг.
Алгоритм Дейкстры
0.
У
каждой вершины ставим временную метку
(0,
).
1.
У
вершины v,
от которой отсчитываются расстояния,
метку (0,)заменяем
постоянной меткой (v,
0).
2.
Ищем
вершину, которая приобрела постоянную
метку последней. Пусть и
— такая вершина, и ее постоянная метка
равна (хu,уu).
Предположим,
что вершина р
является концом дуги, выходящей из и,
имеет временную метку (хр,ур)
и дуга (и,р)
имеет вес h.
Если
метка вершины р
имеет вид (0,
)или
отлична от (0,
),
носумма
уи
+ h
меньше ур,
то меняем метку (хр,ур)
на (и,уи
+ h).
Так поступаем со всеми вершинами,
имеющими временные метки и являющимися
концом дуги с началом в и.
3. Среди вершин, имеющих временные метки, ищем ту, у которой число, стоящее в метке вторым, наименьшее. Делаем эту метку постоянной.
4. Если есть вершины с временными метками, переходим к п. 2.
5. Работа заканчивается, когда все вершины получат постоянные метки. Расстояние, указанное в метке, является взвешенным расстоянием от данной вершины до вершины v.
6. Постоянные метки позволяют найти кратчайший маршрут от вершины v до любой вершины и. От вершины и переходим к вершине u1, указанной в метке вершины и. От вершины u1 переходим к. вершине и2, указанной в метке вершины u1, и т. д. В некоторый момент мы попадем в вершину v. Теперь надо пройти все вершины в обратном порядке и получить требуемый маршрут.
Рассмотрим задачу нахождения минимального пути из вершины vначвvкон.
Пусть D=(V,X)
– взвешенный ориентированный граф,V={v1,…,vn},n>1. Введем величины,
гдеi=1,…,n,k=0,1,2,…,n–1.
Для каждого фиксированного iиkвеличинаравна длине минимального пути среди
путей изvначвviсодержащих не болееkдуг. Если путей нет, то
.
Положим также
.
Составляем матрицу длин дуг C(D)=[cij] порядкаn:
Утверждение. Приi=2,…,n,k0 выполняется равенство
.