
6.4. Системы разрезов и циклов графа
Прежде всего, определим понятие разрезающего множества и разреза графа.
Рассмотрим
полный графК4 , а также некоторые
его части, полученные путем последовательного
исключения ребер (рис. 6.8).
Примечание.
Простой
граф,
каждая вершина которого соединена
ребром с каждой другой его вершиной,
называют полным
графом.
Полный граф, имеющий
вершин принять обозначать
.
Части G1иG2остаются связными, в частиG3связность нарушается: граф распадается на компоненты – изолированную вершину иК3. Если в подграфеG2 убрать другое ребро, граф останется связным (G4), однакостепень его связностизначительно ниже, чем вК4: для нарушения связностиК4пришлось вынуть из него 3 ребра, для нарушения связностиG4 достаточно удалить одно из трех его ребер.
Определение 6.7. Разрезающим множествомсвязного графа называют множество ребер, которые нужно удалить из графа, чтобы он перестал быть связным.
Пусть V1 иV2– два непересекающихся подмножества множества вершин связного графаG=(V,E).
Определение 6.8. Разрезом графаG называют разрезающее множество, разделяющее граф на компонентыG1= (V1,E1) иG2= (V2,E2).
Отметим, что в ориентированном графе выбирается направление разреза, например, от множестваV1к множествуV2или наоборот. Направление ребер разреза либо совпадает с выбранным направлением, либо противоположно ему. В неориентированном графе направление ребер не учитывается.
Рассмотрим несколько разрезов графа
(рис. 6.13).
(Направление разрезов выбрано произвольно).
Матрицейразрезовграфа называют
матрицуQ
=,
гдеk –
число всех разрезов графа,m
– число его ребер.
Причем для орграфа:
qij = 1, если ребро ej Ri и его направление совпадает с направлением разреза Ri;
qij = –1, если ребро ej Ri и его направление противоположно направлению разреза Ri;
qij = 0 , если ребро ej Ri.
Для неориентированного графа:
qij = 1, если ребро ej Ri;
qij = 0, если ребро ej Ri (i= 1, 2,…, k; j= 1, 2,…, m).
Во многих практически важных задачах, использующих графы, возникает необходимость найти все разрезы графа. Например, при анализе электрических цепей, анализе сетей и пр.
Cоставим несколько строк матрицы разрезов, рассмотренных в приведенном выше примере:
|
|
1 |
2 |
3 |
4 |
5 |
6 |
Q= |
R1 |
–1 |
0 |
0 |
0 |
1 |
–1 |
R2 R3 |
1 0 |
–1 1 |
–1 1 |
0 0 |
0 –1 |
0 1 |
Подчеркнем, что составление матрицы Q осталось незаконченным, существует еще несколько разрезов, которые должны дать новые строки в матрицеQ.
Строки матрицы разрезов можно рассматривать как двоичныевекторылинейного пространства над полемB={0,1}. Их можно складывать по модулю 2, находить их скалярное произведение.
Наряду с разрезами, большое значение в прикладных задачах имеют циклыграфа. Для записи циклов графа используетсяматрицациклов, илицикломатическаяматрица. Составляется эта матрица аналогично матрице разрезов. В орграфе предварительно выбираетсянаправлениеобходацикла.
Пусть В=–
цикломатическая матрица графа
G. Здесьk
–число всех цикловG,m– число его ребер.
Причем для орграфа:
bij = 1, если ejCi (i-му циклу графа G) и направление ребра совпадает с направлением обхода цикла Ci ;
bij = –1, если ej Ci и направление ребра ej противоположно направлению обхода цикла;
bij = 0, если ej Ci .
Для неориентированного графа:
bij = 1, если ej Ci ;
bij = 0, если ej Ci (i= 1, 2,…, k; j= 1, 2,…, m).
Запишем несколько строк матрицы циклов графа, представленного на рис. 6.13:
С1={1,3,5};
C2 = {2,4,3};
C3 = {1,2,4,5}.
1 2 3 4 5 6 | |||||||
В= |
С1 |
1 |
0 |
1 |
0 |
1 |
0 |
С2 |
0 |
1 |
–1 |
1 |
0 |
0 | |
С3 |
1 |
1 |
0 |
1 |
1 |
0 | |
|
. . . |
. . . |
. . . |
. . . |
. . . |
. . |
Строки цикломатической матрицы, как и строки матрицы разрезов, можно рассматривать как двоичные векторы линейного пространства над полемB={0,1}.
Любой остов графа GпорождаетбазиснуюсистемуцикловграфаGибазиснуюсистемуразрезовэтого графа. Рис. 6.14, 6.15 и 6.16 иллюстрируют получение базисной системы циклов и базисной системы разрезов графаG относительно выбранного остова.
Пусть G – связный граф и T – какой-либо из остовов этого графа (рис. 6.14).
Базисная
система
циклов
графа
G
относительно
остова
T.
Если дополнить остов Т каким-либо ребром коостова Т*, образуется ровно один цикл (см. утверждение 3 в разделе 6.3) графа G. Перебирая все ребра коостова Т*, получим систему циклов графа, которую и называют базисной системой циклов графа G относительно остова T.
При составлении цикломатической матрицы системы базисных циклов графа G необходимо учесть следующее:
1) выбор остова Тразбивает множествоЕребер графа на два непересекающихся подмножества: множество ребер коостоваТ*и множество ребер остова остоваТ;
2) каждое ребро коостова порождает один и только один базисный цикл.
Вбазисной цикломатической матрице первые
столбцы соответствуют ребрам коостова,
за ними идут столбцы, соответствующие
ребрам остова. Число строк матрицы
(число базисных циклов) равно числу
ребер коостова.
|
|
Ребра коостова Т* |
Ребра остова Т | ||||||||
|
|
e3 |
e4 |
e6 |
e7 |
e10 |
e1 |
e2 |
e5 |
e8 |
e9 |
Bf = |
Cf1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
Cf2 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 | |
Cf3 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 | |
Cf4 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 | |
Cf5 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 | |
|
|
U |
BfT |
Базисная цикломатическая матрица Bf графа Gраспадается на две подматрицы:U – единичная матрица, соответствующая ребрам коостоваТ*, порождающим базисные циклы,BfT– матрица, соответствующая ребрам остоваТ, называемуюфундаментальной цикломатической матрицей графа G по остову T.
Пусть связный граф G имеетnвершин иm ребер. Любой остов Tтакого графа содержитn–1ребро, и, следовательно, соответствующий ему коостовT* содержит k = m–(n–1) ребер. Учитывая, что каждое реброТ* порождает базисный цикл, можно утверждать, чтолюбаясистемабазисныхцикловграфасостоитиз k = m–n+1циклов.
Таким образом, любая базисная цикломатическая матрица графа G –это матрица размерности km. Она состоит из двух подматриц: единичной матрицы порядкаk и фундаментальной цикломатической матрицы графаG по остовуT, которая имеет размерностьk(n–1).
Bf = [UBfT], |
(6.2) |
где Bf – базисная цикломатическая матрица графа Gпо остовуТразмерностьюkm (k=m–n+1); U– единичная матрица порядкаk, соответствующая ребрам коостоваТ*; BfT – фундаментальная цикломатическая матрица графаG по остовуTразмерностьюk(n–1), соответствующая ребрам остоваТ.
Найдем базисную систему разрезов, базисную матрицу разрезов и фундаментальную матрицу разрезов графаG по остову T(см. рис. 6.16). Заметим, что если изъять одно из ребер остоваТ, то остов распадется на две компоненты, при этом множество вершин графа окажется разбитым на два непересекающихся подмножества T1 иТ2. Разрез графа, соответствующий такому разбиению, является одним из искомых базисных разрезов. Проделывая аналогичную процедуру для каждого ребра остоваТ, получим всю систему базисных разрезов графа. Поскольку число ребер любого остова на единицу меньше числа вершин графа и каждое ребро дает один базисный разрез, то число базисных разрезов по любому остову равноn–1, гдеn– число вершин графа.
На рис. 6.16 показана процедура составления системы базисных разрезов графа Gпо остовуТ, изображенных на рис. 6.14.
Запишем матрицу полученной системы базисных разрезов:
|
|
Ребра коостова Т* |
Ребра остова Т | ||||||||
|
|
e3 |
e4 |
e6 |
e7 |
e10 |
e1 |
e2 |
e5 |
e8 |
e9 |
Qf = |
Rf1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
Rf2 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 | |
Rf3 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 | |
Rf4 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 | |
Rf5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 | |
|
|
QfT |
U |
Матрица базисных разрезов графа относительно остова Траспадается на две подматрицы:QfT– матрицу размерностью(n–1)k, (k=m–n+1), соответствующую ребрам коостоваТ*, которая является или фундаментальной матрицей разрезов графаGотносительно остоваT,и единичную матрицуUпорядка(n–1), соответствующую ветвям остоваT:
Q f = QfT U . |
(6.3) |
Строки матриц Bf иQf можно рассматривать как двоичные векторы. Такие векторы можно складывать по модулю 2 и находить их скалярное произведение. Систему векторов матрицыBf можно рассматривать какбазиспространствацикловграфа, а матрицыQf – какбазиспространстваразрезовграфа. В самом деле, как строки матрицыBf, так и строки матрицыQf образуют линейно независимые системы двоичных векторов, поскольку каждая из этих матриц содержит единичную подматрицу, порядок которой равен числу строк всей матрицы. Рассмотрим для примера матрицуQf. Составим линейную комбинацию строк этой матрицы:
R=x1Rf1x2Rf2x3Rf4x4Rf4x5Rf5,
где коэффициенты x1,x2, x3, x4, x5 принимают значения 0 или 1.
Такая линейная комбинация может быть равна нулевому вектору лишь в том случае, если все xi (i=1, 2, 3, 4, 5) равны 0, иначе координаты соответствующие ребрам коостоваТ*будут ненулевыми. Это и означает, что система строк матрицыRf линейно независима.
Любая линейная комбинация строк матрицы Bf или матрицыQfдает соответственно цикл или разрез графа.
Проверим это утверждение на примере матрицы Qf.
R1= Rf1Rf2=(1, 0, 1, 1, 0 1, 1, 0, 0, 0).
Удаление ребер {e3,e6, e7, e1, e2} разрезает графG на компоненты{v1, v3} и{v2, v4, v5, v6}(рис. 6.17).
R2=Rf1Rf2Rf4Rf4Rf5=(1, 0, 0, 1, 0 1, 1, 1, 1, 1).
Удаление ребер {e3, e7, e1, e2, e5, e8, e9} разрезает граф на компоненты{v1, v3, v5}, {v2, v4}, {v6} (рис. 6.17).
Справедливо
следующее утверждение.
Утверждение. Любая строка матрицы циклов графаGортогональна любой строке матрицы его разрезов.
(Доказательство этого утверждения можно найти в[“Графы, сети, алгоритмы” (М. Свами, К. Тхуласираман)]).
Из утвержденияследует равенство:
QBt = BQt = 0, |
(6.4) |
где Bи Q– матрицы циклов и разрезов,Qtи Bt – транспонированные матрицы разрезов и циклов.
Проверим равенство (6.4) на примере матриц Bf и Qf, рассмотренных выше.
.
Отметим, что равенство (6.4) справедливо как для ориентированного, так и для неориентированного графов.
Для матриц базисных циклов и разрезов равенство (6.4) можно переписать в следующем виде:
для не ориентированного графа
|
(6.5) |
для орграфа
|
(6.6) |