Независимые циклы
Определение
З
7
и тд.
Цикл называется линейно-зависимым от некоторой совокупности других цикло, если его можно построить линейной комбинацией циклов этой совокупности. Чтобы пояснить понятие линейной комбинации, рассмотрим совокупность двух циклов приведенного графа:
1 .
2.
Произведем их обход. Исключая из обхода ребро (v3,v5), пройденное туда и обратно, получаем новый цикл
Этот цикл построен в результате линейной комбинации исходных циклов и является линейно-зависимым от них. Таким образом, непосредственно на графе получено линейное построение зависимого цикла. Приведем определение линейно комбинации циклов. Представим каждый цикл двоичным m-разрядным кодом, где m-число ребер графа. Пронумеруем ребра. Для i-ого цикла компонента Цij вектора Цi определяется следующим образом:
=
Тогда линейно комбинацией вектора Цi называется вектор, полученным сложением по модулю два двух векторов циклов.
Выполним сложение векторов циклов 1 и 2:
1 2 3 4 5 6 7 - ребра
1 1 0 1 1 0 0 – вектор
0 0 0 0 1 1 1 – Вектор
- – результирующий вектор цикла.
Системой независимых циклов графа называется максимальная линейно независимая совокупность циклов графа.
Цикломатическое число . Граф в общем случае может иметь не одну систему независимых циклов, однако число циклов в системе для каждого графа определяется его структурой однозначно. Число называется цикломатическим числом графа.
Теорема (Эйлера) Мощность системы независимых циклов в графе определяется формулой =m-n+p, где m – число ребер; n- число вершин; p – число компонент связности.
В примере = 7-5+1=3 т.е. в систему включаются три взаимно независимых цикла, каждый следующий цикл можно построить их линейной комбинацией.
Система независимых циклов плоского графа
Теорема. Края конечных граней плоского графа составляют систему независимых циклов.
Р
Можно предложить другое плоское изображение графа, получим другую систему независимых циклов, равную =3:
1.
2.
?
В электронике, электротехнике и системотехнике используют данную закономерность для анализа и распределениях компонент-схем.
Алгоритм построения системы независимых циклов графа
Строится произвольный остов графа. В исходном графе отмечаются ребра, включенные в остов.
Выбирается очередное неотмеченное ребро и строится цикл, содержащий это ребра и ребра остова. Такой цикл обязательно существует, так как вершины остова связаны. Рассмотренное ребро отмечается и если есть еще неотмеченное ребро, то выполняется п.2, иначе – п.3
П
Система циклов
=9-7+1=3
П
Система циклов
=9-7+2=4
Матрицы циклов и сечений ориентированных графов
В
|
|
|
|
|
|
|
-1 |
1 |
0 |
1 |
0 |
-1 |
0 |
Максимальное линейно независимое множества векторов, объединенных по строкам, образуют матрицу Ц, называемую матрицей циклов графа.
Сечением (разрезом) S графа G называется определенное подмножество дуг, удаление которого увеличивает число компонент связности, так что подграф G\S состоит из двух частей и ( ), связь между которым в графе G осуществлялась только дугами сечения S.
Вершины из , которые инцидентны дугам S, называются первой стороной сечения; вершины из , инцидентные S – второй стороной сечения S.
Следовательно, непересекающиеся подмножества вершин и , образуют разбиение множества вершин на классы V= графа G. Для сечения (как и для цикла) вводится произвольная ориентация – направление от одной стороны сечения к другой.
Вектор-сечение – это строка , у которой компонента =0, когда дуга не входит в сечение S. Если дуга принадлежит сечение согласно принятой ориентации сечения, то =1, если не совпадает, то =-1. Примем для сечения , то вектор сечение имеет вид:
|
|
|
|
|
|
|
(0 |
0 |
-1 |
1 |
0 |
1 |
0) |
=
На основе сечений можно образовать матрицу сечений, строки которой образуют максимальный линейно-независимый набор векторов сечений. Столбцы матрицы сечений и циклов нумеруются одинаково – дугами графа, а число строк может быть различным. Сечение S называется фундаментальным (по древу Т) , если оно содержит в точности одну дугу дерева Т, а ориентация сечения S согласована с ориентацией дуги . Следовательно, задание дуги дерева полностью определяет соответствующее фундаментальное сечение.
На рисунке пунктирами показаны фундаментальные сечения по дереву Т.
Фундаментальной матрицей , по дереву T, называется матрица, строками которой являются вектор-сечения, фундаментальные по дереву Т. Выделенному дереву Т на рисунке отвечает фундаментальная матрица сечений, столбцы которой помечены номерами дуг всего графа, строки – номерами дуг дерева, точнее, номерами соответствующих фундаментальных сечений:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
2 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
= 3 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
4 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
5 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
6 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
Фундаментальным циклом графа D (по дереву T) называется всякий цикл, содержащий в точности одну дугу кодерева D\T и ориентированный согласованно с направлением дуги . Ясно, что каждая дуга e кодерева (кодеревом называется дополнением однозначно задает фундаментальный цикл , который дуга замыкает на дереве Т.
Фундаментальной матрицей циклов (по дереву Т) называется матрица, строки которой есть все фундаментальные вектор-циклы по дереву Т. Если на графе фундаментальные вектор-циклы поменять номерами задающих дуг кодерева , то фундаментальная матрица циклов такова:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
7 |
1 |
-1 |
-1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
=8 |
0 |
0 |
-1 |
-1 |
0 |
0 |
0 |
1 |
0 |
0 |
9 |
0 |
0 |
-1 |
-1 |
-1 |
0 |
0 |
0 |
1 |
0 |
10 |
0 |
0 |
0 |
0 |
0 |
-1 |
0 |
0 |
0 |
1 |
Замечание. Относительно разбиения множества всех дуг на дуги дерева и кодерева фундаментальные матрицы сечений и циклов разбиваются на блоки вда:
; ;
Информационные блоки , фундаментальных матриц (по одному дереву) виражаються друг через друга по формуле:
;
Поэтому достаточно вычислить одну из фундаментальных матриц или .