На основе множественного подхода

Определим вначале понятие «сильно связный граф». Ориентированный граф называется сильно связным, если для любых двух различных вершин xi и xj cуществует, по крайней мере, один путь, соединяющий xi и xj. Это определение означает также, что любые две вершины такого графа взаимно достижимы.

На основании введенного понятия сильная компонента (СК) графа может быть определена как максимальный (содержащий наибольшее число вершин) сильно связный подграф исходного графа. Поскольку в сильно связном графе произвольная вершина xj достижима из любой другой вершины xi, то в ориентированном графе существует одна и только одна СК, содержащая данную вершину xi.

Таким образом, в СК каждую вершину xi можно считать одновременно начальной и конечной вершиной пути, определяющего цикл, содержащий xi. Естественно, что в СК должны оставаться только существенные вершины некоторого цикла, содержащего xi. Такое множество существенных вершин определяется пересечением RM(xi) Ç Ç QM(xi) и задает сильную компоненту, содержащую вершину xi. Если эти вершины удалить из графа G = (X,Г), то в оставшемся подграфе можно таким же способом выделить новую СК, содержащую xj Î X – RM(xi) Ç Ç QM(xi). Эту процедуру можно повторять до тех пор, пока все вершины графа G не будут сгруппированы в соответствующие СК. После завершения этой процедуры граф G будет разбит на свои сильные компоненты, а граф G*, отображающий с помощью дуг связь между собой сильных компонент, называют конденсацией графа G.

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

Определение сильных компонент графа

На основе матричных представлений графа

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: