![](/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 Решение задачи
- •Заключение
- •Библиографический список
Лекция 9 Пути и связность в ориентированных графах
План лекции
Виды связности
Выделение компонент сильной связности
Ключевые слова: сильно связный, односторонне связный слабо связный орграф, несвязный орграф, сильно связанная компонента, матрица достижимости, матрица сильной связности.
1 Виды связности
Последовательность v1x1v2x2v3…xkvk+1, (где k1, viV, i=1,…,k+1, xiX, j=1,…,k), в которой чередуются вершины и дуги и для каждого j=1,…,k дуга xj имеет вид (vj,vj+1), называется путем из v1 в vk+1.
Цепь – незамкнутый путь, в котором все дуги попарно различны.
Контур – замкнутый путь.
Простой путь – путь (контур), в котором ни одна дуга не встречается дважды.
Простой контур – контур, в котором все вершины попарно различны.
Гамильтонов путь (контур) – простой путь (контур), проходящий через все вершины.
Эйлеров путь ( контур) – путь (контур), содержащий все дуги графа по одному разу.
Длина пути – число дуг в пути.
Говорят, что вершина w ориентированного графа D достижима из вершины v, если либо w=v, либо существует путь из v в w.
Полупуть в ориентированном графе — это последовательность дуг, такая, что любые две соседних дуги различны и имеют общую инцидентную им вершину.
Иначе говоря, полупуть — это путь, который проходится без учета ориентации ребер.
Ориентированный граф называется сильно связным, если любые две вершины достижимы друг из друга.
Орграф называется односторонне связным, если для любой пары вершин существует путь между ними хотя бы в одну сторону.
Орграф называется слабо связным, если между любой парой вершин существует полупуть.
Орграф называется несвязным, если между некоторой парой вершин нет полупути.
Компонентой сильной связности ориентированного графа D называется его сильно связный подграф, не являющийся собственным подграфом никакого другого сильно связного подграфа ориентированного графа D.
2 Выделение компонент сильной связности
Обозначим через Ak=[a(k)ij] k-ю степень матрицы смежности A(D).
Элемент a(k)ij матрицы Ak ориентированного псевдографа D=(V,X) равен числу всех путей длины k из vi в vj.
Матрица достижимости ориентированного графа D – квадратная матрица T(D)=[tij] порядка n, элементы которой равны
Матрица сильной связности ориентированного графа D – квадратная матрица S(D)=[sij] порядка n, элементы которой равны
Матрица связности графа G – квадратная матрица S(G)=[sij] порядка n, элементы которой равны
Пусть D=(V,X) – ориентированный граф, V={v1,…, vn}, A(D) – его матрица смежности. Тогда
T(D)=sgn[E+A+A2+A3+… An-1],
S(D)=T(D)TT(D) (TT-транспонированная матрица, - поэлементное умножение).
Для того, чтобы выделить компоненты сильной связности, необходимо сначала найти матрицу достижимости T(D) ориентированного графа, затем – матрицу сильной связностиS(D) ориентированного графа (она должна быть симметрической).
Алгоритм выделения компонент сильной связности
1. Присваиваем p=1 (p
– количество компонент связности),.
2. Включаем в множество вершин Vp компоненты сильной связности Dp вершины, соответствующие единицам первой строки матрицы Sp. В качестве матрицы A(Dp) возьмем подматрицу матрицы A(D), состоящую из элементов матрицы A, находящихся на пересечении строк и столбцов, соответствующих вершинам из Vp.
3. Вычеркиваем из Sp строки и столбцы, соответствующие вершинам из Vp. Если не остается ни одной строки (и столбца), то p- количество компонент сильной связности. В противном случае обозначим оставшуюся после вычеркивания срок и столбцов матрицу как Sp+1, присваиваем p=p+1 и переходим к п. 2.