Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Задачи для самостоятельного решения

Практическая работа № 2 (4 часа)

 

Тема: Выделение компонент сильной связности

Цель работы: Формирование умения находить матрицы сильной связности, выделять компоненты сильной связности заданного орграфа.

Материально-техническое оснащение:

Руководство к практической работе.

 

Теория

Подграфом графа G (ориентированного графа D) называется граф, все вершины и ребра которого содержатся среди вершин и ребер графа G (D).

Подграф называется собственным, если он отличен от самого графа.

Говорят, что вершина w ориентированного графа D (графа G) достижима из вершины v, если либо w=v, либо существует путь (маршрут) из v в w.

Граф (ориентированный граф) называется связным (сильно связным), если для любых двух его вершин v, w существует маршрут (путь), соединяющий v и w.

Компонентой связности графа G (сильной связности ориентированного графа D) называется его связный (сильно связный) подграф, не являющийся собственным подграфом никакого другого связного (сильно связного) подграфа графа G (ориентированного графа D).

Матрицы достижимости и связности

Пусть A(D) – матрица смежности ориентированного псевдографа D=(V,X) (или псевдографа G=(V,X)), где V={v1,…, vn}. Обозначим через Ak=[a(k)ij] k-ю степень матрицы смежности A(D).

Элемент a(k)ij матрицы Ak ориентированного псевдографа D=(V,X) (псевдографа G=(V,X)) равен числу всех путей (маршрутов) длины k из vi в vj.

Матрица достижимости ориентированного графа D − квадратная матрица T(D)=[tij] порядка n, элементы которой равны

Матрица сильной связности ориентированного графа D − квадратная матрица S(D)=[sij] порядка n, элементы которой равны

Матрица связности графа G − квадратная матрица S(G)=[sij] порядка n, элементы которой равны

Утверждение 1. Пусть G=(V,X) – граф, V={v1,…, vn}, A(G) – его матрица смежности. Тогда

S(G)=sign[E+A+A2+A3+… An-1] (E- единичная матрица порядка n).

Утверждение 2. Пусть D=(V,X) – ориентированный граф, V={v1,…, vn}, A(D) – его матрица смежности. Тогда

1) T(D)=sign[E+A+A2+A3+… An-1],

2) S(D)=T(D)&TT(D) (TT-транспонированная матрица, &- поэлементное умножение).

 

Алгоритм выделения компонент сильной связности

1. Присваиваем p=1 (p − количество компонент связности),

2. Включаем в множество вершин Vp компоненты сильной связности Dp вершины, соответствующие единицам первой строки матрицы Sp. В качестве матрицы A(Dp) возьмем подматрицу матрицы A(D), состоящую из элементов матрицы A, находящихся на пересечении строк и столбцов, соответствующих вершинам из Vp.

3. Вычеркиваем из Sp строки и столбцы, соответствующие вершинам из Vp. Если не остается ни одной строки (и столбца), то p- количество компонент сильной связности. В противном случае обозначим оставшуюся после вычеркивания срок и столбцов матрицу как Sp+1, присваиваем p=p+1 и переходим к п. 2.

Пример

Выделим компоненты связности ориентированного графа, изображенного на рис. 6. В данной задаче количество вершин n=5.

Рис. 6.

Значит, для данного ориентированного графа матрица смежности будет иметь размерность 5×5 и будет выглядеть следующим образом

Найдем матрицу достижимости для данного ориентированного графа по формуле 1) из утверждения 3:

Следовательно,

Таким образом, матрица сильной связности, полученная по формуле 2) утверждения 3, будет следующей:

Присваиваем p=1 и составляем множество вершин первой компоненты сильной связности D1: это те вершины, которым соответствуют единицы в первой строке матрицы S(D). Таким образом, первая компонента сильной связности состоит из одной вершины

Вычеркиваем из матрицы S1(D) строку и столбец, соответствующие вершине v1, чтобы получить матрицу S2(D):

Присваиваем p=2. Множество вершин второй компоненты связности составят те вершины, которым соответствуют единицы в первой строке матрицы S2(D), то есть исходного графа D − в ее качестве возьмем подматрицу матрицы A(D), состоящую из элементов матрицы A, находящихся на пересечении строк и столбцов, соответствующих вершинам из V2:

Вычеркиваем из матрицы S2(D) строки и столбцы, соответствующие вершинам из V2,чтобы получить матрицу S3(D), которая состоит из одного элемента:

и присваиваем p=3. Таким образом, третья компонента сильной связности исходного графа, как и первая, состоит из одной вершины

Таким образом, выделены 3 компоненты сильной связности ориентированного графа D:

D1: D2: D3:

Задачи для самостоятельного решения

 

1. Орграф задан матрицей смежности. Определить матрицу сильной связности S(D). Используя алгоритм найти количество компонент сильной связности орграфа D и определить матрицы смежности этих компонент. Построить изображение орграфа и его компонент сильной связности.

 

а) 0 1 0 0 1 0 б) 0 1 0 0 0

0 0 0 0 0 1 1 0 0 0 0

0 1 0 1 0 0 A(D)= 0 1 0 1 0

A(D)= 0 0 1 0 0 1 0 0 0 0 1

1 0 0 1 0 1 0 0 1 0 0

0 1 0 0 0 0

 

 

2.Форма отчета

1.Разобрать решенные задачи и записать в тетрадь

2. Выполнить задачи для самостоятельного решения и оценить свою работу по следующей схеме:

1 задача – 3 балла

2 задачи - 5 баллов

 

Задание на внеаудиторную самостоятельную работу

1. С помощью матрицы смежности найти компоненты сильной связности ориентированного графа D.

а) б) в)

 

 

2. Ответить на контрольные вопросы

 

Контрольные вопросы.

1. Подграф

2. Собственный подграф

3. Компонента связности, сильной связности

4. Матрица достижимости орграфа

5. Матрица сильной связности орграфа

6. Матрица связности графа

7. Нахождение матрицы связности, сильной связности

 

 

Литература

1. В.Н. Нефедов «Курс дискретной математики»

г. Москва, изд. МАИ, 2010 год

2. В. Новиков «Курс дискретной математики для программистов»

г. Москва, 2012 год

3.М.С. Спирина, П.А. Спирин «Дискретная математика»- М.: Издательский центр «Академия», 2008 год

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...