
- •1. Множества и бинарные отношения
- •Множества
- •Определения и примеры
- •1.1.1 Множество
- •Операции над множествами
- •Элементы комбинаторики
- •Бинарные отношения
- •Определения и примеры
- •2.1.2 Отображения
- •Операции над отношениями
- •Выполнение операций над отношениями
- •Свойства отношений
- •Эквивалентность и толерантность
- •2.4.1 Эквивалентность
- •2.4.3 Толерантность
- •2.4.6 Задача о наименьшем покрытии (ЗНП)
- •Алгоритм решения ЗНР
- •Отношения порядка
- •Строгий порядок
- •Свойства строгого порядка
- •Некоторые свойства дерева
- •Анализ отношений порядка
- •2.5.8 Решетки
- •2.5.10 Решетка
- •2.5.11 Булева решетка
- •Нормированные булевы решетки
- •Модели нормированной булевой решетки
- •Булевы функции (БФ)
- •Определения и примеры
- •Равенство булевых функций
- •3.3.1 СДНФ
- •3.3.3 СКНФ
- •3.3.5 Представление формул в СДНФ и СКНФ
- •Минимизация булевых функций
- •3.4.1 Импликанта
- •Полные системы булевых функций
- •2. Математическая логика
- •Логика высказываний
- •Основные понятия
- •4.1.7 Логическое следствие
- •4.1.8 Теоремы о логическом следствии
- •Логика предикатов
- •5.0.13 Связанные и свободные переменные
- •Предваренная нормальная форма
- •Стандартная нормальная форма
- •Подстановки и унификация
- •Метод резолюций для логики первого порядка
- •Исчисление высказываний
- •3. Графы
- •Определения и примеры
- •Определения графа
- •Части графа
- •Изоморфизм графов
- •Задание графов с помощью матриц
- •Матрица инциденций
- •Матрица соседства вершин
- •Матрица смежности
- •Типы графов
- •Обыкновенные графы
- •Графы Бержа
- •Помеченные и взвешенные графы
- •Другие способы задания графа
- •Связность графов
- •Маршруты, цепи, циклы
- •Число маршрутов
- •Компоненты связности
- •Нахождение компонент и бикомпонент
- •Кратчайшие цепи
- •Алгоритм Форда
- •Алгоритм Дейкстры
- •Обходы графа
- •Поиск в глубину на графе
- •Поиск в ширину на графе
- •Эйлеровы цепи и циклы
- •Эйлеровы пути
- •Гамильтоновы цепи и циклы
- •Цикломатика графов
- •Цикломатическое число
- •Деревья
- •Свойства дерева
- •Каркасы
- •Алгоритм нахождения каркаса графа.
- •Кратчайший каркас графа.
- •Алгоритм Прима.
- •Теорема о хорде каркаса.
- •Число каркасов графа.
- •Разрезы
- •Пространства суграфов
- •Пространство циклов
- •Пространство разрезов.
- •Потоки в сетях
- •Задача о максимальном потоке
- •Постановка задачи
- •Экстремальные части графа
- •Основные понятия
- •Покрытия
- •Задача о наименьшем покрытии
- •Паросочетания
- •Раскраска вершин графа
- •Хроматическое число
- •Оценки хроматического числа
- •Точные алгоритмы раскраски вершин
258 |
Глава 8. Цикломатика графов |
|
|
разрез U0 графа G, который содержит u, и не содержит других ребер каркаса T .
До к а з а т е л ь с т в о (для связного графа). Пусть T1 = (X1; V1)
иT2 = (X2; V2) те два дерева, на которые распадается каркас T =
(X; V ) после удаления ребра u, а U0 – множество ребер графа G, соединявших X1 и X2 (вместе с u) в исходном графе G.
Множество U0 (содержащее ребро u) – простой разрез. Но все другие разрезы, составленные из ребра u и каких-либо хорд каркаса T , должны содержать множество U0, так как удаление из G каких-либо хорд каркаса не разбивает G на компоненты связности, а удаление хорд вместе с ребром u – разбивает, причем только в том случае, если вместе с u будут удалены и остальные ребра из U0 (т.е. соединяющие X1 и X2).
Следовательно, это единственный разрез, содержащий u, и не содержащий других ребер каркаса. £
Теорема 8.8 (о циклах и разрезах) Любой цикл и любой простой разрез имеют четное число (возможно, нуль) общих ребер.
Д о к а з а т е л ь с т в о . Пусть U0 – простой разрез, а G1 = (X1; U1; P ), G2 = (X2; U2; P ) – компоненты, получившиеся после
удаления U0. Пусть, далее, C – произвольный цикл в G.
Так как U0 – простой разрез, то пара соседних вершин цикла C соединена ребром из U0 тогда и только тогда, когда одна из вершин принадлежит X1, а вторая – X2. Но таких пар вершин должно быть четное число, так как при полном обходе цикла мы попадем из X1 в X2 столько же раз, сколько из X2 в X1.
Это число равно 0, когда хотя бы одно из множеств X1, X2 не содержит вершин цикла C. £
Замечание. В теореме о циклах и разрезах цикл может быть и не простым.
8.4 Пространства суграфов
Пусть дан граф G = (X; U; P ) с пронумерованным мно-
жеством ребер U = fu1; u2; : : : ; umg, m ¸ 1. Все его суграфы G0 = (X; U0; P ) взаимно однозначно соответствуют всевозможным под-
множествам ребер U0 µ U, а каждое такое подмножество (опять же взаимно однозначно) задается вектором
a(G0) = a(U0) = (a1; a2; : : : ; am),
8.4. Пространства суграфов |
259 |
||||||
|
|
|
|
|
|
|
|
у которого |
|
|
|
|
|
|
|
ai = |
8 |
1; |
если ui |
2 U0 |
|
|
|
|
: |
0; |
если ui |
62 |
: |
|
|
|
< |
U0 |
|
|
В дальнейшем будем называть суграфом также подмножество U0 ребер графа и соответствующий ему вектор a(U0).
Определим над суграфами U1; U2 графа G операцию сложения:
U1 + U2 = (U1 [ U2) n (U1 \ U2), что соответствует для векторов
(a1; a2; : : : ; am) + (b1; b2; : : : ; bm) = (a1 + b1; a2 + b2; : : : ; am + bm)
покомпонентному сложению по модулю два:
0 + 0 = 0; 1 + 0 = 1; 0 + 1 = 1; 1 + 1 = 0:
Это означает, что при сложении суграфов ребра накладываются друг на друга так, что ребро, попадая на ребро, с ним взаимно уничтожается.
Множество суграфов данного графа G образуeт относительно сложения коммутативную (абелеву) группу с нулем – нульвектором 0 = (0; 0; :::; 0), соответствующим пустому подмножеству U0 = Â, а обратным элементом для любого элемента является он сам: a + a = 0 (по определению операции сложения). Введенную таким образом группу можно рассматривать как линейное пространство над полем коэффициентов f0; 1g со сложением по модулю два и обычным умножением (0 ¢ 0 = 0; 1 ¢ 0 = 0 ¢ 1 = 0; 1 ¢ 1 = 1):
Это пространство обозначим через S(G) и назовем пространством суграфов графа G (с фиксированной нумерацией ребер).
Линейная зависимость системы элементов a1, a2,: : :, ak 2 S(G) (k ¸ 1) означает существование такой непустой подсистемы, которая в сумме дает нулевой элемент 0. Элементы
e1 = (1; 0; : : : ; 0); e2 = (0; 1; : : : ; 0); : : : ; em = (0; 0; : : : ; 1)
(однореберные графы) линейно независимы, а любой суграф выражается через них линейно:
(a1; a2; : : : ; am) = a1 e1 + a2 e2 + : : : + am em:
Таким образом, эти m однореберных суграфа образуют базис пространства S(G), поэтому его размерность
dim S(G) = m = m(G).

260 |
Глава 8. Цикломатика графов |
|
|
8.4.1 Пространство циклов
Если два суграфа графа G таковы, что множество ребер каждого из них (вместе с инцидентными вершинами) образуют цикл, то их сумма в S(G) не обязательно дает цикл: например, два цикла без общих вершин, или два совпадающих цикла.
Для того чтобы замкнуть подмножество суграфов – циклов в S(G) относительно сложения, вводится понятие квазицикла – суграфа, все вершины которого обладают четными валентностями. Квазициклом будем также называть множество ребер этого суграфа, и соответствующий вектор.
Из определения квазицикла и операции сложения следует, что сумма двух квазициклов есть квазицикл. Поэтому множество всех квазициклов образует в S(G) подпространство – пространство циклов графа G (с фиксированной нумерацией ребер). Обозначим его L(G).
Пусть теперь T – некоторый каркас графа G. Каждой хорде этого каркаса поставим в соответствие тот единственный цикл, который она образует вместе с некоторыми ребрами T , и тем самым получим систему L(T ) µ L(G) из ¸(G) квазициклов.
Покажем, что L(T ) – базис пространства циклов.
Д о к а з а т е л ь с т в о . 1. Система L(T ) линейно независима, так как каждый ее квазицикл содержит ребро (хорду каркаса T ), не входящее ни в один из остальных квазициклов. Это хорошо видно при такой нумерации ребер, когда сначала идут хорды каркаса (их число равно ¸), а потом уже ребра каркаса T . Тогда векторы системы имеют вид:
a1 |
= (1; 0; 0; : : : ; 0; a1 |
; : : : ; a1 |
), |
|
¸+1 |
m |
|
a2 |
= (0; 1; 0; : : : ; 0; a2 |
; : : : ; a2 |
), |
|
¸+1 |
m |
|
. . . . . . . . . . . . . |
|
|
|
a¸ = (0; 0; 0; : : : ; 1; a¸ |
; : : : ; a¸ ). |
||
|
¸+1 |
m |
Далее будем предполагать именно такую нумерацию ребер (до ее отмены).
2. Всякий квазицикл в L(G)
a= (a1; a2; : : : ; a¸; a¸+1; : : : ; am) 2 L(G)
есть сумма квазициклов некоторого подмножества системы L(T ) (в случае a = 0 – пустого)
a= a1a1 + a2 a2 + : : : + a¸ a ¸.
Чтобы подтвердить это, достаточно показать, что

8.4. Пространства суграфов |
261 |
|
|
|
|
b = a1 a1 + a2 a2 + : : : + a¸ a¸ + a = 0
(так как в S(G) вычитание равносильно сложению).
Первые ¸ компонент вектора b нулевые, так как они имеют вид ai + ai; а 0 + 0 = 1 + 1 = 0 (сложение по модулю два). Но вектор b, сумма квазициклов, сам есть квазицикл. Так как его первые ¸ компонент, соответствующие хордам каркаса T , равны нулю, то этот суграф – квазицикл – может содержать только ребра из T . Однако из ребер каркаса невозможно образовать ни одного цикла (все валентности в T не могут быть четными); значит последние m ¡ ¸ компонент вектора b – тоже нули. Таким образом, L(T ) – базис пространства циклов L(G) и размерность его равна
dim L(T ) = j L(T ) j = ¸(G). £
Определение. Матрица ¤(G) = ¤ = ¤m¸ , строки которой представляют собой векторы некоторого базиса пространства циклов
L(T ), называется цикломатической матрицей.
Пример 8.4.
Ребра каркаса T выделены на рисунке жирными линиями. Ребра пронумерованы таким образом, что первые 4 номера назначены хордам, а остальные ребрам каркаса (¸(G) = 4).
Цикломатическая матрица (при такой нумерации и при таком каркасе) для этого графа выглядит так:
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
¤ |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
|
|
5 |
|
|
|
|||||||||
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
|
4 |
|
2 |
|
|
6 |
C1 |
||||||||
|
|
3 |
7 |
|
¤ = |
C2 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
C3 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
|
|
8 |
|
|
|
|||||||||
|
|
|
|
|
C4 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Для примера, цикл (1 1 0 1 0 0 1 1) является суммой базисных циклов C1 + C2 + C4. J
8.4.2Пространство разрезов.
Элемент пространства суграфов L(G) назовем квалиразрезом, если соответствующий суграф имеет с любым циклом в G четное число (возможно, нуль) общих ребер.
262 |
Глава 8. Цикломатика графов |
|
|
Примеры 8.5.
1. Пустой суграф графа G есть квалиразрез (нулевой элемент пространства суграфов) т.к. имеет с любым циклом 0 общих ребер.
2.Всякий разрез – квалиразрез (по теореме 2.8).
3.Если граф G без циклов, то любой его суграф – квалиразрез (циклов нет и число общих ребер – 0).
4.Если x – произвольная вершина графа G, то множество всех непетель, инцидентных x, образует разрез, который является также квалиразрезом. Такой разрез называется центральным с центром в вершине x. JПриставка “квали” (по Зыкову) имеет смысл противоположный “квази”: если “квазицикл” обобщение цикла, то “квалиразрез” – частный случай разреза (за исключением нулевого).
Теорема 8.9 Непустое подмножество U0 µ U ребер графа G является квалиразрезом тогда и только тогда, когда U0 есть объединение попарно непересекающихся простых разрезов.
Д о к а з а т е л ь с т в о . 1. °( Достаточность. Пусть U0 = Pk Ui0,
i=1
где U10; : : : ; Uk0 – попарно непересекающиеся простые разрезы. Всякий цикл графа G имеет (по теореме 2.7) четное число общих ребер с каждым Ui0, а значит и с U0. Поэтому U0 – квалиразрез.
2. °) Необходимость. Наоборот, пусть U0 µ U (U0 =6 Â) определяет квалиразрез (т.е. имеет четное число общих ребер с любым циклом, может быть и нуль).
Во-первых, U0 – разрез графа G. Действительно, предположим, что U0 – не разрез. Тогда ребро u 2 U0 не может быть перешейком в суграфе G0, порожденном подмножеством ребер (U n U0) [ fug, поэтому в G0 существует цикл, содержащий u, т.е. имеющий в G ровно одно общее ребро с U0, что противоречит определению квалиразреза.
Далее, выберем в U0 некоторое подмножество U00 – простой разрез графа G. Если U0 n U00 = Â, то U0 есть объединение системы простых разрезов, состоящий из единственного разреза U00.
Если U0 nU00 6= Â, то U0 nU00 – квалиразрез, так как U0 nU00 имеет четное число общих ребер с любым циклом (U0 имеет четное число общих ребер с любым циклом, т.к. U0 разрез; U00 – тоже, т.к. U00 простой разрез; тогда и U0 n U00 имеет четное число общих ребер с любым циклом).

8.4. Пространства суграфов |
263 |
|
|
|
|
Если U0nU00 не простой разрез, то снова в этом суграфе выделим простой разрез U000 и получим U0 n U00 n U000 – квалиразрез (по той же причине), и т.д.
В конце концов исходное множество U0 окажется представленным в виде объединения попарно непересекающихся простых разрезов, что и требовалось. £
Учитывая результат теоремы 2.9, квалиразрез можно определить как подмножество U0 µ U ребер графа G, если U0 представимо в виде объединения попарно непересекающихся простых разрезов (в частности, U0 = Â). Как следует из теоремы 2.9 оба определения квалиразреза равносильны.
Следствие. Сумма двух квалиразрезов есть квалиразрез.
Д о к а з а т е л ь с т в о . Пусть U1 и U2 – квалиразрезы, а C – множество ребер произвольного квазицикла графа G. Числа
j C \ U1 j; j C \ U2 j четны (по определению квалиразреза ). Тогда четно и число
jC \ (U1 + U2)j = jC \ [(U1 [ U2) n (U1 \ U2)] =
= jC \ U1j + jC \ U2j ¡ 2jC \ U1 \ U2j.
Таким образом, сумма квалиразрезов есть квалиразрез, то есть множество квалиразрезов замкнуто относительно операции сложения. £
Поэтому
множество P(G) всех квалиразрезов образует подпространство в S(G) – пространство разрезов. Покажем, что размерность пространства разрезов P(G) равна
½ = m ¡ ¸ = n ¡ ·,
т.е. некоторая система из ½ квалиразрезов образует базис пространства P(G).
Д о к а з а т е л ь с т в о . Пусть T – некоторый каркас графа G. Каждому ребру каркаса T отнесем тот единственный простой разрез, который оно образует вместе с некоторыми хордами (по теореме 2.7). Эта система разрезов и образует базис пространства разрезов.
Рассуждения относительно базиса P(G) двойственны тем, которые мы проводили при определении размерности пространства циклов.

264 |
Глава 8. Цикломатика графов |
|
|
Во-первых, все квалиразрезы в P(G) линейно независимы, так как каждый из них содержит ребро, не входящее в другие квалиразрезы. Можно перенумеровать все ребра графа таким образом, чтобы ребра каркаса имели первые ½ = m ¡ ¸ номеров, а хорды
– остальные ¸. Тогда система разрезов
1 0 0 : : : 0 a1½+1 : : : a1m 0 1 0 : : : 0 a2½+1 : : : a2m
: : : : : : : : : : : : : : : : : : : : : : : : : : :
0 0 0 : : : 1 a½½+1 : : : a½m
образует базис пространства разрезов.
Во-вторых, всякий квалиразрез, отличный от базисного является либо нулевым, либо может быть образован сложением некоторых элементов P(T ). Действительно, выберем элементы в P(T ) так, чтобы их сумма совпадала с заданным квалиразрезом на ребрах каркаса T . Остальные ребра тоже автоматически совпадут, так как в противном случае сложение заданного квалиразреза с построенной суммой дала бы непустой квалиразрез, в котором присутствуют только хорды каркаса. Но это невозможно, так как никакое множество хорд не может образовать разреза графа.
Таким образом, P(T ) – базис пространства P(G) и dim P(G) = ½(G) (ранг графа G). £
Матрица P (G) = P = Pm½ с ½(G) строками и m(G) столбцами над полем Df0; 1g (поле вычетов по модулю два), строки которой представляют собой элементы некоторого базиса пространства разрезов P(G) называется матрицей разрезов.
Пример 8.6. Ребра каркаса T выделены на рисунке жирными линиями. Ребра графа пронумерованы таким образом, что первые 4 номера назначены ребрам каркаса, а остальные хордам; ½(G) = 4.
Матрица разрезов для этого графа (при данной нумерации, и для данного каркаса) выглядит следующим образом.
|
u@ 1 5 |
|
|
u |
|
|
|
|
|
|
|
|
|
|
|
¡¡ |
|
|
P |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
||
|
|
|
||||||||||||
|
@@¡7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
||
6 |
¡¡@u |
2 |
|
3 |
P = |
P2 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
|
u¡ 8 4 |
@@ |
|
u |
|
P3 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
|
|
|||||||||||||
|
|
|
|
|
|
P4 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
8.4. Пространства суграфов |
265 |
|
|
|
|
Для примера, разрез (11010110) является суммой базисных разрезов P1 + P2 + P4. J
Элементы a = (a1; : : : ; am), b = (b1; : : : ; bm) пространства суграфов назовем ортогональными, если
Pm ai bi = 0 (определение ортогональности векторов).
i=1
Здесь сложение по модулю два, умножение обычное.
Из существования базиса, состоящего из простых циклов в L(G), и базиса P(G) простых разрезов, и того, что любой цикл и любой простой разрез имеют четное число общих ребер, получим, что каждый квазицикл ортогонален простому разрезу. Отсюда следует, что подпространства L(G) и P(G) ортогональны.
А это значит, что для любой матрицы разрезов P (G) и любой цикломатической матрицы ¤(G), (заданных при одной и той же нумерации ребер)
P½£m £ ¤Tm£¸ = 0½£¸, ¤¸£m £ PmT£½ = 0¸£½.