Цикломатическая матрица и матрица разрезов

Свойства базисных циклов и разрежающих множеств

Базисные циклы и разрезающие множества

Пусть T- остов графа G, а gi* – хорда кодерева T*. Так как Т – ацикличный граф, то граф Т È gi* содержит точно один цикл Ci. Цикл Ci состоит из хорды gi* и тех ветвей остова Т, которые образуют единственную простую цепь между концевыми вершинами хорды gi*. Цикл Ci, возникающий в графе Т È gi*, называется базисным циклом относительно хорды gi* остова Т. Множество всех таких циклов, число которых равно цикломатическому числу µ(G) графа G, называют базисным множеством циклов графа G относительно остова Т.

Пусть G(X) – связный граф и X = {X1, X2} – некоторое раз­биение множества его вершин: X = X1 È X2 и X1ÇX2 =Æ. Множество ребер графа G, одна концевая вершина каждого из которых принадлежит X1, а другая – X2, называется разрежающим множеством или разрезом графа. Удаление разрежающего множества – разрез графа, разде­ляет граф на две компоненты и делает его несвязным.

Пусть T – остов связного графа G, а gj – ветвь этого остова. Удаление ветви из остова разбивает остов на 2 компоненты T1 и T2. Пусть X1 и X2 множества вершин, соответственно, компонент T1 и T2, а G1 и G2 – подграфы графа G, порожденные множествами вершин X1 и X2. Очевидно, что T1 – остов подграфа G1, а T2 – остов подграфа G2. Следовательно, подграфы G1 и G2 связны, а разрез, разделяющий X1 и X2, является разрежающим множеством графа G.

Разрежающее множество Sj, составленное из ребер, связывающих вершины компонент T1 и T2 остова называется базисным разрежающим множеством графа G. При этом, компоненты T1 и T2 остова образованы удалением ветви gj остова T.

1.Базисный цикл Ci относительно хорды gi* кодерева T* связного графа G включает точно те ветви остова T, которым соответствуют базисные разрежающие множества, включающие эту хорду.

2. Базисное разрежающее множество Sj относительно ветви gj остова T связного графа G включает точно те хорды кодерева T*, которым соответствуют базисные циклы, включающие эту ветвь.

Рассмотренные ранее такие понятия как цикломатическое число и ранг, являются одними из важных числовых характеристик графов. Они определяют, соответственно, количество базисных циклов и базисных разрежающих множеств следующим образом:

1. Количество базисных циклов графа G равно цикломатическому числу графа - числу ребер в кодереве.

2. Количество базисных разрежающих множеств равно величине ранга графа - числу ребер в остове.

Построим цикломатическую матрицу C = (cik) и матри­цу разрезов S = (sjk) графа, элементы которых:

1, если gk Î Ci ; 1, если gk Î Sj ;

cik = sjk =

0, если gk ÏCi . 0, если gk ÏSj.

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

Суперпозиция осуществляется с помощью операции сложения по модулю 2 двоичной алгебры, обозначаемой символом Å. Вектор-строка сi = (ci1, ci2, …, cim), описы­вающая цикл Ci графа, вычисляется как покомпо­нентная сумма по модулю 2 векторов, соответствующих базисным циклам. Аналогично, вектор-строка sj = (sj1, sj2, …, sjm) описывает разрез Sj графа и вычисляется как сумма по модулю 2 векторов, соответствующих базисным разрезающим множествам.

Рассмотрим пример построения этих матриц для графа, приведенного на рис. 3.30. Сначала вычислим ранг и цикломатическое число этого. Ранг графа – число ребер в остове (рис. 3.31) – равен 4. Цикломатическое число графа – число ребер в кодереве (рис. 3.32) – равно 3. Следовательно, имеем 3 базисных цикла и 4 базисных разрезающих множества. Далее запишем эти базисные циклы и разрезающие множества.

Базисные циклы:

Базисные разрезающие множества: