Алгоритм нахождения сильных компонент графа можно описать следующей последовательностью шагов
Шаг 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, преобразованная соответствующим образом, имеет вид
Таким образом, сильные компоненты графа можно находить по следующему алгоритму. Шаг 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|