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

Алгоритм нахождения сильных компонент графа можно описать следующей последовательностью шагов




Шаг 1. G = (X, V) – данный граф. Определение сильных компонент графа (СК) начать с произвольной вершины хi Î Х. Найти R (xi) и Q (xi). Положить СК(хi) = - сильная компонента графа, содержащая вершину хi.

Шаг 2. Определить множество . Если ¹Æ, то и перейти к шагу 1, иначе останов, так как все сильные компоненты определены.

 

Граф G*= (X*,V *) определяется так: каждая его вершина представляет множество вершин некоторой сильной компоненты графа G, дуга (xi *, xj *) существует в G * тогда и только тогда, когда в G существует дуга (xi, xj), такая, что xi принадлежит ком­поненте, соответствующей вершине xi *, а xj –компоненте, соответствующей вершине xj*. Граф G* называют конденсацией графа G.

Совершенно очевидно, что конденсация G* не содержит контуров, поскольку наличие контура означает, что любые вершины этого контура взаимно достижимы. Поэтому совокупность всех вершин контура принадлежит некоторой СК в G* и, следовательно, содержится в СК графа G, что противоречит определению конденсации, в силу которого вершины из G * соответствуют СК в G.

Пример. Для графа G, приведенного на рис. 4.25, найти сильные ком­поненты и построить конденсацию G *.

 

 

 

Найдем СК в G, содержащую вершину x 1.

Из соотношений (4.3) и (4.4) получаем

R (x 1) ={ x 1, x 2, x 4, x 5, x 6 , x 7, x 8, x 9, x 10 }

Q (x 1) ={ x 1, x 2, x 3, x 5, x 6 }

Следовательно, СК, содержащая вершину x 1, является порожденным подграфом

R (x 1) Q (x 1) = ({ x 1, x 2, x 5, x 6 })

Аналогично, СК, содержащая вершину x 8, есть порожденный подграф ({ x 8, x 10}), СК содержащая x 7 – подграф ({ x 4, x 7, x 9}), СК, содержащая x 11, –подграф ({ x 11, x 12, x 13 }) и СК, содержащая x 3, – подграф ({ x 3}). Следует отметить, что последняя СК со­стоит из единственной вершины графа G. Конденсация G* приведена на рис. 4.26.

 

Рис. 4.26. G * - конденсация графа G

 

Процедуру, описанную выше и связанную с нахождением СК графа, можно сделать более удобной, если непосредственно исполь­зовать матрицы R и Q. Пусть запись R Ä Q означает поэлементное умножение этих матриц. Тогда сразу видно, что строка xi, матрицы R Ä Q содержит единицы только в тех столбцах xj, для которых выполняется усло­вие: вершины xi и xj взаимно достижимы; в других местах строки xi стоят нули. Таким образом, две вершины находятся в одной и той же СК тогда и только тогда, когда соответствующие им стро­ки (или столбцы) в матрице R Ä Q идентичны. Вершины, кото­рым соответствуют строки, содержащие 1 в столбце xj, образуют множество вершин СК, содержащей xj. Отсюда мгновенно сле­дует, что матрицу R Ä Q можно преобразовать путем транспони­рования строк и столбцов в блочно-диагональную. Каждая из диа­гональных подматриц этой матрицы соответствует СК графа G и содержит только единичные элементы, все остальные элементы блочно-диагональной матрицы равны нулю. Для приведенного ранее примера матрица R Ä Q, преобразованная соответствую­щим образом, имеет вид

 

  x 1 x 2 x 5 x 6 x 8 x 10 x 4 x 7 x 9 x 11 x 12 x 13 x 3
x 1 x 2 x 5 x 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1        
x 8 R Ä Q = x 10   1 1   1 1      
x 4 x 7 x 9     1 1 1 1 1 1 1 1 1    
x 11 x 12 x 13       1 1 1 1 1 1 1 1 1  
x 3          

Таким образом, сильные компоненты графа можно находить по следующему алгоритму.

Шаг 1. G – данный граф. Для G построить матрицу достижимости R и найти матрицу контрдостижимости, транспонировав матрицу R, Q = RT.

Шаг 2. Получить матрицу C, осуществив поэлементное умножение матриц R и Q, т.е. С = R Ä Q, где Ä – поэлементное умножение матриц.

Шаг 3. Преобразовать матрицу С к блочно-диагональ-ному виду путем перестановки строк и столбцов. Каждая из диагональных подматриц соответствует сильной компоненте графа G. Останов.

Базы и антибазы

База или вершинная база В есть множество вершин графа G, из которого достижима любая вершина графа и которое является минимальным в том смысле, что не существует собственного подмножества в В, обладающего таким свойством достижимости.

Базой является такое множество вершин графа G, которое удовлетворяет следующим двум условиям:

1) каждая вершина графа G достижима хотя бы из одной вершины множества В;

2) в В нет вершины, которая достижима из другой вершины множества В.

Из этих условий получаются следующие утверждения.

1. В множестве В нет двух вершин, которые принадлежат одной и той же СК графа G.

2. В любом графе без контуров существует единственная база. Она состоит из всех таких вершин, полустепени захода которых равны 0.

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

Шаг 1. G – данный граф. Для G найти все сильные компоненты.

Шаг 2. Построить конденсацию G * графа G.

Шаг 3. Определить базу В * конденсации G *, включив в В * те вершины G *, полустепени захода которых равны 0.

Шаг 4. Построить базу В графа G из В *, взяв по одной вершине из сильных компонент, входящих в В *. Останов.

Пример. Для графа G, приведенного на рис. 4.25, конденсация показана на рис. 4.26. Базой графа G * является множества , поскольку и - единственные вершины в графе G * с полустепенями захода, равными 0. Базами графа G являются , и .

Понятие, двойственное понятию базы есть антибаза. Антибаза графа G есть такое минимально возможное множестве вершин, что какова бы ни была вершина графа G, из нее достижима некоторая вершина в . Свойства антибаз аналогичны свойствам баз, надо только «прямые» понятия заменить на двойственные. Опишем алгоритм нахождения антибаз графа.

Шаг 1. G - данный граф. Для G найти все сильные компоненты.

Шаг 2. Построить конденсацию G * графа G.

Шаг 3. Определить антибазу ` В * конденсации G *, включив в` В * те вершины G *, полустепени исхода которых равны 0.

Шаг 4. Построить антибазу графа G из ` В *, взяв по одной вершине из сильных компонент, входящих в` В *. Останов.

В примере с графом G, изображенным на рис. 4.25, конденсация графа G * (рис. 4.26) содержит только одну вершину с полустепенью исхода, равной 0. Таким образом, антибаза графа G * , а антибазами графа G являются множества , и .

Понятия связности и достижимости применяют к исследованию структуры организаций. Например, если граф представляет структуру руководства или влияний некоторой организации, то элементы каждой сильной компоненты имеют равную власть и равное влияние друг на друга. Базу графа можно интерпретировать как «коалицию», включающую наименьшее число лиц, обладающих властью над каждым членом организации.

Поделиться:





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



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