Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
36
Добавлен:
15.04.2015
Размер:
508.93 Кб
Скачать

2.3. Разбиение графа на подграфы

Операция разбиения графа позволяет в ряде случаев существенно упростить задачу анализа сложной системы, представленной в виде графа. Иногда такое разбиение само является целью анализа графовой модели системы. Изложение методики разбиения будет вестись, как и ранее, на основе множественного подхода (использования операций теории множеств – пп. 1.2,1.3) и матричного подхода (использования теории матриц – пп. 1.4, 1.5).

2.3.1. Определение существенных вершин

на пути из вершины xi в вершину xj

Так как RM(xi), определяемое формулой (2.5), является множеством вершин, достижимых изxi, аQM{xj}, определяемое формулой (2.6), является множеством вершин, из которых можно достигнутьxj, то их пересечениеRM(xi) Ç QM(xj)определяет множество таких вершин, каждая из которых принадлежит, по крайней мере, одному пути, идущему отxiкxj. Эти вершины называются существенными или неотъемлемыми относительно двух концевых вершинxiиxj. Все остальные вершиныxk Ï ÏRM(xi) Ç QM(xi) называются несущественными или избыточными, поскольку их удаление не влияет на пути отxiкxj.

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

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

Определим вначале понятие «сильно связный граф». Ориентированный граф называется сильно связным, если для любых двух различных вершин xiиxjcуществует, по крайней мере, один путь, соединяющий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*.

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

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

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

Соседние файлы в папке ДМ