Цикломатическая матрица и матрица разрезов
Свойства базисных циклов и разрежающих множеств
Базисные циклы и разрезающие множества
Пусть 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 базисных разрезающих множества. Далее запишем эти базисные циклы и разрезающие множества.
Базисные циклы:
Базисные разрезающие множества: