/
Author: Свами М. Тхуласираман К.
Tags: электрические сети вычислительная математика теория графов вычислительная техника
Year: 1984
Text
М.Свами, К.Тхуласираман
ГРАФЫ, СЕТИ И АЛГОРИТМЫ
М.: Мир, 1984,454 стр.
В книге специалистов из Канады и Индии излагаются основы теории графов и
ее применение к сетям с сосредоточенными параметрами в электро- и
вычислительной технике. Рассматриваются вопросы цикломатики, связности,
устойчивости, вложимости и раскраски графов, что позволяет определить
чувствительность сети, а также разработать эффективные алгоритмы анализа и
оптимизации графов.
Для специалистов по электротехническим сетям и вычислительной технике.
Содержание
Предисловие редактора перевода 5
Предисловие 7
Часть I. Теория графов 11
1. Основные понятия 11
1.1. Основные определения 11
1.2. Подграфы и дополнения 13
1.3. Маршруты, цепи, пути и циклы 16
1.4. Связность и компоненты графа 18
1.5. Операции Над графами 19
1.6. Специальные графы 23
1.7. Точки сочленения и разделимые графы 25
1.8. Изоморфизм и 2-изоморфизм 27
1.9 Замечания, касающиеся литературы 29
Упражнения 30
2. Деревья, разрезающие множества и циклы 33
2.1. Деревья, остовы и ко деревья 33
2.2. k-деревья, остовные к-деревья, леса 37
2.3. Ранг и цикломатическое число 39
2.4. Базисные циклы 39
2.5. Разрезающие множества 40
2.6. Разрез 41
2.7. Базисные разрезающие множества 43
2.8. Остовы, циклы и разрезающие множества 44
2.9. Замечания, касающиеся литературы 47
Упражнения 48
3. Эйлеровы и гамильтоновы графы 50
3.1. Эйлеровы графы 51
3.2. Гамильтоновы графы 55
3.3. Замечания, касающиеся литературы 60
Упражнения 60
4. Графы и векторные пространства 62
4.1. Группы и поля 62
4.2. Векторные пространства 64
4.3. Векторное пространство графа 67
4.4. Размерность подпространств циклов и разрезов 71
4.5. Связь между подпространствами циклов и разрезов 73
4.6. Ортогональность подпространств циклов и разрезов 74
4.7. Замечания, касающиеся литературы 76
Упражнения 76
5. Ориентированные графы 78
5.1. Основные определения и понятия 78
5.2. Графы и отношения 84
5.3. Ориентированные и корневые деревья 85
5.4. Ориентированные эйлеровы графы 88
5.5. Ориентированные остовы и ориентированные эйлеровы цепи 91
5.6. Ориентированные гамильтоновы графы 93
5.7. Ациклические ориентированные графы 95
5.8. Турниры 96
5.9. Замечания, касающиеся литературы 98
Упражнения 98
6. Матрицы графов 100
6.1. Матрица инциденций 100
6.2. Матрица разрезов 102
6.3. Цикломатическая матрица 105
6.4. Соотношение ортогональности 108
6.5. Подматрицы матриц разрезов, инциденций и циклов 110
6.6. Унимодулярные матрицы 113
6.7. Число остовов 115
6.8. Число остовных 2-деревьев 118
6.9. Число ориентированных остовов в ориентированном графе 120
6.10 Матрица смежности 123
6.11. Графы Коутса и Мэзона 126
6.12. Замечания, касающиеся литературы 134
Упражнения 134
7. Планарность и двойственность 137
7.1. Планарные графы 137
7.2. Формула Эйлера 139
7.3. Теорема Куратовского и другие характеризации планарности 141
7.4. Двойственные графы 143
7.5. Планарность и двойственность 147
7.6. Замечания, касающиеся литературы 149
Упражнения 149
8. Связность и паросочетания 151
8.1. Связность или вершинная связность 151
8.2. Реберная связность 155
8.3. Графы с заданными степенями 156
8.4. Теорема Менгера 160
8.5. Паросочетания 161
8.6. Паросочетания в двудольных графах 163
8.7. Паросочетания графов общего вида 167
8.8. Замечания, касающиеся литературы 171
Упражнения 171
9. Покрытия и раскраски 174
9.1. Независимые множества и вершинные покрытия 174
9.2. Реберные покрытия 179
9.3. Реберная раскраска и хроматический индекс 180
9.4. Вершинная раскраска и хроматическое число 184
9.5. Хроматические полиномы 186
9.6. Проблема четырех красок 189
9.7. Замечания, касающиеся литературы 190
Упражнения 190
10. Матроиды 193
10.1. Основные определения 193
10.2. Фундаментальные свойства 196
10.3. Эквивалентные системы аксиом 198
10.4. Двойственность матроидов и графоиды 200
10.5. Ограничение, сужение и миноры матроида 204
10.6. Представимость матроидов 206
10.7. Бинарные матроиды 207
10.8. Ориентируемые матроиды 210
10.9. Матроиды и «жадный» алгоритм 212
10.10. Замечания, касающиеся литературы 214
Упражнения 215
Часть II. Теория цепей 218
11. Графы и электрические цепи 218
11.1. Преобразование контуров и сечений 220
11.2. Системы контурных уравнений и уравнений сечений 223
11.3. Метод смешанных переменных 228
11.4. Главное разбиение графа 230
11.5. Уравнения состояния 235
11.6. Свойство неусиления в резистивных цепях 241
11.7. Замечания, касающиеся литературы 242
Упражнения 243
12. Резистивные n-полюсные цепи 245
12.1. Введение 245
12.2. Y-матрицы резистивной n-полюсной цепи ранга га 253
12.3. Реализация (п+1)-узловых резистивных n-полюсных цепей (подход 263
Седербаума)
12.4. Реализация цикломатической матрицы и матрицы сечений 268
12.5. Реализация (п+1)-узловых резистивных n-полюсных цепей (подход 281
Гуиллемина)
12.6. Замечания, касающиеся литературы 287
Упражнения 288
13. Функция цепи и чувствительность цепи 292
13.1. Топологические формулы для RLC-цепей без взаимных 292
индуктивностей
13.2. Топологические формулы для общих линейных цепей 298
13.3. Сопряженная цепь и вычисление чувствительности цепи 305
13.4. Замечания, касающиеся литературы 312
Упражнения 313
Часть III. Теория цепей 315
14. Алгоритмы анализа графов 315
14.1. Транзитивное замыкание 316
14.2. Транзитивная ориентация 322
14.3. Поиск в глубину 331
14.4. Двусвязность и сильная связность 338
14.5. Сводимость графа программы 343
14.6. Доминаторы в графе программы 351
14.7. Замечания, касающиеся литературы 359
Упражнения 359
15. Оптимизационные алгоритмы 361
15.1. Кратчайшие пути 361
15.2. Деревья с минимальной длиной взвешенных путей 368
15.3. Оптимальные деревья бинарного поиска 376
15.4. Максимальные паросочетания в графе 380
15.5. Максимальные паросочетачия в двудольном графе 389
15.6. Совершенное паросочетание, оптимальное назначение и составление 396
расписаний
15.7. Потоки в транспортной сети 404
15.8. Оптимальное ветвление 418
15.9. Замечания, касающиеся литературы 422
Упражнения 423
Литература 425
Предметный указатель 444
Предметный указатель
Аксиома баз матроида 198 - декомпозиции Седербаума схемной
- независимости матроида 193 матрицы 263
- ранга матроида 198 - доминаторов 354
- циклов матроида 199 - "жадный" 212
Алгоритм Габова 385 - Кана — Мункреса 402
- Гильберта и Мура 166 - кратчайших путей из данной
- Данцига 423 вершины ко всем остальным
- двусвязности 340 вершинам 364
- Дейкстры 364 - Ленгауэра и Тарьяна 354
- максимального паросочетания в
графе общего вида 385
двудольном графе 394
транспортной сети
(помечивающий алгоритм) 410
- между всеми парами вершин 367
- нахождения минимального остова
424
- оптимального вектора длин путей
374
- - ветвления 421
- - дерева бинарного поиска 381
- - назначения 402
- Пнуели, Лампла и Ивена 323
- поиска в глубину в
неориентированном графе 334
ориентированном графе 334
- приближенный 423
- реализации графов с заданными
степенями 156—159
- - матрицы сечений —
цикломатической матрицы 268
- - (п+ цепи, узловой, резистивной, п,
полюсной, 1, 263
- сводимости графа программы 348
- сильной связности 343
- совершенного паросочетания 399
- столбце-ориентированный 319
- строко-ориентированный 319
- Тарьяна 348
- транзитивного замыкания 3201
- транзитивной ориентации 323
- Уоррена 320
- Уоршолла 318
- Флойда 367
- Форда — Фалкерсона 197
- Хаффмана 374
База матроида 194
Базис векторного пространства 65
Блок графа 26
Валентность 12
Вектор базисный 65
- длин путей 370
- инциденций 100
- координаты 67
- линейно независимый 65
- ортогональный 67
- разреза 76
- циклический 76, 106
п-вектор 67
Вершина 11
- висячая 12
- внешняя 384
- внутренняя 17
- - п-полюсной цепи 17
- звезды 255
- изолированная 79
- инцидентная 12
- конечная 78
- - маршрута 80
- ориентированного маршрута 86
- концевая 11, 16, 78, 80, 255
- короткозамыкаемая 255
- насыщенная (в паросочетании) 162
- начальная 80
- - в графе программы 131
- - маршрута 97
- - ориентированного маршрута 80
- несоотносимая 334
- полностью сканированная 332
- помеченная 88
- связанная 18
- сильно связанная 81
- смежная 12, 79
- соответствующая усекаемой строке
101
- терминальная 16
- центральная 49
Вес ребра 59
- цикла 59
Ветвление оптимальное 418
Ветвь дерева 33
- неполюсная 247
- полюсная 247
Включение последовательности 141
Вычисления параллельные 210
Гаммоид 217
Гиперплоскость матроида 216
Гипотеза четырех красок 190
Глубина 332
Граф ассоциированный
ориентированный 171
- ациклический 33, 80
- вершинно непересекающийся 28
- - к-раскрашиваемый 184
- взвешенный 135
- гамильтонов 55
- гамильтоново связный 61
- гомеоморфный 142
- двойственный 143
- двудольный 23
- деревьев 49
- к-дольный 23
- изоморфный 28
- изоморфный, 1, 28
- изоморфный, 2, 28
- квазисильно связный 83
- конденсированный 82
- Коутса 127
- кубический 31
- лежащий в основе
неориентированный 79
- минимально связный 48, 82
- ориентированный 82
-Мэзона126, 131
- неориентированный 11, 100, 103
- неразделимый 25
- однородный 23
- к-однородный 23
- ориентированный 11, 78, 100, 103
- - ациклический 80
- - гамильтонов 93
- - эйлеров 88
- параллельно-последовательный 150
- Петерсена 143
-планарный 137
- - с одной терминальной парой 150
- полный 23
- - двудольный 23
- - к-дольный 23
- - ориентированный 93
- потоков Коутса 127
- программы 130
- произвольно гамильтонов 5&
- - эйлеров 54, 55
- простой 11
- пустой 11
- разделимый 25
- реберно непересекающийся 28
- - к-раскрашиваемый 180
- - к-хроматический 180
- к-реберно связный 155, 172
- рефлексивный ориентированный 85
- самодвойственный 150
- само дополнительный 30
- сводимый 344
- связной 18, 80
- - ориентированный 80
- сигнальный Мэзона 131
- сильно связный 81
- симметрично ориентированный 85
- с одной терминальной парой 150
- стягиваемый 22
- транзитивно ориентируемый 85, 322
- тривиальный 25
- укладываемый 137
- к-факторизуемый 172
- к-хроматический 185
- эйлеров 51
Графоид 203
Группа абелева 62, 63
Декодирование 369
Дерево 33, 85
- бинарного поиска 376
- бинарное 87
- в графе 33
- венгерское 397
- доминаторов 351
- корневое 85
- линейное 255
- нормальное 236
- оптимальное бинарного поиска 378
- ориентированное 85
-ПВГЗЗЗ
- помеченное 117
- расширенное бинарного поиска 376
к-дерево остовное 37
Дефицит 163
Диакоптика 242
Диаметр графа 30
Длина взвешенных путей 87
- ориентированного ребра 361
- пути 17, 361
- цикла 17
Доминатор (вершины)
непосредственный 351
Дополнение ортогональное 67
- подграфа 16
- простого графа 15
Дуга заходящая 79
- инцидентная 79
- исходящая 79
- параллельная 78
Задача о кёнигсбергских мостах 50
- - коммивояжере 59
- -свадьбах 161
- составления расписаний 396
Закон Кирхгофа для напряжений 218
- токов 218
Замыкание бинарного отношения
транзитивное 316
- графа 61
- - транзитивное 316
- подмножества 216
Звезда 255
Изоморфность 66
Индекс хроматический 180
Источник напряжения 218
-тока 218
Клика 192
Кобаза матроида 200
Ко дерево 33
k-кодерево 37
Код префиксный 88
Ко-лес 38
Колесо 38
Коллапсирование вершины 350
Комбинация линейная 65
- параллельная параллельно-
последовательных графов 150
- последовательная параллельно-
последовательных графов 160
Компонента 18, 169
- графа 80
- двусвязная 341
- нечетная 169
- ориентированного графа 80
- сильно связная 81
- четная 169
Конденсированный образ 82
Контур 80
- гамильтонов 93
Конфигурация полюсная 245
- - в виде звезды 245
линейного дерева 245
Координата вектора 67
Копетля матроида 200
Коранг матроида 200
Корень в ориентированном графе 85
- компоненты (в ПВГ) 336
- ПВГ 332
Коцикл 200
- базисный матроида 201
- матроида 200
Лемма о раскраске дуг 98
Лес 38
Лист 15
Мажорантность 56
Маршрут 16, 80
- замкнутый 17, 80
- ориентированный 79
- открытый 17
Матрица базисная разрезающих
множеств 105
- - цикломатическая 107, 208
- бистохастическая 172
- гипердоминантная 258
- достижимости 121
- инциденций графа 100
- - ориентированного графа 100
- коциклическая матроида 209
- модифицированная сечений 289
- - цикломатическая 290
- однородно сужающаяся 260
- подстановок 172
- полных сопротивлений контура 225
- холостого хода 33
- полустепеней захода 121
- - исхода 121
- проводимостей короткого
замыкания 246
- - сечений 248
- разрезов графа 103
- сечений 219
- - базисная 220
- смежности взвешенного
ориентированного графа 126
--графа 123, 126
- - ориентированного графа 123
- с равными алгебраическими
дополнениями 117
степеней 117
- схемная 44
- узловых проводимостей 228
- унимодулярная 113
- усеченная инциденций 101
- цикломатическая графа 106
- - матроида 209
- - ориентированного графа 106
@,1) матрица 166
Матроид 193
- бинарный 207
- графический 196
- двойственный 200
- двудольный 217
- изоморфный 196
- кографический 195
- неразделимый 216
-несвязный 216
- однородный 215
- ориентируемый 216
- паросочетаний 195
- правильный 217
- представимый 226
- разделимый 216
-разрезов 194
- регулярный 215
-связей 194, 216
-связный 216
- трансверсалей
-Фано216
- циклический 194
- эйлеров 217
Место узкое 413
Метка вершины 384
- начальная 384
-ребра 384
Метод Коутса 126
-Мэзона 131
- Татта 121
Минор матроида 206
Множество базисное циклов 40, 43
- внутреннее устойчивое 174
- доминирующее 190
- зависимое матроида 194
- замкнутое матроида 216
- - по отношению к бинарному
отношению 62
- инциденций 76
- лексикографически большее 213
- - максимальное 213
- независимое графа 174
- - максимальное графа 174
- матроида 194
- оптимальное по Гейлу 213
- разделяющее 152
- разрешающее 40
- - базисное 43, 76
L-множество 271
Модификация Эдмондса и Карпа
помечивающего алгоритма 412
Мост 31
Назначение оптимальное 400
Напряжение между узлом и базой
222
- узловое 222
Нуль-граф 11
Нуль-пространство 207
Область планарного графа 139
Образ конденсированный графа 82
Обхват 30
Объединение графов 21
- матроидов 217
Ограничение графа 204
- матроида 205
- по пропускной способности 03, 4
Окрестность 219
Операции над графами 62
Определитель главный 115
Оптимизация кода 374
-сети 410
Ориентация графа 78
- ребра 78
- транзитивная 109
Ортогональность 67
Остов графа 33
- максимально удаленный 230
- ориентированный 87
Отец (вершины) 332
Отношение бинарное 84
- рефлексивное 84
- симметричное 84
- транзитивное 84
- эквивалентности 84
Отождествление (замыкание)
вершиий 22
Паросочетание максимальное 162
- полное (в двудольном графе) 163
- совершенное 169
Переворачивание 28
Переменная контура 222
- сечения 222
Пересечение графов 21
Петля 11, 78
- матроида 194
- обратной связи 133
Подграф 13, 79
- венгерский 387
- вершинно-порожденный 14
- главный 233
- критический 418
- максимальный 14
- минимальный 14
- остовный 13
- порожденный 14, 79
-равенств 188
- реберно-порожденный 14
- собственный 13
к-подграф 20
Поддерево 33
- левое 376
- правое 376
Подмножество зависимое 194
- максимальное 14, 199
- минимальное 14
Подпространство ортогональное 67
- разрезов 70
- циклов 69
Поиск в глубину в графе 332
ориентированном графе 335
- - ширину 360
Покрытие вершинное 174
- минимальное 175, 179
-реберное 179
Поле Галуа 63, 64
Полином хроматический 186
Полудоминатор 352
Полустепень захода 79
- исхода 79
Полюс концевой 255
- подобно ориентированный 255
- противоположно ориентированный
255
Помечивание обратное 410
- прямое 410
Порядок редукции 350
Последовательность выводимая 231
- графическая 56
- де Брёйна 88
- остаточная 157
- очков 97
- Пруфера 147
- степеней 56
- чередующаяся (по отношению к
независимому множеству) 176
Поток максимальный 406
Потомок (вершины) собственный 334
Предок (вершины) собственный 334
Преобразование контурное 221
- полюсное 222
- сечения 222
- узловое 222
Проблема оптимизации кода 372
- NP-полная 359
- расширения 383
- NP-сложная 359
- четырех красок 189
Представление матроида стандартное
206
Проекция стереографическая 138
Произведение полных
сопротивлений 293
- проводимостей 293
- скалярное векторов 67
Пространство векторное 64
- нуль матрицы 207
Проход (через вершину в ПВГ) 332
Псевдовершина 420
Путь 17, 180
- добавляющий 168
- f-дополняющий 408
- кратчайший 361
- - по отношению к паросочетанию
390
- максимальный 282
- f-ненасыщенный 195
- ориентированный 80
- - гамильтонов 55
- М-чередующийся 167
Разбиение главное 233
- двудольное 23, 176
Разделитель 42
Размерность векторного
пространства 65
Разметка допустимая вершинная 399
Разрез ориентированный 42, 98
Ранг 82
- графа 39
- матроида 194
- ориентированного графа 82
Ранжирование 97
Раскраска 202
- к-вершинная 182
- - правильная 184
- ориентируемого матроида 211
- к-реберная 180
- - оптимальная 180
- - правильная 180
Расстояние между вершинами 30
- - остовами 230
Расщепление вершины 28
- точки сочленения 28
Реализация (п+ полюсной,
резисторной, цепи, 1, 263
Ребро 11
- висячее 12
-критическое 418
- f-насыщенное 408
- независимое 162
- f-ненасыщенное 408
- нециклическое 17
- f-нулевое 408
- обратное 332
- - по отношению к
ориентированному пути 407
- пересекающее 121
- подходящее 418
- f-положительное 408
- полюсное 245
- помеченное 329
- последовательное 141
- прямое 332
- - по отношению к
ориентированному пути 407
ПВГ 332
- рассмотренное (в ПВГ) 332
-светлое 167
- смежное 12, 79
- темное 167
- циклическое 17
Редукция транзитивная 359
Свойство ассоциативности 62
- коммутативности 62
- неусиления 241
- схемности 257
Связность вершинная 151
-реберная 155
Сеть транспортная 404
Сечение ориентированное 241
- - полюсной цепи 241
Система различных представителей
165
- уравнений контурная 224
- - сечений 226
- - со смешанными переменными 230
Скаляр 65
Слияние последовательности 141
Слово кодовое 372
Соединение параллельное 290
- псевдопоследовательное 290
- факторное, ориентированного,
графа, 1, 128
Сортировка топологическая 95
Составление расписания 403
Список смежности 316
Способность пропускная разреза 406
- - ребра 405
Степени свободы топологические 235
Степень вершины 79
- области 141
Сток 404
Стягивание ребра 22
Сужение матроида 204
Сумма кольцевая графов 21
- прямая подпространств 65
- характеристическая 372
Теорема Бержа о чередующейся цепи
168
- Бине—Коши 116
- Брукса 185
- Визинга 183
- добавления 196
- Кёнига 165
- Кёнига — Эгервари 166
- Куратовского 141
-КэлиП7
-Менгера 160
- Мендельсона и Далмеджа 169
- о максимальном потоке и
минимальном разрезе 409
- - пяти красках 189
- Татта о совершенных
паросочетаниях 170
- Теллежена 222
-Холла 164
- четырех красок 190
- Эдмондса о k-реберной связности
159
Теория экстремальных графов 190
Толщина 149
Точка сочленения 25
Трансверсаль частичная 165, 216
Транспозиция цепи 312
Треугольник 31
Турнир 96
Удаление вершины 22
- ребра 22
Узел 219
Укладка планарная 137
Улучшение реберной раскраски 183
Уравнения состояния 235
- узловые 228
Уязвимость 181
фактор, ориентированного, графа, 1,
124
к-фактор 172
Формула коэффициента усиления
Каутса 130
Мэзона 133
-Эйлера 139
Функция Аккермана 136
- коранга матронда 200
- ранга матроида 194
Хорда 33
- неполюсная 249
- полюсная 249
«Цветок» 168
Цепь 17, 80
- вывода 327
- замкнутая 17
- - ориентированная 80
- ориентированная 80
- -эйлерова51, 88
- открытая 17, 80
- - ориентированная 80
- эйлерова 51, 88
- п-полюсная 246
- - нагруженная 246
- чередующаяся (по отношению к
паросочетанию) 167
Цикл 17, 80
- базисный 40
- -матроида410
- гамильтонов 55
- матроида410
- ориентированный 80
Число вершинного покрытия 175
- внутренней устойчивости 174
- независимости 174
- паросочетаний 162
- реберного покрытия 179
- реберно-хроматическое 180
- скрещиваний 149
- хроматическое 185
- цикломатическое графа 82, 89
Эквивалентности классы 81
Элементы матроида 63, 193
Ячейка 140
Предисловие редактора перевода
Предлагаемая читателю книга посвящена теории графов, которая приобретает
все возрастающий интерес у специалистов самых различных областей науки и тех-
техники. Привлекательность теории графов объясняется не только широчайшим раз-
разнообразием возможностей ее применения, но и красотой результатов, достигаемых
простыми средствами. Сделав свои первые шаги еще в XVIII в., она постоянно
набирала темпы и в настоящее время вошла в пору юности, когда открыто много
путей и не ясно, какой из них главный. Действительно, в рамках теории графов
имеется множество различных направлений; результаты ее формулируются с при-
привлечением понятий теории множеств, топологии, алгебры, но методы теории гра-
графов нельзя рассматривать как простую совокупность методов этих разделов ма-
математики.
Теория графов и мографов (гиперграфов) является эффективным аппаратом
формализации современных инженерных и научных задач, как уже сказано, в раз-
различных областях знаний. Так, например, в квантовой теории поля взаимодействие
элементарных частиц с внешним полем описывается связными графами (диаграм-
(диаграммами Фейнмана) [1, 2]; язык теории графов удобен при проведении системных ис-
исследований [3], описании организации генетических систем [4], автоматизирован-
автоматизированном управлении производством [5, 6]. В последнее время большое применение на-
нашла теория графов в современной вычислительной технике и кибернетике: в теоре-
теоретическом программировании [7], при проектировании ЭВМ на ЭВМ и сетей ЭВМ
[8—12], баз данных [13, 14], систем логического управления [5, 14—18].
Книга написана профессором Университета Конкордии (г. Монреаль, Кана-
Канада) М. Свами и профессором Индийского технологического института (г. Мадрас,
Индия) К. Тхуласираманом. Основу ее составили курсы, читаемые авторами для
студентов и аспирантов. Сфера научных интересов авторов лежит в области приме-
применения теории графов в электрических цепях. Этим объясняется выбор рассмот-
рассмотренной в части II книги области применения теории графов. В этой части рассмат-
рассматриваются графовые свойства цепей и применение графовых методов для реализа-
реализации цепей с заданными свойствами. Материал этой части специфичен как по терми-
терминологии, так и по способам представления и предполагает хорошее знакомство с те-
теорией графов в пределах, обеспечиваемых содержанием части I. Изложение этой
части несколько отличается расстановкой акцентов по сравнению с другими моно-
монографиями по теории графов, что обусловлено учебной направленностью книги.
С другой стороны, необходимо отметить, что в ней дано одно из самых широких
введений в теорию матроидов, существующих в отечественной и переводной лите-
литературе.
Часть III также широко использует материал части I. В ней содержится описа-
описание множества алгоритмов, которые ориентированы главным образом на примене-
применение в вычислительной технике. Способ изложения алгоритмов, принятый в книге,
отражает тенденции проявляющиеся при разработке программного обеспечения.
Доказана корректность каждого из алгоритмов, и приведены оценки их сложности,
что является несомненным достоинством книги. По-видимому, недостаток места
не позволил авторам дать введение в теорию JVP-полноты, прекрасно сделанное
в работе [19].
Предлагаемую книгу отличает простота и лаконичность изложения, богатство
иллюстраций, примеров и упражнений. Как учебное пособие она практически не
Предисловие редактора перевода
имеет недостатков. Однако квалифицированный специалист найдет в ней знакомый
материал.
В книге часто используется термин «характеризация». Авторы понимают под
ним любые необходимые и достаточные условия существования некоторого свойст-
свойства. Мы оставили этот термин без изменения, хотя в отечественной литературе под
характеризацией принято понимать определение для данного свойства множества
запрещенных фигур.
Перевод выполнен М. В. Горбатовой (гл. 1—4), В. Л. Торховым (предисловие,
гл. 5—10), канд. техн. наук С. А. Фроловым (гл. 11—13), В. Н. Четвериковым
(гл. 14-15).
В. А. Горбатов
Библиография
1. Белов В. В., Воробьев Е. М., Шаталов В. Е. Теория графов.— М.: Высшая
школа, 1976.
2. Фам Ф. Особенности процессов многократного рассеяния: Пер. с франц.—
М.: Мир, 1972.
3. Горбатов В. А. Теория частично упорядоченных систем.— М.: Сов. радио,
1976.
4. Миркин Б. Г., Родин С. Н. Графы и гены.— М.: Наука, 1977.
5. Горбатов В. А., Кафаров В. В., Павлов П. Г. Логическое управление техно-
технологическими процессами.— М.: Энергия, 1978.
6. Брегман В. И. Графы в задачах управления производством.— М.: Статистика,
1974.
7. Ершов А. П. Введение в теоретическое программирование.— М.: Наука, 1977,
8. Горбатов В. А. Схемы управления ЦВМ и графы.— М.: Энергия, 1971.
9. Автоматизация проектирования сложных логических структур/ Под редак-
редакцией В. А. Горбатова.— М.: Энергия, 1978.
10. Ландау И. Я. Применение ЦВМ для проектирования ЦВМ.— М.: Энергия,
1974.
11. Сети ЭВМ/ Под редакцией В. М. Глушкова.— М.: Связь, 1977.
12. Вычислительные сети и сетевые протоколы: Пер. с англ.— Дэвис Д., Бар-
бер Д., Прайс У., Соломонидес С.— М.: Мир, 1982.
13. Берзтисс А. Т. Структуры данных.— М.: Статистика, 1974.
14. Горбатов В. А., Павлов П. Г., Четвериков В. Н. Логическое управление
информационными процессами.— М.: Энергоатомиздат, 1983.
15. Горбатов В. А. Семантическая теория проектирования автоматов.— М.: Энер-
Энергия, 1979.
16. Горбатов В. А., Останков Б. Л., Фролов С. А. Регулярные структуры автомат-
автоматного управления.— М.: Машиностроение, 1980.
17. Богомолов А. М., Грунский И. С, Сперанский Д. В. Контроль и преобразо-
преобразования дискретных автоматов.— Киев: Наукова думка, 1975.
18. Мелихов А. Н. Ориентированные графы и конечные автоматы.— М.: Наука,
1971.
19. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных
алгоритмов: Пер. с англ.— М.: Мир, 1979.
Посвящается нашим родителям и учителям
Преклоняюсь перед учителем, который вернул зрение
человеку, ослепленному недугом незнания
Вишвасара Тантра
Предисловие
В течение последних двух десятилетий среди лиц, занимающихся различными
аспектами науки и техники, значительно возросла популярность теории графов —
ветви дискретной математики. Родившись при решении головоломок и игр, таких,
как задача о кёнигсберских мостах и игра Гамильтона, она стала мощным сред-
средством исследования и решения многих задач, возникающих при изучении больших
и сложных систем. Действительно, существует ряд систем, изучение которых
становится значительно проще с использованием теории графов. Это не удивитель-
удивительно, так как бинарные отношения между объектами некоторого множества удобно
представлять графами, а описания систем содержат такие отношения между раз-
различными их подсистемами. Кроме того, теория графов оказалась полезной при изу-
изучении задач, возникающих в некоторых других разделах математики, таких, как
теория групп и теория матриц. Всякий раз, когда встречалась новая область при-
применения теории графов, возникала необходимость в введении и изучении новых по-
понятий или в дальнейшей разработке некоторых известных понятий Эта необходи-
необходимость в свою очередь возбуждала творческую активность в области исследований
различных связанных с ними концепций. Такое непрерывное взаимодействие спо-
способствовало быстрому росту этой ветви математики.
Был написан ряд книг, обсуждающих различные аспекты теории графов: ана-
анализ, синтез, перечисление, алгоритмы и приложения. В предлагаемой книге дела-
делается попытка обсуждения с единых позиций теории графов, ее применения при ис-
исследовании электрических цепей и теоретических основ некоторых графовых алго-
алгоритмов. Прежде чем мы перейдем к детальному рассмотрению целей и содержания
книги, обсудим кратко, каким образом теория графов оказалась полезной в иссле-
исследовании электрических цепей, исследовании операций и вычислительной техни-
технике — трех основных дисциплинах, которые интересуют нас и взаимодействуют с те-
теорией графов с большим успехом и к взаимной выгоде.
Хорошо известно, что основы теории графов были заложены Эйлером при реше-
решении задачи о кёнигсбергских мостах. Однако она не находила применения при ре-
решении задач в прикладной области до 1847 г., когда Кирхгофом была разработана
теория деревьев применительно к исследованию электрических цепей. Основопо-
Основополагающую роль в их изучении играют законы Кирхгофа. Эти законы определяют
связь между переменными напряжения и тока в цепи. Эти связи для данной элект-
электрической цепи не зависят от природы используемых элементов, скорее они зависят
от того, каким образом соединены различные элементы, или, другими словами,
от графа, представляющего цепь. Фактически уравнения, описывающие законы
Кирхгофа для напряжений и токов, полностью определяются контурами и сече-
сечениями графа цепи. Здесь возникает вопрос: всякий ли контур и всякое ли сечение
цепи обязательно определяют такие уравнения? Для получения ответов на этот и
связанные с ним вопросы необходимо тщательное изучение понятий контура, сече-
сечения и дерева графа. Этим объясняется роль теории графов как важного аналитиче-
аналитического средства при изучении электрических цепей. Многие важные открытия в тео-
теории цепей имеют главным образом теоретико-графовую природу, и усилия, ведущие
к таким открытиям, приводят к значительному вкладу в теорию графов.
Транспортные сети и сети связи можно удобно представить графами, поэтому
для исследования операций, связанных с такими задачами, возникающими при изу-
изучении сетей, как потоки, кратчайшие пути или конструирование надежных сетей,
8 Предисловие
оказался очень полезным теоретико-графовый подход. Эти исследования внесли
значительный вклад в быстрое развитие теории графов в последние два десятиле-
десятилетия. Разработанная Фордом и Фалкерсоном теория потоков в сетях осветила ряд
комбинаторных вопросов и позволила получить новые доказательства многих
важных теорем теории графов. Закон Кирхгофа о сохранении потока (подобный за-
закону Кирхгофа для токов в электрической цепи) играет центральную роль и в раз-
разработке теории потоков в сетях. В последние годы большое внимание было уделено
конструированию сетей связи, имеющих заданные свойства. Эта задача обычно
сводится к задаче построения экстремального графа (т. е. графа, имеющего мини-
минимальное или максимальное число ребер), обладающего заданным значением для
одного из топологических параметров. Исследования в этой области имели большое
значение для решения так называемых экстремальных задач в теории графов.
Последней областью, включенной в растущий список областей применения
теории графов, является вычислительная техника. Для специалистов по вычисли-
вычислительной технике теория графов — это удобный язык выражения понятий из этой
области; многие результаты теории графов имеют непосредственную связь с зада-
задачами, с которыми им приходится сталкиваться. Широкое применение теория гра-
графов недавно получила при исследовании так называемой проблемы оптимизации,
возникающей при конструировании компиляторов. В рамках этих исследований
были разработаны многие, неизвестные ранее теоретико-графовые понятия. Теория
графов имеет большую привлекательность для специалистов по вычислительной
технике и помимо использования ее как инструмента в решении конкретных за-
задач. Одним из основных направлений в вычислительной технике является построе-
построение эффективных алгоритмов и анализ их сложности, и теория графов (а в общем,
и комбинаторный анализ) предоставляет большие возможности для построения
таких алгоритмов. Это действительно значительный вклад вычислительной техни-
техники в теорию графов.
Все это освещает роль, которую стала играть теория графов в науке и технике,
и обусловливает возрастающий вес теории графов в университетских учебных пла-
планах. Хотя детальное знание некоторых понятий и результатов не обязательно для
исследований в какой-либо определенной области применения, мы полагаем, что
доскональное знание различных понятий и глубокое овладение методами, исполь-
используемыми при изучении этих понятий, будут очень полезны для понимания новых
применений, которые в противном случае будут неочевидны. Фактически это верно
также и для многих других отраслей математики, таких, как теория комплексного
переменного, теория матриц и теория операторов, играющих существенную роль
при изучении системотехники.
Эта книга адресована студентам, специализирующимся в математике, электро-
электротехнике и вычислительной технике. Как следует из названия книги, она состоит
из трех частей, касающихся теории графов, электрических сетей (цепей) и графо-
графовых алгоритмов.
В части I (гл. 1—10) мы обсуждаем теорию графов, в ней ставится цель ввести
основные понятия и результаты теории графов. В этой части обсуждаются деревья,
гамильтоновы и эйлеровы графы, ориентированные графы, матрицы графов, пла-
нарность, связность, паросочетания и раскраски. Мы включили в нее также введе-
введение в теорию матроидов. Среди представленных тем, связанных с матроидами, мож-
можно перечислить самодвойственную систему аксиом Минти, которая делает очевид-
очевидной двойственность циклов и разрезающих множеств графа, лемму о раскраске дуг,
жадный алгоритм и его тесную взаимосвязь с матроидами. В последние годы к тео-
теории матроидов проявляют интерес специалисты по теории электрических цепей,
поскольку она позволяет глубоко проникнуть в те задачи, с которыми они сталки-
сталкиваются. Если для математика теория матроидов дает большие возможности по обоб-
обобщению теоретико-графовых понятий, то для специалиста по вычислительной тех-
технике — возможности по построению алгоритмов над матроидами.
В части II (гл. 11 —13) обсуждаются аспекты теории электрических ценей,
разработка которых имеет существенно теоретико-графовый характер. В гл. 11 об-
обсуждается среди прочего понятие главного разбиения графа, его применение в ме-
Предисловие
тоде смешанных переменных анализа цепей и теоретико-графовое доказательство
свойства неусиления резистивных цепей. В гл. 12 рассматриваются ряд результа-
результатов теории резистивных цепей и метод реализации цикломатических матриц и мат-
матриц сечений. В заключительной главе этой части выводятся топологические фор-
формулы для функций цепи. Эти формулы очевидным образом следуют из свойств
матриц графа, рассматриваемых в части I. В части II обсуждаются также теорема
Теллежена, имеющая теоретико-графовую природу, и ее применение для вычисле-
вычисления чувствительности цепей. Удивительно, что такая важная теорема столько лет
была лишена какого-либо внимания.
Часть III, в которой рассматриваются графовые алгоритмы, состоит из двух
глав: в гл. 14 рассматривается алгоритм анализа графов, в гл. 15 — алгоритмы,
связанные с оптимизационными задачами на графах. Главное внимание уделяется
теории, на основе которой осуществляется построение, доказательство правиль-
правильности и анализ нескольких графовых алгоритмов. Среди прочих обсуждаются ал-
алгоритмы сводимости графов потоков, доминаторов, кратчайших путей, паросочета-
ний, оптимальных деревьев бинарного поиска, потоков в сетях и оптимальных вет-
ветвлений. Приводятся также анализ Хопкрофта и Карпа алгоритма двудольного па-
росочетания и анализ Эдмондса и Карпа помечивающего алгоритма Форда—Фал-
керсона. Здесь виден глубокий вклад в теорию графов, сделанный специалистами
по вычислительной технике. Из рассмотрения опущено обсуждение Л'Р-полных
задач, однако эта тема выходит за рамки книги.
Что касается необходимой подготовки для чтения книги, то аспиранты, инте-
интересующиеся математикой, почти не будут испытывать затруднения при чтении ма-
материала частей I и III. Изложение материала в части II предполагает.что студенты
уже знакомы с основным курсом по теории электрических цепей.
Содержание книги может использоваться в рамках различных курсов. Неко-
Некоторые возможные наименования перечислены ниже.
1. Курс «Теория графов» для студентов, специализирующихся в математике,
электротехнике и вычислительной технике, может основываться на гл. 1—10 и
разд. 15.7. Для студентов, специализирующихся в вычислительной технике, неко-
некоторые разделы гл. 6 можно опустить и добавить разд. 14.3 и 14.4 по алгоритмам по-
поиска в глубину.
2. Курс «Графы и электрические цепи» для аспирантов, специализирующихся
в электротехнике, может основываться на гл. 1—7 и 11—13 (кроме разд. 3.2
и 5.6—5.8).
3. Курс «Алгоритмическая теория графов» для студентов, специализирующих-
специализирующихся в математике, электротехнике и вычислительной технике, может основываться
на материале части III и связанным с ним материале части I. Студентам, специали-
специализирующимся в вычислительной технике, разд. 14.5 и 14.6 необходимо проработать
особенно тщательно, включая обсуждение алгоритмов для задач манипулирования
множествами, что окажется полезным при рассмотрении алгоритмов сводимости
графов программы и доминаторов.
Основываясь на этой книге, авторы читали в Университете Конкордии (г. Мон-
Монреаль, Канада) курс «Теория графов» для студентов, специализирующихся в мате-
математике и электротехнике, и курс «Графы и электрические цепи» для аспирантов, спе-
специализирующихся в математике. Последний курс читался также вторым автором
(К. Тхуласираманом) в Индийском технологическом институте (г. Мадрас, Индия).
Второй автор (К- Тхуласираман) использозал некоторый материал части I
в курсе «Комбинаторика и теория графов» и материал части III в курсе «Построение
и анализ алгоритмов» для аспирантов Индийского технологического института
в Мадрасе, специализирующихся в вычислительной технике.
Мы выражаем нашу искреннюю благодарность д-ру П. К. Раджану из Универ-
Университета штата Северная Дакота в Фарго и г-ну Р. Яякумару из Индийского техно-
технологического института в Мадрасе, которые прочли большую часть рукописи книги,
отметили некоторые упущения и ошибки и высказали много предложений, оказав-
оказавшихся полезными при доработке книги. Мы благодарны также проф. Индийского
технологического института в Мадрасе В. Г. К. Мурти и К. Р. Мутукришнану,
10 Предисловие
проф. В. Рамачандрану и д-ру Л. Ройтману из Университета Конкордии в Монреа-
Монреале, д-ру К- Санкара Рао из Университета штата Северная Дакота в Фарго, д-ру
X. Нараянману из Индийского технологического института в Бомбее и г-дам А. Мо-
хану и П. Нарандрану, студентам Индийского технологического института в Мад-
Мадрасе за чтение различных частей рукописи и полезные комментарии, д-ру С. А. Чау-
думу, Университет Мадурай (Мадурай, Индия), за указание на более простые до-
доказательства результатов теории графов, д-ру В. Бейписвара Рао, Индийский
технологический институт в Мадрасе, за разрешение на использование части его
неопубликованной работы и проф. В. Хваталу из Университета Мак-Гилла в Мон-
Монреале, Г. Киши из Токийского технологического института, Л. Ловацу (Венгрия),
Р. Е. Тарьяну из Стэнфордского университета (Стэнфорд, шт. Калифорния) и
К. Р. Партасарати и его аспирантам из Индийского технологического института
в Мадрасе за полезные комментарии и предложения.
К. Тхуласираман выражает благодарность за помощь проф. В. Г. К. Мурти,
под замечательным руководством которого он начал свои исследования.
Мы благодарим Университет Конкордии в Монреале за его огромную поддерж-
поддержку. К. Тхуласираман выражает благодарность Индийскому технологическому инс-
институту в Мадрасе и Университету Конкордии за их поддержку и ободрение, кото-
которые сделали возможным его участие в написании книги.
Мы благодарим наших жен Лейлу Свами и Санту Тхуласираман и детей за их
терпение и понимание в течение всего периода нашей работы.
Наконец, нам бы хотелось поблагодарить Глорию Миллер и Камалу Рамачанд-
ран за прекрасную перепечатку рукописи.
Монреаль, Канада М. Н. С. Свами
Мадрас, Индия К. Тхуласираман
Сентябрь, 1980
Часть I. Теория графов
1. Основные понятия
Начнем изложение материала с введения нескольких основных
понятий теории графов. Установим ряд результатов, основанных
на этих понятиях. Эти результаты, иллюстрируя введенные по-
понятия, служат также для приобщения читателя к определенным
методам, часто используемым в доказательствах теорем теории гра-
графов.
1.1. Основные определения
Граф G=(V, E) состоит из двух множеств: конечного множества
элементов, называемых вершинами, и конечного множества эле-
элементов, называемых ребрами. Каждое ребро определяется парой
вершин. Если ребра графа определяются упорядоченными парами
вершин, то G называется направленным или ориентированным гра-
графом. В противном случае G называется ненаправленным или неориен-
неориентированным графом. В первых четырех главах книги рассматри-
рассматриваются ненаправленные графы.
Для обозначения вершин графа будем использовать символы
Vi, v2, vB,. . ., а для обозначения ребер — elt е2, е8, . . . . Вершины
vt и Vj, определяющие ребро ех, называются концевыми вершинами
ребра ег. В этом случае ребро ег обозначается как ег= (vt, Vj). Заме-
Заметим, что в множестве Е допускается более чем одно ребро с одинако-
одинаковыми концевыми вершинами. Все ребра с одинаковыми концевыми
вершинами называются параллельными. Кроме того, концевые вер-
вершины ребра не обязательно различны. Если ег= (vt, vt), то ребро et
называется петлей. Граф называется простым, если он не содержит
петель и параллельных ребер. Граф G является графом порядка п,
если множество его вершин состоит из п элементов.
Граф, не имеющий ребер, называется пустым. Граф, не имею-
имеющий вершин (и, следовательно, ребер), называется нуль-графом.
Графически граф может быть представлен диаграммой, в кото-
которой вершина изображена точкой или кружком, а ребро — отрезком
линии, соединяющим точки или кружки, соответствующие конце-
концевым вершинам ребра. Например, если V={vt, v2, v3, у4, vb, ve} и Е=
= {ei, e2, e3, e4, e5}, такие, что e^^, v2), e2=(vlt vt), e3=(vb, v,),
e4=(yb v2), eb={vb, vb), тогда граф G=(V, E) представляется так,
как изображено на рис. 1.1. В этом графе ех и е4 — параллельные
12 Глава 1
ребра, еь — петля. Говорят, что ребро инцидентно своим концевым
вершинам. Две вершины смежны, если они являются концевыми
вершинами некоторого ребра. Если два ребра имеют общую конце-
концевую вершину, они называются смежными.
Например, в графе на рис. 1.1 ребро et инцидентно вершинам
vx и v2; vx и vt являются смежными вершинами, ае1ие2 — смежными
ребрами.
Число инцидентных вершине vt ребер называется степенью вер-
вершины и обозначается d(vi). Иногда степень вершины называется
также ее валентностью. Верши-
е2 Щ vs/^~yes на степени 1 называется висячей
° вершиной. Единственное ребро,
инцидентное висячей вершине,
называется висячим. Вершина
степени 0 называется изолиро-
изолированной. По определению петля
при вершине vt добавляет 2 в
степень соответствующей вер-
В SG A(G)
Рис. 1.1. Граф G=(V, Е). шины. Величины S(G) и
v={o,, v,, «„ vt, о„ о,}; обозначают минимальную и мак-
-{е„ е„ е„ е„ еъ]. СИМЭЛЬНуЮ СТепеНИ верШИНЫ В
G соответственно.
В графе G на рис. 1.1 d(ui)=3, d(y2)=2, d(v3)=0, d(vl) = \, d(vs) =
=3, d(o.) = l.
Заметим, что v3 — изолированная вершина, v4 и ve — висячие
вершины, е2 — висячее ребро. Легко проверить, что сумма степеней
вершин в данном графе G равна 10, тогда как число ребер равно 5.
Таким образом, сумма степеней вершин графа G равна удвоенному
числу ребер графа G и, следовательно, является четным числом.
Более того, можно показать, что число вершин графа G нечетной
степени также четно. Эти результаты свойственны не только графу
на рис. 1.1. Они справедливы, как доказывается в следующих теоре-
теоремах, для всех графов.
Теорема 1.1. Сумма степеней вершин графа G равна 2т, где т — число ребер
графа G.
Доказательство. Поскольку каждое ребро инцидентно двум вершинам, оно
добавляет двойку к сумме степеней графа G. Следовательно, все ребра дают вместе
сумму степеней 2т.
Теорема 1.2. Число вершин нечетной степени в любом графе четно.
Доказательство. Пусть число вершин в графе G равно п. Не нарушая общ-
общности, предположим, что степени первых г вершин vlt v2, . . ., vr четны, а степени
оставшихся п — г вершин нечетны. Тогда
s i) i;()
(=1 1=1 1=Л+1
По теореме 1.1 сумма в левой части выражения A.1) четна. Первая сумма
п правой части также четна, поскольку каждый член суммы четный. Следова-
Основные понятия
13
тельно, вторая сумма в правой части должна быть четной. Так как каждый член
этой суммы нечетный, то число членов в сумме должно быть четным. Другими
словами, число п — г вершин нечетной степени должно быть четным.
1.2. Подграфы и дополнения
Рассмотрим графС=(У, Е). G'=(V, E') называется подграфом
G, если V и Е' являются соответственно такими подмножествами V
и Е, что ребро (vit Vj) содержится в Е' только в том случае, если vt
и Vj содержатся в V. G' называется собственным подграфом G, если
Е' — собственное подмножество Е или V — собственное подмно-
подмножество V. Если все вершины графа G присутствуют в подграфе G'
графа G, тогда G' называется остсвным подграфом G. Например,
Рис. 1.2. Граф и некоторые его подграфы,
а)—граф О; ?—подграф С; a—подграф О"; г—подграф О'".
рассмотрим показанный на рис. 1.2, а граф G. Граф С, изображен-
изображенный на рис. 1.2, б, является подграфом G. Д1ножество его вершин —
{t'i, Vi, v4, t%}. Он является собственным подграфом G. Граф G" на
рис. 1.2, в является остовным подграфом G.
Некоторые из вершин подграфа могут быть изолированными.
Например, показанный на рис. 1.2, г подграф С" является подгра-
подграфом с изолированной вершиной.
Если подграф G'=(V, E') графа G не содержит изолированных
вершин, тогда по определению подграфа каждая вершина V' явля-
является концевой вершиной некоторого ребра ?. Таким образом, в
14 Глава 1
этом случае Е однозначно определяет V' и, следовательно, подграф
G'. Подграф G' называется порожденным подграфом графа G на
множестве ребер Е' (или просто реберно-порожденным подграфом
графа G) и обозначается как <?">.
Заметим, что множество вершин V графа <?"> является наи-
наименьшим подмножеством V, содержащим все концевые вершины
ребер в Е'. Подграфы G' и G" на рис. 1.2, б, в являются реберно-
порожденными подграфами графа G на рис. 1.2, а, тогда как G'",
показанный на рис. 1.2, г, не является реберно-порожденным под-
подграфом.
Определим теперь вершинно-порожденный подграф. Пусть V —
подмножество множества вершин V графа G=(V, E). Тогда под-
подграф G' = (V, ?") называется порожденным подграфом графа
G на множестве вершин V (или просто вершинно-порожденным
подграфом графа G), если Е' является таким подмножеством Е, что
ребро (vt, Vj) ? Е входит в Е' тогда и только тогда, когда vt и Vj вхо-
входят в V". Другими словами, если vt и Vj принадлежат V", то каждое
ребро Е, имеющее в качестве кон-
концевых вершин vt и Vj, должно вхо-
входить в ?". Заметим, что в этом
случае V полностью определяет
Е' и, таким образом, подграф G'.
Следовательно, вершинно-порож-
вершинно-порожденный подграф G'— (V, Е') можно
обозначить как <У>. Например,
граф, представленный на рис.
ра|ГС:ЗрТжен„Г; 1.3, яаляетея вершинно-порожден-
на рис 1 2 а ным подграфом графа G на рис.
1.2, а.
Заметим, что множество ребер Е' вершинно-порожденного под-
подграфа на множестве V является таким наибольшим подмножеством
Е, что концевые вершины всех его ребер принадлежат V.
Подграф G' графа G называется максимальным подграфом по
отношению к некоторому свойству Р, если G' обладает свойством Р
и G' не является собственным подграфом никакого другого подграфа
графа G, обладающего свойством Р.
Подграф G' графа G называется минимальным подграфом графа G
по отношению к некоторому свойству Р, если G' обладает свойством
Р и никакой подграф графа G, обладающий свойством Р, не явля-
является собственным подграфом графа G'.
Максимальное и минимальное подмножества некоторого множе-
множества по отношению к свойству определяются аналогичным образом.
Например, множество вершин V реберно-порожденного подгра-
подграфа <?"> графа G—(V, E) является минимальным подмножеством
V, содержащим концевые вершины всех ребер ?". С другой стороны,
множество ребер ?" вершинно-порожденного подграфа <У> явля-
Основные понятия
15
а 6
Рис. 1.4. Граф и его дополнение.
а —граф С; б—граф С, дополняющий граф G.
a - d
Рис. 1.5. Другой пример графа и его дополнения,
а—граф G: б—граф С дополняющий граф G.
ется таким максимальным подмножеством Е, что концевые верши-
вершины всех его ребер принадлежат V.
Позднее мы увидим, что «компонента» (разд. 1.4) графа G явля-
является максимальным «связным» подграфом графа G, а «остовное
дерево» (гл. 2) связного графа G является минимальным «связным»
остовным подграфом графа G.
Определим теперь понятие «дополнение графа».
Граф G=(V, E') называется дополнением простого графа G=
= (V, Е), если ребро (vt, Vj) входит в Е' в том и только в том случае,
если оно не входит в Е. Другими словами, две вершины vt и v}
смежны в G тогда и только тогда, когда они не смежны в G. На рис. 1.4
представлены граф и его дополнение. В качестве другого примера
рассмотрим граф, изображенный на рис. 1.5, а. В этом графе между
каждой парой вершин имеется ребро. Следовательно, в дополнении
G графа G вообще не будет ребер, т. е. G будет содержать только
изолированные вершины. Граф G изображен на рис. 1.5, б.
1G Глава 1
Пусть G'=(V, ?") является подграфом графа G=(V, Е). Под-
Подграф G"= (V, Е—Е') графа G называется дополнением G' в G.
Например, подграф G" на рис. 1.2 является дополнением G' в гра-
графе G.
Следующий пример иллюстрирует некоторые из рассмотренных
понятий.
Предположим, что мы хотим доказать следующее утверждение-.
В любой группе из шести человек трое либо обоюдно знакомы,
либо обоюдно незнакомы.
Представляя людей вершинами графа, а наличие знакомства
между ними — ребрами, соединяющими соответствующие вершины,
можно увидеть, что приведенное выше утверждение можно сформу-
сформулировать следующим образом:
В любом простом графе G с шестью вершинами имеются три
либо попарно смежные, либо попарно несмежные вершины.
Используя определение дополнения графа, замечаем, что это
утверждение эквивалентно следующему:
Для любого графа G с шестью вершинами справедливо, что G
или G содержит три попарно смежные вершины.
Для доказательства этого проделаем следующее. Рассмотрим
произвольную вершину v простого графа G с шестью вершинами.
Заметим, что, если v не смежна с тремя вершинами в G, она должна
быть смежна с тремя вершинами в G. Поэтому, не нарушая общно-
общности, допустим, что v смежна в G с некоторыми тремя вершинами
t'i> ^2. vt. Если две из этих вершин, например vt и v2, смежны
в G, то вершины v, vx и v2 попарно смежны в G, и утверждение
доказано.
Если в G никакие две из трех вершин vlt y2 и v3 не смежны, тогда
они попарно несмежны. Следовательно, по определению дополнения
вершины Vi, v2 й va попарно смежны в G, и утверждение снова дока-
доказано.
1.3. Маршруты, цепи, пути и циклы
Маршрут в графе G=(V, E) представляет собой конечную
чередующуюся последовательность вершин и.ребер v0, eu vu e2, ...
. .., vh-i, eh, vh, начинающуюся и кончающуюся на вершинах, причем
vt-i и Vi являются концевыми вершинами ребра ег, 1 ^ I ^ к. С дру-
другой стороны, маршрут можно рассматривать как конечную последо-
последовательность таких вершин v0, vu v2, . . ., vk, что (иг_ь vt), l^i^k,—
ребро графа G. Такой маршрут обычно называется v0—уй-марш-
рутом, а с0 и vh — концевыми или терминальными вершинами марш-
Основные понятия
17
рута. Все другие вершины маршрута называются внутренними.
Заметим, что ребра и вершины в маршруте могут появляться более
одного раза.
Маршрут называется открытым, если его концевые вершины
различны, в противном случае он называется замкнутым.
В графе на рис. 1.6 последовательность vu et, v2, е2, щ, еъ,
ve, e9, Vi, e-i, v3, ец, ve является открытым маршрутом, а последова-
последовательность Vi, eu vit е2, У8, e-i, vb, ea, v2, e4l- vit e5) vx — замкнутым.
Рис. 1.6. Граф G.
Маршрут называется цепью, если все его ребра различны. Цепь
называется открытой, если ее концевые вершины различны, в про-
противном случае она называется замкнутой. На рис. 1.6 цепь vu et, v2,
вц, vs, es, vt, eu, va — открытая, a vlt eu v2, e2, va, e7, vb, ea, v2, e4,
vt, eb, v± — замкнутая.
Открытая цепь называется путем, если все ее вершины раз-
различны.
Замкнутая цепь называется циклом, если различны все ее вер-
вершины, за исключением концевых.
Например, на рис. 1.6 последовательность Vi, ex, v2, ег, v3 яв-
является путем, а последовательность vlt eu v2, ea, v5, es, v4, e5, v± —
циклом.
Ребро графа G называется циклическим, если в графе G сущест-
существует цикл, содержащий ребро. В противном случае ребро назы-
называется нециклическим. На рис. 1.6 все ребра, за исключением е12,
циклические.
Число ребер в пути называется длиной пути. Аналогично опре-
определяется длина цикла.
Необходимо указать следующие свойства путей и циклов.
1. Степень каждой неконцевой вершины пути равна 2, концевые
вершины имеют степень, равную 1.
18
Глава 1
2. Каждая вершина цикла имеет степень 2 или другую четную
степень. Обращение этого утверждения, а именно то, что ребра
подграфа, в котором каждая вершина имеет четную степень, об-
образуют цикл,— неверно. Более общий вопрос обсуждается в гл. 3.
3. Число вершин в пути на единицу больше числа ребер, тогда
как в цикле число ребер равно числу вершин.
1.4. Связность и компоненты графа
Важным понятием в теории графов является связность. Две
вершины vt и vj называются связанными в графе G, если в нем су-
существует путь vt — Vj. Вершина связана сама с собой.
Граф G называется связным, если в нем существует путь между
каждой парой вершин. Например, граф, представленный на рис. 1.6,
связный.
Рассмотрим несвязный графб= (V,E). Тогда множество вершин V
графа G можно разбить 1) на такие подмножества Vi, V2, ... Vp,
что вершинно-порожденные подграфы <.Vt>, i—l, 2, . . ., р,
связны, и никакая вершина подмножества Vi не связана ни с какой
"; "z 3 W4
Рис. 1.7. Граф С с компонентами Ох, <32, <3з и <34.
вершиной подмножества Vj, ]Фи Подграфы <Vj>, t=l, 2, . .., р,
называются компонентами графа G. Легко видеть, что компонен-
компонентой графа G является максимально связный подграф графа G,
т. е. компонента графа G не является собственным подграфом
любого другого связного подграфа графа G.
Например, граф G на рис. 1.7 не связен. Его четыре компоненты
Gu G2, G3, G4 имеют множества вершин {vu v2, v3}, {u4, u5}, {ue,
в?. cs}> {^Л соответственно.
Отметим, что изолированную вершину также следует рассмат-
рассматривать как компоненту, поскольку по определению вершина связа-
связана сама с собой. Кроме того, следует отметить, что если граф G
1} Говорят, что множество V разбито на подмножества Vi, Vit . . ., Vp, если
ViU^U • • • \JVp=V и ViP[V/=0 для любого» и /, 1ф\. {VU V2 Vjназы-
Vjназывается разбиением V.
Основные понятия 19
связен, то он имеет только одну компоненту, которая является
графом G.
Теперь рассмотрим некоторые свойства связных графов.
Теорема 1.3. В связном графе любые два пути максимальной длины имеют
обшую вершину.
Доказательство. Рассмотрим произвольные пути максимальной длины Pj и
Р2 в связном графе G. Обозначим через Рх последовательность вершин vu, vlt v2, ...
. . ., vk, а через P2— последовательность v'o, v[, v2, . . ., v'k-
Предположим, что Pj и P2 не имеют общей вершины. Поскольку граф G
связен, то для некоторых i, 0<!<&, и /, 0</<й, существует vt— и/-путь Рау
такой, что все вершины Ра, кроме и,- и vj, отличны от вершин Рг и Р2. Пути Ръ
Рг и Ра могут быть такими, как показано на рис. 1.8. Пусть t1 — длина и0—и,-
пути Ри, t2 — длина V; — Ufc-пути Р12, t[ — длина v'o — и/-пути Р21, & — длина
vj — и^-пути Р22, ta — длина пути Ра. Пути Рп, Р12, Ра и Р22 также представ.
-flymbfj-
V0 Vl V2 Vi-1 /Л VM Vk-1
v,
-P,
27 Путь Р !L
2
Рис. 1.8. Пути Plt P2 и Ра.
лены на рис. 1.8. Отметим, что ti~{-t2=t'1-{-t2 — максимальная длина пути в графе
G, а 1а>0. Не нарушая общности, предположим, что t{^t2 и t'{^t2, поэтому f,+
+^i>^i+4='i4'^2. Легко видеть, что пути Рп, Ра и Р21.вместе составляют путь
г'о—v'o, длина которого равна ti-\-ti-\-ta'>t1-\-t2, так как /а>0. Это противоречит
тому, что t1-\-t2 является максимальной длиной пути в графе G.
Следующая теорема будет часто использоваться в обсуждениях гл. 2. В даль-
дальнейшем будем заменять {л:} на х всякий раз, когда ясно, что мы ссылаемся на
множество, а не на его элемент.
Теорема 1.4. Если граф 0= (V, Е) связен, то граф О'— (V, Е—е), получаю-
получающийся после удаления циклического ребра е, тоже связен. Доказательство этой
теоремы оставим в качестве упражнения.
1.5. Операции над графами
В этом разделе мы введем несколько операций над графами.
Первые три операции, включающие два графа, бинарные, а осталь
ные четыре — унарные, т. е. определены на одном графе.
Рассмотрим графы Gi=(Vi, ?\) и G2=(V2, Ег).
v, e, v7 v
Рис. !.9. Объединение, пересечение и кольге-
вая сумма графов.
а—граф Oi; б—граф G,; в—О, U в,; г—в, n °'¦
d—Gt © at
Основные понятия
21
Объединение графов G* и G2> обозначаемое как йг и G2, представ-
представляет собой такой граф G3= (V-l (J V2, ?1 U E2), что множество его вер-
вершин является объединением Vi и V2, а множество ребер — объеди-
объединением Ei и ?2. Например, графы GiH G2 и их объединение пред-
представлены на рис. 1.9, а, б, в.
Пересечение графов Gt и G2, обозначаемое как Gx n G2, представ-
представляет собой граф Gs = {Vif\V2, E1(]E2). Таким образом, множество
вершин G3 состоит только из вершин, присутствующих одновремен-
одновременно в графах Gi и G2, а множество ребер G3 состоит только из ребер,
присутствующих одновременно в d и G2. Пересечение графов G*
и G2 (рис. 1.9, а, б) показано на рис. 1.9, г. Кольцевая сумма двух
графов Gi и G2, обозначаемая как Gi(^)G2, представляет собой граф
G3, порожденный на множестве ребер Ei 0 ?2. Другими словами,
граф G3 не имеет изолированных вершин и состоит только из ре-
ребер, присутствующих либо в Gi, либо в G2, но не в обоих графах
одновременно. Кольцевая сумма графов (рис. 1.9, а, б) показана
на рис. 1.9, д.
Легко убедиться в том, что три рассмотренные операции ком-
коммутативны, т. е. GiUG2=G2L)Gi, G1nG2=G2nGb ~
Рис. 1.10. Удаление реб-
ребра и удаление вершины.
а—граф в; б — G—pt;
е-а-[е„ «,}.
22
Глава 1
Заметим также, что эти операции бинарны, т. е. определены по
отношению к двум графам. Очевидно, определение этих операций
можно расширить на большее число графов.
Теперь рассмотрим унарные операции на графе.
Удаление вершины. Если vt — вершина графа G= (V, Е), то G —
— vt — порожденный подграф графа G на множестве вершин V — vt,
т. е. G—V[ является графом, получившимся после удаления из графа
G вершины Vi и всех ребер, инцидентных этой вершине.
Удаление ребра. Если et — ребро графа G= (V, Е), то G — et —
подграф графа G, получающийся после удаления из G ребра et.
Заметим, что концевые вершины ребра et не удаляются из G. Уда-
Удаление из графа множества вершин или ребер определяется как по-
последовательное удаление отдельных вершин или ребер.
Если Gj = (V", ?") — подграф графа G—(V, E), то через G—Gx
будем обозначать граф G'=(V, E—?"). Таким образом, G—Gj —
дополнение подграфа G{ в G,
Удаление вершины и удаление ребра показано на рис. 1.10.
Рассматриваемая далее операция замыкания, или отождествле-
отождествления, хорошо знакома инженерам-электрикам.
Замыкание или отождествление. Говорят, что пара вершин иг
и vj в графе G замыкается (или отождествляется), если они заме-
заменяются такой новой вершиной, что все ребра в графе G, инцидент-
инцидентные vt и Vj, становятся инцидентными новой вершине.
Например, результат замыкания вершин v3 и vt в графе рис. 1.11, а
представлен на рис. 1.11,6.
Стягивание. Под стягиванием мы подразумеваем операцию удале-
удаления ребра е и отождествление его концевых вершин. Граф G явля-
является стягиваемым графом к графу Я, если Н можно получить из G
последовательностью стягиваний.
Граф, изображенный на рис. 1.11, в, получен стягиванием ребер
€г и еь в графе G (рис. 1.11, а).
о
Рис. 1.11. Операции отождествления и стягивания в графе.
п—граф G; б—граф G после отождествления vA и vA; s—граф G после стягивания ех и ei
Основные понятия
23
1.6. Специальные графы
В этом разделе мы рассмотрим специальные классы графов,
часто встречающиеся в теории графов.
Полный граф G — простой граф, в котором каждая пара вершин
смежна. Если полный граф G имеет п вершин, то он обозначается
через Кп- Легко видеть, что Кп имеет п(п—1)/2 ребер. В качестве
примера на рис. 1.12 представлен граф Кь-
Граф G называется однородным, если в нем все вершины имеют
равную степень. Если граф G однороден и d(vt)=r для всех вершин
Vt в G, то G называют r-однородным графом. 4-однородный граф
Рис. 1.12. Граф Къ.
Рис. 1.13. 4-однородный граф.
представлен на рис. 1.13. Отметим, что Кп является (я—1)-однород-
ным графом.
Граф G~(V, Е) называется двудольным графом, если множество
его вершин V можно разбить на два таких подмножества V\ и У2,
что каждое ребро, принадлежащее Е, имеет одну концевую верши-
вершину в подмножестве Vlt а другую — в V2; (Vu V2) называют двудоль-
двудольным разбиением G.
Если в простом двудольном графе G с разбиением (Vi, У2) для
каждой- вершины vt в Vi и v} в 1/2 существует ребро (vit Vj), то G
называют полным двудольным графом и обозначают через Кт,п,
если Vi содержит т вершин, a V2 — п.
Двудольный граф и полный двудольный граф /(8,4 представлены
на рис. 1.14.
Граф G=(V, E) называется k-дольным, если V можно разбить
на k таких подмножеств Уь V2,. . ., Vh, что каждое ребро графа G
имеет одну концевую вершину в некотором подмножестве Vt, a
другую — в некотором подмножестве VV, 1ф ']. Полный k-дольный
граф G — простой й-дольный граф с разбиением множества вершин
Рис. 1.14.
j/ а—двудольный граф; б—полный дву-
Z дольный граф /Cs. i
Рис. 1.15. Полный 3-доль-
ный граф.
Основные понятия
25
{Vi, V2,. . ., Vk), обладающий таким свойством, что для каждой
вершины vt в Vr и Vj в Vs, r Ф s, I ^ r, s ^ k, (vit Vj) является реб-
ребром графа G. Полный 3-дольный граф представлен на рис. 1.15.
1.7. Точки сочленения и разделимые графы
Вершина vt графа G является точкой сочленения графа G, если
граф G—vt состоит из большего числа компонент, чем G. Если граф G
связный, то G—Vi будет содержать по крайней мере две компоненты,
т. е. G—vt будет несвязным. Согласно этому определению, изолиро-
изолированная вершина не может быть точкой сочленения.
Граф, имеющий одну вершину, будем называть тривиальным.
Таким образом, тривиальный граф не имеет точек сочленения.
Неразделимый граф — это связный граф без точек сочленения.
Все другие графы — разделимые (отметим, что несвязный граф
также является разделимым графом).
Граф G, представленный на рис. 1.16, а, является разделимым.
У него три точки сочленения: иь v2 и v3.
Рис. 1.16. Разделимый граф и его блоки.
а—разделимый граф G; 6—блоки графа G.
26 Глава 1
Блоком разделимого графа G является максимальный неразде-
неразделимый подграф графа G. Блоки разделимого графа G (рис. 1.16, а)
изображены на рис. 1.16, б.
Следующая теорема дает эквивалентное введенному определение
точки сочленения.
Теорема 1.5. Вершина и является точкой сочленения связного графа G тогда
и только тогда, когда существуют такие две вершины и и w, отличные от v, что
вершина v лежит на всяком и—да-пути.
Доказательство.
Необходимость: Если v — точка сочленения в графе G, тогда по определению
граф G—v — несвязный. Пусть Gt — одна из компонент G—v, и пусть Vi — мно-
множество вершин Gj, a V2 — дополнение Vt в V—v. Пусть вершина и находится в Vi,
а вершина w — в V2- Рассмотрим в графе G произвольный и—ay-путь. Если точка
сочленения v не лежит на этом пути, то данный путь находится и в G—v, т. е.
вершины и и ш связаны в G—v. Однако это противоречит тому, что и и w нахо-
находятся в разных компонентах G—v. Следовательно, вершина v лежит на любом
и—ву-пути.
Достаточность: Если v лежит на и—да-пути, то вершины и и w не связаны в G—v.
Таким образом, граф G—v — несвязный. Следовательно, по определению v —
точка сочленения.
Как следствие теоремы 1.5 можно дать эквивалентное определе-
определение разделимого графа:
Связный граф G является разделимым тогда и только тогда, когда
в графе G существует такая вершина v, что она является единствен-
единственной общей вершиной для двух собственных нетривиальных подграфов
Gj и G2, объединение которых равно G.
Предположим, что граф G — разделимый. Возможно ли, чтобы
все вершины графа G были точками сочленения? В следующей
теореме мы докажем, что ответ на этот вопрос отрицателен.
Теорема 1.6. Любой нетривиальный связный граф содержит по крайней мере
две вершины, которые не являются точками сочленения.
Доказательство. Докажем теорему индукцией по числу вершин графа.
Теорема верна для любого связного графа с двумя вершинами (ни одна из этих
вершин не является точкой сочленения). Предположим, что теорема верна для
любого нетривиального связного графа, имеющего менее п вершин, где п>2.
Пусть G — связный граф, имеющий п вершин. Если G не имеет ни одной точки
сочленения, то теорема доказана.
Теперь предположим, что в графе G v есть точка сочленения. Далее, пусть
Gj, G2, . . ., Gfc являются ^-компонентами графа G—v.
Если какой-либо граф G,- является тривиальным, то его единственная вершина
не является точкой сочленения. Рассмотрим произвольную нетривиальную ком-
компоненту G/. По предположению индукции, Gj содержит вершины vx и и2, которые
не являются точками сочленения. Очевидно, что если одна из этих вершин не
смежна сив графе G, то эта вершина не является точкой сочленения в G. С другой
стороны, если обе вершины ух и и2 смежны с v в G, то ни vlt ни v2 не будут точками
сочленения в G.
Таким образом, каждая компонента G—v имеет по крайней мере одну вер-
вершину, которая не является точкой сочленения в G.
Следовательно, граф G имеет по крайней мере две вершины, не являющиеся
точками сочленения.
Основные понятия
27
1.8. Изоморфизм и 2-изоморфизм
Графы на рис. 1.17 кажутся различными. Однако, если один из
них перерисовать соответствующим образом, он будет очень по-
похож на другой. Поэтому эти два графа в каком-то смысле «эквива-
а б
Рис. 1.17. Изоморфные графы.
а — G1; б — G2.
Рис. 1.18. 1-изоморфизм.
б — G,; з —граф после расщепления и, в Gt; г —граф после расщепления v[ в О,.
28 Глава 1
лентны». Определим эту эквивалентность более точно: говорят, что
два графа Ьг и G2 изоморфны, если существует такое взаимно-
взаимнооднозначное отображение между множествами их вершин и ребер,
что соответствующие ребра графов Gj и G2 инцидентны соответст-
соответствующим вершинам этих графов. Другими словами, если вершины
Vi и v2 в Gi соответствуют вершинам v[ и v'2 в G2, то ребро в Gb
имеющее концевые вершины иг и и2, должно соответствовать ребру
в G2, имеющему концевые вершины v{ и v'2, и наоборот.
Согласно данному определению графы, представленные на рис.
рис. 1.17, изоморфны. Соответствие между множествами их вершин
и ребер следующее:
соответствие вершин: Vj <-* v'2, t>2 <-> v'3, v* <-» v[, vt <-» У4, vs <-> i^;
соответствие ребер: ег «-* e{, e3 «-» e^, e5 «-» e4, e2 <-* 65, e4 «-» e^,
e, <-» ^3.
Рассмотрим разделимые графы Gt и G2, представленные на
рис. 1.18, а, б. Эти графы не изоморфны. Предположим, что мы так
«расщепили» точку сочленения vt в Gt на две вершины, что получи-
получились два реберно-непересекающихся графа на рис. 1.18, б11. Если мы
выполним подобное расщепление в точке сочленения v[ в G2, то
получим два реберно-непересекающихся графа, приведенных на
рис. 1.18, г. Легко убедиться, что графы на рис. 1.18, в, г изоморфны.
Таким образом, графы Gj и G2 стали изоморфными после расщепле-
расщепления точек сочленения. Такие графы называются 1-изоморфными.
Далее определим 2-изоморфизм как более общий тип изомор-
изоморфизма. Два графа Gx и G2 являются 2-изоморфными, если они
становятся изоморфными после применения следующих операций:
1. «Расщеплениеъ точки сочленения в Gx и (или) в G2 на две вершины,
такое, что получаются два реберно-непересекающихся графа.
2. Если один из графов, например Gb состоит из двух подграфов
G[ и Gl, имеющих точно две общие вершины vx и v2, то выполнение
перестановки этих вершин осуществляется в одном из подграфов.
(Геометрически эта операция эквивалентна такому «.переворачива-
«.переворачиванию-» одного из подграфов G[ и G'[, что общие вершины в нем меня-
меняются местами.)
Рассмотрим графы Gx и G2 на рис. 1.19, а, б. После расщепле-
расщепления вершины Vi в Gj и выполнения операции «переворачивания» с
переменой мест вершин vx и v2 мы получим граф G[, представлен-
представленный на рис. 1.19, в. Расщепление вершины и2 в G2 приводит-к графу
G2, изображенному на рис. 1.19, г. Графы G[ и G2 изоморфны. Сле-
Следовательно, графы G] и G2 являются 2-изоморфными.
Важный результат по 2-изоморфным графам формулируется в
следующей теореме:
11 Графы называются реберно-непересекающимися, если они не имеют общего
ребра, и вершинно-непересекающимися, если не имеют общей вершины.
Основные понятия
29
Теорема 1.7. Два графа G, и G2 являются 2-изоморфными тогда и только
тогда, когда существует взаимно-однозначное соответствие между множествами
их ребер, такое, что циклы в одном графе соответствуют циклам в другом.
Рис. 1.19. 2-изоморфизм.
Тот факт, что циклы в G1 будут соответствовать циклам в G2, когда Gt и G.2
2-изоморфны, достаточно очевиден. Однако доказательство обратного слишком
длинно, чтобы обсуждать его здесь. Оно приведено в оригинальной работе [1.1],
посвященной 2-изоморфным графам.
1.9. Замечания, касающиеся литературы
Некоторые из тем, затронутых в этой части книги, рассматри-
рассматриваются в работах [1.2, 1.3]. В работе [1.2] рассматриваются также
гиперграфы и матроиды. Хорошей работой, затрагивающей большое
число неразрешенных проблем теории графов, является моногра-
монография [1.4]. В работе [1.5] дается изящное введение в теорию графов и
матроидов. Рекомендуются и другие книги по теории графов [1.6—
1.8]. Полезны также книги и монографии, связанные с такими
специальными темами, как перечисление графов, алгоритмы и т. д.
Эти книги рекомендуются в соответствующих главах.
30 Глава 1
Упражнения
1.1. Пусть G — такой граф на п вершинах и т ребрах, что вершины имеют сте-
степень k или ?+1. Докажите, что если G имеет п^ вершин степени k и пь+i вершин
степени ?+1, то п^= (k-\-\)n—2т.
1.2. Доказать или опровергнуть:
а) объединение любых двух различных замкнутых маршрутов, соединяющих
две вершины, содержит цикл; б) объединение любых двух различных путей,
соединяющих две вершины, содержит цикл.
1.3. Докажите, что если в графе G существуют пути между вершинами а и b, a
также между b и с, то существует путь между а и с.
1.4. Пусть Pj и Р2 — Два различных пути между двумя вершинами графа. До-
Докажите, что Pi(BPi является циклом или объединением нескольких реберно-
непересекающихся циклов в графе.
1.5. Докажите, что замкнутая цепь, все вершины которой имеют степень два,
является циклом.
1.6. Покажите, что если два различных цикла графа G содержат ребро е, то в G
существует цикл, не содержащий е.
1.7. Покажите, что в простом графе G с 8(G)^k существует путь по крайней мере
длины k. Покажите также, что G имеет цикл длины по крайней мере А—(— I, если
1.8. Докажите, что граф G является связным тогда и только тогда, когда для
каждого разбиения (Vv V2) множества V с непустыми Vj и V2 существует ребро
в G, соединяющее вершину из Vf с вершиной из V2.
1.9. Докажите, что простой граф Gen вершинами и k компонентами может иметь,
самое большее, (л—k) (n—к-\-\I2 ребер. Используя этот результат, докажите,
что граф G должен быть связным, если он имеет больше (я—1) (п—2)/2 ребер.
1.10. Докажите, что если связный или несвязный граф G имеет точно две вершины
нечетной степени, то должен существовать путь, соединяющий эти две вершины.
1.11. Докажите, что если простой граф G не является связным, то связно его
дополнение G.
1.12. Пусть G — такой граф на п вершинах и т ребрах, что m<ji—1. Докажите,
что G — несвязный граф.
1.13. Докажите, что если для графа G на л вершинах и т ребрах выполняется
неравенство m>/i, то G содержит циклическое ребро.
1.14. Докажите, что простой граф G на п вершинах является связным, если б (G)^
> (л—1)/2.
1.15. Покажите, что простой граф G, имеющий по крайней мере две вершины,
содержит две вершины одинаковой степени.
1.16. Покажите, что если граф G= (V, E) является простым и связным, но непол-
неполным, то он имеет такие три вершины u, v, w, что ребра (и, v) и (v, w) содержатся
в Е, а ребро (и, ш) — не содержится.
1.17. Если вершины кип связаны в графе G, то расстояние между вин, обозна-
обозначаемое через d(u, v), является длиной наикратчайшего и—и-пути в G. Если в
графе G не существует и—u-пути, то определяем расстояние d(u, v) как беско-
бесконечное. Максимальное расстояние между двумя вершинами в G называется диа-
диаметром G. Покажите, что если G имеет диаметр >3, то G имеет диаметр <3.
1.18. Обхватом графа G является длина наикратчайшего цикла в G. Если G не
имеет циклов, то определяем обхват графа G как бесконечный. Покажите, что k-
однородный граф обхвата 4 имеет по крайней мере 2k вершин.
1.19. Простой граф G называется самодополнительным, если он изоморфен своему
дополнению G. Докажите, что число вершин самодополнигельного графа должно
равняться 4k или 4&+1, где k — целое число.
1.20. Докажите, что простой граф на п вершинах не является двудольным, если
он имеет более п2/4 ребер.
1.21. Докажите, что граф является двудольным тогда и только тогда, когда все
его циклы четной длины.
Основные понятия
3!
1.22. Постройте простой кубический граф на 2л (л^З) вершинах, не имеющий
треугольников.
Примечание: граф называется кубическим., если он 3-однородный; треугольник —
это цикл длины 3.
1.23. Докажите, что если v — точка сочленения в простом графе G, то она не
является точкой сочленения в G.
1.24. Докажите, что приведенные ниже свойства графа G на /г^гЗ вершинах эк-
эквивалентны:
а) граф G является неразделимым;
б) любые две вершины в G входят в общий цикл;
в) для любой вершины v и любого ребра е графа G существует цикл, содержащий
и v, и е;
г) любые два ребра в G входят в общий цикл;
д) пусть даны две вершины и одно ребро в графе G; тогда существует путь, кото-
который соединяет эти две вершины и содержит данное ребро;
е) для любых трех различных вершин в G найдется путь, соединяющий любые
две из них и включающий третью;
ж) для любы;; трех различных вершин в G найдется путь, соединяющий любые
две из них и не включающий третью.
1.25. Покажите, что если граф G не содержит циклов четной длины, то каждый
блок в G является либо Kf, либо Кг, либо циклом нечетной длины.
1.26. Покажите, что связный граф, не являющийся блоком, имеет два блока с
общей вершиной. Пусть b (v) — число блоков графа G= (V, Е), включающих
вершину v. Покажите, что число блоков графа G равно р-\-У\ф (v)—1), где
V6V
р — число компонент графа G.
1.27. Пусть с (В) — число точек сочленения связного графа G, являющихся вер-
вершинами блока В. Тогда число c(G) точек сочленения графа G определяется по
формуле c(G)—1=2 lc(B)—l].
по всем блокам
1.28. Мостом графа G является такое ребро е, что G—е имеет больше компонент,
чем G. Докажите:
\
\
\
Рис. 1.20.
\ /
Рис. 1.21.
32 Глава 1
а) ребро е связного графа G является мостом тогда и только тогда, когда сущест-
существуют такие вершины и и», что е лежит на каждом и—ш-пути в G;
б) ребро графа G является мостом в G тогда и только тогда, когда в графе G нет
ни одного цикла, содержащего это ребро.
1.29. Являются ли графы, изображенные на рис. 1.20, изоморфными? Почему?
1.30. Покажите, что два графа на рис. 1.21 не изоморфны.
1.31. Определите все неизоморфные простые графы порядков 3 и 4.
Примечание: существует только 4 неизоморфных графа с тремя вершинами и
11 —с четырьмя вершинами.
1.32. Докажите, что любые два простых связных графа на л вершинах, каждая
степени 2, являются изоморфными.
2. Деревья, разрезающие
множества и циклы
Графы, встречающиеся в большинстве приложений, являются
связными. Среди связных графов деревья, имеющие самую простую
структуру, являются одними из наиболее важных. Однако если так
важен связный граф, то и тогда множество ребер, разделяющих
граф, имеет не менее важное значение. Таким образом, мы приходим
к понятию «разрезающего множества». В этой главе мы ознакомим-
ознакомимся с деревьями, разрезающими множествами и некоторыми резуль-
результатами, связанными с ними, а также выявим связь между этими
понятиями и циклами.
2.1. Деревья, остовы и кодеревья
Граф называется ациклическим, если он не содержит циклоз.
Деревом называется связный ациклический граф.
Деревом графа G называется связный ациклический подграф графа G.
Остов графа G — это дерево графа G, содержащее все вершины G.
Связный подграф дерева Т называется поддеревом Т. В качестве
примера рассмотрим граф G, изображенный на рис. 2.1, а.
Графы Gi и G2 (рис. 2.1, б) являются деревьями графа G, графы
G3 и G4 (рис. 2.1, в) — остовами графа G.
Кодерево Т* остова Т графа G является подграфом графа G, со-
содержащего все вершины G и только те ребра G, которые не входят в
Т. Следует отметить, что кодерево может быть несвязным. Кодере-
Кодеревья GI и G4* остовов Gs и G4 (рис. 2.1, в) представлены на рис. 2.1, г.
Ребра остова Т называются ветвями Т, а ребра соответствующего
кодерева Т* — хордами или связями.
Остов Т однозначно определяет свое кодерево Т*. Таким обра-
образом, мы определяем ребра Т* как хорды Т. Рассмотрим некоторые
свойства дерева. Хотя определение дерева как связного ацикличес-
ациклического графа просто для понимания, существует еще несколько других
определений дерева, которые рассматриваются в следующей теореме:
Теорема 2.1. Для графа 0, имеющего п вершин и.т ребер, следующие утверж-
утверждения эквивалентны:
1. G является деревом. 2. Существует только один путь между любыми двумя
вершинами в G. 3. G является связным и т=п—\. 4. G — ациклический граф и
т=п—1. 5. G — ациклический граф, и при соединении ребром произвольных
двух несмежных его вершин получается граф, имеющий точно один цикл.
Доказательство.
1=>2. См. упражнение 1.2, б,
2 № 1449
34
Глава 2
ц v v, vz
Рис. 2.1. Деревья, остовы и кодеревья.
о —граф О; б — деревья G, и G2 графа в; в — остовы С?, и G, графа G; г —кодеревья Gj
и G^ графа G.
2=?>3. Для начала отметим, что Q — связный граф, так как в нем существует путь
между двумя любыми вершинами. Докажем, что т=п—1, методом индукции
по числу вершин в G. Это очевидно для связного графа с одной или двумя вер-
вершинами. Предположим, что оно верно и для связного графа с числом вершин,
меньшим п.
Деревья, разрезающие множества и циклы 35
Рассмотрим произвольное ребро е в G. Это ребро составляет единственный
путь между своими концевыми вершинами. Следовательно, в G—е не существует
пути между этими вершинами. Поэтому С—е — несвязный граф. Далее, он дол-
должен содержать точно две компоненты, иначе граф G не будет связным. Пусть
Gx и G2 — компоненты G—е. Пусть пгк тх — число вершин и ребер в Gj соот-
соответственно. И пусть л2 и тг аналогично определены для G2. Тогда имеем п=п1-{-п1
и m=m1+m2+l- Отметим, что Gt и G2 удовлетворяют предположению индукции,
т. е. что существует только один путь между двумя любыми вершинами в Gt и
G2. Так как пх<п и я2<п, то имеем по индуктивному предположению пг1=п1—1
и m2=n2—!• Следовательно, т=п1—1+я2—1+1=я—1.
3=>4. Пусть G0=G. Предположим, что Go имеет несколько циклов. Пусть G^—
граф, полученный после удаления из Go циклического ребра, например ег, т. е.
Gj=G0—ег. Поскольку Go — связный граф, то из теоремы 1.4 следует, что Gj —
также связный граф и содержит все п вершин, принадлежащих Go. Количество
ребер в G1 равно т—1.
Если G1 не является ациклическим, то пусть ег будет циклическим ребром
в Gx. Вновь граф 02=0!—e2=G0—ег—е2 должен быть связным и иметь все п вер-
вершин Gj. G2 имеет т—2 ребер. Если 02 не является ациклическим графом, про-
продолжим выполнение этой операции до тех пор, пока не получим связный ацикли-
ациклический граф Gp. Заметим, что Gp имеет п вершин и т—р ребер.
Поскольку Gp является связным и ациклическим, он должен быть деревом.
Следовательно, из предыдущего утверждения теоремы следует, что т—р=п—\.
Так как по предположению т=п—1, то получаем, что р=0. Таким образом,
граф G=G0 — ациклический граф.
4=>5. Пусть Glt G2, ¦ • ., Gp—р-компоненты графа G, п,- и т,-—число вершин и
ребер в компоненте G,- соответственно. Тогда m=m-f\-m%-\-. . .-\-тр и п=пх-\-
+п2+. . -Л-Пр. Каждая компонента G,- является связным, а также ациклическим
графом, поскольку этим свойством обладает граф G. Поэтому G,- является дере-
деревом. Далее, по утверждению 3 данной теоремы т,-=лг-—1 для любого 1
= .^/n,-= 4j(i(—1)=
с 1 i 1
Поэтому имеем m= .^/n,-= 4j(i(—1)=ге—р, однако по предположению т=п—1.
с — 1 i — 1
Следовательно, в нашем случае р—\. Таким образом, G состоит точно из одной
компоненты. Следовательно, он связный. Поскольку он также ациклический,
то является деревом. Тогда по утверждению 2 теоремы существует единственный
путь между двумя различными вершинами в G. Следовательно, если мы добавим
в G ребро е= (vlt v2), то это ребро вместе с единственным путем между vx и к2 об-
образует в полученном графе точно один цикл.
5=>1. Предположим, что G не является связным. Рассмотрим любые две вершины
va и 1'ъ, которые содержатся в различных компонентах G. Тогда va и i>(, не связаны
в G. Добавление в G ребра (va, 1'ь) не образует цикла, так как в G нет пути между
va и ;¦(,. Однако это противоречит допущению. Следовательно, предположение
о том, что G — несвязный граф, неверно. Таким образом, G является связным.
А поскольку G еще и ациклический граф, то по определению он должен быть де-
деревом.
Очевидно1, что утверждения 1—5 в изложенной выше теореме представляют
собой множество необходимых и достаточных условий для того, чтобы граф G
был деревом.
Прямым следствием этой теоремы является следующее утверждение:
Следствие 2.1.1. Рассмотрим подграф G' графа С на я вершинах. Пусть G'
имеет п вершин и т! ребер. Тогда следующие утверждения эквивалентны:
1. G' является остовом G. 2. Существует единственный путь между двумя любыми
вершинами в G'. 3. С является связным, и т' = п—1. 4. G' является ацикличе-
ациклическим, и т'=п—1. 5. Если G' является ациклическим и любые две несмежные
вершины G' соединить ребром, то получающийся граф имеет точно один цикл.
Сформулируем условие, которое не перекрывается предыдущим следствием, но
доказывается проще:
36 Глава 2
Следствие 2.1.2. Подграф С графа G на п вершинах является остовом графа G
тогда и только тогда, когда О' ациклический, связный и имеет п—1 ребер.
Теперь должно быть очевидно, что подграф графа 0 на п вершинах, обла-
обладающий любыми тремя из следующих свойств, должен быть остовом G:
1) имеет п вершин, 2) связный, 3) имеет п—1 ребер, 4) ациклический.
Тогда возникает вопрос: достаточно ли двух из четырех перечисленных свойств,
чтобы определить остов? На этот вопрос мы ответим позднее (см. также упраж-
упражнение 2.3).
Теорема 2.2. Подграф G' графа G на п вершинах является остовом G тогда
и только тогда, когда G' является ациклическим и имеет п—1 ребер.
Доказательство. Необходимость следует из утверждения 4 теоремы 2.1.
Чтобы доказать достаточность, необходимо показать, что G' — связный граф и
содержит п вершин G. Пусть G' состоит из р компонент, причем л,- — число вер-
р
шин в компоненте G,-. Пусть п' — число вершин в G'. Тогда п'= X щ. Каждый G,-
является связным и ациклическим графом, поскольку G' — ациклический граф,
Таким образом, каждая компонента G,- — дерево и, следовательно, имеет п,-—1
ребер, т. е. общее число ребер в G' равно 2 (ni—1)="'—Р- Однако по предпо-
предположению п'—р=п—1. Так как п'<.п и р~^\, ясно, что равенство выполняется
тогда и только тогда, когда п'—п и р=1. Таким образом, G' — связный граф,
имеющий п вершин. А поскольку он еще и ациклический, то по определению
является остовом G.
Предположим, что граф G имеет остов Т, Тогда G связный потому, что он
содержит связный подграф, включающий все его вершины. Докажем обратное,
т. е. что связный граф имеет по крайней мере один остов.
Если связный граф G — ациклический, тогда он является своим собственным
остовом. Если нет, то пусть ех — какое-либо циклическое ребро G. -Тогда по
теореме 1.4 граф Gi=G—е% — связный, содержащий все вершины, принадлежащие
G. Если Gx — не ациклический, то будем повторять эту операцию до тех пор,
пока не получим связный, ациклический граф Gp, имеющий все вершины G.
Тогда граф Gp будет остовом графа G. Результаты приведенного выше обсуждения
суммируются в следующей теореме:
Теорема 2.3. Граф G является связным тогда и только тогда, когда он име-
имеет остов.
Поскольку остов Т графа G — ациклический, то каждый подграф остова Т
является ациклическим подграфом графа G. Будет ли тогда верно, что каждый
ациклический подграф является подграфом некоторого остова G? Положительный
ответ доказывается в следующей теореме:
Теорема 2.4. Подграф G' связного графа G является подграфом некоторого
остова G тогда и только тогда, когда G' — ациклический.
Доказательство. Необходимость очевидна. Для доказательства достаточности
пусть Т — остов графа G. Рассмотрим граф G^rUG'. Ясно, что G' — подграф
графа G]. Граф G1 — связный и содержит все вершины графа G, поскольку яв-
является подграфом графа Gj. Если Gx — ациклический, то он является остовом
графа G, a G' — его подграфом, и тогда теорема доказана. (Отметим, что, если
G1 — ациклический, G1=T и тогда G' — подграф Т.) Предположим, что Gl со-
содержит цикл Cj. Из тог., что G' — ациклический, следует, что не все ребра Сх
содержатся в G'. Таким образом, Cj должен иметь по крайней мере одно ребро,
например еъ не содержащееся в G'. После удаления из Gx циклического ребра et
получим связный граф G2=Gj—ef, содержащий все вершины G^ Заметим, что Gx
является подграфом графа G2. Если G2 — ациклический граф, тогда он является
требуемым остовом. Если нет, то будем повторять процесс до тех пор, пока не
получим остов, подграфом которого является G'. Докажем интересную теорему
о минимальном количестве висячих вершин дерева (т. е. вершин степени 1).
Деревья, разрезающие множества и циклы
37
Теорема 2.5. В нетривиальном дереве существуют по крайней мере две вися-
висячие сершины.
Доказательство. Предположим, что дерево Т имеет п вершин. Тогда по тео-
п
реме 2.1 оно содержит п—1 ребер. По теореме 1.1 имеем J^ й(и,-) = 2Хчисло ре-
бер в Т. Тогда d(vx)-\-d(v^-\-. . .+d(yn) = 2n—2. Это равенство будет выполняться
только в том случае, если по крайней мере два члена в левой части будут равны 1,
т. е. Т имеет по крайней мере две висячие вершины.
2.2. й-деревья, остовные ft-деревья, леса
^-Деревом называется ациклический граф, состоящий из k ком-
компонент. Очевидно, что каждая компонента fe-дерева сама является
деревом. Заметим, что 1-дерево совпадает с деревом.
Если ^-дерево является остовным подграфом графа G, то оно
называется остовным k-деревом графа G.
k-Кодеревом Т* остовного ^-дерева Т графа G является остов-
нын подграф графа G, содержащий точно те ребра, которых нет в Т.
Например, граф на рис. 2.2, б является 2-деревом графа G, пред-
представленного на рис. 2.2, а. Остовное 3-дерево Т графа G и соответ-
соответствующее 3-кодерево Т* показаны на рис. 2.2, в, г.
е г
Рис. 2.2. Иллюстрация определения fe-дерева, остовного fc-дерева и fe-кодерева.
" —граф С; б—2-дерево графа G; в — остивиое 3-дереао Т графа G; г —3-кодерево Т*.
38
Глава 2
Обозначим k компонент остовного ^-дерева графа G на п верши-
вершинах через 7\, Г2). . ., Th. Если я,- — число вершин в Tit то п —
=п1+п2+...+Па. Поскольку каждое Tt является деревом, то по
теореме 2.1 имеем /Л(=яг—1, где mt — число ребер в Tt. Таким
k
образом, общее число ребер остовного ^-дерева Т равно 2т* =
*
= ^ (л(.—1)=п—k. Если m — число ребер в G, то fe-кодерево Т*
(=1
будет иметь m—n+k ребер.
Лесом графа G называется остовное fe-дерево графа G, где k —
число компонент в G. Если граф G имеет р компонент, тогда для
любого остовного ^-дерева графа G k^ р. Так как лесом Т графа
G является остовное fe-дерево графа G с k=p, необходимо, чтобы
каждая компонента Т была остовом одной из компонент G. Таким
образом, лес Т графа Gap компонентами Gu G2,. . ., Gp состоит
из р таких компонент 7\, Т2,. . ., Тр, что Т( — есть остов G,-,
К i < р.
Ко-лес Т* леса Т графа G — это остовный подграф графа G,
содержащий точно те ребра G, которые не входят в Т.
Отметим, что понятия «лес» и «остов» являются синонимами
по отношению к связному графу. Лес Т и соответствующий кп-лес.
Т* графа представлены на рис. 2.3.
Рис. 2.3. Лес и ко-лес.
с—граф G; 6 — лес Т графа G; в — uo-лес Т*.
Деревья, разрезающие множества и циклы
39
2.3. Ранг и цикломатическое число
Рассмотрим граф G на п вершинах и т. ребрах, содержащий k
компонент. Ранг графа G, обозначаемый через р (G), определяется
как п — k. Цикломатическое число графа G, обозначаемое jj. (G),
определяется как т — п + k. Заметим, что p(G)+(J.(G)=/n. Из
определения леса и ко-леса следует, что ранг p(G) графа равен числу
ребер леса графа G, а цикломатическое число jj.(G) — числу ребер
ко-леса графа G. Ранг и цикломатическое число являются одними
из наиболее важных характеристик графа. Как мы увидим в гл. 4,
они определяют размерность подпространств циклов и разрезов
графа.
2.4. Базисные циклы
Рассмотрим остов Т связного графа G. Обозначим ветви Т через
Ьи Ьг,. . ., Ьп-1у а хорды Г —через с„ с2|. . ., ст_п+ь где m —
число ребер, an — число вершин в графе G. Поскольку Т — ацик-
ациклический, то по теореме 2.1 граф T(Jct содержит точно один цикл
С;. Этот цикл состоит из хорды ct и тех ветвей Т, которые принадле-
принадлежа
в
Рис. 2.4. Множество базисных циклов графа G.
з — граф G; б — остов Т графа G; в — пять базисных циклон графа G по отношению к
(хорды обозначены штриховыми линиями).
40
Глава 2
жат единственному пути между концевыми вершинами ct. Цикл С,
называется базисным циклом графа G относительно хорды ct остова Т.
Множество всех т — п + 1 базисных циклов С1у С2, . . .,
Cm-n-ri графа G относительно хорд остова Т называется базисным
множеством циклов графа G относительно Т.
Важной особенностью базисного цикла С, является то, что он
содержит только одну хорду, т. е. хорду с,-. Далее, хорда ct не при-
присутствует ни в одном другом базисном цикле относительно Т. Из
этих свойств следует, что множество ребер базисного цикла нельзя
выразить в виде кольцевой суммы множества ребер некоторых или
всех оставшихся базисных циклов. В гл. 4 мы увидим, что каждый
цикл графа G можно выразить в виде кольцевой суммы некоторых
базисных циклов графа G по отношению к остову графа G. Именно
поэтому такие циклы и названы «базисными».
Граф G и множество его базисных циклов представлены на
рис. 2.4.
2.5. Разрезающие множества
К разрезающему множеству S связного графа G относится такое
минимальное множество ребер графа G, что удаление их из rpacba G
разделяет последний, т. е. граф G—S становится несвязным.
Рис. 2.5. Иллюстрация определения разрезающего множества.
о —граф О; б—G, = O —S, S — {e1, es, e-i, Сщ!'. s —(Зг = (? —S2, S25=(c,. ег, е5, е,, е„);
e — G, = a—S'2, Sa = {eb е„ еъ, г„}.
В качестве примера рассмотрим подмножество S1—{e1, e3, еъ
е10) ребер графа G (рис. 2.5, а). После удаления.Sj из G получаем
Gi — G — S (рис. 2.5, б). Граф Gx — несвязный. Кроме того, уда-
удаление любого собственного подмножества Si не может превратить
Деревья, разрезающие множества и циклы
41
граф G в несвязный. Таким образом, Sy — разрезающее множество
графа G.
Рассмотрим теперь множество S2={eu е2 еь, е7, е9). Граф Ga=
= j—5а (рис. 2.5, в) — несвязный. Однако множество S'2—{eu e2y
ei} е9), являющееся собственным подмножеством S2, также превра-
превращает граф G в несвязный. Граф G3=G—S'2 показан на рис. 2.5, г.
Следовательно, 52 не будет разрезающим множеством графа.
Заметим, что по определению разрезающего множества, данного
выше, если 5 является разрезающим множеством графа G, то
ранги G и G—5 отличаются по крайней мере на единицу, т. е.
p(G)—p(G—S) ^ 1. В работе [2.1] приводится следующее определе-
определение разрезающего множества:
Разрезающим множеством S связного графа G является такое мини-
минимальное множество ребер G, что удаление S' разбивает граф G на две
компоненты, т. е. p(G)—р (G—S) = l. Возникает вопрос: эквивалент-
эквивалентны ли эти два определения? Ответ — положителен, а доказатель-
доказательство оставлено в качестве упражнения 2.15.
2.6. Разрез
Определим понятие «разрез» которое связано с понятием «раз-
«разрезающее множество».
Рассмотрим связный граф G с множеством вершин V. Пусть У, и
V\ — два таких непересекающихся подмножества множества V,
что V=V-i\jV2, т. е. Vi и V2 не имеют общих вершин, а вместе
содержат все вершины множества V. Тогда множество S всех тех
\
\ У, о
\ /
\ /К
"Л
Рис. 2.6. Определение разреза.
о —граф в; б —разрез <У„ V,y графа О.
42
Глава 2
ребер, которые имеют одну вершину в Уь а другую — в У2, назы-
называется разрезом графа G. Разрез обычно обозначается через <Vi,
У2>. В работе [2.2] разрез называется разделителем (множество
ребер, разделяющих множество вершин V).
В качестве примера рассмотрим граф G, изображенный на
рис. 2.6. Если V1 = {v1, v2 v3, Vt} и V2={vb, vt, v7}, то разрез <КЬ
У2> — это множество ребер {е6, еъ е8}.
Отметим, что разрез <.V1, У2> графа G является минимальным
множеством ребер, удаление которых из графа G разбивает исход-
исходный граф на два графа d и G2, являющиеся порожденными под-
подграфами на множествах вершин Vi и У2 соответственно. Графы d
и G2 могут быть несвязными. Если оба эти графа связные, то <УЬ
У2> по-прежнему минимальное множество ребер, разделяющих
граф G точно на две компоненты. Тогда по определению <Уи У2>—
есть разрезающее множество графа G.
Предположим, что для разрезающего множества S графа G
величины Ух и У2 являются соответственно множествами вершин
двух компонент Gx и G2 графа G—S. Тогда S есть разрез <У\,
V°>. Таким образом, имеет место следующая теорема:
Теорема 2.6. 1. Разрез <V1, V2> связного графа G есть разрезающее множество
графа G, если соответствующие подграфы G, порожденные на множествах вершин
Vi и V2,— связные. 2. Если S — разрезающее множество связного графа G, а
Vi и V2 — множества вершин двух компонент G—S, то 5=<УХ, К2>-
Любой разрез <Vx, V2> в связном графе G содержит разрезающее множество,
так как удаление <FX, V2> из графа G переводит последний в несвязный граф.
Фактически мы можем доказать, что разрез в графе G является объединением
нескольких реберно-непересекающихся разрезающих множеств графа G. Фор-
Формально мы утверждаем это в следующей теореме:
Теорема 2.7. Разрез в связном графе G есть объединение нескольких реберно-
непересекающихся разрезающих множеств графа G. Доказательство этой теоремы
несложно, поэтому оставим его в качестве упражнения 2.19.
V
Рис. 2.7. Иллюстрация теоремы 2.8.
а — граф G ; б — подграф графа G, по-
порожденный на множестве вершин [иг, vif
vit t>4, v6, v7, i'#J.
Деревья, разрезающие множества и циклы 43
Рассмотрим вершину vx в связном графе G. Множество ребер, инцидентных
вершине vlt образует разрез <t',, V—У1>. Удаление этих ребер разбивает граф G
на два подграфа. Один из них, содержащий только одну вершину vlt является
связным по определению. Другой является порожденным подграфом G' графа G
на множестве вершин V—vt. Поэтому разрез <и,, V—v{> является разрезающим
множеством тогда и только тогда, когда подграф G' является связным. Но под-
подграф G' является связным в том и только в том случае, когда vx не является точкой
сочленения (разд. 1.7). Таким образом, имеем следующую теорему:
Теорема 2.8. Множество ребер, инцидентных вершине v в связном графе G,
есть разрезающее множество тогда и только тогда, когда v не является точкой
сочленения в графе G. В качестве примера рассмотрим разделимый граф G, пред-
представленный на рис. 2.7, a. v1 — точка сочленения графа G. Подграф графа G,
порожденный на множестве вершин V—ух= {у2, ^з, иЛ, ив, и6, и7, va}, изображен
на рис. 2.7, б. Этот подграф состоит из трех компонент и не связен. Поэтому
ребра, инцидентные точке сочленения vt, не образуют разрезающего множества
графа G.
2.7. Базисные разрезающие множества
В разд. 2.4 было показано, что остов связного графа можно
использовать для получения множества базисных циклов в графе.
В данном разделе мы показываем, как с помощью остова можно оп-
определить множество базисных разрезающих множеств.
Рассмотрим остов Т связного графа G. Пусть b — ветвь Т.
Удаление ветви b разбивает Т на две компоненты Тг и Т2. Следует
отметить, что 7\ и Г2 являются деревьями графа G. Пусть Vx и Vг
обозначают соответственно такие множества вершин 7\ и Т2, что
V7! и V'2 вместе содержат все вершины графа G.
Пусть Gi и G2 будут соответственно порожденными подграфами
графа G на множествах вершин Уг и У2. Не трудно видеть, что 7\
и Т2 являются остовами Gx и G2. Следовательно, по теореме 2.3 Gs
и G2 — связные графы. В теореме 2.6 доказывается, что разрез <.VU
VС> является разрезающим множеством графа G. Это разрезающее
множество называется базисным множеством графа G по отноше-
отношению к ветви b остова Т графа G. Множество всех п—1 базисных
разрезающих множеств по отношению к п — 1-ветви остова Т связ-
связного графа G называется базисным множеством разрезающих мно-
множеств графа G по отношению к остову Т.
Следует отметить, что разрезающее множество <Vi, V2> со-
содержит точно одну ветвь, т. е. ветвь b остова Т. Все другие ребра
<Ух, У2> являются хордами Т. Это следует из того, что <КЬ
V?> не содержит ни одного ребра из остовов 7\ и Т2. Далее, ветвь Ъ
не присутствует ни в одном базисном разрезающем множестве по
отношению к Т. Из этого следует, что множество ребер базисного
разрезающего множества нельзя представить в виде кольцевой сум-
суммы множеств ребер нескольких или всех базисных разрезающих
множеств. В гл. 4 мы покажем, что каждое разрезающее множество
44
Глава 2
/
ч>_/
3 е
Рис.'2.8. Множество Оазисных разрезающих множеств графа.
а — граф G; 6 — остов Т графа G; в — базисное разрезающее множество по отношению к
ветви «,: г —базисное разрезающее множество по отношению к ветви et; д — базисное раз-
разрезающее множество по отношению к ветви et; e — базисное разрезающее множество по от-
отношению к ветви еа.
графа G можно представить кольцевой суммой нескольких базис-
базисных разрезающих множеств по отношению к остову Т графа G.
Граф G и множество его базисных разрезающих множеств пред-
представлены на рис. 2.8.
2.8. Остовы, циклы и разрезающие множества
В этом разделе мы обсудим некоторые интересные результаты,
связывающие разрезающие множества и циклы с остовами и коде-
ревьями соответственно. Эти результаты выявляют двойственную
Деревья, разрезающие множества и циклы 45
природу циклов и разрезающих множеств. Они приводят к альтер-
альтернативным характеризациям разрезающих множеств и циклов в тер-
терминах остовов и кодеревьев соответственно.
Очевидно, что удаление разрезающего множества S из связного
графа G разрушает все остовы графа G. Нетрудно показать, что
разрезающее множество является минимальным множеством ребер,
удаление которого из графа G вызывает разрушение всех остовов
в графе. Однако результат, обратный этому, не очевиден. Первые
теоремы данного параграфа затрагивают эти и некоторые другие
вопросы, относящиеся к циклам.
Теорема 2.9. Разрезающее множество связного графа G содержит по крайней
мере одну ветвь каждого остова графа G.
Доказательство. Предположим, что разрезающее множество S графа G не
содержит ни одной ветви остова Т графа G. Тогда граф G—S будет содержать
остов Т и, следовательно, по теореме 2.3 G—S — связный граф. Но это противо-
противоречит тому, что S — разрезающее множество графа S.
Теорема 2.10. Цикл связного графа G содержит по крайней мере одно ребро
каждого кодерева графа G.
Доказательство. Пусть цикл С графа G не содержит ни одного ребра коде-
кодерева Т* остова Т графа G. Тогда граф G—Т* будет содержать цикл С. Так как
G—Т* совпадает с остовом 7\ то, следовательно, остов Т содержит цикл. Но это
противоречит определению остова.
Теорема 2.11. Множество ребер S связного графа G является разрезающим
множеством G тогда и только тогда, когда S — минимальное множество ребер,
содержащих по крайней мере одну ветвь каждого остова графа G.
Доказательство.
Необходимость. Если множество ребер S графа О является разрезающим мно-
множеством, то по теореме 2.9 оно содержит по крайней мере одну ветвь каждого
остова графа G. Если оно не является таким минимальным множеством, то соб-
собственное подмножество S' множества S будет содержать по крайней мере одну
оетвь каждого остова графа G. Тогда G—S' не будет содержать ни одного остова
графа и будет несвязным. Таким образом, удаление собственного подмножества
S' разрезающего множества S графа G превращает последний в несвязный граф.
Однако это будет противоречить определению разрезающего множества. Следо-
Следовательно, необходимость доказана.
Достаточность. Пусть S — минимальное множество ребер, содержащее по
крайней мере одну ветвь каждого остова графа G. Тогда граф G—S не будет со-
содержать ни одного остова и, следовательно, будет несвязным. Предположим, что
S не является разрезающим множеством. Тогда собственное подмножество S'
множества S будет разрезающим. Следовательно, из доказательства необходи-
необходимости этой теоремы S' будет минимальным множеством ребер, содержащим по
крайней мере одну ветвь каждого остова графа G. Но это противоречит тому,
что S — минимальное такое множество. Следовательно, достаточность доказана.
Эта теорема характеризует разрезающее множество в терминах
остовов. Сформулируем подобную характеризацию для циклов с
использованием кодеревьев.
Рассмотрим множество ребер С, образующее цикл в графе G.
По теореме 2.10 множество С содержит по крайней мере одно ребро
каждого кодерева графа G. Покажем, что никакое собственное
подмножество С множества С не обладает этим свойством. Оче-
Очевидно, что С не содержит цикл. Тогда по теореме 2.4 можно по-
46 Глава 2
строить остов Т, содержащий подмножество С". Кодерево Т*,
соответствующее Т, не имеет общих ребер с С". Следовательно, для
каждого собственного подмножества С" множества С существует по
меньшей мере одно кодерево Т*, не имеющее общих ребер с под-
подмножеством С". В самом деле, это утверждение верно для каждого
ациклического подграфа. Таким образом, имеем следующую теоре-
теорему:
Теорема 2.12. Циклом связного графа G является минимальное множество
ребер графа, содержащее по крайней мере одно ребро каждого кодерева графа G.
Докажем обратную теорему.
Теорема 2.13. Множество ребер С связного графа G есть цикл в G, если оно
является минимальным множеством, содержащим по крайней мере одно ребро
каждого кодерева графа G.
Доказательство. Как было показано ранее, множество С не может быть
ациклическим, так как для каждого ациклического подграфа G' графа G сущест-
существует кодерево, не имеющее ни одного общего ребра с G'. Таким образом, множе-
множество С содержит по крайней мере один цикл С Предположим, что С" является
собственным подмножеством множества С. Тогда по теореме 2.12 С" — минималь-
минимальное множество ребер, содержащее по меньшей мере одно ребро каждого кодерева
графа. Однако это противоречит предположению, что С — такое минимальное
множество. Следовательно, ни одно собственное подмножество множества С не
является циклом. Поскольку множество С не ациклическое, то оно должно
быть циклом.
Теоремы 2.12 и 2.13 устанавливают, что множество ребер С связного графа G
будет циклом тогда и только тогда, когда оно является минимальным множеством
ребер, содержащим по крайней мере одно ребро каждого кодерева графа G. Новые
характеризации разрезающего множества и цикла, полученные с помощью теорем
2.11—2.13, выявляют двойственную природу понятий «цикл» и «разрезающее
множество». Эту двойственность мы подробнее исследуем в гл. 10 при обсуждении
теории матроидов.
Следующая теорема связывает циклы и разрезающие множества без исполь-
использования понятия «дерево».
Теорема 2.14. Цикл и разрезающее множество связного графа имеют четное
число общих ребер.
Доказательство. Пусть С — цикл, a S — разрезающее множество связного
графа G, a Vx и V2 — множества вершин двух связных подграфов Gx и G2 гряфа
Q-S.
Если С — подграф графа G1 или G2, то, очевидно, число ребер, общих в С
и S, равно нулю, т. е. четному числу.
Предположим, что С и S имеют несколько общих ребер. Будем передвигаться
по циклу С из вершины у1? принадлежащей множеству Vi.
Поскольку передвижение должно кончиться в вершине Dj, необходимо, чтобы
каждый раз мы встречались с ребром множества S, ведущим нас от вершины в
множестве V1 к вершине в множестве V2; также должно существовать ребро S,
переводящее нас из вершины в множестве V2 назад, к вершине в множестве Vi-
Это возможно только в том случае, если С я S имеют четное число общих ребер.
Мы доказали очень важную теорему. Она формулирует соотноше-
соотношение ортогональности между разрезающими множествами и циклами.
Это соотношение будет позднее рассмотрено в гл. 4.
Следует отметить, что теорема, обратная теореме 2.14, не совсем
верна. Однако в гл. 4 мы покажем, что множество S графа G
является разрезающим множеством (циклом) или объединением
Деревья разрезающие множества и циклы 47
нескольких реберно-непересекающихся разрезающих множеств
(циклов) тогда и только тогда, когда множество S имеет четное
число ребер, входящих в пересечение с каждым циклом (разре-
(разрезающим множеством).
Базисные циклы и разрезающие множества связного графа были
определены относительно остова. И не удивительно, что базисные
циклы и разрезающие множества связаны между собой следующим
образом:
Теорема 2.15. 1. Базисный цикл по отношению к хорде остова Т связного
графа состоит точно из тех ветвей Т, которым соответствуют базисные разреза-
разрезающие множества, включающие эту хорду. 2. Базисное разрезающее множество
по отношению к ветви остова Г связного графа состоит точно из тех хорд остова Т,
которым соответствуют базисные циклы, включающие эту ветвь.
Доказательство. 1. Пусть С — базисный цикл связного графа G по отноше-
отношению к хорде Ci остова Т графа 0. Пусть цикл С содержит помимо хорды сг ветви
Ь^, b2, . . ., 6fc, принадлежащие остову Т.
Предположим, что S,-(l «:!<:&) — базисное разрезающее множество графа G
по отношению к ветви &,¦ A<:г'<:?) остова Т. Ветвь Ь;— единственная общая
ветвь как для С, так и для S,-. Хорда с± — единственная хорда в цикле С. По-
Поскольку С и S; должны иметь четное число общих ребер, то необходимо, чтобы
базисное разрезающее множество S,- включало в себя хорду сх. Покажем, что
никакое другое базисное разрезающее множество остова Т не содержит хорды et.
Предположим, что базисное разрезающее множество S&+i по отношению
к некоторой ветви 6^+1 остова Т содержит хорду с±. Тогда она будет единственным
общим ребром между С и S^ + i. Однако это противоречит теореме 2.14. Таким
образом, хорда су присутствует только в разрезающем множестве, определяемом
ветвями &!, Ь2, ¦ . ., fcft.
2. Доказывается аналогично.
2.9. Замечения, касающиеся литературы
Понятие «дерево» является основным при получении некоторых
результатов, связанных с циклами и разрезающими множествами
графов. Оказывается, что остовы, циклы и разрезающие множества
являются соответственно базами, циклами и коциклами матроида,
которые можно определить на множестве ребер графа.
Таким образом, результаты этой главы помогут лучшему пони-
пониманию теории матроидов, изложенной в гл. 10.
Теория электрических цепей относится к одной из самых ранних
областей применения теории графов. Гл. 2, 4 и 6 образуют основу
теоретического изучения электрических цепей с помощью графов.
Наиболее полно с этим вопросом можно ознакомиться в работе [2.1];
работы [2.3—2.5] рекомендуются для дальнейшего изучения данной
темы.
Некоторые вопросы, связанные с деревьями широко, обсуждают-
обсуждаются в литературе. Часть из них рассмотрим в последующих главах
книги.
48 Глава 2
Упражнения
2.1. Покажите, что на шести вершинах существует точно шесть неизоморфпых
деревьев, а на семи вершинах — 11. Нарисуйте все деревья.
2.2. Покажите, что дерево является двудольным графом.
2.3. Рассмотрим подграф G, связного графа G на п вершинах. Покажите, что, за
исключением пары б и г, ни одна другая пара из следующих условий не влечет
того, что Gs является остовом G:
а) Gs содержит п вершин;
б) Gj содержит л—1 ребер;
в) Gs — связный подграф;
г) Gs не содержит циклов.
2.4. Докажите, что любое висячее ребро (ребро, инцидентное висячей вершине)
связного графа G содержится в каждом его остове.
2.5. Докажите, что каждое ребро связного графа G является ветвью какого-либо
остова этого графа.
2.6. Докажите, что в дереве каждая вершина, степень которой больше единицы,
является точкой сочленения.
2.7. Докажите, что каждое ребро неразделимого графа G является хордой неко-
некоторого кодерева графа G.
2.8. Докажите или опровергните: любые два ребра неразделимого графа содер-
содержатся в некотором базисном цикле.
2.9. При каких условиях любые два ребра графа G могут быть хордами некото-
некоторого кодерева графа G?
2.10. Докажите, что неразделимый граф имеет цикломатическое число, равное
единице, в том и только в том случае, если он является циклом.
2.11. Покажите, что цикломатическое число любого графа не может быть отри-
отрицательным. Приведите пример графа, цикломатическое число которого равно 0.
2.12. Рассмотрите следующие две операции надграфами:
а) Если вершине va инцидентны только два ребра ег= (vb va) и ег= (vt, va), то
заменить ег и ег единственным ребром, соединяющим Vf и с>2.
б) Заменить любое ребро (vu v%) двумя ребрами (щ, va) и (v2, va), где va — новая
вершина, не входящая в граф G. Докажите, что цикломатическое число графа
является инвариантным относительно этих операций.
2.13. Связный граф G является минимально-связным, если для каждого ребра е
графа G граф G—е — несвязный. Докажите, что связный граф является деревом
тогда и только тогда, когда он минимально-связный.
2.14. Докажите, что подграф Gs связного графа G является его остовом тогда и
только тогда, когда он является максимальным подграфом графа G, не содержа-
содержащим ни одного цикла.
2.15. Покажите, что разрезающее множество связного графа G является таким
минимальным множеством S ребер графа G, что удаление 5 разбивает граф G
точно на две компоненты, т. е. p(G)—p(G—S)=l.
2.16. Докажите, что каждый связный граф содержит разрезающее множество.
2.17. Докажите, что подграф связного графа G может содержаться в кодереве
графа G тогда и только тогда, когда он не включает в себя ни одного разрезаю-
разрезающего множества графа G.
2.18. Докажите, что подмножество S ребер связного графа G образует кодерево
графа G тогда и только тогда, когда оно является максимальным подмножеством
ребер, не содержащим ни одного разрезающего множества графа G.
2.19. Докажите, что разрез в связном графе G является разрезающим множеством
или объединением нескольких реберно-непересекающихся разрезающих множеств
графа G.
2.20. Докажите, что каждое разрезающее множество неразделимого графа более
чем с двумя вершинами содержит по крайней мере два ребра.
2.21. Докажите, что граф G является неразделимым тогда и только тогда, когда
любые два ребра графа G принадлежат общему разрезающему множеству.
Деревья, разрезающие множества и циклы 49
2.22. Пусть С — цикл в графе G, а а и Ь — любые ребра цикла С. Докажите, что
существует такое разрезающее множество 5, что 5f)^== {я. Ь}.
2^23. Пусть 7\ и Т2 — остовы связного графа 0. Покажите, что если е — произ-
произвольное ребро остова 7\, то существует ребро / в остове Г2 с таким свойством, что
G\—е) (J/ (граф, полученный из Тх после замены е на /) тоже является остовом
графа G. Покажите также, что остов Tt можно «трансформировать» в остов Г,
с помощью замены ребер остова Т\ на ребра остова Т3 по одному таким образом,
что на каждом шаге замены мы получаем остов графа 0.
2.24. а) Пусть Сг и С2 — два цикла графа G. Пусть ех — ребро, принадлежащее
циклам С\ и С2, а е2 — ребро, принадлежащее только циклу Q. Докажите, что
существует такой цикл С3, что С3с= (Сх(J С2)—«j, а е2 принадлежит циклу С3.
б) Приведите доказательство ,"чя того случая, когда в п. а) термин «цикл» заменен
термином «разрезающее множество».
Примечание. Это утверждение является одним из постулатов, использованных
в работе [2.6] при определении «циклов» матроида (гл. 10).
2.25. Пусть Т — произвольное дерево на ?+1 вершинах. Покажите, что если G —
простой граф и 6(G)>?, то граф G имеет подграф, изоморфный дереву Т.
2.26. Покажите, что граф G содержит k реберно-непересекающихся остовов тогда
и только тогда, когда для каждого разбиения (l^, V2, . . ., Ve) множества V число
ребер, имеющих концевые вершины в равных частях разбиения, равно по крайней
мере?(/— 1) [2.7, 2.8].
2.27. Центральная вершина графа G= (V, Е) — это такая вершина «, что зна-
значение max{d(u, v)} является наименьшим из возможных, где d{и, v) — расстояние
чек
между и и v. Покажите, что дерево имеет либо только одну центральную вершину,
либо две смежные центральные вершины.
2.28. Граф деревьев связного графа G на п вершинах — это граф, вершинами
которого являются остовы Тх, Тг, . . ., Тг графа G, причем остовы Tj и Тj смежны
тогда и только тогда, когда они имеют точно п—2 общих ребра. Покажите, что
граф деревьев любого связного графа также является связным.
Примечание: см, упр. 2.23.
3. Эйлеровы и гамильтоновы
графы
Многие открытия теории графов были использованы для решения
«практических» проблем — задач, головоломок, игр и т. д. К одной
из этих задач относится знаменитая задача о кенигсбергских мостах.
Ее можно сформулировать следующим образом:
На реке Преголя в Кенигсберге (теперь г. Калининград) было
два острова. Они соединялись между собой и с берегами реки семью
мостами, как показано на рис. 3.1, а. Задача заключалась в том,
чтобы, начав двигаться с одного из четырех участков суши (поме-
(помеченных на рис. 3.1, а буквами А, В, С и D), только один раз прой-
пройти по каждому мосту и снова вернуться в исходную точку, т. е.
Рис. 3.1.
а —задача о кенигсбергских мостах; б —граф задачи о кенигсбергских мостах.
определить замкнутый маршрут через все семь мостов, дважды не
пересекая ни один из них.
Многие были убеждены, что у этой задачи нет решения. Однако
лишь в 1736 г. великий швейцарский математик Эйлер доказал
возможность решения задачи и тем самым заложил основу теории
графов. Эйлер был первым, кто показал, что эта задача эквивалент-
эквивалентна созданию замкнутой цепи вдоль ребер графа (рис. 3.1, б), в кото-
котором вершины А, В, С и D представляют собой участки суши,
а ребра — мосты, соединяющие эти участки. Затем он обобщил
эту задачу и охарактеризовал ее с точки зрения графов, в кото-
которых существует такая замкнутая цепь. Такие графы стали называть-
называться эйлеровыми. В разд. 3.1 мы рассмотрим эти графы.
В 1859 г. другой известный математик — сэр Уильям Гамиль-
Гамильтон — придумал игру, в которой требуется обойти замкнутый кон-
Эйлеровы и гамилыпоновы графы
51
тур всех ребер додекаэдра, минуя каждую вершину лишь один раз.
В теории графов эта игра эквивалентна определению остовного
цикла, содержащего все 20 вершин (рис. 3.2). Можно проверить, что
20
18 77
Рис. 3.2. Граф игры Гамильтона.
последовательность вершин 1, 2, . . ., 20, 1 образует такой цикл в
графе. Все графы, в которых существует подобный остовный цикл,
называются гамильтоновыми. Эти графы мы рассмотрим в разд. 3.2.
3.1. Эйлеровы графы
Эйлеровой цепью в графе G называется замкнутая цепь, содержа-
содержащая все ребра графа G. К открытой эйлеровой цепи относится от-
открытая цепь, содержащая все ребра G. Граф, содержащий эйлерову
цепь, называется эйлеровым графом.
Рассмотрим граф, представленный на рис. 3.3, а. Последователь-
Последовательность ребер еи е2, е3, е4, еъ, е„, еъ es, е„, е10, е1и е12 образует эйлерову
цепь в графе Gb следовательно, последний является эйлеровым.
В графе G2 на рис. 3.3, б последовательность ребер еи е2, еъ, eit
«5, ев, е7, е8, е9, е10, е1и е1Ъ е13 образует открытую эйлерову цепь. Од-
Однако в графе G2 эйлеровой цепи нет. Следовательно, граф G2 не явля-
является эйлеровым.
Неэйлеров граф G3, не обладающий открытой эйлеровой цепью*
приведен на рис. 3.3, в.
Теперь сформулируем теорему, дающую простую и часто исполь-
используемую характеризацию эйлеровых графов:
Теорема 3.1. Следующие утверждения эквивалентны для связного графа G:
1. G — эйлеров граф.
'2. Степень каждой вершины в графе G четная.
Рис. 3.3.
а—эйлеров граф С,; б —неэЛлеров граф С„ имеющий открытую эйлерову цепь; в — неэй-
леров граф G3, не имеющий открытой эйлеровой цепи.
Эйлеровы и гамильтоновы графы 53
3. G является объединением нескольких реберно-непересекающихся циклов.
Доказательство.
1=>2. Пусть Т — эйлерова цепь в графе G. Предположим, что мы начали
движение вдоль Т из произвольной вершины ^..принадлежащей графу G. Пред-
Представим эйлерову цепь Т в виде v1=x1, еъ х2, е2, xs, . . ., er+i, xr, er, xr+l—vlt
где все ребра различны, а вершины х2, . . ., хг не обязательно различны и неко-
некоторые из них могут совпадать с vx. Тогда очевидно, что пара следующих друг за
другом ребер е,- и е;+1, l<t</-—1, добавляет 2 к степени вершины x,-+i. Кроме
того, начальное и конечное ребра ех и ег добавляют 2'к степени вершины wlt Таким
образом, все вершины имеют четную степень.
2=>3. Так как G —связный граф и каждая вершина в нем имеет четную сте-
степень, то степень каждой вершины в графе G больше 1. Таким образом, в графе О
нет висячих вершин. Следовательно, по теореме 2.5 граф G не является деревом.
Это означает, что граф G имеет по крайней мере один цикл, например Сх.
Рассмотрим граф Gx—G—Сг. Так как каждая вершина в графе Сг имеет
четную степень, то и каждая вершина, принадлежащая Glt должна иметь четную
степень. Однако возможен случай, когда граф Gj — несвязный.
Если граф Gx полностью несвязный, т. е. содержит только изолированные
вершины, G=Gi, и утверждение 3 доказано. В противном случае граф Gj имеет
по крайней мере один цикл С2.
Рассмотрим граф. G2'=G1—C»=G—Сг—Сг. Аналогично каждая вершина в
графе G2 имеет четную степень. Если граф G2 полностью несвязный, тогда G2=
= C1UC2. ^ противном случае будем повторять эту операцию, пока не получим
полностью несвязный граф Gn—G—С(—С2—...—С„, где Cf, С2, . .., С„ — циклы
графа G, попарно не имеющие общих ребер, Тогда G=Ci\JC2[). . ,[}С„, и, сле-
следовательно, утверждение 3 доказано.
3=Ф1. Пусть G — объединение реберно-непересекающихся циклов Q, С,, ...
. . ., Сп. Рассмотрим любой из них, например С%. Так как G — связный граф,
то должен существовать по крайней мере один цикл, например Са, имеющий
общую вершину vt с циклом Cv Пусть Т12 — замкнутая цепь, начинающаяся
в вершине vt и последовательно проходящая циклы Q и Са. Очевидно, что эта
цепь содержит все ребра С± и Са.
Поскольку граф G — связный, цепь Т13 должна иметь общую вершину иа
по крайней мере с одним циклом, например С8, отличным от Cj и С2. Замкнутая
цепь Т1гз, начинающаяся в уа и последовательно проходящая через Т14 и С,,
содержит все ребра циклов Clf Сг и С3.
Будем повторять эту операцию до тех пор, пока не получим замкнутую цепь
^123 ... и» содержащую все ребра циклов С1; С2> . . ., С„. Эта замкнутая цепь и
будет являться эйлеровой цепью в графе G. Следовательно, граф G — эйлеров.
По этой теореме граф^ (рис. 3.3, а) является эйлеровым, так как
каждая вершина графа Gt имеет четную степень, тогда как графы
G2 и Gs (рис. 3.3, б, в) содержат несколько вершин нечетной сте-
степени и потому не могут быть эйлеровыми.
Нетрудно убедиться в том, что эйлеров граф G* является объеди-
объединением реберно-непересекающихся циклов со следующими множе-
множествами ребер: {е4, еь, е,}, {е2, е„, ei0}, {e3, еъ eg), {е±, ец, е-^}.
Из утверждения 3 теоремы 3.1 имеем следующее следствие:
Следствие 3.1.1. Каждая вершина эйлерова графа содержится в некотором
цикле.
Хотя в графе, содержащем несколько вершин нечетной степени, эйлерова
цепь отсутствует, в таком графе можно построить множество реберно-непересе-
реберно-непересекающихся открытых цепей, которые содержат все ребра. Докажем это в следу-
следующей теореме:
Теорема 3.2. Пусть G= (V, Е) — связный граф с 2k вершинами нечетной
54 Глава 3
степени, fe^l. Тогда Е можно разбить на такие подмножества Е1г Е2, Е3, . . .
. . ., Ek, что каждое из них Е/ образует в графе С открытую цепь.
Доказательство. Пусть и,- и s,-, 1 <:(<?, являются 2k вершинами нечетной
степени, принадлежащими графу G. Добавим к нему k новых вершин wlt w2, . . .
. . ., а)ь вместе с 2k ребрами (и,-, w;) и (s,-, w/), 1 </</:. В полученном графе G'
каждая вершина имеет четную степень, и, следовательно, G' — эйлеров граф.
Заметим, что в любой эйлеровой цепи графа G' ребра (и,-, w;) и (s,-, w/) для
любого 1<(<& появляются последовательно. Удалением этих 2k ребер мы по-
получаем k реберно-непересекающихся открытых цепей в графе G, так что каждое
ребро графа G присутствует точно в одной из k этих цепей.
Эти открытые цепи и дают необходимое разбиение Е.
Следствие 3.2.1. Пусть G— связный граф, имеющий точно две вершины
нечетной степени. Тогда -он имеет открытую цепь (начинающуюся с одной из
вершин нечетной степени и заканчивающуюся в другой), содержащую все ребра G.
Например, граф G2 (рис. 3.3, б) имеет точно две вершины и6 и
vs нечетной степени и открытую цепь {еи е2, е3, et, еъ, ее, е7,
е8, еэ, е10, еи, е1%, ехз), содержащую все ребра графа G2. Эта цепь
начинается из вершины v6 и заканчивается в вершине v3.
Граф G3 (рис. 3.3, в) имеет 4 вершины нечетной степени и две
реберно-непересекающиеся открытые цепи, определяемые сле-
следующими множествами ребер:
{ей ег, е3, eiteb), {е„ е-,, ев, е9,
ею, ец, е12}.
Граф называется произвольно-
эйлеровым из вершины v, если
мы, начав двигаться из нее, про-
произвольным образом пройдя вдоль
ребер графа G, в итоге получим
эйлерову цепь.
Необходимо отметить, что
если граф G — произвольно-эй-
леров из вершины v, то можно
Рис. 3.4. Произвольный эйлеров расширить каждую v—и-цепь, не
граф из двух вершин. содержащую всех ребер, до эйле-
эйлеровой цепи графа G. Другими
словами, если эйлеров граф G не является произвольно-эйлеровым
из вершины v, то должна существовать замкнутая v — и-цепь,
содержащая все ребра, инцидентные вершине v, но не включающая
в себя все ребра графа G.
В качестве примера рассмотрим эйлеров граф на рис. 3.4. Этот
граф является произвольно-эйлеровым из вершин vy и v2. Можно
проверить, что для каждой вершины vh отличной от вершин vt и
v2, существует замкнутая цепь, содержащая все ребра, инцидентные
вершине vh но не включающая в себя всех ребер графа G. Например,
этим свойством обладает замкнутая v3—и3-цепь, состоящая из ребер
<?4, еи е2 и е3.
Следующая теорема дает характеризацию графов, являющихся
произвольно-эйлеровыми из вершины v.
Эйлеровы и гамилыпоновы графы 55
Теорема 3.3. Эйлеров граф С является произвольно-эйлеровым из вершины v
тогда и только тогда, когда каждый цикл графа G содержит эту вершину.
Доказательство.
Необходимость. Пусть G — произвольно-эйлеров граф из вершины и. Пред-
Предположим, что в графе С существует цикл С, не содержащий v. Рассмотрим граф
G'—G—С. Каждая вершина в нем имеет четную степень. Граф G' может быть и
несвязным. Однако его компонента G", содержащая вершину и, является эйле-
эйлеровым графом и содержит все ребра, инцидентные вершине и. Таким образом,
в графе G" существует эйлерова цепь Т, начинающаяся и возвращающаяся в
вершину и. Эта цепь обязательно состоит из всех ребер, инцидентных вершине v.
Поэтому ее нельзя расширить до включения всех ребер цикла С. Это противо-
противоречит тому, что G — произвольно-эйлеров граф из вершины v.
Достаточность. Пусть вершина v эйлерова графа G присутствует в каждом
его цикле. Предположим, что граф G не является произвольно-эйлеровым из
вершины v. Тогда существует замкнутая v—w-цепь Т, содержащая все ребра,
инцидентные вершине v, но не включающая в себя всех ребер графа G. Далее,
существует вершина ифу, являющаяся концевой вершиной ребра, не содержа-
содержащегося в цепи Т.
После удаления из графа G ребер цепи Т получим граф G', в котором v будет
изолированной вершиной. Каждая вершина в графе С' имеет четную степень.
Таким образом, компонента графа G', содержащая вершину и, является эйлеро-
эйлеровым графом. Согласно следствию 3.1.1, существует цикл, содержащий вершину и.
Это противоречит предположению, что вершина v находится в каждом цикле
графа G.
Нетрудно убедиться в том, что в графе G на рис. 3.4 вершины
t'i и v2 присутствуют в каждом цикле. Таким образом, G — про-
произвольно-эйлеров граф обеих этих вершин. С другой стороны, для
каждой из остальных вершин существует цикл, не содержащий этой
вершины.
Граф называется произвольно-эйлеровым, если он является тако-
таковым для каждой из своих вершин. Из теоремы 3.3 следует, что
вершины произвольно-эйлерова графа G находятся точно в одном
цикле С графа бив последнем не существует других циклов.
Иначе говоря, G — произвольно эйлеров граф тогда и только тогда,
когда он является циклом.
3.2. Гамильтоновы графы
Гамильтоновым циклом в графе G называется цикл, содержащий
все вершины графа G. Гамильтонов путь в графе G — это путь,
содержащий все вершины графа G.
Граф G называется гамильтоновым, если он имеет гамильтонов
цикл.
Граф G'i, представленный на рис. 3.5, а, является гамильтоно-
гамильтоновым, так как последовательность его ребер еь ег, е3, е4, еъ, ев
образует гамильтонов цикл. Граф на рис. 3.5, б имеет гамильтонов
путь, состоящий из ребер elt ег, е3, et, но не имеет гамильтонова
цикла.
Если эйлерова цепь является замкнутым маршрутом, точно один
раз проходящим через каждое ребро, то гамильтонов цикл является
66
Глаза 3
замкнутым маршрутом, точно один раз проходящим через каждую
вершину. Таким образом, между эйлеровыми и гамильтоновыми
графами имеется большое сходство. Однако это вовсе не означает,
что для гамильтоновых графов существует такая же простая и
элегантная характеризация, как и для эйлеровых графов. Одна из
главных нерешенных проблем теории графов состоит в выработке
Рис. 3.5.
а — гамильтонов граф; б — негамнльтонов граф, имеющий гамнльтонов путь.
такой характеризации гамильтоновых графов. Однако известно
несколько достаточных условий того, что простой граф является
гамильтоновым. (Напомним, что простым называется граф, не со-
содержащий параллельных ребер и петель.) Некоторые из таких ус-
условий мы рассмотрим в этом разделе.
Последовательность dx <J d2 ^ . . .^dn называется графичес-
графической, если существует такой граф G на п вершинах vx, vit. . ., vn,
что степень d (vt) вершины vt равна dt для любого i. В этом случае
(di, d^. . ., dn) называется последовательностью степеней графа G.
Если S : dx < d2 < . . .<dn и S* : d{ < d\ < . . .<d* явля-
являются такими графическими последовательностями, что d* ^ dt
для 1 ^ t ^ п, то говорят, что S* мажорирует S.
Следующий результат получен в работе [3.1].
Теорема 3.4. Простой графб= (V, Е) порядка п, имеющий последовательность
степеней dx<cd2<-. . .<-dn, является гамильтоновым, если
¦*. C.1)
Доказательство. Прежде всего отметим, что если dk<-k, то число вершин,
степень которых не превышает k, равно по крайней мере k. Аналогично если
dn-k^n—*> то число вершин, степень которых не превышает п—k, равно по
крайней Mepefe+1. Если графическая последовательность удовлетворяет условию
C.1), то это соотношение будет верно и для последовательности, мажорирующей
данную.
Докажем теорему от противного. Пусть существует простой негамильтонов
граф, последовательность степеней которого удовлетворяет условию C.1). Тогда
он является остовным подграфом простого максимального негамнльтонова графа
G= (V, Е), в котором последовательность степеней dx<d2<: . .<-dn также удов-
удовлетворяет условию C.1).
Пусть кип — две такие несмежные вершины графа G, что сумма d(u)-\-d(v)
является по возможности наибольшей и d{u)<.d(p). Из того, что G — максималь-
Эйлеровы и гамильтоновы графы 57
ный негамильтонов граф, следует, что добавление ребра, соединяющего вершины
и и v, преобразует граф в гамильтонов.
Таким образом, в графе G существует гамильтонов путь м=«х. и2, uit и4, . . .
. . ., un—v, где и и v — конечные вершины (рис. 3.6).
Пусть S= {i| («х, ui+1)?E}, Г= (i\ («,-, un)?E}. He существует j^Sf]T, так
как если /gSri?" существует, то граф G будет содержать ребра (uj, «y + i) и (uj,
и„), а тогда циклическая последовательность вершин «у, «y_i, . , ., иъ u.j+\,
uj+2< ¦ < •> ип< uj образует в графе G гамильтонов цикл.
Рис. 3.6.
Так как вершина un=v не принадлежит ни S, ни Т, из этого следует, что
'^{1, 2 п—\).Поэтому d(u)-\-d(v)=\S\+\T[<n.H d(u)<-^ п., где \Х\
обозначает число элементов множества X.
Так как S[\T=0, то ни одна вершина uj с /?S не смежна с вершиной и.
Из выбора d(u) и d(v) следует, что для /?S справедливо неравенство d(iij)<-d{u).
Таким образом, существует по крайней мере \S\=d(u) вершин, степени которых
не превышают d(u). Поэтому если мы положим k=d(u), то получим d)j<fe< -ли,
следовательно, по условию C.1) dn-i^n—k. Это означает, что существует по
крайней мере k-\-\ вершин, степени которых не превышают п—k. Вершина и мо-
может быть смежна, самое большее, с k из ?+1 вершин, так как d(u)—k. Таким
образом, существует вершина we d(w)^n—k, не смежная с вершиной и. Но тог-
тогда d(u)-\-d(w)^n>d(u)-\-d(v), что противоречит выбору d(u) и d(v).
В следующем следствии мы установим достаточные условия гамильтоно-
вости графа, представленные в работах [3.2—3.5].
Следствие 3.4.1. Простой граф G= (V, ?) порядка и^З с последовательностью
сюпеней dx<d2<. . .«*„ является гамильтоновым, если для него выполнено
одно из следующих условий:
1
: -7Г П.
4.
Доказательство. Докажем эти следствия, показав, что все чти условия вле-
влекут за собой выполнение C.!).
1=>2. Очевидно, что любая последовательность степеней, удовлетворяющая
условию 1, удовлетворяет также и условию 2.
2=>3. Пусть из условия 2 не следует условие 3. Тогда существует такое t,
что 1</<-^-л и d(</. Теперь предположим, что существует/, для которого 1<1
и A'г> vt)?E- Тогда выражение <tf/+df<:2d/<2 -^-л=п противоречит условию 2.
Таким образом, подграф графа G, порожденный на множестве вершин vt, t'a, . . .
. . ., i'i, является полным графом.
Так как d/<:/, каждая вершина vt, l<t<^, будет смежной, самое большее,
с одной вершиной Vj, t-\-\<-j<.n. Далее, из /< —л следует, что п—/>/. Таким
образом, существует вершина vj, H"l</<", не являющаяся.смежной ни с одной
58
Глава 3
вершиной V(, l<f<f. Поэтому dj<sg.n—t—1. Но тогда dt-\-dj*ct-\-n—t—1<п. Таким
образом, мы имеем (vt, v/jfcE и df-\-dj<n, что противоречит условию 2.
3=?>4. Если из условия 3 не следует условие 4, то существует такое /<&, что
dj<.j, dfe<&—1 и dy+dfe<n. Тогда dj<.—n. Если теперь мы положим t=dj<.-~ n,
то получим d(=dd .<.dj=t. Поэтому имеем неравенства, противоречащие ус-
ловию 3:
d(=dd .<.dj=t.
1 '
-ij-я и dt<t.
4=>C.1). Если это не верно, то существует такое t, что df<.t< — n и dn_j<
¦<я—^—1. Но тогда df-f-dn_f<:H-n—t—1=я—1, что противоречит условию 4.
Очевидно, если какая-либо графическая последовательность
удовлетворяет условиям теоремы 3.4 или следствия 3.4.1, то тем
же условиям удовлетворяет любая графическая последовательность,
мажорирующая ее.
Условие Хватала — самое сильное из этих пяти условий и вооб-
вообще из всех подобных условий. Это означает, что если какая-либо
графическая последовательность не удовлетворяет условию Хватала,
то она мажорируется последовательностью степеней негамильтонова
графа [3.1].
Хотя в общем случае довольно трудно установить, является ли
граф негамильтоновым, в определенных случаях это удается сде-
Рис. 3.7. Негамильтонов граф.
лать с помощью изощренных методов. Это иллюстрируется в рабо-
работе [3,6] на следующем примере.
Рассмотрим граф G, представленный на рис. 3.7. Покажем, что
он не содержит гамильтонова пути.
Эйлеровы и гамилыпоновы графы 59
В гамильтонов путь можно включить не более двух ребер, инци-
инцидентных какой-либо вершине. В графе G вершина va имеет степень 5,
и, следовательно, по меньшей мере три ребра, инцидентных вершине
vg, не войдут в гамильтонов путь. То же самое справедливо и для
вершин v10 и v12. Так как степени вершин v2, vlt ve, vlt равны 3, то
по крайней мере одно из ребер, инцидентных каждой из этих вершин,
не будет включено в гамильтонов путь. Таким образом, в гамильто-
гамильтонов путь нельзя включить по крайней мере 13 из 27 ребер графа.
Следовательно, чтобы составить гамильтонов путь на 16 вершинах
графа G, ребер не достаточно. Поэтому граф G гамильтонова пу-
пути не содержит.
Граф называется произвольно-гамилыпоновым из вершины v,
если любой путь, начинающийся в вершине v, можно расширить до
гамильтонова v — и-цикла. Граф называется произвольно-гамилыцо-
новым, если он является таковым из каждой своей вершины.
Следующая теорема полностью характеризует произвольно га-
мильтоновы графы. Доказательство ее можно найти в работе [3.7].
Теорема 3.5. Простой граф порядка п произвольно-гамильтонов тогда и
только тогда, когда он является циклом, либо полным графом, либо полным
двудольным графом Кп/ „, ; последнее возможно, только когда число л —четное.
/2> /2
Закончим этот раздел рассмотрением задачи о коммивояжере.
Она заключается в следующем:
Коммивояжеру необходимо посетить несколько городов. Какой
маршрут он должен избрать, чтобы, начав двигаться из своего
родного города, по одному разу побывать в каждом городе и за-
затем вернуться домой по наикратчайшему пути?
Представим города в виде вершин, а дороги — в виде ребер
графа. Длину дороги можно представить весом соответствующего
ребра. Если между каждой парой вершин существует дорога, сое-
соединяющая их, то задача коммивояжера эквивалентна отысканию
наикратчайшего цикла в полном графе, в котором каждому ребру
сопоставлен вес 1(.
В полном графе порядка п существует (п—1)!/2 гамильтоновых
циклов. Подход «грубой силы» к задаче о коммивояжере состоит в
порождении всех (п—1)!/2 гамильтоновых циклов и последующем
выборе кратчайшего. Объем затрат при таком подходе слишком
велик (даже для ЭВМ) уже для величин п, меньших 50. Для про-
произвольного п алгоритма решения этой проблемы просто не суще-
существует.
Для более полного ознакомления с этой задачей можно исполь-
использовать работы [3.8—3.11].
г> Вес цикла — сумма весов ребер этого цикла.
60 Глава 3
3.3. Замечания, касающиеся литературы
В работе [3.12] единым образом доказывается несколько доста-
достаточных условий гамильтоновости графа. В этой книге также обсуж-
обсуждается вопрос разбиения множества ребер графа на пути, циклы
и т. д. Этот вопрос затрагивается в работе [3.13].
В разд. 3.2 мы упоминали, что если последовательность степеней
графа не удовлетворяет условию Хватала C.1), то она мажорируется
последовательностью степеней негамильтонова графа. Далее, су-
существуют графические последовательности, которые не удовлетво-
удовлетворяют условию C.1), но обязательно являются последовательностя-
последовательностями степеней гамильтоновых графов. Более подробно это рассмотрено
в работе [3.14]. Обобщение теоремы 3.4 можно найти в работе [3.15].
Для более детального рассмотрения гамильтоновых циклов сле-
следует обратиться к работам [3.16, 3.17].
Упражнения
3.1. Пусть С — связный граф, имеющий 2k вершин нечетной степени. Докажите,
что множество ребер Е графа G нельзя разбить на такие подмножества Бъ Е.2, . . .
. . ., Ei, l<k, что каждое ?,• образует открытую цепь в графе С.
3.2. Докажите, что если граф G является произвольно-эйлеровым из вершины и,
то либо v — единственная точка сочленения, либо граф G не имеет ни одной точки
сочленения.
3.3. Пусть G — эйлеров граф на /г>3 вершинах. Докажите, что G — произвольно-
эйлеров граф из одной, двух или всех своих вершин или ни из одной из них.
3.4. Докажите, что если граф G — произвольно-эйлеров из вершины v, то Д@) =
=d(v), где Д (G) — максимальная степень в графе G.
Рис. 3.8.
3.5. Пусть G— произвольно-эйлеров из вершины v. Докажите, что если d{u)=
=d(v), ифи, то граф G — произвольно-эйлеров из вершины и.
3.6. Существует ли. граф, в котором эйлерова цепь является одновременно и га-
мильтоновым циклом? Охарактеризуйте такие графы.
3.7. Покажите, что граф на рис. 3.8 не содержит гамильтонова пути.
3.8. Пусть G — простой связный граф на я>26 (G) вершинах. Докажите, что длина
наиболее длинного пути графа G должна быть больше или равна 26 (G), где 6 (G) —
минимальная степень вершины в графе G [3.2].
Эйлеровы и гамильтоновы графы (И
3.9. Пусть G — простой граф на п вершинах. Докажите, что он содержит гамиль-
тоноб путь, если для каждой пары вершин и и у в графе G выполняется следующее
соотношение: d(u)+d(u)>/i—1.
3.10. Пусть d^d^tf.. • ¦<-dn — степени вершин простого графа, имеющего
вершин. Докажите, что если d^^ck—1 < -=- п—l=?dn+i_k^n—k, то граф G
имеет гамильтонов путь [3.1].
3.11. Пусть G — простой граф на л вершинах и т ребрах и га^З, т^ (я2—Зя+6)/2.
Докажите, что граф G является гамильтоновым 13.3].
3.12. Предположим, что G — простой граф на п вершинах, имеющий такие не-
несмежные вершины и и v, что d(u)-\-d(v)~^n. Пусть G' — граф, полученный при
добавлении к графу G ребра (и, v). Покажите, что граф G гамильтонов тогда и
только тогда, когда граф G' также гамильтонов.
3.13. Замыкание простого графа G на п вершинах есть граф, полученный после-
последовательным соединением пар несмежных вершин, сумма степеней которых не
менее п до тех пор, пока это возможно. Покажите, что замыкание графа является
правильно определенным.
Примечание. Простым следствием упражнения 3.12 является го, что грзф
будет гамильтоновым тогда и только тогда, когда его замыкание — гамильтонов
граф. Таким образом, граф G—гамильтонов, если его замыкание является пол-
полным графом. Этот результат можно использовать для доказательства некоторых
достаточных условий, определяющих гамильтоновы графы 13.13, 3.15J.
3.14. Докажите, что максимальное число попарно-непересекающихся гамильто-
повых циклов в полном графе Кп равно [(л—1)/2].
Примечание. Символ [х] означает наибольшее целое число, меньшее или равное к.
3.15. Граф G называется гамильтоново-связным, если для каждой пары различных
вершин и n v графа G существует гамильтонов и—и-путь. Докажите, что простой
граф G порядка и^З является гамильтоново-связныч, если для каждой пары
несмежных вершин и и v графа G выполняется следующее неравенство: d(u)-f-
+d(v)^n+\ [3.18].
3.16. Покажите, что граф деревьев (определенный в упражнении 2.28) связного
графа является гамильтоновым 13.19, 3.20].
4. Графы и векторные
пространства
Современная алгебра является ценным и полезным инструмен-
инструментом при изучении и решении многих научных и инженерных проб-
.лем. Очень полезным оказалось определение алгебраической струк-
структуры множества объектов, так как сильные и элегантные результа-
результаты, полученные для алгебраической структуры, можно затем пере-
перенести на эти множества. Теории систем, электрических цепей,
кодирования, последовательных и комбинационных переключатель-
переключательных цепей, а также вычислительная техника — лишь немногие
примеры, показывающие преимущество такого подхода.
В этой главе мы покажем, что графу можно сопоставить векторное
пространство, и детально изучим свойства двух важных векторных
подпространств: циклов и разрезающих множеств. В части II книги
мы увидим, что эти подпространства фактически определяют про-
пространства напряжений и токов электрической цепи.
В первых двух разделах этой главы мы дадим представление
о некоторых элементарных алгебраических понятиях и некоторых
результатах, используемых в дальнейшем. Для более детального
ознакомления с этими вопросами следует обратиться к работам [4.1—
4.3].
4.1. Группы и поля
Рассмотрим конечное множество S = {a, Ь, с,...}. Обозначим
символом «+» бинарную операцию, определенную на множестве
S. Эта операция сопоставляет каждой паре элементов а и Ь, при-
принадлежащих S, единственный элемент, обозначаемый а + Ь. Мно-
Множество S называется замкнутым относительно операции «+», если
элементы a, b, a + b принадлежат S. Говорят, что операция «+»
ассоциативна, если й+ (Ь-\-с) = (а+Ь)+с для любых а, Ь, с из мно-
множества S. Операция «+» называется коммутативной, если равен-
равенство а-{-Ь=Ь-{-а справедливо для любых а, Ь, принадлежащих S.
Определим понятие группы. Множество S, в котором выполня-
выполняется бинарная операция «+», называемая операцией сложения, яв-
является группой, если имеют место следующие аксиомы:
1) S замкнуто относительно «+»,
2) «+» является ассоциативной операцией,
3) в множестве 5 существует такой единственный элемент е, что
а+е=е+а=й для любого а, принадлежащего S. Элемент е назы-
Графы и векторные пространства 63
Бается нулевым элементом группы.
4) Для каждого элемента а множества S существует такой един-
единственный элемент Ь, что Ь-\-а—а-{-Ь=е. Элемент b называется эле-
элементом, обратным к а, и наоборот. Очевидно, что нулевой элемент
является обратным к самому себе. Группа называется абелевой, если
операция «+» коммутативна. Обычным примером группы является
множество S = {. . ., —2, —1, 0, 1, 2,. . .} всех целых чисел, на
котором определена обычная операция сложения. В этой группе О
является нулевым элементом, а —а — обратным элементом для
всех а, принадлежащих S. Отметим, что эта группа — абелева.
Является ли множество 5 всех целых чисел, на котором определе-
определена операция умножения, группой? (Нет. Почему?).
Другим важным примером группы является множество Zp =
= {0, 1, 2, . . ., р— 1} целых чисел с операцией сложения по
модулю р г). В этой группе 0 — нулевой элемент. Далее, целое число
р — а является обратным к целому числу а, для любого а не рав-
равного 0. Естественно, 0 обратен к самому себе. Эта группа также
абелева.
Ниже приведена таблица операции сложения для Z5.
+
0
1
2
3
4
0
0
1
2
3
4
1
1
2
3
4
0
2
2
3
4
0
1
3
3
4
0
1
2
4
4
0
1
2
3
Введем понятие «поле». Множество F, на котором определены две
операции + и •, называемые операциями сложения и умножения
соответственно, является полем, если выполняются следующие
аксиомы:
1) F — абелева группа относительно операции «+», нулевой элемент
которой обозначается через е.
3) Множество F — {е} — абелева группа относительно операции
умножения.
3) Операция умножения является дистрибутивной относительно
операции сложения, т. е. a(b+c)=ab + ас для любых а, Ь, с,
принадлежащих множеству F.
В качестве примера вновь рассмотрим множество Zp = {0, 1,2,. ..
. . ., р — 1}, на котором выполняются операции сложения и умно-
умножения по модулю р. Как было показано ранее, множество Zp явля-
является абелевой группой относительно операции сложения по модулю р
с нулевым элементом 0. Нетрудно видеть, что множество Zp—{0} =
= {1, 2,. . ., yt?—l} будет группой относительно операции умноже-
1> Если a=mp-\-q, 0<<?<р—1, то говорят, что a=q (по модулю р).
64 Глава 4
ния по модулю р тогда и только тогда, когда р — простое число.
Эта группа также является абелевой. Можно проверить, что опе-
операция умножения по модулю р дистрибутивна относительно опера-
операции сложения по модулю р. Таким образом, множество Zp будет
полем тогда и только тогда, когда р простое число.
Поле Zp обычно обозначают символом GF(р) и называют полем
Галуа. Ниже в качестве примера приводится таблица операции
умножения для GF E):
0
1
2
3
4
0
0
0
0
0
0
1
0
1
2
3
4
2
0
2
4
1
3
3
0
3
1
4
2
4
0
4
3
2
1
Особый интерес представляет поле GF B), т. е. множество целых чи-
чисел с операциями сложения и умножения по модулю 2. В этом поле
0+0=0, 1+0=0+1 = 1, 1 + 1=0; 0-0=0, 1 -0=0-1=0, 1-1 = 1.
4.2. Векторные пространства
Рассмотрим множество S с бинарной операцией (+]• Пусть F —
поле, где символы + и ¦ обозначают операции сложения и умно-
умножения соответственно. Пусть также определена операция умноже-
умножения, обозначаемая символом #, между элементами F и S: Эта опе-
операция сопоставляет каждой упорядоченной паре (a, s), где а при-
принадлежит F, a s принадлежит 5, единственный элемент множества
S, обозначаемый a*s. Множество S называется векторным прост-
пространством над полем F, если выполнены следующие аксиомы:
1M — абелева группа относительно операции \+\.
2) Для любых элементов а и C поля F и любых si и s2, принадле-
принадлежащих S, имеем a*(s^SsO = (a*Sl)[+](a#s2) и (a+|3)*Si=* (a#Si)(+]
EKP«i)-
о) Для любых элементов а и Р, принадлежащих F, и любого эле-
элемента s из множества 5 имеет место равенство (a-P)*s=a#(|3»s).
4) Для любого элемента s множества 5 выполняется равенство
l*s=s, где 1 — мультипликативный нулевой элемент поля F.
Приведем важный пример векторного пространства.
Рассмотрим множество W всех n-векторов v над полем F. (Заметим,
что элементы n-векторов принадлежат F.) Символы + и • будут
обозначать операции сложения и умножения в F соответственно,
а 0 и 1 — аддитивный и мультипликативный нулевые элементы в
F Пусть (+] — операция сложения на множестве W, а * — операция
11 п-вектор над полем F — это вектор-строка из п элементов поля F.
Графы и векторные пространства 65
умножения между элементами F и W, определенные следующим
образом:
1. Если со1=(а1, а2, ¦ ¦ ., <%п) и со2= Oi, Pa, • • ., Pn)— элементы W,
то coi Щ coa=(a14-Pi, а2+р2,. . ., ап+Р„).
2. Если а принадлежит F, то a*@1=(a>a1, a-a2). . ., a-an).
Нетрудно установить, что W — абелева группа относительно опе-
операции Щ, в которой нулевым элементом считается /г-вектор (О, О,
О,. . ., 0). Таким образом, множество W удовлетворяет первой
аксиоме в определении векторного пространства. Легко убедиться
в том, что элементы множеств W и F удовлетворяют и трем другим
аксиомам этого определения.
Например, множество W, состоящее из восьми 3-векторов,
приведенных ниже, является векторным пространством над GFB):
соо=@00), со1=@01), (О2=@10), (оа = @11), со4=A00), @8=(Ю1),
@6=A10), со7=A11). Это векторное пространство будем исполь-
использовать во всех,, примерах данного раздела.
Теперь приведем несколько важных определений и результатов
(без доказательств), связанных с векторным пространством.
Рассмотрим векторное пространство S над полем F.
Векторы и скаляры. Элементы множества 5 называются векто-
векторами, а элементы множества F — скалярами.
Линейная комбинация. Если элемент . s множества S можно
представить в виде s= (ai*S!)[+](a2*s2)[+]. • ^(aJ*sj)< гДе si — век"
торы, а а, — скаляры, то говорят, что s является линейной комби-
комбинацией Si, S2). . ., Sj.
Линейная независимость. Векторы si, s2). . ., sn — линейно-
независимы, если никакой из векторов этого множества нельзя
представить в виде линейной комбинации остальных.
Базисные векторы. Векторы sb s2>. . ., sn образуют базис в век-
векторном пространстве S, если они линейно-независимы и любой век-
вектор в этом пространстве можно представить в виде линейной комби-
комбинации этих векторов. Векторы Sj, s2l. . ., sn называются базисными.
Представление вектора в виде линейной комбинации базисных
векторов единственно для данного базиса. Векторное пространство
может иметь и несколько базисов. Однако можно доказать, что все
базисы, имеют одинаковое число векторов.
Размерность. Размерность векторного пространства S, обозначае-
обозначаемая dim(S), определяется числом базисных векторов в базисе S,
Подпространство. Если S' — подмножество векторного прост-
пространства S над полем F, то S' — подпространство пространства
S, если S' также векторное пространство над F.
Прямая сумма. Прямой суммой Sj [+] S2 двух подпространств
S и §2 пространства S называется множество всех векторов вида
[]^ гДе si — принадлежит подпространству 5Ь а Sj — подпро-
подпространству S2. Sx [+J S2 также является подпространством, и размер-
размерность его определяется следующим образом: dim^ (+] S2) = dim
3 j\s 1449
66 Глава 4
(O^)—dim (Sj (]S2). Заметим, что если St и S2 — подпро-
подпространства, то Si П 52 также подпространство. Проиллюстрируем эти
определения с помощью векторного подпространства W 3-векторов
над полем GFB). Векторы со „, соь. . ., со,, принадлежащие подпро-
подпространству W, определены ранее.
1. со! — линейная комбинация сое и со7, поскольку СО]= A*оN)Щ
ШО)
ШО)
2. Векторы со8 и со4 — линейно-независимы, так как ни один из
них нельзя выразить через другой. Следует отметить, что со0 и
«г линейно-независимы для любого i.
3. Векторы соь со2, со4 образуют в пространстве W базис, поскольку
они линейно-независимы, а оставшиеся векторы, как показано
ниже, можно представить в виде линейной комбинации этих
векторов: <оо= @*со1)(+]@*@2)(+]@*аL), cu3=A*cu1)(+]A*«i2), со5==
="(l*«i)EE](l*a>4), cue=(l*w2)[+](l*cu4), о>7 = A*со1)ЩA*со2)|+]
A*со4). Можно проверить, что векторы соь со8, со, также обра-
образуют базис.
4. Размерность векторного пространства W равна 3, так как три
вектора образуют его базис.
5. Множества №" = {а>0, <оь со2, о)8} и W"=(coo, соь сов, со,} —
подпространства пространства W. Базисами W' и W" являются
{соь ю2} и {соь со6} соответственно. Таким образом, dim (W')=2
и dim (ИГ)=2.
6. Если W и W" определены как в п. 5, то №'[+]№" = {сй0, соь
ю2, со3, ю4, ю5, а>в, со,}.
7. Размерность №"(+]№" определяется следующим равенством:
dim(W'\±\W')= dim(W')+dim(W") — dim(W'\±\W")=4 — dimx
X(W f]W").
Поскольку W'r\W"={(o0, щ}, имеем dim (W'r\W") = l. Таким
образом, получаем dim(W Щ W")=4—1=3, Того же самого ре-
результата можно достичь с учетом W\±\W" = W.
Теперь определим изоморфизм между двумя векторными про-
пространствами над одним и тем же полем.
Пусть S и S' — два n-мерных векторных подпространства
над полем F. Говорят, что S и S' изоморфны, если между ними
существует такое взаимно-однозначное соответствие, что справед-
справедливы утверждения:
1. Если векторам s, и s2, принадлежащим подпространству 5, соот-
соответствуют векторы s[ и s'2 пространства S', то вектору Si j+j s2
соответствует вектор s,' As2, где [+] и А — операции в S и
S' соответственно.
2. Для любого а в поле F вектору cc*s соответствует вектор a As',
если вектор s пространства S соответствует вектору s' пространства
S', где * и А — операции в S и S' соответственно.
Рассмотрим «-мерное векторное пространство S над полем F и п-
мерное векторное пространство W векторов над полем F. Пусть
Графы и векторные пространства 67
векторы Si, s2). . ., sn образуют базис в пространстве S. Сопоставим
вектору s из пространства S вектор co=(af, а2>. . ., сапI) из про-
пространства W тогда и только тогда, когда s=(a1ss1) (j](a2*s2) (+]• • .
.\+\(an*sn). Нетрудно видеть, что это взаимно-однозначное соответ-
соответствие определяет изоморфизм между пространствами S. и W.
Таким образом, сформулируем следующий важный вывод:
Теорема 4.1. Любое «-мерное векторное пространство над полем F является изо-
изоморфным векторному пространству W л-векторов над полем F.
Эта теорема является главным звеном, связывающим вектор-
векторные пространства и матрицы. Она предполагает, что /г-мерное век-
векторное пространство над полем F можно исследовать с использо-
использованием n-мерного векторного пространства W всех n-векторов над
полем F.
Завершим этот раздел определением двух наиболее важных поня-
понятий — скалярное произведение и ортогональность. Пусть (Oi=(a!
ct2. . .an) и co2=(PipV • -Р") —два элемента векторного простран-
пространства W n-векторов над полем F. Скалярным произведением о, и
©2. обозначаемым через <.щ, co2>, называется скаляр, определяе-
определяемый выражением <«!, со2> = a1-pi4-a2-P2+---+«n*Pn- Напри-
Например, если a>i=@ 10 0 1) и а>2=A 0 111), то <a>i, oJ>=
= «оь сйа>=0-1 + 1-0+0-1+0-1 + 1-1=0+0+0+0+1 = 1. Век-
Векторы сог и с^ ортогональны относительно друг друга, если <сог,
ti>p>=0, где 0 — аддитивный нулевой элемент поля F. Например,
векторы сох = A 1 0 1 1) и аJ=A 110 0) ортогональны над полем
GFB), поскольку <соь со2> = Ы + 1-1 +0-1 + 1-0+1 •0=1 + 1 +
+0+0+0=0. Два подпространства W и W" векторного прост-
пространства W являются ортогональными подпространствами этого же
пространства, если каждый вектор одного подпространства ортого-
ортогонален любому вектору другого подпространства. Два подпространст-
подпространства W и W" пространства W называются ортогональными дополнения-
дополнениями пространства W, если они ортогональны друг другу и их прямая
сумма W' (+] W" равна векторному пространству W. В качестве
примера вновь рассмотрим 3-мерное векторное пространство W
3-векторов над полем GFB). В этом векторном пространстве под-
подпространства W' = {cuo, ojf, co2, co3} и И7"={соо, аL} ортогональны
Друг другу. Нетрудно убедиться, что прямая сумма W и W" равна
W. Следовательно, они являются ортогональными дополнениями.
4.3. Векторное пространство графа
В этом разделе мы рассмотрим соответствие между графом
и векторным пространством, а также определим два важных под-
подпространства векторного пространства.
11 * aj, ..., а„ называется координатами вектора S относительно базиса
tsi. sa, ..., sn}.
3*
68 Глава 4
Рассмотрим граф G^ (V, ?). Набор всех подмножеств множе-
множества Е, включая и пустое множество 0, обозначим через Wo. Сна-
Сначала покажем, что WG — .абелева группа по отношению к операции
ф (кольцевой суммы множеств). После соответствующего определе-
определения операции умножения над элементами GF B) и элементами Wa
покажем, что Wo является векторным пространством поля GF B).
Нетрудно проверить следующие утверждения:
1) Wa — замкнутое множество по отношению к операции 0;
2) ф — ассоциативная операция;
3) ф—коммутативная операция.
Далее, для любого элемента Et в наборе Wo справедливы ра-
равенства ?гф0=?г- и ?гф?г = 0.
Таким образом, для операции ф множество 0 — нулевой эле-
элемент, а каждый элемент ?г — элемент, обратный самому себе.
Следовательно, набор WG — абелева группа по отношению к опера-
операции ф и поэтому удовлетворяет первому требованию определения
векторного пространства.
Пусть * — операция умножения над элементами GF B) и WG —
определяется следующим образом:
Для любого Ei в Wa l*Et=Et и O*Et = 0. Пользуясь таким
определением операции *, нетрудно убедиться в том, что элементы
Wa удовлетворяют следующим необходимым условиям векторного
пространства: для любых элементов аир, принадлежащих GFB) =
= {0, 1} любых ?г и ?/ множества WG, справедливы равенства:
1. (+р)?(?)ф(р*?)
2.
3.
4. 1*?. = ?,..
[Отметим, что 1 —нулевой мультипликативный элемент поля GF B).]
Таким образом, WG — векторное пространство над полем GFB).
Если ?=={еь е2). . ., ет}, то подмножества {ej, {e2}. . .{ет} обра-
образуют базис для WQ. Следовательно, размерность Wo равна т, т. е.
числу ребер в графе G. Из того, что каждый реберно-порожденный
подграф графа G соответствует единственному подмножеству мно-
множества ?.и что кольцевой сумме любых 2-реберно-порожденных под-
подграфов по определению (гл. 1) можно поставить в соответствие коль-
кольцевую сумму двух соответствующих множеств ребер, следует, что
множество всех реберно-порожденных подграфов графа G является
векторным пространством над GFB), если операция умножения *
определена следующим образом: для любого реберно-порожденного
подграфа G, графа G l*Gj=^ и O*G, = 0 — нуль-граф, не имеющий
ни вершин, ни ребер. Это векторное пространство также обозначим
символом \VQ. Заметим, что Wa включает в себя нуль-граф 0. Из
приведенных рассуждений вытекает следующая теорема:
Теорема 4.2. Для графа G пространство Wq является m-мерным векторным
пространством над полем GFB).
Графы и векторные пространства 69
Поскольку в этой главе мы рассматриваем только реберно-порожден-
ные подграфы, то будем называть их просто подграфами, опуская
слово «реберно-порожденные». Однако мы можем по-прежнему ис-
использовать это уточнение в некоторых местах, чтобы подчеркнуть
реберно-порожденную природу рассматриваемых подграфов. Те-
Теперь покажем, что следующие подмножества Wa являются подпро-
подпространствами:
1) We —множество всех циклов (включая и нуль-граф 0) и объеди-
объединений реберно-непересекающихся циклов графа G;
2) Ws — множество всех разрезающих множеств (включая и нуль-
граф 0} и объединений реберно-непересекающихся разрезаю-
разрезающих множеств графа G.
Если мы покажем, что Wc и Ws являются замкнутыми по отно-
отношению к операции сложения ф, то из этого и будет следовать, что
Wc и Ws — подпространства.
Теорема 4.3. Множество Wc всех циклов и объединений реберно-непересе-
реберно-непересекающихся циклов графа G является подпространством векторного пространства
Wa графа G.
Доказательство. По теореме 3.1 граф можно представить в виде объединения
реберно-непересекающихся циклов тогда и только тогда, когда каждая вершина
в графе имеет четную степень. Следовательно, №с можно рассматривать как
множество всех реберно-порожденных подграфов графа G, все вершины которого
имеют четную степень.
Рассмотрим два любых элемента Ct и С2 множества Wq. Они являются ре-
берно-порожденными подграфами, вершины которых имеют четную степень.
Пусть С3 — сумма по модулю для элементов С1 и С2. Для доказательства этом
теоремы необходимо показать, что сумма С3 принадлежит множеству We- Иными
словами, надо показать, что каждая вершина в С3 имеет четную степень.
Рассмотрим любую вершину и, принадлежащую С3. Очевидно, эта вершин.)
должна присутствовать по крайней мере в одном из подграфов: Q или С2. Обо-
Обозначим через X,- (t=l, 2, 3) множество ребер, инцидентных вершине v в подграфе
С(, а через |Х,-| — число ребер в множестве X;. Таким образом, \Х{\ — степень
вершины v в подграфе С,-. Заметим, что числа \Хг\ и \Х%\ — четные и одно из них
может равняться нулю. Следовательно, |Ха|=И=0. Поскольку CS=C1 фС2, полу-
получаем, что Xs=X1Q)Xi. Поэтому | АГ3|= I АГг|-+-1 АГ2|— 2|А:1П^2|-Из этого равенства
видно, что \Х3\ является четной степенью, потому что обе степени \Xi\ и |Х2| —
четные, другими словами, вершина овС3 имеет четную степень. А так как вер-
вершину v мы выбрали произвольно, то С3 принадлежит №с, и теорема доказана.
Назовем We подпространством циклов графа С.
В качестве примера, иллюстрирующего предыдущую теорему, рассмотрим
граф, изображенный на рис. 4.1, а. Подграфы Сх и С2 (рис. 4.1, б, в) являются
объединениями реберно-непересекающихся циклов, G, поскольку каждая вер-
вершина этих подграфов имеет четную степень. Эти подграфы принадлежат подпро-
подпространству We пространства Wq. Кольцевая сумма Сг и С2 представлена на рис.
4.1, г в виде подграфа С3. Все его вершины имеют четную степень, следовательно,
подграф С3 также принадлежит подпространству We-
Покажем теперь, что множество Ws всех разрезающих множеств и объеди-
объединений реберно-непересекающихся разрезающих множеств графа С является
подпространством пространства Wq. По теореме 2.7 разрез является разрезающим
множеством или объединением нескольких реберно-непересекающихся разреза-
разрезающих множеств. Таким образом, каждый разрез графа G принадлежит множеству
W$. Докажем, что каждый элемент последнего является разрезом. Одновременно
покажем, что W$ — подпространство пространства Wq.
70
Глава 4
Теорема 4.4. Сумма двух любых разрезов графа G также является разрезом
графа С.
Доказательство. Рассмотрим два любых разреза: 51=<К1, V2> и 52=<1/3,
V4> графа G=(V, Е). Заметим, что Vx U V2= V3 [} К4= V и Vtfl Va= Vsfl V4=0.
Пусть Л=К1П^3, B=K1nV4, С=1/2П^3, ?>=V2nK4.
в —граф 0; б —подграф С, графа G
G: з —подграф С,ф С2 графа С
Нетрудно видеть, что множества А, В, С, D взаимно не пересекаются. Тогда
SKAB CD}=<A, C>U<A,D>\J<B, C>U<5?> S<A(C <5U^>
< >J >U >
Следовательно, получим 5!ф52=<Л, C>U<5, ?>>IM. 5>U<C, ?>>.
Поскольку <AUD, B\JC>=<A, C>\J<B, ?>>U<^. S>U<C, ?>>, можно записать
i©2U UO
Из того, что A\JD n B{JC взаимно не пересекаются и вместе включают в себя все
вершины V, следует, что Sx@52 является разрезом в графе С. Теорема доказана.
Так как кольцевая сумма двух реберно-непересекающихся графов совпадает
с их объединением, имеет место следующее следствие:
Следствие 4.4.1. Объединение любых двух реберно-непересекающихся раз-
разрезов графа G также является его разрезом. Поскольку разрезающее множество
является разрезом, то из следствия 4.4.1 очевидно, что Ws — множество всех
разрезов графа G. Далее, по теореме 4.4 множество W$ является замкнутым по
отношению к операции кольцевой суммы. Таким образом, имеет место следующая
теорема:
Теорема 4.5. Множество W$ всех разрезающих множеств и объединений
реберно-непересекающих множеств графа G является подпространством вектор-
векторного пространства Wq графа G. Назовем U^ подпространством разрезов графа G.
В качестве примера, иллюстрирующего теорему 4.5, рассмотрим разрезы 5Х и 52
графа О (рис. 4.2): Sx= {elt ea, е4,е6, ев, e,}=<V'1, V2>, 52= {ev eit e4, еъ, <?8}=<К3,
V4>, где VV= К, vt, u4}, K2= {va, yB, ye}, V3= {i\, щ, y5}, V4= {t>2, v3, ve}.
Тогда S^S^ {e2, e3, et, e,, es).
Графы и векторные пространства
71
Рис. 4.2.
Если A=Vxr\V3={vit Vi}, В=^ПК4=Ь}, C=V2(]V3={v&), D=V2(]Vt=
= {v3, ve], то множество Si@S^ \e2, e3, ee, e7, eg} можно записать (как было до-
доказано в теореме 4.4) в таком виде: Si^S2=<.A[)D, SUC>=<{f1, f4, v3, ve},
4.4. Размерность подпространств
циклов и разрезов
В этом разделе мы покажем, что размерность подпространств
циклов и размерность разрезов соответственно равны цикломатичес-
кому числу и рангу графа. Для этого докажем, что множество базис-
базисных циклов и множество базисных разрезающих множеств по отно-
отношению к некоторому остову связного графа являются соответст-
соответственно базисами для подпространства циклов и подпространства
разрезов графа.
Пусть Т — остов связного графа G на п вершинах и m ребрах.
Ветви Т обозначим через Ьи Ьг, . . ., Ьп-и а хорды — через съ
с2, ¦ ¦ ., cm-nti. Пусть Ct и S; —базисный цикл и разрезающее мно-
множество по отношению к ct и bt соответственно.
По определению каждый базисный цикл включает в себя только
одну хорду, не присутствующую ни в одном другом базисном цикле.
Таким образом, никакой базисный цикл нельзя представить в виде
кольцевой суммы других базисных циклов. Следовательно, базисные
циклы Си С г, . . ., Ст-п+1 независимы. Аналогично базисные раз-
разрезающие множества Si, S2, . . ., Sn-i также являются независимыми,
так как каждое из них содержит только одну ветвь, не присутствую-
присутствующую ни в одном другом.
Чтобы доказать, что Си С2, . . ., Cm_n+JE1, S2, . . ., Sn_i)
образуют базис подпространства циклов (разрезов) графа G, необ-
необходимо показать, что любой подграф подпространства циклов (раз-
(разрезов) графа G можно представить в виде кольцевой суммы циклов
Ct (разрезов St). Рассмотрим любой подграф С подпространства
циклов графа G. Пусть он содержит хорды cit, cit, . . ., cir. Пусть
72
Глава 4
С —кольцевая сумма базисных циклов С^, С^, . . ., С!г. Очевидно,
что С" содержит только хорды cti, cti, . . ., ctr и не содержит других
хорд остова Т. Поскольку подграф С также содержит только эти хор-
хорды, тоС'фС не содержит ни одной хорды. Покажем, что С" 0 С —
пустое множество. Если это неверно, то по предыдущим рассужде-
рассуждениям множество С 0 С содержит только ветви и, следовательно,
не содержит цикла. С другой стороны, так как множество С" 0 С —
кольцевая сумма циклов, то по теореме 4.3 оно является либо цик-
циклом, либо объединением нескольких реберно-непересекающихся
циклов. Получаем противоречие. Следовательно, С" 0 С — пустое
множество. Из этого следует, что C=C'==CitQCi^<^) . . . 0C,r.
Другими словами, каждый подграф подпространства циклов графа G
можно представить в виде кольцевой суммы циклов Ct. Точно таким
же образом мы можем доказать, что каждый подграф подпростран-
подпространства разрезов графа G можно представить в виде кольцевой суммы
разрезов St. Итак, имеет место следующая теорема:
Теорема 4.6. Пусть О — связный граф на п вершинах и m ребрах. В'этом
случае
1. Базисные циклы по отношению к остову графа G образуют базис подпро-
подпространства циклов графа, и, следовательно, размерность подпространства цик-
циклов графа С равна т—л+1, т. е. цикломатическому числу графа G.
2. Базисные разрезающие множества по отношению к остову графа G образуют
базис подпространства разрезов графа G, и, следовательно, размерность под-
подпространства разрезов графа равна п—1, т. е. рангу графа G.
Теперь нетрудно видеть, что в случае несвязного графа G множества всех
базисных циклов по отношению к хордам леса графа G и разрезающих множеств
Рис. 4.3.
по отношению к ветвям леса графа G являются базисами подпространств циклов
и разрезов графа G соответственно.
Тс'кнм образом, получаем следствие из предыдущей теоремы:
Следствие 4.6.1. Если граф на п вершинах и m ребрах имеет р компонент, то
1. Размерность подпространства циклов графа G равна т—п-\-р, т. е. циклома-
гическому числу графа G.
Графы и векторные пространства 73
2. Размерность подпространства разрезов графа С равна п—р, т. е. рангу графа G.
В качестве примера рассмотрим граф G, изображенный на рис. 4.3. Ребра
Ьъ *2> Ьз< bi образуют остов графа G. Хордами остова Т являются clt c2, с3, с4, сь.
Базисные циклы С\, С2, С3, С4, Сй по отношению к хордам clt c2, с3, с4, ;5 и базис-
базисные разрезающие множества Slt S2, Sa, S4 по отношению к ветвям Ьх, b2, fc3, *4
определяются следующим образом:
Рассмотрим сначала подграф С, состоящий из ребер blt 6а, &8, с2, с3, с4, с5. Не-
Нетрудно убедиться в том, что в подграфе С каждая вершина имеет четную степень
и, следовательно, подграф С принадлежит подпространству циклов графа G.
I [оскольку хорды с2, с8, с4, съ принадлежат подграфу С, из доказательства теоремы
4.6 следует, что подграф С должен равняться кольцевой сумме базисных циклов
С2, С3, С4, С5. Убедимся в том, что это действительно так:
С2 (х/ ^з yi-' 4 ti' 6 == (-2» ^1» ^2» ^3/ VL7 \^3» ^3» ^4i VL7 1^4' ^2t / чУ 1^6' ^2» ^3/ "^
= |ОХ, О2, Од, С2, С3, С4» ^-Б/—— ^ •
Теперь рассмотрим разрез 5 состоящий из ребер Ьъ Ь3, С\, с3, сь. Снова, поскольку
S содержит ветви Ьг и о3) он должен равняться кольцевой сумме разрезающих
множеств St и S3. Это нетрудно проверить: ЗхфЗз3 {b\, clt с2}ф{о3, сг, с3, с5}=5.
В предыдущих рассуждениях мы показали, что, имея остов, можно построить
базисы подпространств циклов и разрезов графа. Построенные таким образом
базисы обычно используются при изучении электрических цепей.
4.5. Связь между подпространствами
циклов и разрезов
В данном разделе мы дадим характеризацию подграфов в про-
пространстве циклов графа G в терминах подграфов подпространства
разрезов того же графа.
В разд. 2.8 (теорема 2.14) мы доказали, что цикл и разрезающее
множество имеют четное количество общих ребер. Используя то, что
каждый подграф в подпространстве циклов графа является либо
циклом, либо объединением реберно-непересекающихся циклов, а
каждый подграф в подпространстве разрезов — разрезающим
множеством или объединением реберно-непересекающихся разре-
разрезающих множеств, получим следующую теорему как непосреди-
венное следствие теоремы 2.14:
Теорема 4.7. Любой подграф в подпространстве циклов графа G имеет четное
число общих ребер с любым подграфом в подпространстве разрезов того же графа.
В теореме 4.8 мы докажем обратное утверждение.
Теорема 4.8.
1. Подграф графа G принадлежит подпространству циклов графа G, если он
имеет четное число общих ребер с любым подграфом в подпространстве раз-
разрезов графа G.
2. Подграф графа G принадлежит подпространству разрезов графа G, если он
имеет четное число общих ребер с любым подграфом в подпространстве циклов
графа G.
74 Глава 4
Доказательство. 1. Не нарушая общности, можно предложить, что G — связ-
связный граф. Аналогично доказывается случай, когда граф G несвязный. Пусть Т —
остов графа G. Обозначим ветви остова Т через blt b2, . . ., а хорды — через с1(
с2 Рассмотрим любой подграф С графа G, имеющий четное число общих
ребер с любым подграфом в подпространстве разрезов графа О. Предположим,
не нарушая общности, что подграф С содержит хорды clt c2, . . ., сг. Обозначим
через С' кольцевую сумму базисных циклов Cv С2, . . ., Сг по отношению к хор-
хордам С], с2, . . ., сг. Очевидно, что С" содержит только хорды сг, с2, . . ., сг. Следо-
Следовательно, С'(?С не содержит ни одной хорды. Поскольку С — кольцевая сумма
нескольких циклов графа G, то это множество имеет четное число общих ребер
с каждым подграфом в подпространстве разрезов графа G. Из того, что С также
обладает этим свойством, следует, что им обладает и C'Q?. Теперь убедимся,
что CQC — пустое множество. Если это не так, то С'фС состоит только из
ветвей. Пусть Ь,- — любая ветвь в С'(?,С. Тогда 6,- — единственное общее ребро
между C'Q)C и базисным разрезающим множеством по отношению к Ь[. Однако
это невозможно, так как С'(^С должно иметь четное число общих ребер с любым
разрезающим множеством. Таким образом, С'(?)С должно быть пустым. Другими
словами C=C'=Ci(j)C2Q). . .©Сг и, следовательно, С принадлежит подпро-
подпространству циклов графа G.
2. Доказательство этой части теоремы аналогично.
4.6. Ортогональность подпространств
циклов и разрезов
Согласно теореме 4.1, каждое «-мерное векторное пространство
над полем F изоморфно векторному пространству всех «-векторов над
тем же полем. Следовательно, векторное пространство Wa графа G
изоморфно векторному пространству всех m-векторов над полем
GFB), где m — число ребер графа G.
Пусть еи е2,. .-., ет — ребра графа G. Предположим, что мы
сопоставили каждому реберно-порожденному подграфу Gt графа G
такой m-вектор wh что /-й элемент wt равен 1 тогда и только тогда,
когда ребро в/ принадлежит подграфу Gt. Тогда кольцевая сумма
Gt ф Gj двух подграфов Gt и Gj будет соответствовать т-вектору
о»,- + Wj, являющемуся суммой по mod 2 векторов wt и Wj. Легко
видеть, что описанное соответствие действительно определяет изо-
изоморфизм между Wo и векторным пространством всех m-векторов над
полем GFB). В самом деле, если мы выберем {вг}, {е2},. . ., {ет}
в качестве базисных векторов для пространства Wo, то элементами
Wi будут координаты Gi} связанные с этим базисом.
При определении этого изоморфизма мы опять использовали
символ Wa для обозначения векторного пространства всех m-век-
m-векторов, сопоставленных подграфам графа G. Пусть Wc обозначает
подпространство m-векторов, представляющих подграфы в подпро-
подпространстве циклов графа G, a Ws — подпространство, представляю-
представляющее подграфы в подпространстве разрезов графа G.
Рассмотрим два таких вектора wt и wh что вектор wt находится
в пространстве Wc, а вектор Wj — в пространстве Ws. Из того, что
любой подграф в пространстве Wc имеет четное число общих ребер
с произвольным подграфом в пространстве Ws, следует, что скаляр-
Графы и векторные пространства
75
ное произведение <wh Wj} векторов wt и Wj равно сумме по mod 2
четного числа единиц. Это означает, что <.wh w}y = 0. Иначе
говоря, m-векторы в пространстве Wc ортогональны подобным век-
векторам в пространстве Ws. Таким образом, имеет место следующая
теорема:
Теорема 4.9. Подпространства циклов и разрезов графа ортогональны.
Рассмотрим теперь прямую сумму Wc^W s- Мы знаем, что dim (WcSWs)=
= dim(U7c)+dim(U7s)—A\m{Wc{\Ws). Поскольку dim (U7c)+dim (Ws)=m, по-
получаем A\m (WctSiW$) = m—dim(\i7cn W$). Теперь ортогональные подпрост-
подпространства We и W$ будут также и ортогональными дополнениями Wq тогда и
только тогда, когда dim {Wc*5Ws) = m. Иными словами, Wc и W$ будут ортого-
ортогональными дополнениями в том и только в том случае, если dim (Wcf) №7s)=0,
т. е. Wcf] Ws— нулевой вектор (все элементы которого равны нулю). Поэтому
мы получаем следующую теорему:
Теорема 4.10. Подпространства Wc и Ws циклов и разрезов графа являются
ортогональными дополнениями тогда и только тогда, когда Wc[) W$ — нулевой
вектор.
Пусть We и Wg — ортогональные дополнения. Это означает, что каждый
вектор в пространстве Wq можно представить кольцевой суммой w(-\-wj, где век-
вектор wi принадлежит пространству We, а вектор ц>/ — пространству W$¦ Дру-
Другими словами, каждый подграф графа G можно представить кольцевой суммой
Рис. 4.4.
а —граф Са; б —граф в/,.
двух подграфов, один из которых принадлежит подпространству циклов, а дру-
другой — подпространству разрезов. В частности, сам граф G можно представить
таким же образом.
Предположим, что Wq и W$ не являются ортогональными дополнениями.
Тогда, очевидно, существует такой подграф, который нельзя представить как
кольцевую сумму подграфов в пространствах We и W$. Возникает вопрос: можно
ли в этом случае представить граф G кольцевой суммой подграфов, принадлежащих
пространствам Wс и W$ Ответом является следующая теорема:
Теорема 4.11. Любой граф G можно представить в виде кольцевой суммы
Двух подграфов, один из которых принадлежит подпространству циклов, а дру-
другой — подпространству разрезов графа G. Доказательство этой теоремы можно
найти в работах [44, 45].
Завершим этот раздел разбором примера.
Рассмотрим граф Ga, представленный на рис. 4.4, а. Нетрудно убедиться,
что ни один непустой подграф этого графа не принадлежит пересечению подпро-
76 Глава 4
странств циклов и разрезов. Следовательно, эти подпространства графа Ga яв-
являются ортогональными дополнениями. Поэтому множество базисных циклов
и базисных разрезающих множеств по отношению к некоторому остову графа Ga
образует базис векторного пространства того же графа. Ниже приводится одно
из множеств по отношению к остову, образованному ребрами ех, е2, е3, ?4:
векторы базисных разрезающих множеств
5,= A 0 0 0 I 1 0)
52= @ I 0 0 1 1 0)
5,= @010101)
?„= @ 0 0 1 0 0 1)
базисные циклические векторы
С, = A 1 1 0 1 0 0)
С,= A10 0 0 10)
С3= @ 0 1 1 0 0 1)
Легко видеть, что каждый вектор можно представить в виде кольцевой суммы
циклического вектора и вектора разрезающего множества. В частности, иектор
A11111), представляющий граф Ga, сам может записываться в виде A111111)=
= S1®SaSS4®C1©Ca= A101001)ф@010110), где A101001) представляет собой
разрез, а @010110) — цикл в графе Ga. Далее, рассмотрим граф Gj, представлен-
представленный на рис. 4.4, б. В этом графе ребра еъ е2, е3, е4 образуют разрез и цикл. Следо-
Следовательно, подпространства циклов разрезов этого графа не являются ортогональ-
ортогональными дополнениями. Это означает, что существует некоторый подграф в графе
Gb, который нельзя представить суммой подграфов из подпространства циклов
и разрезающего подпространства графа G&. Однако по теореме 4.11 возможно
такое разложение для графа О&. Это справедливо, поскольку G(,= {e1, e2, е5}ф
ф{е3> е4, е„}, где {еь е2, е3) — разрез, а {ё3, е4, ее} — цикл в графе Gb
4.7. Замечания, касающиеся литературы
Ранней работой по векторным пространствам, связанным с гра-
графом, является работа [4, 6], в которой рассматривается вопрос по-
построения графа с заданным множеством циклов. Для дальнейшего
изучения этой темы рекомендуются также работы [4.4, 4.5].
Упражнения
4.1. Покажите, что циклы, определяемые следующими множествами, образуют
базис подпространства циклов графа, представленного на рис. 4.5: {еъ е3, е4, ев};
{f2, е3, еъ, е-,}; {elt e2, es}.
4.2. Множество инциденций — множество ребер, инцидентных вершине. Пока-
Покажите, что любая из п—1 множеств инциденций связного графа на я вершинах
образуют базис подпространства разрезов графа.
4.3. Покажите, что если р — ранг, a ft — цикломатическое число графа G, то
а) число различных базисов для подпространства разрезов графа G равно
-L BР —2°) BР —21) BР —22). . . BР —2Р - Ч;
б) число различных базисов для подпространства циклов графа G равно —г B^—
—2°) B*1 21) B^ 22) B^ 2и~х).
Графы и векторные пространства
77
4 4. Д-ля графа G, представленного на рис. 4.6, найдите
а) множество базисных векторов подпространства циклов, которые не являются
базисными циклическими векторами по отношению к какому-либо остову
графа G;
Рис. 4.5.
Рис. 4.6.
б) множество базисных векторов подпространства разрезов, которые не соот-
соответствуют ни множествам инциденций, ни базисным разрезающим множествам
по отношению к какому-либо остову графа G.
4.5. а) Проверьте, являются ли подпространства циклов и разрезов графа G
(рис. 4.6) ортогональными дополнениями векторного пространства графа G;
б) представьте граф G кольцевой суммой двух подграфов, один из которых при-
принадлежит подпространству циклов, а другой — подпространству разрезов.
4.6. Покажите, что каждое подмножество множества ребер дерева является
разрезом дерева.
4.7. Покажите, что подграф графа имеет четное число ребер, если он принадлежит
одновременно подпространствам как циклов, так и разрезов графа.
4.8. Подмножество ребер ?" графа G называется независимым, если оно не содер-
содержит циклов. Докажите следующее:
а) каждое подмножество независимого множества является независимым;
б) если / и J независимые множества, содержащие k и А+1 ребер соответственно,
то существует такое ребро е, входящее только в множество У, что 1 (j {e} —
независимое множество.
4.9. Выполните упражнение 4.8, заменив термин «цикл» термином «разрезающее
множество».
5. Ориентированные графы
В предыдущих главах мы представили некоторые основные
результаты теории неориентированных графов. Однако для описания
некоторых ситуаций неориентированных графов недостаточно.
Например, при представлении схемы уличного движения графом,
ребра которого соответствуют улицам, для указания допустимого
направления движения ребрам необходимо присваивать ориента-
ориентацию. Другим примером.является программа для ЭВМ, моделируе-
моделируемая графом, ребра которого представляют поток управления от
одних множеств инструкций к другим. В таком представлении
программы для указания направления потока управления ребрам
также необходимо присвоить ориентацию. Еще одним примером
физической системы, для представления которой требуется ориенти-
ориентированный граф, является электрическая цепь. Применения ориен-
ориентированных графов и соответствующие алгоритмы рассматриваются
в гл. 11—15.
В этой главе предлагаются вниманию основные результаты
теории ориентированных графов. Обсуждаются вопросы, связан-
связанные с существованием ориентированных эйлеровых цепей и гамиль-
тоновых циклов. Рассматриваются также ориентированные деревья
и их связь с ориентированными эйлеровыми цепями.
5.1. Основные определения и понятия
Начнем с введения нескольких основных определений и понятий,
относящихся к ориентированным графам.
Ориентированный граф G=(V, Е) состоит из двух множеств:
конечного множества V, элементы которого называются вершинами,
и конечного множества Е, элементы которого называются ребрами
или дугами. Каждая дуга связана с упорядоченной парой вершин.
Для обозначения вершин используются символы vit v2,- . .,
а для обозначения дуг — символы еи е2, . . . . Если et= (vt, Vj), то
vt и Vj называются концевыми вершинами еи при этом vt — начальная
вершина, a Vj — конечная вершина е\. Все дуги имеющие одну пару
начальных и конечных вершин, называются параллельными. Дуга
называется петлей, если инцидентная вершина vt является одновре-
одновременно начальной и конечной ее вершиной.
В графическом представлении ориентированного графа вершины
изображаются точками или кружками, а ребра (дуги) — отрезками
Ориентированные графы 79
линий, соединяющими точки или кружки, представляющие их кон-
концевые вершины. Кроме того, дугам присваивается ориентация,
показываемая стрелкой, направленной от начальной вершины к
конечной.
Например, если V={vi, о2, va, i>4, Ц>, w9, v-,} и Е = {ей е2, es,
eit еъ, ев; е7, е8} такие, что е-,= {ръ v2), e2—(vi, v2), e9=(vu va), et—
= (vs, Vi), еъ= (vit Vi), <?e= (v», v4), e,= (v4, v4), <?8= (u5, ve), ориенти-
ориентированный граф G=(V, E)
можно представить рис.
5.1. В этом графе ех не-
непараллельные дуги, а е-, —
петля.
Говорят, что дуга ин-
инцидентна своим концевым
вершинам. Вершины назы-
называются смежными, если
они являются концевыми Рис 5Л_ Ориентированный граф.
для одной дуги. Если ду-
дуги имеют общую концевую вершину, то они называются смежными.
Дуга называется исходящей из своей начальной вершины и захо-
заходящей в свою конечную вершину. Верщина называется изолирован-
изолированной, если она не имеет инцидентных дуг.
Степенью d(vj) вершины v} называется число инцидентных ей
дуг. Полустепенью захода d~ (Vj) вершины vj является число заходя-
заходящих в vj дуг, а полустепенью исхода d+ (vj) — число исходящих из
Vj дуг. Символами б+ и б~ обозначают минимальные полустепени
исхода и захода ориентированного графа. Аналогично символами
Д+ и А" обозначают максимальные полустепени исхода и захода
соответственно.
Множества Г+(у) и Г~(и)для любой вершины определяются
следующим образом: Г+ (v)={w\ (v, w)?E}, Г~ (v) = {w\(w, v)?E}.
Например, в графе на рис. 5.1 Г+ (v1) = {vi, v3}, Г~(и^ = {и2, vs, vt).
Заметим, что петля увеличивает полустепени как захода, так и
исхода этой вершины. Следующее утверждение является следствием
того, что каждая дуга увеличивает на 1 сумму полустепеней как
захода, так и исхода ориентированного графа.
Теорема 5.1. В ориентированном графе с т дугами
Сумма полустепеней захода=Сумма полустепеней исхода=/п.
Подграфы и порожденные подграфы ориентированного графа
определяются так же, как и в случае неориентированных графов
(разд. 1.2).
Неориентированный граф, получающийся в результате снятия
ориентации с дуг ориентированного графа G, называется лежащим в
основе неориентированного графа G и обозначается через Ga.
Ориентированным маршрутом ориентированного графа G=
= {V, Е) называется такая конечная последовательность вершин
80
Глава 5
v0, vlt. . ., Vh, что («i-i, Vi), 1 <I i ^ k, является дугой графа G.
Такой маршрут обычно называется ориентированным v0 — vh-
маршрутом, причем о0 — начальная вершина, vh — конечная вер-
вершина маршрута, а все другие вершины — внутренние. Начальная и
конечная вершины ориентированного маршрута называются его
концевыми вершинами. Отметим, что дуги, а следовательно, и вер-
вершины' могут появляться в ориентированном маршруте более одного
раза.
Ориентированный маршрут называется открытым, если его кон-
концевые вершины различны, в противном случае — замкнутым.
Ориентированный маршрут называется ориентированной цепью,
если все его дуги различны. Ориентированная цепь является откры-
открытой, если ее концевые вершины различны, в противном случае —
замкнутой.
Открытая ориентированная цепь называется ориентированным
путем, если различны все ее вершины.
Замкнутая ориентированная цепь называется ориентированным
циклом или контуром, если ее вершины, за исключением концевых,
различны.
Говорят, что ориентированный граф ациклический или бесконтур-
бесконтурный, если он не имеет контуров. Например, ациклическим является
ориентированный граф на рис. 5.2.
Рис. 5.2. Ациклический
ориентированный граф.
Рис. 5.3. Сильно связный
ориентированный граф.
Последовательность вершин ориентированного графа G назы-
называется маршрутом в G, если она является маршрутом лежащего в
основе неориентированного графа G,,. Например, последователь-
последовательность Vi, v2, v3, v4, vt, vs в графе на рис. 5.2 является маршрутом, но
не ориентированным.
Аналогичным образом определяются цепь, путь и цикл ориенти-
ориентированного графа.
Ориентированный граф называется связным, если связным яв-
является лежащий в его основе неориентированный граф.
Подграф ориентированного графа G называется компонентой
графа G, если он является компонентой графа Ga.
Ориентированные графы
81
Вершины Vi и Vj ориентированного rpajja G называются сильно
связными, если в G существуют ориентированные пути из vt в v} и
обратно. Если vt сильно связна с Vj, то, очевидно, и и, сильно связна
с vt. Всякая вершина сильно связна сама с собой.
Если вершина V; сильно связна с вершиной Vj, a v7- — с и?,, то,
как легко видеть, вершина vt сильно связна с вершиной vh. Следо-
Следовательно, в этом случае просто говорят, что вершины vt, Vj и vk
сильно связны.
Ориентированный граф называется сильно связным, если сильно
связны все его вершины. Например, сильно связным является граф
на рис. 5.3.
Максимальный сильно связный подграф ориентированного гра-
графа G называется сильно связной компонентой графа G. Если ориен-
ориентированный граф сильно связен, то он имеет единственную сильно
связную компоненту, а именно самого себя.
Рассмотрим ориентированный граф G—(V, E). Легко видеть,
что всякая его вершина принадлежит точно одной сильно связной
компоненте графа G. Следовательно, множества вершин сильно связ-
связных компонент образуют разбиение множества вершин V графа G.
a 6
Рис. 5.4. Граф и его конденсация.
Например, ориентированный граф на рис. 5.4, а имеет три
сильно связные компоненты с множествами вершин {vit v9, vt,
V5}, {vi\ и {v6}, образующими разбиение множества {vu v2, vs,
Vi, Vi, ve} вершин ориентированного графа.
Интересно, что в ориентированном графе могут быть дуги,
не входящие ни в какие сильно связные компоненты графа. Напри-
Например, ни в какие сильно связные компоненты не входят дуги ех, ев,
еъ е9 и е10 в графе на рис. 5.4, а.
Таким образом, хотя свойство «сильной связности» влечет
разбиение множества вершин графа, оно может не порождать раз-
разбиение множества дуг.
Объединение, пересечение, сумма по mod 2 и другие операции
над ориентированными графами определяются точно так же, как и в
случае неориентированных графов (разд. 1.5).
82 Глава 5
Граф, получающийся в результате стягивания всех дуг сильно
связных компонент ориентированного графа G, называется конден-
конденсированным графом 6С графа G. Конденсация графа, приведенного
на рис. 5.4, а, представлена на рис. 5.4, б.
Вершины графа Gc соответствуют сильно связным компонентам
графа G и называются конденсированными образами компонент.
Ранг и цикломатическое число ориентированного графа те же, что
и у соответствующего неориентированного графа. Это означает, что
если ориентированный граф G имеет m дуг, п вершин и р компонент,
то ранг р и цикломатическое число ц графа G определяются выраже-
выражениями р=и—р и \к=т—п+р.
Теперь определим минимально связные ориентированные гра-
графы и изучим некоторые их свойства.
Ориентированный граф G называется минимально связным,
если он сильно связный, а удаление любой дуги лишает его свойства
Рис. 5.5. Минимально связный ориентированный граф,
сильной связности. Минимально связным является, например,
граф, представленный на рис. 5.5.
Очевидно, что минимально связные графы не могут иметь па-
параллельных дуг и петель.
Мы знаем, что неориентированный граф минимально связен
тогда и только тогда, когда он является деревом (упр. 2.13). По теоре-
теореме 2.5 дерево имеет не менее двух вершин степени 1. Следовательно,
минимально связные неориентированные графы имеют по крайней
мере две вершины степени 1.
Установим аналогичный результат для ориентированных графов.
Степень всякой вершины сильно связного ориентированного графа
должна быть не менее 2, поскольку каждая вершина должна иметь
исходящую и заходящую дуги. В следующей теореме мы доказы-
доказываем, что в минимально связном ориентированном графе имеются
по крайней мере две вершины степени 2.
Теорема 5.2. Если минимально связный ориентированный граф G имеет
более одной вершины, то в нем содержатся по крайней мере две вершины степени 2.
Доказательство. Поскольку граф G — сильно связный и имеет более одной
вершины, он должен иметь по крайней мере один контур. Следовательно, для
графа G цикломатическое число ц>1.
Докажем теорему индукцией по ц.
Если ц=1, то граф G является контуром, следовательно, в этом случае тео-
теорема верна.
Ориентированные графы 83
Пусть теорема верна для всех минимально связных ориентированных гра-
графов с |Л<? при k^2. Рассмотрим минимально связный граф G с ц—k. Покажем,
что теорема справедлива и для графа G. Возможны два случая.
Случай 1. Всякий контур G имеет длину 2.
В этом случае любые две смежные вершины соединены точно двумя дугами, име-
имеющими противоположную ориентацию. Пусть G' — простой неориентированный
граф на том же множестве вершин, что и граф G, а вершины в нем смежны тогда
и только тогда, когда они смежны в графе G. Поскольку граф G — связный, то
связен и граф G'. Но так как в графе G нет контуров длины больше 2, то граф G'
не имеет циклов. Следовательно, G' — дерево. По теореме 2.5 он имеет по мень-
меньшей мере две висячие вершины. В графе G они имеют степень 2, чго доказывает
теорему для этого случая.
Случай 2. В графе G имеется контур С длиной 1^3. Поскольку граф О —
минимально связный, между любыми смежными вершинами контура С имеется
единственная дуга, а между любыми не смежными в контуре С вершинами дуг
нет.
Пусть G' — граф, получающийся в результате стягивания дуг С. Граф G'
имеет (т—/) дуг и (п—/+1) вершин, где т и п — число дуг и вершин графа G
соответственно. Поэтому цикломатическое число графа G' равно (т—/)— (я—/+
)+
Поскольку граф G также минимально связный, из индуктивного предпо-
предположения следует, что в графе G' содержатся хотя бы две вершины vx и vt степени 2.
Если одна из них, например vt, является конденсированным образом контура С,
тогда в нем имеется по крайней мере одна вершина, например v3, степени 2. В этом
случае »а и п3 — вершины степени 2 в графе G.
С другой стороны, если ни иъ ни v2 не являются конденсированным образом
контура С, то vj и v2 — вершины G степени 2, что доказывает теорему.
Завершаем этот раздел определением свойства «квазисильной связности»,
Рис. 5.6. Квазисильно связный граф.
Граф называется квазисильно связным, если для любой пары вершин v1 и v2
существует вершина vs, из которой имеются ориентированные пути к вершинам
?'i и и2. Заметим, что вершина v3 не обязательно отлична от вершин vl и vt
Пример квазисильно связного графа представлен на рис. 5.6,
84 Глава 5
5.2. Графы и отношения
Бинарное отношение на множестве Х={хи xit. . .} представляет
собой набор упорядоченных пар из элементов множества X. Напри-
Например, если X — множество людей, a R —отношение «является сы-
сыном», то упорядоченная пара (xit Xj) означает, что xt является сы-
сыном Xj. Этот факт обозначается также xtRxj.
Наиболее удачный способ представления бинарного отношения R
на множестве X — с помощью ориентированного графа, вершины
которого представляют собой элементы множества X, а дуги —
упорядоченные пары элементов, определяющие отношение R.
Рис. 5.7. Ориентированный граф, представляющий отношение «является дели-
делителем».
Например, на рис. 5.7 приведено представление отношения «яв-
«является делителем» на множестве Х={2, 3, 4, 6, 9}.
Рассмотрим множество Х={хг, хг,. . .} и отношение R на мно-
множестве X:
1) R называется рефлексивным, если любой элемент xt входит в от-
отношение R с самим собой, т. е. для любого xt xtRXi,
2) R называется симметричным, если xtRxj влечет за собой X]Rxt;
3) R называется транзитивным, если xtRx} и XjRxh влечет за
собой XiRxk\
4) R называется отношением эквивалентности, если оно рефлексив-
рефлексивно, симметрично и транзитивно. Если R — отношение эквива-
эквивалентности на множестве S, то последнее однозначно разбивается
на такие подмножества Su 52,. . ., Sh, что элементы х, у мно-
множества S принадлежат S, тогда, когда xRy. Подмножества S1(
5,,. . ., Sh называют классами эквивалентности, порожденными
отношением R на множестве S.
Пусть множество X состоит из положительных целых чисел.
Тогда
1) отношение «является делителем» рефлексивно и транзитивно;
Ориентированные графы 85
2) отношение «равно» рефлексивно, симметрично и транзитивно,
следовательно, является отношением эквивалентности.
Ориентированный граф, представляющий рефлексивное отно-
отношение, называется рефлексивным ориентированным графом. По-
Подобным образом определяются симметричные и транзитивные ори-
ориентированные графы. Относительно этих графов можно сделать сле-
следующие замечания:
1. В рефлексивном ориентированном графе при каждой вершине
имеется инцидентная ей петля.
2. В симметричном ориентированном графе между любыми смеж-
смежными вершинами имеются две противоположно ориентированные
дуги. Поэтому, если ребро поставить в соответствие паре противо-
противоположно ориентированных дуг,' можно рассматривать неориен-
неориентированный граф как представление симметричного отношения.
3. Дуга (vi, v2) присутствует в транзитивном графе G, если из вер-
вершины Vi имеется ориентированный путь в вершину v2.
5.3. Ориентированные или корневые
деревья
Вершина v ориентированного графа называется корнем графа G,
если из вершины v существует ориентированный путь ко всем осталь-
остальным вершинам графа G.
Например, в графе на рис. 5.6 корнем является вершина^.
Очевидно, что если граф имеет корень, то он квазисильно связный.
В следующей теореме мы доказываем, что и из «квазисильной
связности» следует существование корня.
Теорема б.З. Ориентированный граф G имеет корень тогда и только тогда,
когда он квазисильно связный.
Доказательство.
Необходимость очевидна.
Достаточность. Рассмотрим вершины х^, хг, . . ., хп графа G. Поскольку
граф О — квазисильно связный, существует вершина у2, из которой есть ориен-
ориентированные пути к вершинам х1 и хг. По той же причине существует вершина у3,
из которой есть ориентированные пути к вершинам у2 и х3. Очевидно, что вер-
вершина у3 связана также ориентированными путями через вершину уг с вершинами
*i и хг. Продолжая рассуждать подобным образом, придем к тому, что существует
вершина уп, из которой есть ориентированные пути к вершинам уп-\ и хп. Оче-
Очевидно, что вершина уп — корень, поскольку она связана через вершину </„_х с
вершинами хг, . . ., хп-\.
Ориентированный граф О называется деревом, если лежащий в его основе
неориентированный граф также является деревом.
Ориентированный граф G называется ориентированным или корневым де-
деревом, если он является деревом и имеет корень. Вершины графа G с нулевой
полустепенью исхода называются листьями.
Примером ориентированного дерева является граф, приведенный на рнс. 5.8.
Вершина vt в нем является корнем, и притом единственным.
В следующей теореме даются эквивалентные характеризации ориентиро-
ориентированных деревьев.
86 Глава 5
Теорема 5.4. Пусть G — ориентированный граф на п>\ вершинах. Тогда
следующие утверждения эквивалентны:
1) G — ориентированное дерево;
2) В графе G имеется вершина г, из которой есть только один ориентированный
путь в любую другую вершину графа G;
Рис. 5.8. Ориентированное дерево.
3) Граф G — квазисильно связный и теряет это свойство при удалении из него
любой дуги;
4) Граф G — квазисильно связный и имеет такую вершину г, что d~ (r)=0 и
d-(u)=l, \>фт\
б) Граф G не имеет циклов (не обязательно контуров) и содержит такую вершину
г, что d~ (r)=0 и d~ (v)=l, ифг.
6. Граф G — квазисильно связный без циклов.
Доказательство.
1=>2. Корень г графа G обладает требуемыми свойствами.
2=фЗ. Очевидно, что граф G — квазисильно связный. Допустим, что это
свойство не теряется при удалении из графа G дуги (и, v). Тогда существует такая
вершина z, что из нее имеются ориентированные пути к вершинам и и о, не ис-
использующие дугу (и, v). Таким образом, в графе G имеется по два ориентированных
пути из вершины г к вершине v, а также из вершины г к вершине v, что противо-
противоречит утверждению 2.
3=ф4. Поскольку граф G — квазисильно связный, он имеет корень г. По-
Поэтому для всякой вершины v=?r справедливо неравенство d~(v)^\. Предполо-
Предположим, что для некоторой вершины с справедливо, что d~ (v)>\. Тогда существуют
две заходящие в вершину v дуги, например (х, v) и (у, v). Таким образом, суще-
существуют два различных пути из вершины г к вершине v, один — через дугу (х, v),
а другой — через дугу (у, v). Поэтому при удалении одной из этих дуг получив-
получившийся граф будет иметь корень г и, следовательно, останется квазисильно связ-
связным. Это противоречит утверждению 3, следовательно, d~ (w)=l, ифг.
Наконец, никакая дуга не может заходить в г, поскольку в противном случае
после удаления этой дуги из G граф имел бы все-таки корень г, а значит, был ква-
квазисильно связным. Это снова противоречит утверждению 3. Поэтому d~ (г) = 0.
4=$>5. Сумма полустепеней захода в графе G равна п—1. Поэтому по теореме
5.1 граф G имеет я—1 дугу. Поскольку граф G связный, то по теореме 2.1 (п. 3)
он является деревом и, следовательно, ациклическим.
5=ф6. Поскольку сумма полустепеней захода в графе G равна п—1, он имеет
п—1 дугу. Так как граф G не имеет циклов, то по теореме 2.2 он является деревом.
Поэтому из вершины г к любой другой вершине в графе G существует единствен-
единственный путь. Такой путь должен быть ориентированным, иначе хотя бы одна из
вершин пути должна иметь полустепень захода, превышающую 1, что противо-
противоречит п. 5. Таким образом, вершина г — корень графа G. Поэтому по теореме
5.3 граф G — квазисильно связный.
Ориентированные графы 87
6=>1. Поскольку графб— квазисильно связный, то по теореме 5.3 он имеет
корень. Однако из того, что он связный и не имеет циклов, следует, что граф G —
дерево.
Подграф ориентированного графа G называется ориентированным остовом
графа G, если он является ориентированным деревом и содержит все вершины G.
Например, подграф, образованный дугами е1г е2, е3, е4 и еъ, является ориентиро-
ориентированным остовом графа, изображенного на рис. 5.6.
Мы знаем, что граф G имеет остов в том и только в том случае, когда он связ-
связный. Соответствующее утверждение для случая ориентированных графов дается
в следующей теореме:
Теорема 5.5. Ориентированный граф G имеет ориентированный остов тогда
и только тогда, когда граф G — квазисильно связный.
Доказательство.
Необходимость. Если граф G имеет ориентированный остов, то очевидно, что
корень ориентированного дерева будет корнем и в графе G. Поэтому по теореме 5.3
граф G —¦ квазисильно связный.
Достаточность. Пусть граф G — квазисильно связный, не являющийся
ориентированным деревом. Тогда по теореме 5.4 существуют дуги, удаление
которых из графа G не лишает его свойства квазисильной связности. Поэтому,
если из графа G удалить все такие дуги, то получившийся граф будет ориенти-
ориентированным остовом графа G.
Применение ориентированных деревьев в топологическом ис-
исследовании электрических цепей рассматривается в гл. 13.
Двоичным деревом является ориентированное дерево, полустепень
исхода каждой вершины которого не превышает 2. Двоичным дере-
деревом, например, является граф на рис. 5.9. Как оказалось, двоичные
000 001 0/0 077 770 777
Рис. 5.9. Двоичное дерево.
деревья очень полезны при исследовании многих задач в областях,
связанных с применением вычислительной техники, например при
анализе алгоритмов, в методах поиска информации и т. д. Одной из
часто встречающихся задач является следующая:
Даны п весов wlt w2t. . ., wn и п длин 1и /2,. ..,/„; построить
двоичное такое дерево с п листьями vu vt>. . . , vn, что
1) йУгA<;<л) — вес вершины vt;
2) l(l) — длина пути из корня дерева в и,-;
п
3) сумма ^ w^i, называемая длиной взвешенных путей,— мини-
L = 1
мальна.
88 Глава 5
Более общая задача возникает в описываемом ниже случае.
Множество таких слов, среди которых никакое не является на-
началом другого, называется префиксным кодом. Очевидно, что если
последовательность букв образована конкатенацией слов (сцепле-
(сцеплением цепочек символов) префиксного кода, его можно разложить на
отдельные слова префиксного кода путем разбора слева направо.
На.пример, если префиксный код образует набор 000, 001, 01, 10, 11,
а последовательность 1011001000 образована из его слов, то она
легко раскладывается на слова 10, 11, 001 и 000.
Пусть S={0, 1, 2,. . . , т—1} — алфавит из т букв, а Г —
такое ориентированное дерево, что
1) полустепень исхода каждой вершины не превышает т\
2) каждая исходящая из вершины дуга связана с буквой алфавита
таким образом, что никакие две дуги не соответствуют одной бук-
букве. Тогда всякий лист v можно связать со словом, образованным
конкатенацией, букв в том порядке, в котором они появляются
на пути к листу v от корня. Легко убедиться в том, что слова,
связанные таким образом с листьями, образуют префиксный код.
Например, ориентированному дереву на рис. 5.9 соответствует
следующий префиксный код: {000, 001, 010, 011, 10, ПО, 111}.
Задача состоит в том, чтобы для данного т и длин 1и /2(. . ., /„
построить, используя буквы алфавита 5={0, 1, 2,. . ., т—\),
префиксный код, длины слов которого составляют /,, /2,. . ., /„.
Этот и некоторые связанные с ним вопросы рассматриваются в
разд. 15.2 и 15.3.
5.4. Ориентированные эйлеровы графы
Ориентированной эйлеровой цепью ориентированного графа G
называется замкнутая ориентированная цепь, содержащая все
дуги G. Открытой ориентированной эйлеровой цепью называется
Рис. 5.10. Ориентированный эйлеров граф.
открытая ориентированная цепь, содержащая все дуги графа G.
Ориентированный граф, обладающий ориентированной эйлеровой
цепью, называется ориентированным эйлеровым графом.
Ориентированные графы 89
Ориентированным эйлеровым графом является граф, изображен-
изображенный на рис. 5.10, поскольку дуги еь с2, е3, et, e5, et образуют в
графе G ориентированную эйлерову цепь.
В следующей теореме даются простые характеризации ориенти-
ориентированных эйлеровых графов. Теорема доказывается по той же схеме,
что и теорема 3.1.
Теорема 5.6. Для связного ориентированного графа G следующие утверж-
утверждения равносильны:
]¦) q — ориентированный эйлеров граф;
2) для любой вершины v графа G справедливо равенство d~ (v)=d+ (v);
3) 0 — объединение нескольких реберно-непересекающихся контуров.
Рассмотрим, например, ориентированный эйлеров граф G на рис. 5.10. Легко
проверить, что он обладает свойством, сформулированным в п. 2 теоремы, и яв-
является также объединением реберно-непересекающихся контуров {еа, е3) и {е1у
Легко доказать и следующую теорему:
Теорема 5.7. Связный ориентированный граф содержит открытую ориенти-
ориентированную эйлерову цепь тогда и только тогда, когда выполняются условия:
1) в графе G имеются такие две вершины v± и v2, что d+ (v1)=d~ (t»x)+l и d~ (v2) =
=d+(i>2)+l;
2) для любой вершины v, отличной от vt и v2, справедливо равенство d~ (y)=d+ (v).
Например, условиям этой теоремы удовлетворяет граф на
рис. 5.11. Открытой ориентированной эйлеровой цепью графа
G является последовательность еъ е2, es,
е4, еъ, е6. Обсудим теперь одно интересное
применение теоремы 5.6.
Пусть S={0, 1 s—1}—алфавит,
состоящий из s букв. Очевидно, что, ис-
используя буквы этого алфавита S, можно по-
построить sn различных слов длины п. По-
Последовательность де Брёйна — это цикли- „
ческая последовательность, а0, аи а2, . . .
.. .,а,_, длины L=s", у которой для любого Ри5- 5>11- гРаФ с ОТКРЫ-
слова ш длины п существует такое единст- ™ ГршшГце" *
венное i, что &)=агаг+1. . .а,+п_ь где зна-
значения индексов вычисляются по mod L. Последовательности
де Брёйна находят применение в теории кодирования и при ис-
исследовании сетей связи. Подробную информацию об этих последо-
последовательностях можно найти в работах [5.1, 5.2]. Мы же рассмотрим
следующую задачу:
Для любых ли s > 2 и целых п существует последовательность
де Брёйна над алфавитом 5={0, 1,2,..., s— 1}? Как мы увидим
далее, ответ на этот вопрос положителен.
Покажем, что для любых s ^ 2 и п существует такой ориентиро-
ориентированный эйлеров граф Gi-n, что всякая ориентированная эйлерова
цепь в этом графе соответствует последовательности де Брёйна дли-
длины s" над алфавитом S = {0, 1,2,..., s—1}. Граф Gs>n строится
следующим образом:
90
Глава 5
1) последовательность V образуется всеми sn~l словами длины п—1
над алфавитом 5;
2) Е — множество всех sn слов длины п над 5;
3) дуга &i&2 • • • Ьп имеет начальную вершину Ьф2. . . Ъп_\ и конеч-
конечную вершину b2b3- . .bn. Заметим, что каждая вершина имеет s
заходящих и S исходящих дуг. Таким образом, для каждой вер-
вершины v справедливо равенство d~ (v)=d+ (v).
Графы G2i4 и G2iS представлены на рис. 5.12, а, б.
0000
„0007
7007
7100
7107.
0101
0010^
1 bora
0170 \^
0011
in
Рис. 5.12.
а —граф G2 4, б — граф (?й а.
Допустим, в графе Gs< n имеется ориентированная эйлерова цепь
С. Если мы конкатенируем первые буквы слов, представленных
дугами GSin, в том порядке, в котором дуги появляются в цепи С,
то получим такую последовательность длины s", что любая ее под-
подпоследовательность из п последовательных букв будет соответст-
соответствовать единственному слову, но никакие две различные подпосле-
подпоследовательности не будут соответствовать одному слову. Поэтому
последовательность, построенная таким образом, будет последова-
последовательностью де Брёйна. Например, последовательность дуг 000,
001, 111, ПО, 101, 010, 100 является ориентированной эйлеровой
Ориентированные графы 91
цепью графа G2,3. Конкатенация первых букв этих слов дает после-
последовательность д'е Брёйна 00011101.
Таким образом, чтобы показать, что для любых s ^ 2 и п суще-
существует последовательность де Брёйна, необходимо доказать, что
Gs п — ориентированный эйлеров граф. Это мы сделаем в следующей
теореме:
Теорема 5.8. Gs, „ — ориентированный эйлероь граф.
Доказательство. Gs, „—связный, так как для любых двух вершин v1=b1b2. . .
. . .bn-\ и v2=ctc2. . xn-i существует ориентированный путь из вершины vv-
в вершину v2, состоящий из следующих дуг: b1b2. . .bn^1c1, b.zb3. . ,bn-\Cxc2, . . .
¦ ¦ ., Ъп-хСхС2. . .?„_!.
Поскольку, как мы видели раньше, полустепень захода каждой вершины графа
Gs n равна ее полустепени исхода, то из теоремы 5.6 следует, что GSi n — ори-
ориентированный эйлеров граф.
Следствие 5.8.1. Для любых s^2 и п существует последовательность
де Брёйна.
5.5. Ориентированные остовы
и ориентированные эйлеровы цепи
Пусть G — ориентированный эйлеров граф, не имеющий петель.
В этом разделе мы свяжем число ориентированных эйлеровых
цепей графа G с числом ориентированных остовов G.
Пусть vlt у, о„ — вершины графа. С Рассмотрим ориенти-
ориентированную эйлерову цепь С графа G. Пусть eti — дуга графа G, захо-
заходящая в вершину v\. Для любого /?=2, 3, . . . , п будем считать,
что ejp обозначает первую дугу С, входящую в вершину vp после
прохождения дуги ?д. Например, рассмотрим ориентированную эй-
эйлерову цепь elt е2, е3\ eit еъ, е6 графа, представленного на рис. 5.10.
Если мы выберем ejt=eb, то е3=ех, е}з—еЙ и eJt=et. Пусть Я —
подграф графа G на множестве дуг {е7-а, е]з, ... * е1п).
Лемма 5.1. Пусть С — ориентированная эйлерова цепь ориентированного
эйлерова графа G. Подграф Н, определяемый цепью С описанным способом,
является ориентированным остовом с корнем vt.
Доказательство. Очевидно, что в подграфе Нd~ (tI)=0 и d~ {vp)=\ для всех
р=2, 3, . . ., п. Допустим, что он содержит цикл С Тогда вершина vx не входит
в цикл С, иначе d~ (fi)>0 или d~ (v)>\ для некоторой другой вершины цикла
С". По этой же причине цикл С" является контуром. Поскольку d~(v)=l для
всякой вершины v в цикле С, никакая из дуг, не принадлежащих С, не входит
ни в какую вершину С. Это означает, что дуга е, являющаяся первой после про-
прохождения е^ дугой цикла С, входящей в вершину цикла С, не принадлежит
подграфу Н, что противоречит его определению. Следовательно, подграф Н на
имеет циклов.
Теперь из п. 5 теоремы 5.4 следует, что подграф Н — ориентированный
остов графа G.
Пусть Vi — корень ориентированного остова ориентированного
эйлерова графа G без петель на п вершинах, а е,х — дуга, заходящая
в вершину vt графа G. Пусть е)р (/7=2, 3, ...',«)— дуга, входя-
92 Глава 5
щая в вершину vp подграфа Н. Опишем метод построения ориенти-
ориентированной эйлеровой цепи G:
1) Начать с вершины уь проходя назад по любой дуге, входящей в
вершину Vi, отличной от в] (если такая дуга существует), или по
ejt, если нет альтернативы;
2) По достижении вершины vp оставить ее, проходя назад по дуге,
которая еще не была пройдена и, если возможно, отличной от
ejp. Остановиться, если не осталось непройденных дуг среди
входящих в вершину vp.
В этой процедуре каждый раз, когда достигается вершина vp=vu
будет существовать непройденная дуга, входящая в вершину vp,
поскольку полустепень захода всякой вершины графа G равна полу-
полустепени исхода. Следовательно, процедура закончится только в
вершине vx после прохождения всех заходящих в нее дуг.
Предположим, что в графе G осталась непройденной дуга (и, v)
после того, как процедура закончилась в вершине vx. Поскольку
полустепень захода в вершину и равна ее полустепени исхода,
существует по крайней мере одна непройденная дуга, заходящая в
вершину и. Если число таких непройденных дуг больше 1, то одна
из них будет дугой у, входящей в вершину и подграфа Н. Это сле-
следует из шага 2 процедуры. Непройденная дуга у приведет к другой
непройденной дуге, также принадлежащей подграфу Н. Наконец
будет достигнута вершина vx и найдена непройденная дуга, заходя-
заходящая в нее. Однако это невозможно, поскольку все дуги, заходящие
в вершину vlt были пройдены до того, как процедура завершилась в
ней.
Таким образом, при выполнении описанной выше процедуры бу-
будут пройдены все дуги графа G и действительно построена ориенти-
ориентированная эйлерова цепь.
Поскольку в каждой вершине vp возможны (d~ (vp)—1)! различ-
различных вариантов последовательности выбора заходящих дуг (в) —
последняя), то число различных ориентированных эйлеровых це-
цепей, которые можно построить по данным ориентированному остову
л
подграфа Я и дуге е^, определяется выражением JJ (d~ (vp)—1)!.
Кроме того, различный выбор подграфа Н приведет для некото-
некоторых р=2, 3, . . . , п к различным ejp, что в свою очередь даст в
результате другое вхождение в вершину vp после прохождения
ejt в получившейся ориентированной эйлеровой цепи.
Наконец, поскольку процедура построения ориентированной
эйлеровой цепи является обращением процедуры построения ори-
ориентированного остова, то всякую ориентированную эйлерову цепь
можно построить по нескольким ориентированным остовам.
Таким образом, мы доказали следующую теорему, принадлежа-
принадлежащую де Брёйну и ван Аардену — Эренфесту [5.3].
Ориентированные графы
93
Георема 5.9. Число ориентированных эйлеровых цепей в ориентированном
п
эйлеровом графе G без петель равно Td(G) Д (d~ (vp)—1)!, где xd{G) — число
p=i
ориентированных остовов графа G с корнем v1.
Поскольку число ориентированных эйлеровых цепей не зависит от выбора
корня, приходим к следующему выводу.
Следствие 5.9.1. Число ориентированных остовов ориентированного эйлерова
графа имеет постоянное значение, не зависящее от выбора корня.
Формула для нахождения числа т^ (G) выводится в разд. 6.9.
5.6. Ориентированные гамильтоновы
графы
Контур ориентированного графа G называется ориентированным
гамильтоновым контуром G, если он содержит все его вершины.
Ориентированный путь графа G называется гамильтоновым,
если в нем содержатся все вершины того же графа.
Ориентированным гамильтоновым графом называется граф,
имеющий гамильтонов контур.
Гамильтоновым контуром, например, является последователь-
последовательность дуг е., е2, е3, et, еь, ев в графе, представленном на рис. 5.13, а.
fc'l
/
/
e8
"A
Рис. 5.13.
а — ориентированный гамнльтонов граф, 6—ориентированный граф с гамильтоновым ориен-
ориентированным путем, но без гамильтоновых контуров
Последовательность дуг еь е2, е3, е4, еъ в графе на рис. 5.13, б образует
ориентированный гамильтонов путь. Заметим, что в этом графе не
содержится гамильтоновых контуров.
Характеризация ориентированных гамильтоновых графов в
такой же степени трудна, как и в случае неориентированных га-
гамильтоновых графов. Однако существует несколько достаточных
условий, гарантирующих присутствие гамильтоноБЫХ контуров
или ориентированных путей. Рассмотрим некоторые из этих условий.
Ориентированный граф называется полным, если полным явля-
является неориентированный граф, лежащий" в его основе. Следующая
теорема принадлежит Муну [5.4].
Теорема 5.10. Пусть и — произвольная вершина сильно связного полного
ориентированного графа на п^З вершинах. Для любого k, 2><.k<.n, существует
контур длины k, содержащий и.
94
Глава 5
Доказательство. Пусть G= (V, Е)—сильно связный полный ориентирован-
ориентированный граф на ге>3 вершинах. Возьмем произвольную вершину и гркфа G. Пусть
S=r+ (и), а Т=Г- (и). Поскольку граф 0 —сильно связный, S и Т не являются
пустыми. По этой же причине в графе G имеется дуга, идущая из вершины v?S
в вершину w? Т. Таким образом, вершина и лежит в контуре длины 3 (рис. 5.14).
Докажем теорему индукцией по k.
Допустим, что вершина и входит в кон-
контуры всех длин от 3 до р, гдер</г. Пока-
Покажем, что вершина и входит и в контур
длины р+1.
Пусть С: u=v0, i\, i>2, ...,Vp=u —
контур длины р. Необходимо рассмотреть
два случая.
Предположим, что некоторой сершине
v, не входящей в контур С, инцидентны
дуги (х, v) и (у, у), причем х и у входят в
контур С. Тогда в кем найдутся две такие
смежные вершины у,- и V(+1, что в графе G
имеются дуги (vj, v) и (v, i>,-+1). Следо-
Следовательно, вершина и будет входить в кон-
контур u=v0, vb vit . . ., vit v, vi+1, . . .
.. ., vp—u длины p+1.
В противном случае обозначим через S множество всех вершин, не входящих
в контур С и являющихся конечными в дугах, исходящих из вершин контура С,
а через Т — множество всех вершин, не входящих в контур С и являющихся
начальными в дугах, заходящих в вершины того же контура. Снова, поскольку
граф G сильно связный, S и Т — непусты. Кроме того, существует дуга, идущая
из вершины v?S в вершину w?T. Таким образом, вершина и входит в контур
u—v0, v, w, v2, . . ., vp=u длины р-{-1 (рис. 5.15).
Рис. 5.14.
Рис. 5.15.
Следствие 5.10.1. Сильно связный полный ориентированный граф гамиль-
тонов.
Приведем сейчас без доказательства очень сильную теорему, принадлежащую
Гуйа-Ури. Доказательство ее исключительно сложно, его можно найти в работе
[5.9].
Теорема 5.11. Пусть G — сильно связный граф на п вершинах без парал-
параллельных дуги петель. Если для всякой вершины и справедливо неравенство d~(v)-\-
-\-d+ (f)>re, то граф G имеет гамильтонов контур.
Следующее утверждение обобщает результат Дирака (следствие 3.4.1) для
неориентированных графов, и его можно доказать с помощью теоремы 5.11 и уп-
упражнения 5.6.
Ориентированные графы 95
Следствие 5.11.1. Пусть 0 — ориентированный граф на п вершинах без
параллельных дуг и петель. Если minF~, 6+)^ — я>1, то граф G содержит
гамильтонов контур.
Непосредственное доказательство этого результата можно найти в работе
[5.6].
Завершаем этот раздел утверждением о существовании ориентированного
гамильтонова пути.
Теорема 5.12. Если ориентированный граф G= (V, Е) — полный, то он имеет
ориентированный гамильтонов путь.
Доказательство. Рассмотрим ориентированный путь в графе G максималь-
максимальной длины Р: av а2, . . ., ар. Пусть Ь — вершина, не входящая в путь Р. Тогда
дуга (Ь, а^фЕ, поскольку иначе путь b, alt а2, . . ., ар был бы длиннее пути Р.
Поэтому (аъ Ь)?Е. Теперь (Ь, а2)фЕ, поскольку иначе путь аъ Ь, а2, а3, . . ., ар
был бы длиннее пути Р. Следовательно, (а2, &)??.
Повторяя эти рассуждения, получим, что (ар, Ь)?Е. Но это противоречит
предположению, поскольку путь %, а2, . . ., ар, Ъ длиннее пути Р. Таким образом,
нет вершины, не входящей в путь Р, следовательно, Р — ориентированный
гамильтонов путь графа 0.
5.7. Ациклические ориентированные
графы
В этом разделе изучаются свойства важного класса ориентиро-
ориентированных графов, а именно ациклических. Как мы знаем, ориенти-
ориентированный граф — ациклический, если он не содержит контуров.
Очевидно, простейшим примером ациклического ориентированного
графа является ориентированное дерево.
Основной результат, который мы получим в этом разделе, за-
заключается в том, что вершины ациклического ориентированного
графа G на п вершинах мож-
можно пометить таким образом
целыми числами из множест-
множества {1, 2, . . . , п}, что если
в графе G имеется дуга (i, /),
то i < j. Напомним, что дуга
(i, j) направлена из вершины
i в вершину j. Определенное
нами упорядочение вершин
называется топологической
сортировкой. Топологически
отсортированы, например, Рис. 5.16. Ациклический ориентирован-
вершины ациклического ори- ный граф.
ентированного графа на рис.
5.16. Справедливость основного результата этого раздела оп-
определяется следующей теоремой:
Теорема 5.13. В ациклическом ориентированном графе имеются по крайней
мере одна вершина с нулевой полустепенью захода и одна вершина с нулевой
полустепенью исхода.
96 Глава 5
Доказательство. Пусть Р: vlt i>2, . . ., vp — максимальный ориентированный
путь графа G. Покажем, что полустепень захода v1 и полустепень исхода vp равны
нулю.
Если полустепень захода v1 не равна нулю, то существует такая вершина да,
что в графе G имеется дуга (w, i>t). Возможны два случая.
Случай 1. Пусть ш#ч,-, \<i<p. Тогда существует ориентированный путь Р:
w, vlt и2, . . ., Vp, содержащий все дуги пути Р. Это противоречит максимальности
упомянутого пути.
Случай 2. Пусть для некоторого i w=vt. Тогда в графе G имеется контур С:
vv vt, . . ., V;, v1. Это противоречит условиям теоремы.
Таким образом, не существует такой вершины w, что (w, vt) — дуга графа G.
Другими словами, полустепень захода v1 равна нулю.
Рассуждая аналогичным образом, можно показать, что равна
нулю полустепень исхода ир.
Для осуществления топологической сортировки вершин ацик-
ациклического ориентированного графа G на п вершинах проделаем
следующее.
Выберем произвольную вершину с нулевой полустепенью исхо-
исхода. Это возможно, поскольку граф G — ациклический, а по теоре-
теореме 5.13 в нем должна иметься хотя бы одна такая вершина. Пометим
выбранную вершину целым п. Теперь удалим из графа G эту вер-
вершину и инцидентные ему дуги. Обозначим получившийся граф
через G'. Поскольку граф G' также ациклический, можно выбрать
в нем вершину с нулевой полустепенью исхода. Пометим эту вер-
вершину целым числом п—1. Повторим описанную процедуру до тех
пор, пока не пометим все вершины. Легко видеть, что эта процедура
порождает топологическую сортировку вершин графа G.
В соответствии с этой процедурой была сделана, например, раз-
разметка вершин графа на рис. 5.16.
5.8. Турниры
Полный ориентированный граф называется турниром. Этот
термин получил свое название от соревнований по круговой системе,
графическое представление которых имеет структуру полного ори-
ориентированного графа. В турнирах по круговой системе играют
несколько команд, каждая со всеми остальными по одному разу.
Игра по правилам не может закончиться вничью. В представлении
турнира по круговой системе ориентированным графом командам
соответствуют вершины и дуга (иь и2) присутствует в графе, если
соответствующая vt команда победила команду, представленную
вершиной- v2. Очевидно, что в таком ориентированном графе нет
параллельных дуг и петель и между каждыми двумя вершинами
имеется точно одна дуга. Таким образом, граф является полным, а
следовательно, и турниром. Пример турнира приведен на рис. 5.17.
Участвующие в турнире команды можно ранжировать в соответст-
соответствии с количеством очков. Количество очков команды соответствует
Ориентированные графы 97
числу побежденных ею противников. Введем определение последо-
последовательности очков турнира.
Последовательностью очков турнира на п вершинах называется
последовательность (sb s2). . ., sn), в которой каждое st является
полустепенью исхода вершины турнира.
В следующей теореме дается интересная
характеризация турниров, исходя из
последовательности очков.
Теорема 5.14. Последовательность неотри-
неотрицательных целых чисел Sf,s2, . . .,sn является
последовательностью очков турнира G тогда и
п к
и v n(n—i) y1 s k(k—\)
~h~ 2 ' ~ S' 2 Рис. 5.17. Турнир,
только тогда, когда для всех k < п.
Доказательство.
п
Необходимость. Заметим, что сумма \ s,- равна числу дуг турнира G (тео-
i = i
рема 5.1). Поскольку турнир — это полный граф, он имеет п (п—1)/2 дуг, где п —
4-1 п (п—1)
число вершин. Таким образом, 2j si= 2 ' ^ля Д°казательства усло-
условия 2 рассмотрим подтурнир из любых k вершин vlt v2, , . ., v^. Он содержит
k(k—1)/2 дуг. Поэтому в целом турнире '5\si'^k(k—1)/2, поскольку в нем могут
t= 1
присутствовать дуги, исходящие из вершин подтурнира и направленные в вер-
вершины, не принадлежащие подтурниру.
Достаточность доказывается в работе [5.5].
Предположим, что команды турнира по круговой системе можно
упорядочить таким образом, что за каждой командой идет побеж-
побежденная ею. Тогда для фиксации порядка можно будет присвоить
командам целые числа 1,2, . . ., п. Такое ранжирование всегда
возможно, поскольку в турнире имеется ориентированный гамиль-
гамильтонов путь (теорема 5.12). Оно называется ранжированием гамильто-
гамильтоновым путем.
Заметим, что ранжирование гамильтоновым путем может отли-
отличаться от ранжирования по очкам. Более того, турнир может иметь
не один ориентированный гамильтонов путь. В таком случае воз-
возможно более одного ранжирования гамильтоновым путем. Однако
в транзитивном турнире существует точно один ориентированный
гамильтонов путь. Это устанавливается в следующей легко доказы-
доказываемой теореме:
Теорема 5.15. В транзитивном турнире имеется точно один ориентированный
гамильтонов путь.
Другие процедуры ранжирования рассматриваются в работах [5.6—5.8],
4 № 1449
98 Глава 5
5.9. Замечания, касающиеся литературы
Много результатов по ориентированным графам содержится
в прекрасных монографиях [5.5, 5.9]. Монография [5.10] посвя-
посвящена исключительно турнирам. Эта же тема изучается в работе
[5.111.
Ориентированные деревья применяются при представлении в
ЭВМ комбинаторных объектов. Широкое обсуждение этой темы
проводится в монографиях [5.12—5.15].
Ориентированные деревья применяются также в других обла-
областях, например при топологическом исследовании электрических
цепей. В этой области, в частности, представляет интерес определе-
определение числа ориентированных деревьев в ориентированном графе.
Этот вопрос обсуждается в гл. 6, а применения ориентированных
деревьев в теории цепей рассматриваются в гл. 13.
Случаи использования ориентированных деревьев обсуждаются
в работе [5.16].
Упражнения
5.1. Пусть G — ориентированный граф без петель и параллельных дуг. Пусть
max (б~, 6+)=k. Докажите, что а) граф G имеет ориентированный путь длины не
менее k и б) если #>0, то граф G имеет контур длины не менее k-\-\.
5.2. Покажите, что дуги неориентированного графа G= (V, E) можно ориенти-
ориентировать так, чтобы в получившемся ориентированном графе \d+(v)—d~(y)|<l
для любой вершины v?V.
5.3. Ориентированный разрез ориентированного графа — это разрез <S, S>,
все дуги которого или исходят из S, или заходят в S, Покажите, что дуга ори-
ориентированного графа принадлежит либо ориентированному разрезу, либо кон-
контуру, но не принадлежит им одновременно. (Это частный случай результата,
известного под названием «лемма о раскраске дуг», который доказывается в гл. 10,
теорема 10.31.)
5.4. Покажите, что для ориентированного графа G, имеющего не менее одной
дуги, следующие утверждения равносильны: а) граф G не имеет контуров и б)
любая дуга графа G входит в ориентированный разрез.
5.5. Покажите, что для ориентированного графа G, имеющего по крайней мере
одну дугу, следующие утверждения равносильны: а) граф G — сильно связный,
б) любая дуга графа G лежит в контуре и в) граф G не имеет ориентированных
разрезов.
5.6. Покажите, что ориентированный граф на п вершинах без параллельных дуг
и петель сильно связен, если min{6~, 8+}>(n—1)/2.
5.7. Покажите, что сильно связный граф, содержащий цикл нечетной длины,
содержит также контур нечетной длины.
5.8. Пусть G= (V, Е) — такой ориентированный граф, что a) d+ (х)—d~ (х)=1=
=d~ (у)— d+ (y)\6) d+ {v)=d~ (и) дляс?У—{х, у}. Покажите, что в графе G име-
имеется I реберно-непересекающихся ориентированных х—(/-путей.
5.9. Покажите, что сильно связный граф имеет остовный ориентированный марш-
маршрут.
5.10. Что из себя представляет длиннейшая циклическая последовательность,
образованная из трех символов х, у и г так, что никакая подпоследовательность
из четырех символов не повторяется? Приведите пример такой последователь-
последовательности.
Ориентированные графы 99
5.11. Найдите такую циклическую последовательность из семи «О» и семи «1»,
что все 4-разрядные двоичные последовательности, кроме 0000 и 1111, являются
ее подпоследовательностями.
5.12. Докажите, что гамильтонов контур GSi „ соответствует ориентированной эйле-
эйлеровой цепи GSt „_i. Всегда ли (]Si n имеет гамильтонов контур?
5.13. Покажите, что число ориентированных эйлеровых цепей в ориентированном
графе, имеющем я вершин и т > 2я дуг, четно.
5.14. Покажите, что ориентированный граф G= (V, Е) без параллельных дуг и
петель имеет ориентированный гамильтонов путь, если d+ (v)-\-d~ (и)>ге—1
для любой вершины f?V;
5.15. Покажите, что любой турнир сильно связен или его можно преобразовать
в сильно связный турнир сменой ориентации только одной дуги.
5.16. Подмножество S^V называтся независимым множеством графа G= (V, E),
если никакие две вершины S не смежны. Докажите, что ориентированный граф G
без петель имеет такое независимое подмножество S, что всякую вершину v графа
G, не входящую в подмножество S, можно достичь из вершины в подмножестве S
ориентированным путем длины не более 2 [5.17]. Этот результат имеет интересное
следствие: турнир обладает вершиной, из которой все остальные достигаются
ориентированным путем длиной не более 2.
5.17. Покажите, что очки s,- турнира на n-вершинах удовлетворяют условию
4*
6. Матрицы графов
В этой главе вводятся матрицы инциденций, циклов, разрезов
и смежности графа и устанавливаются некоторые свойства этих
матриц, которые помогут раскрыть структуру графа. Матрицы ин-
инциденций, циклов и разрезов используются при исследовании элек-
электрических цепей; эти матрицы входят в качестве коэффициентов
в уравнения Кирхгофа, описывающие цепь. Поэтому свойства этих
матриц и другие связанные с ними результаты, формулируемые в
настоящей главе, будут широко использоваться в ч. II книги. Изу-
Изучаемые нами свойства матрицы смежности служат основой подхода
сигнальных графов потоков, являющихся мощным инструментом
при исследовании линейных систем. Теория сигнальных графов по-
потоков развивается в разд. 6.11.
Мы рассматриваем главным образом матрицы, связанные с ори-
ориентированными графами. Однако наши рассуждения останутся
справедливыми и для неориентированных графов, если считать, что
операции сложения и умножения действуют в поле GF B) целых
чисел по mod 2.
6.1. Матрица инциденций
Рассмотрим граф G без петель на п вершинах и т ребрах. Мат-
Матрица инциденций Ас=[аи] графа G имеет п строк (по одной на каж-
каждую вершину) и т столбцов (по одному на каждую дугу). Элемент
йц матрицы Ас определяется следующим образом:
1, если i-я дуга инцидентна /-й
вершине и исходит из нее;
— 1, если i-я дуга инцидентна /-й
вершине и заходит в нее;
0, если i-я дуга не инцидентна /-й
вершине.
1, если /-е ребро инцидентно /-й
вершине;
О в противном случае.
Если граф G
ориентированный, atl --
Если граф G
неориентированный, aif —
Строки матрицы Ас называют векторами инциденций графа G.
На рис. 6.1, а и б представлены два графа со своими матрицами
инциденций.
Матрицы графов
101
е, е2 е3 е4 е5 е6 е7
110 0 0 0 0
-1 0-1 1 0 0 0
0-110110
0 0 в -1 -1 0 -1
0 0 0 0 0-11
ег
э, e.
1 1 0 0 p о О
10 110 0 0
0 110 110
0 0 0 1 1 о •••!
0 0 0 0 0 11
Рис. 6.1.
а — ориентированный граф G и его матрица инциденций; б—неориентированный граф G и
его матрица инциденций.
Из определения очевидно, что всякий столбец матрицы Ас со-
содержит точно два ненулевых элемента: -\-1 и —1. Поэтому любую
строку этой матрицы можно определить по остальным п—1 строкам.
Таким образом, произвольные п—1 строк матрицы Ас содержат
всю информацию об этой матрице. Другими словами, строки мат-
матрицы Ас линейно-зависимы.
Подматрицу А матрицы Ас на п—1 строке называют усеченной
матрицей инциденций. Если вершина соответствует строке матрицы
Ас, отсутствующей в подматрице А, то говорят, что А —матрица
инциденций, усеченная по строке,— соответствует данной вершине.
Заметим, что
rank (A) = rank (Aj < n — 1.
F.1)
Покажем, что в случае связных графов ранг матрицы Ас равен
п—1. Это утверждение основано на следующей теореме:
Теорема 6.1. Определитель любой усеченной матрицы инциденций дерева
равен ±1.
Доказательство: Доказательство проводим индукцией по числу п вершин
дерева.
102 Глава 6
Любая усеченная матрица инциденций дерева на двух вершинах является
матрицей размерности 1X1, единственный элемент которой равен ±1. Следова-
Следовательно, теорема верна для п=2. Заметим, что для п=\ она уже не выполняется.
Пусть теорема выполняется для 2<л<?. Рассмотрим дерево.Г на ?+1 вер-
вершине. Пусть А — усеченная матрица инциденций дерева Т. По теореме 2.5 оно
имеет по крайней мере 2 висячие вершины. Пусть г'-я вершина дерева Т является
висячей, а матрица А усечена не по строке, соответствующей этой вершине. Если
этой вершине инцидентна 1-я дуга, то
я,7=±1 и аи = 0 (/ ф1).
Разлагая определитель А по i-й строке, получаем
det (А) = ± (-1)<' + г det (A1), F.2)
где А' получается из А удалением i-й строки и 1-го столбца.
Пусть 7" — граф, получающийся после удаления из дерева Т i-й вершины
и /-й дуги. Очевидно, что 7" — дерево, поскольку t'-я вершина и 1-я дуга — ви-
висячие в дереве Т. Более того, нетрудно убедиться в том, что А' — усеченная
матрица инциденций дерева 7". Поскольку 7"—дерево на п—1 вершине, из
индуктивного предположения следует, что
det Л'=±1. F.3)
В совокупности с выражением F.2) это доказывает теорему для n=fe+l.
Поскольку связный граф имеет хотя бы один остов, из доказан-
доказанной теоремы следует, что в любой усеченной матрице инциденций А
связного графа есть невырожденная подматрица порядка п—1.
Таким образом, для связного графа
гапк(Л) = п— 1. F.4)
Так как rank (Лс)=гапк(Л), получаем следующую теорему:
Теорема 6.2. Ранг матрицы инциденций связного графа G на п вершинах
равен п—1, т. е. рангу графа.
Непосредственным следствием данной теоремы является следующее утверж-
утверждение:
Следствие 6.2.1. Если граф на п вершинах имеет р компонент, то ранг его
матрицы инциденций равен п—р, т. е. рангу графа G.
6.2. Матрица разрезов
Для определения матрицы разрезов ориентированного графа
необходимо каждому разрезу графа присвоить ориентацию.
Рассмотрим ориентированный граф G= (V, Е). Если Va — не-
непустое подмножество множества V, то напомним (глава 2), что мно-
множество дуг, соединяющих вершины Va и Va, является разрезом,
обозначаемым <Уа, Уа>- Ориентацию <Уа, Va> можно принять
как от вершины Va к вершине Va, так и наоборот. Допустим, мы
принимаем ориентацию от вершины Va к вершине Va. Тогда говорят,
что ориентация дуги из <Уа, Va> соответствует ориентации разреза
<^а> ^а>> если дуга ориентирована от вершины из Va в вершину из
К
Матрицы графов
103
Матрица разрезов Qc=[qtj] графа Gem ребрами имеет т столб-
столбцов и столько строк, сколько в этом графе имеется разрезов. Эле-
Элемент qtj определяется следующим образом:
1, если /-я дуга входит в i-ft раз-
разрез и ее ориентация соответ-
соответствует ориентации разреза;
— 1, если /-я дуга входит в i-й раз-
разрез и ее ориентация не соот-
соответствует ориентации разреза;
0, если /-я дуга не входит в t-й
разрез.
1, если j-e ребро входит в t-й раз-
Если граф G
ориентированный, q{j ¦¦
Если граф G
неориентированный,
рез;
0 в противном случае.
Строки матрицы Qc называют векторами разрезов.
На рис. 6.2 представлены три разреза ориентированного гра-
графа из рис. 6.1, а. Штриховыми линиями в каждом случае показана
Разрез \
Разрез 2
Разрез 3
Рис. 6.2. Некоторые разрезы графа на рис. 6.1, а.
ориентация разреза. Соответствующая этим трем разрезам подмат-
подматрица Qc имеет вид
Разрез 1
Разрез 2
Разрез 3
1 О
1 1
0 -1
10 11
0 0 0-1
10 11
€7
о
1
о
104 Глава 6
Соответствующую подматрицу в случае неориентированного гра-
графа можно получить, заменив в этой матрице «—1» на «+1».
Рассмотрим произвольную вершину и. Ненулевые элементы со-
соответствующего вектора инциденций представляют инцидентные
вершине v дуги. Эти дуги образуют разрез <Zv, V—и>. Если при-
принять ориентацию этого разреза от и к V—и, то из определений мат-
матриц разрезов и инциденций следует, что строка матрицы Qc, соот-
соответствующая разрезу <и, V—и>, совпадает со строкой матрицы
Ас, соответствующей вершине и. Следовательно, Ас — подматрица
матрицы Qc.
Покажем, что ранги матриц Qc и Ас одинаковы. Для этого дока-
докажем следующую теорему:
Теорема 6.3. Всякую строку матрицы разрезов Qc можно выразить двумя
способами в виде линейной комбинации строк матрицы Ас. В обоих случаях
ненулевые коэффициенты в линейной комбинации равны +1 или —1.
Доказательство. Пусть <Va, Va> — i'-й разрез графа G на п вершинах и т
дугах, а <?; — соответствующий вектор разреза. Пусть Va= {vlt i>2, . . ., vr}, а
Va—{vr+i, vr + 2 vn}. Пусть, далее, а,-A<г<п) — вектор инциденций, соот-
соответствующий вершине с,-.
Не нарушая общности, допустим, что ориентация <Va, Va> от вершины V'а
к вершине Va. Для доказательства теоремы установим следующее равенство:
.+ar = — (ar+1+a,+2 + ...+а„). F.5)
Пусть vp и vq — вершины, инцидентные k-ц дуге, при этом она ориентиро-
ориентирована от vp к vq. Поэтому
я^й=1> aqk = —l, aJk = 0, ]фр, k. F.6)
Сейчас возможны четыре случая:
Случай 1. vp?Va, а vq?Va, т. е. р<г, а <?>г+1, поэтому <7,-ft=l.
Случай 2. Ур? V а, а vq?Va, т. е. р>г+1, а ^<г, поэтому ?/fe=—1.
Случай 3. vp, v^^Va, т. е. р, q<r, поэтому </ife=0.
Случай 4. vp, vq?Va, т. е. р, </>г+1, поэтому ^(fe=0.
Используя выражение F.6), легко показать, что в каждом из этих четырех слу-
случаев выполняется следующее равенство:
+ar+2, k+---+ank)- F-7)
Поскольку это равенство выполняется для всех l<k^.m, справедливо и выра-
выражение F.5), что доказывает теорему.
Для иллюстрации теоремы рассмотрим разрез 1 на рис. 6.2. Он
разделяет вершины в Va={vu v3} и вершины в Va. Ориентация раз-
разреза от Va к Va. Поэтому соответствующий вектор разреза можно
выразить следующим образом: [10 10 110] = ах+а3=—а2—а4—
—аъ, где аи а2, ... , аъ — строки матрицы А (рис. 6.1, а).
Важным следствием из теоремы 6.3 является то, что rank (Qc)^
shrank (Лс). Однако, поскольку Ас — подматрица матрицы Qc,
то гапк((?с)>гапк(Лс). Поэтому мы получаем, что rank ((?,.) =
=гапк(Лс).
Матрицы графов
105
Теперь из теоремы 6.2 и следствия 6.2.1 вытекает следующая тео-
теорема:
Теорема 6.4. Ранг матрицы разрезов Qc связного графа G на п вершинах
равен п—1, т. е. рангу G.
Следствие 6.4.1. Ранг матрицы разрезов Qc графа G на п вершинах, имеющего
р компонент, равен п—р, т. е. рангу этого графа.
Из этих выводов следует, что матрица инциденций Ас является
важной подматрицей матрицы разрезов Qc. Определим сейчас
другую важную подматрицу матрицы Qc.
Нам известно, что остов Т связного графа G на п вершинах
определяет множество из п—1 базисного разрезающего множест-
множества — по одному базисному разрезающему на ветвь дерева Т. Под-
Подматрица Qc, соответствующая этому п—1-базисному разрезающему
множеству, называется базисной матрицей разрезающих множеств
Qf графа G по отношению к дереву Т. Пусть Ьи Ь2, . . . , Ьп-г —
ветви дерева Т. Переставим столбцы и строки так, что
1) i-й столбец соответствует ветви bt для l^t^n—1;
2) i-я строка соответствует базисному разрезающему множеству,
определяемому й;. Если теперь ориентацию базисного разре-
разрезающего множества выбрать таким образом, чтобы ей соот-
соответствовала ориентация определяющей ветви, тогда матрицу
Qj можно представить в следующей удобной форме:
F-8)
где U — единичная матрица порядка п—1, а столбцы ее соответству-
соответствуют ветвям дерева Т.
Например, базисная матрица разрезающих множеств Q/связного
графа на рис. 6.1, а по отношению к остову Т={еи е2, еи е7} имеет
вид
е, е-, ел е7 е,
-I
10 0 0
0 10 0
0 0 10
Lo о о 1
7 еЗ
1
-1
о
о
-1
1
1 1
1 U
F.9)
Из F.8) следует, что ранг матрицы Qf равен п—1, т. е. рангу мат-
матрицы Qe. Таким образом, всякий вектор разреза можно выразить
в виде линейной комбинации базисных векторов разрезающих
множеств.
6.3. Цикломатическая матрица
Цикл можно обойти в одном из двух направлений: по часовой или
против часовой стрелки. Направление, выбираемое для обхода цик-
цикла, определяет его ориентацию. Ориентацию цикла можно указать
стрелкой, как на рис. 6.3.
106
Глава 6
Рассмотрим дугу е с концевыми вершинами vi и vj. Пусть дуга е
ориентирована от vt к Vj и входит в цикл С. Будем говорить, что
ориентация дуги е соответствует ориентации цикла, если вершина
ih е? v vt встречается при обходе цикла С в
' ' " направлении, указанном его ориен-
ориентацией, раньше вершины vj. Напри-
Например, ориентация дуги ех в цикле на
рис. 6.3 соответствует ориентации
цикла, а ориентация дуги е4 — нет.
Цикломатическая матрица1!
Вс—{Ьц\ графа Gem ребрами
имеет т столбцов и столько строк,
сколько циклов имеется в графе G.
Элемент Ьц определяется следующим
образом:
1, если /-я дуга входит вi-й цикл
и ее ориентация соответствует
ориентации цикла;
— 1, если /-я дуга входит в 1-й цикл
и ее ориентация не соответст-
соответствует ориентации цикла;
0, если j-я дуга не входит в 1-й
цикл.
1, если /-е ребро входит в г-й
цикл;
О в противном случае.
Если граф G
ориентированный,
Если граф G и —
неориентированный, Ч=
Строки матрицы Вс называются циклическими векторами гра-
графа G.
В качестве примера снова рассмотрим граф на рис. 6.1, а. На
рис. 6.4 представлены три цикла этого графа и их ориентация.
Подматрица Вс, соответствующая этим циклам, имеет вид
Цикл 1
Цикп2
ЦиклЗ
1 -1
-1 1
1 -1
0
1
0
[
0
1
-1
0
0
0
0
-1
0
0
-1
Соответствующая подматрица для неориентированного графа
рис. 6.1, б получается заменой в этой матрице «—1» на «+!>>.
11 Другое название — матрица циклов, для удобства мы применяем оба тер-
термина.— Прим. ред.
Матрицы графов
107
Сейчас определим подматрицу Вс, играющую важную роль.
Рассмотрим произвольный остов Т связного графа G, имеющего
п вершин и m ребер. Пусть сь сг, . . . , cm_n+l — хорды Т. Как
известно, эти т—п+\ -хорды определяют множество из т.—п+1-
базисных циклов. Подматрица Вс, соответствующая этим базисным
ЦиклЗ
Рис. 6.4. Некоторые циклы графа на рис. 6.1, а.
циклам, называется базисной цикломатической матрицей Bf графа
G по отношению к остову Т.
Переставим столбцы и строки В{ так, что
1) i-й столбец соответствует хорде cit l^i^m—л+1;
2) г-я строка соответствует базисному циклу, определяемому хор-
хордой сь.
Выбирая ориентацию базисного цикла таким образом, чтобы ей
соответствовала ориентация определяющей хорды, получим сле-
следующее представление матрицы Bf:
ft], F.10)
где U — единичная матрица размерности т—п+1, столбцы которой
соответствуют хордам остова Т.
Например, базисная цикломатическая матрица графа на рис.6.1,а
по отношению к остову Т—{еи е2, е6, е7} имеет вид
1
0
0
0
1
0
0
0
1
-1
1
0
1
-1
0
0
-1
-1
0
-1
-1
F.11)
108Глава 6
Из F.10) следует, что ранг матрицы Bf равен т—п-f-l. Поскольку
матрица Вs — подматрица Вс, получаем
. F.12)
В следующем разделе мы покажем, что ранг подматрицы Вс
в случае связного графа равен т—я+1.
Сейчас отметим, что используемый в предыдущем разделе подход
к определению ранга матрицы Qc не годится для случая подматрицы
Вс. (Почему?) Означает ли это, что отмеченная нами «двойственность»
(гл. 4) между циклами и разрезающими множествами просто слу-
случайна? Нет, мы увидим, что аргументы, изложенные в следующем
разделе, еще более подтвердят эту «двойственность».
6.4. Соотношение ортогональности
В разд. 4.6 мы показали, что в случае неориентированного
графа всякий циклический вектор ортогонален всякому вектору
разреза. Теперь мы докажем, что этот результат справедлив также
и для случая ориентированных графов. Наше доказательство осно-
основано на следующей теореме:
Теорема 6.5. Если разрез и цикл ориентированного графа имеют 2k общих
дуг, то k из этих дуг имеют одинаковую относительную ориентацию в разрезе и
цикле, а оставшиеся k дуг имеют противоположные ориентации в разрезе и цикле.
Рис. 6.5.
Доказательство: Рассмотрим разрез <Уа, Va> и цикл С ориентированного
графа. Предположим, что мы обходим С, начиная с вершины, находящейся в Va.
Тогда для всякой дуги ех, которая приводит нас из Va в Va, существует дуга е2,
которая приводит нас из Va в Va. Заметим, что если в^г) имеет одинаковую
относительную ориентацию в разрезе и в цикле, то е2 (е^ имеет в разрезе и цикле
противоположные ориентации (рис. 6.5).
Докажем сейчас основной результат этого раздела.
Теорема 6.6. (Соотношение ортогональности.) Если столбцы цикломатиче-
ской матрицы Вс и матрицы разрезов Qc расположить в одном порядке, то BcQc=0.
Доказательство. Рассмотрим цикл и разрез, имеющие 2k общих дуг. Произ-
Произведение соответствующих циклического вектора и вектора разреза равно нулю,
поскольку по теореме 6.5 оно равно сумме k «1» и k «—1». Поскольку каждый
элемент матрицы BCQC равен произведению циклического вектора на вектор
разреза, то теорема доказана.
Соотношение ортогональности — это очень глубокий результат,
имеющий интересные применения в теориях графов и (как будет по-
Матрицы графов 109
казано в ч. II книги) электрических цепей. Сейчас мы используем
это соотношение для определения ранга цикломатической матрицы
о
С Рассмотрим связный граф G на п вершинах и т дугах. Пусть
д и Qf — базисные цикломатическая матрица и матрица разрезаю-
разрезающих множеств по отношению к остову Т. Если столбцы матрицы В,
и Q, расположены в одинаковом порядке, мы можем представить
их в виде Bf=[Bft U], Q/=W Q/c]. Согласно соотношению
ортогональности, В,Щ=0, т. е.
=0 или B,t=-Q',c. F.13)
Пусть Р=[р,, р2, • . . , PpiPp+i, • • • , PnJ. где р — ранг графа
G — является циклическим вектором, элементы которого располо-
расположены в том же порядке, что и столбцы матриц Bf и Q/. Тогда,
согласно соотношению ортогональности,
ПОЭТОМУ IP,, р2 Рр] = —[Рр+1, РР + 2, ¦ • м Pm]Q|e = [Pp+i,
Рр+2. • • м РтШ/j. Используя это равенство, можно записать век-
вектор [pi, р2, • • ., Pml в следующем виде:
f
= [Pp+i,-Pp+S. •.., РЯ]В,. F.14)
Таким образом, любой циклический вектор можно выразить в виде
линейной комбинации базисных циклических векторов. Поэтому
rank(Bc) ^ гапк(В/)=т — п+1. Объединяя это неравенство с
выражением F.12), получаем следующую теорему и следствие из
нее:
Теорема 6.7. Ранг цикломатической матрицы Вс связного графа G, имеющего
п. вершин и т дуг, равен т—п-\-\, т. е. цикломатическому числу графа G.
Следствие 6.7.1. Ранг цикломатической матрицы Вс графа G на п вершинах
и т дугах с р компонентами равен т—я+р, т. е. цикломатическому числу графа G.
Пусть а=[ах, а2, . . ., ар, ар+1, . . ., ат] — вектор разреза,
элементы которого расположены в том же порядке, что и столбцы
матриц В} и Qf, тогда можно, исходя из соотношения аВ|=0,
доказать, что
а = [а„ а2, .... ap]Qf F.15)
с помощью процедуры, аналогичной той, что использовалась для
установления соотношения F.14). Следовательно, всякий вектор
разреза можно выразить в виде линейной комбинации базисных век-
векторов разрезающих множеств. Так как rank(Q,)=/i—1, то rank
110 Глава 6
(Qc)=rank(Q/)=n—1. Это является альтернативным доказательст-
доказательством теоремы 6.4.
Заметим, что кольцевая сумма двух подграфов соответствует
сумме по mod 2 соответствующих векторов. Поэтому для случая
неориентированных графов равенства F.14) и F.15) просто повто-
повторяют утверждения, уже доказанные нами по ходу рассуждений, при-
приведших к теореме 6.4, а именно: цикл (разрез) можно выразить
в виде суммы по mod 2 базисных циклов (базисных разрезающих
множеств).
6.5. Подматрицы матриц разрезов,
инциденций и циклов
В этом разделе мы охарактеризуем те подматрицы матриц Qc,
Ас и Вс, которые соответствуют циклам, разрезам, остовам, коосто-
вам, и изучим свойства этих подматриц.
Теорема 6.8. 1. Между столбцами матрицы разрезов Qc, соответствующими
дугам цикла, существует линейная зависимость.
2. Между столбцами цикломатической матрицы Вс, соответствующими дугам
разрезающего множества, существует линейная зависимость.
Доказательство. 1. Пусть Q^=[QA), Qi2), . . ., Q(m)] — разбиение Qc на
столбцы; P=[Pi, P2> • • •> Pml — циклический вектор. Тогда, согласно соотно-
соотношению ортогональности, имеем Qcj5'=O или
PiQa> + paQ<I> + ..-+P»«t"l=o. F.16)
Допустим, не нарушая общности, что первые г элементов вектора Р — ненулевые,
остальные равны нулю, тогда из выражения F.16) получим p1Qll>-f-p2Q^>-j-. . .
• ¦ .+М21г)=0- Таким образом, между столбцами Q*1', QB>, . . ., Q<r', соответст-
соответствующими дугам цикла, существует линейная зависимость 2. Доказательство в
этом случае проводится по такой же схеме, как и в п. 1.
Следствие 6.8.1. Между столбцами матрицы инциденций, соответствующими
дугам цикла, существует линейная зависимость.
Доказательство. Это утверждение следует из п. 1 теоремы 6.8, поскольку
матрица инциденций является подматрицей матрицы Qc.
Теорема 6.9. Квадратная подматрица порядка п—1 любой усеченной мат-
матрицы инциденций А связного графа G на п вершинах является невырожденной
тогда и только тогда, когда дуги, соответствующие столбцам подматрицы, обра-
образуют остов графа G.
Доказательство. Необходимость. Рассмотрим п—1 столбцов невырожденной
подматрицы А. Поскольку эти столбцы линейно-независимы, то, согласно след-
следствию 6.8.1, цикл в соответствующем подграфе графа G не присутствует. А по-
поскольку ациклический подграф содержит п—1 дуг, то нз теоремы 2.2 следует,
что он является остовом графа G.
Достаточность следует из теоремы 6.1.
Таким образом, между остовами связного графа и невырожденными подмат-
подматрицами матрицы А имеется взаимно-однозначное соответствие. Этот результат
является фактически основой для получения формулы, определяющей число ос-
остовов графа, которая обсуждается в разд. 6.7.
Теорема 6.10. Рассмотрим связный граф G на п вершинах и т дугах. Пусть
Q — подматрица матрицы Qc с п—1 строкой и рангом п—1. Квадратная под-
подматрица Q порядка п—1 является невырожденной тогда и только тогда, когда
соответствующие столбцам подматрицы дуги образуют остов графа G.
Матрицы графов
111
Доказательство. Необходимость. Пусть столбцы матрицы Q расположены
таким образом, что Q=[QuQi2]. гДе Qii — невырожденная подматрица. Поскольку
столбцы подматрицы Qu линейно-независимы, то, согласно п. 7 теоремы 6.8, в
соответствующем подграфе графа G не имеется цикла. Этот подграф без циклов
имеет п—1 дугу и, следовательно, по теореме 2.2 является остовом.
Достаточность. Пусть столбцы Q расположены так, что Q=[QiiQ]2], где
столбцы подматрицы Q^ соответствуют дугам остова Т. Базисная матрица разре-
разрезающих множеств Qf по отношению к Т имеет вид Qf=[UQfC]. Так как матрицу Q
можно выразить в виде линейной комбинации строк матрицы Qf, то представим
матрицу Q в виде Q=[Q1iQi2]=DQf=D[UQfc]. Следовательно, QU=DU=D.
Q — невырожденная матрица, поскольку матрицы Q и Qf имеют максимальный
ранг п—1. Поэтому и Qu — невырожденная подматрица, т. е. достаточность
доказана.
Рассмотрим теперь двойственную теорему.
Теорема 6.11. Рассмотрим связный граф G на п вершинах и m дугах. Пусть
В — подматрица цикломатической матрицы Вс графа G с m—п-\-\ строкой и ран-
рангом m—rt+1. Квадратная подматрица В порядка гп—л+1 является невырож-
невырожденной тогда и только тогда, когда ее столбцы соответствуют дугам коостова.
Доказательство. Необходимость. Пусть столбцы матрицы В расположены
так, что В=[ВпВ12], где Ви — невырожденная подматрица. Поскольку ее столбцы
линейно-независимы, то, согласно п. 2 теоремы 6.8, соответствующий подграф
не содержит разрезов графа G. Этот подграф имеет, кроме того, т—п+1 дугу.
Таким образом, он является максимальным (почему?) подграфом графа G, не
содержащим разрезов, и, следовательно, коостовом (упражнение 2.18).
Достаточность. Пусть столбцы матрицы В расположены таким образом,
что В=[ВцВ]2], при этом столбцы подматрицы Вц соответствуют дугам коостова
графа G. Базисная цикломатическая матрица В f по отношению к этому коостову
имеет вид Bj=\VBf{\. Поскольку строки матрицы В можно выразить в виде
линейной комбинации строк матрицы В*, представим матрицу В в виде В=
=[B11B12]=DB/=D[{/B/fl, поэтому Вц=Ои=О.
Но D — невырожденная матрица, так как матрицы В и В/ имеют макси-
максимальный ранг т—n-f-1. Следовательно, Вп— невырожденная подматрица.
Для иллюстрации теорем 6.10 и 6.11 рассмотрим граф G на
рис. 6.1, а, а также матрицы Qf и В} [выражения F.9) и F.11) соот-
соответственно]. Квадратными подматрицами 4-го порядка матрицы
Qf, соответствующей остову {ei, es, е6, е7}, и 3-го порядка матрицы
Bf, соответствующей коостову {ег, eit ee}, являются матрицы
1 О О
-1 1 -1
0 0-1
Легко видеть, что определители этих матриц не равны нулю, следо-
следовательно, матрицы — невырожденные.
Завершая раздел, рассмотрим интересное свойство обращения
невырожденной подматрицы усеченной матрицы инциденций.
Теорема 6.12. Пусть Ап — невырожденная подматрица порядка п—1 усе-
усеченной матрицы инциденций связного графа О на п вершинах. Тогда все нену-
ненулевые элементы ЛГ11 равны либо 1, либо —1.
Доказательство. Пусть А — матрица инциденций, усеченная по строке,
соответствующей вершине vr. Пусть A — lAnA^, где Ап— невырожденная под-
подматрица. По теореме 6.9 дуги, соответствующие столбцам подматрицы Ап, об-
1
0
0
0
1
-1
0
0
0
0
1
1
0
0
0
1
112 Глава 6
разуют остов Т графа G. Базисная матрица разрезающих множеств Qf по отно-
отношению к остову Т будет представляться в виде Q/=[CQ^C].
По теореме 6.3 всякий вектор разреза можно выразить в виде линейной ком-
комбинации строк матрицы инциденций. Поэтому множество Qf можно представить
в виде Q/=[{/Q/<:]=?>[j4ijy412]. Следовательно, D=Aii.
Рассмотрим теперь г-ю строку qt матрицы Qf. Пусть ей соответствует разрез
<Уа, Vay, при этом
Va= К. V2 vk), a Va= {vk+i, vk+2, , . ., vn}.
Допустим, что разрез <Va, Va> ориентирован от Va к Va. Тогда из выражения
F.5) следует, что
\-ak, F-17)
+ \-ап), F.18)
где а,- — 1-я строка матрицы инциденций Ас,
Заметим, что соответствующая vr строка аг отсутствует в матрице А. По-
Э'юму если vr? Va, то для представления qi линейной комбинацией строк матрицы
А мы должны записать </,• в виде F.18). Если vr?Va, то мы должны записать qi
в виде F.17). В обоих случаях все ненулевые коэффициенты равны 1 либо —1.
Таким образом, все ненулевые элементы в любой строке матрицы D=A\\
равны 1 или —1.
В доказательстве этой теоремы, по существу, предлагается сле-
следующая простая процедура нахождения Ап1:
1. Построить дерево Т, для которого Лп — матрица инциденций,
усеченная по строке, соответствующей vn.
2. Пометить дуги дерева Т(еи е2, . . ., en-i) таким образом, чтобы
t-му столбцу матрицы Лц соответствовала et. Аналогично поме-
пометить вершины дерева T(vlt у2, . . ., fn-i) так, чтобы t'-й строке
матрицы Ац соответствовала иг.
3. Пусть 1-й столбец матрицы Ап1 соответствует иг. Для каждого
гA=О'<я—1) удалим et из дерева Т, получая компоненты 7\
и Тг ставшего несвязным графа. Пусть Va — множество вершин
дерева 7\, Va — множество вершин дерева Г2, a et ориентирова-
ориентирована от вершины из множества Va к вершине из множества Va.
Если vn ? Va, то приравнять —1 все элементы г-й строки матрицы
Лп1, соответствующие вершинам множества Va, а остальные
элементы — нулю. Если vn € Va, то приравнять 1 все элементы
t-й строки, соответствующие вершинам множества Va, а осталь-
остальные элементы — нулю. Рассмотрим в качестве иллюстрации мат-
матрицу
0
1
-1
0
-1
1
0
0
0
1
0
0
0
0
1
-1 .
Матрицы графов
ИЗ
Дерево Т, для которого Аи является усеченной матрицей инци-
денций, представлено на рис. 6.6, а. Матрица усечена по строке,
соответствующей вершине i/6.
Для нахождения первой строки матрицы Лп1 удалим ех из дерева
Т, получая две компоненты 7\ и Тг, представленные на рис. 6.6, б.
Таким образом, Уа~{щ, v2, vb}, Va = {vs, v4}. Поскольку вершина,
us (соответствуетусекаемой строке).
Рис. 6.6.
а—дерево Т; 6 — поддеревья
г и 7Y
соответствующая усеченной строке, находится во множестве Va,
первая строка будет иметь значение —1 в элементах, соответствую-
соответствующих вершинам vg и у4, находящимся во множестве Va, т. е. будет
иметь вид [0 0—1 —1].
Аналогичным образом получаем остальные строки матрицы Л^'.
В результате получится следующая матрица:
0
1
1
0
0
0
1
0
-1
0
I
0
-1
0
1
-1
6.6. Унимодулярные матрицы
Матрица называется унимодулярной, если определитель любой ее
квадратной подматрицы равен 1, —1 или 0. В этом разделе мы пока-
покажем, что матрицы Лс, Qf и Bf унимодулярны.
114
Глава 6
Теорема 6.13. Матрица инциденций Ас ориентированного графа унимоду-
лярна.
Доказательство. Докажем теорему индукцией по порядку квадратной под-
подматрицы Ас.
Очевидно, что определитель любой квадратной подматрицы Ас 1-го порядка
равен 1, —1 или 0. В качестве индуктивного предположения примем, что опре-
определитель любой квадратной подматрицы порядка менее k равен 1, —1 или 0.
Рассмотрим произвольную невырожденную квадратную подматрицу Ас
порядка k. Каждый ее столбец содержит не более двух ненулевых элементов (+1
и —1). Поскольку подматрица невырожденная, то не во всяком столбце имеются
значения +1 и —1. По этой же причине подматрица не имеет столбцов, состоящих
только из нулевых элементов. Таким образом, существует столбец, содержащий
точно один ненулевой элемент. Разлагая определитель подматрицы по этому
столбцу и учитывая индуктивное предположение, получаем, что искомый оп-
определитель равен ±1.
Пусть Qf — базисная матрица разрезов связного графа G на
п вершинах по отношению к некоторому остову Т, ветвями которого
являются Ьх, Ь2, . . ., Ъп-х.
Пусть G' — граф, полученный из графа G отождествлением
или замыканием концевых вершин одной из ветвей, например ветви
Ьх. Тогда Т — {?>;} — остов G'. Удалим
теперь из матрицы Q строку, соответст-
соответствующую ветви Ьх и получившуюся
матрицу обозначим через Q'f. Нетрудно
показать, что Q'f — базисная матрица
разрезающих множеств G' по отношению
к остову Т— {Ьг}. Таким образом, мат-
матрица, получившаяся в результате уда-
удаления из матрицы Q произвольной стро-
строки, является базисной матрицей разре-
разрезающих множеств некоторого связного
графа. Обобщая этот результат, можно
сделать вывод, что всякая матрица,
образованная строками матрицы Q/} яв-
является базисной матрицей разрезающих
множеств некоторого связного гра-
графа.
Рассмотрим, например, граф G на рис. 6.1, а. Базисная матрица
разрезающих множеств представлена в F.9). Подматрица, состоящая
из двух строк матрицы Of, которые соответствуют ветвям ех и ев,
имеет вид
Рис. 6.7.
о
о
0 0 1-1
10 0 1
Легко проверить, что эта матрица — базисная матрица разре-
гающих множеств графа, представленного на рис. 6.7, по отноше-
Матрицы графов 115
нию к остову {еи е6}. Этот граф получен из графа на рис. 6.1, а
отождествлением концевых вершин ег и е7.
Теорема 6.14. Любая базисная матрица разрезающих множеств Qf связного
графа G унимодулярна.
Доказательство. Пусть Qf — базисная матрица разрезающих множеств
графа G по отношению к остову Т. Тогда Q/= [ ?/Q/J. Представим усеченную
матрицу инциденций А графа в виде Л=[Л11Л12], где столбцы Аи соответствуют
ветвям остова Т. Из теоремы 6.9 мы знаем, что Аи — невырожденная подматрица.
Запишем 1еперь матрицу Qf в виде Qf=lUQfC]=Аг^АцА^].
Если С — произвольная квадратная подматрица матрицы Qf порядка п—1,
где п — число вершин графа G, a D — соответствующая подматрица матрицы А,
тогда C=AilD. Поскольку detD=±l или 0, a det ATi=±l, получаем
detC=±l или 0. F.19)
Рассмотрим произвольную квадратную подматрицу Н матрицы Qf порядка
менее чем п—1. Из предшествующих теореме рассуждений следует, что Я — под-
подматрица базисной матрицы разрезающих множеств некоторого связного графа.
Поэтому det#=±l или 0, что доказывается так же, как и F.19).
Таким образом, определитель всякой квадратной подматрицы матрицы Q
равен ±1 или 0 и, следовательно, матрица Qf — унимодулярна.
Покажем сейчас, что матрица Bf также унимодулярна.
Теорема 6.15. Любая базисная цикломатическая матрица Bf связного графа
G унимодулярна.
Доказательство. Пусть Bf и Qf — базисные цикломатическая матрица и
матрица разрезающих множеств графа G по отношению к остову Т. Если Q/>=*
=WQfC], то из F.13) следует Bf=[—QJcU]. Так как матрица QfC унимодулярна,
то унимодулярна также и матрица Qjc. Элементарным упражнением теперь ос-
остается показать, что и матрица [—QfCU] унимодулярна.
6.7. Число остовов
В этом разделе мы выведем формулу для определения числа осто-
остовов связного графа. Эта формула основана на теореме 6.9 утвержде-
утверждением теории матриц, известно под названием «теорема Бине —
Коши».
Главным определителем матрицы называется определитель мак-
максимального порядка. Пусть Р — матрица порядка pxq, a Q — мат-
матрица порядка qXp(p ^ д). Главные определители матриц Р и Q
имеют порядок р. Если главный определитель матрицы Р состоит из
столбцов /ь ia, • • •, h матрицы Р, то соответствующий главный
определитель матрицы Q — из строк матрицы гь i2, ¦ ¦ . , ip
матрицы Q. Например, если
Р =
то для главного определителя
— 1 3
2 —1
116
Глава 6
матрицы Р определитель
2 —1
—3 1
является соответствующим главным определителем матрицы Q.
Теорема 6.16 (Бине—Коши). Если Р — матрица порядка pXq, a Q — мат
рица порядка qXp (p<q), то det(PQ)=2. (Произведение соответствующих глав-
главных определителей Р и Q).
Доказательство этой теоремы можно найти в работе [6.1].
Если в качестве иллюстрации к теореме Бине—Коши, как и ранее, взять
матрицы Р и Q, то получим
det(PQ)-
1 -1
2 2
-1 3
2 -1
2 -1
2
-3
1 3
2 -1
1 2
-3 1
1 3
2 2
-1
1
-1 3112 -1
2 2lll 2
1 2
3 3
-1 2
-3 1
1 2
=-167.
Теорема в. 17. Пусть G— связный неориентированный граф, А — усеченная
матрица инциденций ориентированного графа, полученного присвоением ребрам
графа G произвольной ориентации. Тогда x(G)=det (ААг), где x(G) — число ос-
остовов графа G.
Доказательство. По теореме Бине—Коши
/Произведение соответствующих^
\ главных определителей А и А1)'
F.20)
Заметим, что соответствующие главные определители А и А* имеют одинаковое
значение, равное 1, —1 или 0 (теорема 6.13). Поэтому каждое ненулевое слага-
слагаемое в правой части суммы F.20) имеет значение 1. Кроме того, главный опреде-
определитель А не равен нулю тогда и только тогда, когда дуги, соответствующие его
столбцам, образуют остов.
Таким образом, между ненулевыми элементами правой части суммы F.20)
и остовами графа G существует взаимно-однозначное соответствие, что доказывает
теорему.
Рассмотрим в качестве примера граф G, представленный на
рис. 6.8, а. Ориентированный граф, полученный в результате при-
присвоения произвольной ориентации ребрам графа G, представлен на
рис. 6.8, б. Его матрица инциденций, усеченная по строке, которая
соответствует вершине и4 имеет вид
А=
О
-1
О
-3 е4
О 1
1 -1
0 -]
Следовательно,
2 —1
—1
0
3 —1
и det
Матрицы графов
117
Граф G имеет восемь остовных деревьев: {еи е4, еъ), {еи е3, е4},
{еи е», еъ), {еи е2, е3}, {еи е2, еъ), {е3, <?4, е6}, {е2, es, е4}, {е2, eit еь).
Пусть v-i, v2, . . . , vn — вершины неориентированного графа
G без петель. Матрицей степеней K=[kij] графа G называется мат-
рица порядка пхп, элементы которой определяются следующим
образом:
— р, если 1ф\ и вершины v{ и Vj
связывают р параллельных ребер;
d(vi), если i = j.
Легко видеть, что К=АСА'С и не зависит от выбора ориентации
ребер для получения матрицы инциденций Ас. Если А — матрица
инциденций, усеченная по строке, соответствующей вершине vT< то
матрица АА1 получается удалением из матрицы К r-го столбца и г-й
строки. Таким образом, используемую в теореме 6.17 матрицу А А*
можно найти просто в результате рассмотрения графа G.
Из определения матрицы степеней К ясно, что сумма всех эле-
элементов в ее любой строке равна нулю. Аналогично равна нулю
сумма всех элементов в ее любом столбце. Квадратная матрица, об-
обладающая такими свойствами, называется матрицей с равными ал-
алгебраическими дополнениями [6.2]. Таким образом, из теоремы 6.17
мы получаем следующий результат, принадлежащий Кирхгофу
[6.3]:
Теорема 6.18. Все алгебраические дополнения матрицы степеней связного
неориентированного графа имеют одинаковое значение, равное числу остовов
графа G.
Теперь получим формулу определения числа различных деревьев, которые
можно построить на п помеченных вершинах. Очевидно, это число равно числу
остовных деревьев полного графа Кп на п помеченных вершинах.
Теорема 6.19 (Кэли). Существует пп~2 помеченных деревьев на tC^2 вер-
вершинах.
Доказательство. Матрица А А1 в случае полного графа Кп имеет вид
118
Глава 6
п-\ -1
-1 /7-1
-1 -1
-1
_ J
и-1
По теореме 6.17 определитель этой матрицы дает число остовов графа Кп, явля-
являющееся числом помеченных деревьев на п вершинах.
Для вычисления det(<4/l') вычтем первый столбец матрицы АА1 из всех
других столбцов той же матрицы. Тогда мы получим
п-\
п
п
0
— п
0 ..
п
~п
0
0
Теперь прибавим первую строку получившейся матрицы к каждой оставшейся
строке и получим
1 0 0 ... О
-1 п 0 ... О
-1 0 п ... О
-10 0
Определитель этой матрицы равен «п~2. Это доказывает теорему, поскольку
сложение строк и столбцов не меняет значения определителя.
Известно несколько доказательств теоремы Кэли [6.4—6.6].
6.8 Число остовыых 2-деревьев
В этом разделе мы связываем алгебраические дополнения матри-
матрицы А А1 графа G с числом остовных 2-деревьев соответствующего
типа. Для этой цели нам необходимы обозначения 2-деревьев,
идентифицирующие вершины, которые находятся в разных компо-
компонентах. Будем обозначать через TiJk _? rst... остовные 2-деревья,
в которых вершины vu vJt vk должны быть в одной компоненте, а
вершины vT, vs, vt — в другой. Число таких остовных 2-деревьев
G б Н б
р s t ру
графа G будем обозначать через x
б ф 68
{jk
„,..,.
р
Например, ребра
2 Т
р {jk ..t „, рр рр
и ей образуют в графе на рис. 6.8, а остовное 2-деревотипа Т14,23,
а т,4,23=1.
Далее через А будем обозначать усеченную матрицу инциденций
ориентированного графа, полученного присвоением произвольной
Матрицы, графов 119
ориентации ребрам графа G, называя ее тем не менее усеченной мат-
матрицей инциденций G. Не нарушая общности, мы допускаем, что
vn соответствует усекаемой строке А, а г-я строка той же матрицы—
вершине vt. Символ Аг^ будет обозначать алгебраическое дополнение
элемента (i, /) матрицы ААК
Пусть А_/ — матрица, полученная удалением t-й строки из пер-
первоначальной матрицы А. Если G' —¦ граф, полученный замыканием
вершин vt и vn графа G, то, как легко убедиться, справедливы сле-
следующие утверждения:
1) A_i — матрица инциденций графа G', усеченная по строке,
соответствующей вершине vn.
2) Множество ребер порождает остов графа G' тогда и только тогда,
когда эти ребра образуют остовное 2-дерево ТЬп в графе G.
Таким образом, между ненулевыми главными определителями
Л_г и остовными 2-деревьями типа Tt,n существует взаимно-одно-
взаимно-однозначное соответствие.
Теорема 6.20. Для связного графа G Д17=т,-1 „.
Доказательство.
Очевидно, что A;,-=det (А _,-Л _;). Это доказывает теорему, поскольку нену-
ненулевые главные определители Л_,- соответствуют остовным 2-деревьям Г,-, „ в
графе G и наоборот.
Рассмотрим алгебраическое дополнение элемента (i, j) матрицы
АА1, имеющее вид
А,7 = (— \)i+fd&i(A_iALj). F.21)
По теореме Бине-Коши
*-, /Произведение соответствующих \
det (Л ,-Л'/) = Е > л At )¦ F-22)
\ ' " ^—^ ^главных определителей A_t и ALjJ
Всякий главный определитель Л_ь отличный от нуля, соответст-
соответствует остовному 2-дереву типа Titn, а всякий ненулевой главный опре-
определитель Л^ — остовному 2-дереву типа Т1>п. Поэтому ненулевые
элементы суммы, стоящей в правой части выражения F.22), соответ-
соответствуют остовным 2-деревьям типа Ти,п. Любое из этих ненулевых
слагаемых равно определителю типа det (F-iFij), где F — усечен-
усеченная матрица инциденций 2-дерева типа Tij<n.
Теорема 6.21. Пусть F — матрица инциденций 2-дерева 71,-/, п> усеченная по
строке, которая соответствует вершине vn. Если i-я ее строка соответствует вер-
вершине у,-, то det (F-tF-j)= (—1)'¦+А
Доказательство. Пусть ТгТ2 — компоненты 2-дерева Г,у, „. Допустим, что
вершина vn входит в Г,. Переставляя некоторые строки и соответствующие столб-
столбцы, можно записать матрицу FF* в виде
5 =
120 Глава 6
где I) С — матрица степеней компоненты Гх; 2) D получается из матрицы сте-
степеней компоненты Г2 удалением строки и столбца, соответствующих вершине vn.
Пусть строка k' матрицы S соответствует вершине и&.
Перестановка некоторых строк и соответствующих столбцов матрицы не
меняет значений ее алгебраических дополнений. Поэтому
(?', /') = Алгебраическое дополнение элемента (?'. /') матрицы
S = Алгебраическое дополнение элемента (i, j)
матрицы FFl = (—1)'+/ det (F-tF-j). (o.to)
По теореме 6.18 все алгебраические дополнения матрицы С имеют одинаковое
значение, равное числу остовов компоненты Т±. Поэтому алгебраическое допол-
дополнение элемента (Г, /") матрицы С= 1. Более того, det D= I. Поэтому
Алгебраическое дополнение элемента ((", /') матрицы 5 =
= [Алгебраическое дополнение элемента (Г, /') матрицы C]x[det?>] = 1. F.24)
Теперь из выражений F.23), F.24) получаем det (/7_J-/7-/= {—1)'+/.
Доказательство этой теоремы приведено в работе [6.7]. Следующий результат
получен Майедой:
Теорема 6.22. Для связного графа G справедливо равенство Д,-/-=т,у? „.
Доказательство. Поскольку каждый ненулевой член суммы в правой части
выражения F.22) равен определителю типа описанного в теореме 6.21, получаем
det (Л_,-Л?-/)= (—1)'+/тгу> „. Следовательно, Д,-/= (—l)'+^det (А _,-Л1/)=т,-у „.
Для иллюстрации теорем 6.20 и 6.22 снова рассмотрим граф на
рис. 6.8, а. Если А — матрица инциденций, усеченная по строке,
соответствующей вершине vit то
Г1 0 0 1 01 Г1 0 0 1 01
л-*=[о 0—10 —lj и л-з = [о —1 1 —1 о]1
Поэтому
Остовные 2-деревья типа 72L образованы следующими множест-
множествами ребер: {е4, еъ}, {ea, e4}, {et, e3}, {ех, еь), а остовные деревья
типа Газ,4 — множествами {et, es), {e3, e4}.
6.9 Число ориентированных остовов
в ориентированном графе
В этом разделе мы обсуждаем предложенный в работе Татта [6.8]
метод определения числа ориентированных остовных деревьев, имею-
имеющих определенную вершину в качестве корневой. Этот метод явля-
является, по существу, обобщением метода нахождения остовов данного
ориентированного графа, предложенного в теореме 6.17, и описы-
описывается исходя из определяемой ниже матрицы полустепеней захода.
Матрицы графов 121
Матрица полустепеней захода K=[kpq] ориентированного графа
G — (V, Е) без петель с V={vu v2, ... , vn) — это матрица поряд-
порядка пХп, определяемая следующим образом:
( — w, если р Ф q и существует w парал-
kpq*= \ лельных дуг, идущих из vp в vq;
[ d-(vp)t если p = q.
Обозначим через Кц матрицу, полученную удалением строки i
и столбца / из первоначальной матрицы К. Метод Татта основан
на следующей теореме:
Теорема 6.23. Ориентированный rpacf>G= (V, Е) без петель с V= {иъ v2, ..., vn)
является ориентированным деревом с корневой вершиной vr тогда и только
тогда, когда его матрица полустепеней захода обладает следующими свойствами:
п и _@, еслир=г, оч d»t /д- n_i
1) крр-\\% если рфг, г> °et(Arr)-i.
Доказательство.
Необходимость. Пусть данный ориентированный граф G является деревом
с корневой вершиной vr. Поскольку граф G — ациклический, то, как показано
в разд. 5.7, можно пометить вершины графа G числами 1, 2, . , ., п таким образом,
что ((', /) является дугой графа G, только если i</. Кроме того, корневая вершина
при такой нумерации должна получить номер 1. Если в новой матрице полусте-
полустепеней захода К' графа G г-е строка и столбец соответствуют вершине с номером t,
тогда легко видеть, что матрица К1 обладает следующими свойствами: йц=0;
kpP=l при рф\\ kpq=0, если p~>q.
Поэтому det(/Cii)=l.
Матрицу К' можно получить перестановкой некоторых строк и соответст-
соответствующих столбцов первоначальной матрицы К. Такая перестановка не меняет
значения определителя любой подматрицы матрицы К. Следовательно, det (Krr)=
= det(Ki'i)=l.
Достаточность. Пусть матрица полустепеней захода К графа G удовлетво-
удовлетворяет обоим условиям теоремы. Если граф G не является ориентированным дере-
деревом, то по условию 1 и п. 5 теоремы 5.4 он содержит цикл С. Корневая вершина
vr не может входить в цикл С, поскольку это означало бы d~ (ог)>0 или d~ (f)>l
для некоторой другой вершины v?C, что противоречит условию 1. Аналогичным
образом можно показать, что 1) цикл С должен быть контуром; 2) никакая дуга,
не принадлежащая циклу С, не инцидентна никакой вершине того же цикла.
Рассмотрим теперь подматрицу Ks матрицы К, состоящей из столбцов, ко-
которые соответствуют вершинам цикла С. Вследствие выполнения указанных
свойств каждая строка матрицы Ks< соответствующая вершине цикла С, имеет
точно одну ±1. Все другие строки — нулевые. Таким образом, сумма столбцов
матрицы Ks равна нулю. Другими словами, сумма соответствующих вершинам
цикла С столбцов матрицы К равна нулю. Поскольку вершина vr не входит в
цикл С, это справедливо также и для матрицы Кгг, что противоречит условию 2.
Это доказывает достаточность.
Применим метод Татта для нахождения числа xd ориентирован-
ориентированных остовов ориентированного графа G с корневой вершиной vr.
Допустим, что граф G не имеет петель.
Через К (g) для любого графам будем обозначать его матрицу по-
полустепеней захода, а через К'—матрицу, полученную из матрицы К
122
Глава 6
заменой r-го столбца на нулевой столбец. Набор подграфов G, в каж-
каждом из которых d~ (vr) = 0 и d~ (vp) — \ при р Ф г, будем обозначать
п
через 5. Очевидно, что |5|= J\d~ (vp). Кроме того, матрица полусте-
полустерт
пеней захода любого подграфа^€ 5 удовлетворяет условию 1 теоре-
теоремы 6.23.
Хорошо известно, что определитель квадратной матрицы являет-
является линейной функцией ее столбцов. Например, если Р=[ри р2, ¦ ¦ ¦ ,
. . . , p'i+p"c ... , рп\ — квадратная матрица со столбцами ри
Рг, ¦ ¦ ¦ , Pi+Pt, • • • . Рп, то det P=det [pv p2, . . . , р\, . . . ,
. . . , pn]+det[pit pj, . . . , p"t, .. . , pn).
Используя линейность функции определителя и свойство равен-
равенства нулю суммы элементов любого столбца матрицы К' (G), запи-
запишем det К' (G) в виде суммы |5| определителей, каждый из которых
удовлетворяет условию 1 теоремы 6.23. Легко видеть, что между
этими определителями и матрицами полустепеней захода подграфов
из набора 5 существует взаимно-однозначное соответствие. Таким
образом, det К' (G) = 2 det Я' fe)¦ Поэтому det K'rr (G) = 2 det Kr (g)¦
ess ges
Однако поскольку det K'rr(G) — det Krr(G), a det K',r(g) =
=det Krr is) Для всех S € S, то det Krr(G)= У, det Krr (g). Из теоремы
«Is
6.23 следует, что каждый определитель в правой части суммы —
ненулевой и равен 1 тогда и только тогда, когда соответствующий
подграф из набора 5 является ориентированным деревом. Таким
образом, мы доказали следующую теорему:
Теорема 6.24. Пусть К — матрица полустепеней захода ориентированного
графа G без петель. Пусть г'-я строка этой матрицы соответствует вершине у,-
графа G. Тогда число та ориентированных остовов графа G, вершина vr которого
является корневой, определяется следующим
образом: Td=det/Crr, где Кгг — матрица, полу-
ченная нз первоначальной матрицы К удале-
удалением л-х строки и столбца.
Проиллюстрируем эту теорему, а
также рассуждения, которые приводят
к ее доказательству.
Рассмотрим ориентированный граф G,
приведенный на рис. 6.9. Определим чис-
число ориентированных остовов с корневой
вершиной Vi.
Матрица полустепеней захода К графа G имеет вид
1
1
0
-1
2
-1
-2'
-1
3
и к' =
0-1 -2
О 2 -!
0-1 3
Матрицы графов
123
Запишем det К' в виде
det Л' =
0-1 -2
о 2-1
0-1 3
О -1 -1
О 1 О
О 0 1
4-
0
о
о -
о -
0
о
о
0
0
0
+
0
0
0
_ 1
1
0
-1
1
0
0
1
1
-2
- !
3
— 1
0
1
+
+
-1
0
1
0
0
0
0
0
0
+
0
0
0
0
1
1
-1
1
0
0
1
1
-2
3
0
-1
1
—
0
1
1
Шесть определителей в правой части этого равенства соответствуют
подграфам, порожденным следующими множествами дуг: {еи еъ),
К, еа}, {еи е3}, {еи е5}, {eit е«}, {et, e3}. Удаляя из этих опреде-
определителей первые строки и столбцы, получим
-
1
2 -1
1 3
1 0
-1 1
+
1 0
0 1
1
-I
+
0
1
1
0
+
0
1
1
1
0
-1
1
-1
I
= 5
Граф G имеет 5 ориентированных остовов с корневой вершиной
Vi, порождающихся следующими множествами дуг: {еи еь}, {ей
ев\, {ей е9}, {eit еь), {е4, е„}.
6.10. Матрица смежности
Пусть G~(V, E) — ориентированный граф без параллельных
дуг, в котором V={vi, v2, ... , vn}. Матрицей смежности Af =
—\ти] графа G называется матрица порядка пхп, элементы кото-
которой гпц определяются следующим образом:
1, если {vh vj)?E\
в противном случае.
Например, граф, изображенный на рис. 6.10, имеет следующую
матрицу смежности:
Л/
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
124
Глава 6
В случае неориентированного графа ти—1 тогда и только тогда,
когда существует ребро, соединяющее вершины vt и vj. Перейдем к
изучению результатов, связанных с матрицей смежности.
Теорема 6.25. ((, /)-й элемент тгц матри-
матрицы Мг равен числу ориентированных марш-
маршрутов длины г из вершины и,- в вершину vj.
Доказательство. Доказательство прово-
проводим индукцией по г. Очевидно, что резуль-
результат справедлив при г=1.
В качестве индуктивного предположения
допустим, что теорема верна для Мг~1.
Тогда
(Чис?° ори"
\r—1 извер-
Для
Рис. 6.10.
ентированных маршрутов длины\
У\ tTl bit
шины V; в вершину v^ J '
любого k соответствующий член суммы определяет число ориентированных
маршрутов длины г из вершины и,- в вершину vf, последней дугой которых явля-
п
ется (i>k, Vj). Однако число ориентированных маршрутов длины г из и,- в Vj= 2
(число ориентированных маршрутов длины г из о,- в иу, последняя дуга которых
идет из Vk в Vj), что доказывает теорему для Мг.
Рассмотрим, например, третью степень матрицы М графа, изо-
изображенного на рис. 6.10:
Л/3 =
2
1
2
.2
2
i
1
1
1
1
1
1
2
1
1
1.
Элемент A,4) этой матрицы определяет число ориентированных
маршрутов длины три из вершины v± в вершину у4. Этими маршру-
маршрутами являются (е„, ей е4) и (еи е4, е7).
Рассмотрим теперь важный результат, полученный в работе
[6.9], который служит основой подхода сигнальных графов к реше-
решению линейных алгебраических уравнений. Для этого нам необходи-
необходимо ввести несколько новых определений.
1-фактором ориентированного графа G называется остовный
подграф графа G, в котором полустепень захода и полустепень
исхода каждой вершины равны 1. Очевидно, что такой подграф пред-
представляет собой совокупность вершинно-непересекающихся конту-
контуров, включая петли графа G. Например, два 1-фактора графа на
рис. 6.10 приведены на рис. 6.11, а и б.
Рассмотрим подстановку /ь /2> ... , /'„ целых чисел 1,2, ... ,
п. Подстановка называется четной, если для возвращения ее к перво-
Матрицы графов
125
начальной подстановке требуется четное число перестановок (об-
(обмена местами) ее элементов. Аналогично определяется нечетная под-
подстановка. Рассмотрим, например, подстановку 13 4 2. К виду
а 6
Рис. 6.11. Два 1-фактора графа рис. 6.10.
12 3 4 приводит следующая последовательность перестановок:
1) поменять местами 3 и 2; 2) поменять местами 3 и 4. Следователь-
Следовательно, эта подстановка является четной.
Теорема 6.26. Пусть Я,- A=1, 2, . . ., р) — 1-факторы ориентированного
графа G на п вершинах. Пусть /.,• — число контуров //,¦, а М — матрица смеж-
ности графа G. Тогда det М= (—1)" ^V (—1) i.
Доказательство. По определению
det Л! ='Ye,- , ,¦ ти ¦>
^J 111 I In 111
l"in'
F.25)
где
'• (i)~ (h> h<
2
• •> in) — подстановка целых чисел 1, 2, . . ., п.
^> если (/) —четная подстановка, в противном случае
3. Сумма У, берется по всем подстановкам целых чисел 1, 2, . . ., п.
(/
Ненулевой элемент /njy /n2yg. . .mnj- соответствует множеству дуг (и$,
VJ1)> (V2< у/2)> • ¦ •¦ (уи> v/n}' Каждая вершина v^ появляется в этом множестве
дважды: один раз как первый элемент, в другой — как второй элемент в неко-
некоторых упорядоченных парах. Это означает, что полустепени захода и исхода лю-
любой вершины подграфа, порожденного дугами (vv Vj ), (f2, f/2), . . ., (vn, vj ),
равны 1. Таким образом, всякий ненулевой элемент суммы выражения F.25)
соответствует 1-фактору графа G. Обратно: всякий 1-фактор соответствует ненуле-
ненулевому элементу mx]jnijr . -тп/п-
Например, 1-фактор, приведенный на рис. 6.11, б, соответствует элементу
Теперь необходимо зафиксировать знак е/,, у2 у . Пусть С — контур в
акторе, соответствующем /ь /2, . . ., /„. Пусть контур состоит из со дуг (и,-
а их
1
Начальные вершины этих дуг образуют последовательность ilt г2, . . .,
конечные вершины — i2, h, • • •, 'i-
Легко видеть, что для приведения последовательности i2, i3, . . ., 1г к после
довательности ilt i2,
i№ достаточно совершить ш—1 перестановку.
Пусть в 1-факторе, соответствующем /ь /2 /„, имеется L контуров, а их
длины равны Wj, ш2, . . ., со/.. Тогда для приведения последовательности ju
126 Глава 6
/2, . . ., jn к виду 1, 2, . . ., я необходимо совершить (сох—1)+(ш2—1)+. . .+
"Г (wi—1)=W перестановок. Поэтому е/ yg у = (—1)^= (—l)n+i.
Подводя итоги, заключаем:
1) Каждый ненулевой элемент Щ/.. . .тп] соответствует 1-фактору Я,- графа G
(заметим, что значение этого элемента равно 1);
2) &ji,jt jn= (—\)n+Li, где L,- — число контуров в 1-факторах Я,-.
= (—1)" У](—^)L'-
i \
Таким образом, выражение F.25) сводится к следующему det М
Рассмотрим, например, 1-факторы, приведенные на рис. 6.11.
Им соответствуют следующие значения Lt: Ь±—\, Ьг—2. Следова-
Следовательно, определитель матрицы смежности графа на рис. 6.10 равен
{—II + (—1J=0. В этом легко убедиться путем непосредственного
разложения определителя.
Пусть каждой дуге (г, /) ориентированного графа G присвоен
вес Wij. Определим матрицу смежности M=[mjj] графа G следую-
следующим образом:
wif, если существует дуга {vh Vj);
lJ \ 0 в противном случае.
Определим весовое произведение w(H) подграфа Я графа G
как произведение весов всех дуг подграфа Я. Если последний не
имеет дуг, т. е. подграф Я является пустым, то пусть w (Я) = 1.
Теперь легко получить следующее обобщение теоремы 6.26:
Теорема 6.27. Определитель матрицы смехшости М взвешенного графа G
на п вершинах определяется следующим выражением:
det М = (—1)»2 (— \)L"w (H),
н
где Я—1-фактор графа G, а Ьц — число контуров в подграфе Я,
6.11. Графы Коутса и Мэзона
В этом разделе мы рассматриваем теоретико-графовый подход
к решению линейных алгебраических уравений. Обсуждаются два
тесно связанных метода, принадлежащих Коутсу [6.10] и Мэзону
{6.11, 6.12].
6.11.1. Метод Коутса
Рассмотрим линейную систему, описываемую системой уравнений
АХ = Вхп+1. F.26)
где A=[aij] — невырожденная матрица порядка пХп, X — вектор-
столбец неизвестных переменных х\у xit , . . , хп. В — вектор-
столбец элементов bu bt, ... , bn, a xn+1 — входная переменная.
Матрицы графов
127
Решение для xk можно записать в виде
2
F.27>
где AiA — алгебраическое дополнение элемента (t, k) матрицы А.
Пусть А' — матрица, полученная добавлением —В к правой
части матрицы А и затем к нижней части получившейся матрицы
нулевой строки. Свяжем взвешенный ориентированный граф GC(A')
с матрицей А'.
Пусть Gc(А'} имеет п+1 вершину хи х2, . . . , хп+х. Если а,; =0,
то пусть в GC(A') будет дуга (xit xj), имеющая вес ац. Очевидно, что
А' —транспонированная матрица смежности GC(A'). Граф GC(A')
называется графом потоков Коутса или просто графом Коутса,
связанным с матрицей А'. Будем также говорить, что граф Коутса
связан с системой уравнений F.26).
Рассмотрим в качестве примера систему уравнений
2 1
1 .. {
2 1
1
-2
2
F.28)
2
0
1
0
1
„ 2
0
-1
0
0
В этом случае матрица А' имеет вид
А'
Граф Коутса GC(A'), связанный с системой уравнений F.28), пред-
представлен на рис. 6.12, а.
Заметим, что каждую вершину х,A ^i ^ и) графа GC(A')
можно рассматривать как представляющую уравнение в системе
F.26). Например, i-e уравнение в F.26) можно получить, приравни-
приравнивая к нулю сумму произведений весов дуг, заходящих в вершину xt,n
переменных, соответствующих вершинам, из которых эти дуги ис-
исходят. Кроме того, удаляя из графа GC(A') вершину xn+t, можно
получить граф Коутса GC(A), связанный с матрицей А. В случае
системы уравнений F.28) граф Коутса GC(A) представлен на
рис. 6.12, б.
Поскольку А —транспонированная матрица смежности GC{A),
а сама матрица и ее транспонированная матрица имеют равные
определители, из теоремы 6.27 следует, что
¦l)L»w(H), F-29>
128
Глава 6
где Н—1-фактор графа GC(A), w(H) — весовое произведение
подграфа Я, a LH — число контуров в нем. Таким образом знамена-
знаменатель выражения F.27) можно выразить через весовые произведения
1-факторов графа GC(A). Для вывода подобного выражения для
числителя формулы F.27) необходимо выражение для А,А.
-1
в
Рис. 6.12.
а—граф Коутса Gc (А'); б—граф GB (А); в— 1-факториальное соединение Н4 . графа Ge (A')-
1-факториальным соединением Нц вершины xt с вершиной
Xj в графе Gc (А) является остовный подграф графа GC(A), который
содержит а) ориентированный путь Р из вершины xt в вершину Х)\
б) множество вершинно-непересекающихся контуров, содержащих
все вершины графа GC(A), за исключением контуров, входящих в
путь Р; 1-факториальное соединение, например вершины х4 с верши-
вершиной х2 графа GC(A') (рис. 6.12, а), представлено на рис. 6.12, в.
Теорема 6.28. Пусть GC(A) — граф Коутса, связанный с матрицей А порядка
пХп. Тогда
L
Матрицы графов 129
2) Д,у=(—I)"-1 ^iH.A—\)LHw(Hij), уф], где Я—1=фактор графа, полученного
из GC(A) удалением вершины х;, Я,-/—1-факториальное соединение в GC(A)
вершины Х( с вершиной xj; L# и Lh — число контуров в Я и Я,у соответственно.
Доказательство. 1. Следует из теоремы 6.27.
2. Заметим, что Д,у— определитель матрицы, полученной из матрицы А заменой
/-го столбца на столбец, состоящий из нулевых элементов, за исключением ?-го,
который равен 1. Обозначим эту матрицу через Аа. Тогда граф Коутса Gc(Aa)
получается из исходного графа Gc (А) удалением всех дуг,, исходящих из вершины
Xj (включая и петли, инцидентные вершине xj), и введением дуги (xj, xj) с весом 1.
Теперь из теоремы 6.27 получаем
(-lfaw(Ha), F.30)
где На—1-фактор графа GC(A), a La — число контуров в На.
В каждом 1-факторе На обязательно должна содержаться введенная дуга с
весом 1. Удаляя эту дугу из 1-фактора Яи, мы получаем 1-факториальное соеди-
соединение Я,у графа GC(A). При этом w(Ha)=w(Hi/). Легко убедиться также в том,
что между На в графе Gc(Aa) и Я/у в графе ис(А) существует такое взаимно-
взаимнооднозначное соответствие, что w(Ha)=w(Hjj). Поскольку число контуров в 1-
факториальном соединении #,у на единицу меньше, чем в На< L'h=L-z—1. По-
Поэтому из выражения F.30) получаем Д</= (—1)"~12(—1) Hw(^ij)-
"и
п
Рассмотрим теперь числитель выражения F.27) 2 btAth. Эта
сумма равна определителю матрицы, полученной из матрицы А
заменой /-го столбца на В. Легко связать его с detA'n+it k (где
А'п+и k — матрица, полученная из матрицы А' удалением (п-М)-й
строки и k-ro столбца):
2 Ъ?а = (-l)<»+«-*-i (-1) det (Л;+1, »). F.31)
Из части 2 теоремы 6.28 получаем
*dt41. *) = (-l)» 2 l-lNl^M), F.32)
где L'H — число контуров в 1-факториальном соединении Hn+ith
в графе GC(A'). Объединяя выражения F.31) и F.32), получим
Sfr,Aflt = (—1)" 2 (—l)L'HwWn+i *)• F-33)
'=' Hn+i.k
Из выражений F.29) и F.33) получаем следующую теорему:
Теорема 6.29. Если матрица коэффициентов А невырожденная, то решение
уравнения F.26) определяется следующим образом:
хк =нп+ик # F.34)
xn+i y,<—iTHwtm
№ 1449
130 Глава 6
1. #„+1, t—1-факториальное соединение вершины *n + 1 с вершиной jcfc в графе
2. Я—1-фактор графа GC(A).
3. Lh и LH — число циклов в #„-ц, t и Я соответственно.
Уравнение F.34) называется формулой коэффициента усиления
Коутса. Проиллюстрируем применение этой формулы, решая урав-
уравнение F.28) относительно xjx^.
1-факторы графа GC(A) (рис. 6.12, б), связанные с матрицей А из
уравнения F.28), приведены ниже со своими весовыми произведе-
произведениями. Различные контуры в 1-факторе отличаются порядком вер-
вершин в скобках
1-фактор
(xi)(x2){x3)
(xtXx2,x3)
(X2)(Xi,X3)
(x3)(xux2)
(XUX2,X3)
(xux3,x2)
Весовое
произведение
-4
-4
-2
2
1
-4
Подсчитаем числитель выражения F.34):
2
_1)»B) + (-1)A) + (-1) (-4) = 4-4-2 + 2- 1+4 = 3.
Приведем 1-факториальные соединения xt с х2 в бДЛ') (рис. 6.12, а).
Сейчас в скобки заключаются также вершины, лежащие в ориенти-
ориентированном пути.
1-факториальное Весовое
соединение произведение
(х4>хих2)(х3) -2
{Х4,хих3,х2) 4
(¦*4> Х3> xl, Х2)
Подсчитаем числитель выражения F.34):
2 (-l)L«w(Ha+u ,) = (_l)(_
= 2 + 4 + 4 + 1 = 11.
Таким образом, х2/л:4=11/3.
Матрицы графов
131
6.11.2. Метод Мэзона
Для иллюстрации метода Мэзона перепишем уравнение F.26) в
виде
п
-Мя+1. / = 1. 2. •• •. «;
Можно представить эти уравнения в матричном виде следующим об-
образом: (A' + (Jn+i)X'—X', где А' — определенная ранее матрица
Рис. 6.13.
а —граф Мэзона От(А'), б —граф вт (А).
порядка (я-Н)х (й+1), Un+l —единичная матрица порядка «4-1,
а X' — вектор-столбец переменных х\, хг, . . , , хп+1.
Граф Коутса GC(A'+Un+1) называется сигнальным графом пото-
потоков Мэзона или просто графом Мэзона, связанным с матрицей А',
и обозначается через Gm(A'). Например, на рис. 6.13 приведены
граф Мэзона Gm (А') и граф Gm (А), связанный с системой уравнений
F.28).
Каждую вершину в графе Gm(A') можно рассматривать как пе-
переменную. Если между вершинами xt и X] есть дуга, то можно счи-
считать, что переменная xt делает вклад {а^х^ в переменную х}. Дру-
Другими словами, Xj равна сумме произведений весов дуг, заходящих
в вершину Xj и переменных, соответствующих вершинам, из которых
исходят эти дуги. Таким образом, граф Мэзона — удобное графичес-
графическое представление потока переменных в системе.
Заметим, что для получения графа Коутса из данного графа
Мэзона из веса каждой петли мы просто вычитаем единицу, а на
5»
132 Глава 6
каждую вершину графа Мэзона без петли вводим петлю с весом —1.
Иначе говоря, граф Коутса Gc можно получить из графа Мэзона
Gm простым введением на каждую вершину петли с весом —1. Будем
обозначать множество таких петель веса —1, добавляемых для по-
построения графа Gc, через 5. Отметим, что построенный таким обра-
образом граф Gc будет иметь в каждой вершине, самое большее, две и в
то же время не менее одной петли.
Рассмотрим связанный с матрицей А граф Мэзона Gm (Л); пусть
граф Gc будет соответствующим графом Коутса. Пусть Я — 1-фак-
тор графа Gc, имеющий / петель из множества 5. Пусть Lq+j- —
общее число контуров Я. При удалении из Я / добавленных петель
множества 5 получим первоначальный подграф Q графа Gm, являю-
являющийся набором из Lq вершинно-непересекающихся контуров. Кро-
Кроме того, при / < п
ш(Я) = (-1)/ш(B). F.35)
Заметим, что если /=«, то Q — пустой подграф Gm, имеющий по
определению вес w(Q) = l. Поэтому в этом случае
ш(Я) = (— 1)". F.36)
Легко видеть также, что всякому подграфу Q графа Gm, являюще-
являющемуся набором из LQ вершинно-непересекающихся контуров, в гра-
графе Gc соответствует единственный 1-фактор, который получается
введением на вершины, не входящие в Q, петель (из множества
S) весом —1.
По теореме 6.27 мы имеем
^5]^]. F.37)
Последний шаг в этом выводе следует из выражений F.35) и
F.36). Выражение F.37) можно представить в виде
det Л == (—1)" J1 — ^| Qyi + ^ Q/2 — S Q/з + • • - ] , F-38)
где Qjk — весовое произведение /-го подграфа Gm, являющегося на-
набором из k вершинно-непересекающихся контуров.
Таким образом, мы выразили знаменатель выражения F.27) в
весовых произведениях соответствующих подграфов графа Мэзона.
Назовем (—l)ndet(A) определителем графа Gm(A) и обозначим
его через А. Тогда, используя выражение F.33) и рассуждая точно
так же, как при выводе выражения F.38), выразим числитель
в виде
где />/+li ft — /-й ориентированный путь из вершины хп+1 к вершине
X/, в графе Gm(A'), a Aj — определитель подграфа того же графа,
Матрицы графов 133
вершинно-непересекающегося с /-м ориентированным путем Р/+1| к.
Таким образом, приходим к следующему утверждению:
Теорема 6.30. Если матрица коэффициентов А в выражении F.26) — невы-
невырожденная, то
2>(я?+1,*)д/
_?*_=_2 /e=i; 2 я, F.39)
* 1 Д
где P'n+i, к—/-й ориентированный путь в графе Gm(A') от вершины лс„+1 к
вершине х& А/ — определитель подграфа Gm{A'), вершинно-непересекающегося
с у'-м ориентированным путем P/j+i, k, а Д — определитель графа Gm(A).
Уравнение F.39) называется формулой коэффициента усиления
Мэзона. В литературе по теории систем Р'п+1< t — прямой путь от
вершины xn+i к вершине xh. Контуры Gm(A') называются петлями
обратной связи. Проиллюстрируем применение формулы F.39) к
решению уравнения F.28) относительно xjxi.
Приведем различные наборы вершинно-непересекающихся конту-
туров Gm(A) (рис. 6.13, 6) и их весовые произведения.
Весовое
Контур произведение
3
3
(х1гх2) 1
\%2' ^3/ "~* **
\Х\ j X2 > ^3/ *
\^1/\"^3/ •*
(xi)(x2>x3) -б
Ci) 3
Вычислим знаменатель выражения F.39): А = 1—C+3+1—2+2+
+ 1— 4)+(9—6+3)=3.
Приведем различные ориентированные пути Gm (А') (рис. 6.13, а)
из вершины Xi в вершину х2 вместе с их весовыми произведениями:
Весовое
произведение
1 (*4>*i>*2) -1
2 (хЛ,х1,х3,х2) 4
3 (хЛ,х3,х2) -2
4 (Хд.Хз,*,,^) 1
Контурами, вершинно-непересекающимися с прямыми путями P\.t
и Р\>2, являются петли (х3) n(xi) соответственно. Поэтому Д! = 1—3=
134Глава 6
=—2, Л3=1—3=—2. Контуров, вершинно-пересекающихся с пря-
прямыми путями Р\Л и Р\у2, нет, т. е. Л2=1, А4=1.
Таким образом, числитель выражения F.39) имеет вид Р\ 2Af+
^1Д+^!А+^д2+1 = 11. Поэтому xjxt*= 11/3.
6.12. Замечания, касающиеся литературы
Результаты, полученные в этой главе, образуют основу для боль-
большинства результатов части II книги. Рассмотренные в главе темы
обсуждаются также в работах [6.2, 6.13—6.153. Кроме того, в
работе [6.2] приводятся исторические подробности, касающиеся
представленных здесь результатов.
Монография [6.16] посвящена исключительно задачам перечис-
перечисления графов, в частности относящимся к непомеченным графам.
Задаче подсчета числа остовов уделено значительное внимание
и в работах по теории электрических цепей. Получены рекуррент-
рекуррентные отношения для определения числа остовов специальных классов
графов [6.17—6.21]. В работе [6.22] содержатся формулы для опре-
определения числа остовов с заданными свойствами.
В работе [6.2] широко обсуждаются некоторые аспекты, касаю-
касающиеся подхода сигнальных графов потоков. Применения сигнальных
графов потоков рассмотрены в работе [6.23]. Применение сигналь-
сигнальных графов потоков при исследовании электрических цепей описано
в работе [6.24].
Упражнения
6.1. Пусть Qf=lqtj] — базисная матрица разрезающих множеств, a Bj=[bji] —
базисная цикломатическая матрица связного ориентированного графа. Дока-
Докажите, что а) если произведения (ЦцЦЬ}) и (<7,><7fcr) не равны нулю, то они равны
между собой, б) выполните п. а для матрицы Вj.
6.2. Пусть В — матрица, образованная любыми |x(G) независимыми строками
дипломатической матрицы связного ориентированного графа G, имеющего т
дуг. Покажите, что если F — произвольная матрица порядка p(G)Xm и ранга
p(G), имеющая элементы, равные 1, —1 и 0, и удовлетворяющая условию ??Р=0,
то каждая строка матрицы F — это строка матрицы разрезов графа G.
6.3. Пусть Q — матрица, образованная p(G) независимыми строками матрицы
разрезов связного ориентированного графа G, имеющего т дуг. Покажите, что
если F — произвольная матрица порядка |x(G)Xm и ранга (x(G), имеющая эле-
элементы, равные 1, —1 и 0, и удовлетворяющая условию QFt—Q, то каждая строка
матрицы F соответствует циклу или объединению реберно-непересекающихся
циклов G.
6.4. Пусть Q(x, у) — подматрица матрицы разрезов Qc связного неразделимого
ориентированного графа G; каждая содержит только те строки Qc, которые соот-
соответствуют разрезам, разделяющим вершины х и у. Покажите, что Q (х, у) содержит
базисную матрицу разрезающих множеств графа G. (Более общий результат при-
приведен в работе [6.25].)
6.5. Пусть В — подматрица цикломатической матрицы Вс планарного графа G,
содержащая только те строки Вс, которые соответствуют ячейкам графа G. По-
Покажите, что подматрица В унимодулярна. (Определение планарного графа и
ячеек дано в гл. 7.)
Матрицы графов 135
6.6. Пусть В — матрица, образованная любыми ц (G) независимыми строками
цикломатической матрицы связного ориентированного графа G. Покажите, что
все главные определители невырожденных подматриц матрицы В имеют одина-
одинаковое значение.
6.7. Докажите теорему 4.11.
6.8. Докажите, что для связного ориентированного графа t(G)=det (BjB]) —
= det(QfQj, где Bf — базисная цикломатическая матрица, a Q.— базисная
матрица разрезающих множеств графа G.
6.9. Пусть Q — матрица, образованная любыми p(G) независимыми строками
матрицы разрезов связного ориентированного графа G, а В — матрица, образо-
образованная любыми ц (G) независимыми строками цикломатической матрицы G. По-
Покажите, что матрица [g] — невырожденная.
6.10. Докажите, что подпространства над полем GF B) циклов Wc и разрезов
W$ связного неориентированного графа G являются ортогональными дополне-
дополнениями векторного пространства Wq тогда и только тогда, когда число остовов
графа G нечетно.
6.11. Пусть для любого ребра е графа G произведение G-e обозначает граф, полу-
полученный из графа G стягиванием ребра е. Покажите, что если граф G связный,
то t(G)=t(G—e)+i(G-e).
6.12. Используя рекурсивную формулу из упражнения 6.11, найдите число ос-
остовов колеса на п вершинах. (Определение колеса см. в разд. 8.4.)
6.13. Покажите, что если е — ребро графа Кп, то т{Кп—е)— (п—2)п"~3.
6.14. а) Пусть Н — граф на п. вершинах, в котором между всякой парой смежных
вершин имеется k параллельных дуг. Пусть G— простой граф, лежащий в ос-
основе графа Н. Покажите, что i(H)—kn + li(G).
б) Пусть Н — граф, полученный из связного графа G на п вершинах заменой
каждого ребра этого графа G на путь длин k. Покажите, что x(H)=km~n + lx(G),
где m — число ребер в графе G.
6.15. Покажите, что теорема 6.17 является частным случаем теоремы 6.24.
6.16. Граф G с весами на дугах называется взвешенным графом. Напомним, что
весовое произведение подграфа графа G равно произведению весов его дуг и что
если подграф имеет единственную изолированную вершину, то его весовое про-
произведение по определению равно 1.
Пусть А — матрица инциденций связного ориентированного графа G, усеченная
по строке, соответствующей вершине vn, a j-я строка матрицы А соответствует
вершине у,-. Пусть W — диагональная матрица, представляющая веса графа G.
Примем, что столбцы А и W, соответствующие дугам, расположены в одинаковом
порядке. Покажите, что a) det (A WA') — сумма весовых произведений всех
остовов графа G и б) Д,у — сумма весовых произведений всех остовных 2-деревьев
Tjj, п графа G, где Д,-у — алгебраическое дополнение элемента (i, /) матрицы AWA*.
6.17. Матрица полустепеней исхода /С=[^,у] ориентированного графа G без петель
определяется следующим образом:
( —р, если i Ф j и существует р дуг, идущих
ku= | из вершины v; в вершину v/,
\ d+ (v;), если ( = /.
Определим входящее дерево как ориентированный граф, имеющий вершину vr,
в которую существует ориентированный путь из любой другой вершины, а ле-
лежащий в основе неориентированный граф является деревом. Покажите, что число
входящих остовов графа G определяется аналогично теореме 6.24.
6.18. Матрица полустепеней исхода /С=[/г,-у] взвешенного ориентированного
графа без петель определяется следующим образом:
а) kji=— (Сумма весов дуг, направленных от вершины vt к vj), если 1ф].
б) ku= (Сумма весов дуг, исходящих из вершины vt). Докажите, что det (Ки)
равен сумме весовых произведений всех входящих остовных деревьев графа О
с корневой вершиной vL. Примечание. Под корнем здесь понимается такая вер-
136
Глава 6
шина vt, что из каждой другой вершины существует ориентированный путь в нее.
6.19. Решите систему уравнений:
3
1
3
-2
2
2
1
0
2.
х2
.xi.
=»
з'
1
2
F.40)
6.20. Пусть Gm — граф Мэзона, связанный с системой линейных уравнений.
Покажите, что а) можно удалить петлю, инцидентную вершине хь с весом а^ф\,
просто умножив веса всех дуг, инцидентных вершине *&, на коэффициент 1/A—
—akk) и б) можно удалить вершину хр без петли, добавив (api, akP) к весу для
всех 1фр и кфр дуги (л:,-, xj).
6.21. Используя метод, предложенный в упражнении 6.20, приведите граф Мэ-
Мэзона, связанный с выражением F.40), к графу, имеющему лишь вершины xi и х2,
и решите систему относительно xjxt.
7. Планарность
и двойственность
В этой главе мы обсудим два важных понятия теории графов:
планарность и двойственность. Сначала мы рассмотрим планарные
графы и установим их некоторые свойства. Будут обсуждаться также
характеризации планарных графов, данные Куратовским, Вагне-
Вагнером, Харари и Таттом, Мак-Лейном. Затем мы обсудим определение
Уитни двойственных графов, которое дано, исходя из циклов и
разрезающих множеств, и свяжем это понятие с, казалось бы, не
имеющим к нему отношения понятием планарности.
Двойственность очень интересна для специалистов в области
электрических цепей. Этот интерес обусловлен тем, что напряжение
и ток в электрической цепи являются двойственными переменными.
Их двойственность следует из законов Кирхгофа. Закон Кирхгофа
для напряжений дается, исходя из циклов, а закон Кирхгофа токов—
исходя из разрезающих множеств. Двойственность циклов и раз-
разрезающих множеств обсуждалась в гл. 2 и 4. Она станет очевидной в
гл. 10, в которой мы покажем, что множества циклов и разрезаю-
разрезающих множеств имеют одинаковую алгебраическую структуру.
7.1. Планарные графы
Говорят, что граф G укладывается на поверхности S, если его
можно нарисовать на этой поверхности та;<им образом, что его ребра
пересекаются только в своих концевых вершинах. Граф называется
планарным, если его можно уложить на плоскости. Описанное
изображение планарного графа G называется планарной укладкой
графа G.
Две планарные укладки графа представлены на рис. 7.1. В одной
из них (рис. 7.1, а) все ребра изображены в виде отрезков прямых
линий, тогда как в другой (рис. 7.1, б) одно из ребер изображено в
виде кривой линии. Заметим, что ребро, соединяющее вершины а и
d на рис. 7.1, б, нельзя изобразить в виде прямой линии, если все
остальные ребра изображены так, как показано.
Очевидно, что если граф имеет петли или параллельные ребра,
то ни в какой из его планарных укладок нельзя изобразить все ребра
в виде отрезков прямых линий. Здесь, естественно, возникает вопрос:
для каждого ли планарного графа G существует укладка, в которой
все ребра могут быть изображены в виде отрезков прямых? Как
138
Глава 7
устанавливается в следующей теореме, ответ на этот вопрос —
положительный.
Теорема 7.1. Для каждого простого планарного графа существует планарная
укладка, в которой все ребра графа можно изобразить в виде отрезков прямых
линий.
о 6
Рис. 7.1. Две планарные укладки графа.
Этот результат получен независимо авторами работ [7.1—7.3].
Если граф не укладывается на плоскости, то его можно уложить
на некоторой другой поверхности. Покажем, что укладываемость
графа на плоскости и на сфере эквивалентны, т. е. если граф укла-
укладывается на плоскости, то он
укладывается на сфере, и на-
наоборот. В доказательстве этого
утверждения используется по-
понятие так называемой стерео-
стереографической проекции сферы
на плоскость, описываемое
ниже.
Допустим, что мы поло-
положили сферу на плоскость
(рис. 7.2). Назовем точку со-
соприкосновения южным полю-
полюсом, а диаметрально проти-
противоположную точку на сфе-
сфере — северным полюсом N.
Пусть Р — произвольная точ-
точка на сфере. Тогда точка Р',
Рис. 7.2. Стереографическая проекция. в которой прямая, соединяю-
соединяющая точки N и Р пересекает
плоскость, называется стереографической проекцией точки Р на
плоскости. Очевидно, что между точками на сфере и их стереогра-
стереографическими проекциями на плоскости существует взаимно-однознач-
взаимно-однозначное соответствие.
Планарность и двойственность
139
Теорема 7.2. Граф G укладывается на плоскости тогда и только тогда, когда
он укладывается на сфере.
Доказательство. Пусть G' — укладка графа G на сфере. Положим сферу на
плоскость так, чтобы северный полюс не был ни вершиной, ни точкой на ребре
укладки С.
Тогда образ G' в стереографической проекции — это укладка графа G на
плоскости, поскольку ребра укладки G' пересекаются только в своих концевых
вершинах, а между точками на сфере, и их образами в стереографической про-
проекции существует взаимно-однозначное соответствие.
Обратное доказывается аналогично.
Два основных непланарных графа, называемые графами Куратов-
ского, представлены на рис. 7.3. Один из них Къ — полный граф
на пяти вершинах, а другой — К3,з- Называем эти графы основными
а 6
Рис. 7,3. Основные непланарные графы.
а-Кь; б-К,,,.
непланарными графами потому, что они играют основополагающую
роль в характеризации планарности, данной Куратовским (разд.7.3).
Непланарность этих графов устанавливается в следующем разделе.
До того как мы закончим этот раздел, хотелось бы указать, что в
работе [7.4] доказано, что разделимый граф планарен тогда и только
тогда, когда планарны его блоки. Поэтому, касаясь вопросов, свя-
связанных с укладкой на плоскости, будет достаточно, если мы рассмот-
рассмотрим только неразделимые графы.
7.2. Формула Эйлера
Укладка планарного графа на плоскости делит ее на области.
Область называется конечной, если ее площадь конечна, в против-
противном случае — бесконечной.
Например, в планарном графе, представленном на рис. 7.4, за-
заштрихованная область /5 бесконечна; /ь /2, /з и /4 — конечные об-
области.
Очевидно, что ребра на границе области содержат точно один
цикл, который называется замыкающим область. Например, ребра
<?ъ е8, е9, <?ю и <?1з образуют область /х в графе на рис. 7.4 и содержат
цикл {ely ea, eu,- ею}.
Заметим, что всякая область в любой сферической укладке пла-
нариого графа конечна.
140
Глава 7
Пусть планарный граф уложен на сфере, которая поставлена
на плоскость так, что северный полюс находится внутри какой-ли-
какой-либо выбранной области, например /. Тогда образ / в стереографичес-
стереографической проекции будет бесконечной областью. Следовательно, планар-
планарный граф всегда можно
ШШШШШШШШШШШ Уложить на плоскости та-
таким образом, чтобы любая
выбранная область стала
бесконечной областью.
Пусть /ь /2, . . . , /г —
области планарного графа,
fr — бесконечная область.
Обозначим через С,
(l^t^r) цикл на границе
области Д.
Циклы Си С2, ...
. . ., Сг-г, соответствующие
конечным областям, назы-
называются ячейками.
Легко убедиться в том,
что сумма по mod 2 любых
&>2 ячеек, например Си
С2, . . . , Ck, есть цикл
или объединение реберно-
непересекающихся циклов, замыкающих области fu /2, . . . , kk.
Так как каждая ячейка замыкает только одну область, никакую из
них нельзя получить в результате суммы по mod 2 некоторых
других ячеек. Таким образом, ячейки Cj, С2 . . . , Сг-г — линейно-
независимы.
Пусть некоторый элемент С подпространства циклов G замыкает
конечные области /ь /2, . . . , fh. Тогда можно доказать, что С=
=Ci<^C2®. ¦ -,+Ck. Например, в графе на рис. 7.4 множество
С={е1( е2, <?3, eit е5, е6, е7, е8} замыкает области Д, /2, /3, /4.
Поэтому С=С1фС2фС3фС4.
Таким образом, всякий элемент подпространства циклов можно
выразить в виде суммы по mod 2 нескольких или всех ячеек графа G,
Поскольку все ячейки взаимно-независимы, приходим к следующей
теореме:
Теорема 7.3. Ячейки планарного графа G образуют базис подпространства
циклов графа G.
Из этой теоремы непосредственно вытекает следующее следствие:
Следствие 7.3.1 (формула Эйлера). Если связный планарный граф G имеет т
ребер, п вершин и г областей, то п—т-\-г=2.
Доказательство. Доказательство следует из теоремы 7.3, если заметить, что
цикломатическое число \х графа G равно г—1.
В общем случае трудно проверить, является граф пленарным или нет. Ис-
Используем формулу Эйлера для получения некоторых свойств пленарных графов.
Рис. 7.4.
Планарность и двойственность 141
Эти свойства могут быть полезны, как мы вскоре увидим, для обнаружения в
определенных случаях непланарности графов.
Следствие 7.3.2. Если связный простой пленарный граф G имеет т ребер и
п>3 вершин, то /п<3я—6.
Доказательство. Пусть F— {ft, /2, . . ., fr) — множество областей графа G.
Пусть степень d(fi) области /,- означает число ребер на границе /,-, мосты Х)
считаются дважды. (Например, в графе на рис. 7.4 степень области fx равна 6.)
Заметив аналогию между определениями степени вершины и степени области,
получим из теоремы 1.1 Jj d(fi)=2m.
!ieF
Так как граф G не содержит ни параллельных ребер, ни петель и га>3, то
для всех I. Следовательно, Jj d(fi)^3r. Таким образом,
fF
{
т.е. г<?/3т. Используя это неравенство в формуле Эйлера, получим п—т-
или m-<3/i—6.
Следствие 7.3.3. Граф Кь непланарен.
Доказательство. Для Кь п=Ъ, т=10. Если бы он был пленарным, то по
следствию 7.3.2 m=10<:3rt—6=9; получаем противоречие. Таким образом,
граф Кь должен быть непланарным.
Следствие 7.3.4. Граф Кз,з непланарен.
Доказательство. Для Кз, з т=9, /2=6. Если бы он был пленарным, то по
формуле Эйлера он имел бы г=9—6+2=5 областей.
В графе Кз, з нет циклов длины менее 4. Следовательно, степень каждой
области по крайней мере равна 4. Таким образом, 1т= 2 d(fi)^Ar, или /-<а/4т,
т. е. г<4; получим противоречие. Следовательно, граф Кз, я непланарен.
Следствие 7.3.5. В простом планарном графе G имеется по крайней мере одна
вершина степени не более 5.
Доказательство. Пусть G имеет т ребер и п вершин. Если каждая вершина
имеет степень, превышающую 5, то по теореме 1.1 2т^6п, или т^Зп. Но, со-
согласно следствию 7.3.2, m<3rt—6. Эти неравенства противоречат друг другу.
Следовательно, утверждение следствия верно.
7.3. Теорема Куратовского и другие
характеризации планарности
В этом разделе представлены характеризации планарных графов,
данные Куратовским, Вагнером, Харари и Таттом, Маклейном.
Для обсуждения характеризации Куратовского необходимо
ввести понятие «гомеоморфизм графов».
Два ребра, инцидентные вершине степени 2, называются после-
последовательными ребрами.
Пусть е1=(и, v) и e2=(v, w) — последовательные ребра, инци-
инцидентные вершине v. Удаление вершины v и замена ребер ех и е%
ребром (и, w) называется слиянием последовательности (рис. 7.5, а).
Добавление новой вершины v на ребро (и, w) посредством введе-
введения ребер (и, о) и (у, w) называется включением последовательности
(рис. 7.5, б).
11 Определение моста см. в упражнении 1.28.
142
Глава 7
Будем говорить, что два графа гомеоморфны, если они изоморфны
или могут стать изоморфными в результате повторных включений
или слияний последовательностей.
Очевидно, что если граф G планарен, то любой граф, гомеоморф-
ный ему, также планарен, т е. на планарность графа не влияет
включение или слияние последовательностей.
ьз
W Ы
W
Рис. 7.5.
в—слияние последовательности; б—включение последовательности.
В предыдущем разделе мы доказали, что графы Кь и /C3,s непла-
нарны. Следовательно, планарный граф не содержит подграфа,
гомеоморфного графу Кь или К3,3- Замечательно то, что Куратов-
скому [7.5] удалось доказать справедливость обратного. В следую-
а б
Рис. 7.6.
а — граф б; 6 — подграф графа G, гомеоморфыый Кя, 8.
щей теореме формулируется эта знаменитая характеризация пла-
нарности. Доказательство можно найти в работе [7.6].
Теорема 7.4 (Куратовского) 1К Граф планарен тогда и только тогда, когда он
не содержит подграфа, гомеоморфного графу Кь или Кз, s-
~х> Этот результат был получен ранее (но не опубликован) Л. С. Понтрягиным,
в связи с чем теорему, в которой характеризуются пленарные графы, называют
также теоремой Понтрягина — Куратовского.— Прим. ред.
Планарность и двойственность 143
Конструктивное доказательство этой теоремы дал Татт [7.71.
Для иллюстрации теоремы Куратовского рассмотрим граф G,
изображенный на рис. 7.6, а. Он содержит подграф (рис. 7.6, б),
который гомеоморфен графу Кз,з- Следовательно, графG непланарен.
Представим теперь другую характеризацию планарности, полу-
полученную независимо авторами работ [7.8, 7.9].
Теорема 7.5. Граф планарен тогда и только тогда, когда он не содержит
подграфа, стягиваемого к графу Къ или /Сз, з-
Рассмотрим граф (называемый графом Петерсена), представлен-
представленный на рис. 7.7. Этот граф не содержит подграфа, изоморфного
графу Кь или /Сз, з, однако, как известно,
он непланарный. Поэтому, если мы хотим
использовать критерий Куратовского для
установления непланарности графа Петер-
Петерсена, нам необходимо указать подграф,
гомеоморфный графу Кь или /Сз, з- Однако
его непланарность следует очевидным об-
образом из только что приведенной характе-
ризации, поскольку граф приводится к гра-
графу Кь после стягивания ребер е%, е2, е3,
et и еь.
В следующем утверждении формулиру-
формулируется характеризация планарных графов Рис- 7-7< гРаФ Петерсена.
Маклейна.
Теорема 7.6. Граф G планарен тогда и только тогда, когда в нем существует
такое множество базисных циклов, что никакое ребро не присутствует более чем
в двух из этих циклов.
Мы знаем, что ячейки планарного графа образуют базис под-
подпространства циклов графа и что никакое ребро графа не присутст-
присутствует более чем в двух ячейках. Это доказывает необходимость в
теореме 7.6. Доказательство достаточности можно найти в работе
[7.10].
Другая важная характеризация планарных графов, использую-
использующая двойственные графы, обсуждается в разд. 7.5.
7.4. Двойственные графы
Граф Ga является двойственным к графу Gu если существует та-
такое взаимно-однозначное соответствие их ребер, что множество ре-
ребер графа G2 — циклический вектор тогда и только тогда, когда со-
соответствующее множество ребер графа Gi — вектор разрезающего
множества Gi. Двойственность была впервые определена Уитни
[7.11], хотя его определение было дано в другой форме.
Очевидно, чтобы доказать двойственность графа G2 к G1( доста-
достаточно показать, что векторы, образующие базис подпространства
144
Глава 7
циклов графа G2, соответствуют векторам, образующим базис под-
подпространства разрезов графа Gt.
Рассмотрим, например, графы Gt и G2, представленные на рис. 7.8.
Ребро et графа Gt соответствует ребру е* графа G2. Легко видеть, что
циклы {е*, е2, е3}, {ea, et, еь, ев} и {ев, еъ е8} образуют базис подпро-
подпространства циклов графа Gb а соответствующие множества ребер
а 6
Рис. 7.8. Двойственные графы,
а—граф С,; б—граф Ог
К, е\, et}, {el, e*it el, el}, {e\, e*,e\} образуют базис подпростран-
подпространства разрезов графа G2. Таким образом, граф G2 двойственный к
графу d.
Изучим теперь некоторые свойства двойственных графов.
Теорема 7.7. Пусть граф G2 двойственный к графу G1. Тогда цикл графа G2
соответствует разрезающему множеству графа Gx и наоборот.
Доказательство. Пусть С* — цикл графа G2, а С — соответствующее множе-
множество ребер графа Gt. Предположим, что цикл С не является разрезающим множе-
множеством. Тогда из определения двойственности следует, что цикл С должен быть
объединением непересекающихся разрезающихся множеств Q, С2 С^, k^2.
Пусть С\, С-2, . . ., Ck —множества ребер графа G2, соответствующие раз-
разрезающим множествам Сг, С2, ¦ ¦ ., Cfe- Из определения двойственности следует,
что Ci, Сг, . . ., Ck являются циклами или объединениями непересекающихся
циклов.
Поскольку С* — объединение Ci, Са, . . ., Ck, k"^2, то очевидно, что мно-
множество С* должно содержать более одного цикла. Однако это невозможно, так
как С* — цикл, а никакое собственное подмножество цикла не является циклом.
Следовательно, k=\, или, другими словами, С— разрезающее множество графа
С;.
Аналогичным образом можно показать, что каждому разрезающему множе-
множеству графа Gx соответствует цикл графа G2.
Георема 7.8. Если граф G2 — двойственный к графу G1( то последний — двой-
двойственный к графу G2.
Доказательство. Нам необходимо показать, что всякий циклический вектор
графа G] соответствует вектору разрезающего множестоа графа G2 и наоборот.
Пусть С — циклический вектор графа Gx, С* — соответствующее ему мно-
множество ребер графа и^.
Планарность и двойственность 145
По теореме 4.7 вектор С имеет четное число общих ребер со всяким вектором
разрезающего множества графа Gj. Так как граф G2— двойственный к графу
Gi, то множество С* имеет четное число общих ребер со всяким циклическим век-
вектором графа G2. Поэтому по теореме 4.8 С* — вектор разрезающего множества
графа G2.
Аналогичным образом можно доказать, что всякий вектор разрезающего
множества графа G2 соответствует циклическому вектору графа 6г, а следова-
следовательно, и теорему.
Принимая во внимание эту теорему, будем называть графы G1 и G2 просто
двойственными, если один из них двойственный к другому. Следующий результат
вытекает непосредственно из теоремы 7.8 и определения двойственности.
Теорема 7.9. Если Gx и G2 — двойственные графы, то ранг одного равен цик-
ломатическому числу другого, т. е. p(GJ=\k(G^ и p(G2)=|x (Gj).
Предположим, граф G имеет двойственный граф. Тогда возникает вопрос:
каждый ли его подграф имеет двойственный граф? Для ответа на него нам необ-
необходим следующий результат.
Теорема 7.10. Рассмотрим двойственные графы Gt и G2. Пусть е= (vlt vz) —
ребро графа Glt a e*= (vi, w2) — соответствующее ребро графа G2. Пусть G[ —
граф, полученный из графа Gj удалением ребра е, a G'2 — граф, полученный стя-
стягиванием в графе G2 ребра е*. Тогда G[ и G2 — двойственны, а взаимно-однознач-
взаимно-однозначное соответствие между их ребрами остается тем же, что и в графах Gl и G2.
Доказательство. Пусть С и С* — соответствующие множества ребер графов
Gi и G2. Предположим, что С — цикл графа G\. Поскольку множество С не со-
содержит ребра е, то оно является циклом и в графе Gj. Следовательно, С* — раз-
разрезающее множество графа в G2, например <Va, V;>>. Так как С* не содержит
е*, вершины Vi и г>я находятся одновременно либо в Vа, либо в VV Следовательно,
С* — разрезающее множество также и в графе G2. Таким образом, каждый цикл
графа Gi соответствует разрезающему множеству графа G2.
Пусть С* — разрезающее множество графа G2. Поскольку С* не содержит
е*, оно является разрезающим множеством в графе G2. Следовательно, С — цикл
графа Gi. Так как С не содержит е, то оно является циклом и в графе Gi. Таким
образом, всякое разрезающее множество графа G2 соответствует циклу графа G{.
На основе этой теоремы можно сказать, используя язык электрических
цепей, что «размыкание» ребра в графе G означает «замыкание» соответствующего
ребра в графе, двойственном к графу G.
Полезным будет следующее следствие из теоремы 7.10:
Следствие 7.10.1. Если граф G имеет двойственный граф, то всякий его ре:
берно-порожденный подграф также имеет двойственный граф.
Доказательство. Этот результат следует из теоремы 7.10, если мы заметим,
что всякий реберно-порожденный подграф Н графа G можно получить из графа G
удалением ребер, не принадлежащих подграфу Н.
Для иллюстрации этого следствия рассмотрим двойственные графы на рис. 7.8.
Граф Gi, представленный на рис. 7.9, а, получен нз графа G1 удалением ребер е3
и ей. Граф G2 на рис. 7.9, б получен стягиванием ребер е\ и ejj графа G2. Легко
видеть, что Gi и G2 — двойственные графы.
Замечая, что последовательные ребра графа G соответствуют параллельным
ребрам графа, двойственного к графу G, получаем еще одно следствие теоремы 7.10.
Следствие 7.10.2. Если граф G имеет двойственный граф, тогда любой граф,
гомеоморфный графу G, также имеет двойственный граф.
Продолжим наше продвижение по пути к характернзации двойственных
графов.
Пусть G — граф на л вершинах. Не нарушая общности, допустим, что он
связный. Пусть К* — подграф графа G, а G' — граф, полученный стягиванием
ребер подграфа К*. Заметим, что G' — также связный граф.
146
Глава 7
Если К* имеет п* вершин и р компонент связности, то б'будет иметь п— (п*—
—р) вершии. Следовательно, ранг графа G' определяется следующим образом:
р (G')=n- (л*-р)-1=р (G)-p (/С*). G.1)
Теорема 7.11. Пусть Gt и G2— графы с взаимно-однозначным соответствием
между ребрами. Пусть Я — произвольный подграф графа G±, Я* — соответст-
a 6
Рис. 7.9. Другой пример двойственных графов
а—граф Gj; б—граф G2.
вующий подграф графа G2. Пусть К* — дополнение Я* в графе G2. В этом случае
G] и G2 двойственны тогда и только тогда, когда
Доказательство. Необходимость. Пусть G1 и G2 — двойственные графы.
Граф Gi получен из графа G2 стягиванием ребер К*. Тогда по теореме 7.10 графы
Н и G2 являются двойственными. Поэтому по теореме 7.9 \i(H)=p(Gi). Но по
формуле G.1) p(G2)=p(G2)—p (К*). Следовательно, fi(#)=p(G2)—p (К*).
Достаточность. Допустим, что соотношение G.2) выполняется для любого
подграфа Н графа Gv Покажем, что всякий цикл графа Ох соответствует разре-
разрезающему множеству графа G2 и наоборот. Пусть Я — цикл графа Gt. Тогда ц (#)=
= 1. Поэтому по формуле G.2) p(/C*)=p(G2)—1.
Так как Н — минимальный подграф графа G с цикломатическим числом, рав-
равным 1, а К* — дополнение подграфа И* графа G2, то очевидно, что К* — макси-
а 6
Рис. 7.10. Иллюстрация определения двойственности Уитни.
а—граф Н, ц(Н)=1; б —граф К*. р(К')«2-
Планарность и двойственность 147
ыальный подграф графа G2 с рангом, равным p(G^)—1. Из определения разре-
разрезающего множества следует, что Н* — разрезающее множество графа G2.
Аналогичным образом можно показать, что разрезающее множество G2 со-
соответствует циклу графа Gx.
Таким образом, G1 и G2 — двойственные графы.
Первоначальное определение двойственности, данное в работе [7.11], фор-
формулировалось так, как в теореме 7.11.
Для иллюстрации этого определения рассмотрим двойственные графы Gj
и G2 на рис. 7.8. Подграф Н графа Gx и дополнение К* соответствующего под-
подграфа в графе G2 приведены на рис. 7.10. Легко видеть, что \i(H)=p(G^—р(К*К
7.5. Планарность и двойственность
Теперь мы охарактеризуем класс графов, имеющих двойствен-
двойственные к себе графы. Попутно свяжем два, казалось бы, несвязанных
понятия: планарность и двойственность.
Сначала мы докажем, что каждый планарный граф имеет двойст-
двойственный. Доказательство основано на процедуре построения двой-
двойственного графа к данному пла- ^-—^
нарному графу.
Рассмотрим планарный граф.
Пусть G будет его планарной ук-
укладкой, тогда /х, /2, ... , /г — об-
области укладки G. Построим граф
G*, определяемый следующим об-
образом:
1. G* имеет г вершин v[, vl, . . . ,
v'; вершина v* (l^t<r) соответ-
соответствует области /f.
2. G* имеет столько же ребер,
СКОЛЬКО И G. рис_ 7.11. Построение двойстве».
3. Если ребро е графа G являет- ного графа,
ся общим для областей ft и /; (не
обязательно различных), то соответствующее ребро е* графа G*
соединяет вершины v\ и v*. (Заметим, что каждое ребро е графа 6"
является общим, самое большее, для двух областей; возможно, что
ребро лежит точно в одной области.)
Простой способ построения G* заключается, во-первых, в раз-
размещении вершин v\, vl, . . . , v* в каждой области графа G. Затем
для каждого ребра е, общего для областей ft n fj, проводим линию,
соединяющую вершины и* и v], так чтобы она пересекала ребро е
Эта линия представляет ребро е*.
Процедура построения G* иллюстрируется на рис. 7.11. Сплош-
Сплошные линии представляют собой ребра данного планарного графа G,
а штриховые — ребра графа G*.
Докажем, что граф G* двойственный к графу G.
Пусть Си С г, . . . , Cr-i — ячейки графа G, С*, С'г, . . . , С_2 —
соответствующие множества ребер G*. Из процедуры, используемой
148 Глава 7
для построения графа G*, следует, что ребра в C*t инцидентны верши-
вершине v* и образуют разрез, удаление которого отделит вершину v*
от остальных вершин графа G*.
Согласно теореме 7.3, Си С2, . . . , Ст-1 образуют базис подпро-
подпространства циклов графа G, а векторы инциденций С\, С\, . . . , Cr_i
образуют базис подпространства разрезов G*. Поскольку между мно-
множествами Ct и С- имеется взаимно-однозначное соответствие, графы
G и G* двойственны. Таким образом, справедлива следующая тео-
теорема:
Теорема 7.12. Всякий пленарный граф имеет двойственный к себе граф.
Сразу же возникает вопрос: имеет ли непланарный граф двойственный к
себе граф? Ответ на него отрицательный, и он основан на следующих двух леммах.
Лемма 7.1. Граф /С3, з не имеет двойственного графа.
Доказательство. Сначала заметим, что
1. Граф Кз, з не имеет разрезающих множеств из двух ребер.
2. Граф К3\ з имеет циклы длиной только четыре или шесть.
3. Граф К3\ з имеет девять ребер.
Допустим, что граф К3, з имеет двойственный граф G. Тогда из этих заме-
замечаний вытекают соответственно следующие замечания для G:
1. Граф G не имеет циклов из двух ребер, т. е. он не имеет параллельных ребер.
2. Граф G не имеет разрезающих множеств с менее чем четырьмя ребрами. Таким
образом, каждая вершина графа G имеет степень, не меньшую 4.
3. Граф G имеет девять ребер.
Из первых двух замечаний следует, что граф G имеет по крайней мере 5 вер-
вершин, каждая со степенью не менее 4. Таким образом, он должен иметь не менее
V2X5X4=10 ребер. Однако это противоречит замечанию 3. Следовательно, граф
К3, з не имеет двойственного графа.
Лемма 7.2. Граф Къ не имеет двойственного графа.
Доказательство. Заметим сначала, что
1. Граф Къ не имеет циклов длиной один или два.
2. Граф Къ имеет разрезающие множества только из четырех или шести ребер.
3. Граф /Cjj имеет десять ребер.
Допустим, граф Къ имеет двойственный граф G. Тогда, согласно замечанию 2,
граф G имеет циклы длиной только четыре или шесть. Другими словами, все
циклы графа G имеют четную длину. Таким образом, G — двудольный граф. По-
Поскольку двудольный граф с шестью или менее вершинами не может иметь больше
девяти ребер, необходимо, чтобы граф G имел по крайней мере семь вершин.
Однако, согласно замечанию 1, степень каждой вершины графа G не менее 3.
Следовательно, граф G должен иметь по крайней мере х/2^7ХЗ>10 ребер. Од-
Однако это противоречит замечанию 3. Следовательно, граф Къ не имеет двойствен-
двойственного графа.
Основной результат этого раздела заключается в следующем:
Теорема 7.13. Граф имеет двойственный граф тогда и только тогда, когда он
пленарный.
Доказательство.
Достаточность устанавливается теоремой 7.12.
Необходимость можно доказать, показав, что непланарный граф G не имеет
двойственного. По теореме Куратовского граф G содержит подграф Н, гомеоморф-
ный графу К3, з или Къ- Если бы граф G имел двойственный граф, тогда, согласно
следствию 7.10.1, и подграф И имел бы двойственный граф. Однако тогда по
следствию 7.10.2 граф Кз, з или Кь должен был иметь двойственный. Однако
это противоречит тому, что ни один из них не имеет двойственного графа. Следо-
Следовательно, граф G не имеет двойственного графа.
Эта теорема характеризует планарные графы, исходя из
Планарность и двойственность 149
двойственных графов; впервые она была доказана Уитни. Используемое здесь
доказательство предложил Парсонс [7.12]. Первоначальное доказательство
Уитни, в котором не используется теорема Куретовского, можно найти в работе
[7.13].
Очевидно, процедура, рассмотренная ранее в этом разделе, может для раз-
различных (хотя и изоморфных) пленарных укладок графа привести к неизоморфным
двойственным графам (упражнение 7.6). В следующей теореме раскрывается
связь между двойственными графами к данному графу.
Теорема 7.14. Все двойственные графы графа G -^ 2-изоморфны; любой граф,
2-изоморфный двойственному графу G, также двойственный к графу G.
Доказательство этой теоремы непосредственно вытекает из определения
двойственного графа и теоремы 1.7.
7.6. Замечания, касающиеся литературы
Для дальнейшего изучения рекомендуются статьи [7.4, 7.11,
7.14] и книги [7.6, 7.13, 7.15, 7.16]. Алгоритм проверки планарности
графа можно найти в работе [7.17].
Представляет интерес следующие две характеристики непланар-
ного графа:
1. Минимальное число планарных подграфов, объединение которых
дает граф G, называется толщиной графа G.
2. Минимальное число скрещиваний (или пересечений) ребер в изо-
изображении на плоскости графа называется числом скрещиваний
графа G.
Некоторые результаты, касающиеся толщины и числа скрещива-
скрещиваний непланарных графов, можно найти в работах [7.6, 7.18].
Упражнения
7.1. Покажите, что если G — связный пленарный граф с т ребрами, п вершинами
и обхватом1' fe^3, то m<-k(n—1I (k—2). Используя этот результат, докажите,
что граф Петерсена непланарный.
7.2. Докажите, что простой пленарный графе п>4 вершинами имеет по крайней
мере четыре вершины степени 5 или меньше.
7.3. Докажите или опровергните: любой связный простой непланарный граф
стягивается к Къ или Кз, а-
7.4. Пусть G — простой граф, имеющий по крайней мере одиннадцать вершин.
Покажите, что G и его дополнение G не могут быть одновременно пленарными.
(На семом деле еналогичный результат можно доказеть, земенив одиннедцеть
не девять [7.19].) Приведите пример текого графа G на восьми вершинах, что
графы G и G одновременно планерны.
7.5. Используя теорему Куратовского, докажите, что граф Петерсена непланар-
непланарный.
7.6. Найдите два неизоморфных графа, двойственных к грефу не рис. 7.12.
7.7. Докажите, что пленарный граф без петель неразделим тогда и только тогде,
когда неразделим двойственный к нему граф.
7.8. Покажите, что двойственный греф к неразделимому планарному графу эйле-
эйлеров тогде и только тогда, когда граф двудольный.
1( Определение обхвата см. в упражнении 1.18.
150
Глава 7
7.9. Пленарный граф является самодвойственным, если он изоморфен двойст-
двойственному к нему графу. Покажите, что если граф G на п вершинах и т ребрах
самодвойственный, то т=2п—2.
7.10. Графом с одной терминальной парой называется граф, две вершины кото-
которого помечены как терминальные. Планарным графом с одной терминальной
парой называется граф с одной терминальной парой, являющийся планарным и
остающийся им после введения ребра, которое соединяет терминальные вершины.
Рис. 7.12.
Параллельно-последовательным графом является граф с одной терминальной
парой, определяемый рекурсивно:
а) отдельное ребро (с концевыми вершинами) есть параллельно-последовательный
граф. Если G' и G" — параллельно-последовательные графы, то
б) последовательная комбинация графов G' и G" есть параллельно-последователь-
параллельно-последовательный граф. Под последовательной комбинацией графов G и G" мы понимаем соеди-
соединение одной из терминальных вершин [рафа G' с одной из терминальных вершин
графа G" (рис. 7.13, а).
Рис. 7.13.
а —последовательная комбинация графов G' и G"; б —параллельная комбинация графов
G' и в".
в) Параллельная комбинация графов G' и G" есть параллельно-последовательный
граф. Под параллельной комбинацией этих графов мы понимаем соединение двух
терминальных вершин графа G' с двумя терминальными вершинами графа G"
(рис. 7.13, б). Покажите, что граф, двойственный к графу G, является параллельно-
последовательным тогда и только тогда, когда граф G — параллельно-последо-
параллельно-последовательный.
8. Связность и паросочетания
В гл. 1 мы определили, что граф является связным, если между
двумя произвольными вершинами существует путь. Предположим,
что граф G связный. Тогда нас может интересовать, «как хорошо»
он связан. Другими словами, нам бы хотелось знать минимальное
число вершин или ребер, удаление которых превращало бы граф G
в несвязный. Это приводит нас к понятиям «вершинная связность»
и реберная связность графа». В настоящей главе мы предлагаем
некоторые результаты, касающиеся вершинной и реберной связно-
стей графа. Обсуждаем также классический результат теории гра-
графов — теорему Менгера, которая соотносит связности с числом вер-
шинно-непересекающихся и реберно-непересекающихся путей.
Паросочетание графа — это множество ребер, никакие два из
которых не имеют общих вершин. В заключительной части этой гла-
главы мы развиваем теорию паросочетаний, начиная ее изучение с тео-
теоремы Холла о свадьбах.
Связность и паросочетания — это широко изученные темы тео-
теории графов. Этим областям принадлежит много глубоких резуль-
результатов теории графов.
8.1. Связность, или вершинная
связность
Связностью х (G) графа G называется минимальное число вершин,
удаление которых из G приводит к несвязному или тривиальному
графу 1}. Величина x(G) называется также вершинной связностью,
чтобы отличить ее от реберной связности, которая будет введена
в следующем разделе.
Например, связность графа на рис. 8.1 равна 2, поскольку
удаление вершин t>i и v2 из него приводит к несвязному графу, а уда-
удаление произвольной вершины не достигает этого. Очевидно, что
связность несвязного графа равна 0.
Рассмотрим граф на п вершинах. Ясно, что v.{G)—n—1, если
граф G полный. Если же он не полный, то имеет хотя бы две несмеж-
несмежные вершины t>i и у2. Удаление из графа G оставшихся п—2 вершин
J) Напоминаем, что тривиальным называется граф, имеющий только одну
вершину (разд. 1.7).
152 Глава 8
приведет к графу, в котором вершины vx и v2 не соединены путем.
Таким образом, если граф G не полный, то x(G)^Cn—2.
Разделяющее множество графа G — это множество вершин, уда-
удаление которых из графа G приводит к несвязному или тривиальному
графу.
Граф называется k-связным, если n(G)^k. Таким образом,
у4 6-связный граф не содержит разделяю-
разделяющих множеств 5 мощности |5|^/fe—1.
Если граф связный, его связность
больше или равна 1. Следовательно,
связные графы 1-связны.
Если связный граф не содержит то-
точек сочленения, то его связность боль-
больше 1. Поэтому связные графы без то-
ис' ' ' чек сочленения 2-связны.
В следующей теореме мы представ-
представляем простую верхнюю границу связности графа.
Теорема 8.1. x(G)«:6(G) для простого связного графа G, где 6(G) — мини-
минимальная степень вершины в графе G.
Доказательство. Рассмотрим произвольную вершину v простого связного
графа G= (V, Е). Пусть Г (у) — множество смежных с у вершин. Ясно, что Г (у) —
разделяющее множество, поскольку удаление его вершин приведет к тривиаль-
тривиальному или несвязному графу, в котором вершина у не соединена ни с одной из
оставшихся вершин. Поэтому и (G)-<|r(y)| для всех y?V. Поскольку G простой
граф, \T(v)\=d(v) и, следовательно, x(G)< min {d(u)}=6 (G).
Если граф G имеет т ребер и л вершин v±, v2, . . . , vn, то из
теоремы 1.1 следует, что d(ni)+d(u2)+. . .+d(on)=2m. Поэтому
n-6(G)<2m и
6(G)<I — I, (8.1)
L n _J
где [_ x J — целая часть х (наибольшее целое, меньшее или равное х).
Объединяя выражение (8.1) с результатом, установленным тео-
теоремой 8.1, получаем следующее утверждение:
Теорема 8.2. Для простого связного графа G, имеющего т ребер и п вершин,
)[_J
Пусть f (k, n) — наименьшее число ребер, которые должен иметь ft-связный
граф на п вершинах. Конечно, мы полагаем k<n. Из теоремы 8.2 следует, что
/(*, n)>\*f\, (8.2)
где [~л:~| —ближайшее целое к х (наименьшее целое, большее или равное х).
Харари [8.1] доказал, что равенство в выражении (8.2) дости-
достигается с помощью специальной процедуры построения й-связного
графа Hh>n, который содержит точно {~ Ы2~] ребер. Процедура
заключается в следующем:
Связность и паросочетания
153
Случай 1. k четно.
Пусть k—2r. Тогда Я2Г] п строится на вершинах v0, vt i>n-i
и две вершины vt и vj смежны, если i—r^.j^.i-\-r, где сложение ве-
ведется по mod п. Граф Н6< 8 представлен на рис. 8.2, а.
V..
Рис. 8.2.
а—Нв,,; б — Я6, 8; в—Я», ,.
Случай 2. k нечетно, п четно.
Пусть k=2r+l. Граф Я2г+11„ получается из графа Н2Т> „ вве-
введением ребер, соединяющих вершины vt и vf для ?=1, 2, . .'. , п12
и y = ?+n/2(mod n). Граф Hs< 8 показан на рис. 8.2, б.
Случай 3. k нечетно, п нечетно.
Пусть k=2r+l. Граф Н2г+1^ „ получается из графа Я2Г) „ вве-
введением ребер, соединяющих вершины vt и Vj для ?=0, 1, 2, ... ,
(л—2)/2 и /=?+("+1)/2 (mod л). Граф Я7ч „ представлен на
рис. 8.2, в.
Легко проверить, что граф Hkt n, построенный указанным обра-
образом, содержит точно f knl2 ~j ребер. Докажем сейчас, что граф tffti n
^-связный.
154 Глава 8
Теорема 8.3. Граф Hk „ Л-связный.
Доказательство.
Случай 1. k=2r.
Поскольку граф Я2г_ „ симметричен, достаточно показать, что вершины
1>0 и va, а=1, 2, . . ., п—1 можно соединить путем после удаления менее чем 2г
вершин. Допустим, что вершины и„ и va нельзя связать путем после удаления 2г—1
вершин vilt V{v . . ., fiar_1 • Один из двух интервалов [0, а], [а, п] содержит,
самое большее, г—1 этих индексов. Предположим, что это интервал [0, а]. Тогда
две последовательные вершины из последовательности, полученной после уда-
удаления вершин и,-,, Vjt viir-i из последовательности вершин и„, их, v2, . . .,
va, соединены ребром (поскольку разность между их индексами меньше или
равна г). Следовательно, существует путь из вершины v0 в вершину va, что про-
противоречит допущению.
Случай 2. k=2r-\-l, n четно.
Допустим, что вершины v0 и va нельзя связать путем после удаления 2г вер-
вершин о,-,, и,-а и,-2 . Если один из двух интервалов [0, а], [а, п] не содержит
последовательных индексов из этого множества, то путь из вершины v0 в вершину
va можно построить так, как „показано в случае 1. Поэтому предположим, что
вершины v0 и va нельзя соединить путем после удаления вершин v-lt vi+l, , , .,
vi+r-i, где 1<(«х—г и va+j, оо+/+1 . • • ¦, fo+/+r-i, где 1</<п—г—а.
Пусть
Тогда Р ^[«+/+/•, и+»—П. Р'^1'+Л> а+/—Ч. Существует путь из вершины г0
в вершину up и из вершины ар< в вершину va. Следовательно, существует путь из
вершины v0 в вершину va, поскольку вершины up и up/ смежны в Hir+itlt.
Случай 3. k=2r-\-i, n нечетно.
Доказательство проводится аналогично случаю 2.
В следующей теореме мы представляем достаточные условия того,, что граф
fc-связен. Этот результат получен Бонди [8.2].
Теорема 8.4. Пусть G — простой граф размерности п. Пусть вершины графа G
упорядочены так, что d(v1)<d(v2)^.. . .<d(un). Тогда граф G fe-связен, если
d(vr)^r-\-k— 1 для 1<л<п—1— d(vn_k + i).
Доказательство. Допустим, простой граф G удовлетворяет условиям тео-
теоремы. Если он не Л-связный, то существует такое разделяющее множество S, что
\S\=s<k.
Рассмотрим граф G—5, который должен быть несвязным. Пусть Н — ком-
компонента графа G—5 минимального порядка Л. Тогда степень каждой вершины в
графе Н не больше Л—1. Следовательно, в графе G степень каждой вершины графа
Н не превышает h+s—1. Таким образом,
dfaftXA+s—КЛ + А-1. (8.3)
Поэтому по условиям теоремы
Л>/»-1-«(о„_*_1). (8.4)
Так как граф G—5 имеет п—s вершин, а Я — компонента графа G—5 минималь-
минимального порядка, то й<:п—s—Л, или h-\-s<n—h.
Следовательно,
d(v)*sz,h+s— 1<п—Л— 1, o?V{H), (8.5)
где V(Н) — множество вершин графа Н. Так как каждая вершина u?V(G)—
— V(H)~S смежна не больше чем с п—h—1 вершинами
й((ы)<л — h— I, u?V (G)~V (И) — S. (8.6)
Связность и паросочетания
155
Из выражений (8.5) и (8.6) следует, что все вершины степени больше п—h—1
находятся bS. Следовательно, существует не более «вершин степени, превыша-
превышающей п—h—1. Поэтому
<*<oB_,)<n-h-l. (8.7)
Используя выражения (8.4) и (8.7), получим d(vn-s)<d(vn_k+1). Следовательно,
п—s<n—k-\-l или s^k, что противоречит допущению.
Например, степени вершин графа на рис. 8.3 удовлетворяют условиям тео-
теоремы 8.4 для &=3. Следовательно, он 3-связный.
Рис. 8.3. 3-связный граф, удовлетворяющий условиям теоремы 8.4 для случая
fe3
8.2. Реберная связность
Реберная связность x'(G) графа G — это минимальное число ре-
ребер, удаление которых из графа приводит к несвязному или триви-
тривиальному графу. Другими словами, x'(G) — число ребер в разрезе
с минимальным числом ребер. Например, для
графа на рис. 8.4 реберная связность равна 2,
поскольку удаление двух ребер еу и е2 делает
граф несвязным, а удаление произвольного од-
одного ребра не приводит к несвязному графу.
Граф G называется k-реберно-связным, если
y.'{G)~^k. Таким образом, чтобы сделать несвяз-
несвязным й-реберно-связный граф, необходимо уда-
удалить хотя бы k ребер.
Поскольку ребра, инцидентные любой вер-
вершине v графа G, образуют разрез, то x'(G).<^8 (G).
В следующей теореме мы связываем величины
x(G), Jt'(G) h6(G).
Теорема 8.5. Для простого графа x(G)<x' (G)<d(G).
Доказательство. Второе неравенство мы уже доказали. Первое неравенство
можно доказать следующим образом:
Если G — несвязный граф, то x(G)=x' (G)=0. В этом случае условие x(G)<:
<:я'(G) выполняется.
Если G— связный граф и x'(G)=I, то граф G имеет мост е.
Если мы удалим в этом случае одну из вершин, с которыми инцидентен мосте,
то получится несвязный или тривиальный граф. Следовательно, и в этом случае
условие x(G)«x'(G) выполняется.
Рис. 8.4. 2-реберно-
связный граф.
156 Глава 8
Предположим, х' (G)>2. Тогда в графе G имеется х' (G) ребер, удаление
которых делает его несвязным. Удаление любых х' (G)—1 из этих ребер приводит
к графу с мостом е— (vlt v2). Для каждого из этих к' (G)—1 ребер выберем конце-
концевую вершину, отличную от вершин ut и v2. Удаление этих вершин приведет к
удалению из графа GW (G)—1 ребер и, возможно, еще некоторых. Предположим,
что получившийся граф несвязный. Тогда x(G)O<'(G)—1. В противном случае
граф будет иметь мости, и поэтому удаление вершины v1 или v2 приведет к несвяз-
несвязному или тривиальному графу. В этом случае x(G)<x'(G).
Таким образом, во всех случаях x(G)o<'(G).
Сейчас мы представим достаточные условия того, что х' (G) равно 6(G). Этот
результат получен Чартрэндом [8.3].
Теорема 8.6. Пусть G— простой граф на п вершинах. Если 6(G)^\_n/2 J, то
x'(G)=6(G).
Доказательство. Можно показать, что G — связный граф (упражнение 1.14).
Поэтому к' (G)>0. Так как к' (G)<6 (G), теорема будет доказана, если мы покажем,
что x'(G)>6(G).
Допустим, что x'(G)<6(G). Тогда существует такой разрез 5=<V1, Vi>, что
у! (G)=|5|<6(G). Пусть ребра из разреза 5 инцидентны q вершинам множества
V1 и р вершинам множества V±.
Допустим, 1^11=^. Тогда каждая вершина множества Vx является концевой
вершиной по крайней мере одного ребра разреза 5. Если обозначить через d
порожденный подграф графа G на множестве вершин множества Vi, то Gj имеет
по крайней мере m1=1/2[q6(G)—х'(G)] ребер. Поскольку x'(G)<6(G), то т{>
>1/2(q6(G)—5(G))=1/25(G)(q—l)>1/2q(q—\), так как 6(G)>x' (G)>q. Это про-
противоречит тому, что в простом графе не может быть больше чем q(q—1)/2 ребер,
соединяющих q вершин. Поэтому |Kil><7. Аналогично доказываем, что |Kil>p.
Если |ViJ>9 и \V-i\l>p, то во множествах Vi и Vi имеются вершины, смежные
только с вершинами множеств Vi и Уг соответственно. Следовательно, каждое из
множеств V1 и Vi содержит по крайней мере по 6(G)-j-l вершин. Таким образом,
граф G содержит не менее 26 (G)+2 вершин. Но 26 (G)+2>2|_n/2 J+2>n, что
противоречит условию. Следовательно, не существует разреза 5 с |5|<б@).
8.3. Графы с заданными степенями
Напомним, что последовательность (di, d2, . . . , dn) неотрица-
неотрицательных целых чисел называется графической, если существует
граф с такими вершинами уь у2 vn, что вершина vt имеет сте-
степень di.
В этом разделе сначала опишем алгоритм построения простого
графа (если он существует), имеющего заданную последователь-
последовательность степеней. Затем мы используем этот алгоритм для установле-
установления теоремы Эдмондса о существовании fe-реберно-связных простых
графов, имеющих заданные последовательности степеней.
Рассмотрим графическую последовательность (dly dit . . . , dn),
упорядоченную по убыванию: d{^d^. . .~^dn. Пусть dt — степень
вершины vt. «Изъять dh» означает соединить соответствующую вер-
вершину vk с вершинами vlt v2 tv., если dk<.k, или vlt y2, • ¦
. . . , Vh-i, vk+1, . . . , Vdk+i, если dk^k. Последовательность (dx—1,
• • ¦ , ddk—1, ddk+i dh-i, 0, dh+u . . . , dn), если dk<ik, или
№—1, .... dft-i—1, 0, rffe+i—1 djk+1—\, dak+i, . . . , dn),
Связность и паросочетания 157
если dk^k, называется остаточной последовательностью после изъя-
изъятия dh или просто остаточной последовательностью.
Хакими [8.4] и Гавел [8.5] предложили алгоритм построения
простого графа (если он существует), имеющего заданную последова-
последовательность степеней. Этот алгоритм основан на результате, являю-
являющемся частным случаем (при k—\) следующей теоремы, доказанной
Вонгом и Клейтманом [8.6].
Теорема 8.7. Если последовательность (d1( d2, . . ., d{), d{^d^. , .^dn,
является последовательностью степеней простого графа, то этим свойством об-
обладает и остаточная последовательность после изъятия d^.
Доказательство. Для доказательства нам необходимо показать, что суще-
существует такой граф с последовательностью степеней (dx, d2, . . ., dn), в котором
вершина v^ смежна с первыми d^ вершинами, отличными от самой вершины v^.
Допустим противное. Выберем среди графов с последовательностью степеней
(dj, d2, . . ., dn) простой граф G, в котором вершина v^ смежна с максимальным
числом вершин из первых dk вершин, отличных от vk. Пусть vm— такая вершина,
не смежная с вершиной v^ в графе G, что m<dk, если d^<Ji или m<dfc+l. если
fe«:dfc. Другими словами, вершина vm находится среди первых d^ вершин, не
считая саму вершину v^. Поэтому последняя смежна в графе G с некоторой вер-
вершиной v9, не входящей в число первых d^ вершин. Тогда dm>dk (если бы было
равенство, т и q можно было поменять местами) и, следовательно, вершина vm
смежна с некоторой такой вершиной v^, t=?q, гфт, что вершины Vf и vq не смежны.
Теперь, если заменить ребра (vm, v{) и (и^, vg) на {рт, и^) и (vf, v^) соответственно,
мы получим граф G', в котором число первых d^ вершин, отличных от вершин
Vjt и смежных с ней, на 1 больше, что противоречит определению графа G.
Эта теорема предлагает следующий алгоритм, являющийся обоб-
обобщением алгоритма Хакими реализации последовательности D =
=(du d2 dn), di>d2>. . .35sdn, простым графом.
Выберем произвольное dh^0. «Изымем» dh, соединяя вершину
vh с первыми dk вершинами, не считая саму vh. Определим остаточ-
остаточную последовательность. Переупорядочим вершины так, чтобы оста-
остаточные степени в получившейся последовательности были невоз-
растающими. Повторяем этот процесс до тех пор, пока не возникнет
одна из следующих ситуаций:
1. Все остаточные степени равны нулю. В этом случае получивший-
получившийся граф имеет последовательность степеней D.
2. Одна из остаточных степеней отрицательна. Это означает, что
последовательность D не графическая.
Для иллюстрации описанного алгоритма рассмотрим последова-
последовательность
D=> D 3 © 2 2).
После изъятия da (обведенной кружком), получим последователь-
последовательность
о, t>2 и3 и4 "з
!>'- C2012)
158
Глава 8
которая после переупорядочения остаточных степеней принимает
вид
Vl »l l>5 t>4 Oj
0|- C 2 © l 0).
Затем, изымая степень, соответствующую вершине и5, получим
B
2 «5 «4 °3
10 1 0)-
Переупорядочивая остаточные степени в D[, получим
и, о2 о4 о5 v}
D2~ (©I 1 О О).
Теперь, изымая степень, соответствующую вершине vu получим
°l vl «4 «5 «3
/>о= @0000)
Здесь алгоритм заканчивает работу. Поскольку все остаточные сте-
степени равны нулю, последовательность D, 3, 3, 2, 2) графическая.
Требуемый граф (рис. 8.5) получается в ре-
результате выполнения шагов, соответствующих
порядку изъятия степеней:
1. Соединяем вершину vs с vu v2 и v4.
2. Соединяем вершину у6 с vt и у2.
3. Соединяем вершину Oi с », и vt.
Эрдёш и Галлаи [8.7] определили необхо-
необходимые и достаточные условия (неалгоритми-
ческого типа) того, что последовательность
графическая. Их результат описывается так-
же в работе [8.8].
Предположим, что в описанном алгоритме
мы изымаем на каждом шаге наименьшую ненулевую остаточную
степень. Тогда с помощью индукции легко показать, что получаю-
получающийся граф связен, если
Рис. 8.5. Граф с по-
следовательностьюсте-
пеней D, 3, 3, 2, 2).
1 для всех /,
df>2(n-l).
(8.8)
(8.9)
Заметим, что выполнение неравенств (8.8) и (8.9) необходимо, чтобы
граф был связным. В следующей теореме мы доказываем более
Связность и паросочетания 159
сильный результат. Он получен Эдмондсом [8.9]. Данное здесь
доказательство предложили Вонг и Клейтман [8.10].
Теорема 8.8 (Эдмондс). Необходимым и достаточным условием того, что
графическая последовательность (dv d2, . . ., dn) есть последовательность степеней
простого &-реберно-связного графа при ?>2, является выполнение для всех сте-
степеней d{^k.
Доказательство. Необходимость очевидна.
Для доказательства достаточности покажем, что алгоритм, который мы
только что описали, приводит, в случае когда все степени в данной графической
последовательности больше или равны k, к Л-реберно-связному графу. Заметим,
что на каждом шаге алгоритма мы должны изымать наименьшую ненулевую
остаточную степень.
Доказываем с помощью индукции. Допустим, что алгоритм действует для
всех последовательностей, в которых каждая степень d,4>p, p<k—1.
Теперь необходимо показать, что в графе, построенном с помощью алго-
алгоритма, любое разрезающее множество <Л, А> содержит по меньшей мере k ребер.
Доказательство этого тривиально, если |Л|=1 или |Л| = 1. Допустим, что |Л|>2
и |1|>2.
На некотором шаге алгоритма, например г (шаг, на котором r-я вершина
полностью связана), следующие случаи полностью охватывают возможные ва-
варианты:
Случай 1. Все ненулевые остаточные степени не меньше k.
Случай 2. Все ненулевые остаточные степени не меньше k—1, и существует хотя
бы одно ребро, построенное на шагах 1, 2, . . ., т и лежащее в множестве <Л, <4>.
Случай 3. Все ненулевые остаточные степени не меньше k—2, и существует хотя
бы два ребра, построенных на шагах 1,2,. . ., г и лежащих во множестве <Л, Л>.
Во всех трех случаях по индуктивному предположению разрезающее множество
<Л, Ау содержит не менее k ребер.
Докажем полноту описанных случаев. Пусть и,- — вершина, соединяемая
с другими на шаге i. He нарушая общности, будем считать, что вершина ох нахо-
находится во множестве А. Покажем, что если случаи 1 и 2 не возникают, то на не-
некотором шаге алгоритма возникнет случай 3.
На шаге 1 вершина vt полностью связна. Тогда а) наименьшие ненулевые
остаточные степени равны k—1, поскольку случай 1 не возникал; б) степени ни
одной из вершин А не уменьшались на 1 при соединении вершины vlt поскольку
случай 2 не возникал. Следовательно, связываемая на шаге 2 вершина иа должна
быть в А. (Все вершины А должны иметь степень, не меньшую k.) Если после
соединения вершины и2 не возникает случай 1 н никакое из ребер не связывает А
с А, тогда все еще, как и прежде, мы имеем случай а или б. Следовательно, сле-
следующая связываемая вершина будет снова в А.
Так как остаточные степени на каждом шаге процедуры соединения вершин
уменьшаются, то рано или поздно будет связана такая лежащая в А вершина
vr, что между А к А появится ребро. Если не возникает случай 2, то одна из
ненулевых остаточных степеней вершин, лежащих в Л и еще не полностью свя-
связанных, станет равной k—2. Это означает, что вершина vr должна соединяться
с каждой вершиной А, поскольку все вершины А имеют остаточные степени,
равные k, и вследствие того, что мы соединяем вершину vr с вершинами, имею-
имеющими наибольшие остаточные степени. Так как |Л|^2, на этом шаге возникает
случай 3.
Вонг и Клейтман [8.6] определили также необходимые и доста-
достаточные условия, что графическая последовательность является по-
последовательностью степеней простого Л-вершинно-связного графа.
160 Глава 8
8.4. Теорема Менгера
В этом разделе мы представляем классический результат теории
графов — теорему Менгера [8.11]. Она поможет соотнести связность
графа с числом вершинно-непересекающихся путей между двумя
различными вершинами графа.
Теорема 8.9 (Менгер). Минимальное число вершин, удаление которых из
графа разделяет две несмежные вершины s и /, равно максимальному числу вер-
вершинно-непересекающихся s—/-путей графа.
Доказательство этой теоремы дается в разд. 15.7.
Теорема 8.10. Чтобы простой граф G= (V, Е), |K|>fc+l-, был Л-связным,
необходимо и достаточно, чтобы между любыми вершинами s и t в графе G про-
проходило k вершинно-непересекающихся s—/-путей.
Доказательство. Очевидно, что теорема верна при k=l. Следовательно,
необходимо рассмотреть вариант &>2.
Необходимость. Если s и / не смежны, то необходимость следует из теоремы 8.9.
Предположим, что s и / смежны и что в графе G существует, самое большее,
k—1 вершинно-непересекающихся s—/-путей. Пусть е= (s, /). Рассмотрим граф
G'=G—е. Поскольку в графе G было не больше k—1 вершинно-непересекающихся
s—/-путей, в графе О' их не может быть больше k—2. Таким образом, в графе О
существует множество A^V—{s, /} вершин, И|<&—2, удаление которых раз-
разделяет s и /. Тогда \V—Л| = |У|—|Л|>&+1—(k—2) =3 и, следовательно, су-
существует вершина и ? V—А, отличная от s и /.
Теперь покажем, что в графе О' существует s—и-путь, не содержащий вершин
из А. Ясно, что это верно, если s и и смежны. Если s и и не смежны, тогда в графе
G имеется k вершинно-непересекающихся s—ы-путей и, следовательно, в графе
G' имеется k—1 вершинно-непересекающихся s—ы-путей. Поскольку |Л|<&—2,
хотя бы один из этих k—1 путей не содержит всех вершин А.
Аналогичным образом можно показать, что в графе G' имеется и—/-путь,
который не содержит любую вершину А. Таким образом, в G' существует s—/-
путь, не содержащий любую вершину А. Это же противоречит тому, что А —
разделяющее вершины s и / множество в графе G'. Следовательно, необходимость
доказана.
Достаточность. Поскольку между двумя различными вершинами графа G
имеется k вершинно-непересекающихся путей, G — связный граф. Более того,
не более чем один из этих путей может иметь длину 1, так как в графе G нет па-
параллельных ребер. Объединение оставшихся k—1 путей должно содержать по
крайней мере k—1 различных вершин, отличных от s и/. Поэтому |К|>(&—1)+2>
>k
Допустим, что в графе G имеется такое разделяющее множество А, что \А \ <Jt.
Рассмотрим тогда подграф G' графа G на множестве вершин V—А. Он имеет по
меньшей мере две компоненты. Если мы выберем две вершины s и / из различных
компонент подграфа G', то в графе G имеется, самое большее, |Л|<? вершинно-
непересекающихся s—/-путей. Это противоречит тому, что любые две вершины
графа G связаны k вершинно-непересекающимися путями.
Следовательно, достаточность доказана.
Этот результат получен Уитни [8.12]. Поскольку он является
попросту вариацией теоремы 8.9, будем говорить также о нем как
о теореме Менгера.
Рассмотрим два частных класса й-связных графов: двусвязные
и трехсвязные графы. Существует несколько эквивалентных харак-
теризаций двусвязных графов. Некоторые из них уже приведены в
упражнениях к гл. 1.
Связность и паросочетания 161
Татт охарактеризовал трехсвязные графы, исходя из частного
класса графов, называемых колесами.
Рассмотрим цикл С длины п. Если мы добавим новую вершину
и соединим ее со всеми вершинами цикла С, то получим колесо
Wn+1. Например, колесо W-, представлено на рис. 8.6.
Рис. 8.6. Колесо №,.
Характеризация Татта [8.13] трехсвязных графов формулируется
в следующей теореме:
Теорема 8.11. Простой граф G трехсвязный тогда и только тогда, когда он
является колесом или его можно получить из колеса последовательностью опе-
операций следующих типов:
1. Введением нового ребра.
2. Заменой вершины v степени не меньше 4 двумя такими смежными вершинами
v' и v" степеней не менее 3, что каждая вершина, смежная первоначально с
вершиной v, становится смежной точно с одной из вершин v' и v".
Закончим этот раздел характеризацией &-реберно-связных графов. Эта
характеризация аналогична теореме 8.9, называемой теоремой Менгера, хотя
открыта независимо Фордом и Фалкерсоном [8.14], а также Элиасом, Файнстей-
ном и Шенноном [8.15].
Теорема 8.12. Минимальное число ребер, удаление которых из связного
графа G разделяет две различные вершины s и t, равна максимальному числу
реберно-непересекающихся s—^-путей в графе G.
Доказательство этой теоремы приводится в разд. 15.7
8.5. Паросочетания
В этом и последующих разделах главы будут обсуждаться про-
проблема, называемая задачей о свадьбах, и связанные с ней задачи.
Имеется конечное множество юношей, у каждого из которых есть
несколько подруг. При каких условиях можно поженить юношей
так, чтобы каждый женился на одной из своих подруг? (Разумеет-
(Разумеется, никакая девушка не выходит замуж более чем за одного юношу!)
Эта задача ставится в теоретико-графовых терминах следующим
образом:
Построить двудольный граф G, в котором вершины хи х2, . . .
... , хп представляют юношей, а вершины ух, у2, . ¦ . , ут — де-
девушек. Ребро (xt, yj) присутствует в графе G тогда и только тогда,
когда ijj — подруга xt. Тогда задача о свадьбах равносильна нахож-
нахождению в графе G такого множества ребер, что никакие два из них не
имеют общую вершину и каждая вершина xt является концевой
одного из ребер.
6 № 1449
162
Глава 8
Например, предположим, что имеются четверо юношей: bt, b2,
Ь3 и Ьх, а также четыре девушки: gu g2, g3 и g4; их взаимоотношения
представлены следующим образом: bx-> {gi}, 62-> {g2}, bs-> {glt
g2}, bi->{g3, gi).
Двудольный граф, характеризующий данный случай, представ-
представлен на рис. 8.7. Легко выяснить, что невозможно поженить всех че-
четырех юношей так, чтоб каждый женился на одной из своих подруг.
Однако можно женить трех юношей, не нарушая при этом требова-
требований задачи о свадьбах. Например, возможны два следующих набора
таких пар: фи gi), (b2, g2), (pi, gs); (bu gi), (bs, g2), (bit g-4). Рассмотре-
Рассмотрение задачи о свадьбах приводит нас к определению паросочетания
графа.
Два ребра называются независимыми, если они не имеют общей
вершины. Говорят, что ребра ех, е2, . . . независимы, если каждая их
пара не имеет общей вершины.
Паросочетание — это множество независимых ребер графа.
Например, паросочетанием является {еь е4} в графе на рис. 8.8.
Рис. 8.7.
Рис. 8.8.
Очевидно, максимальное по включению паросочетание — это
максимальное по включению множество независимых ребер. Так,
в графе на рис. 8.8 максимальным по включению паросочетанием
является {еи е4}, в то время как {е6, ее} таковым не является.
Паросочетание с наибольшим числом ребер называется макси-
максимальным паросочетанием. Множество {еь еь, е6} — это максималь-
максимальное паросочетание в графе на рис. 8.8. Число ребер в максимальном
паросочетании графа G будет называться числом паросочетания
графа G и обозначаться через ai(G).
Вершина называется насыщенной в паросочетании М, если она
концевая вершина ребра М. Например, вершина v паросочетания
{еь еь, ее] в графе на рис. 8.8 насыщенна.
Далее двудольный граф G=(l/, E) с разбиением (X, Y) будем
обозначать тройкой (X, Y, Е).
Будем говорить, что множество X паросочетается с Y в дву-
двудольном графе (A', Y, Е), если существует такое паросочетаниг М,
Связность и паросочетания 163
что каждая вершина X насыщена в М. Паросочетание М в этом слу-
случае называется полным паросочетанием X с Y.
В этих терминах задача о свадьбах становится равносильной оп-
определению необходимых и достаточных условий существования в
двудольном графе (X, Y, Е) паросочетания X с Y. В следующем
разделе мы приводим результаты, касающиеся паросочетаний в дву-
двудольных графах, а также решение задачи о свадьбах.
8.6. Паросочетания в двудольных
графах
Рассмотрим двудольный граф G=(X, Y, Е). Пусть S — произ-
произвольное подмножество X, a T(S) — множество вершин, смежных с
вершинами S. Предположим, что |S|>|F(S)|. Ясно, что тогда не
существует полного паросочетания S с Г (S) и что любое паросоче-
паросочетание М в графе G будет насыщать не более |T(S)| вершин S. По-
Поэтому
|M|<|X|-(|S|-|r(S)|). (8.10)
Поскольку выражение (8.10) справедливо для любого подмножества
5 множества вершин X, можно заключить, что для любого паросоче-
паросочетания М
|Х| —max(|S| —|r(S)|). (8.11)
Введем определение дефицита о (S) подмножества S множества
X и дефицита a (G) графа G в виде
<x(S)HS|-|r(S)|, (8-12)
c(G) = max (| 51 —| Г E) |). (8.13)
Используя выражение (8.13), перепишем теперь неравенство (8.11)
в виде
|X|-a(G). (8.14)
Основной результат этого раздела заключается в том, что в дву-
двудольном графе G=(X, Y, Е) существует паросочетание, содержащее
\Х\—ct(G) ребер. Другими словами, мы покажем, что число ребер
в максимальном паросочетаний графа G равно \Х\—o(G). Доказа-
Доказательство состоит из двух частей. Сначала мы рассмотрим случай
a(G)=0, затем случай cr(G)>0. (Заметим, что a(G)^O, поскольку
для пустого множества 0 <т@)=О.)
Случай cr(G)=O имеет место, когда для каждого подмножества
SsX справедливо неравенство |S|^|r(S)|, а случай a(G)>0, когда
для некоторого подмножества справедливо неравенство |S|>|r(S)|.
Следующий результат получен Холлом [8.16]. Используемое нами
доказательство предложили Халмос и Вохган [8.17],
6*
164 Глава 8
Теорема 8.13 (Холл.) В двудольном графе G= (X, Y, Е) существует полное
паросочетание X с Y тогда и только тогда, когда для любого S^X справедливо
неравенство |5|<|ГE)|.
Доказательство, Необходимость. Из выражения (8.14) следует, что для пол-
полного паросочетания X с Y необходимо, чтобы a(G)=0, т. е. |5|-<|ГE)|, БЯ^Х.
Достаточность. Доказательство проведем индукцией по \Х\, числу вершин
в X. Если 1X1 = 1, то очевидно, что существует полное паросочетание X с Y,
так как единственная вершина X должна быть смежна по меньшей мере с одной
вершиной Y.
В качестве индуктивного предположения допустим, что достаточность спра-
справедлива для любого двудольного графа с \Х\^.т—1. Рассмотрим двудольный
граф G— (X, Y, Е) с \Х\=т. Пусть для каждого подмножества S множества X
справедливо неравенство |S|<|F(S)|. Проверкой следующих случаев покажем,
что существует полное паросочетание X с Y.
Случай 1. Для каждого непустого собственного подмножества S<=X|S|<
ГE)|
()|
Выберем произвольное ребро (xq, у0), хо?Х, yo?Y. Пусть G — граф, получен-
полученный из графа G удалением хй и уа и инцидентных им ребер. Так как вершины
любого подмножества S<~X—{х0} смежны с более чем \S\ вершинами Y, то они
смежны не менее чем с \S\ вершинами Y—{у0}. Поэтому по индуктивному пред-
предположению существует полное паросочетание X—{х0} с Y—{у0}. Это паросоче-
паросочетание вместе с ребром (xQ, y0) дает полное паросочетание X с Y.
Случай 2. Существует такое непустое подмножество S0^X, что |S0|= |Г (So)|.
Пусть G' — подграф графа G, содержащий вершины множеств So и Г (So)
и соединяющие эти вершины ребра, а G" — подграф графа G, содержащий вер-
вершины множеств X—So и Y—Г (So) и соединяющие их ребра.
Покажем, что в подграфе G' существует полное паросочетание So с ГE0),
а в подграфе G" — полное паросочетание X—So с Y—ГE0). Эти паросочетания
образуют в совокупности полное паросочетание X с Y.
Рассмотрим сначала подграф G . Пусть для любого подмножества S<^S0
Г'E) означает множество вершин ГE0), смежных с вершинами 5. Тогда ясно,
что Г'E)=ГE), S9=S0. Поскольку для любого подмножества |5|<|ГE)|=
= |Г'E)|, из индуктивного предположения следует, что существует полное па-
паросочетание So с Г (So).
Теперь рассмотрим подграф G". Пусть для любого подмножества множества
X—So величина Г" (S) означает множество вершин Y—F(S0), смежных с вер-
вершинами S. Для любого S^X—So |SUS0|=|S|+|S0|<|r(SUS0)|=|r"(S)| +
|+|r(S0)|. Поскольку |S0|=|r(S0)|, получаем, что |S|<s|r" (S)\, S^X—S0. Та-
Таким образом, из индуктивного предположения снова следует, что существует пол-
полное паросочетание X—So с Y—F(S0). Следовательно, достаточность доказана.
Как мы установили ранее, теорема 8.13 дает решение задачи о свадьбах,
оно формулируется следующим образом:
Теорема 8.14 (Холл). Для решения задачи о свадьбах необходимо и доста-
достаточно, чтобы любое подмножество из k юношей имело вместе не менее k подруг,
1<:й<:/л, где т — число юношей.
Теорема 8.13 является простым переводом теоремы 8.14 на теоретико-гра-
теоретико-графовый язык.
Теперь мы докажем, что если a(G)>0, то число ребер в максимальном паро-
сочетании равно | X |—a (G). Чтобы сделать это, необходимы следующие две леммы:
Лемма 8.1. Пусть Sx и 52 — произвольные подмножества X. Тогдас^и^г)"!"
+0(S1nS2)>a(S1)+a(S2).
Доказательство. Простым упражнением является доказательство того, что
+ |S1nS2| = |S1| + |S2|. (8.15)
Поскольку ir(SiUS2)(=|F(S1)ur(Sii)| и |F(S1nS2)|<[F(S1)nr(S2)|, то
|Г (SxUSi) 1 + 1 Г (SiPlS,) |< | Г (SJUr (S2) | +
+ 1 Г (Sjnr (SJ 1 = 1 Г (SJI + ir (S2) |. (8.16)
Связность и паросочетания 163
Подставляя выражение (8.16) в выражение (8.15), получим а (Sx L)S2)+0 (S1
5| + |5||ГE)||ГE)| E)+E)
1| 21||B) A)B)
Лемма 8.2. Пусть S1 и S, — такие подмножества X, что 0E1)=0E2)=a(G).
Тогда a(S1US2)=a(SinS2)=^a(G).
Доказательство. По лемме 8.1 aE1US2)+aE1n52)>aE1)+aE2)=2a(G).
Так как ни a(Sj|JS2)> ни ст^ПЗг) не превышают 0(G), получаем
5U5)(SnS)(G)
1
Теорема 8.15. Число ребер в максимальном паросочетании двудольного
графа G= (X, Y, Е) с a(G)>0 равно \X\—a(G).
Доказательство. Пусть 5Ь 52 5& — все подмножества X с дефицитом,
равным a(G). Пусть также 50=51П52П. . .f)Sk. По лемме 8.2 a(S0)=o(G)>0.
Таким образом, So непусто. Следовательно, каждое подмножество X, имеющее
дефицит a(G), содержит 50.
Рассмотрим произвольную вершину х0 в 50. Пусть G' — граф, полученный
удалением из графа G вершины *0 и всех инцидентных ей ребер. Очевидно, что
o(G')<.o(G), так как никакое подмножество множества X—{х0} не содержит
50. Покажем, что a(G')=a(G)—1.
Рассмотрим множество 5о=5о—{*0}. Имеем оEо)|=|5о|—|r(So)|=|So|—1—
-|Г(S'o)\. Поскольку aEo)<0(G), получаем \S0\—1—|Г (So)|<|So|—|Г (So)|, т.е.
|r(Sj)|^|r(S0)|. (8.17)
С другой стороны, так как So — подмножество So, то
|ГE;)|<|ГEО)|. (8.18)
Объединяя выражения (8.17) и (8.18), получим |Г Eо)|= |ГE0)|. Поэтому аEо)=
= |S0|—1—|ГE„)| = a(G)—1. Поскольку a(G')<a(G), мы можем заключить, что
a(G')=cr(G)—1.
Если мы будем повторять эти рассуждения до тех пор, пока из X не будет
удалено соответствующее множество из a (G) вершин вместе с инцидентными им
ребрами, получим подграф графа G с дефицитом, равным нулю. По теореме 8.13
существует полное паросочетание такого подграфа. Оно будет паросочетанием
графа G, содержащим \Х\—o(G) ребер. Очевидно, что из выражения (8.14) сле-
следует, что это паросочетание будет максимальным паросочетанием графа G.
Теоремы 8.13 и 8.15 можно объединить в одну. Вследствие ее важности мы
представим ее ниже [8.18, 8.19].
Теорема 8.16 (Кёниг). Число ребер в максимальном паросочетании двудоль-
двудольного графа G= (X, Y, Е) равно \Х\—o(G), где o(G) — дефицит графа G.
Следствие 8.16.1. В непустом двудольном графе G= (X, Y, Е) существует
полное паросочетание X с Y, если min{d(x)}^ max {d(y)}.
хйХ yeY
Доказательство. Пусть min {d(*)}=d1 и max {d(у)}—d2. Рассмотрим про-
хеХ yaY
нзвольное подмножество А множества X. Пусть ?j — множество ребер, инци-
инцидентных вершинам А, а ?2 — множество ребер, инцидентных вершинам Г (Л).
Тогда I^OI^Idi и |?2|<|Г(Л)|<*2. Поскольку Е^Ег, то |r(^)|d2>|?'2|>|?'i|>
llz\A\d1. Поэтому |Г(Л)|^|Л|, АЯкХ. Таким образом, по теореме Холла сущест-
существует полное паросочетание X с Y.
Теперь рассмотрим два связанных с теоремой Холла результата.
Первый принадлежит теории трансверсалей.
Пусть М — непустое конечное множество, a S={Slt S2, . . .
. . ., Sr} — семейство (не обязательно различных непустых подмно-
подмножеств множества М. Тогда трансверсаль (или система различных
представителей) семейства S есть множество г различных элемен-
элементов множества М, по одному из каждого множества Sf
166 Глава 8 _
Например, если Л* = {1, 2, 3, 4, 5, 6}, Si={l, 3, 4}, Sa={l, 3, 4},
S3={1, 2, 5} и S4{5, 6}, то {1, 3, 2, 6} является трансверсалью се-
семейства S={Sf, S2, S3, S4}. С другой стороны, если S1=S2={1, 3},
S3={3, 4} и S4={1, 4}, то для семейства {Si, Sit S8, S4} трансвер-
саль не существует.
Возникает вопрос: каковы необходимые и достаточные условия
того, что семейство подмножеств множества имеет трансверсаль?
Построим такой двудольный граф G=(X, Y, Е), что
1) вершина х% ? X соответствует множеству St семейства S;
2) вершина yt ? Y соответствует элементу i множества М;
3) ребро (xit У})?Е тогда и только тогда, когда /?S,.
Теперь становится ясно, что поставленный вопрос эквивалентен
задаче нахождения полного паросочетания X с Y в только что
построенном двудольном графе. Таким образом, получаем следую-
следующую теорему, которая просто переводит теорему Холла на язык
теории трансверсалей.
Теорема 8.17. Пусть М — непустое множество, а 5= {Si, S2, ¦ ¦ •> Sr} —
семейство подмножеств множества М. Тогда 5 имеет трансверсаль тогда и только
тогда, когда объединение произвольных к (!•<?¦</¦) подмножеств 5,- содержит
не менее элементов множества М.
Чисто комбинаторное доказательство этой теоремы без исполь-
использования понятий теории графов дано Радо. Его очень элегантное
доказательство можно найти в работе [8.20].
Следующий результат связан с матрицами, имеющими только
нулевые и единичные элементы. Такие матрицы называются @,/)-
матрицами. Далее под линией матрицы будем понимать ее строку
или столбец.
Теорема 8.18 (Кёниг и Эгервари). Минимальное число линий, содержащих
все «1» в @,1)-матрице, равно максимальному числу «1», никакие две из которых
не находятся на одной линии матрицы М.
Дана @,1)-матрица М порядка тХп. Построим такой двудоль-
двудольный граф G—(X, Y, Е), что
\) вершины Xf, хг, . . . , хт ? X соответствуют т строкам матри-
матрицы М;
2) вершины г/i, г/2, ... , уп ? Y соответствуют п столбцам матри-
матрицы М;
3) ребро (xt, у{)?Е, если элемент (t, /) матрицы М равен 1.
Если мы рассмотрим вершину как покрывающую все инцидентные
ей ребра, то теорему Кёнига — Эгервари можно переформулировать
следующим образом:
Минимальное число вершин двудольного графа, покрывающих
все ребра, равно числу ребер в любом максимальном паросочетании
графа.
В гл. 9 (теорема 9.2) мы докажем теорему Кёнига — Эгервари
в этой формулировке.
Связность и паросочетания
167
8.7. Паросочетания графов общего вида
В этом разделе мы сформулируем результаты, относящиеся
к паросочетаниям графов общего вида.
Рассмотрим граф G=(V, Е) и его паросочетание М. Чередующаяся
цепь графа G — это цепь, ребра которой входят поочередно в М
и (Е—М). Например, последовательность ребер еи еа, е3, eit e,, es
является чередующейся цепью по отношению к паросочетанию Л1 =
--{е2, е4> ев} графа на рис. 8.9. Те ребра чередующейся цепи, которые
принадлежат М, будем называть темными ребрами, а те, что при-
принадлежат Е—М,— светлыми ребрами. Следовательно, еь е3, е7 —
светлые ребра, а е2, eit ев — темные ребра рассмотренной чередую-
чередующейся цепи.
Теорема 8.19. Пусть Mi и М2 — паросочетания простого графа G= (V, Е),
a G'= (V, Е') — порожденный подграф графа G на множестве ребер Л11ф/И2=
= (М±—M2)\J (M2—Mj), Тогда подграф G' содержит компоненты только сле-
следующих двух типов:
1. Цикл четной длины, ребра которого входят поочередно в Мг и М2.
2. Путь, в котором ребра входят поочередно в Мг и М2, а концевые вершины
в одном из паросочетаний не насыщены.
Доказательство. Рассмотрим произвольную вершину v?V.
Случай 1. v^V {Mi—М2) и v? V(M2—-Mi), где V (Mi—Mj) означает множест-
множество вершин, инцидентных ребрам М;—Mj. В этом случае v — концевая вершина
1Z
Рис. 8.10.
ребра в Мх—М2. Поскольку Мг — паросочетание, никакое другое ребро из
Mi—М2 не инцидентно вершине v. Более того, никакое ребро из М2—М1 не ин-
инцидентно вершине v, поскольку v?V(M2—Mj). Следовате«тьно, в этом случаа
степень вершины v в G' равна 1.
Случай 2. v?V(Mi—М2) и v?V(M2—Мг). В этом случае вершине v инци-
инцидентны одно ребро Mi—Мг и одно ребро М2—Му. Следовательно, степень вер-
вершины v равна 2.
Поскольку рассмотренные случаи исчерпывают возможные варианты, можно
сделать вывод, что максимальная степень в подграфе G' равна 2. Поэтому связ-
связная компонента может принадлежать только к одному из описанных типов.
Например, рассмотрим два паросочетания Mi={e5, e7, е0} и
М2={еи ei0, вц} графа G на рис. 8.9. Тогда Л110Л12={е1-, еъ, е7,
es, e10, eu}, а граф G' будет таким, как показано на рис. 8.10. Граф
G' содержит компоненты двух типов, описанных в теореме 8.19.
168 Глава 8
В следующей теореме мы формулируем характеризацию Бержа
[8.21] максимальных паросочетаний в терминах чередующихся
цепей.
Теорема 8.20 (Берж). Паросочетание М максимально тогда и только тогда,
когда между любыми двумя не насыщенными в нем вершинами не существует
чередующейся цепи.
Доказательство.
Необходимость. Предположим, что между двумя не насыщенными в М вер-
вершинами имеется чередующаяся цепь Р. Тогда, заменяя темные ребра в цепи на
светлые, получим паросочетание Mt с [Afi|=AH-l. Заметим, что М\= (М—Р)[)
U (Р-М).
Можно рассмотреть, например, паросочетание М= \е2, в4} в графе на рис. 8.9.
Между ненасыщенными вершинами v3 и v7 имеется чередующаяся цепь в5, в4, еи,
й2, «12- Если заменить в М темные ребра в4 и е2 на светлые е5, е^ъ в12, получим
паросочетание {е5, еи, е12}, содержащее на одно ребро больше, чем М.
Достаточность. Допустим, что М удовлетворяет условиям теоремы. Пусть
М' — максимальное паросочетание. Тогда из доказанной необходимости сле-
следует, что М' также удовлетворяет условиям теоремы, а именно: не существует
чередующейся цепи между произвольными двумя не насыщенными в М' верши-
вершинами. Покажем сейчас, что |Л4|=|Л4'|, доказывая этим достаточность.
Так как М= (M[)M')\J (M—M1), a M'= (M[)M')\J (М'—М), то очевидно,
что |Л1 |=|ЛГ| тогда и только тогда, когда \М—М'\=\М'—М\.
Пусть G' — граф на множестве ребер MQ)M'= (М— М ){] (М'—М).
Рассмотрим сначала произвольный цикл графа G'. По теореме 8.19 он имеет
четную длину, ребра в нем поочередно входят в М—М' и М'—М. Поэтому каж-
каждый цикл графа G' имеет одинаковое число ребер в М—М' и М'—М.
Теперь рассмотрим произвольную компоненту графа С, являющуюся пу-
путем. Снова по теореме 8.19 ребра в нем входят поочередно в М—М' и М'—М.
Кроме того, концевые вершины такого пути не насыщены в М или М'. Пред-
Предположим, что путь имеет нечетную длину, тогда концевые вершины пути инци-
инцидентны ребрам, находящимся в одном паросочетаний. Это означает, что по от-
отношению к одному из паросочетаний существует чередующаяся цепь, соединяю-
соединяющая ненасыщенные вершины. Но это противоречит тому, что и М, и М' удовле-
удовлетворяют условиям теоремы. Поэтому каждая компонента графа G', являющаяся
путем, содержит четное число ребер и, следовательно, одинаковое число ребер из
М—М' и М'—М.
Таким образом, каждая компонента графа С содержит одинаковое число
ребер из М—М' и М'—М. Поскольку ребра графа С образуют множество (М—
—M')\J(M'—M), получаем \М—М'\=\М'—М\ и, следовательно, |М|=|Л1'|.
Пусть М — паросочетание графа G, а Р — чередующаяся цепь
между произвольными двумя не насыщенными в М вершинами.
Тогда, как мы уже увидели, М(?)Р является паросочетанием с чис-
числом ребер на единицу больше, чем в М. По этой причине путь Р
называется добавляющим путем по отношению к М.
Теперь мы докажем два интересных результата о двудольных
графах, используя теорию чередующихся цепей.
Рассмотрим двудольный граф G—(X, Y, Е) с максимальной сте-
степенью Д. Пусть Xi — множество вершин в X, имеющих степень Д.
Если С —двудольный граф (Хи Т(Х1), Е'), где ?" — множество
ребер, соединяющих Хг и Г^А^), то из следствия 8.16.1 вытекает,
что в графе С имеется полное паросочетание Xi с Г^). Оно, оче-
очевидно, насыщает все вершины Хъ Таким образом, существует паро-
Связность и паросочетания 169
сочетание в графе G, которое насыщает все вершины X степени Л.
Аналогично существует паросочетание в графе G, которое насыщает
все вершины Y степени А. Сейчас возникает вопрос: существует ли
паросочетание двудольного графа, которое насыщает все вершины
максимальной степени как X, так и К? Для ответа на этот вопрос
нам необходим следующий результат, полученный Мендельсоном и
Далмеджем [8.22].
Теорема 8.21. (Мендельсон и Далмедж). Пусть G=(X, Y, Е)—двудольный
ф MХХ Y У A2) Т
р ( Дд) у (, , )у
граф, a Mi—паросочетание, которое «сочетает» Х^Х с Y ?=У («=1,2). Тогда
существует паросочетание М'с=М\[}М2, которое насыщает Хг и Y2.
Доказательство. Рассмотрим двудольный граф G'=(X1(jXi, ^iU^2^iU-^a)'
Любая вершина этого графа имеет степень 1 или 2, следовательно, любая его ком-
компонента является путем или циклом, ребра которых входят поочередно в Мх и М2.
(См. доказательство теоремы 8.19.)
Любая вершина г/?К2—Кх имеет в графе G' степень 1. Поэтому она лежит
в компоненте, являющейся путем Ру от вершины у к вершине *?Х2—Aj или к
вершине z?Y1—Y2- В первом случае последнее ребро Ру находится в М2, поэтому
МгфРу паросочетает XtU {x} с Уг[) {у}. Во втором случае последнее ребро Ру
находится в М2, поэтому М&Ру паросочетает Хх с (Кх—z)\J {у}. В обоих слу-
случаях MiQ)Py насыщает Y1f\Y2. Таким образом, МхфРу насыщает y?Y2—Y1
и все вершины Х1 и Yi[\Y2.
Если мы положим Р= U Ру, то легко видеть, что MXQ)P является паросоче-
YY
yt1
танием, насыщающим Xt и Yг. Это и есть требуемое паросочетание М'<г}г
Теорема 8.22. В двудольном графе имеется паросочетание, насыщающее
все вершины максимальной степени.
Доказательство. Рассмотрим двудольный граф G=(X, Y, Е). Пусть Х'с:Х
и Y'^zY содержат все вершины графа G максимальной степени. Как мы видели
ранее, существует паросочетание Мх, насыщающее все вершины X', и паросоче-
паросочетание М2, насыщающее все вершины У". По теореме 8.21 существует паросочета-
паросочетание М'^МхОМ^ насыщающее все вершины X' и У", являющееся поэтому требуе-
требуемым паросочетанием, которое насыщает все вершины графа G максимальной сте-
степени.
Следствие 8.22.1. Множество ребер двудольного графа с максимальной сте-
степенью Д можно разбить на Д паросочетаний.
Доказательство. Рассмотрим двудольный граф G=(X, Y, Е) с максимальной
степенью Д. По теореме 8.22 существует паросочетание Mf, насыщающее все
вершины степени Д. Тогда двудольный графС=(Х, Y, Е — Mj) имеет максималь-
максимальную степень Д—1. Этот граф имеет паросочетание М2, насыщающее каждую вер-
вершину степени Д—1. Повторяя этот процесс, мы построим последовательность
непустых паросочетаний Мъ М2, . . ., Л1Д, которые образуют разбиение Е.
Применение теорем 8.21, 8.22 и следствия 8.22.1 рассматривается
в разд. 15.6.
Вернемся к изучению паросочетаний в графах общего вида.
Паросочетание, насыщающее все вершины графа G, называется
совершенным паросочетанием этого графа G.
Мы заканчиваем этот раздел теоремой Татта [8.23], дающей ус-
условия существования совершенного паросочетания графа. Исполь-
Используемое нами доказательство предложил Андерсон [8.24].
Компонента графа называется нечетной, если она содержит не-
нечетное число вершин, и в противном случае — четной. Если 5 —
170 Глава 8
подмножество вершин графа G, то через po(S) будем обозначать чис-
число нечетных компонент графа G—S.
Теорема 8.23. (Татт). Граф G=(V, Е) имеет совершенное паросочетание тогда
и только тогда, когда
р0 E)< | S | для любого 5 с V. (8.19)
Доказательство. Необходимость. Допустим, что граф G имеет совершенное
паросочетание М. Пусть Gf, G2, . . ., G^ будут нечетными компонентами графа
G—5 для некоторого SczV. Так как каждая компонента G,- нечетная, некоторая
вершина у,- в ней должна паросочетаться в М с некоторой вершиной Vj?S. Та-
Таким образом, S имеет не менее k вершин, и, следовательно, poE)|<|S|.
Достаточность. Прежде всего заметим, что если граф G удовлетворяют ус-
условию (8.19), то, выбрав S=0, получим ро@)<О. Поэтому в графе G нет нечет-
нечетных компонент. Другими словами, граф G имеет четное число вершин.
Доказательство достаточности проведем индукцией по /, где 2/=[К|. Исполь-
Используем теорему Холла (8.13) и тот простой факт, что
/70(S) = |S|(mod2). (8-20)
Случай /=1 —тривиален. Допустим, что результат верен для любых гра-
графов, имеющих менее 2/ вершин. Рассмотрим теперь граф G на 2/ вершинах, удов-
удовлетворяющий условию (8.19). Здесь мы имеем два случая.
Случай 1. Допустим, что роE)<|5| для любого 5, 2«|S|<2/. Рассмотрим
любое ребро графаОв=(а, 6). Пусть А = {а, 6}, G^=G—A. Пусть р'о(Т) обозначает
число нечетных компонент в графе G&—Т для любого подмножества Т вершин
GA. Тогда р'ъ(Т)<.\Т\; если бы р'0(Т)>\Т\, то мы получим p0(T[jA)=po(T)>
>\T\ = \TUA (—2, что противоречит условию (8.19). Поэтому по индукции графы
G^, а следовательно, и G имеют совершенное паросочетание.
Случай 2. Пусть существует такое множество 5, что po(S)=\S\^2. Допу-
Допустим, что 5 — такое максимальное множество. Заметим сначала, что в графе
G—S нет четных компонент. Если бы в нем была четная компонента, мы могли бы
удалить из нее вершину и добавить ее к 5. Это привело бы к увеличению по край-
крайней мере на 1 числа четных компонент. Поэтому p0EUt))^Po('S)+l=|S|-j-l. Ус-
Условие (8.19) требует, чтобы />0(SUn)«|S|+l. Поэтому роEи^)=|5|-{-1. Но это
противоречит максимальности 5. Следовательно, четных компонент в графе
G—S нет.
Пусть |S|=s, a Gb G2, . . ., Gs—s нечетных компонент графа G—S. Покажем
теперь, что мы можем взять по вершине из каждой этой компоненты и паросоче-
тать их с вершинами 5. Если бы это было невозможно, тогда по теореме Холла
существовало бы k нечетных компонент, которые связывались в графе G только с
h<Ji вершинами S. Но если Т — такое множество из h вершин, то мы получаем
pu(T)^k>h=\T], что противоречит условию (8.19). Таким образом, из каждой
компоненты G,-(l<«'<s) мы можем взять вершину и,- и паросочетать ее сверши-
ной S.
Следовательно, каждый подграф Gj=Gj—о,- имеет четное число вершин.
Если мы покажем, что каждый G; имеет совершенное паросочетание, доказатель-
доказательство будет завершено.
Если G\ содержит такое множество вершин R, что pi (R)>| R|, где р (R) —
число нечетных компонент в G't—R, то по (8.20) pi (#)>|.R|+2> поэтому
Но условие (8.19) требует, чтобы po{R(]SU h})<\R\JS[} {o,-}|. Поэтому
PoC?USU {f/})= |^?U>SU {p,-}|, что противоречит условию максимальности S.
Таким образом, по индукции Gt- имеет совершенное паросочетание.
Другое доказательство с использованием теоремы 8.20 дал Ловац [8.25].
Связность и паросочетания 171
8.8. Замечания, касающиеся литературы
Общей литературой, рекомендуемой для дальнейшего изучения
связности и паросочетаний, являются [8.8, 8.26]. Берж [8.26]
представляет также детальное обсуждение вопросов реализуемости
последовательностей степеней и для случая ориентированных, и для
случая неориентированных графов. Харари [8.8] излагает историю
теоремы Менгера и дает несколько ее вариаций.
Графы служат моделью сетей связи. При изучении моделируемых
графами сетей возникает понятие «уязвимость». Под уязвимостью
мы понимаем чувствительность сети к воздействию. Сеть считается
«разрушенной», если после удаления нескольких вершин или ребер
получившийся в результате граф будет несвязным. Таким образом,
уязвимость сети связана с вершинной и реберной связностями сети.
Например, сеть Ni может считаться более уязвимой, чем сеть N2,
если вершинная связность у Ni меньше, чем у N 2-
Боеш [8.27] опубликовал несколько статей по построению графов
с заданными свойствами связности и надежности. Этой же теме по-
посвящены работы [8.28—8.30]. Для дальнейшего изучения этой темы
рекомендуется работа [8.21].
Задача проверки связности графа тесно соприкасается с задачей
нахождения максимального потока в транспортной сети. Дальней-
Дальнейшее обсуждение этого вопроса и связанные с ним ссылки на литера-
литературу можно найти в разд. 15.7, где мы также доказываем теоремы
Me нгера.
Для дальнейшего изучения паросочетаний и теории трансверса-
лей очень рекомендуются работы [8.32—8.34]. Применение теории
паросочетаний (в частности, к задаче оптимального назначения и
задаче составления расписаний) и соответствующие алгоритмы об-
обсуждаются в разд. 15.4—15.6.
Упражнения
8.1. Пусть d1^d2<-. . .<dn— степени простого графа G. Покажите, что G — k-
связный граф(&<п), если a) d (vr)^sr-\-k—1, /•< (n—k)l2; 6}d(vn_ fc+i)>(n+6—2)/2.
8.2. Покажите, что простой граф G на п вершинах — 6-связный, если б (G)^
>(n+ft-2)/2.
8.3. Пусть G=(V, E) — простой ^-связный граф, В= {Ь±, Ь2, ¦ ¦ ¦, Ь^} — мно-
множество вершин, \B\=k. Покажите, что если а? V—В , то существует k вершинно-
непересекающихся а—6,-путей из а в В.
8.4. Пусть G — простой ^-связный граф, ?>2. Покажите, что существует цикл,
проходящий через два произвольно заданных ребра elt ег и k—2 вершины.
8.5. Покажите, что и(#^ n)=x'(#fti „)=&.
8.6. Найдите 5-связный граф на 7 вершинах и 18 ребрах.
8.7. Покажите, что ребра простого графа можно ориентировать таким образом,
чтобы получился сильно связный граф, тогда и только тогда, когда граф G—2-
реберно-связный.
8.8. Ассоциированным ориентированным графом D (G) неориентированного графа
G называется граф, полученный заменой каждого ребра е графа G на две противо-
противоположно направленные дуги, имеющие те же концевые вершины. Покажите, что
172 Глава 8
а) существует взаимно-однозначное соответствие между путями графа G и ориен-
ориентированными путями графа D (G); б) графО (G) Л-реберно-связный тогда и только
тогда, когда граф G й-реберно-связный.
Примечание. Ориентированный граф G называется k-реберно-связным тогда и
только тогда, когда для разрушения всех путей между любыми двумя вершинами
s и t графа G необходимо удалить не менее k ребер.
8.9. Найдите простой граф, имеющий последовательность степеней E, 4, 4, 4, 3, 3,
3, 3, 3), с максимально возможной реберной связностью.
8.10. Покажите, что последовательность (dlt d2, . . ., da) неотрицательных целых
является последовательностью степеней дерева тогда и только тогда, когда d,^l
п
для всех 1 и 2 d,=2(n—1).
i=i
8.11. Покажите, что последовательность (dv d2, . . ., dn) неотрицательных целых
п
является псследовательностью степеней графа тогда и только тогда, когда У dj
i=i
четна ([8.4]).
8.12. Покажите, что последовательность (dj, d2, . . ., dn) неотрицательных целых
является последовательностью степеней простого графа тогда и только тогда, когда
п к п
а) 2 di четна и б) 2 dj<k(k—l)+ 2 min{k, d{} лая l<k<n—l [8.7].
8.13. Покажите, что последовательность (dv d% dn) (реализуемая простым
графом) является последовательностью степеней простого й-связного графа тогда
к— 1
и только тогда, когда a) df^k для 1<1<л; б) т—^ <*,-+(&—1) (k—2)/2>re—k,
i=\
где т. — число ребер графа G [8.6].
8.14. Докажите или опровергните: для любого паросочетания М существует
такое максимальное паросочетание М', что М^М'.
8.15. Квадратная матрица Р с действительными неотрицательными элементами
называется бистохастической, если сумма элементов в каждой строке и в каждом
столбце равна 1. Матрица подстановок — это @,1)-матрица, содержащая точно
по одной 1 в каждой строке и каждом столбце. Покажите, что бистохастическую
матрицу Р можно определить как Р=с1Р1+с2Р2~г"- • -^~ckPk> гДе каждая Р,-—
матрица подстановок, каждое с,-—действительное неотрицательное число и
<= 1
8.16. Пусть G — двудольный граф с двудольным разбиением (X, Y). Покажите,
что если граф G имеет полное паросочетание X с К, то существует такая вершина
*о€ X, что для любой вершины г/g Г(*о) по крайней мере одно максимальное паро-
паросочетание содержит ребро (х0, у).
8.17. k-фактором графа G называется ^-однородный остовный подграф графа G.
Очевидно, что 1-фактор — это совершенное паросочетание. Граф G называется
k-факторизуемым, если он является объединением нескольких реберно-непересе-
кающихся й-факторов. Покажите, что Кп,п и Кгп 1-факторизуемы.
8.18. а) Покажите, что К%п+1 можно определить как объединение связных 2-фак-
торов (я!>1).
Примечание. Связный 2-фактор является гамильтоновым циклом.
б) Покажите, что /C2n+i есть объединение 1-фактораил—I связных 2-факторов.
8.19. Покажите, что связный граф G 2-факторизуем тогда и только тогда, когда
он однородный с четной степенью.
8.20. Пусть М и N — реберно-непересекающиеся паросочетания графа G, причем
|Af|>|./V]. Покажите, что существуют такие непересекающиеся паросочетания
М' и N', что \М'\=\М\—1, \N'\=\N\ + l и M'\JM'=M\JN.
Связность и паросочетания 173
8.21. Покажите, что если G=(V, E) —двудольный граф, a &5=Д, то существует
k таких непересекающихся паросочетаний Мх, М2, . . ., М^ графа G, что Е=
— /WiU^U- • -U^fc и \_mlkJ<\M;\<r>n/k~\ для 1<1<й, где т — число
ребер G.
8.22. Покажите, что дерево Т имеет совершенное паросочетание тогда и только
тогда, когда р0 (а)= 1 для всех вершин Г, где р0 (v) — число нечетных компонент в
T—v.
8 23. Докажите теорему Холла, используя теорему Татта (см. упражнение 5.3.1
в работе [8.35]).
8.24. Докажите теорему Холла, используя теорему Менгера (см. работу [8.36],
теорема 28d),
9. Покрытия и раскраски
В предыдущих главах мы определили несколько полезных ха-
характеристик, связанных с графом: ранг, цикломатическое число,
связность, число паросочетания и т. д. Как было упомянуто ранее,
ранг и цикломатическое число используются при изучении электри-
электрических цепей, связность — при изучении сетей связи. В этой главе
мы изучаем другие важные характеристики графа: число независи-
независимости и число вершинного и реберного покрытий, хроматический
индекс и хроматическое число. Мы начинаем обсуждение с числа
независимости и числа вершинного и реберного покрытий. Эти
характеристики мы связываем с числом паросочетания, определен-
определенным в предыдущей главе, и устанавливаем эквивалентную форму-
формулировку теоремы Холла. Затем мы изучим хроматический индекс
и хроматическое число, которые связываем со свойствами вершин-
вершинной и реберной раскрашиваемости графа.
Обсуждаемые в этой главе характеристики используются при
изучении некоторых практических задач, как, например, составле-
составление расписаний и исследование сетей связи.
9.1. Независимые множества
и вершинные покрытия
Рассмотрим граф G=(V, E). Подмножество SsV называется
независимым множеством графа G, если никакие две вершины S
не смежны в графе G. Независимое множество называется также
внутренне устойчивым множеством.
Независимое множество S графа G максимально, если граф G
не содержит такого независимого множества S', что |5'|>|5|.
Число вершин в максимальном независимом множестве графа G
называется числом независимости (числом внутренней устойчиво-
устойчивости) графа G и обозначается через ao(G).
Например, в графе на рис. 9.1 множества {b, d}, {b, /}, {а, с}
и {b, d, f) являются независимыми множествами. Из них {b, d) и
{Ь, /} — не наибольшие независимые множества; {а, с) — наиболь-
наибольшее, но не максимальное; {b, d, /} — максимальное.
Подмножество К множества вершин V является вершинным по-
покрытием, если любое ребро графа G имеет хотя бы одну концевую
вершину в подмножестве К- Если рассматривать вершину как по-
Покрытия и раскраски 175
крывающую все инцидентные ей ребра, тогда вершинное покрытие
графа G есть подмножество V, которое покрывает все ребра графа G.
Вершинное покрытие К графа G минимально, если граф G не
имеет такого вершинного покрытия К', что |/С'|<|/С|. Число вер-
вершин в минимальном вершинном покрытии
графа G называется числом вершинного покры-
покрытия графа G и обозначается через Po(G).
Например, в графе на рис. 9.1 множества
{а, с, е, /}, {а, с, d, e), {b, d, е, /} и {а, с, е)
являются вершинными покрытиями. Из них
{а, с, е, /} и {а, с, d, е) — не наименьшие;
{b, d, е, /} — наименьшее, но не минималь-
минимальное; {а, с, е} — минимальное.
Когда рассматриваемый граф G понятен из
контекста, величины ao(G) и ро(С) будут обо-
обозначаться как а0 и Ро соответственно. Напом-
Напомним, что ai(G) — это число ребер в макси-
максимальном паросочетании графа G.
Независимые множества и вершинные покрытия — тесно свя-
связанные понятия, как мы показываем в следующей теореме.
Теорема 9.1. Рассмотрим граф G=(V, Е). Подмножество S?=V является не-
независимым множеством графа G тогда и только тогда, когда его дополнение 5
подмножества S в V (т. е. S=V—S) является вершинным покрытием.
Доказательство. По определению S — независимое множество графа G тогда
и только тогда, когда никакое ребро G не содержит в подмножестве S обеих кон-
концевых вершин. Другими словами, S — независимое множество тогда и только
тогда, когда любое ребро графа G имеет по крайней мере одну концевую вершину в
дополнении S подмножества S в V. Тогда по определению вершинного покрытия
теорема верна.
Следствие 9.1.1. Для простого графа на п вершинах ао+|Зо=л.
Доказательство. Рассмотрим максимальное независимое множество S* и ми-
минимальное вершинное покрытие К* графа G=(V, Е). Тогда |S*[=ao и |/(*| = |V
Согласно теореме 9.1, S*=V—S*—вершинное покрытие, _а K*=V—К*—
независимое множество. Поэтому |S*|=|V—S*\=n—ао>ро и \K*\=\V—K.*\=
= п—ро>ао- Объединив эти неравенства, получим ао+|Зо=/г.
Рассмотрим произвольное максимальное паросочетание М* и
произвольное минимальное вершинное покрытие К* графа G.
Поскольку для покрытия ребер М* требуется по крайней мере \М*\
вершин, вершинное покрытие должно содержать хотя бы \М*\ вер-
вершин. Поэтому
(9.1)
В общем случае равенство в выражении (9.1) не всегда имеет
место. Однако в следующей теореме мы показываем, что \М* | = |/(* |,
если G — двудольный граф.
Теорема 9.2. Число ребер в максимальном паросочетании двудольного графа
равно числу вершин минимального вершинного покрытия, т. е. «1=Ро»
176 Глава 9
Доказательство. Пусть М* — максимальное паросочетание, а К* — мини-
минимальное вершинное покрытие двудольного графа G= (X, Y, Е).
Рассмотрим произвольное подмножество А^Х. Каждое ребро е графа G
инцидентно вершине в подмножестве А или в подмножестве X—А. Кроме того,
любое ребро, инцидентное вершине в подмножестве А, инцидентно также вер-
вершине в множестве вершин Г (Л), смежных с вершинами подмножества А. Таким
образом, множество (X—А) (] Г (А) является вершинным покрытием графа G и,
следовательно, | (X—А)\+\Г (<4)|>|К*|.
Но по теореме Холла 8.13
|М*|= min {\Х-А{ + \Г(А)\)^\К*\. (9.2)
А <^Х
Теперь, объединяя выражения (9.1) и (9.2), получаем |Af*|=|/(*|. Эта теорема
принадлежит Кёнигу [9.1].
В теореме 8.20 мы дали характеризацию максимального паросо-
четания, используя понятие чередующейся цепи. Поскольку неза-
независимое множество — это вершинный аналог паросочетания, мож-
можно ожидать, что существует также подобная характеризация для
максимального независимого множества. Это действительно так,
и далее мы получим такую характеризацию. Будем следовать трак-
трактовке Бержа [9.2].
Сначала определим чередующуюся последовательность как вер-
вершинный аналог чередующейся цепи.
Пусть У — независимое множество графа G=(V, E). Чередую-
Чередующаяся последовательность по отношению к подмножеству У есть
последовательность а={хь уи х2, г/2, • • ¦} различных вершин,
принадлежащих поочередно подмножествам X=Y=V—Y и Y, так
что выполняются следующие условия:
1) х,еХ, yi?Y;
2) вершина yt смежна хотя бы с одной вершиной из множества
{Xi, х2, ... , Xj};
3) вершина xi+i не смежна ни с одной вершиной из {xlt х2, . . . , xt};
4) вершина xi+1 смежна хотя бы с одной вершиной из {г/ь у2, ... ,уг).
Чередующаяся последовательность максимальна, если не су-
существует вершин, которые можно добавить к ней без нарушения
указанных условий.
Например, в графе на рис. 9.1 последовательность {/, а, Ь, с)
является максимальной чередующейся последовательностью по от-
отношению к независимому множеству {а, с}.
Рассмотрим дерево Т. Напомним (упражнение 2.2), что оно
является двудольным графом, т. е. множество V его вершин можно
разбить на такие два подмножества X и Y, что
1) V==X[}Y\
2) XnY=0;
3) X и У — независимые множества в дереве.
Будем называть (X, Y) двудольным разбиением множества вер-
вершин дерева Т, а вершины подмножеств X и Y — Х- и У-вершинами
соответственно.
Покрытия и раскраски 177
В качестве первого шага на пути получения характеризации
максимального независимого множества в виде чередующейся по-
последовательности мы покажем, что если в дереве Т выполняется не-
неравенство |Х|>|У|, то существует чередующаяся последователь-
последовательность по отношению к подмножеству Y, содержащая все вершины
этого множества. Чтобы сделать это, нам необходима следующая
лемма:
Лемма 9.1. Пусть (X, Y) —двудольное разбиение множества вершин дерева
Т. Если |Х| = ]К|+/>, р>0, то подмножество X содержит по крайней мере р-\-\
висячих вершин дерева Т.
Доказательство. Доказательство проводим индукцией по числу я вершин
дерева Т. Ясно, что лемма справедлива для я=2, 3, 4. Пусть этот результат имеет
место для всех деревьев, имеющих менее п вершин (п>5).
Рассмотрим дерево Т на п вершинах с |Х| = |К|+р. Пусть v — висящая
вершина дерева Т и Т'—Т—{и}. Заметим, что 7"—дерево на п—1 вершине.
Предположим, что v—Х-вершина. Если р=0, то у — требуемая Х-вершина
дерева Т. В противном случае по индуктивному предположению не менее р ви-
висячих вершин- дерева 7" являются Х-вершинами. Эти р вершин висячие и в де-
дереве Т, и, следовательно, они вместе с вершиной v являются требуемыми Х-
вершинами дерева Т.
Доказательство следует немедленно, если v—К-вершииа.
Лемма 9.2. Пусть (X, Y) — двудольное разбиение множества вершин де-
дерева Т.
1. Если |X| = |F| или |Х|=|К|+1, тосуществуег чередующаяся последователь-
последовательность {хъ ylt *2, Уч, . . .}, в которой каждая вершина дерева Т используется
точно один раз.
2. Если |Х|>]К|+1, то существует максимальная чередующаяся последова-
последовательность нечетной длины {хъ уъ . . .}, в которой используется точно один
раз каждая вершина подмножества Y.
Доказательство.
1. Результат справедлив для дерева на двух вершинах. Допустим, что результат
справедлив для любого дерева на 2k вершинах. Тогда рассмотрим дерево Т
на 2Й+1 вершине, в котором |X|=|F|+1. По предыдущей лемме в дереве Т
существует висячая вершина х^+х^Х. Пусть Т'=Т—{я/j + i}- По индуктивному
предположению в дереве 7" существует чередующаяся последовательность
{*!, уъ . . ., уи), в которую входят все вершины этого дерева. Поэтому {х±,
Уъ ¦ ¦ ¦, Уь, *k+i} будет требуемой последовательностью для дерева Т. (Заме-
(Заметим, что эта последовательность нечетной длины.)
Теперь допустим, что результат справедлив для любого дерева на 2А+1
вершине. Рассмотрим дерево Т на 2&+2 вершинах, в котором |Х|=|К|. Тогда
по предыдущей лемме в дереве Т существует висячая вершина j/k+itzY- Пусть
Т'=Т—{yk+i}- По индуктивному предположению существует чередующаяся
последовательность {xlt ylt . . ., Xk+i}, в которую входят все вершины дерева Т.
Поэтому {*!, Ух *fe+i> i/k+i) будет требуемой последовательностью для де-
дерева Т.
2. Если |Х|>|К|+1, удалим из дерева Г столько висячих Х-вершин, сколько
необходимо для получения дерева 7", в котором число Х-вершин на 1 больше
числа F-вершин. По предыдущей лемме это всегда возможно.
Теперь, согласно результату части 1 леммы, существует максимальная че-
чередующаяся последовательность нечетной длины, в которую входят все вершины
дерева 7", а следовательно, все F-вершины дерева Т.
Например, в дереве на рис. 9.2 {xlt ylt x2, </2, xa, y3, xit j/4, хъ, уъ, хв, уе, *7} —
чередующаяся последовательность, в которую входят все К-вершины дерева Т.
Теперь сформулируем и докажем теорему, характеризующую максимальные
независимые множества в виде чередующихся последовательностей,
178
Глава 9
Теорема 9.3. Независимое множество У графа G максимально тогда и только
тогда, когда в графе G не существует чередующейся последовательности нечет-
нечетной длины по отношению к множеству Y.
Доказательство. Необходимость. Рассмотрим граф G= (V, Е). Пусть У —
максимальное независимое множество в графе G и X—V—Y.
Рис. 9.2.
Допустим, что существует максимальная чередующаяся последовательность
о нечетной длины по отношению к множеству У и o=G1\Ja2, где а2=0ЛУ, а ог=
П
Заметим, что, поскольку последовательность а имеет нечетную длину, |o~i|>
>ja2| и последняя вершина последовательности а является Х-вершиной. Кроме
того, поскольку a — максимальна, никакую вершину yj?Y—о нельзя добавить
в последовательность a без нарушения условия B) определения чередующейся
последовательности.
Таким образом, никакая вершинаУ/^Y—ст2 несмежна ни с какой вершиной
Х(^ог. Из того, что Cj и Y—а2сами являются независимыми множествами, следует,
что (У—(J^Ucj — независимое множество. Поэтому \ {Y—<J2) [Jail >| (У—о2)| +
+ |о2|=|У|, что противоречит максимальности независимого множества У.
Достаточность. Пусть X — максимальное независимое множество, & Y —
независимое множество с |У|<|Х|. Покажем, что существует чередующаяся
последовательность нечетной длины по отношению к множеству У.
Пусть Y0=Y—{X(]Y), Xa=X—(X[\Y), а Go — порожденный подграф гра-
графа G на множестве вершин (X0\jY0). Если Со несвязный, тогда пусть Glt G2, . ..
.... Gfe будут компонентами подграфа Go, причем множество вершин G,- есть
(Х,-1|У,-). Заметим, что (J Х;=Х0 и U^.^^o- Так как |Х1>[У|, то |Х0|>|К0|.
Поэтому для некоторого i существует неравенство |Х,-|>[У,-|. Не нарушая общ-
общности, допустим, что t=l.
Пусть теперь Т — остов графа G^ Очевидно, что (Хъ Ух) является двудоль-
двудольным разбиением множества вершин остова Т. Поскольку [^Tj^| >| Vx|, по преды-
предыдущей лемме в графе Gj существует максимальная чередующаяся последователь-
последовательность a (по отношению к Ух) нечетной длины, в которой используются все вер-
вершины Yf. Очевидно, что а будет чередующейся последовательностью нечетной
длины также и по отношению к У в графе G. Покажем теперь, что a — наиболь-
наибольшая такая последовательность в графе G.
Заметим, что Х- и У-вершины последовательности а принадлежат Хо и Уо
соответственно. Рассмотрим произвольную У-вершину yj, не входящую в по-
последовательность а. Возможны два случая.
Покрытия и раскраски 179
Случай 1. y/?Y[)X.
В этом случае вершина yj не смежна с Х-вершинами. В частности, она не смежна
ни с одной Х-вершиной последовательности а.
Случай 2. i/y?K0.
В этом случае вершина у j не принадлежит графу Gj, поскольку последователь-
последовательность а содержит все К-вершины графа Gx. Следовательно, вершина yj не смежна
ни с одной вершиной графа Gj. В частности, она не смежна ни с какой Х-вершиной
последовательности а.
В обоих случаях вершину j/y нельзя использовать для расширения последо-
последовательности а. Поэтому в графе G а — максимальная чередующаяся последова-
последовательность нечетной длины по отношению к Y.
Рассмотрим, например, независимое множество У= {а, с} в графе на рис. 9.1.
Оно не максимально, и можно доказать, что {d, с, Ь, а, /} — максимальная че-
чередующаяся последовательность нечетной длины по отношению к Y,
9.2. Реберные покрытия
Рассмотрим граф G=(V, E). Подмножество Ps? называется
реберным покрытием графа G, если любая вершина последнего
является концевой хотя бы одного из ребер Р. Если рассматривать
ребро как покрывающее свои концевые вершины, тогда реберное
покрытие есть подмножество ребер, покрывающих все вершины
графа G.
Реберное покрытие Р графа G минимально, если он не имеет та-
такого реберного покрытия Р', что \P'\<i\P\. Число ребер в мини-
минимальном реберном покрытии графа G называется числом реберного
покрытия этого графа и обозначается через p\(G). Например, в гра-
графе на рис. 9.1 множество {еи е3, еъ) образует минимальное реберное
покрытие.
Напомним, что числа вершинного и реберного покрытий обозна-
обозначаются через Ро и Pi соответственно; аналогично числа независимо-
независимости и паросочетания обозначаются через а0 и а± соответственно.
Далее мы используем Pi для обозначения также и порожденного
подграфа на ребрах покрытия.
Предположим, что реберное покрытие Р минимально. Тогда лег-
легко убедиться в том, что Р не имеет циклов и путей длины более 2.
Это означает, что каждая компонента покрытия Р есть дерево, в ко-
котором все ребра инцидентны общей вершине.
В следующей теореме, являющейся реберным аналогом следствия
9.1.1, мы связываем величины ах и рь Этот результат получен
Галлаи [9.3].
Теорема 9.4. Для простого графа G на п вершинах без изолированных вершин
а1+р1=л.
Доказательство. Пусть М* — максимальное паросочетание, Р* — мини-
минимальное реберное покрытие G. Если N (М*) обозначает множество вершин, не
насыщенных в М*, то \N (М*)]'=п—2ai. Теперь для каждой вершины v в N (М*)
выберем ребро, инцидентное вершине v и смежное с ребром из М*. Пусть Ра—
множество из (п—2aJ выбранных таким образом вершин. Тогда очевидно, что
множество Р=М*(]Ра является вершинным покрытием и IP^ai+i—2ax=
Ш Глава 9
«=п—ах. Таким образом, Рх= |Р*|<|Р| = «—ах, т. е.
(9.3)
Пусть теперь Р* имеет г связных компонент, т. е. р1=|Р*|=п—г. Выберем
по одному ребру из каждой компоненты Р*. Пусть М будет множеством из г
выбранных ребер. Очевидно, что М является паросочетанием и поэтому <Xj=
\M*\^\M\P Таким образом,
(9.4)
Объединяя выражения (9.3) и (9.4), получаем a1+Pi=«.
Рассмотрим максимальное независимое множество 5* и мини-
минимальное реберное покрытие Р* графа G, не имеющего изолирован-
изолированных вершин. Так как для покрытия вершин множества 5* требует-
требуется |5*| ребер, любое реберное покрытие должно содержать по край-
крайней мере |5*| ребер.
Таким образом,
|S*|<|P»|. (9.5)
В общем случае равенство в выражении (9.5) не имеет места. Однако,
когда граф G двудольный, |5*|=|Р*|; это равенство мы докажем
в следующей теореме, аналогичной теореме 9.2.
Теорема 9.5. Число вершин максимального независимого множества в дву-
двудольном графе без изолированных вершин равно числу ребер минимального
реберного покрытия, т. е. ао=Р1.
Доказательство. Пусть граф G имеет п вершин. Тогда, согласно следствию
9.1.1, а„=п—Ро, а по теореме 9.4 Рх=я—ах. Но по теореме 9.2 <Xj=pV Поэтому
получаем Oo=Pi-
Теоремы 9.2 и 9.5 являются эквивалентными формулировками теоремы Холла
(упражнения 9.5 и 9.6).
9.3. Реберная раскраска
и хроматический индекс
Реберной k-раскраской графа называется присвоение ребрам
графа k различных цветов. Реберная раскраска называется пра-
правильной, если никакие два смежных ребра не получают в ней оди-
одинакового цвета. Реберная ^-раскраска и правильная реберная
^-раскраска графа представлены на рис. 9.3. Граф называется
реберно-к-раскрашиваемым, если он имеет правильную реберную
й-раскраску.
Не нарушая общности, допустим, что графы, рассматриваемые
в этом разделе, не имеют петель.
Хроматический индекс или реберное хроматическое число %'(G)
графа G — это минимальное число k, для которого граф G имеет
правильную реберную fe-раскраску. Граф G называется реберно
k-хроматическим, если yJ(G)=k. Хроматический индекс графа на
рис. 9.3, а равен 4.
Покрытия и раскраски
181
Легко видеть, что реберная й-раскраска графа G=(V, Е) влечет
разбиение (?ь ?2, . . . . Eh) множества Е, где Et — подмножество
ребер, которым присвоен в раскраске цвет i. Аналогично любое раз-
разбиение множества Е на k подмножеств соответствует реберной &-рас-
а 6
Рис. 9.3. Реберная раскраска (числа помечают цвета).
а — правильная реберная 4-раскраска; б —реберная 3-раскраска.
краске графа G. Поэтому мы часто будем обозначать реберную рас-
раскраску соответствующим разбиением графа G.
Если раскраска <§=(Elt Е2, . . . , Eh) правильная, то каждое Et
является паросочетанием. Поэтому %'(G) .можно рассматривать как
наименьшее число паросочетаний, на которые разбивается множест-
множество ребер графа G. Эта интерпретация i'(G) будет полезной при дока-
доказательстве определенных результатов.
Поскольку в любой правильной раскраске ребра, инцидентные
одной вершине, получают разные цвета, то
где А — максимальная степень в графе G. В общем случае
однако в случае двудольных графов %' = А.
Теорема 9.6. Для двудольного графа %'(G)=A.
Доказательство. Согласно следствию 8.22.1, множество ребер двудольного
графа G можно разбить на Д паросочетаний. Следовательно, %'(С)<:Д. Объеди-
Объединение этого неравенства с выражением (9.6) доказывает теорему.
Хотя в общем случае А цветов недостаточно для того, чтобы пра-
правильно раскрасить ребра графа, Визинг [9.4] показал, что для лю-
любого простого графа достаточно А+1 цветов. Для доказательства
теоремы Визинга нам необходимо установить несколько основных
результатов.
Будем говорить, что цвет i представлен в раскраске в вершине и,
если хотя бы одному ребру, инцидентному вершине v, присвоен
цвет i. Число различных цветов, представленных в вершине v, будем
обозначать через с (и). Например, в раскраске, показанной на
1-ис. 9.3, б, с(/)=2.
182 Глава 9
Теперь рассмотрим вопрос о существовании реберной 2-раскрас-
ки графа, в котором с (v)—2 для каждой вершины v графа.
Лемма 9.3. Пусть G — связный граф, не имеющий циклов нечетной длины.
Тогда он имеет реберную 2-раскраску, в которой оба цвета представлены в каж-
каждой вершине степени не менее 2.
Доказательство.
Случай 1. Граф G— эйлеров.
Если G — цикл, тогда по условиям теоремы он должен быть четной длины.
В этом случае легко видеть, что граф G имеет реберную 2-раскраску, обладающую
требуемым свойством.
Если G — не цикл, тогда он должен иметь вершину v0 степени не менее 4,
Пусть vQ, е±, vlt е2, v2, е3, . . ., ет, v0 — эйлерова цепь и
Ei — {ei\i нечетное}, a ?2={e(-|i четное}. (9-7)
Тогда (Еъ E2) является реберной 2-раскраской, в которой в каждой вершине
представлены оба цвета, поскольку в рассматриваемой цепи каждая вершина,
включая вершину v0, появляется в качестве внутренней вершины.
Случай 2. Граф G — не эйлеров.
В этом случае граф G должен иметь четное число нечетных вершин. Пост-
Построим сейчас эйлеров граф G', добавляя новую вершину v0 и соединяя ее в графе G
с каждой вершиной нечетной степени. Пусть v0, еъ v±, . . ., ет, v0 — эйлерова
цепь в графе G'. Если Ei и Е2 определены, как в выражении (9.7), то (Еъ Е2)
есть реберная 2-раскраска графа G', в котором оба цвета представлены в каждой
вершине графа G. Сейчас легко видеть, что (Ег(]Е, E^f]E) является реберной
2-раскраской графа G, в котором оба цвета представлены в каждой вершине
степени не менее 2.
Реберная й-раскраска $ графа G=(V, E) называется оптималь-
оптимальной, если не существует другой такой реберной й-раскраски ?'
графа G, что
2с(и)<2с».
viV vev
где с (и) и c'(v) —числа различных цветов, представленных в вер-
вершине v в раскрасках $ и $' соответственно.
Очевидно, что в любой раскраске ?c(v)^.d(v) для каждой вер-
вершины v. Более того, для каждой вершины v равенство c(v)=d(v)
справедливо тогда и только тогда, когда <В — правильная рас-
раскраска.
Следующий полезный результат раскрывает природу оптималь-
оптимальной раскраски.
Лемма 9.4. Пусть $= (Е±, Е2, . ¦ ., Е^) — оптимальная й-раскраска графа
G— (V, Е). Допустим, что в графе G существуют вершина и и такие два цвета i
и /', что / не представлен в и, а / представлен в и дважды. Пусть G' — порожден-
порожденный подграф графа G на множестве ребер Ej[jEj. Тогда компонента Я графа G',
содержащая вершину и, является циклом нечетной длины.
Доказательство. Если Н не является циклом нечетной длины, то, согласно
лемме 9.3, существует реберная 2-раскраска, в которой цвета i и / представлены
в каждой вершине Н степени не менее 2.
Если мы используем эту реберную 2-раскраску для перекраски ребер ком-
компоненты Н и оставим цвета других ребер графа G без изменения, тогда получим
новую реберную ^-раскраску <§', в которой цвета i и / будут представлены в
Покрытия и раскраски
183
вершине и. Следовательно, с' (м)=с(м)+1, где с' (и) — число различных цветов,
представленных в вершине и в раскраске $'. Кроме того, для каждой вершины
(|=и, с' (f)=S=c (v)- Следовательно, 2j c'(f)> -2j c(v), что противоречит опти-
v 6 V t' 6 V
мальности реберной раскраски (?. Таким образом, Н — цикл нечетной длины.
Реберная й-раскраска <§' называется улучшением реберной 6-раскраски ?,
если Ъ c'(v)> Zic(у).
иб V us V
Сейчас мы докажем теорему Визинга [9.4]. Используемое нами доказатель-
доказательство предложено Фурнье [9.5]. В его изложении будем следовать Бонди и Мурчи
[9.6].
У
либо
Теорема 9.7 (Визинг). Если 0= (V, Е) — простой граф, то либо x'(G)=A.
'C)Д+1
Доказательство. Поскольку
'G+
что
> будет достаточно, если мы докажем,
x(G)<A+l-
Пусть e={Ei, Ег, . , ., ЕА+1} — оптимальная реберная (Д+1)-раскраска
графа G. Допустим, что х'(С)>Д+1, т. е. <§ — неправильная реберная (Л-f-l)-
васкраска. Тогда в графе G существует такая вершина и, что с(и)<Л(и). Отсюда
184 Глава 9
следует, что существуют такие цвета i0 и ilt что i0 не представлен в вершине и,
a t'i представлен в ней дважды. Пусть ребро (и, vj имеет цвет ('х (рис. 9.4, а).
Поскольку максимальная степень графа G равна Д, то в раскраске $ пред-
представлены не все Д+1 цветов. Пусть в ней ие представлен цвет i2. Тогда /2 должен
быть представлен в вершине и, иначе мы можем перекрасить ребро (и, vt) в цвет
it и получить новую раскраску графа G, являющуюся улучшением раскраски $.
Пусть ребро (и, v2) имеет цвет i2. Снова не все цвета представлены в вершине и2.
Предположим, что в вершине va не представлен цвет C. Тогда он должен
быть представлен в вершине и, в противном случае мы можем перекрасить ребро
(и, Vj) в цвет i2, а ребро (и, v2) — в i3, получая улучшение раскраски $. Пусть
ребро (и, о3) имеет цвет ia.
Повторяя эти рассуждения, можно построить такие последовательности
вершии Vi, v2, . . . и цветов «1( B что 1) (и, vj) имеет цвет if, 2) iy+1 не пред-
представлен в вершине Vj,
Легко видеть, что существует такое наименьшее целое число /, что для не-
некоторого k<\ справедливо равенство <г+1—'fe (рис 9.4, а).
Для получения противоречия перекрасим теперь двумя разными способами
некоторые ребра, инцидентные и, и получим две новые оптимальные реберные
(Д+1)-раскраски: <§' и ?".
Раскраска (^"={?1, Е2, . . .,ЕА+1] получается перекраской ребра (и, vj)
в цвет ij+1 A <:/'<:&—1). Каждое из оставшихся ребер графа G получает в рас-
раскраске $' тот же цвет, что и в раскраске г (рис. 9.4, б).
Раскраска $"={Ei, Е2, . . ., Е"А+1 получается перекраской ребра (и, vj)
в цвет (у+1 A</</—1), а ребра (и, tij— в цвет tj. Каждое из оставшихся ребер
графа G получает в раскраске $" тот же цвет, что и в раскраске <§ (рис. 9.4, в).
Пусть G' — подграф графа G на множестве ребер (Е^ [JE'(k), a H' — его
компонента, содержащая вершину и. Аналогично G" — подграф графа G иа мно-
множестве ребер (Е{ [jEi^j, a H" — его компонента, содержащая вершину и.
Как в раскраске ?'', так и в ?" цвет i'o не представлен в вершине «, а цвет
ik представлен в этой вершине дважды. Поэтому из леммы 9.4 следует, что Н'
и Я' — циклы.
Единственным ребром цикла Н', которого нет в цикле Я", является ребро
(и, Vk). Поэтому вершины и и vk связаны также и в подграфе G". Следовательно,
они лежат в одной и той же компоненте подграфа G", а именно в компоненте Я".
Тогда степень v^ в Я" равна 1, иначе бы степень ее в Я' была больше 2. Это про-
противоречит тому, что Я" — также цикл. Таким образом, $ — правильная ребер-
реберная (Д+1)-раскраска.
Более общий результат по сравнению с выводом этой теоремы можно найти
в упражнении 9.8.
9.4. Вершинная раскраска
и хроматическое число
Вершинная й-раскраска графа — это присвоение его вершинам
k различных цветов. Вершинная раскраска правильная, если ника-
никакие две смежные вершины в ней не получают одного цвета. Пра-
Правильная вершинная 3-раскраска представлена на рис. 9.5. Граф
называется вершинно k-раскрашиваемым, если он имеет правильную
вершинную й-раскраску.
Не нарушая общности, мы можем допустить, что графы, рассмат-
рассматриваемые в этом разделе, простые.
Покрытия и раскраски 185
Хроматическим числом %(G) графа G называется минимальное
число k, для которого G вершинно ^-раскрашиваемый. Граф G назы-
называется k-хроматическим, если %(G)=k. Например, на рис. 9.5 хро-
хроматическое число графа равно 3.
Далее вместо «правильная вершинная й-раскраска» будем гово-
говорить просто «й-раскраска». Аналогично «вершинно й-раскрашивае-
мый» будем заменять на «^-раскрашиваемый».
Заметим, что ^-раскраска графа G=(V, E) порождает разбиение
(Vx, V2, . . • , Vk) множества V, где каждое V\ — подмножество
вершин, которым присвоен цвет i и поэтому яв-
ляется независимым множеством. Аналогично
каждое разбиение множества V на k независи-
независимых множеств соответствует й-раскраске гра-
графа G.
В предыдущем разделе (теорема 9.7) мы до-
доказали, что для правильной раскраски ребер
простого графа требуется, самое большее, Д+1
цветов. Докажем аналогичный результат для
вершинной раскраски. .
Теорема 9.8. Простой граф G—(Д+1)-раскрашивае- Рис. 9.5. Правиль-
Правильный, ная вершинная 3-
Доказательство. Даны Д+1 различных цветов, по- раскраска,
лучим (Д+1)-раскраску графа G следующим образом.
Возьмем произвольную вершину v0 и присвоим ей любой из Д+1 цветов. За-
Затем выберем нераскрашенную вершину, например vv Присвоим вершине vt цвет,
который не был присвоен смежным с ней вершинам. Это всегда возможно, по-
поскольку й(у!)<:Д и, следовательно, вершинам, смежным с вершиной их, будет при-
присвоено, самое большее, Д цветов. Повторим этот процесс до тех пор, пока не рас-
раскрасятся все вершины. В результате получится правильная (Д+1)-раскраска.
Очевидно, что %=Д+1 для полных графов и циклов нечетной
длины. Очень интересно то, что для всех остальных графов %^А.
Этот результат получен Бруксом [9.7] и доказывается ниже. Приво-
Приводимое здесь доказательство предложили Мельников и Визинг [9.8].
Другое доказательство можно найти в работе [9.9].
Теорема 9.9 (Брукс). Пусть G — связный простой граф. Если он не цикл
нечетной длины и ие полный граф, то %(G)<A.
Доказательство. Теорема очевидна для Д=0, 1, 2.
Чтобы доказать теорему для Д^З, допустим противное, т. е. что существуют
графы, не являющиеся полными, для которых Д^З и %=Д+1. Выберем такой
граф G= (У, Е) с минимальным числом вершин.
Пусть vo?V, a G' —граф, полученный с результате удаления из графа G
вершины v0. Из выбора графа G следует, что G' — Д-раскрашиваемый. Следова-
Следовательно, d(vo)^A, иначе бы для раскраски вершины v0 можно было использовать
один из Д цветов, применяемых для раскраски графа G', что противоречит ра-
равенству %(О)=Д+1- Другим важным следствием является следующее:
Свойство 1. В любой Д-раскраске графа G' вершины, смежные с вершиной
va, раскрашиваются по-разному
Пусть иг, и2, . . ., ыд—вершины, смежные с вершиной и0. Пусть их, м2, .. .
. . ., мд получают в раскраске графа G' цвета 1, 2, , , ,, Д соответственно. Обо-
186 Глава 9
значим через G(i, j) порожденный подграф G' на вершинах, которым присвоены
цвета (' и /.
Свойство 2. Вершины «,- и му находятся в одной компоненте связности G(i, j).
В противном случае, заменяя цвета i и / в компоненте, содержащей и,-, мы
получим новую Д-раскраску графа G', в которой и,- и и у присвоен одинаковый
цвет, что противоречит свойству 1.
Пусть C[j— компонента G(i, j), содержащая вершины ы,- и uj.
Свойство 3. Cjj— путь от вершины м,- к вершине uj.
Предположим, что степень и,- в Сц больше 1. Тогда и,- смежна не менее чем
с двумя вершинами цвета /. Поскольку й(м,-)-<Д—1 в графе G', мы можем пере-
перекрасить ц,- в цвет кф1, /, так что в получившейся новой раскраске вершины м,-
и uj имеют одинаковый цвет, что противоречит свойству 1.
Аналогично можно показать, что степень и у в С,-у равна 1.
Степень всех остальных вершин C,j равна 2. Допустим противное. Пусть
и — первая вершина степени (в С,-у) больше 2 на пути от вершины щ к вершине uj.
Если и раскрашена в цвет i, то она смежна по крайней мере с тремя вершинами
цвета /. Поскольку й(ц)<:Д, можно перекрасить и в цвет кф1, j, поэтому в новой
раскраске вершины и,- и uj будут в разных компонентах, что противоречит свой-
свойству 2.
Таким образом, С// является путем из вершины и, в вершину uj.
Свойство 4. C;j и С,-;; не имеют общих вершин, за исключением «;.
Пусть ифи( — общая вершина Сц и Cik. Тогда и раскрашена в цвет (' и
смежна по крайней мере с двумя вершинами цвета / и двумя вершинами цвета ?.
Так как й(м)<Д, существует цвет /=й=(, /, k, в который можно перекрасить и. Но
это разделит вершины м; и ыу, что противоречит свойству 2.
Продолжим доказательство теоремы. Установим теперь противоречие со
свойством 4.
Поскольку G — не полный граф на Д-f-l вершине, существуют две несмеж-
несмежные вершины, например их и и2. Путь С12 содержит вершину иФи2, смежную с
вершиной иг. Допустим, что мы поменяли местами цвета 1 и 3 в пути С13 (который
присутствует, поскольку Д>3), в результате чего в новой раскраске G' вершина
их получает цвет 3, а вершина м3 — цвет 1. Но тогда новые компоненты C'ia и
С'23 содержат общую вершину ифи2, что противоречит свойству 4.
Это завершает доказательство теоремы.
9.5. Хроматические полиномы
В этом разделе мы обсуждаем вопрос подсчета различных пра-
правильных ^-раскрасок графа.
Если граф ^-раскрашиваемый, то его можно раскрасить в А,
цветов более чем одним способом. Две раскраски графа считаются
различными, если хотя бы одной вершине графа присваиваются
разные цвета.
Хроматический полином Р (G, К) имеет значение для каждого
целого К, равное числу различных правильных ^-раскрасок гра-
графа G.
Рассмотрим, например, граф, представленный на рис. 9.6. Среди
данных К цветов мы можем выбрать любой для раскраски вершины
а. Вершину b можно раскрасить в один из оставшихся X—1 цветов.
Для каждой раскраски вершины b существует К—1 различных
способов раскраски вершины с. Таким образом, граф на рис. 9.6
можно раскрасить К(к—IJ различными способами. Другими ело-
Покрытия и раскраски 187
вами, хроматический полином графа равен к (к—IJ. Мы можем
повторить эти рассуждения, чтобы показать, что хроматический
полином пути на п вершинах равен к (к—I)".
В качестве другого примера рассмотрим полный граф Кп на п
вершинах vt, vt, . . . , vn. При наличии к цветов вершину Vi можно
Рис. 9.6.
раскрасить в любой из них, вершину v2 — в любой из оставшихся
к—1 цветов, а вершину vs — в любой из оставшихся к—2 цветов
и т. д. Таким образом, Р(Кп, k)=k(k—1). . .(к—п+\). Теперь вы-
выведем формулу для определения хроматического полинома графа G.
Теорема 9.10. Пусть и и v — несмежные вершины простого графа G. Пусть
е= (и, v). Если.О-е — простой граф, полученный из графа G замыканием вершин
» и и и заменой получившегося множества параллельных ребер на одно ребро,
a G-\-e — граф, полученный добавлением к графу G ребра е, то P(G, X)=P(G-{-
+е, X)+P(G-e, X).
Доказательство. Любая ^-раскраска графа G, в которой вершинам и и v
присваиваются различные цвета, соответствует ^-раскраске графа G+e, и наобо-
наоборот. Аналогично любая Х-раскраска графа G, в которой вершинам и и v присвоен
один цвет, соответствует ^-раскраске графа G-e, и наоборот. Следовательно,
P(G, K)=P(G+e, X)+P{G-e, I).
Этот результат можно сформулировать в другой форме.
Следствие 9.10.1. Если е= (и, v) — ребро простого графа G, то Р (G, K)=P (G—е,
v)—P(G-e, X), где G—е получается из графа G удалением ребра е, a G-e опреде-
определяется из теоремы 9.10.
Если мы повторно применим формулу, приведенную в теореме
9.10, к графу G, то процесс закончится на полных графах, напри-
например Ни Нг, ¦ ¦ . , Нн, поэтому P(G, k)=P{Hlt \)+P(Ht, k)+. . .+
+P(Hh,k).
С другой стороны, если мы используем формулу, приведенную
в следствии 9.10.1, процесс закончится на пустых графах (т. е.
графах, не имеющих ребер), поэтому хроматический полином есть
линейная комбинация хроматических полиномов пустых графов.
Обе процедуры иллюстрируются рис. 9.7.
Теорема 9.11. Хроматический полином Р (G, X) графа п на вершинах имеет
степень п с главным членом X" и константой, равной 0. Кроме того, все коэффи-
коэффициенты целые и чередуются по знаку.
Доказательство. Доказательство проведем индукцией по числу ребер т.
Очевидно, что теорема справедлива для /и=0, так как хроматический полином
пустого графа на п вершинах равен X".
Допустим, что теорема верна для всех графов, имеющих менее т ребер. Рас-
Рассмотрим граф G на п. вершинах с т ребрами. Пусть е — ребро графа G. Тогда
G — е — граф на п вершинах с т—1 ребрами, a G е — граф на п—1 вершинах
с т—1 или менее ребрами.
188
Глава 9
b a.d
д с
Ь"с
<>o,d
ib,c
A(A-1)
рис. 9.7. Вычисление хроматического полинома графа G.
с использованием теоремы 9.10; Р (G, Х)=?. (I— 1) (X— 2) (Я — 3) + 2^ (Л— I) (Я — 2)-
+ МЯ,— 1); б —с использованием следствия 9.10.1; Р (О, К)=№ — 1%* + Х.
Из индуктивного предположения следует, что существуют такие неотрица
тельные целые коэффициенты аъ а2, . . ., а„_х и Ьи Ь2, .. ., 6п-2. что Р (G—е, X
=%»—on_1X"-J+an_2X«-2—. . .+ (— 1)"-^ и P(G-e, Х)=Л"-]—6„_2Я,п-Ч
+bn-zl"-3—. . .+ (— l)"-2^. Согласно следствию 9.10.1, Я (G,X)=P (G—e, k)-
n—l
—P(G-e, Я,)=Я.«-(а„_1+1)Я"-1+2 (-1)''(а«-<-+6»-/)Ял~''' Таким фразой
1=2
граф G также удовлетворяет теореме.
Покрытия и раскраски 1891
9.6. Проблема четырех красок
При изготовлении карт в целях различения отдельных областей
необходимо их раскрашивать таким образом, чтобы никакие две
смежные области не были раскрашены одинаково. Эта задача пра-
правильной раскраски областей планарного графа равносильна задаче
правильной раскраски вершин двойственного графа. Легко привести
пример, показывающий, что трех цветов в общем случае недоста-
недостаточно для правильной раскраски планарного графа. В следующей
теореме, известной под названием теоремы о пяти красках, мы пока-
показываем, что пяти цветов достаточно.
Теорема 9.12. Любой пленарный граф 5-раскрашиваемый.
Доказательство. Допустим, что теорема верна для всех пленарных графов
порядка менее п, покажем, что она верна также для планарного графа G= (V, E)
порядка п.
Согласно следствию 7.3.5, в графе G существует вершина v0 степени не бо-
более 5. Пусть G' — порожденный подграф графа G на V—{v0}.
Раскрасим подграф С в пять цветов: аъ <х2, . . ., «5- (Это возможно в силу
индуктивного предположения.) Очевидно, что если <2(ио)=й=5, то вершине wc B
Рис. 9.8.
правильной 5-раскраске графа G можно присвоить один из этих цветов. В про-
противном случае всем 5 вершинам vlt vz, . . ., vb, смежным с вершиной и0, можно
присвоить различные цвета.
Допустим, что вершине ci,(l<(<5) присвоен цвет ее,-. Кроме того, пусть
вершины vlt v2 f6 располагаются по часовой стрелке относительно вершины
v0, как показано на рис. 9.8.
Пусть G(a,-, ay) — подграф графа G на вершинах, которым присвоены цвета
а,- или ау.
Компонента Gia^, a3). содержащая вершину vlt должна содержать и-вер-
и-вершину vs, в противном случае цвета at и а3 в этой компоненте можно было бы по-
поменять местами и раскрасить вершину v0 в цвет Oj.
Аналогично компонента 0@^ <х4), содержащая вершину vlt должна содер-
содержать и вершину и4 (рис. 9.8).
Тогда в G(a2. as) вершины v2 и i>6 не будут соединены путем. Поэтому если
в компоненте G(a2. аь). содержащей вершину v2, поменять местами цвета а,
и а5, то вершину v0 можно будет раскрасить в цвет а2. Таким образом, граф G —
5-раскрашиваемый.
190 Глава 9
Этот результат был получен Хивудом [9.10].
Возникает вопрос: можно ли улучшить теорему о пяти красках?
Предполагалось, что любой пленарный граф 4-раскрашиваемый.
Эта гипотеза известна как гипотеза четырех красок. Она оставалась
неразрешенной более 100 лет и была предметом экстенсивных
исследований. Недавно Аппель и Хакен [9.11] доказали справедли-
справедливость гипотезы. Этот результат формулируется в следующей теореме:
Теорема 9.13 (теорема о четырех красках). Каждый пленарный граф 4-рас-
4-раскрашиваемый.
Имеется очень обширная литература, касающаяся проблемы четырех красок.
Обзор проблемы с историческими подробностями можно найти в работах [9.12—
9.14]. См. также работу [9.15].
9.7. Замечания, касающиеся литературы
Общие ссылки на литературу, охватывающую тему данной гла-
главы,— это работы [9.2, 9.6, 9.16].
Классический результат теории графов, принадлежащий Турану
[9.17], определяет, какое минимальное число ребер должен содер-
содержать граф на п вершинах с числом независимости не более k (упраж-
(упражнение 9.2). См. работу [9.18]. Этот результат является отправной
точкой в ветви теории графов, называемой теорией экстремальных
графов. Книга Болобаша [9.15] посвящена исключительно изучению
задач, связанных с экстремальными графами. Характеристики экст-
экстремальных графов образуют основу проектирования сетей связи
с заданными свойствами надежности и уязвимости. См. работы
19.20—9.23].
Применение числа независимости в теории информации можно
найти в работах [9.2] (гл. 16), [9.24] (гл. 9), [9.25].
Рид [9.26] дал прекрасный обзор результатов по хроматическим
полиномам. См. также работы [9.27—9.29]. Лю [9.24] обсуждает
применение раскраски при разложении графов на пленарные под-
подграфы. Эта задача возникает при проектировании печатных плат.
Применение раскраски к задачам составления расписания можно
найти в работе [9.30], а алгоритм раскраски — в работе [9.31].
Множество вершин D графа G называется доминирующим, если
любая вершина, не входящая в множество D, смежна с вершиной
того же множества. Обзор результатов, касающихся доминирующих
множеств, можно найти в работе [9.32]. Экстремальные результаты,
касающиеся доминирующих множеств, даны в работе [9.33].
Упражнения
9.1. Доказать или опровергнуть: любое вершинное покрытие содержит минималь-
минимальное вершинное покрытие.
9.2. Даны целые п и k, /i>?>0. Пусть q= \_nlk J и г — такое целое число, что
k+ 0<?
Покрытия и раскраски
191
Пусть Gn<k — простой граф, состоящий из k непересекающихся полных графов,
г из которых имеют q-\-\ вершин, а остальные k—г имеют q вершин. Покажите,
что любой граф G на п вершинах с ao(G)<k, имеющий минимальное число ребер,
изоморфен йп<ь [9.17]. Легким следствием из этого результата является следу-
следующее:
Если G — простой граф на п вершинах и т ребрах с а0 (G)=k, то яг>? (п—Ш2—
-kq/2).
9.3. Покажите, что если G — простой граф на п вершинах с т ребрами, то а0 (G)~$>
>У2(+)
>()
9.4. Покажите, что максимальное число ребер, которые может иметь простой
граф G на п вершинах, не содержащий треугольников, равно [_я2/4 J- Построй-
Постройте граф с этим свойством.
9.5. Получите теорему Холла 8.13 из теоремы 9.2.
9.6. Получите теорему Холла 8.13 из теоремы 9.5.
9.7. Покажите, что
( п—1, если п четно;
X (Кп) = S
( п, если п нечетно.
9.8. Покажите, что для графа G без петель %' (О«:Д+&, где k — максимальное
число параллельных ребер между любыми двумя вершинами графа G [9.4].
9.9. Пусть G — граф без петель. Покажите, что если Д (G)=3, то х' @)=3 или 4.
9.10. Покажите, что для однородного непустого графа с нечетным числом вершин
у/(С)=Д+1.
9.11. Покажите, что для произвольной ориентации ребер простого графа G су-
существует ориентированный путь длиной %(G)—1.
9.12. Покажите, что если два любых цикла нечетной длины графа имеют общую
вершину, то x(G)<5.
9.13. Покажите, используя следствие 7.3.5, что любой пленарный граф 6-рас-
кр^шиваемый.
9.14. Покажите, что если простой граф G имеет последовательность степеней (d1(
d2 dn), d^d.^. . .>dn, то x(G)«max min{<*,•+!, t} [9.34].
9.15. Покажите, что для простого графа G на п вершинах a) %(G)ao(G)^n;
б) % (G)+«o (G) <п+1; в) х (G)+X (G) <«+1.
9.16. Пусть G — простой однородный граф степени k на п вершинах. Покажите,
что %(G)^nI(n—k).
Рис. 9.9.
9.17. Пусть G — пленарный граф, в котором каждая область ограничена точно
тремя ребрами. Покажите, что граф G—3-раскрашиваемый тогда и только
тогда, когда граф G — эйлеров.
9.18. Покажите, что простой граф непланарен, если он имеет семь вершин и сте-
степень каждой вершины равна 4 [9.24].
9.19. а) Покажите, что граф 2-раскрашиваемый тогда и только тогда, когда все
его циклы имеют четную длину.
192 Глава 9
б) Покажите, что области пленарного графа G можно правильно раскрасить в
два цвета тогда и только тогда, когда граф G — эйлеров.
9.20. Найти хроматический полином графа, представленного на рис. 9.9.
9.21. а) Покажите, что граф G на п вершинах является деревом тогда и только
тогда, когда Р@, Х)=Х(Х—1)"-1.
б) Покажите, что если графО иа л вершинах связный, тогда Я (ОД) «Л, (А,—I)"-1.
9.22. Покажите, что если G — цикл длины п, то P(G, %)= (V-l)n+ (—1)" (Л.—1).
9.23. Покажите, что если G — колесо на п+1 вершинах, то Р (G, Л,)=А. (Я,—2)n-j-
+ ХХ
9.24. Покажите, что если простой граф G имеет п вершин, т ребер и k компонент, то
а) коэффициент при Хп~х в Р-полиноме (G, X) равен (—т);
б) наименьший показатель степени X в полиноме Р (G, X) с ненулевым коэффициен-
коэффициентом равен k.
9.25. Клика графа G= (V, E) есть такое множество S<^V, что порожденный под-
подграф G на S является полным графом. Пусть Р={Р1; Р2 Р^} — разбиение
множества V на клики. Пусть G(G)=min{|P|}.
р
Таким образом, G (G) есть наименьшее возможное число клик, на которые можно
разбить множество V.
Покажите, что для простого графа G существует неравенство ao(G)«:9(G).
Кроме того, покажите, что если S — независимое множество, & Р — такое раз-
разбиение множества V на клики, что |S| = |P|, то S— максимальное независимое
множество, а Р — минимальное разбиение V на клики,
10. Матроиды
Рассмотрим конечное множество векторов S над произвольным
полем. Хорошо известно, что любое подмножество S либо линейно
зависимо, либо линейно независимо. Кроме того, набор независимых
множеств векторов обладает некоторыми свойствами. Например;
1. Любое подмножество независимого множества независимо.
2. Если /р и /р+1 — такие независимые множества, что |/p+i|=*
= |/р+1, то /р вместе с некоторым элементом /p+i образует незави-
независимое множество из |/p+i| элементов.
Интересно, что существует несколько алгебраических систем,
обладающих этими свойствами. Например, ими обладает набор под-
подмножеств ребер графа, не содержащих циклов. Изучая свойства
таких систем, Уитни [10.1] ввел понятие матроида.
В этой главе мы даем введение в теорию матроидов. Мы изучим
их некоторые фундаментальные свойства. Особый интерес будет
проявлен к тому, что замеченная нами «двойственность» циклов и
разрезающих множеств графа не случайна. Как мы увидим, эта
двойственность является следствием того, что и набор подграфов,
не имеющих циклов, и набор подграфов, не имеющих разрезающих
множеств, имеют структуру матроида. Мы изучим также теорему
о раскрашивании и лемму о раскраске дуг, которые находят приме-
применение в анализе сетей. Главу мы завершаем обсуждением «жадного»
алгоритма, являющегося обобщением известного алгоритма Крас-
кала нахождения остова минимальной стоимости во взвешенном
связном графе.
ЮЛ. Основные определения
Существует несколько эквивалентных систем аксиом, характе-
характеризующих матроид. Мы начнем обсуждение с системы, известной
под названием аксиом независимости. В разд. 10.3 мы приведем
другие эквивалентные системы аксиом.
Матроид М — это конечное множество S и набор ? таких под-
подмножеств множества S, что выполняются следующие условия, назы-
называемые аксиомами независимости:
1.1. 0??.
1.2. Если Х?? и Y<=X, то Y??.
1.3. Если X и Y — члены ? и |X| = |F|+1, то существует такое
х?Х—Y, что Yuxe?.
Элементы множества S называются элементами матроида М,
7 №> 1449
194 Глава 10 _
Члены набора ? называются независимыми множествами матро-
ида М. Максимальное по включению независимое множество матро-
ида М называется базой матроида М. Множество баз матроида М
обозначается S3 (М) или просто 3d.
Подмножество S, не принадлежащее набору ?, называется
зависимым. Минимальное по включению зависимое подмножество S
называется циклом матроида М. Элемент x?S называется петлей
матроида М, если {х} зависимо. Набор циклов матроида М обозна-
обозначается 'ё (М) или просто *ё.
Функция ранга р матроида М связывает со всяким подмножест-
подмножеством A^S неотрицательное целое число, определяемое следующим
образом: р(Л)=гаах {|Х| : Х^А, Х??), где р(А) — ранг под-
подмножества А. Ранг матроида М, обозначаемый р(М),— это ранг
множества S.
Рассмотрим несколько примеров.
Пусть S — конечное подмножество векторного пространства.
Как мы видели ранее, семейство всех подмножеств линейно незави-
независимых векторов в подмножестве S удовлетворяет аксиомам незави-
независимости 1.1—1.3. Следовательно, эти подмножества S образуют на-
набор независимых множеств матроида на подмножестве S. Ранг
подмножества X<=^S в этом матроиде равен размерности векторного
пространства, порождаемого X.
Пусть G — неориентированный граф с множеством ребер Е.
Определим на Е два матроида.
Сначала рассмотрим набор ? всех подмножеств Е, не содержа-
содержащих циклов. Очевидно, что ? удовлетворяет аксиомам 1.1 и 1.2.
Нетрудно показать (упражнение 4.8), что ? удовлетворяет и 1.3.
Таким образом, ? является набором независимых множеств матро-
матроида М* на Е. Каждая база матроида М — это остовный лес графа G.
Ранг любого подмножества Х<=Е в этом матроиде равен рангу под-
подграфа графа G, порождаемого X. Кроме того, каждый цикл матро-
матроида М является циклом графа G. По этой причине М называется
циклическим матроидом графа G.
Рассмотрим теперь семейство ?* всех подмножеств Е, не содер-
содержащих разрезающих множеств графа G. Можно показать (упражне-
(упражнение 4.9), что ?* удовлетворяет аксиомам 1.1—1.3 и поэтому являет-
является семейством независимых множеств матроида М* на Е. Любая
база матроида М* — это коостовный лес графа G. В этом матроиде
ранг подмножества Х<=Е равен цикломатическому числу порождае-
порождаемого X подграфа графа G. Кроме того, каждый цикл М* является
разрезающим множеством графа G. Матроид М* называется матро-
матроидом разрезов или матроидом связей графа G.
Определенные таким образом матроиды М и М* обладают ин-
интересным свойством, заключающимся в том, что базы одного из них
являются дополнениями в Е баз другого. Это утверждение справед-
справедливо для любого матроида на произвольном конечном S (не обяза-
Матроиды
195
тельно множестве ребер графа). Говоря другими словами, для лю-
любого матроида М на множестве S существует такой матроид М* на
S, что базы матроида М* являются дополнениями баз матроида М.
Этот результат мы обсуждаем в разд. 10.4.
Другим примером матроида является матроид паросочетании f
определенный на множестве вершин графа.
Теорема 10.1. Пусть G — неориентированный граф с множеством вершин V.
Пусть JF — набор всех таких подмножеств /с=К, что элементы / насыщаются в
некотором паросочетании графа G. Тогда JF — набор независимых множеов
матроида на V.
Доказательство. Очевидно, что JF удовлетворяет аксиомам 1.1 и 1.2.
Чтобы показать, что |р удовлетворяет аксиоме 1.3, рассмотрим два произ-
произвольных члена 1р и Ip+i набора <f, содержащие р и p-j-1 вершин соответственно.
Пусть Хр и Xp+i — произвольные паросочетания, насыщающие элементы Ip
и lp+t соответственно. Возможны два случая.
Случай 1. Предположим, что некоторый элемент х^1р+1—1р насыщается в Хр.
Тогда Хр насыщает Iр\]х и аксиома 1.3 выполняется.
Случай 2. Допустим, что никакой элемент х? >p+i не насыщается в Хр. Тогда рас-
рассмотрим подграф G' на множестве ребер XpQ)Xj,+i= (Xp—Xp+1)[) (Xp+i—Xp).
По теореме 8.19 каждая компонента подграфа С является 1) циклом, ребра кото-
которого входят поочередно в Хр и Хр+ь либо 2) путем, ребра которого входят пооче-
поочередно в Хр и Xp+i, а его концевые вершины в одном из паросочетании не насы-
насыщены.
Так как |/ р+,—Ip\>\lp—/p+i|, в подграфе G' существует путь/5 от вер-
вершины v?Ip+i—Ip к вершине, лежащей вне 1р—Ip+i. Тогда ХрфР будет па-
росочетанием, насыщающим v и все элементы Iр. Таким образом, Ip[)v входит
в f и выполняется аксиома 1.3.
В качестве примера рассмотрим граф G, представленный на
рис. 10.1, а. Множества h={vu v2, vs, v4} и h = {vu y2, vit vb, ve}
насыщаются в паросочетаниях Xi-={e1, e2} и Хв={е2, е3, е4} соот-
Рис. 10.1.
а —граф в с помеченными паросочетаниями ХА и Х„; б—подграф G на множестве ребер
ветственно. Подграф на множестве ребер Х^)Х% — {е^еа,е^ пока-
показан на рис. 10.1, б. Существует путь Р от вершины vb ? /„ — /4 к вер-
вершине v^h—/е- Паросочетание Х4^)Р={е2, е3, е4} насыщает мно-
множество /4 U Vi.
7*
196 Глава 10
Два матроида Мх и Ж2 на множествах St и S2 соответственно
называются изоморфными, если существует взаимно однозначное
соответствие между элементами множеств St и S2, сохраняющее
независимость.
Матроид М на множестве S называется графическим, если он
изоморфен циклическому матроиду графа G. Если матроид М изо-
изоморфен матроиду разрезов графа G, он называется кографическим.
10.2. Фундаментальные свойства
В этом разделе мы установим несколько фундаментальных
свойств матроидов. Все они известны в теории графов.
Сначала рассмотрим независимые множества и базы матроида М.
Теорема 10.2 (теорема добавления). Пусть X и У — произвольные незави-
независимые подмножества в матроиде М. Если |Л"|<|К|, то существует такое Ъ=?—X,
что |XU^I=|K| и X[)Z независимо в М.
Доказательство. Пусть 20 — такое множество, что 1) Z0^Y—X; 2) X\JZ0
независимо в М; 3) если для любого Z^Y—X X\]Z независимо в М, то \X(jZ0\^
^\X(jZ\. Допустим, что |XU2o|<|K|. Тогда существует множество Y0^Y с
|ro|—I^U^ol- Поскольку Ко независимо в М, по аксиоме 1.3 найдется такой
элемент у^У0—(У—2). чт0 X\jZ\Jy независимо в М. Множество Z0(Jy проти-
противоречит выбору Zo. Следовательно, \Х[}^о\^\У\> что доказывает теорему.
Следствие 10.2.1. Все базы матроида М на множестве 5 имеют одинаковую
мощность, равную рангу М.
Доказательство. Допустим противное. Пусть Въ В2 — базы и |В1|<|В2|-
Тогда по теореме добавления существует такое Z^B2—Bj, что В-± U Z — неза-
независимое множество. Однако это противоречит максимальности BY в §~.
С помощью теоремы добавления можно доказать также обобщение этого
результата.
Следствие 10.2.2. Пусть М — матроид на множестве S, A^S. Тогда все
максимальные независимые подмножества А имеют одинаковую мощность.
Другое следствие из теоремы 10.2 сформулируем без доказательства.
Следствие 10.2.3. Если В1 и В2 — базы магроида М и x?Bt—Вг, то сущест-
существует такое у?В2—Вг, что (Вх[]у)—х является базой матроида М.
Теперь изучим свойства функции ранга матроида.
Теорема 10.3. Функция ранга р магроида М на множестве обладает следую-
следующими свойствами:
1. 0<р(Л)<Л.
2. Если А<=В, тор(Л)<р(В).
3. р(А)<р(А[)х)<Р(А)+1.
4. Подмодульное неравенство р (Л)+р (В)>р (Л \jB)+p(A Г\В).
5. Если p(A\Jy)=P(A[Jx)=p(A), то p(A\Jy\Jx)=p(A).
Доказательство. Первые три свойства следуют непосредственно из опреде-
определения функции ранга.
Докажем свойство 4. Пусть X — максимальное независимое подмножество
А(\В. По теореме добавления существует максимальное независимое подмно-
подмножество Y<^A\]B, содержащее*. Пусть Y=X(j V(j W, где V<=A—В, а №=В—А.
Так как X(j V — независимое подмножество А, а Х[) W — независимое подмно-
подмножество В, то получим p(i4)|^|X(J V\ и p(B)^\X\JW\. Следовательно, р(Л)+
+(B)>\XUV\+\XUW\2\X\+\V\+\W\IX\+(\X\+\V\ + \W\)(AUB)+
+P()>\
+P(A\JB).
Свойство 5 является следствием свойства 4.
Перейдем к рассмотрению циклов матроида. Сформулируемые ниже свойства
непосредственно следуют из определения цикла.
Матроиды 197
1. Любое собственное подмножество цикла — независимо. Поэтому если Ct и
С2 — различные циклы, то С-$кСг.
2. Если С —цикл, то р(С)=|С|—1.
3. Матроид М на множестве 5 не содержит циклов тогда и только тогда, когда
все подмножества S — независимы. Таким образом, множество S является
единственной базой такого матроида М.
Теорема 10.4. Если Сг и С2— различные циклы матроида М и х^Схр[С2,
то существует такой цикл С3, что C3^(C1\jC2)—х.,
Доказательство. Пусть С'= (С1[]С2)—х. Покажем, что С — зависимо, т. е.
р(С")<|С"|, доказывая тем самым теорему.
Поскольку Сг и С2 — различные циклы, Сг[\Сг является собственным
подмножеством как Сг, так и С2. Поэтому Сг Л С2 независимо. Таким образом,
р(С1ПС2)=[С1ПС2|. Кроме того, р(С1)=|С1|—1 и р(С2)= |С2|—1. Теперь, ис-
используя этот результат и подмодульность функции ранга (теорема 10.3), получим
U Q < р (Сх)+р (С2) - р (Сх П С2) =
С21-1-| dnC. 1 = 1 CxUC, |-2 <| С |. A0.1)
Поскольку C'^CjUCj,, имеем также
A0.2)
Объединив выражения A0.1) и A0.2), получим р (С')<|С"|.
Следствие 10.4.1. Если А — независимое множество матроида М на множе-
множестве S, то A \Jx для любого x?S содержит не более одного цикла.
Доказательство. Допустим, что для некоторого x?S существуют два таких
различных цикла Cj и С2, что xcz^yjCs, С^АМх и С^Ах. Тогда по преды-
предыдущей теореме существует цикл C's^UCd—*• Следовательно, (Cx\)C%)—х —
зависимое множество. Но (Ct (J C2)—х<=А, что противоречит независимости
множества А.
Следствие 10.4.2. Если В — база матроида М на множестве 5 и x?S—В, то
существует такой единственный цикл С—С(х, В), что х^ С<=В (Jх.
Доказательство. Поскольку В — максимальное независимое множество, в
B(Jx содержится цикл. По предыдущему следствию этот цикл единственный.
Определенный в этом следствии цикл С (х, В) называется базисным циклом
элемента х по отношению к базе В.
Докажем теперь более сильный результат, чем теорема 10.4.
Теорема 10.5. Если Сг и С2 — различные циклы матроида ия^С^ПСг, то
для любого (/^Cj—С2 существует такой цикл С, что у ? С<= (Cj (J C2)—х.
Доказательство. Допустим, что Съ С2, х, у таковы, что теорема неверна и что
ICjlJC^I минимально среди всех пар различных циклов, не удовлетворяющих
теореме.
По теореме 10.4 существует цикл С3= (Сх(J С2)—х. Из выбора х и у очевидно,
что уфС3. Кроме того, С3П (С2—Сг)^=0, в противном случае С3-<СЪ что проти-
противоречит тому факту, что Сх — минимальное зависимое множество. Пусть тогда
6СП(СС)
8П(*,)
Теперь для циклов С2 и С3 справедливы следующие утверждения: 1)г?С2Пьз;
2)х?С2—С3; 3) С2UС3 —собственное подмножество Сг\}Съ поскольку уфО2ОС3-
Из выбора Ci и С2 следует, что существует такой цикл С4, что *?C4c=: (C2 []С3)—г.
Для циклов Ct и С4 имеем 1) At^CxflQ; 2)г/^Сх—С4, так как уфС\]С
3) CjUQ — собственное подмножество C^UCa. поскольку zfltCiUd-
Из выбора Сг и С2 также следует, что существует такой цикл Сб, что
sterile*)—*.
Поскольку C1[}Ci — собственное подмножество C±\JC2, цикл С6 таков,
что г/ССб^^иСг)— х, а это противоречит выбору Сх и Са.
198 Глава 10
10.3. Эквивалентные системы аксиом
В этом разделе мы сформулируем несколько альтернативных
систем аксиом, определяющих матроид. Эти эквивалентные харак-
теризации помогут нам в более глубоком проникновении в струк-
структуру матроидов. Начнем с эквивалентного аксиомам независимости
набора.
Теорема 10.6. (Аксиомы независимости.) Набор ,f подмножеств множества S
составляет множество независимых множеств матроида тогда и только тогда,
когда JF удовлетворяет аксиомам 1.1, 1.2 и 1.3'. Если А —произвольное под-
подмножество множества 5, то все максимальные подмножества Y^A, входящие в
§", имеют одинаковую мощность.
Доказательство предлагается читателю в качестве упражнения. См. след-
следствие 10.2.3.
Теорема 10.7. (Аксиомы баз.) Пусть SS — множество баз матроида. Тогда
8.1. а8=й=0 и никакое множество в <3 не содержит в качестве собственного под-
подмножества другое.
8.2. Earn Вг, В%?33 их?Вх, тогда существует у?В2, такой, что (Bf—х)[]у?33-
Обратно, если 33— набор подмножеств S, удовлетворяющих аксиомам В.1 и
В.2, то JF={/|/?=B для некоторого В?й} является набором независимых мно-
множеств матроида на S.
Доказательство, Мы уже доказали, что базы матроида удовлетворяют ак-
аксиомам В.1 и В.2. (Вспомните определение базы и следствие 10.2.3.)
Пусть дан набор 33, удовлетворяющий аксиомам В.1 и В.2. Покажем, что
набор ,f, определенный в формулировке теоремы, является набором независи-
независимых множеств матроида на S.
Прежде всего заметим, что из аксиом В.1 и В.2 следует существование для
х?В1—В2 такого у?В2—Въ что (В1—х)[}у входит в 33.
Очевидно, что ?f удовлетворяет аксиомам 1.1 и 1.2. Для доказательства
удовлетворения аксиоме 1.3 мы сначала покажем, что все члены 33 имеют оди-
одинаковую мощность.
Допустим, что существуют Bi, B2?33z |?il>[?2|. Тогда, повторяя приме-
применение аксиомы В.2, мы сможем удалить В2—В1 из В2 и заменить это подмноже-
подмножество на такое множество Л cBi—В% с |Л|==|В2—jSjI.^to B3= (B2[)B1)\JA будет
членом 33. Но B3czBi, что противоречит аксиоме В.1. Таким образом, все члены
набора 33 имеют одинаковую мощность.
Рассмотрим теперь два любых различных члена X и К набора JF с | К|== f J4T [ —|— 1,
Пусть Х<=ВЪ Y<=B2, где Въ В2?33- Пусть Х= {xt, х2 xk}\ Si=* {%,
*2 хк, bi, b2, . .., bq); К= \уь у% yk, yk+1}; В2= {у±, у2, . . „ yk+1, съ
С2, . . ., Cq-i).
Рассмотрим множество Вх—bq. По аксиоме В.2 существует такой z?B2, что
В'~ (Si—69)(Jz входит в 33- Если z?Y, то (XyjzjE^B' и, следовательно, яв-
является членом JF'. Поэтому аксиома 1.3 в этом случае удовлетворяется.
Если г^ЁК, то рассмотрим В"=В'—6^_i. Снова по аксиоме В.2 существует
такой z'^S2. чтоВ"= (В'—6,j_i)(Jz' является членом 33- Если z'?Y, то КМ
Uz'c=j3". Следовательно, (X(Jz')€eF и аксиома 1.3 удовлетворяется.
Если z'dY, удалим из В" член bq-2 и т. д. Поскольку [ {b^, b2, . .., bq}\>
>|{ci, c2, . . ., cq-i}\, не более чем через q шагов мы достигнем ситуации, в ко-
которой заменим некоторый 6,- на элемент К, посредством чего выполним аксиому 1.3.
Теорема 10.8. (Аксиомы ранга.) Функция ранга р матроида М на множестве
удовлетворяет аксиомам
R.I. 0<р<|Л] для любого A<=S.
R.2. Если A^B<=S, то р(А)<р(В).
R.3. Для любых A, B<=S p(A)+p(B)^p(A\JB)+p(A[)B).
Матроиды l 99
Обратно, если определенная на конечном множестве 5 целочисленная функция о
удовлетворяет аксиомам R.I — R.3, то множество fr= {/|p(/)=|/|, teS} яв-
является набором независимых множеств матроида на S.
Доказательство. Мы уже доказали в теореме 10.3, что функция ранга матро-
матроида удовлетворяет аксиомам R.I — R.3.
Для доказательства обратного предположим, что функция р удовлетворяет
аксиомам R.1 — R.3. Из аксиомы R.1 следует, что р@)=О. Поэтому 0?<f в
аксиома 1.1 удовлетворяется.
Пусть В^^ и А<=В. Тогда по аксиоме R.3 получаем
Если р(Л)<|Л|, то по аксиоме R.1 р(А)+р(В—А)<\А\+\В—А\—\В\,
что противоречит формуле A0.3). Следовательно, р(А)=\А\ и Л также является
членом JF, вследствие чего удовлетворяется аксиома 1.2.
Для доказательства аксиомы 1.3 заметим сначала, что из аксиом R.2 и R.3
следует аксиома
R.3'. Еслир (A(Jx)=p(A\Jy)=p(A),Top(AUxUy)=P(A). Пусть X и К — раз-
различные члены Jp с \X\=k и |К|=й+1. Предположим, что для любого y?Y—X
P(X\]y)=k. Тогда, применяя повторно аксиому R.3', получим р(Х[} (К—Х))=*
«=р(Х U Y)=k в противоречие ср (К)=й+1. Поэтому существует элементу ? Y—Х(
для которого p(X\Jy)=k-{-l, и аксиома 1.3, таким образом, удовлетворяется.
Теорема 10.9. (Аксиомы циклов.) Пусть % — множество циклов матроида
на множестве S. Тогда
С.1. 0&6 и никакое множество в % не содержит другого в качестве собствен-
собственного подмножества.
С.2. Если Ci, С2?#, Cj?=C2 и х^Сг{\Съ то существует такой СзбЙ", что С33
(CUC)
^(jU2)
Обратно, если набор 'ё подмножеств множества 5 удовлетворяет аксиомам
С.1 и С.2, то множество JF= {I|C—I Для всех <-€ё") является набором независи-
независимых множеств матроида на 5.
Доказательство. Мы уже доказали, что циклы матроида удовлетворяют ак-
аксиомам С.1 и С.2 (теорема 10.4).
Пусть дан набор %, удовлетворяющий аксиомам С.1 и С.2. Покажем, что
набор if7, определенный, как в формулировке теоремы, является набором неза-
независимых множеств матроида на S. Сделаем это, показывая последовательно, что
,fp удовлетворяет аксиомам 1.1, 1.2 и 1.3' (теорема 10.6).
Заметим сначала, что JF есть набор всех подмножеств S, не содержащий
ни одного члена %. Поэтому он удовлетворяет аксиомам 1.1 и 1.2.
Для доказательства того, что JF удовлетворяет аксиоме 1.3', рассмотрим про-
произвольное подмножество A^S. Пусть S± и 6'2— различные максимальные подмно-
подмножества А, принадлежащие <f. Допуская |S2|>|Si|, установим противоречие.
Так как Si и 52— различные подмножества, 5Х—S2?=0 и 5а—S1=0. Пусть
x?S2—Si. Тогда, очевидно, Sx\]x?!f. Следовательно, существует С?*ё, для
которого x^Cc^SiUx. Более того, С[) (Sx—S2)?=0, иначе бы Сс52, что противо-
противоречит принадлежности 52 к JF.
Пусть *'?Cn(Si—Sa) и 53= (Si—x)(Jк. Заметим, что |S3| —lsil- Сначала
докажем:
1- S3€f"¦ Очевидно, что Si—x'?JF- Если бы S3ff, тогда существовал бы
такой С'^'ё, что x^Cg^S^S^x. Более того, СфС, так как х'?С. Таким
образом, С и С— такие различные члены %, что а) х?С[)С и б) CczSAjx и
C'=S1[)x. Тогда из аксиомы С.2 следует, что существует такой С"?й\ что
C"s(C(jC)—x^S^tf. Это противоречит тому, что никакой член ff~ не содер-
содержит членов 'ё. Следовательно, S3?ff'.
Теперь докажем:
2- 53^^" — максимальное подмножество множества А,
200 Глава 10
Допустим противное. Пусть S'gJF— такое максимальное подмножество мно-
множества А, что SsdS'. Теперь х' ?S', так как в противном случае SiCS', что про-
противоречит максимальности 5Х в А. Тогда S'U^'CfcaF- Следовательно, существует
такой С"'^<ё, что x'?C"'^S'[)x'. Более того, C"'()(S'—S1)*?0, так как иначе
бы С"'с5х. Пусть x"fC(](S'—Sj). Тогда можно показать (как в доказательстве
п. 1),что E'—*")U*'taF- Ho SjClS'—/')и^'б^.чтопротиворечит максималь-
максимальности 5j в А. Таким образом, 58— максимальное подмножество в А.
Заметим, что S3 построено из Sj заменой элемента *'?Si—52 на элемент
*?S2—5Х. Поскольку |S2|>|Si|, мы можем повторить эту конструкцию конеч-
конечное число раз, получив максимальное такое подмножество Sn^A, что SnGJF и
SnCzS2, что противоречит равенству р(К)=?+1. Поэтому существует такой эле-
элемент у?Y—X, что p(X(jy)=k-lrl. Поэтому существует такой элемент y?Y—X,
что p=(X\Jy)=k-{-i и аксиома 1.3, таким образом, удовлетворяется.
10.4. Двойственность матроидов
и графоиды
В этом разделе мы сначала введем понятие двойственности матро-
матроидов и обсудим некоторые результаты, связывающие матроид
с двойственным к нему матроидом. Затем мы сформулируем теорему
о «раскрашивании», которая приведет нас к понятию графоида.
Мы завершим раздел развитием самодвойственной системы аксиом
Минти для матроидов, основанной на графоидах.
Начнем с теоремы, предложенной Уитни [10.1], в которой опре-
определяется двойственный матроид.
Теорема 10.10. Пусть 3d — множество баз матроида М на множестве S.
Тогда 3&*= {S—В\В?33} есть множество баз матроида М* на S.
Доказательство. Очевидно, что S3* удовлетворяет аксиоме В.1. Чтобы по-
показать, что аксиома В.2 также выполняется, рассмотрим любые такие два про-
произвольных члена Bi и Вг набора S3*, что Bi=S—Въ B-i—S—В2. Пусть
х?Вг—Bi. Тогда х?В2—Вг. Из упражнения 10.4 следует, что существует такое
y(z&i—В2, чю Bs— (By—у) (J х является базой М. Теперь у ?Bl—В* н(В*—у)[)х=
= S—[(Bi—y)\Jx]=S—B3=Bs. Таким образом, аксиома В.2 выполняется и,
следовательно, .©*— множество баз матроида М на S.
Определенный в теореме матроид М* называется двойственным матроидом кМ.
Легко видеть, что М — двойственный к М* матроид. Поэтому будем говорить,
что М и М*—двойственные матроиды.
Определенные в разд. 10.1 матроид разрезов и циклический матроид графа,
как нетрудно заметить, являются двойственными матроидами.
База М* называется кобазой М. Аналогично цикл М*— коцикл М, петля
М* — копетля М, функция ранга М* — функция коранга М и т. д. Функция
ранга М* обозначается через р*. Если В — база М, то кобаза5 — В обозна-
обозначается через В*. Набор кобаз М обозначается через ЭЗ* (M)t а набор коциклов —
через %*(М).
Теперь сформулируем результаты, связывающие матроид с двойственным к
нему матроидом. Многие из них хорошо известны в теории графов (гл. 2).
Очевидно, что из определения двойственного матроида следует
р*(УИ) = |5|-р(М). A0.4)
В следующей теореме раскрывается взаимосвязь р и р*.
Матроиды 201
Теорема 10.11. Если М и М*—двойственные матроиды на множестве S,
тогда для любого A<=:S справедлива формула
р*И) = |Л|+рE-Л)-р(ЛГ). A0.5)
Доказательство. Рассмотрим Л^5; пусть В*— такая база М*, что ]В* f\A | —
максимально. Тогда В — такая база М, что |B["|(S—А)\—максимально. Из
определения функции ранга следует, что
р*(Л) = |В»ПЛ|, A0.6)
рE-Л) = |ВПE-Л)|. (Ю.7)
Тогда \В*ПА]=\А\-\ВГ)А\ и |ВП (S~-A)\=\B\-\BnA\=p(M)-\B()M\. Та-
Таким образом, из выражений A0.6) и A0.7) следует р*(А)—\А|+рE—А)—р(Л4).
Заметим, что для любого утверждения о циклах, базах и т. д. матроида су-
существует двойственное утверждение о коциклах, кобазах и т. д. матроида. Это
обусловлено тем, что коциклы, кобазы и т. д. сами являются циклами, базами
и т. д. матроида.
Все леммы и теоремы этого раздела мы дополняем, где это возможно, двойст-
двойственными утверждениями. Доказательства этих двойственных утверждений оче-
очевидны.
Лемма 10.1. Пусть М — матроид на множестве S. Если /1S5 — независи-
независимое множество М, то S—А содержит кобазу М. Двойственное утверждение:
если j4*S5 — независимое множество М*, то 5—А* содержит базу М.
Доказательство. Существует такая база В матроида М, что А<=В. Поэтому
5—А содержит соответствующую кобазу В*.
Теорема 10.12. Пусть М — матроид на множестве S. Если А и А* — такие
подмножества S, что А Г\А*=0, А — независимое множество М, а А*— неза-
независимое множество М*, то существует такая база В матроида М, что Л<=В, а
А*<=:В*.
Доказательство. По предыдущей лемме S—А* содержит базу матроида М.
Поскольку /4sS—А*— независимое множество М, то по теореме 10.2 существует
такая база В матроида М, что A^zBczS—А*, а, следовательно, Л*с=В*.
Лемма 10.2. Пусть М — матроид на множестве S. Тогда любая база В
матроида М имеет непустое пересечение с любым коциклом М.
Аналогично любая кобаза М имеет непустое пересечение с любым коциклом М,
Доказательство. Если бы для некоторого коцикла С* матроида М С* (") В= 0,
то B*=S—В содержало бы S*, что противоречит независимости В* в М*.
Пусть В*— произвольная кобаза матроида на множестве S. По двойственно-
двойственному утверждению к следствию 10.4.2 для любого х?В В* \Jx содержит в точности
один коцикл. Он называется базисным коциклом элемента х по отношению к В.
Заметим, что этот коцикл содержит точно один элемент из В, а именно х.
Лемма 10.3. Пусть М — матроид. Для любого независимого множества А
матронда М существует коцикл, имеющий точно один элемент из А. Кроме того,
если |у4|<р (/И), то существует коцикл, имеющий пустое пересечение с А.
Аналогично для любого независимого множества А* матроида М* существует
цикл, имеющий точно один элемент из Л*. Если \А*\ <р* (М), то существует цикл,
имеющий с А* пустое пересечение.
Доказательство. Пусть В — такая база М, что АЯ^В, а С*— базисный ко-
коцикл элемента х ? В по отношению к В. Тогда С* П^— М> если х?А, и С* f\A=
= 0, если х?В—А. Таким образом, лемма доказана.
Теорема 10.13. Пусть М —матроид на множестве S. Подмножество X^S
является базой М тогда и только тогда, когда X — минимальное подмножество,
имеющее непустое пересечение со всеми коциклами М.
Аналогично подмножество X*<=S — кобаза М тогда и только тогда, когда
оно является минимальным подмножеством, имеющим непустое пересечение со
всеми циклами М.
202 Глава 10
Доказательство. Необходимость следует из лемм 10.2 и 10.3.
Для доказательства достаточности положим, что X — минимальное подмно-
подмножество S, имеющее непустое пересечение со всяким коциклом М. Тогда S—X —
максимальное подмножество, не содержащее коциклов М. Поэтому 5 — X явля-
является по определению кобазой М, а следовательно, X — базой М.
Получим сейчас несколько новых характеризаций циклов и коциклов.
Теорема 10.14. Пусть М —матроид на множестве 5. Подмножество Хс=5
есть цикл М тогда и только тогда, когда оно является минимальным подмноже-
подмножеством, имеющим непустое пересечение со всякой базой М.
Аналогично подмножество X*c=S есть коцикл М тогда и только тогда, когда
оно является минимальным подмножеством, имеющим непустое пересечение со
всякой базой М.
Доказательство аналогично доказательству теоремы 2.13.
Пусть С* — коцикл матроида М на 5. По предыдущей теореме С*— мини-
минимальное подмножество, имеющее непустое пересечение со всякой базой М. По-
Поэтому 5—С* — максимальное подмножество, не содержащее баз М. Таким обра-
образом, получаем следующее утверждение.
Лемма 10.4. Если С* — коцикл матроида М на множестве 5, то E—С*)[}х
содержит базу В матроида М для любого х?С.
Аналогично если С — цикл матроида М на множестве S, то E—С)[}х содер-
содержит кобазу М для любого х?С.
Теорема 10.15. Пусть М — матроид на множестве S. Подмножество Ag=S
есть цикл М тогда и только тогда, когда оно является минимальным подмноже-
подмножеством с |ХПС*|Й1 для всякого коцикла С* матроида М.
Аналогично подмножество X*^S есть коцикл М тогда и только тогда, когда
оно является минимальным подмножеством с \Х*(]С\=1 для всякого цикла С
матроида М.
Доказательство. Необходимость. Допустим противное. Тогда для любого
собственного подмножества С" цикла С по лемме 10.3 существует такой коцикл С*,
что |С*ПС'| = 1.
Допустим, что |СЛС*| = 1 для некоторого цикла С и некоторого коцикла С*,
пусть СЛС*={*}. Рассмотрим теперь S'=S—С* и С'=С—х. Очевидно, что
C'^S'. По лемме 10.4 S'(J* содержит базу. Пусть B<=S' [)х — такая база, что
С<=В. Заметим, что х?В. Поэтому цикл С=С'[)х содержится в В; получили
противоречие.
Достаточность. Если X —такое подмножество S, что IX П С* 1=7^=1 для вся-
всякого коцикла С*, то X должно содержать цикл, иначе бы X было независимым
множеством М и по лемме 10.3 существовал коцикл, имеющий в точности один
элемент их X.
Пусть С — содержащийся в X цикл. Из доказанного необходимого условия
теоремы очевидно, что ]С[)С*\ф\ для всякого коцикла С*. Поэтому Х=С, иначе
минимальность X приводит к противоречию.
Теперь введем понятие раскрашивания конечного множества и сформулируем
теорему о «раскрашивании».
Раскрашивание множества S — это разбиение S на три таких подмножества
R, G и В, что [G] = l. Для облегчения представления мы считаем, что элементы R
«окрашены» в красный цвет, элемент G — в зеленый, а элементы В — в голу-
голубой.
Теорема 10.16. (теорема о раскрашивании). Пусть М — матроид на множест-
множестве S. Для любого раскрашивания 5 существует
1) цикл С матроида М, содержащий зеленый элемент и не имеющий голубых
элементов, либо
2) коцикл С* матроида М, содержащий зеленый элемент и не имеющий красных
элементов.
Доказательство. Допустим, что зеленый элемент входит в некоторый цикл,
иначе он был бы копетлей (почему?), и утверждение теоремы становится триви-
тривиальным.
Матроиды 203
Предположим, что для некоторого раскрашивания 5 утверждение 1 не ис-
истинно. Рассмотрим тогда подмножество S'=R(JG. Очевидно, что любой содержа-
содержащийся в 5' цикл состоит только из красных элементов. Пусть R'— минимальное
подмножество красных элементов, для которого S"=S'—R' не содержит циклов,
а В — база, для которой S"<=B. Тогда легко видеть, что базисный цикл любого
элемента y?R' по отношению к В состоит только из красных элементов.
Пусть теперь С*— базисный коцикл зеленого элемента по отношению к В.
Допустим, что С* содержит красный элемент х. Тогда x?R' и \С* {]Сх\ — \, где
Сх— базисный цикл х по отношению к В. Это противоречит теореме 10.15, следо-
следовательно, С* — коцикл, содержащий зеленый элемент и не имеющий красных
элементов. Таким образом, утверждение 2 истинно.
Теоремы 10.15 и 10.16 приводят нас к определению графоида, введенному
Минти [10.2].
Графоид — это структура (S, ??, gff), состоящая из конечного множества S
и двух наборов (?и® непустых подмножеств S, удовлетворяющих следующим
условиям:
G.I. Если С?# hD??D, то |СЛ?>| = 1.
G.2. Для любого раскрашивания 5 существует а) член %, содержащий зеленый
элемент и не имеющий голубых элементов, либо б) член &), содержащий
зеленый элемент и не имеющий красных элементов.
G.3. Никакой член % не содержит другого члена % в качестве собственного под-
подмножества; никакой член &) не содержит другого члена Ц) в качестве соб-
собственного подмножества.
Теорема 10.17. Пусть М —матроид на множестве 5. Тогда [S, # (М), %*
(М)] — графоид.
Доказательство следует из теорем 10.15 и 10.16.
Установим сейчас обратную теорему.
Теорема 10.18. Пусть (S, %, iff)— графоид. Тогда B&S — максимальное
подмножество, не содержащее члена $, тогда и только тогда, когда В не содержит
членов <g, а 5—В — членов &).
Доказательство.
Необходимость. Пусть В — максимальное подмножество S, не содержащее
членов %. Допустим, что 5—В содержитD?@). Пусть x?D. Тогда В[}хсодер-
В[}хсодержит С? ё"и х?С. Поэтому С Л?>= {х}, что противоречит аксиоме G.1, Таким обра-
образом, 5—В не содержит членов ??)•
Достаточность, Пусть B^S не содержит членов g, a S—B — членов &?).
Покажем, что для любого *?S — В В{]х содержит С?#.
Рассмотрим раскрашивание 5, в котором все элементы В — красные, х —
зеленый, а все оставшиеся элементы S — В — голубые. Очевидно, что не сущест-
существует члена &D, содержащего только зеленый и голубые элементы. Таким образом,
по аксиоме G.2 В\]х содержит С?ё".
Теорема 10.19. Пусть E, ё", iff) — графоид. Если В — максимальное под-
подмножество 5, не содержащее элементов й", то S — В — максимальное подмноже-
подмножество 5, не содержащее элементов ?Ь.
Доказательство следует из теоремы 10.18 и двойственной к ней.
Теорема 10.20. Пусть (S, й", &)) — графоид. Тогда % — набор циклов
матроида М на 5, а <2> — набор его коциклов.
Доказательство. Покажем сначала, что % — набор циклов матроида Mi на S.
Очевидно, что аксиома С.1 удовлетворяется.
Пусть Сх и С2— произвольные различные члены $?, для которых я^СхПСг,
y^C-i—С2. Рассмотрим раскрашивание S, в котором у — зеленый, х — голубой,
оставшиеся элементы C1(jC2—красные, а остальные элементы S — голубые
(рис. 10.2).
Члена D ???), содержащего зеленый элемент и не имеющего красных элемен-
элементов, не существует. Если бы такой член существовал, то, как легко показать,
выполнялось бы условие \C1f]D\ = \ или |С2ПО| = 1, что противоречит аксиоме
G.I. Поэтому по аксиоме G.2 существует С3?$, содержащий зеленый элемент
204
Глава 10
и не имеющий голубых. По аксиоме G. 3{г/} не является членом %. Отсюда следует,
что у^С3^(С1[}С2)—х. Таким образом, аксиома С.2 удовлетворяется. Следова-
Следовательно, 'ё — набор циклов матроида М1 на S.
Аналогично можно показать, что S) есть набор циклов матроида Мг на S.
Рис. 10.2.
По теореме 10.19 базы Мг являются дополнениями баз М2- Поэтому М± и
Мг— двойственные матроиды.
Из теорем 10.17 и 10.20 следует эквивалентность системы аксиом для графо-
ида и системы аксиом для циклов. Этот вывод сделан Минти [10.2], давшим эле-
элегантное изложение теории матроидов на основе графоидов.
10.5. Ограничение, сужение и миноры
матроида
Рассмотрим граф G со множеством ребер Е. По отношению к лю-
любому подмножеству Т^Е мы можем определить два графа, обозна-
обозначаемые G\T и G-T. Граф G\T, называемый ограничением G на Т, по-
получается из графа G уничтожением (размыканием) ребер, принад-
а 6
Рис. 10.3.
о —граф С; 6 — G\ Т, ограничение G на Т, Т={еи е„ е7, es)
e—G-T, сужение G на Г.
лежащих Е—Т, и удалением образовавшихся изолированных вер-
вершин. Фактически граф G\T является порожденным графом G на Т.
Граф G-T, называемый сужением G на Т, получается стягиванием
ребер, принадлежащих Е—Т. На рис. 10.3 представлены граф G,
графы G\T и G-T для Т={еь е„, е7, еа}.
Матроиды 205
Легко убедиться в следующем:
1. ГрафО', порожденный подмножеством ребер X графа G, является
ациклическим подграфом G\T тогда и только тогда, когда G' ацикли-
ациклический подграф графа G.
2. Граф G', порожденный подмножеством ребер X графа G, является
ациклическим подграфом G-T тогда и только тогда, когда существу-
существует такое подмножество Y^E—Т, что граф,, порожденный подмно-
подмножеством Y, является остовным лесом G\(E—Т), а граф, порожден-
порожденный подмножеством X U Y,— ациклическим подграфом графа G.
Эти положения мотивируют введение двух понятий подматроидов,
порожденных на матроиде подмножествами его элементов.
Если ? (М) — множество независимых множеств матроида М
на S и T<=S, тогда пусть ? (М\Т)={Х\Х<=Т, Х??(М)}. Легко
видеть, что ? (М \Т) — множество независимых множеств матроида
на Т. Этот матроид обозначается М\Т и называется ограничением
М на Т. Очевидны следующие утверждения:
1. Х^Т — независимое множество в М\Т тогда и только тогда,
когда X — независимое множество в М.
2. XsT — цикл Л1 |Т тогда и только тогда, когда X — цикл мат-
матроида М.
3. Если К — функция ранга М\Т, тогда для любого Х^Т
4. Если М (G) — циклический матроид графа G с множеством ребер
Е, то M(G)\T=M(G\T) для любого TsE.
Определим теперь подматроид М-Т. Пусть ?(М-Т)— набор
всех таких подмножеств ХеГ, что существует максимальное неза-
независимое подмножество Y^S—Т, для которого X U Y ? ? (М).
Теорема 10.21. ^(М-Т) — набор независимых множеств матроида на Т.
Доказательство. Пусть Xt и Х2— такие члены f {М-Т), что jХа| = |Xxl+1-
Тогда существуют максимальные независимые подмножества Kj, K2sS—Т, для
которых X'=X1[jY) и ^"—^2U^2— независимые множества М. Очевидно, что
j X" | = | X' |+1. Следовательно, по аксиоме 1.3 существует такой элемент х ? X"—X',
что X' [)х — независимое множество в М. Заметим, что X"—Х'={Х2—Xt)U (Уг~
—Ki). Кроме того, хфУ2—Кь поскольку Кх— максимальное независимое под-
подмножество 5—Т. Поэтому х?Х2—^1 и (Xi(Jх)<=Т входит в ?(М -Т). Таким об-
образом, ?Г(М-Т) удовлетворяет аксиоме 1.3. Легко видеть, что аксиомы I.I и 1.2
также выполняются.
Определенный в теореме матроид называется сужением М на Т и обозначается
М -Т. Заметим, что если М (G) — циклический матроид графа G с множеством ре-
ребер Е, то M(G-T)=M(G)-T для любого Г??.
Пусть рт—функция ранга М-Т. Тогда из определения М-Т получим, что
для любого Л<=Г
pT(A)*=p(A[}(S-T))-P(S-T). (Ю.9)
В гл. 7 мы заметили, что размыкание или удаление ребер и стягивание ребер
графа —двойственные операции. В частности, если G и G' —двойственные гра-
графы, а Т и 7" — соответствующие подмножества ребер G и G' G\T — двойственный
к G-T граф (теорема 7.10). Следующая теорема — матроидный аналог этой вза-
взаимосвязи.
206 Глава 10
Теорема 10.22. Если М — матроид на 5 и T^S, тогда 1) (М\Т)*=М*-Т;
2) (М-Т)*=М*\Т.
Доказательство. 1. Пусть Я, — функция ранга М\Т, а Л* —функция ранга
(М\Т) *. Тогда из выражения A0.5) следует, что к* (Х)=\Х\—А(Т)+р(Т—Х)
для любого Хс^Т.
Пусть рг — функция ранга М -Т, а (р*O" — функция ранга М*-Т. Тогда из
выражений A0.5) и A0.9) следует, что
] \Х\-р E)+р (Т-Х)-[\ S |-| Т |_р (S)+p (Г)] = |Х|
+р(Т—Х) = | А" |—Х(Т)+Х(Т—Л:) = Х*(Л:), согласно выражению A0.8).
Так как (М\Т)* и М* *Т имеют одну функцию ранга, то {М\Т)*=М* -Т.
2. В п. I заменяя М* на М и взяв двойственные матроиды, получим п. 2.
Пусть М — матроид на 5 и T^S, матроид N на Т называется минором М,
если N получен последовательностью ограничений и сужений М. Тема, связанная
с минорами матроидов, глубоко изучена Таттом [10.3].
Используя терминологию теории матроидов, можно сформулировать множе-
множество результатов, касающихся пленарных и двойственных графов. Например,
теорему 7.5 можно сформулировать следующим образом:
Граф планарен тогда и только тогда, когда циклический матроид М (О) графа
не содержит в качестве миноров матроидов М (Кь) и М. (Кз.з)-
10.6. Представимость матроидов
Пусть М — матроид на множестве S. Пусть В={Ь1, Ъг, ...
..., Ът) — базаМ, a B*=S—В={еи е2 eq) — соответствующая
кобаза М. Напомним, что В* П С(е})=в), /=1, . . . , ц, где С{е,) —
базисный цикл элемента ej. Аналогично В П C*(bj)=bj, /=1 г,
где C*{bj) — базисный коцикл элемента Ь}. Как и в случае неориен-
неориентированных графов (гл. 6), мы можем сейчас определить базисную
цикломатическую матрицу DJ и базисную коцикломатическую мат-
матрицу Df матроида М по отношению к базе В. Очевидно, что обе эти
матрицы будут иметь вид W D], где U — единичная матрица, столб-
столбцы которой соответствуют элементам В. Матрица такого вида назы-
называется стандартным представлением матроида М по отношению
к базе В.
Рассмотрим граф G. Присвоим произвольным образом ориента-
ориентацию ребрам графа G, получив в результате ориентированный граф
С. Тогда по теореме 6.9 усеченная матрица инциденций G' есть
представление циклического матроида М (G) над произвольным по-
полем F. Можно заметить также (теорема 6.10), что любая базисная
матрица разрезающих множеств G' является стандартным представ-
представлением М (G) над произвольным полем F. Далее, по теореме 6.11
любая базисная цикломатическая матрица G' является стандартным
представлением циклического матроида М (G) над произвольным
полем F. Таким образом, приходим к следующему утверждению:
Теорема 10.23. Циклический матроид и матроид разрезов графа представимы
над произвольным полем F.
Сейчас мы докажем основной результат этого раздела.
Матроиды 207
Теорема 10.24. Если матроид М на 5 представим над полем F, тогда двой-
двойственный матроид М* на S также представим над F.
Доказательство. Допустим, М имеет ранг г и содержит п элементов. Пусть
матрица А порядка гХ п является представлением М над F.
Пусть X — множество всех таких векторов-столбцов а;, чтоЛл;=0. Величина X
называется нуль-пространством матрицы А. Из линейной" алгебры известно, что
размерность X равна п—г. Выберем теперь из X множество из п—г линейно не-
независимых векторов-столбцов и образуем из эти* векторов, как из столбцов, ма-
матрицу В порядка пХ (п—г). Заметим, что АВ=0.
Покажем сейчас, что В* является представлением над F двойственного ма-
троида М*. Для этого докажем, что произвольные г столбцов матрицы А линейно
независимы тогда и только тогда, когда дополняющее множество из п—г столбцов
Bt—линейно независимо. Выберем первые г столбцов матрицы А. Очевидно, что
такой выбор не влечет потери общности.
Первые г столбцов матрицы А линейно зависимы тогда и только тогда, когда
существует ненулевой вектор-столбец х=[хъ х2, . . ., хг, 0, 0, . . ., 0]', при-
принадлежащий X. Такой вектор х?Х, в свою очередь, существует тогда и только
тогда, когда существует вектор-столбец г/?=0 такой размерности п—г, что х=Ву.
Записывая теперь В в виде , где Вх имеет порядок гХ (п—г), а Вг—
LszJ
—(п—г)Х(п—г), легко видеть, что В2У=0. Поскольку г/=^=0, то В2— вырожденная
матрица. Таким образом, строки В2, а следовательно, и последние п—г столбцов
В' зависимы, что доказывает теорему.
Легким следствием этой теоремы является следующий результат:
Следствие 10.24.1. Пусть М ¦— матроид ранга г на множестве 5= {sj, s2, ...
. . ,, sn]. Если М имеет стандартное представление
••s»
то М* имеет стандартное представление
[ -А | С/„_г ],
где Uk — единичная матрица порядка kXk.
Из этого следствия легко получается выражение F.13), связывающее базис-
базисную цикломатическую матрицу с базисной матрицей разрезающих множеств.
Дальнейшее обсуждение проблемы представимости матроидов можно найти
в работе [10.4].
10.7. Бинарные матроиды
Матроид называется бинарным, если он представим над GFB),
полем целых чисел по mod 2.
Очевидно, что циклический матроид М (G) и матроид разрезов
M*(G) графа G бинарные. Нами уже доказана теорема 4.6, в которой
каждый цикл М (G) выражается в виде суммы по mod 2 некоторых
базисных циклов графа G. Подобный результат справедлив и для
разрезающих множеств графа G. Это свойство циклов и разрезаю-
разрезающих множеств (коциклов) сохраняется и для случая бинарных мат-
матроидов. Однако в общем случае произвольных матроидов оно не вы-
выполняется. Пусть, например, S = l, 2, 3, 4, а М в качестве циклов
имеет все подмножества из трех элементов S. Тогда сумма по mod 2
208 Глава 10
циклов {1, 2, 3} и {1, 2, 4} даст {3, 4}, являющееся независимым
множеством матроида М.
В этом разделе мы устанавливаем некоторые свойства бинарных
матроидов, которые приведут нас к разработке альтернативной
характеризации бинарных матроидов.
Пусть М — матроид на множестве S. Пусть B—{bu b2, ...
. . . , br\ — база М, a B*=S—B={eit ег eq\ —соответст-
—соответствующая кобаза М. Напомним, что В* Г\С(е})—е}, ]—1, . . . , q, где
С {в}) — базисный цикл е}. Аналогично ВпС*(Ь})=Ь], /=1, . . . , г,
где C*(bj) — базисный коцикл bj. Как и в случае неориентирован-
неориентированных графов (гл. 6), определим базисную коцикломатическую мат-
матрицу Df и базисную цикломатическую матрицу Df матроида М по
отношению к базе В. Очевидно, что матрицы будут иметь вид
D, = [12Ur ' | **% р\
d;=[ а | uq ].
Заметим, что Df=[dtj] и D*f=[d*j\ — @,1)-матрицы.
Допустим, что матроид М — бинарный. Тогда он имеет стандарт-
стандартное представление на GFB) вида
[12Ur ' \ ''А ]. A0.10)
Пусть базисный цикл С{е})={е}, bb bit . . . , bh\. Тогда сумма
по mod 2 столбцов матрицы A0.10), соответствующих элементам
C(ej), равна нулю. Поскольку сумма по mod 2 векторов аналогична
кольцевой сумме соответствующих множеств, легко видеть, что
j 1, если bi^C(ej);
а'у==\0, если 6,€С(ву).
Другими словами,
A = GK A0.11)
Таким образом, матрица lUrGf] является стандартным представле-
представлением над GFB) Ж и по отношению к базе В.
Исходя из стандартного представления для двойственного матро-
матроида М*, можно аналогично показать, что [FW^] является стандарт-
стандартным представлением над GF B) матроида М*.
Поскольку матроид имеет по отношению к данной базе единствен-
единственное стандартное представление, из следствия 10.24.1 вытекает
F = G(. A0.12)
Таким образом, мы доказали следующую теорему:
Матроиды 209
Теорема 10.25. Пусть М — бинарный матроид на множестве S.
1. Базисная цикломатическая матрица М по отношению к произвольной базе
является стандартным представлением этого матроида.
2. Базисная коцикломатическая матрица матроида М по отношению к произ-
произвольной базе является стандартным представлением матроида М*.
Из формулы A0.12) мы получаем также следующий интересный результат.
Теорема 10.26. Пусть М — бинарный матроид. Пусть Df и Df — базисные
коцикломатическая и цикломатическая матрицы матроида М по отношению к
общей базе. Тогда
D, (?>/*) =0. A0.13)
Пусть С — цикл матроида М; мы можем связать с ним @, 1)-вектор-строку,
каждый элемент которого соответствует элементу матроида М, а элемент вектора
равен 1, если соответствующий элемент множества S входит в цикл С. Например,
строки Df —это векторы, соответствующие базисным циклам. Матрица, содержа-
содержащая все циклические векторы матроида М, называется цикломатической матри-
матрицей матроида М и обозначается D* (М). Аналогичным образом определяется
коцикломатическая матрица D (М) матроида М.
Допустим, что х — вектор, соответствующий циклу С бинарного матроида М.
Так как Df— стандартное представление матроида М, сумма по mod 2 столбцов
Df, соответствующих элементам С, равна 0. Другими словами,
0. A0.14)
Аналогично если х — коциклический вектор, то
?>/V=0. A0.15)
Заметим, что мы считали расстановку столбцов Df, Dfi/ix соответствующей од-
одному порядку элементов.
Теорема 10.27. Пусть М — бинарный матроид на 5. Пусть В — база, а С —
цикл матроида М, С—B={xi, х2, . . ., **}. Если С(*() будет обозначать базисный
цикл элемента xt по отношению к В, то С= С (д^фС (*г)©- ¦ -фС(*л)-
Доказательство основано на выражениях A0.12) и A0.14). См. теорему 6.7.
Для доказательства обратной теоремы мы нуждаемся в следующем утвержде-
утверждении:
Теорема 10.28. Пусть М — матроид. Пусть для любых базы В и цикла С
матроида М имеем С=С(^1)фС(д;!!)ф. . . фС(хк), где {хи хг xk}=C—В,
а С (xj) — базисный цикл *,- по отношению к В. Тогда сумма по mod 2 C-^Ca
двух любых различных циклов матроида М содержит цикл этого матроида.
Доказательство. Допустим, что CiQC2 не содержит цикла. Пусть С1ПСа=
= {xi, х2, . . ., Хр). Тогда С1®С2=(С11)С^)—{х\, . . ., хр) — независимое мно-
множество в матроиде М. Поэтому существует база ВЭСхфСа. Но тогда Сх—В=
= C2—B={xi, . . ., Хр}. Следовательно, по предположению теоремы С1=С(д;1)ф
фС(*2)Ф • • • фС(д;Р)=С2, что противоречит условию СгфСг.
Теорема 10.29. Пусть М — матроид. Пусть для любых базы В и цикла С
матроида М имеем С=С(х1)(ВС(х2)®. . .фС(д^), где {хх, х2 xk}=C—В, а
C(xj) — базисный цикл X; по отношению к В. Тогда М — бинарный матроид.
Доказательство. Пусть В={ЬЪ Ь2, . ¦ ., Ьг) — произвольная база матроида
М, S—B={elt е2, . . ., eq}. Базисная цикломатичеекая матрица Df(M) матроида
М по отношению к В имеет вид
210 Глава 10
Для доказательства теоремы покажем, что матрица
Ь{Ьг---Ьг exe2---eq
[ Ur | А* \ A0.16)
является стандартным представлением матроида М над GF B).
Пусть С — цикл матроида М. Если С—В= {е,- , е{ , . . ., е,-., то по условиям
теоремы С=С(е,-1)фС(е1-2)ф . . .®С(е/А). Из определения Л следует, что сумма
по mod 2 столбцов матрицы в формуле A0.16), соответствующих членам цикла С,
равна 0. Таким образом, эти столбцы линейно зависимы над GF B).
Допустим, что {&!, . . ,, bf, el7 . . ., ер) — цикл матроида М', порожденного
на 5 линейной зависимостью соответствующих вектор-столбцов матрицы A0.16).
Тогда Ш'=С(е1)фС(е2)ф . . . ®С(ея). По теореме 10.28 W содержит цикл С"
матроида М. Но С" не может быть собственным подмножеством цикла W, так как
это противоречило бы тому, что W — цикл матроида М'. Таким образом, W=C
Следовательно, матрица A0.16) есть представление матроида М над GFB).
Другие характеризации бинарного матроида даны в следующей теореме.
Теорема 10.30. Пусть М — матроид. Следующие утверждения эквавалентны:
1. Для любых цикла С и коцикла С* матроида М \С(]С*\— четно.
2. Сумма по mod 2 произвольного набора различных циклов матроида М есть
объединение непересекающихся циклов того же матроида.
3. Если для любых базы В и цикла С матроида М имеем С—В= {еь е2, . . ., еч},
С(е;) — базисный цикл е,- по отношению к базе В, то С= С (е^фС (е2)ф . .,
ф()
ф(„)
4. М — бинарный матроид.
Доказательство.
1=ф2. Пусть С1( С2, . . ., C(j—различные циклы матроида М, a A=C1Q)
2® . . .®Cj. He нарушая общности, допустим, что А не содержит петель.
Поскольку для любого коцикла С* \С* [)С\ — четно A«г<6), то легко ви-
видеть, что \А ЛС*| — также четно. Допустим, что А — независимое множество.
Тогда приходим к противоречию, поскольку по лемме 10.3 существует коцикл,
имеющий точно один элемент из А. Таким образом, А — зависимое множество и
содержит цикл С.
Если А=С, теорема доказана. Допустим противное: пусть у41=Л®С. За-
Заметим, что для любого коцикла С* имеем, что \С* [\АХ\ четно. Поэтому мы можем
повторить рассуждения для А1. Поскольку Ах— конечно и Аг=А—С, этот про-
процесс в конце концов закончится, приводя в результате к набору непересекающихся
циклов, объединение которых равно А.
2=фЗ. См. доказательство теоремы 4.6.
3=>4. Аналогично теореме 10.29.
4=ф1. По теореме 10,27 всякий цикл С можно выразить через базисные циклы
C=C(*i)®C(*2)®. . .®C(xk). По формуле A0.15) имеем, что |С* П С (*,•)[ — четно
для всех l<:i<?. Поэтому легко видеть, что \С* f\C\ — четно.
Очевидно, что заменой циклов на коциклы в теореме 10.30 достигается аль-
альтернативная характеризация в терминах коциклов.
10.8. Ориентируемые матроиды
Матроид М называется ориентируемым, если некоторым нену-
ненулевым элементам в цикломатическои матрице D*=D*(M) и в ко-
коцикломатической матрице D=D(M) можно присвоить отрицатель-
отрицательные знаки таким образом, что после этого произведение любой стро-
строки цикломатическои матрицы на любую строку коцикломатической
матрицы будет равно нулю над кольцом целых чисел. Очевидно, что
циклический матроид и матроид разрезов графа ориентируемы.
Матроиды
211
Раскрашивание ориентируемого матроида М — это разбиение
его элементов на три множества — R, G и В — и выделение одного
из элементов — G. Визуально можно представить это разбиение
как раскраску элементов матроида М в три цвета: красный, зеленый
и голубой, причем точно один зеленый элемент раскрашен в темно-
зеленый цвет. Однако заметим, что этот элемент рассматривается
как зеленый.
Основной результат этого раздела — «лемма о раскраске дуг» —
получен Минти [10.2].
Теорема 10.31. (Лемма о раскраске дуг.) Пусть М — ориентируемый матро-
ид. Для любого раскрашивания элементов матроида М справедливо точно одно
из следующих утверждений:
1. Существует цикл, содержащий темно-зеленый элемент, но не имеющий голу-
голубых. Все зеленые элементы в нем ориентированы одинаково (т. е. имеют одина-
одинаковый знак в цикломатической матрице).
2. Существует коцикл, содержащий темно-зеленый элемент, но не имеющий крас-
красных. Все зеленые элементы в нем ориентированы одинаково.
Доказательство. Докажем индукцией по числу зеленых элементов. Если име-
имеется единственный зеленый элемент, результат следует из аксиомы G.2.
Допустим, что теорема справедлива, когда число зеленых элементов равно яг.
Тогда рассмотрим раскрашивание, в котором число зеленых элементов равно
/и+1, Выберем зеленый элемент х, отличный от темно-зеленого (clg) (рис. 10.4).
Рис. 10.4.
Раскрасим элемент л; в красный цвет. В получившемся раскрашивании стало т
зеленых элементов. Если теперь найдется коцикл типа 2, то теорема доказана.
Допустим, мы раскрасили х в голубой цвет. Если в получившемся раскраши-
раскрашивании имеется цикл типа 1, то теорема доказана.
Предположим, что ни одно из этих допущений не имеет места. Тогда по ин-
индуктивному предположению мы имеем:
а) существует коцикл типа 2, если х раскрашен в голубой цвет;
б) существует цикл типа 1, если х раскрашен в красный цвет.
Теперь пусть соответствующие строки цикломатической матрицы и коциклома-
тической матрицы имеют следующий вид:
dg R
В
Коцикл
Цикл
+ 1 0 О-
+ 1 -1 1-.
¦ о о
•О -1
о
1 ,
о-
•О 1
• о о
1 1---1 0 ?
0 I--- 1 0 ?
Не нарушая общности, мы здесь допустили, что в позиции темно-зеленого эле-
элемента в обоих векторах стоит +1,
212 Глава 10
По определению произведение двух этих векторов равно нулю. Вклад в про-
произведение от темно-зеленого элемента равен 1; от всех красных и голубых эле-
элементов — нулю; от зеленых элементов — неотрицательному целому р и от х —
неизвестному целому q, которое равно 0, 1 или —1. Таким образом, 1+/>+</=0.
Это равенство выполняется только при р=0 и ц=—1. Поэтому в одном из векто-
векторов под знаком вопроса скрывается +1, а в другом —1. Выбрав вектор, в кото-
котором знак вопроса скрывает 1, получим требуемый цикл или коцикл.
Таким образом, выполняется либо утверждение 1, либо утверждение 2. Оба
одновременно они выполняться не могут, поскольку тогда произведение соответ-
соответствующих циклу и коциклу столбцов не равнялось бы нулю.
Лемма о раскраске дуг в частном случае графов [10.5, 10.6] очевидна, она
используется в гл. 11 в доказательстве свойства «неусиления» резисторных схем.
10.9. Матроиды и «жадный» алгоритм
Рассмотрим множество S, элементам которого st присвоены не-
неотрицательные веса w(st). Вес подмножества S определяется равным
сумме весов всех входящих в подмножество элементов. Пусть ? —
набор подмножеств S. Многие задачи комбинаторной оптимизации
сводятся к следующей задаче:
Найти член ? максимального веса.
Например, к этой задаче сводится нахождение остова макси-
максимального веса во взвешенном связном графе G, если ? — набор всех
остовов графа G.
Для решения этой задачи естественно применить следующий ал-
алгоритм, называемый «жадным».
Алгоритм 10.1. «Жадный» алгоритм.
Шаг 1. Выбрать такой элемент slt что \st\?? и w{sjj^w(s) для
всех таких s, что {s}??. Если такого sj не существует —
останов.
Шаг 2, Выбрать такой элемент s2, что {s{, s2} ? ? и w(Si)^w(s) для
всех таких s=?slt что {sb s} ? ?. Если такого s2 не сущест-
существует, останов.
Шаг 3. Выбрать такой отличный от sl( s2, . . . , sk-i элемент sk, что
{si, s2, . . . , sft-i, sh] ? ? и w(sk) — максимально среди всех
таких s. Если такого sh не существует — останов.
Очевидно, что алгоритм заканчивает работу, получая максимальный
по включению член ?. Однако этот член может иметь не максималь-
максимальный вес в ?.
Например, если S={a, b, с, d), ю(а)=4, w(b)=3, w(c)=2,
w(d)=2 и ?={{а), {а, с), {b, с, d), {b, d}}, то алгоритм получит
{а, с}, но членом ? максимального веса является {Ь, с, d). Однако
если мы изменим веса так, чтобы ю(а)=6, w(b)=3, w(c)—2, w(d)=2,
го алгоритм снова получит {а, с}, являющееся теперь членом ?
максимального веса.
Исследуем взаимосвязь получаемого «жадным» алгоритмом ре-
решения со структурой ?.
Матроиды 213
Рассмотрим матроид М на множестве S. Пусть ? — набор не-
независимых множеств М. Пусть h={au а2,.. . , ат} и /2={&i, b2, ¦ ¦.
¦ ¦ ¦ , bn) — независимые множества, элементы которых расстав-
расставлены в порядке невозрастания весов. Таким образом, w(a^)^>
~^яю(а2)~^. . .^w(am) и wibi^wibi)^. . .^(bn). В этом случае /ц
лексикографически больше /2, если существует такое k, что w(a,i)=
=w(bt) для l<:i<?—1 и w(ahy>w(bh) или w{ui)=w{bt) для l^i^n
и пС>п. Множество, которое лексикографически не меньше любого
другого множества, называется лексикографически максимальным.
Из этого определения следует, что лексикографически максималь-
максимальное независимое множество должно быть базой.
Множество В ? ? называется оптимальным по Гейлу в ?, если
для всякого / ? ? существует такое взаимно однозначное соответ-
соответствие между / и В, что для всех а? I w (a)^w (b), где b — элемент В,
соответствующий а. Очевидно, что оптимальными по Гейлу могут
быть только базы. Кроме того, если база оптимальна по Гейлу, то
она должна иметь максимальный вес.
Далее мы принимаем, что элементы всякого множества упоря-
упорядочены по невозрастанию весов.
Теорема 10.32. Пусть ? — набор независимых множеств матроида М на S, а
В — база М. Для произвольного взвешивания элементов эквивалентны следую-
следующие утверждения:
1. В лексикографически максимально в ?•
2. В оптимально по Гейлу в ?•
3. В член $ максимального веса.
Доказательство.
1=J>2. Пусть B—{blt b2, ¦ ¦ ¦, Ьг}—лексикографически максимальная база
матроида М. Допустим, что В не оптимальна по Гейлу. Тогда существует такое
независимое множество I={alt а2, . . ., а&, что да(а,-)=даF,-) для 1 <:/¦<?—1 и
w(ak)>w(bk). Рассмотрим независимые множества Bfc_1={6i, йа, . . ., b^-i} и
/= {аъ а2, . . ., flft}. По аксиоме 1.3 существует такой ау? /, что /'= {6Х, Ь2, . . .
. . ., fefe_i, а/} — независимое множество. Но /' лексикографически больше В,
поскольку w(aj)~^w(ak)~>w(bk), что противоречит лексикографической макси-
максимальности В в §г.
2=?>3. Очевидно.
3=ф1. Пусть В= {bi, b2, . . ., br) — лексикографически максимальная база,
а В'—база максимального веса. Поскольку справедливо 1=?>2, то w(bjfcssw(b'i)
для всех 1-<1<:г. Из того, что В' — база максимального веса, следует, что а>(й,-)=
=w(b'i). Таким образом, В' также лексикографически максимальна.
Легко показать (аналогично тому, как это сделано в доказательстве теоремы
10.32), что применение «жадного» алгоритма дает лексикографически максималь-
максимальную базу, которая по только что доказанной теореме имеет максимальный вес.
Таким образом, справедливо следующее утверждение:
Теорема 10.33. Пусть ? — набор независимых множеств матроида на S,
элементам которого присвоены неотрицательные веса. Применение «жадного»
алгоритма к набору |F дает член набора HF максимального веса.
Из этой теоремы очевидно, что база максимального веса получается, если
выбирать элементы матроида в порядке невозрастания весов, отвергая только те
элементы, выбор которых нарушает условие независимости получаемого множе-
множества. Применение «жадного» алгоритма для получения базы минимального веса
очевидно.
214
Глава 10
Рассмотрим, например, взвешенный граф G на рис. 10.5. Веса ребер приведены
на рисунке. Для применения «жадного» алгоритма к получению остова графа G
максимального веса необходимо сначала расположить ребра в порядке невозра-
невозрастания весов. Таким образом, ребра будут упорядочены следующим образом:
a, b, e, f, d, с, g, h.
С помощью алгоритма будут получены сначала три ребра a, b и е, поскольку
они не образуют цикла. Ребро f будет отклонено, так как множество {a, b, e] U
(J {f} содержит цикл. Следовательно, будет выбрано ребро d. Ребро с будет от-
отклонено, поскольку оно образует цикл с уже выбранными ребрами end. По этой
Рис. 10.5. Взвешенный граф.
же причине будут отклонены ребра g и h. Таким образом, «жадный» алгоритм по-
порождает множество {a, b, e, d}, являющееся остовом графа G максимального веса.
Докажем сейчас теорему, обратную теореме 10.33.
Теорема 10.34. Пусть JJ" — набор подмножеств множества S, обладающий
таким свойством, что если A ?,f и Вё=Л, то B?,f. Тогда применение к набору F
«жадного» алгоритма дает член набора $ максимального веса, только если $ —
набор независимых множеств матроида на S.
Доказательство. Из аксиом независимости очевидно, что нам необходимо
показать, что если А= {аъ аг, . . ., ak}^^, а В= {Ьъ Ь2, . . ., 6fe+i}?iF, то такой
существует ЬЛА, что A (J&((:aF-
С этой целью определим веса элементов S следующим образом: ш(а,-)=1,
\<i<k, w(bj)=x, Ь/?В—А, w(e)=0, e?S—(A US), где 0<*<1. Тогда «жадный»
алгоритм выберет сначала элементы аъ а2, . . ., а^. Если не существует такого Ь,-,
что {b{, Oj, . . ., оь}^^", алгоритм выберет элементы из 5—(А[)Щ- Поэтому,
когда алгоритм закончит работу, в результате получится множество, имеющее
вес, равный весу А.
Если \B()A\ — t, to w(A)=k и w(B)=t-\- (k-\-l—t) x. Очевидно, что можно
выбрать 0<*<1 таким, что w(A)<w(B). Но тогда «жадный» алгоритм не поро-
породил члена набора Jp максимального веса, т. е. мы пришли к противоречию.
Применение «жадного» алгоритма к задаче нахождения остова максимального
веса было впервые предложено в работе [10.7]. Расширение применения этого ал-
алгоритма на матроиды было предложено в работах [10.8—10.11].
10.10. Замечания, касающиеся
литературы
Прекрасными работами, содержащими богатую информацию по
теории матроидов, являются работы [10.4, 10.12]. В работе [10.13]
имеется глава по матроидам. Уилсон [10.14] дает элегантное введе-
введение в теорию матроидов. Он раскрывает силу общности матроидов,
Матроиды 215
включая простые доказательства двух теорем по реберно непересе-
непересекающимся остовам графа. Кроме первоначальной статьи Уитни
[10.1] мы очень рекомендуем для дальнейшего изучения работы
[10.15—10.27].
Татт [10.3, 10.17, 10.18] разработал теорию цепных групп и мат-
роидов. Он определил матроид регулярным, если тот изоморфен
матроиду регулярной цепной группы. Можно показать, что матроид
регулярен тогда и только тогда, когда он представим над всяким
полем. В другой характеризации матроид регулярен тогда и только
тогда, когда он ориентируем [10.2]. Татт также предложил необхо-
необходимые и достаточные условия того, что матроид графический. Би-
Бинарный матроид является графическим тогда и только тогда, когда
он не содержит в качестве минора матроид Фано или двойственный
ему, или М*(Къ), или М*(К3,з)- Дальнейшее обсуждение этого во-
вопроса можно найти в работах [10.4, 10.19]. (Определение матроида
Фано дано в упражнении 10.22.)
Теория связности матроидов дана в работе [10.20]. Теория ориен-
ориентируемости в применении к матроидам общего вида дается в работах
[10.28, 10.29].
Леман [10.16] дал решение игры переключений Шеннона, ис-
используя понятие матроида. См. также работы [10.4, 10.30, 10.31].
Красота теории матроидов заключается в ее универсальной при-
природе, приводящей к простым доказательствам результатов теории
трансверсалей и теории графов. См. также работы [10.14, 10.24,
10.30].
Работа [10.27] интересна рассмотрением алгоритмов, связанных
с матроидами. См. также работы [10.4, 10.32, 10.33].
Теория матроидов находит в настоящее время все возрастающее
применение в теории электрических схем. См. работы [10.34—10.43].
Бруно и Вейнберг [10.37] дают хорошее введение в теорию матро-
матроидов.
Упражнения
10.1. Пусть М — матроид на S, a Ag^S. Определим JF' как набор таких подмно-
подмножеств X^;S, что X — независимое множество в М и Х[]А=0. Докажите, что
§г'— набор независимых множеств матроида на 5.
10.2. Пусть множество 5 имеет я элементов. Покажите, что набор <jf всех под-
подмножеств S, имеющих k или менее элементов, есть множество независимых мно-
множеств матроида. Этот матроид называется однородным матроидом ранга k и обоз-
обозначается через Ukin.
10.3. Пусть М — матроид на S, a Bj, В2— различные базы М. Докажите, что
существует взаимно однозначное соответствие между Bj и В2, при котором для
любого e?Bi (В2—е')\)е является базой М, где е'?В2 соответствует е.
10.4. Докажите, что если Вг, В2— базы матроида М и Х-^В-у, то существует
такое Х2^В2, что (В1—Хх){]Х2 и (В2—-^U^i являются базами М [10.44]; см.
также [10.12], глава V.
10.5. Пусть D — набор таких непустых подмножеств 5, что для двух любых чле-
членов X й К набора ?5 (х?ХГ\У, y^X—Y) существует такое Z?<25, gZ
216 Глава 10
([))—х. Докажите тогда, что набор ?D' минимальных членов <?/) обра-
зует множество циклов матроида [10.3],
10.6. Докажите, что если С — цикл матроида М, а а?С, то существует такая
база 5, что С=С(а, В).
10.7. Докажите, что если В — база ыатроида М и х?В, то имеется точно один
такой коцикл С* матроида М, что C*f]{B—х)=0.
10.8. Докажите, что если С — цикл матроида М и х, у — его различные элемен-
элементы, то существует коцикл С*, содержащий х, у и никакого другого элемента цикла
С [10.2].
10.9. Пусть М — матроид на S, а х, у, г — различные элементы S. Докажите,
что если существуют циклы Clt содержащий х и у, и С2, содержащий у и г, то су-
существует и цикл С3, содержащий х и г.
10.10. Множество A^S называется замкнутым в матроиде М на S, если для всех
x?S—А р={А[)х)~р(А)-\-\, Покажите, что пересечение двух замкнутых мно-
множеств есть замкнутое множество.
10.11. Пусть М—матроид на множестве S. Замыканием а (А) подмножества
A^S называется множество всех таких элементов at^S, что р(А \Jx)=p(A). До-
Докажите, что а) если х входит в a (A \Jy), но не входит в а (А), то у входит в а (А {] х).
б) элемент х принадлежит а (А) тогда и только тогда, когда х?А или существует
цикл С матроида М, для которого С—А— {х}.
10.12. Гиперплоскостью матроида М на S называется максимальное собственное
замкнутое подмножество S. Покажите, что Я является гиперплоскостью тогда
и только тогда, когда S—Н — коцикл матроида М (систему аксиом для матроида,
исходя из гиперплоскостей, можно найти в работе [10.4]).
10.13. Покажите, что если М — матроид на S и A^S, то сужение М -Т матроида
М на Т — матроид, коциклы которого являются в точности коциклами матроида
М, содержащимися в А.
10.14. Докажите, что если М — матроид на S и TsX^S, то а) М\Т=(М \Х)\Т;
б) М-Т=(М-Х)-Т; в) (M\X)-T=(M-(S—(X—ТЩТ; г) (М—X)\T=(M\S—
~(Х—Т))-Т.
10.15. Матроид М на S называется связным или неразделимым, если для любой
пары различных элементов х и у, принадлежащих S, существует цикл матроида
М, содержащий хн у. В противном случае М называется несвязным или раздели-
разделимым. Покажите, что матроид является связным тогда и только тогда, когда связен
двойственный к нему матроид М*.
Примечание. Если G — граф, то М (G) связный тогда и только тогда, когда граф О
является 2-связным.
10.16. Покажите, что матроид М на S связный тогда и только тогда, когда суще-
существует такое собственное подмножество AczS, что p(j4)+p(S—A)=p(S) [10.1].
10.17. Доказать или опровергнуть: граф G стягивается к Н тогда и только тогда,
когда М (G) содержит М (Я) в качестве минора сужения.
10.18. Докажите, что однородный матроид t/2i4 представим над всяким полем,
за исключением GFB).
10.19. Докажите, что матроид бинарный тогда и только тогда, когда для любых
цикла С и коцикла С* справедливо \С(]С*\фЗ.
10.20. Пусть ^ — семейство непустых подмножеств множества S. Трансверсаль
подсемейства |р называется частичной трансверсалью ijF. Покажите, что если ^ —
набор непустых подмножеств множества S, то набор частичных трансверсалей JF
образует множество независимых множеств матроида на S. (Определение транс-
версали дано в разд. 8.6.) Найдите функцию ранга этого матроида. Матроид М на
S называется трансверсальным, если существует такое семейство JF подмножеств S,
что JF (М.) есть семейство частичных трансверсалей |F'. Найдите функцию ранга
трансверсального матроида (см. теорему 8.15).
10.21. Покажите, что любой однородный матроид ранга k является трансверсаль-
трансверсальным.
10.22. Матроид Фано F — это матроид, определенный на множестве S= {1, 2, 3, 4,
5, 6, 7}, базами которого являются все подмножества S, содержащие по три
Матроиды 217
элемента, за исключением {1,2,3}, {1,4,5}, {1,6,7}, {2, 4, 7}, {2, 5, 6},
{3, 4, 6} и {3, 5, 7}. Покажите, что матроид F является а) бинарным, б) трансвер-
сальным, в) неграфическим, г) некографическим.
10.23. Покажите, что циклический матроид ./Q не является трансверсальным.
10.24. Матроид М на S называется эйлеровым, если S можно представить в виде
объединения непересекающихся циклов. Матроид называется двудольным, если
всякий его цикл содержит четное число элементов. Докажите, что матроид М
двудольный тогда и только тогда, когда матроид М* эйлеров.
10.25. Пусть D — ориентированный граф без петель, а X и Y — непересекающие-
непересекающиеся множества вершин ?>. Подмножество Ая^Х называется независимым, если су-
существует \А | вершинно непересекающихся цепей от Л к Y. Покажите, что эти
независимые множества образуют независимые множества матроида на X (такой
матроид называется гаммоидом) [10.45].
10.26. Матроид М на S называется правильным, если для любых баз Въ В2 матрои-
матроида М существует такое взаимно однозначное соответствие между Вг и В2, что для
любого x?Bi (В1—х)[)х' и (В2—x')\Jx являются базами матроида М, где х'—
элемент В3, соответствующий х. Покажите, что а) М (Кь) — неправильный ма-
матроид; б) если М — правильный матроид на S и Ts=S, то матроид М\Т правиль-
правильный; в) если М — правильный матроид, то любой его минор правильный.
10.27. Пусть Мг и М2— матроиды на множестве S.
а) Покажите, что множество всех объединений /|J^ независимых множеств /
матроида Мг и независимых множеств J матроида М% образует набор независимых
множеств нового матроида. (Этот матроид называется объединением Мх и М2 и
обозначается М-^М*)
б) Покажите, что если pt и р2— функции ранга матроидов М1 и М2 на множестве S,
то p(A)=min {р1(Х)+р2(Х)+\А—Х\}, где A^S, p — функция ранга ММ
ХА
[10.14].
10.28. Пусть М — матроид на S. Докажите, что а) М содержит k непересекаю-
непересекающихся баз тогда и только тогда, когда для любого Ag^S р(Л)+|5—A\^kp(S);
б) S можно выразить в виде объединения не более чем k независимых множеств
тогда и только тогда, когда для любого A<^S kp(A)~^\A\.
Примечание. Рассмотрите объединение k копий матроида М и используйте ре-
результат упражнения 10.27 [10.14].
10.29. Покажите, что если «жадным» алгоритмом выбраны k элементов, то они
имеют максимальный вес среди всех независимых множеств, состоящих из k
или менее элементов.
10.30. Необходимо выполнить на ЭВМ множество заданий. Все задания требуют
для выполнения одинакового времени. Каждому заданию присваивается крайний
срок выполнения.
а) Покажите, что набор всех подмножеств заданий, которые можно выполнить по
расписанию, образует множество всех независимых множеств матроида.
б) Допустим, за каждое не выполненное в срок задание необходимо заплатить
штраф. В каком порядке следует выполнять задания, чтобы общий штраф был ми-
минимальным?
10.31. Пусть М — матроид, элементам которого присвоены неотрицательные веса.
Докажите, что
а) никакой элемент базы максимального веса не имеет наименьшего веса в любом
цикле М;
б) каждый элемент базы максимального веса имеет наибольший вес по крайней
мере в одном коцикле матроида М.
Используя п. б., предложите процедуру построения базы матроида максимального
веса. (В работе [10.46] описывается такая процедура для построения остова ми-
минимального веса в связном графе.)
10.32. Пусть М — матроид на S, элементам которого присвоены неотрицательные
веса. Пусть 33 — набор баз матроида М, а %* — набор коциклов этого же ма-
матроида М. Докажите, что min max w(e)= max min w(e),
в s & ее в с* eg1* ее с*
Часть II. Теория
электрических цепей
П. Графы и электрические цепи
Электрическая цепь есть соединение таких элементов электричес-
электрической цепи, как резисторы, емкости, индуктивности, а также источ-
источники напряжения и тока. Каждому элементу цепи сопоставляются
две переменные: переменная напряжения v(t) и переменная тока
i(i). Для этих переменных необходимо определить исходные направ-
направления, так как они являются функциями времени и могут принимать
положительные и отрицательные значения. Это делается указанием
стрелкой, названной направлением, для каждого элемента цепи
(рис. 11.1). Эта стрелка означает, что величина i(t) положительна,
, , Ш) .
Рис. 11.1. Представление элемента цепи.
если ток течет по направлению стрелки. Далее принимаем, что поляр-
полярность напряжения v (t) считается положительной у оперения стрел-
стрелки. Таким образом, величина v(f) является положительной, когда
падение напряжения в элементе цепи направлено вдоль стрелки.
Элементы цепи характеризуются физическими соотношениями между
переменными тока и напряжения. Иногда может оказаться необхо-
необходимым, чтобы для некоторых элементов цепи были заданы значения
напряжения, а для других — значения токов. Такие элементы назы-
называются источниками напряжения и тока соответственно.
Двумя фундаментальными законами теории электрических цепей
являются законы Кирхгофа, которые можно сформулировать сле-
следующим образом:
Закон Кирхгофа для токов (ЗКТ). Алгебраическая сумма токов,
вытекающих из узла, равна нулю.
Закон Кирхгофа для напряжений (ЗКН). Алгебраическая сумма
напряжений в любом замкнутом контуре равна нулю.
Например, для цепи, показанной на рис. 11.2, а, уравнения
ЗКТ и ЗКН приведены ниже:
Уравнения ЗКТ Узел a i1 — ii-{-i(.=Q,
Узел с — i2 + i4 — /„ = 0,
Узел Ь — i'1 + t2 + г3 = 0.
Графы и электрические цепи
219
Уравнения ЗКН Контур {1,3,6}
Контур {2, 4, 3}
Контур {1, б, 2} —Vi + Vt-v^O.
Для заданной электрической цепи N задача анализа состоит в том,
чтобы определить напряжения и токи в элементах, которые удовле-
удовлетворяют законам Кирхгофа, и соотношения ток — напряжение,
характеризующие различные элементы, образующие цепь.
d
а 6
Рис. 11.2. Представление цепи ориентированным графом.
а — цепь N; 6 — ориентированный граф /V.
Отметим, что уравнения, которые возникают при применении
законов Кирхгофа, носят алгебраический характер и зависят только
от взаимосвязи элементов в цепи, а не от их природы. Существует
несколько свойств электрической цепи, которые зависят от ее стру-
структуры. Изучая такие свойства, удобнее рассматривать каждый эле-
элемент цепи как ориентированное ребро, связанное с двумя перемен-
переменными: v(t) и i(t). Таким образом, можно рассматривать схему элек-
электрической цепи как ориентированный граф, в котором каждому реб-
ребру сопоставлены две переменные: v(t) и i (t), необходимые для выпол-
выполнения законов Кирхгофа и некоторых определенных физических
соотношений. Например, ориентированный граф, соответствующий
цепи, представленной на рис. 11, 2, а, изображен на рис. 11.2, б.
Легко видеть, что уравнения ЗКТ и ЗКН для цепи N можно запи-
записать как Qc/e=0 и BcVe=0 соответственно, где Qc и Вс — матрица
разрезов и цикломатическая матрица ориентированного графа, со-
сопоставленного цепи N, a 1е и Ve — вектор-столбцы токов и напря-
напряжений соответственно на элементах цепи N. Во всех рассуждениях
в этой и последующих главах будем обозначать как электрическую
цепь, так и соответствующий ей ориентированный граф одним и тем
же символом. Чаще всего граф будет пониматься как цепь и наобо-
наоборот. Таким образом, такие относящиеся к графу определения, как
связность, цикломатическое число, ранг, оказываются применимы-
применимыми и к цепи. Также будем понимать под узлом вершину.
220 Глава 11
В этой главе мы обсудим некоторые аспекты анализа цепей, ко-
которые в значительной степени зависят от теории графов. Нашей
основной задачей здесь будет подчеркнуть полезность теории гра-
графов при систематическом построении уравнений цепи и раскрытии
некоторых фундаментальных свойств электрических цепей.
11.1. Преобразование контуров и сечений
В этом разделе исследуем соотношения между токами и напряже-
напряжениями на элементах цепи N. Эти соотношения вытекают из законов
Кирхгофа и отношения ортогональности между цикломатической
матрицей и матрицей сечений цепи N. He нарушая общности, можно
считать, что граф N — связный.
Пусть Т является остовом цепи N, a Bf и Qf обозначают фунда-
фундаментальную цикломатическую матрицу и матрицу сечений по отно-
отношению к Т. Тогда уравнения Кирхгофа для токов и напряжений бу-
будут иметь вид
<2Л=0, (ll.l)
BfVe=0. A1.2)
Предположим, что Ie и Ve разделены следующим образом:
где векторы, отвечающие хордам и ветвям остова Т, отличаются
подстрочными индексами cut соответственно. Тогда выражения
A1.1) и A1.2) можно записать в виде
О]
= 0, A1.3)
= 0. A1.4)
Заметим, что [выражение F.13)]
Qu^-B'ft. A1.5)
Сначала рассмотрим выражение A1.3). Из него получаем
it--Qfcic = B)tic. (ц.б)
Таким образом, ток 1 е можно представить в виде
^7'- (iL7)
Исходя из выражения A1.4), аналогично можно показать, что
A1.8)
Графы и электрические цепи
221
В результате имеем следующую теорему:
Теорема 11.1. 1. Все токи, текущие через элементы электрической цепи N,
можно выразить линейной комбинацией хордовых токов, т. е. токов, связанных
с хордами остова N.
2. Все напряжения на элементах электрической цепи N можно выразить
линейной комбинацией напряжений на ветвях, т. е. напряжений, связанных с
ветвями остова цепи N.
Для иллюстрации выражений A1.7) и A1.8) рассмотрим цепь Л', представ-
представленную на рис. 11.2.
Матрицами Вj и Qy по отношению к остову Т, состоящему из элементов 1, 4 и
5, будут матрицы
2 3 6 14 5
1
0
0
0
1
0
0
0
1
I
1
0
1
0
1
1
1
1
1 4 5
Qr
-l -l
о
-i
О -1
1 О О
О 1
о о
-1 -1 -1
Тогда Ie и Ve можно выразить следующим образом:
1
О
0
1
1
1
-
1
¦1
0
1
0
О
О
1
0
I
О
1
О
0
1
0
1
1
-1
0
—. 1
0
1
0
1
— 1
_ 1
-1
О
О
1.
v\
Теорема 11.2. Пусть N—электрическая цепь ранга р с цикломатическим
числом [X. Пусть В —• матрица, полученная из ji любых независимых строк цикло-
матической матрицы цепи N, a Q — матрица, полученная из р любых независи-
независимых строк матрицы разрезов цепи N.
1. Контурное преобразование. Вектор-столбец Ie удовлетворяет уравнениям
ЗКТ цепи N тогда и только тогда, когда существует такой вектор столбец /' из
и, элементов, что
1е = ВЧ'. A1.9)
222 Глава 11
2. Преобразование сечений. Вектор-столбец Ve удовлетворяет уравнениям
ЗКН цепи N тогда и только тогда, когда существует такой вектор-столбец V из
р элементов, что
Ve = QW'. (НЛО)
Доказательство. 1. Пусть Bf—базисная цикломатическая матрица цепи.
Тогда существует такая невырожденная матрица D, что
Bf=DB. (П.П)
Если Iе удовлетворяет уравнениям ЗКТ, то из выражения A1.7) имеем 1 e=Bflс.
Подставляя A1.11) в приведенное выше уравнение и полагая l'=DiIc< получим
1е=В*Г. С другой стороны, если существует такой ток /', что 1е=В*Г, то фе=
= (QB')/'=0 по теореме 6.6 и ЗКТ выполнен.
Доказательство п. 2 следует из принципа двойственности. Уравнения
A1.9) и A1.10) известны как контурное преобразование и преобразо-
преобразование сечения соответственно. Элементы /' и V называются пере-
переменными контуров и сечений соответственно. В общем случае пере-
переменные контуров и сечений являются линейными комбинациями на
ветвях хордовых токов и напряжений соответственно. Однако, если
использовать Bf и (Qf) в контурном преобразовании (сечения), то
хордовые токи (напряжения на ветвях) становятся переменными кон-
контура (сечения). Преобразование
Ve = A*V', A1.12)
где А — усеченная матрица инциденции, называется узловым преоб-
преобразованием. Очевидно, что это специальный случай преобразования
сечений. Если vr является узлом, по которому усечена матрица А,
то элементы V можно определить как напряжения на всех узлах
(кроме vr) по отношению к vr. Об этих напряжениях говорят как об
опорных или базисных на узлах напряжениях или просто как о на-
напряжениях на узлах цепи.
Мы заканчиваем этот раздел интересным результатом, получен-
полученным Теллеженом [11.1], который просто следует из контурного пре-
преобразования и преобразования сечений.
Теорема 11.3 (Теллежен). Рассмотрим такие две электрические цепи N и N,
что соответствующие им графы являются идентичными. Пусть Vе и \Рг — векторы
напряжений на элементах цепей N и N соответственно, а 1 е и Ле — соответствую-
соответствующие векторы токов в элементах.
Тогда 1) vtAe=O, 2) /|?е=0.
Доказательство. 1. Пусть Bf и Qf обозначают базисную цикломатическую
матрицу и матрицу сечений цепи N по отношению к остову Т. Так как граф N
такой же, как и УУ, ясно, что iV имеет такие же матрицы В, и Qj по отношению к Т.
Из контурного преобразования и преобразования сечений имеем Ve=Q^Vj и
At=BJAc. Таким образом, vlAe=Vtt(QiBlf)Ac—O, согласно теореме F.6).
Графы и электрические цепи 223
Доказательство п. 2 следует из принципа двойственности. Теорема Теллежена
является очень глубоким результатом в теории цепей с несколькими приложения-
приложениями [11.2, 11.3]. В гл. 13 обсуждаются применения этой теоремы при вычислении
чувствительности цепи с использованием понятия сопряжения сети [11.4—11.6].
11.2. Системы контурных уравнений
и уравнений сечений
Как мы уже говорили раньше, задачей анализа цепи является
определение токов и напряжений, связанных с элементами электри-
электрической цепи. Эти напряжения и токи можно определить из уравнений
Кирхгофа и отношений ток — напряжение (кратко v—i) на элемен-
элементах цепи. Однако эти уравнения содержат большее число пере-
переменных. Далее, как видно из теоремы 11.2, вместо уравнений ЗКТ
можно использовать контурное преобразование, которое включает
в качестве переменных только хордовые токи. Аналогично уравнения
ЗКН можно заменить преобразованием сечения, которое включает
только переменные напряжения на ветвях. Можно использовать пре-
преимущества этих преобразований для построения различных систем
уравнений цепи, которые включают в качестве переменных только
подмножество напряжений и (или) токов. Две такие системы урав-
уравнений, известные как контурная система и система сечения, мы ис-
исследуем в этом разделе.
При выводе контурной системы используем контурное преобра-
преобразование вместо ЗКТ, и контурные переменные в этом случае будут
служить в качестве независимых. При выводе системы сечений
используем преобразование сечения вместо ЗКН, и переменные
сечения будут служить в качестве независимых в данном случае.
Рассмотрим связную электрическую цепь N. Допустим, что цепь
N состоит только из резисторов R, емкостей С и индуктивностей L,
включая взаимные индуктивности, и независимые источники тока и
напряжения. Допустим также, что начальные токи индуктивно-
индуктивностей и напряжения емкостей заменены соответствующими источ-
источниками. Далее, переменные токов и напряжений являются преоб-
преобразованием Лапласа комплексных частотных переменных.
В цепи N не может быть контура, состоящего только из незави-
независимых источников напряжения. Если бы такой контур имелся, то в
соответствии с ЗКТ имелось бы и линейное соотношение между со-
соответствующими напряжениями, нарушающее независимость исто-
источников напряжения. По этой же причине в цепи N не может быть се-
сечения, состоящего только из независимых источников тока. Поэтому,
следуя теореме 10.12, в цепи iV существует остов, содержащий все
источники напряжения, но не содержащий источников тока. Такой
остов — отправная точка для построения систем как контурных
уравнений, так и уравнений сечения.
Сначала выведем контурную систему. Пусть Т — такой остов
данной цепи, что он содержит все источники напряжения, но не
224
Глава 11
содержит источников тока. Разделим вектор Ve напряжений на
элементах Ie токов в элементах следующим образом:
X'
У,
и 1е =
Л"
ш
где подстрочные индексы 1, 2 и 3 относятся к векторам, соответст-
соответствующим источникам тока, ^LC-элементам и источникам напряже-
напряжения. Пусть Bf — фундаментальная цикломатическая матрица
цепи iV по отношению к Т. Уравнение ЗК.Н для цепи N можно запи-
записать следующим образом:
U Blt В13
О В22 В23
У г
Уз.
= [0],
т. е.
Vi=—BltVt—BltVe, A1.13)
B22V2=— B23V3. A1.14)
Вместо ЗКТ можно использовать контурное преобразование
h
h
где Ii обозначает вектор токов, связанный с хордами в остове Т,
не содержащем источников.
Из этих уравнений получаем
/г
h
h
=
и
ви
в{3
0
В{,
вС_
r (П.16)
Заметим, что среди хордовых токов должны быть определены только
те, что входят в /г. Если Z2 является матрицей полных сопротивле-
сопротивлений ^LC-элементов, то отношения v—i для этих элементов можно
записать в виде
V2=Z2/2. A1.17)
Используя выражения A1.17) в A1.14), получим B23Z2/2=—B,ZVS.
Используя выражение A1.15) в вышеприведенном уравнении и пре-
преобразовывая его, получим
(fiHZ,BIs) /, = -fi?,V,—fi^fik/,. A1.18)
Полученное соотношение является контурной системой уравнений,
которая включает только \х,—гас-переменные, где пс — число источ-
источников тока в цепи N. Отметим, что \i—пс равно цикломатическому чи-
числу цепи, полученной после удаления из iV всех источников тока.
Графы и электрические цепи
225
Матрица Zi=B22Z2B{2 в уравнении A1.18) называется матрицей им-
педансов контура цепи N. Если цепь N не имеет взаимных индукти-
вностей, то Z2 будет диагональной матрицей без нулевых элементов
на диагонали. Следовательно, в этом случае Zt будет невырожденной,
поскольку В22 имеет максимальный ранг, равный ц—па. Если цепь N
имеет взаимные индуктивности, то Z; будет невырожденной, если
только Z2 является положительно определенной.
Найдя /ь используя выражение A1.18), можно найти /2, исполь-
используя выражение A1.15), и У2, используя выражение A1.17). Затем
можно определить Vf и /3, используя выражения A1.13) и A1.16).
(Отметим, что /t и V3 имеют определенные значения.) Этим можно
было бы закончить анализ цепи N с использованием контурной си-
системы уравнений. Заметим, что контурная система выводится сна-
сначала подстановкой отношений v—i для элементов в уравнение
ЗКН и затем использованием контурного преобразования. В ре-
результате можно вывести систему уравнений сечения в точном соот-
соответствии с принципом двойственности.
Сначала запишем уравнения ЗКТ в распределенной форме
"Л"
Qu
о
и
= [0],
где матрица коэффициентов является той же самой, что и фундамен-
фундаментальная матрица сечений цепи N по отношению к Т. Из этих урав-
уравнений получим
Qi*I»=—Quh, A1.19)
Q3=— Qah—Qzih- A1.20)
Вместо уравнений ЗКН можно использовать преобразование сечения
Via V22
_о и
где Уь — вектор напряжений, связанный с ветвями остова Т, не
содержащими источников. Из этих уравнений получаем
V1-=QtuVb + QtnVs, (Н-21)
V-i = QUVb + Qi2V3. A1.22)
Если Y2 — матрица проводимости i^LC-элементов в цепи N, то отно-
отношение v—i на элементах можно записать в виде
Теперь совсем нетрудно вывести систему уравнений сечения, кото-
которая устанавливает взаимосвязь между Vb, 1г и V3- Используя выра-
выражение A1.23) в A1.19), получим QuF2V2==—Qh/l Подставляя фор-
8 № 1449
226
Глава 11
A1.24)
мулу A1.22) в полученное выше выражение, имеем
{Q1,y,Qtu) vb = -Qn/, - Q^Y2Qi2v9.
Полученное соотношение является системой уравнений сечения,
которая включает р—«^-переменные, где nv — число источников
напряжения в цепи N. Отметим, что р—nv равно рангу цепи, полу-
полученной из N стягиванием всех источников напряжения. Матрица
Yb=Q12Y2Q[< в выражении A1.24) называется матрицей проводи-
проводимости сечения.
Эта матрица будет невырожденной, если N не имеет взаимных
индуктивностей. Если N имеет взаимные индуктивности, то Yb
будет невырожденной только в том случае, если F2 положительно оп-
определена.
Если определено Vb с использованием выражения A1.24), то
можно определить V2, используя выражение A1.22), и затем опреде-
определить /2, используя выражение A1.23). Наконец, можно определить
/Зи У2 из выражений A1.20) и A1.21) соответственно. Теперь проил-
проиллюстрируем определение контурной системы уравнений и системы
уравнений сечения.
7Н
о 6
Рис. 11.3. Электрическая цепь и ее граф.
Рассмотрим цепь, представленную на рис. 11.3, а, гдеы(^)— еди-
единичная ступенчатая функция. Граф этой цепи показан на рис. 11.3, б.
Выбираем остов Т, состоящий из ребер 4, 5 и 6. Заметим, что он со-
содержит источник напряжения и не содержит источников тока. Фун-
Фундаментальные циклом этическая матрица и матрица сечений по от-
отношению к остову Т даны ниже в требуемой распределенной форме:
12 3 4 5 6
1
0
0
0
1
0
0 -1
0 1
1 -1
1
0
-1
1
-1
0
1
1
-1
1
I
0
1
1
1
0
1
0
0
0
1
0
0
0
1
Графы и электрические цепи
227
Из этих матриц получаем
= [0 0 -1 -1],
<?„ =
1
Г
0 1
-!
0
1
»
1
0
1
— 1
1 1
1 0
0
—1
°1
1 •
| = [1 0 0 0].
Также имеем
"l/3s
0
0
0
s
0
0
.0
0
s
0
0
0
1/s
0
0
0
0
1
0
0
0
1
0
0
0
0
1.
0"
0
0
1.
а также ue(s)=2/s и ii(s)—\/s.
Используя эти соотношения в выражениях A1.18) и A1.24), полу-
получим контурную систему уравнений и систему уравнений сечения,
как показано ниже:
Система контуров
и -1
-1 s + 2
Система разрезов
о (s)
6
1
s
1
5
8*
228 Глава 11
Предположим, что цепь N не имеет независимых источников напря-
напряжения. Тогда удобное описание N с помощью узловых напряжений
как независимых переменных можно получить следующим образом:
Пусть А — матрица инциденций цепи N, усеченная по вершине
vr. Рассмотрим разбиение матрицы А в виде Л==[ЛцЛц], где столб-
столбцы Ли и Аи соответствуют #/,С-элементам и источникам тока. Если
/х и /,—вектор-столбцы токов в /^LC-элементах и токи от источников
тока, то уравнение ЗТК для N можно записать в виде Ац1х=—Ац,/,.
Имеем также /i=FfVi, где Vt — вектор-столбец напряжений на
/??С-элементах, a F* — соответствующая матрица проводимостей.
Далее, узловым преобразованием выражения A1.12) получаем
где Vn — вектор-столбец напряжений в узлах. Таким образом, из
уравнений ЗКТ получаем (Л11К1ЛA)К„=—AltIt.
Полученные уравнения называются узловыми уравнениями. Мат-
Матрица AuY^h называется матрицей узловых проводимостей N.
11.3. Метод смешанных переменных
В этом разделе обсуждается анализ цепей с помощью метода
смешанных переменных. В этом методе, который является по сути
комбинацией как метода контуров, так и метода сечений, некоторыми
независимыми переменными являются напряжения, а другими неза-
независимыми переменными — токи. Ограничим наше рассмотрение
/^LC-цепями (без взаимных индуктивностей), содержащими незави-
независимые источники тока и напряжения. Его можно распространить
непосредственно на цепи с взаимными индуктивностями.
Рассмотрим связную цепь N. Допустим, что элементы N разбиты
на два таких подмножества Ех и Ег, что ?i содержит все источники
напряжения, а Ег — все источники тока. Пусть N[ — цепь, полу-
полученная удалением Е2 из цепи Л', а N1 получена стягиванием всех
элементов Et. Пусть 7\ — остовный лес цепи N[, a T — остов N1.
Тогда Г=7\ и Тг является остовом N. Мы выбираем такие 7\ и Г,,
что Т содержит все источники напряжения, но не содержит источни-
источников тока.
Определим
Tv — подграф Ти содержащий все элементы из 7\, исключая
источники напряжения;
7\ — дополнение 7\ в N'i,
Tt — дополнение 71, в Л^;
Tt — подграф Ts, содержащий все элементы из Tt, кроме источ-
источников тока.
Графы и электрические цепи
229
Разобьем вектор напряжений на элементах Vt и вектор токов
в элементах Ie следующим образом:
1
> 'г==
Л
/!
где индексы Е, У, 1, 2, Зи4 относятся к источникам напряжения
тока, а также к элементам Tv, Тг, 7\ и Tt соответственно. Теперь мы
ищем описание цепи N через переменные Vt и /4. Используя матрицы
Bf и Qf по отношению к Т, можно записать уравнения ЗК.Н и ЗКТ
следующим образом:
?12 3 4 У
"Л В 0 t/ О О"
С D F О [/О
G Н К О О U
-[0].
A1.25)
Примечание. Объясните присутствие нулевой подматрицы в столбце,
соответствующем Т2.
Е
1
2
"{У
0
0
1
0
и
0
2
0
0
и
3
—А{
—В1
0
4
—С
—Df
—Ft
J
—G*
—tf(
h
h
h
Ujj
= [0]. A1.26)
Рассмотрим вторые системы уравнений в выражениях A1.25) и A1.26)
/7у8-|_у4 —_СУЯ_?Н<'1> A1.27)
ll — B4s = D4i + H4J. A1.28)
Используя у—г-соотношения, получим
Vi=ZJi, Vi=Zili, li=YtVi, Ia=Y3V3. Теперь можно записать вы-
выражения A1.27) и A1.28) в виде
~—CVa-DVu A1.29)
', = D4t + H4j. A1.30)
230 Глава 11
Из контурного преобразования и преобразования сечения имеем
/a = Ff/4 + /('/y, A1.31)
V<, = — AVP— BV. A1.32)
'3 С Л. V /
Теперь, подставляя /2и У3 в выражения A1.29) и A1.30) и группируя
члены, получим
Полученное соотношение называется гибридной системой или систе-
системой уравнений со смешанными переменными.
Нетрудно убедиться, что если /4 и Vi определены с использовани-
использованием уравнений, приведенных выше, то все другие переменные можно
легко вычислить, используя выражения A1.25) и A1.26), а также
контурное преобразование и преобразование сечения.
Заметим, что метод смешанных переменных сводится к контур-
контурному методу, если выбрать ?1=0 и Е2=Е, и сводится к методу сече-
сечения, если выбрать Е1=Е2 и Е2=0, где Е — множество элементов
цепи N. Далее система уравнений со смешанными переменными
включает p(N[)+\i(Nl)—nv—пс переменных. Очевидно, что число
Р (Wi)+H- (NV) зависит от выбора Ех и ?2. Отсюда возникает проблема
такого разбиения (Elt E2) системы элементов Е цепи N, чтобы сумма
p(N[)+\i(N*2) была по возможности минимальной. Метод получения
такого разбиения обсуждается в следующем разделе.
11.4. Главное разбиение графа
В этом разделе описывается главное разбиение графа, введенное
в работе [11.7]. Как мы увидим, главное разбиение графа G определя-
определяет разбиение (Еи Е2) системы ребер Е графа G, использование кото-
которого в методе смешанных переменных приводит к минимальному чис-
числу независимых переменных. Наши рассуждения основаны на рабо-
работах [11.7, 11.8].
Рассмотрим связный граф G. Все его подграфы, которые будут
рассматриваться в этом разделе, являются реберно-порожденными
подграфами. Поэтому подграф и его система ребер будут обозначать-
обозначаться одним и тем же символом.
Расстояние d {Тъ Тг) между двумя остовами 7\ и Т2 графа G оп-
определяется как d(Ti, Г2)=|7\—Т2\=.\Т2—7\|.
Таким образом, d{Tu T2) равно числу ребер, которые имеются в
Ti(T2) и которых нет в T^iT^. Легко показать, что d(Tu T2)=
=p(G)— Число общих ветвей 7\ и 72; d(Tu T2)=[i(G)— Число об-
общих хорд 7\ и Т2. Говорят, что остовы 7\ и Т2 являются максимально
удаленными, если d(Tlt T2)^d(Ti, Г^для любой пары остовов Tt и
Графы и электрические цепи
231
Tj графа G. Например, 7\={2, 3, 4, 7} и Г2={1, 3, 5, 6} образуют
пару максимально удаленных остовов графа, представленного на
рис. 11.4.
Теорема 11.4. Пусть Tt и Тг образуют пару максимально удаленных остовов
связного графа G.
1. Фундаментальный цикл графа G по отношению к Т1 или Г2, определенный
общей хордой Тг и Тг, не содержит общих ветвей этих остовов.
Рис. 11.4.
2. Фундаментальное сечение графа G по отношению к 7\ и Т2, опреде-
определенное общей ветвью Т± и Г2, не содержит общих хорд этих остовов.
Доказательство. \. Предположим, что фундаментальный цикл графа G по
отношению к 7\, определенный общей хордой с, содержит общую ветвь Ь. Тогда
расстояние d(T{, T2) между Т2 и остовом Т[ равно G\—b) \J с удовлетворяет
соотношению d(Ty, Tz)=d(Ti, Tj)-\-\, противоречащему утверждению о мак-
максимальной удаленности 7f и Г2.
Доказательство п. 2 следует из принципа двойственности.
Пусть с —общая хорда, а & — общая ветвь для любых двух остовов
7\ и Г2. Тогда последовательность Р: сТ^Т^е^Т^ . .е{Г* Ь, где
Т* означает либо 7\, либо Т2, называется выводимой последователь-
последовательностью длиной i от общей хорды с до общей ветви Ь, если Р имеет
следующие свойства:
1. Г] иГ; входят в последовательность Р попеременно.
2. ?i находится в фундаментальном цикле по отношению к 7\, оп-
определяемом хордой с.
3. Ь находится в фундаментальном сечении по отношению к 71*,
определяемом et.
4. Если е} и ej+1 входят в Я в виде е}Тае^и где Та—Тг или Т2,
то е;- — хорда Та, a ej+l — ветвь Та и ei+1 входит в фундаментальный
цикл по отношению к Та, определенный е}. Заменяя в этом определе-
определении цикл на разрез, а ветвь на хорду, можно, исходя из принципа
двойственности, определить выводимую последовательность от общей
ветви к общей хорде. Фактически если Р является выводимой после-
последовательностью от общей хорды с к общей ветви Ь, то последователь-
последовательность Р', записанная как и Р, но в обратном порядке, будет выводи-
выводимой последовательностью от Ь к с. В качестве примера рассмотрим
остовы Г, = {1, 2, 3, 7, 10} и Га={2, 6, 8, 11, 12} графа, представлен-
232
Глава И
Рис. 11.5.
ного на рис. 11.5. Ребро 5 является общей хордой 7\ и Т2, а ребро
2 — общей ветвью 7\ и Т2. Тогда Р : STJTST^ является выводи-
выводимой последовательностью от 5 к 2, а Р' : 2Т18Т27Т15 — выводимой
последовательностью от 2 к 5.
Пусть 7\ и Т2 образуют пару
максимально удаленных остовов.
Предположим, что существует
выводимая последовательность
Р: сТхеТг Ь длиной 1 от общей
хорды с к общей ветви Ъ. Тогда
Тг и Т2, равные (Т2—b) U е, об-
образуют пару максимально уда-
удаленных остовов, для которых с —
общая хорда, а Ъ — общая ветвь.
Далее, общая ветвь ег будет вхо-
входить в фундаментальный цикл
по отношению к Т±, определен-
определенный общей хордой с. Но это
противоречит теореме 11.4. Та-
Таким образом, не существует выводимой последовательности дли-
длиной 1 от с к Ь. Из принципа двойственности можно показать, что не
существует выводимой последовательности длиной 1 от b к с.
Теорема 11.5. Пусть с— общая хорда, а 6 — общая ветвь пары остовов 7\
и Т2 связного графа. Если 7\ и Т2 являются максимально удаленными, то не су-
существует выводимых последовательностей от с к 6 и от & к с.
Доказательство. Доказательство проводится по индукции для длины выво-
выводимой последовательности по отношению к любой паре максимально удаленных
остовов.
Как было показано выше, не существует выводимой последовательности
длиной 1 от общей хорды к общей ветви для любой пары максимально удаленных
остовов.
Допустим, что не существует такой последовательности длиной меньше чем
k~^2. Предположим, что существует выводимая последовательность Р: cTxe{T^.i
7\. . л^*Ь длины k от общей хорды с к общей ветви Ь для некоторой пары мак-
максимально удаленных остовов 7\ и Т2- Тогда она была бы кратчайшей такой по-
последовательностью, так как (исходя из предположения) не существует такой по-
последовательности длины, меньшей k.
Если Т*~ТЪ то Т2 и Гх= (Гх—Ь) у ek образуют пару максимально удаленных
остовов, для которых с — общая хорда, а^ — общая ветвь. Так как Р — крат-
кратчайшая последовательность длины k, можно показать, что Р' : сТ'\е{Г^е^Т'х . . .
... efc_i7Vk является выводимой последовательностью от с к е^. Однако Р имеет
длину k—1, и это ведет к противоречию, так как мы предполагаем, что не сущест-
существует такой последовательности длины k—1.
Аналогично если Т*=Т2 , то Тх и T2=(T2—b)\Jek образуют пару макси-
максимально удаленных остовов, для которых с — общая хорда, а ек — общая ветвь.
Снова можно показать, что Р" : cTViJVs^V • -ek-i^iek —выводимая последова-
последовательность от с к е^. Так как Р" имеет длину k—1, приходим к противоречию.
Таким образом, не существует выводимой последовательности любой длины
от общей хорды к общей ветви остовов Г3 и 7V Аналогично не существует выводи-
выводимой последовательности любой длины от общей ветви к общей хорде.
Графы и электрические цепи 233
Пусть с — общая хорда 7\ и Т2 для заданной пары максимально
удаленных деревьев 7\ и Г2.
К — подграф Gc графа G по отношению к с — строится следую-
следующим образом:
1. Пусть Li — множество ребер в фундаментальном цикле относи-
относительно 7\, определенного с. По теореме 11.4 множество Li не
содержит общих ветвей.
2. Пусть L2 — объединение всех фундаментальных циклов по отно-
отношению к Т2, определенных каждым ребром в Llt По теореме 11.5
объединение L2 не содержит общих ветвей.
3. Используя многократно приведенную выше схему, можно полу-
получать последовательность множеств ребер Li, L2, ... до тех пор,
пока не достигнем множества Lk+i=Lk.
Тогда подграф, порожденный на множестве ребер Lk, называется
К-подграфом Gc по отношению к с.
Заменяя в приведенной выше конструкции цикл сечением, а хор-
хорду — ветвью, можно из принципа двойственности определить
К-подграф Gb по отношению к общей ветви Ь.
Главным подграфом Gt по отношению к общим хордам является
объединение /(-подграфов относительно всех общих хорд. Главным
подграфом G2 по отношению к общим ветвям является объединение
/(-подграфов по отношению ко всем общим ветвям. Например, гла-
главными подграфами d и G2 графа, представленного на рис. 11.4 по
отношению к паре остовов Тг—{2, 3, 4, 7} и Г2={1, 3, 5, 6}, явля-
являются &= {6, 7, 8}, 0,= {1,2, 3}.
В работе [11.7] показано, что главные подграфы G\ и G2 не имеют
общих ребер. Если бы они имели общее ребро, то можно было бы по-
построить выводимую последовательность от общей хорды к общей
ветви.
Таким образом, любой граф G состоит из трех подграфов: Gx —
главного подграфа по отношению к общим хордам, G2 — главного
подграфа по отношению к общим ветвям, Go — подграфа G— (Gi U G2).
Это разбиение (Go, Gb G2) графа G называется главным разбиением
графа G. Интересно отметить [11.71, что главное разбиение графа
G единственно и не зависит от выбора максимально удаленных ос-
остовов.
Некоторые полезные свойства главных подграфов Go, G1; G2 пере-
перечислены ниже. Они следуют из определений этих подграфов.
PI. G1 содержит все общие хорды, ноне содержит общих ветвей, G2
содержит все общие ветви, но не содержит общих хорд.
Р2. Любой фундаментальный цикл по отношению к Ti или Тг,
определенный ребром в Glt состоит только из ребер d.
РЗ. Любое фундаментальное сечение по отношению к 7\ и Тг, оп-
определенное ребром в G2, состоит только из ребер G2.
Р4. Ti Г) Gt и Т^ Г) Gi являются остовными лесами Gi.
234 Глава 11
Р5. 7\ D G2 и T2 П Ga являются остовами графа G2, полученного стя-
стягиванием всех ребер, не входящих в G2.
Р6. Любое ребро, концевые вершины которого являются компонен-
компонентами Сь также принадлежит Gj.
Р7. Любое ребро, концевые вершины которого являются компонен-
компонентами GoUGi, также принадлежит GoUG^
Р8. Tt Г) Go и Т2 П Go являются остовными лесами графа Go, получен-
полученного включением всех ребер Gt и удалением всех ребер G2 (это свойст-
свойство можно доказать, используя свой-
свойство РЗ).
Заметим, что G1=0, если G не со-
содержит общих хорд, и G2=0, если G
не содержит общих ветвей.
Разбиение множества ребер Е гра-
графа G, вытекающее из свойства Р1,
представлено на рис. 11.6. Оно следует
из того, что Ei=A(]DuJ, ?2=
=5 и К U Н, Ео=С U F, где Еи ?2 и ?0
означают множества ребер Gb G2, Go
Рис- и6- соответственно. Отметим, что, как
следствие свойств Р4 и Р5, получаем
|Л| = |?>| и |В| = |К1. Результаты, представленные в предшествую-
предшествующих обсуждениях, приводят к следующей теореме:
Теорема 11.6. Для графа G, имеющего (Go, Gj, G2) в качестве главного раз-
разбиения, получаем
1) если ОгИ=0, то p(Gi)<n(Gi);
2) если 02=7^0, то p(G2)>n,(G2), где G3 — граф, полученный стягиванием всех
ребер в (G0UGi);
3) p(G0)=|x(G0), где Go получен стягиванием всех ребер в Gj и удалением всех
ребер в G2;
4) максимальное расстояние между двумя любыми остовами равно р (GJ+p. (G2)+
+P(G0).
Доказательство. 1. Из свойства Р4 и из того, что 1Л| = 1?>|, получаем p(G,)=
= \A\<\D\+\J\, если G1^0=ji(G1). V
2. Из свойства Р5 и из того, что |В|=|/С|, получаем р(Сг)=\В\+\Н\ Ж, если
0(G)
3. Из свойства Р8 и из того, что |C|=|F|, получаем p(Go)=C=F=n(Go).
4. Максимальное расстояние между любыми двумя остовами G равно Ы|+
| + |C|=p(Gi)+n(G2)+p(Go).
Пусть dm — максимальное расстояние между двумя остовами
графа G, пусть (Go, Gb G2) — главное разбиение G. Тогда из доказан-
доказанной выше теоремы имеем dni=p(G1)+^(G;)+p(G0). Но m,(G2) +
+Р (Go) равно цикломатическому числу графа {Go U G2'), полученного
стягиванием всех ребер в G (рис. 11.6). Следовательно, dm=p(Gr)+
+^((GOUG2)'). Пусть Еа и Еь образуют произвольное разбиение
множества ребер Е графа G. Пусть Ga — подграф на множестве ребер
Графы и электрические цепи 235
Еа, a Gb — граф, полученный стягиванием всех ребер в Go. В работе
[11.8] показано, что dm^p(Ga)+\i(G'b).
Заметим, что p(Ga)-i-n(G'b)— число независимых переменных
в анализе со смешанными переменными, если использовать разбие-
разбиение (Еа, Еь) множества Е. Следовательно, можно заключить, что
dm — минимальное число независимых переменных, требуемых в
анализе со смешанными переменными. Это число может быть меньше
ранга и цикломатического числа G. Таким образом, число независи-
независимых переменных в методе смешанных переменных может быть меньше
требуемого для методов контуров и сечений. Например, граф G на
рис. 11.4 имеет главное разбиение Go={4, 5}, Gi={6, 7, 8}, G=
= {1, 2, 3}. Можно проверить, 4Top=(G!)=l, fx (Go U G2)'=2, следо-
следовательно, dm=3. Таким образом, только три независимые перемен-
переменные требуются для анализа цепи по методу смешанных переменных,
тогда как оба метода контуров и сечений требуют по четыре незави-
независимых переменных.
В работе [11.8] dn называется топологической степенью свободы
цепи. Некоторые интересные свойства таких разбиений {Еа, Еь),
для которых p(Ga)^-\x(G'b)^=dm, обсуждаются в работе [11.8].
Авторы работ [11.7, 11.8] внесли несколько глубоких результатов
в теорию графов. В работе [11.9] обсуждается алгоритм вычисления
главного сечения графа. В работе [11.10] распространяется понятие
«главное разбиение на матроиды».
11.5. Уравнения состояния
В разд. 11.2—11.4 для описания цепи рассматривались системы
контурных уравнений, уравнений сечения и уравнений со смешан-
смешанными переменными. Во временной области эти уравнения являются
интегродифференциальными. В данном разделе мы описываем цепи
в виде дифференциальных уравнений первого порядка без интегра-
интегралов. Одной из причин такого описания является то, что в математи-
математической литературе имеется масса информации по решению подобных
уравнений и свойствам таких решений, которые можно легко исполь-
использовать в рассматриваемом случае. Далее, представление состояния
является более общим в том случае, когда оно применимо к меняю-
меняющимся во времени и нелинейным цепям. Вновь ограничиваем наше
внимание специальным классом /^LC-цепей с взаимными индуктив-
ностями и независимыми источниками тока и напряжения.
Уравнения состояния электрической цепи N формулируются с
использованием в качестве переменных производных емкостных на-
напряжений и индуктивных токов. Очевидно, что не все емкостные на-
напряжения можно выбрать в качестве независимых переменных, пото-
потому что в цепи могут существовать контуры, состоящие только из
емкостей. Аналогично не все индуктивные токи можно выбрать в
качестве независимых переменных, потому что могут существовать
236
Глава 11
сечения, состоящие только из индуктивностеи. Как и в случае ме-
методов контура и сечения, исходным пунктом для вывода уравнений
состояния является выбор соответствующего остова. В частности,
выбираем такой остов, который содержит 1)все источники напряже-
напряжения и ни одного источника тока, 2) наибольшее возможное число
емкостей и 3) наименьшее возможное число индуктивностеи. Остов,
выбранный в соответствии с этими правилами, называется нор-
нормальным деревом.
Для заданной цепи N пусть N± — подграф цепи N, который
содержит все источники напряжения и емкости, a JV, — подграф
цепи N, который содержит все источники напряжения, емкости и
сопротивления. Нормальное дерево цепи N можно выбрать следую-
следующим образом:
1. Сначала выбрать такой остовный лес 7\ из iVb чтобы он содержал
все источники напряжения.
2. Затем выбрать такой остовный лес Т2 из N2, что 7\^Т2.
3. К Т2 добавить столько индуктивностеи, сколько необходимо,
чтобы получить остов Т из N. Полученное таким образом дерево
является нормальным деревом цепи N.
В качестве примера нормальное дерево цепи, изображенной на рис.
11.7, а, представлено на рис. 11.7, б.
Рис. 11.7.
а — цепь; б — нормальное дерево цепи.
После выбора нормального дерева Т дадим разбиение вектора Vе
напряжений элемента и вектора Ie токов элемента следующим обра-
образом:
Ve [vty 1е~ш*
Vet
Уи1
У
и
Графы и электрические цепи
237
/,=
let
ht
ihtJ
let
hi
где индексы E, J, C, R и L относятся к источникам напряжения, ис-
источникам тока, емкостям, резисторам и индуктивностям соответст-
соответственно, а индексы t и I — к ветвям и хордам Т соответственно.
Затем подматрицу Qf[ фундаментальной матрицы сечений
Qf=[U Qfi] можно разбить так:
1
Зеглви
Е
С
R
L
С
' Qec
Qcc
0
0
Связи
R
Qer
Qcr
Qrr
0
—>
L
Qel
QCL
Qrl
Qll
J
Qej'
Qcj
Qrj
Qu
A1.33)
Заметим, что Qrc=0. Если бы существовала емкость в фундамен-
фундаментальном сечении по отношению к некоторому сопротивлению, то
удаление этого сопротивления из Т и добавление этой емкости приве-
привело бы к тому, что в остове было бы на одну емкость больше, чем в Т.
Это противоречило бы выбору нормального дерева Т. Аналогично
можно показать, что QLC=6 и QiR=0. Из уравнений ЗКТ QfIB=O,
и отсюда получаем следующее:
h = -Qec'ci-QerIr, -QeJli ~Qej1j<
h," -QlJu ~Quh-
Далее из преобразования сечений получаем
(П.346)
Ъ *° Q'ejVe±QcjVc, +Q'rjVr,
<И.34<0
A1.35а)
A1.356)
A1.35с)
A1.35*/)
Используя элементные соотношения v—i и приведенные выше ypaF-
нения, мы должны получить уравнения состояния, исходя из произ-
производных VCt и hi- Все другие переменные, не связанные с источни-
источниками, необходимо исключить.
238 Глава И
Для емкостей нежелательными переменными являются /с(, Vci
и 1С1, а для индуктивностей — VLl, IIt и VL[. Исключим эти пере-
переменные. Сначала перепишем выражение A1.34,6) в виде
Затем, используя соотношения v—i для емкостей в приведенных вы-
выше выражениях
4-[Ct ° ]±\Vct~
и подставляя Vct из уравнения A1.35а), получим
Ч -1 (Vct) = — QCRlHt — Qci Ui — Qcjh + ^4t <Уе), (!! -36)
где
Qcc] [0'
c.
Qcc]
0
ct.
и
lQ'ec
0
Q
Можно показать, что i? является матрицей проводимости сечений
цепи, полученной из N удалением всех хордовых элементов, за ис-
исключением емкостей и стягиванием всех элементов дерева, кроме ем-
емкостей.
Аналогично, исходя из уравнения A1.35в) и используя v—/-со-
v—/-соотношения
а затем заменяя ILt из уравнения A1.34г), можно получить следую-
следующее отношение для индуктивностей:
i ^(IJI A1.37)
где
Можно показать, что 3 является матрицей полных сопротивлений
цепи, полученной удалением всех хордовых элементов, кроме ин-
Графы и электрические цепи 239
дуктивностей, и стягиванием всех элементов дерева, кроме индук-
тивностей.
Теперь необходимо исключить /Rl и V Rt из уравнений A1.36)
и A1.37). Для этого рассмотрим следующие v—t-соотношения:
IRi—GiVRl, VRt=RtIRt. После подстановки VRl и IRt из уравнений
A1.356) и A1.34в) приведенные выше уравнения примут вид
A1.38)
VRt = -RtQRRIm-KtQRLlLi-KtQRjh- (П .39)
Подставляя IR[ из выражений A1.38), A1.39), приводим к виду
t - RtQRRGlQiERVE -
- (И.40)
Приведенное выше уравнение для VRt можно решить тогда и только
тогда, когда существует обратная матрица для (U-bRtQ^GiQw).
Эту матрицу можно представить в виде RtG, где G=Gt+QRRGtQRR.
Можно показать, что матрица Gt+Q^Gfi^ является матрицей про-
проводимости сечений цепи, полученной из Af удалением всех хордовых
элементов, кроме сопротивлений, и стягиванием всех элементов де-
дерева, кроме сопротивлений. В таком случае матрица, обратная этой,
существует, и уравнение A1.40) можно решить относительно VRt.
Далее подставим в уравнение A1.36) и A1.37) lRl и VRt в том
виде, в каком они получены выше, и получим следующие уравне-
уравнения состояния:
1 Г"
dt LO 2\ \lLl\
Г-2/* Ж*
где
—& Ж
(П.42)
Матрицы 5? и J? являются невырожденными в случае RLC-цепн,
и поэтому в таких случаях можно переписать уравнение A1.41) в ви-
виде
240
Глава 11
Определив VCt и ILl из уравнения A1.44), можно получить все ос-
остальные напряжения и токи, исходя из VCt, 1ц, Ув и h- Те, кого
интересуют детали, могут обратиться к работам [11.11, 11.12].
Уравнение состояния A1.44) не приведено к нормальной форме, так
как присутствуют производные от VE и /у. Определяя новое множе-
множество переменных, можно привести уравнение A1.44) к нормальному
виду [11.11]. В качестве примера рассмотрим цепь, показанную на
рис. 11.7, а. Нормальное дерево цепи представлено на рис. 11.7, б.
Матрица Q^ в форме разбиения дана ниже:
2 5 6
з"
7
1
-1
1
0
0
-1
0
1
-1
0
-1
1.
Отсюда получаем
«
«
¦ч
¦[0].
¦[1].
¦[1],
¦i-iJ.
¦[
Используя приведенные выше матрицы, получаем
Jo ol
Lo oJ'
"Ъ*
%*-
s=[-i o],
Уравнения состояния цепи, приведенной на рис. 11.7, получаются
с использованием уравнения A1.41):
d_
dt
2
-1
0
-1
3
0
0
0
1
0
0
L -i
0
0
0
1
0
— 1
V
L's.
+
"о
0
lO
о]
1
1
1
-1
. 0
o'
0
о
dt
d'e
. dt .
Графы и электрические цепи 241^
11.6. Свойство неусиления
в резистивных цепях
Эту главу мы завершаем интересным приложением теории графов
к исследованию электрических цепей.
В теории цепей хорошо известно, что для заданной цепи, состоя-
состоящей из резисторов и источников, величина напряжения на всех
резисторах не выше суммы величин напряжений на источниках. Это
свойство резистивных сетей известно как свойство неусиления. В этом
разделе дается доказательство свойства неусиления. Это доказа-
доказательство благодаря Волаверу [11.131 является чисто теоретико-гра-
теоретико-графовым.
Напомним, что цикл, в котором все ребра ориентированы одина-
одинаково относительно ориентации этого цикла, называется ориентиро-
ориентированным циклом. Сечение, в котором все ребра ориентированы одина-
одинаково по отношению к ориентации этого сечения, называется ориен-
ориентированным сечением.
Доказательство неусиления, данное Волавером, основано на
специальном случае леммы Минти о раскраске дуг (теорема 10.31),
а именно на том, что в ориентированном графе каждое ребро нахо-
находится либо в ориентированном цикле, либо в ориентированном сече-
сечении, либо отсутствует в обоих.
Теорема 11.7. Для заданной цепи источников и (линейных/нелинейных) по-
положительных сопротивлений величина тока в любом сопротивлении с нулевым
напряжением не больше суммы величин токов, текущих через источники.
Доказательство. Пусть все элементы с нулевым падением напряжения исклю-
исключены (их можно рассматривать как короткие замыкания). Пусть направления рас-
рассмотрения элементов выбраны так, что все напряжения на элементах положитель-
положительны. Тогда рассмотрим произвольное сопротивление с ненулевым напряжением. Не
может существовать ориентированного цикла, который содержал бы такое со-
сопротивление. Если бы такой направленный цикл существовал, то сумма всех
напряжений по этому циклу цепи была бы ненулевой, что противоречит закону
Кирхгофа для напряжений. Поэтому, как было показано раньше, существует ори-
ориентированное сечение, которое содержит рассматриваемое сопротивление. Пусть
ток в рассматриваемом сопротивлении равен @. Выберем ориентированное сече-
сечение, которое содержит это сопротивление. Пусть R — множество всех других со-
сопротивлений в этом сечении, а 5 — множество всех источников в сечении. При-
Применяя закон Кирхгофа к сечению, получаем lo+^j'/rbSji'V^. Так как сопро-
kTk sTs
тивления положительны, то v^O для каждого сопротивления. Так как все напря-
напряжения положительны, ток в каждом из сопротивлений не отрицателен, и можно
записать |»о[+2|'*1+2±'*=01 °Tao^a I'oKS±'^S|('jI- Что и тРе"
keR ssS ssS seS
бовалось доказать.
Следующая теорема является двойственной к доказанной выше. Доказательство
следует из принципа двойственности.
Теорема 11.8. Для заданной цепи, состоящей из источников и (линейных/
нелинейных) положительных сопротивлений, величина напряжения на любом из
сопротивлений не больше суммы величины напряжений на всех источниках.
Работы [11.14, 11.15] являются одними из первых, в которых обсуждается
свойство неусиления.
242 Глава 11
11.7. Замечания, касающиеся литературы
Для дальнейшего изучения следует в первую очередь рекомен-
рекомендовать работу [11.16] по теоретико-графовому исследованию элект-
электрических цепей. Кроме того, рекомендуем работы [11.17 и 11.19].
В работе [11.11] можно найти более детальное обсуждение некоторых
тем, представленных в данной главе, и в частности их распростра-
распространение на более общие классы цепей.
Метод анализа цепей, названный диакоптикой, основанный на
понятии разрыва, был введен в работах [11.20, 11.21]. Их автор при-
применил это понятие для анализа определенного класса цепей. Его под-
подход основывается на понятиях, заимствованных из тензорного ана-
анализа. В работах [11.22—11.25] разъясняются понятия диакоптики и
делается очень многое для того, чтобы этот подход стал более извес-
известен инженерам-электротехникам. Другие описания диакоптики мож-
можно найти в работах [11.26—11.31].
В работе [11.32] рассматривается обобщенная форма анализа на
основе смешанных переменных, которая включает все существующие
формы (кроме диакоптики) в качестве специальных случаев. В ра-
работе [11.33] также исследуется вычислительная эффективность мето-
методов контуров и сечений. Авторы этих работ показали, что выбор
оптимального метода анализа приведет к получению наиболее раз-
разреженных матриц сопротивлений контура и проводимости сечений.
Авторы работы [11.34] использовали идеи теоретико-графового под-
подхода, в особенности теорему Теллежена и специальный случай лем-
леммы о раскраске дуг для выявления некоторых свойств нелинейных
цепей и нелинейных многополюсных резистивных цепей.
Уравнения состояния для RLC-схем были впервые выведены
авторами работ [11.35, 11.36]. Ряд статей был посвящен обсуждению
формирования уравнений состояния для обобщенных классов ак-
активных цепей [11.37—11.39]. В работе [11.16] устанавливаются не-
необходимые и достаточные условия для разрешимости i^LC-цепей,
содержащих независимые источники. Используя этот подход, неко-
некоторые авторы обсуждали проблему разрешимости цепей для более
общего класса цепей [11.37, 11.40].
Теоретико-матроидное изучение электрических цепей быстро раз-
развивается как перспективная область исследований. Определение эле-
электрической цепи основывается на графах. В качестве обобщения
этого подхода в работах [11.41—11.43] вводится понятие «обобщен-
«обобщенные цепи», т. е. цепи, основанные на матроидах, и устанавливаются
некоторые свойства таких цепей. Ожидается, что более детальное
изучение обобщенных цепей даст новый импульс некоторым класси-
классическим нерешенным задачам теории электрических цепей, в частнос-
частности задаче синтеза многополюсной резистивной цепи. Авторы работы
111.44] недавно рассмотрели матрицы, использующие алгебру Ван-
га [11.45, 11.46], в качестве инструмента исследования. В работе
Графы и электрические цепи
243
[11.47] исследуется задача разрешимости цепи с использованием по-
понятия «объединение матроидов», а в работе [11.48] формулируется
единый подход к трем фундаментальным проблемам в теории цепей
и показывается, что все они сводятся к задаче определения базиса
объединения двух соответствующим образом выбранных матроидов.
Теория электрических цепей продолжает оставаться богатым ис-
источником математических задач. В работе,[11.49] обсуждается не-
несколько таких задач.
Упражнения
11.1. Матрица путей Р=[р{/] дерева Т с соответствующей вершиной vr определя-
определяется следующим образом: Если ветвь / является единственным путем в Т от вер-
вершины Vj к у у, то pij=-\-\ или P(j=—1 в зависимости от того, соответствует или
нет ориентация ветви направлению этого пути, в противном случае р,-у=О. Ис-
Используя узловое преобразование, покажите, что P=(A~1)t, где А является усе-
усеченной матрицей инциденций Т по вершине vr, и выведите теорему 6.12.
11.2. Получите контурную систему уравнений пленарной цепи, используя ячейки
как независимые циклы.
11.3. Пусть N — Планерная цепь. Пусть пленарная цепь N строится следующим
образом:
а) граф JV является двойственным графу N. Пусть е и е являются соответ-
соответствующими элементами из N и N;
б) если е — резистор величиной R Ом, то е' — резистор величиной 1/R Ом;
в) если е — емкость (индуктивность) величиной К фарад (генри), то е' —
индуктивность (емкость) величиной К генри (фарад);
г) если е — источник тока (напряжения) величиной g(t), то е'—источник
напряжения (тока) величиной g(t).
Определите ориентации источников тока и напряжения в N так, чтобы контур-
контурные уравнения N (с ячейками, выбранными в качестве независимых циклов) стали
узловыми уравнениями Л', где переменные контурных токов заменяются перемен-
переменными узловых напряжений. Можно принять, что все ячейки из N ориентированы
по часовой стрелке. (Цепи N и N, определенные, как описано выше, называются
двойственными цепями.)
11.4. Постройте двойственную цепь к цепи, показанной на рис. 11.8,
30м
u(t)
244
Глава 11
11.5. Определите все напряжения и токи в цепи, представленной на рис. 11.9,
используя контурный метод анализа.
11.6. Повторите упражнение 11.5, используя методы сечения и смешанных пере-
переменных.
20м
2 0м 2 0м
Рис. 11.9.
Рис. 11.10.
11.7. Найдите главное разбиение графа, представленного на рис. 11.10.
11.8. а) Получите уравнения состояния цепи, показанной на рис. 11.11. б) Вы-
Выразите токи и напряжения через резисторы, исходя из переменных состояния и
переменных источников.
1costu(t)Q
11.9. Порядком сложности электрической цепи N является максимальное число
начальных условий, которые можно выбрать для цепи N. Оно совпадает с мак-
максимальным числом динамически независимых токов и напряжений на элементах,
мгновенные значения которых достаточны для того, чтобы определить мгновенное
состояние цепи. Более того, оно также равно числу собственных частот цепи N.
Докажите следующее для RLC-цепи:
а) Порядок сложности N равен числу реактивных элементов, меньшему сум-
суммы чисел линейно-независимых сечений, состоящих только из индуктивностей, и
чисел линейно-независимых контуров, состоящих только из емкостей.
б) Число ненулевых собственных частот цепи N равно порядку сложности N,
меньшему суммы чисел линейно-независимых сечений, состоящих только из
емкостей, и чисел линейно-независимых цепей, состоящих только из индуктив-
индуктивностей.
12. Резистивные я-полюсные
цепи
Полюс Ц
I Полюс 2
12.1. Введение
Цепь называется n-полюсной, если она имеет п пар доступных за-
зажимов для подсоединения внешних устройств, например источников
тока или напряжения. Каждая пара таких доступных зажимов на-
называется полюсом. Очевидно, что n-полюсная цепь может иметь мак-
максимум 2п различных полюсных зажимов, в случае когда каждый
полюс имеет свою собственную пару зажимов, и минимум п-\-\ раз-
различных полюсных зажимов. Последний случай возникает, например,
когда один зажим является общим для всех полюсов. Вершины
д-полюсной цепи, отличные от полюсных входов, называются внут-
внутренними вершинами цепи. Каждый полюс д-полюсной цепи связан
с двумя переменными — на- |
пряжением между зажимами "~ """
полюса и током, текущим че-
через полюс. На рис. 12.1 пред-
представлена 3-полюсная цепь с
6 зажимами. Ссылки на по-
полюсные напряжения и токи
будут приниматься в соответ-
соответствии с рис. 12.1.
При представлении п-по-
люсной цепи в виде ориенти-
ориентированного графа каждый ее
полюс будет рассматриваться
как ребро, называемое полюс-
полюсным ребром, связывающим со-
соответствующие зажимы полю-
полюса. Полюсное ребро можно рассматривать в качестве внешнего уст-
устройства, подключенного к полюсу. Подграф из полюсных ребер вмес-
вместе с указанием положительных или отрицательных зажимов каждого
полюса называется полюсной конфигурацией n-полюсной цепи.
Полюсное ребро может быть ориентированным как от положи-
положительного зажима к отрицательному, так и наоборот.
В соответствии с обозначениями полюсного напряжения и тока,
из рис. 12.1 должно быть очевидным, что для представленного ра-
ранее выбора полюсной ориентации полюсное напряжение совпадает
с напряжением, связанным с полюсным ребром, а полюсный ток
L
Полюс 5
Рис. 12.1. 3-полюсная цепь с 6 зажимами.
246 Глава 12
противоположен по направлению току, связанному с полюсным
ребром. Соответствующие соотношения в последнем выборе ориен-
ориентации полюса очевидны.
О п-полюсной цепи с внешними устройствами, подключенными
к полюсам, будем говорить как о нагруженной п-полюсной цепи.
Полагаем, что нагруженная n-полюсная цепь является связной и
в ней не существует внутренних вершин. Если нагруженная полюс-
полюсная цепь не является связной, то каждую компоненту нагруженной
сети можно рассматривать отдельно как многополюсную цепь. Если
в данной цепи существуют некоторые внутренние вершины, их
можно исключить преобразованием типа звезда — треугольник и
получить цепь, эквивалентную исходной в смысле отношения меж-
между полюсными переменными. Таким образом, мы сделали два до-
допущения, не нарушая общности рассмотрения. Будем предполагать
также, что в цепи отсутствуют параллельные проводимости. Если
такие проводимости имеются в цепи, их можно свести к единствен-
единственной проводимости.
Свойства п-полюсных цепей можно описать любой системой п
независимых уравнений от 2п полюсных переменных. Особый ин-
интерес представляют матрица проводимостей короткого замыкания
и матрица полных сопротивлений холостого хода. В описании с по-
помощью матрицы проводимостей короткого замыкания полюсные
напряжения выбираются в качестве независимых переменных.
Матрица проводимостей короткого замыкания У=\уц] является
матрицей порядка пХп, которая преобразует вектор полюсных
напряжений Yp в вектор полюсных токов 1Р. Таким образом, имеем
YVP=1P. A2.1)
Если Vp=[t)!, v21.. .,vnV и /p=U"i, tg>. . ., inV, где v} и ij переменные
напряжения и тока соответственно, связанные с /-м полюсом, тог-
тогда очевидно, что
у*-' Vj v.=0 для всех i ф j
Физически это означает, что yhj является током, текущим через k-u
полюс, когда /-й полюс возбуждается источником единичного на-
напряжения, причем все остальные полюса считаются короткозамк-
нутыми.
Необходимым условием существования матрицы проводимостей
является отсутствие циклов в полюсной конфигурации. Иначе ока-
окажется невозможным выбор полюсных напряжений в качестве неза-
независимых переменных.
В описании с помощью матрицы полных сопротивлений холосто-
холостого хода п-полюсной цепи в качестве независимых переменных вы-
выбираются полюсные токи. Матрица полных сопротивлений холос-
Резистивные п-полюсные цепи 247
того хода цепи 1=\гц\ есть пХ«-матрица, которая преобразует
вектор полюсных токов /р в вектор полюсных напряжений Vp.
Таким образом, имеем
ZIV=VV. A2.2)
В этом случае можно записать
>'я> = 0 для всех т ф f
Физически это означает, что zhJ — напряжение на k-u полюсе,
когда /-й полюс возбуждается источником единичного тока, при-
причем все остальные полюсы считаются разомкнутыми.
Чтобы существовало описание в виде матрицы полных сопро-
сопротивлений, необходимо, чтобы в нагруженной «-полюсной цепи (ко-
(которая предполагается связной) не было сечения, состоящего только
из полюсных ребер, нескольку в таком описании полюсные токи
выбираются в качестве независимых переменных. Другими слова-
словами, для существования матрицы полных сопротивлений требуется,
чтобы сеть была связной.
Теперь мы приступаем к выводу уравнений для Y- и Z-матриц
«-полюсной RLC-neun N. Соответствующую нагруженную цепь бу-
будем обозначать через N.
Рассмотрим сначала вывод У-матрицы цепи N. Пусть Т озна-
означает полюсную конфигурацию цепи N. Как и раньше, потребуем,
чтобы Т была ациклической, так что на каждое полюсное ребро
можно ссылаться как на независимый источник напряжения. Мы
предполагаем, что каждое полюсное ребро направлено от положи-
положительного зажима соответствующего полюса к отрицательному.
Пусть То — такой остов цепи N, что Т является подграфом То.
Ребра подграфа Т назовем полюсными ветвями, а остальные ребра
То — неполюсными ветвями. Базисную матрицу сечений нагружен-
нагруженной цепи N относительно То можно записать в виде
где подматрица
соответствует цепи N, причем строки Qx соответствуют полюсным
ветвям, а строки Q — неполюсным ветвям.
Пусть вектор-столбцы Vp, Vnb, Ve определяются следующим
образом: Vv — вектор полюсных напряжений, Vnb — вектор на-
напряжений на неполюсных ветвях, Vе — вектор напряжений на реб-
ребрах в цепи N. Пусть векторы токов /р и Ie определяются аналогич-
аналогично. Пусть Уе обозначает такую диагональную матрицу проводимос-
тей ребер в цепи N, что
*.=YeVt. A2.3)
248Глава 12
Теперь можно записать максимальную систему уравнений ЗКТ для
нагруженной цепи N в следующем виде:
Также получаем соотношение (преобразование сечения, теорема
Используя формулы A2.3) и A2.5) в выражении A2.4), получим
где Yu=QiYeQL Yl2=Q1YeQ[=yiu YM=Q2YeQl
Матрица
v — nvni — Г Yu IY™ 1
L ' 81 M 22 J
называется матрицей проводимостей сечения д-полюсной цепи N
относительно 7V Решая вторую часть системы уравнений A2.6),
получим
У^—УЗУкУр- A2.7)
Отметим, что Уг2 является невырожденной, так как Q2 имеет мак-
максимальный ранг, a Yе является диагональной с ненулевыми эле-
элементами на диагонали. Используя формулу A2.7) в первой части
системы уравнений A2.6), а именно YuVpJrYl2Vnb=]p, получаем
<Уи-Уг№Уп)УР = 1Р. A2.8)
Таким образом, матрица проводимостей короткого замыкания V
цепи N задается выражением
У = Уи-Уг,УаУп- A2.9)
Заметим, что если полюсная конфигурация Т имеет р>\ компонент,
то цепь N будет иметь п-\-р полюсных входов. Если р = \, то Т бу-
будет остовом цепи N. В этом случае Т=Т0, т. е. не будет существо-
существовать неполюсных ребер, и цепь Af будет называться п-полюсной це-
цепью ранга п. Можно убедиться, что матрица проводимостей Y ко-
короткого замыкания n-полюсной цепи ранга п является такой же,
как и матрица проводимостей сечения Yo, и поэтому для такой цепи
Y = Q/Y.Q?r- A2.10)
Заметим, что в общем случае Qf не является базисной матрицей
сечения цепи N, хотя фактически она является подматрицей базис-
Резистивныв п-полюсные цепи 249
ной матрицы сечений цепи N по отношению к То. Однако на Q,
будет весьма удобно ссылаться как на базисную матрицу сечении
цепи N по отношению к То. Если допустить присутствие ребер с
нулевыми проводимостями, то матрица Qf фактически становится
базисной матрицей сечений цепи N.
Далее рассмотрим вывод Z-матрицы «-полюсной RLC-цепи iV.
Как и ранее, потребуем, чтобы цепь N была связной, так что полюс-
полюсные ребра могут стать частью ко-остова дерева некоторого остова То
цепи N. Полюсные ребра будем называть полюсными хордами, а
оставшиеся ребра ко-остова — неполюсными хордами. В этом слу-
случае можно говорить о каждом полюсном ребре как о представляю-
представляющем независимый источник тока и ориентировать его от отрицатель-
отрицательного зажима полюса к положительному. Базисную цикломатичес-
кую матрицу цепи N по отношению к То можно записать в виде
DIM "I Г П '
1 , где подматрица Bf= \-^
соответствует n-полюсной цепи N, причем строки В± соответствуют
полюсным, а строки В2 — неполюсным хордам.
Пусть Vp, Ve, Ip и /е определяются так, как и ранее. Кроме
того, пусть 1пс — вектор токов в неполюсных хордах. Теперь мож-
можно записать максимальную систему независимых уравнений ЗКН
в следующем виде:
Если Ъе — диагональная матрица полных реберных сопротивлений
в цепи N, то
Vt=ZtIe. A2.12)
Также существует соотношение (контурное преобразование, тео-
теорема 11.2)
Используя формулы A2.11) — A2.13), получим
A2.14)
где Zxx=-BxZeB[, Z^BJLJ&^Z^ ZM=5,Z,5i.
Решая вторую часть системы уравнений A2.14), получим
1пс=-гаг211р. A2.15)
Можно заметить, что Za2 является невырожденной, поскольку В,
имеет максимальный ранг, a Ze является диагональной матрицей
с ненулевым элементом на диагонали.
250
Глава 12
Полюс 1
Полюс 2
г
Рис. 12.2.
а — резистнвиая 4-полюсная цепь (все проводимости даны в снменсах); б — полюсная кон-
конфигурация цепи; в — резистивная 3-полюсная цепь; е — полюсная конфигурация цепи.
Резистивные п-полюсные цепи
251
Наконец, используя формулу A2.15) в первой части системы
уравнений A2.14), получим
(Zu —
A2.16)
Таким образом, матрица Z полных сопротивлений холостого хода
цепи N задается выражением
7 7 7 7-17
1^ — ^11 ^12^22 ^21*
A2.17)
Если цепь N не имеет контуров, то она будет остовом цепи N и,
следовательно, полюсные ребра будут образовывать соответствую-
соответствующий ко-остов. В этом случае неполюсные хорды будут отсутство-
отсутствовать и о цепи N можно говорить как о п-полюсной цепи с цикломати-
ческим числом п. Таким образом, матрица Z полных сопротивлений
холостого хода п-полюсной цепи с цикломатическим числом п за-
задается выражением
Z = BfZeB\. A2.18)
Как и в случае матрицы Qf будем называть Bf базисной цикломати-
ческой матрицей цепи N. Ниже на примерах показан вывод Y-
и Z-матриц п-полюсной цепи.
Сначала вычислим F-матрицу сопротивлений 4-полюсной цепи,
представленной на рис. 12.2, а. Полюсная конфигурация этой цепи
показана на рис. 12.2, б. Выбирая ребра C.4) и E.6) в качестве
неполюсных ветвей, получим матрицу
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
Полюс 1
Полюс 2
Полюс 3
~ Полюс 4
Неполюсная ветвь C,4)
Неполюсная ветвь E,6)
Для этой цепи
= diag[l 11 2 12 1],
где gu — проводимость ребра (/, /), связывающего вершины i и /.
Теперь получим
252
Глава 12
QfY,Q't-
4
3
1
1
3
1
3
4
2
1
4
1
1
2
4
3
4
3
1
1
3
3
3
3
3
4
4
3
7
3
1
1
3
3
3
4.
Матрица проводимостей короткого замыкания 4-полюсной цепи, по-
показанной на рис. 12.2, а, дается выражением
v у у у-
' ' И ' 12' 22
1
"" 19
" 51
23
— 11
2
\у
1 21 —
23 -
29
1
5
-11
1
21
9
—2'
—5
9
12.
Теперь рассмотрим резистивную 3-полюсную цепь, показанную на
рис. 12.2, в. Полюсная конфигурация этой цепи показана на рис.
12.2, г. Выбирая ребро D.6) в качестве неполюсной хорды, полу-
получим матрицу Bf в виде
вг
A,2) B,3) C,4) A,5) B,6)D,6)
Полюс 1 [ -1 -1 о
. ПОЛ/ОС 2 о -1 -
Полюс з 1-1 о о
Неполюсная хорда D,6)
о
1
о
о
-1
о
о
-1
О -1 1
Матрица Ze для этой цепи имеет вид
[rn
= diag ц
л,4
r26
2 2 1 1 11-
Резистиеные п-полюсные цепи
253
Теперь получаем
BjZtBj-
'-2}
3
2
1
-2
2
4
0
-4
1
0
3
1
-2
-4
1
6
Матрица полных сопротивлений холостого хода этой цепи
14
4
8
8
4
17
Как можно видеть из выражений A2.10) и A2.18), свойства F-ма-
трицы п-полюсной цепи ранга п и Z-матрицы той же цепи с циклома-
тическим числом п тесно связаны со свойствами соответствующих
базисной матрицы сечений и цикломатической матрицы.
В следующем разделе этой главы рассматриваются несколько
свойств этих матриц и обсуждаются процедуры их реализации.
12.2. К-матрицы резистивной (я-полюсной
цепи ранга п
В этом разделе обсуждаются некоторые важные свойства F-мат-
риц резистивных n-полюсных цепей ранга п. Очевидно, что эти
n-полюсные цепи имеют п+l узлов. Поэтому мы их называем (п+
+ 1)-узловыми п-полюсными цепями. Во всех рассуждениях прини-
принимаем, что в рассматриваемой цепи не существует отрицательных
проводимостей.
12.2.1. Основные свойства
Рассмотрим (п+1)-узловую резистивную n-полюсную цепь с по-
полюсной конфигурацией Т. Из выражения A2.10) известно, что мат-
матрица проводимостей Y короткого замыкания цепи N задается выра-
выражением
Y = Q/GeQf, A2.19)
где Q/ — базисная матрица сечений цепи N по отношению к Т,
aGe — диагональная матрица реберных проводимостей. Например,
254
Глава 12
Полюс 1 2"
Полюса \ полюс 5
Рис. 12.3. 6-полюсная цепь и ее полюсная конфигурация (все проводимости даны
в сименсах).
для 6-полюсной цепи, показанной на рис. 12.3, имеем
A.2) A,4) A,6) A,7) B,5) B,6) C,4) C,5) D,6) E,6)
Qf=
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
— 1
0
0
1
0
1
0
0
0
0
1
0
1
-1
1
0
0
0
0
1
1
0
1
0
1
0
0
I
0
1
0
1
0
0
— 1
1
-1
1000000000
0100000000
0
0
0
0
0
0
0
.0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
Резистивные п-полюсные цепи 255
Следовательно, для этой цепи
10
_ 2
3
-4
3
-2
3
2
-1
0
1
3
5
0
-2
0
-4
— 1
0
7
-1
5
3
0
-2
-1
6
-1
-4
—. 1
0
5
5.
A2.20)
Ниже будем обозначать через gtJ проводимость ребра (i, /), связы-
связывающего вершины i и /. Полагаем, что строка i в матрице Qf соот-
соответствует полюсу i. Для дальнейшего обсуждения требуется ввести
несколько определений.
Говорят, что проводимость gn стягивает полюс цепи N, если
полюс лежит на единственном пути в Т между вершинами i и /.
Например, в цепи на рис. 12.3 проводимость g3b стягивает все те
полюса, которые входят в образуемый ею базисный цикл.
В литературе по теории цепей висячая вершина в Т обычно
называется концевой вершиной. Аналогично висячий полюс в Т на-
называется концевым полюсом. Поэтому во всех обсуждениях данной
главы используются термины «концевая вершина» и «концевой по-
полюс» вместо «висячая вершина» и «висячий полюс». Далее исполь-
используется также термин коротко-замкнутая вместо стянутая.
Дерево называется линейным, если оно имеет точно две конце-
концевые вершины. Другими словами, линейное дерево есть путь. На-
Например, полюса 1, 2 и 5 на рис. 12.3 образуют линейное дерево.
Дерево называется звездой, если все его ребра имеют общую вер-
вершину, называемую вершиной звезды. Другими словами, звезда име-
имеет только одну неконцевую вершину. Например, полюса 1, 2 и 4
на рис. 12.3 образуют звезду.
Говорят, что два полюса i и / подобно ориентированы, если они
ориентированы в одном направлении в любом пути в Т, содержащем
эти полюса. В противном случае они называются противоположно
ориентированными. Рассмотрим произвольный диагональный эле-
элемент уц матрицы Y. По теореме 2.15 ненулевые элементы в г-й
строке Q/ соответствуют всем тем проводимостям, которые стяги-
стягивают полюс i. Поэтому из A2.19) получаем
г/и=Сумма всех проводимостей, которые стягивают полюс i.
A2.21)
Рассмотрим далее произвольный недиагональный элемент уп
матрицы Y. Пусть qlT обозначает элемент (i, r) матрицы Q. Тогда
известно (упражнение 6.1), что если для любых i и / и любых г и s
произведения qiTqjT и qisqjS являются ненулевыми, то они имеют
одинаковый знак.
256 Глава 12
Поэтому из выражения A2.19) получим
_ ( Сумма всех проводимостей, которые
J \ стягивают оба полюса i и /. A2.22)
Теперь необходимо определить знак уц. Предположим, что для
некоторого г произведения qirqjr^O. Тогда знак уц будет тем же
самым, что и знак qir qir. Поскольку сомножители произведения
qir qjr не равны нулю, очевидно, что оба полюса i и / принадлежат
базисному циклу С, образованному проводимостью, которая соот-
соответствует столбцу г в Qf. Имеем два случая. Сначала допустим,
что полюса i и / подобно ориентированы. Тогда ориентации обоих
полюсов будут совпадать или не совпадать с ориентацией цикла С.
Другими словами, оба элемента q-lT и qlT будут иметь одинаковый
знак. Следовательно, в этом случае уц — положительно.
С другой стороны, если полюса i и / противоположно ориенти-
ориентированы, то они будут иметь и обратную относительную ориентацию
в цикле С, так что qir и qijr будут иметь обратные знаки. В этом
случае yi} — отрицательно. Отсюда имеем следующую теорему:
Теорема 12.1. Если полюса i и/ подобно ориентированы, то у;/ положитель-
положительно, в противном случае — отрицательно. Следующий результат легко получается
из теоремы 12.1.
Теорема 12.2. 1. Если полюса i, j и k образуют линейное дерево, когда все
другие полюса являются короткозамкнутыми, то г/,-у(/,-^(/у^>0. 2. Если полюса i, j
и k образуют звезду, когда все другие полюса короткозамкнуты, то (/гу#,-?{//?<0.
Можно проиллюстрировать справедливость теорем 12.1 и 12.2 с помощью К-ма-
трицы 6-полюсной цепи, изображенной на рис. 12.3.
Теорема 12.3. Предположим, что полюсы I, / и k образуют линейное дерево,
когда все остальные полюса короткозамкнуты. Далее, допустим, что в этом линей-
линейном дереве полюса имеют порядок /, / и k. Тогда |j/i/|*s|j/,-fc|. Приведенный выше
результат следует из того факта, что каждая проводимость, которая стягивает
полюса I и k, также неизбежно стягивает полюс /. Важное следствие из теоремы
12.3 формируется следующим образом:
Следствие 12.3.1. Пусть г/,у — ненулевой элемент матрицы Y, имеющий мини-
минимальное значение. Тогда существует точно одна проводимость, которая стягивает
полюса i и /. Величина такой проводимости равна \у,-/\- Другими словами, строки
i и / матрицы Qf содержат ненулевые элементы одновременно только в одном
столбце. (Предполагается, что параллельные проводимости объединены в одну.)
Например, в матрице У из выражения A2.20) уи — ненулевой элемент с ми-
минимальным значением, a gS5 (рис. 12.3) — единственная проводимость, стягиваю-
стягивающая оба полюса 2 п 4.
Теорема 12.4. Пусть максимальное значение элементов в i-строке матрицы У
равно Mi, и пусть элементы, имеющие значение VH,-, встречаются одновременно в
этой строке в позициях столбцов /, k, /,..., и только в них. Тогда подграф, об-
образованный полюсами I, /,&,/,..., — связный.
Доказательство. Если подграф, образованный множеством полюсов {/, /, k,
/,...}, не является связным, то в этом множестве существует некоторый полюс d,
которого нет в компоненте, содержащей полюс I. Так как Т является связным, то в
нем существует такой полюс р, не принадлежащий множеству {i, /, &,/,...}, что
полюса \d, p, i) образуют линейное дерево с тремя полюсами, появляющимися в
этом порядке, когда все другие полюса в Т короткозамкнуты.
Отметим, что по теореме 12.3 \yip\^\yid\- Так как у^ — элемент, имеющий
максимальное значение в ?-й строке матрицы У, то следует, что 1^1 = 1^1. По-
Резистивные п-полюсные. цепи
257
этому р — также элемент множества {С, /, к, I}, что приводит к противоречию. От-
Отсюда следует, что подграф, состоящий из полюсов {(', /, k, /,...}, связный.
Теорема 12.5. Пусть наименьший элемент в строке i матрицы Y есть rrtj,
где Ш{, возможно, равен нулю. Пусть в этой строке элемент с меньшим значением
появляется одновременно в позиции столбцов р, q, r и только в них. Тогда
подграф, образованный всеми полюсами Т, отличными от р, q, г, . . ., связен.
Доказательство. Если граф, который определен в теореме, не является связ-
связным, то существует полюс / из множества {р, q, г, . . .}, а полюс k, не принадле-
принадлежащий {р, q, г, . . .}, такой, что полюсы i, / и k образуют линейное дерево, когда
все другие полюсы Т короткозамкнуты. По теореме 12.3 имеем | */,у| За | {/,>]• По-
Поскольку \Hij\=mi (минимальному по величине элементу в 1-й строке из У), то
следует, что |г/,*|=т; и k принадлежит множеству {р, q, г, ,. .}, что приводит
к противоречию.
Обе приведенные выше теоремы иллюстрируются с помощью
матрицы Y из выражения A2 20).
Из формул A2.21) и A2.22) видно, что \уи\>\уц\ для всех i и
/. Это является только частным случаем более общего свойства, на-
называемого схемное/пью, которое обнаруживает К-матрица. Вещест-
Вещественная симметрическая матрица называется схемной, если каждый
главный минор матрицы не меньше значения любого другого мино-
минора, построенного из тех же самых строк (или столбцов).
В работе [12.1] показано, что любая матрица P=KDK', где К —
унимодулярная матрица, a D — диагональная матрица с вещест-
вещественными положительными элементами, является схемной. Так как
матрица Qf унимодулярна, то из A2.19) можно заключить, что мат-
матрица проводимостей короткого замыкания (п+1)-узловой резис-
тивной п-полюсной цепи является схемной. Фактически также мож-
можно показать, что матрицы проводимостей короткого замыкания и
сопротивлений холостого хода любой n-полюсной цепи являются
схемными.
Например, рассмотрим миноры
10 —2 3
—2 3 —2
3—2 5
и М9 —
10 3 —4
о 9 1
3 5 0
матрицы Y из выражения A2.20). Оба этих минора построены из
первых трех строк матрицы, причем первый является главным ми-
минором. Можно проверить, что Afi=87 и М2=57, убеждаясь, что
М^\Мг\. Для детального обсуждения свойств схемных матриц
можно обратиться к работе [12.2]. Далее охарактеризуем К-матри-
цы (п+1)-узловой резистивной n-полюсной цепи, имеющей конфи-
конфигурацию в виде линейного дерева или звезды. В последующем об-
обсуждении говорим, что матрица Y представима в особой форме, ес-
если ее можно привести к этой форме одним или более применением
следующих операций:
1449
258
Глава 12
1) переставить две любые строки и соответствующие столбцы; 2)
изменить знаки всех элементов в любой строке и соответствующем
столбце.
Заметим, что эти две операции соответствуют перенумерации и из-
изменению ориентации некоторых полюсов.
12.2.2. Полюсная конфигурация в виде звезды
Рассмотрим F-матрицу (я+1)-узловой л-полюсной цепи N, име-
имеющей полюсную конфигурацию в виде звезды. Положим, что все
полюса в Т ориентированы к вершине звезды (рис. 12.4). Обозначим
центральную вершину звезды че-
через 0. Пусть другие вершины звез-
звезды обозначаются через 1, 2, . . ., п,
так что вершины i и 0 образуют
входы полюса i. Тогда из выраже-
выражения A2.21) имеем
У
Ун = 2 gt/-
/ = о J
A2.23)
/
/
Далее, по теореме 12.1
;/г7<0. A2.24)
Поэтому из выражения A2.22) по-
получим
Уи=~ёи- A2.25)
Рис. 12.4. Звезда.
Теперь можно видеть из формул A2.23) и A2.25), что для всех i
Ун>%\Уц\- A
/ 1
Вещественная симметричная матрица Y=[ytj] является гипер-
гипердоминантной, если она удовлетворяет неравенствам A2.24) и A2.26),
т. е. 1) уц является неположительным для всех i и \ф[ и 2) ^
Можно легко получить из формул A2.23) и A2.25) следующие
выражения для проводимостей цепи N: gtj=—yti, \ф1, 1фп, j-ФО,
п
/=1
Проводимости gtj, рассчитываемые, как показано выше, будут
неотрицательными, если матрица Y удовлетворяет неравенствам
A2.24) и A2.26). Таким образом, мы доказали следующее:
Резистивные п-полюсные цепи
259
Теорема 12.6. Вещественная симметричная матрица Y реализуема как
матрица проводимостей короткого замикания (ге+1)-узловой резистивной «-по-
«-полюсной цепи, имеющей полюсную конфигурацию в виде звезды и не содержащей
отрицательных проводимостей тогда и только тогда, когда она представима в
гипердоминантной форме.
12.2.3. Полюсная конфигурация в виде
линейного дерева
Рассмотрим F-матрицу (п+1)-узловой резистивной п-полюсной
цепи, имеющей полюсную конфигурацию в виде линейного дерева Т.
Пусть вершины Т помечены последовательно, начиная от концевой
3 I
П +7
l+l
Полюс i
Рис. 12.5. Линейное дерево.
вершины, и пусть вершины i и г+1 образуют положительные и от-
отрицательные входы полюса i (рис. 12.5). Так как все полюса дерева
Т подобно ориентированы, по теореме 12.1 имеем
A2.27)
для всех i и /.
Далее по теореме 12.3 имеем для всех i
+i>--->Уы,
i>- ¦ ->Уи-
A2.28)
A2.29)
Выведем простое выражение для проводимости gi}, исходя из эле-
элементов У-матрицы.
Предположим, что все полюса будут короткозамкнутыми, кроме
полюсов i—1, i, j—1 и /', где ?>1 и i+K/^л. Тогда в результате
получится цепь, представленная на
рис. 12.6, в которой отмечены толь-
только интересующие нас проводимо-
проводимости. Теперь легко показать, что
= gtj+c+d+e, yiit—e+d. Из при-
приведенного выше получим
t>l, И-1</<л- A2-3°)
Можно также доказать следующее:
Полюс i-1 Полюс i Полюсj-i Полюс]
Риг. 12.6.
A2.31)
о»
260
Глава 12
Вещественная симметричная матрица Y=[yi}] называется однородно
сужающейся, если 1) г/,7->0 для всех i и /; 2) yu^ytj+i для />t;
3) Уа>У1-1,) для />i; 4) yi, j-i+yi-i, ^Уц+у^г, j-i для t>l,
f'+l^/^rt. Из выражения A2.27) с помощью A2.31) получаем сле-
следующую теорему:
Теорема 12.7. Вещественная симметричная матрица У=[г/,у] является ре-
реализуемой как матрица проводимостей короткого замыкания (я+1)-узловой рези-
стивной п-полюсной цепи, имеющей полюсную конфигурацию в виде линейного
дерева и не содержащей отрицательных проводимостей, тогда и только тогда,
когда матрица Y представима в однородно сужающейся форме.
Для заданной однородно сужающейся матрицы автор работы
[12.3] разработал следующую простую процедуру получения
проводимостей n-полюсной цепи, реализующей матрицу Y.
1. Сначала построить из заданной однородно сужающейся пХп-
матрицы Y такую новую пХ/г-матрицу Y', что а) первая строка
матрицы У является такой же, как и первая строка матрицы У;
б) для всех С>1 /-я строка матрицы У отличается от t-й и (i—1)-й
строк матрицы Y.
2. Построить такую nxn-матрицу Y", что а) последний столбец
матрицы Y" является таким же, как и последний столбец матрицы
Y'; б) для всех i<n t-й столбец матрицы Y" отличается от t-ro и
(i-M)-ro столбцов матрицы Y'. Тогда можно видеть, что gn=y"L ,-_!
для всех />i. Например, для однородно сужающейся матрицы'со-
матрицы'соответствующими У и У'-матрицами будут
Y=
)' ¦
¦у-"
5
4
3
1
1
4
1
1
1
4
5
3
1
I
3
0
8
2
0
1
3
3
11
8
5
1
0
7
1
0
0
3
1
1
1
8
9
5
1 "
0
4
0
1 .
1 '
0
4
0
1
I
5
5
6
?23 #24
&35
#45
Sit.
Резистивные п-полюеные цепи 261
В приведенных выше матрицах У и У" не показаны элементы ниже
диагоналей, так как эти элементы не представляют интереса при
вычислении проводимостей g^.
12.2.4. Полюсное преобразование
Рассмотрим две различные (п+1)-узловые n-полюсные цепи N
и Л'*, построенные на основе одной и той же резистивной цепи.
Пусть Т и Т* являются полюсными конфигурациями цепей N и N*
соответственно. Выведем выражение, связывающее матрицы про-
проводимостей короткого замыкания У и У* этих n-полюсных цепей.
Пусть Qf и Qf являются базисными матрицами сечений цепей N и N*
по отношению к Т и Т* соответственно. Тогда Y=QfGeQ) и У*=
=QfGe(QfY, где Ge — диагональная матрица проводимости ребер
рассматриваемой резистивной цепи.
Рассмотрим граф 7" = Т\]Т*. Базисную матрицу сечений 7"
по отношению к Т можно записать следующим образом:
[Р | М].
Затем можно выразить QJ в виде
Q*f=M-iQf. A2.32)
Следовательно,
*Af-*Q/G,Q/(Al-1)* = M-iy(Al-i)*. A2.33)
Теперь из формулы A1.8) имеем У'=Л1'1/р, где Vp и V*p — векто-
векторы полюсных напряжений цепей N и N* соответственно. Таким об-
образом,
V MyV* A2.34)
Объединяя выражения A2.33) и A2.34), получаем следующую тео-
теорему:
Теорема 12.8. Пусть N и N* являются «-полюсными цепями, построенными
iia основе одной и той же резистивной цепи. Если Vp—KV'p, то Y*=KXYK-
Заметим, что матрицу К в этой теореме легко получить, рассмат-
рассматривая Т и Т*. Например, рассмотрим две n-полюсные цепи N и N*,
представленные на рис. 12.7. Эти n-полюсные цепи строятся из одной
и той же исходной цепи. Матрица проводимостей короткого замы-
замыкания цепи N имеет вид
Y=
3
2
0
1
1
2
2
5
-2
0
2
2
0
-2
9
0
0
!
0
0
9
-1
-1
-1
2
О
1
8
0
2
2
0
1
0
8
262
Глава 12
Рис. 12.7.
а — цепь .V; б — цепь Л" (асе проводимости приведены в сименсах).
Векторы Vp и V*p взаимосвязаны следующим образом:
1
1
0
0
I
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
-1
0
-I
0
0
0
0
0
0
1
v*
V*
V*
л*.
--kv;
Ремстивньи п-полюсные цепи
263
Теперь можно убедиться, что
6
1
!
0
4
0
-1
5
-2
О
0
_2
— i
_2
9
0
-6
0
О
О
О
9
, I
- 1
-4
О
-6
~\
11
0
О
-2
О
- 1
О
8
12.3. Реализация (га-)-1)-узловых резистивных
n-полюсных цепей (подход Седербаума)
В этом разделе рассматривается задача реализации вещественной
симметричной rtX/г-матрицы У как матрицы проводимостей корот-
короткого замыкания (/г+1)-узловой резистивной /г-полюсной цепи, не
содержащей отрицательных проводимостей. Для решения этой
задачи имеется два основных подхода, предложенных Седербаумом и
Гуиллемином. Подход Седербаума [12.1] требует разложения матри-
матрицы У в произведение Y=QfGeQf, где Qf — матрица, элементы ко-
которой равны — 1,1 или 0, a Ge — диагональная матрица с неотри-
неотрицательными элементами, представляющими проводимости ребер
искомой /г-полюсной цепи N. Реализация матрицы У достигается
в том случае, если [U Qf\ можно реализовать как базисную матрицу
сечений связного графа. Тогда этот связный граф будет графом на-
нагруженной /г-полюсной цепи N, причем столбцы Qf соответствуют
ребрам, представляющим проводимости искомой цепи N. Фактиче-
Фактически, как будет показано ниже, подход Седербаума также применим
и к реализации матриц холостого хода /г-полюсных цепей с цикло-
матическим числом п.
Подход Гуиллемина [12.3] требует определения полюсной кон-
конфигурации (если она существует) и преобразования матрицы У
в матрицу У, которая соответствует полюсной конфигурации в виде
звезды. Если матрица У является гипердоминантной, то реализа-
реализации (как было показано в предыдущем разделе) можно достичь
просмотром. Посредством предполагаемого переопределения полю-
полюсов эта же цепь может также реализовать данную матрицу У.
Ниже описывается алгоритм Седербуама, позволяющий разло-
разложить матрицу У в произведение Y=QfGeQf. В следующем разделе
рассматривается реализация W Qf] как базисной матрицы сечений.
Алгоритм, основанный на подходе Гуиллемина для реализации
У-матрицы (п+1)-узловой /г-полюсной цепи, обсуждается в
разд. 12.5. Пусть qu q2, . . .— столбцы матрицы Qf. Пусть, далее,
gi> gi, • • •— диагональные элементы Ge. Тогда qt является t-M
столбцом Qf, a gt является i-м диагональным элементом Ge. За-
Заметим, что qL соответствует gt. Далее, элементы qt будут обозна-
264
Глава 12
чаться как qu, qn, . . ., qni. Начиная с матрицы Y{0)=Y, алго-
алгоритм Седербаума позволяет строить последовательность матриц F(o\
FA>, . . ., соответствующих удалению на каждом шаге из цепи
соответственно обозначенной проводимости. Этот процесс продол-
продолжается до тех пор, пока не получится диагональная матрица или
не будет выяснено, что декомпозиция невозможна.
На каждом шаге алгоритма необходимо рассматривать два слу-
случая:
Случай 1. Матрица Y — диагональная с k нулевыми диагональ-
диагональными элементами.
Пусть У — матрица, полученная удалением из матрицы Y
всех строк и столбцов, которые содержат нули на диагонали. Легко
видеть, что декомпозиция в этом случае будет иметь вид
о
где считается, что нулевые диагональные элементы матрицы Y
находятся на последних k позициях. Например, матрицу
3 0 0 0 0
0 10 0 0
0 0 2 0 0
0 0 0 0 0
0 0 0 0 0
можно представить в виде декомпозиции
У=
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
3
0
0
0
1
0
0
0
2
1
0
0
0
1
0
0
0
1
0
0
0
0'
0
0
Случай 2. Матрица Y имеет некоторые ненулевые недиагональ-
недиагональные элементы.
В этом случае сначала выбираем ненулевой недиагональный
элемент с наименьшим значением. Допустим, что yXi— такой эле-
элемент матрицы У. Если Y является реализуемой, то из следствия
12.3.1 известно, что в искомой цепи N должно существовать ребро
со значением проводимости, равным \у12\. Другими словами, Ge
должно иметь диагональный элемент, равный \у12\. Не нарушая
общности, допустим, что gi=l#i2|. Столбец qu соответствующий
столбцу gi, можно определить следующим образом. Очевидно, что
ребро с величиной проводимости |г/121 стягивает оба полюса 1 и 2
цепи N. Поэтому два первых элемента ^ являются ненулевыми.
Согласно следствию 12.3.1, первые две строки Q/ не могут иметь
Резистивные п-полюсные цепи
265
ненулевые элементы одновременно во всех столбцах, кроме первого.
Поэтому произвольно приписываем +1 к первому элементу ^ь
фиксируя таким образом ориентацию ребра, имеющего проводи-
проводимость <7i относительно полюса 1. Тогда, согласно теореме 12.1, знак
второго элемента в q± является таким же, как и знак z/i2. Таким
образом,
Г 1
Заметим, что если yrs— ненулевой недиагональный элемент с ми-
минимальным значением, то г-й и s-й элементы qt будут определяться
аналогично. Теперь остается получить остальные элементы qt.
Этого можно достичь, используя следующее правило, основанное на
теореме 12.2:
1, если у^Уу-Уъ] > 0 и ух] >0;
—1, если у12ууу2/ > 0 и уи < 0;
0 в противном случае.
Этим заканчивается обсуждение двух случаев.
На следующем шаге необходимо найти второй столбец матрицы
Qt и соответствующий диагональный элемент g2 из матрицы Ge.
Это можно сделать рассмотрением матрицы проводимостей короткого
замыкания К11) цепи N{1), которая получается удалением из цепи
N проводимости glr т. е. при предположении, что ^=0 в цепи N.
Удалим из матрицы Qf ее первый столбец, а из матрицы Ge—
ее первые строку и столбец. Пусть результирующие матрицы обо-
обозначаются через Q^ и G'/1. Тогда можно заметить, что
У а» =
/«)* = Y~qi
Следовательно,
A2.35)
A2.36)
Заметим, что если матрица реализуема, то все нулевые элементы
матрицы Y остаются неизменными в матрице Ya) и никакой нену-
ненулевой элемент уц не может изменить знак или увеличить свое зна-
значение. Следовательно, в таком случае матрица Ya) будет иметь
больше нулевых недиагональных элементов, чем матрица Y.
Предположим, что матрица Ya) — диагональная. Тогда деком-
декомпозиция, описанная в случае 1, даст все оставшиеся столбцы мат-
матрицы Qf и оставшиеся диагональные элементы матрицы Ge.
266
Глава 12
Если матрица УA> — диагональная, то повторяем процедуру,
описанную в случае 2, чтобы получить проводимость g2 и второй
столбец <7г из матрицы Qf. Тогда матрица У<2) задается следующим
выражением Yi2)=Ya)—q2[g^ (q2y.
Если матрица У реализуема, то, очевидно, что каждая матрица
в последовательности У(о), Уш, УB), . . . подпадает под один из
случаев, рассмотренных ранее, и поэтому ее можно декомпози-
декомпозировать. Если на каком-либо шаге недиагональные элементы соот-
соответствующей матрицы увеличиваются по величине или меняют
знак, то декомпозиция невозможна и поэтому можно закончить
алгоритм на этом шаге. В некоторых случаях декомпозиция ока-
оказывается возможной, но матрица Qy может не быть унимодулярной,
или матрица Ge может иметь отрицательные диагональные элемен-
элементы, или то и другое вместе. И в этом случае матрица У также не
является реализуемой.
Проиллюстрируем алгоритм Седербаума с помощью матрицы
у_ у@)_
3
2
1
2
0
2
5
-2
-2
1
1*
-2
3
0
0
_2
-2
0
5
3
0
1
0
3
4
Так как матрица У — не диагональная, случай 1 отпадает. Поэто-
Поэтому действуем, как описано в случае 2.
Элемент у13 является минимальным по значению ненулевым
элементом матрицы У. Устанавливаем gi=\yis\=i, Qu=U <7.4i = l
(так как уп положителен). Затем определяем оставшиеся элементы
первого столбца <7i из матрицы Qf, используя следующие правила:
<7,ч
1, если ууу^уъ > 0 и уи>0;
— 1. если уиув/уи > 0 и уц < 0;
0 в противном случае.
Например, уиу32Уи<.0, поэтому <72i=O, откуда имеем
о
1
о
Резистивные п-полюсные цепи
267
Затем получаем матрицу Ya) в виде
2
2
0
-2
0
2
5
-2
-2
1
0
— 2
2
0
0
-2
_ 2
0
5
3
0
1
0
3
4
В матрице Y{1) элемент B, 5) имеет минимальное ненулевое значе-
значение, поэтому получаем ^2=1, '722=1. <7б2=1- Затем получаем осталь-
остальные элементы q2, как и раньше, и поэтому
Г(П
1
О
о
Матрица УB) получается в виде
2
2
0
2
0
2
4
— 2
-2
0
0
-2
2
0
0
-2*
0
5
3
0
0
0
3
3
Продолжая таким же образом, далее получим
1
1
О
-1
О
уD>.
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2*
2
0
0
0
0
0
3
3
0
0
0
3
3
О
0
0
3*
3 .
0
0
0
3
3
о
1
— 1
о
о
О
о
о
1
. 1.
268
Глава 12
В нриведенных выше матрицах элементы, выбранные для рассмот-
рассмотрения на каждом шаге, отмечены звездочкой. Ниже приводится
декомпозиция
3 2
2 5
1 -2
-2 -2
О 1
-2
-2
0
5
3
0
1
0
3
4.
=
10 0 0 0
0 10 0 0
0 0 2 0 0
0 0 0 2 0
0 0 0 0 3
о
1
1
0 1 -
о о
1 О
0 1
1 О
о о
О 1
1
1
о
-1
о
о о
О 1
-1 О
0 о
1 1
0 о
1 О
-1 О
О 1
О 1
Хотелось бы отметить, что декомпозиционный алгоритм Седер-
баума, который мы только что обсудили, применим к любым схем-
схемным матрицам: это означает, что если схемную матрицу К можно
декэмпозировать в виде PDP1, где Р — унимодулярная матрица,
a D — диагональная с положительными элементами, то, используя
этот алгоритм, можно найти такую декомпозицию. Поэтому ясно,
что этот алгоритм можно использовать для декомпозиции матрицы
холостого хода резистивной n-полюсной цепи, имеющей циклома-
тичгское число п в виде произведения BfRBj. Таким образом, под-
подход Седербаума для реализации F-матрицы (п+1)-узловой п-по-
люсной цепи также применим для реализации Z-матрицы /г-полюс-
ной цепи с цикломатическим числом п. Следующим шагом подхода
Седгрбаума после получения Bf или Q/ является определение ориен-
ориентированного графа, соответствующего этим матрицам. Предполо-
Предположим, что определен неориентированный граф, соответствующий Bf
или Qf. Тогда можно легко определить соответствующий ориенти-
ориентированный граф (если он существует) анализом Bf или Q/, так как
такой случай возможен (упражнение 6.1).
Таким образом, возникает необходимость того, чтобы алгоритм
реализовывал данную матрицу как цикломатическую матрицу или
матрицу сечений неориентированного графа. Такой алгоритм об-
обсуждается в следующем разделе.
12.4. Реализация цикломатической
матрицы и матрицы сечений
В этом разделе обсуждается задача построения неориентирован-
неориентированного графа, имеющего данную систему циклов и сечений. Не нару-
нарушая общности, можно допустить, что нам задаются базисные матри-
матрица ;ечений Qf или базисная цикломатическая матрица графа, ко-
который необходимо построить.
Резистивные п-полюсные цепи 269
Предположим, что Bf— базисная цикломатическая матрица по
отношению к остову Т. Тогда ее можно записать в виде Bf=[U F],
где F и U относятся к остову Т и соответствующему ко-остову. Из
определения Bf следует, что ненулевые элементы в каждой строке
F соответствуют ветвям, которые образуют в остове Т путь между
концевыми вершинами соответствующей хорды. Другими словами,
каждая строка F соответствует пути в остове Т. По этой причине F
называется матрицей путей дерева по отношению к Т. При задан-
заданной матрице F из выражения F.13) известно, что Qf=lFtU]. Таким
образом, можно видеть, что реализации Bf и Qf не являются неза-
независимыми задачами. Обе они эквивалентны реализации F как матри-
матрицы путей дерева.
Существенной частью процесса реализации F является опреде-
определение структуры дерева, имеющего ветви, соответствующие таким
столбцам F, что путь в дереве, описываемый каждой строкой из F,
присутствует в этом дереве. Ясно, что задача построения искомого
графа по определенному таким образом дереву обязательно влечет
за собой введение хорд между соответствующими вершинами для
каждой строки матрицы F. Теперь обсудим алгоритм Рао [12,4],
касающийся реализации матрицы F как матрицы путей в дереве
неориентированного графа G.
12.4.1. Подготовка
Сначала рассмотрим правила, которые можно использовать для
упрощения матрицы F, перед тем как приступить к ее реализации.
Если матрица F является блочной, т. е. представимой в виде
'F1 0 ... О ~
О F2 ... О
l_ 0 ... Fn j
то каждую из подматриц Fu F2, . . ., Fn можно реализовать отдель-
отдельно и, чтобы получить искомое дерево Т, можно соединить произ-
произвольно реализованные подграфы (деревья). Если в матрице F име-
имеется много идентичных строк, это означает наличие параллельных
хорд в графе G. При реализации соответствующего дерева Т все
строки, за исключением одной, можно удалить из матрицы F. Стро-
Строку с единственным ненулевым элементом можно также исключить,
поскольку она не накладывает ограничений на взаимосвязь ветвей
дерева Т.
В случае когда присутствует особая ветвь в единственном кз
заданных путей, реализации дерева можно достичь после удаления
270 Глава 12
из матрицы F соответствующего столбца. Ветвь можно добавить
позже к одному из концов соответствующего пути. Далее, если не-
некоторые k столбцов матрицы F являются одинаковыми, то доста-
достаточно реализовать матрицу, полученную удалением k—1 из этих
столбцов. Ветвь, соответствующая оставшемуся столбцу, позже
заменяется множеством последовательно соединенных ветвей, упо-
упорядоченных произвольным способом. Используя перечисленные
правила, сложность данной матрицы F можно снизить последова-
последовательным удалением избыточных строк и столбцов. Эта процедура
называется подготовкой к реализации матрицы F.
12.4.2. Выделение концевых ветвей
Первым основным шагом в алгоритме Рао для реализации матри-
матрицы F является идентификация концевой ветви дерева, реализую-
реализующего матрицу F. Обсудим процедуру, позволяющую идентифици-
идентифицировать такую концевую ветвь. Эта процедура применима к любой
матрице общего вида F, и если она допускает различные реализа-
реализации, то существует по крайней мере одна реализация с выделенной
ветвью в качестве концевой. Пусть W=[wij] — симметричная матри-
матрица, определяемая в виде
W = F*F, A2.37)
где умножение и сложение выполняется в поле действительных
чисел. Ясно, что элемент wtl равен числу путей, задаваемых матри-
матрицей F, в которых присутствует как ветвь i, так и ветвь /. Предпо-
Предполагалось, что 1-я строка или столбец матрицы W соответствуют г-й
ветви дерева Т.
Допустим, что G — граф, реализующий данную матрицу F,
а Г — соответствующий остов. Если рассматривать каждое ребро
графа G как проводимость в 1 См и если Y=[yu] является матрицей
короткого замыкания результирующей n-полюсной цепи по отно-
отношению к полюсной конфигурации Т, то можно видеть, что для 1ф\
и>ц~\Уц\- Отсюда имеем следующие свойства, которые являются
очевидными повторениями теорем 12.3—12.5:
Свойство 12.1. Если ветви г, / и k образуют линейное дерево
в указанном порядке, когда все другие ветви дерева Т коротко-
замкнуты, ТО Wij^Wih.
Свойство 12.2. Пусть максимальное значение элементов в г-й
строке матрицы W равняется Мь и пусть этот элемент М,- встре-
встречается одновременно в этой строке в позициях столбцов /, k, I, ...,
и только в них. Тогда ветви, соответствующие i, j, k, I обра-
образуют поддерево дерева Т.
Свойство 12.3. Пусть наименьший элемент i-й строки матрицы
W равен ть где mt, возможно, равно нулю. Пусть в этой строке
наименьший элемент встречается одновременно в позициях столбцов
Резистивные п-полюсные цепи 271
р, q, /¦,..., и только в них. Тогда ветви дерева Т, отличные от р, q,
г, . . ., образуют поддерево дерева Т.
Для дальнейшего обсуждения введем следующие определения:
L-множесгпво является множеством ветвей, которые образуют
поддерево дерева Т, имеющее только одну вершину, общую со своим
дополнением в дереве Т, и только одну ветвь из этого множества,
называемую ведущей ветвью L-множества, инцидентную этой вер-
вершине.
Для иллюстрации приведенного выше определения отметим, что
на рис. 12.8 ветви /, k, m и п образуют L-множество с ветвью / в ка-
качестве ведущей ветви, тогда как ветви k, /п и п не образуют L-mho-
Г
Рис. 12.8. Иллюстрация L-множества.
жества. В простейшем случае в качестве L-множества можно рас-
рассматривать концевую ветвь. Очевидно, что дополнением L-мно-
L-множества по отношению к дереву Т является поддерево этого дерева
Т. Для любой ветви г, отличной от концевой ветви дерева Т, суще-
существуют два L-множества, причем каждое имеет ветвь г в качестве
ведущей.
Проверим условия, при которых концевая ветвь поддерева дере-
дерева Т может также быть концевой ветвью дерева Т. Пусть ветви де-
дерева Т разделены на два таких множества 5 и R, что ветви множе-
множества Т образуют поддерево дерева Т. Далее, пусть выполняются
соотношения
wr.Si — wr.S( для всех /¦,•?/? и si% Sj^S. A2.38)
Покажем, что концевая ветвь дерева, которое было бы получено
замыканием накоротко всех ветвей множества R, является концевой
ветвью дерева Т или 7", образованного ребрами, соответствующими
ветвям дерева Т в графе, который 2-изоморфен данному графу.
Если равенство
wrs=0 для всех r?R и s?S A2.39)
выполняется, то матрица F является блочной матрицей, а подмат-
подматрицы матрицы F, соответствующие ветвям множеств S я R, можно
реализовать раздельно. В таком случае концевая ветвь поддерева,
построенного из ветвей множества S, может, очевидно, стать кон-
концевой ветвью Т в общей реализации.
С другой стороны, пусть существует некоторое rt ? R, для ко-
которого wr. s, s?S, не равен нулю. Множество S можно разбить
272 Глава 12
на непересекающиеся L-множества, поскольку ветви множества R
образуют поддерево дерева Т. Сначала докажем, что каждое из
этих L-множеств является линейным поддеревом дерева Т.
Пусть в одном из L-множеств, имеющих s,- в качестве ведущей
ветви, существуют такие ветви Sj и sk, что Sj, st и sft образуют звезду,
тогда как другие ветви дерева Т являются короткозамкнутыми.
Поскольку пути, в которых присутствуют ветви как sk, так и гь
отличны от путей, в которых присутствуют ветви s;- и гь и посколь-
поскольку ветвь S( присутствует в обоих типах путей, получаем
wr.S[ > WrtSj + wrisk. A2.40)
Однако в соответствии с формулой A2.38) wr.s=wr.s —wr.s ¦
Далее, все они являются ненулевыми. Поэтому неравенство A2.40)
удовлетворить нельзя. Отсюда ветви sh Sj и sk должны входить
в линейное поддерево дерева Т. Рассуждая далее, можно показать,
что все ветви в каждом из L-множеств, на которые разбивается мно-
множество S, образуют линейное поддерево дерева Т.
Таким образом, когда ветви множества R являются коротко-
замкнутыми, из графа G получается новый граф Gi, который в об-
общем случае является разделимым, и каждая его неразделимая ком-
компонента содержит одно или более L-множеств, на которые разбито
множество S.
Пусть некоторая неразделимая компонента графа Gt содержит
только одно L-множество, а его ветви образуют линейное поддерево
Li с ветвями х и у в качестве концевых.
Рассмотрим задание F, определяемое путями, которые включают
ветви в поддерево L*. Некоторые из этих путей могут содержать
ветви только поддерева Li. Остальные должны содержать как ветви
из Lb так и некоторые ветви, не принадлежащие Llt но каждый из
последних путей должен включать все ветви Lx, потому что все
рассматриваемые элементы матрицы W равны. Поэтому подграф Gu
состоящий из ветвей поддерева Li и хорд, которым соответствуют
пути, содержащие только ветви поддерева Lj, можно «перевер-
«перевернуть», чтобы получить граф, 2-изоморфный графу Gu Если в одном
графе концевой ветвью является х, то в другом — у.
Например, для графа G, представленного на рис. 12.9, а, соот-
соответствующий граф d содержит три неразделимые компоненты, как
показано на рис. 12.9, б. Заметим, что se является концевой ветвью
остова этого графа. Граф G[, показанный на рис. 12.9, в, является
2-изоморфным к графу Gu a s4 является концевой ветвью соответ-
соответствующего дерева Gi. Таким образом, другая реализация G1
(рис. 12.9, г) матрицы путей дерева F для графа G существует с s4
в качестве концевой ветви. Используя алгоритм, который будет
приведен ниже, можно определить концевую ветвь некоторого де-
дерева, реализующего данную матрицу F. Используя этот алгоритм,
Реэистивные п-полюсные цепи
273
Рис. 12.9. Пример для концевой и дентификации из полученного графа.
а — граф О; б — граф G,; в — граф О'^, г — граф Q'.
можно выделить любую из ветвей su s4, s6, s7, s9 и Sf2 как концевую
вгтвь дерева, реализующего Fx-матрицу. Для каждой из этих воз-
возможностей существуют три реализации для матрицы F, имеющие
выбранную ветвь в качестве концевой. Результат, который полу-
получается из приведенных выше рассуждений, можно сформулировать
следующим образом. Когда ветви дерева Т можно разделить на два
множества R и S, имеющих свойство, определяемое выражением
A2.38), то для нахождения концевой ветви Т, которая по определе-
определению существует в множестве S, можно рассмотреть граф, получен-
полученный замыканием накоротко ветвей в множестве R, и найти конце-
концевую ветвь дерева, построенного из ветвей множества 5. Определен-
Определенную таким образом концевую ветвь можно считать концевой ветвью
дерева искомого графа.
Ниже приведен алгоритм нахождения концевой ветви дерева Т,
реализующего данную матрицу F.
Шаг 1. Получить матрицу W~=FlF.
Шаг 2. Рассмотреть произвольную строку i матрицы W.
274 Глава 12
Пусть mt (возможно, равный нулю) — минимальный элемент в этой
строке. Если существует только один элемент в /-й строке, напри-
например элемент wtj, имеющий это минимальное значение, то / — кон-
концевая ветвь. В противном случае пусть столбцы, в которых элемен-
элементы в строке i равны ти образуют множество 5={st, . . ., sn}. Оче-
Очевидно, что множество S содержит концевую ветвь дерева Т. Пусть
подмножество ветвей дерева Т, которые не входят в множество S,
обозначается как множество R.
Шаг 3. Рассмотреть произвольную строку rt?R.
Если wr.sZ>w, s , где sit Sj?S, исключаем элемент s; из множества
S. Применяя это правило ко всем подходящим парам элементов
в строке /¦;, исключим все возможные элементы из множества 5 и
обозначим оставшееся множество через Sb а дополнительное мно-
множество — через Rt.
Шаг 4. Повторить шаг 3 для других строк матрицы W, выбирая
каждый раз такую строку rjt что г;-— элемент множества R, напри-
например Rt, применимого на данной стадии. Эта процедура повторяется
до тех пор, пока либо
а) множество Sk содержит только один элемент, который в таком
случае соответствует концевой ветви, либо
б) множество Sk более не сократимо, т. е. w, —wris. для всех
fi€.Rk и каждой пары элементов st и sj из множества Sh.
Шаг 5. Если множество Sh содержит более одного элемента (случай
б шага 4), выбрать любой элемент из множества Sh, чтобы заменить
им элемент rt в шаге 3 и далее выполнить 3, 4 и 5, шаги 3—5, т. е.
удалить произвольный элемент из множества Sk, добавив его к мно-
множеству Rk, и продолжить процесс дальнейшего сокращения мно-
множества Sh, Повторное применение этих шагов неизбежно ведет
к множеству Sp, содержащему только один элемент, который
можно считать концевой ветвью дерева Т.
Приведем доказательство корректности этого алгоритма. Сна-
Сначала отметим, что, согласно свойству 12.3, элементы множества
в шаге 2 образуют поддерево дерева Т. Поэтому дополнительное
множество обязательно содержит по меньшей мере одну концевую
ветвь. Заметим далее, что если sh— элемент множества S, то из
свойства 12.1 следует, что все элементы выделенного L-множества,
которое не содержит i и для которого sh является ведущим ребром,
присутствуют в множестве 5. В шаге 3 получаем сокращенное мно-
множество Si (удаляя такие элементы, подобные sh, что wr.s>Wr.S/,
rt?R и sh, sj?S). Необходимо показать, что множество Si содер-
содержит по крайней мере одну концевую ветвь дерева Т. Этот факт оче-
очевиден 1) когда sh и s^ находятся в одном и том же L-множестве,
а ветви rit sk и Sj содержатся в линейном поддереве Т. С другой
стороны, если sh и Sj принадлежат одному L-множеству, а ветви ги
sh и s} образуют звезду, когда все другие ветви Т короткозамкнуты,
Резистивные п-полюсные цепи 275
это L-множество содержит по крайней мере две концевые ветви.
Отсюда в этом случае, даже если sh является концевой ветвью, со-
сокращенное множество Si (полученное удалением такого sh) содер-
содержит концевую ветвь Т. Как оказывается, когда удаляется ребро sh
(свойство 12.1), то также следует удалить каждую ветвь, присут-
присутствовавшую в дереве, содержащем г, и sh в качестве концевых. Та-
Таким образом, снова после завершения шага 3 множество ветвей,
содержащееся в R, образует поддерево дерева Т.
Приведенная выше рекурсивная процедура повторяется в шаге
4, при этом выбирают другую соответствующую строку матрицы W.
На каждой стадии сокращенное множество St по определению со-
содержит концевую ветвь, и ветви в Rt продолжают образовывать под-
поддерево дерева Т. Во многих случаях можно определить концевую
ветвь, выполняя эту процедуру (применение шага 4) до тех пор,
пока не получится Sh, содержащее только один элемент. Однако,
если этого не получается и оказывается невозможным далее сокра-
сократить число элементов в Sh применением шага 4, это означает, что
Wr.s.—Wr.s. для всех rt?Rh и для всех sit Sj?S. Таким образом,
на этом этапе элементы Rh образуют поддерево дерева Т, а элемен-
элементы множеств Rh и Sk удовлетворяют формуле A2.38).
Если Gi— граф, полученный из графа G замыканием ветвей Rk,
то, как уже упоминалось выше, граф Gx является разделимым гра-
графом, имеющим, например, Gu, G12, . . ., Glq в качестве нераздели-
неразделимых компонент. Множество Sk включает ветви остова 7\ графа G.
В шаге 5 элемент из множества Sh выбираем произвольно, на-
например ветвь из Gu, переносим этот элемент в множество Rh и вы-
выполняем шаги 3 и 4, используя строку, соответствующую этому
элементу. Как можно было видеть, оставшиеся элементы множества
Sh в конце этих шагов являются ветвями во всех неразделимых ком-
компонентах Gb кроме dj. Повторение этих шагов неизбежно приводит
к множеству, содержащему ветви, присутствующие только в одной
компоненте, и, следовательно, к концевой ветви искомого дерева Т.
Приведенные выше рассуждения доказывают корректность алго-
алгоритма определения концевой ветви дерева, реализующего данную
матрицу F.
12.4.3. Нагруженные пути
Пусть Ъ — концевая ветвь, определенная, как и ранее. Пусть
Fj— матрица, полученная удалением из F столбца, соответствую-
соответствующего ветви Ъ. Если дерево Т, реализующее Flt получено, то дерево
Т для F можно построить добавлением оконечной ветви b к Ти
только если пути в Т, содержащие ветвь Ь, имеют общую концевую.
Однако это выполняется не всегда. Например, рассмотрим матри-
матрицу F:
276
Глава 12
6
7
8
9
10
1
" 1
1
0
0
0
2
1
0
1
0
0
3
1
1
1
1
0
4
0
0
0
1
1
5
0
1
0
0
1
Легко определить, что ветвь 1 является концевой. Тогда матрица
Fi, полученная удалением столбца 1 из матрицы F, имеет вид
110 0
0 10 1
110 0
0 110
0 0 11
Можно показать, что матрица Ff является реализуемой деревом 7\,
представленным на рис. 12.10, а. Но это дерево нельзя увеличить,
чтобы получить дерево, реализующее матрицу F, поскольку не
3 7
в
Рис. 12.10.
а — дерево 7",; б — дерево т[; в — дерево Т.
будут удовлетворять условию пути, соответствующие хордам 6 и 7.
Однако это не означает, что матрица F нереализуема, поскольку
одна из других реализаций /^ может привести к реализации мат-
матрицы F. Фактически дерево Т[, показанное на рис. 12.10, б, также
реализует Ft и может быть расширено до дерева Т (рис. 12.10, в),
реализующего матрицу F. Чтобы преодолеть выше упомянутую
трудность, введем дополнительные пути в 7\, г. е. нагрузим матрицу
Ft такими дополнительными строками, что дерево, реализующее
Резистивные п-полюсные цепи 277
нагруженную матрицу, по определению окажется дополнением
концевой ветви в искомую реализацию дерева Т.
Пусть пути, содержащие концевую ветвь, задаваемую матрицей
F, обозначаются через р[, р'2, . . ., р'г. Считается, что все эти пути
различны и что каждый содержит более одной ветви. В целях даль-
дальнейшего обсуждения определим путь как тривиальный, если су-
существует другой путь, идентичный этому, «ли когда он содержит
только одну ветвь. Таким образом, при данных допущениях среди
р[, р'3, . . ., р'г нет тривиального пути. Добавлением концевой вет-
ветви к каждому из этих путей получаем также пути в Т. Пусть этими
путями будут ри рг, . . ., рТ. Заметим, что все эти пути имеют об-
общую концевую вершину в Т.
Далее, любое дерево, реализующее матрицу Ft, также содержит
эти пути. Теперь опишем процедуру такого нагружения Fu что
в каждом дереве, реализующем Fi, пути ри р2 рт имеют общую
концевую вершину. Из такого дерева легко построить искомое де-
дерево Т добавлением ветви Ъ к общей концевой вершине этих путей.
Рассмотрим три произвольных пути ри pj и ph из множества
Ри р2, . • ., Рт- Если Pi(?)pj=Ph, то не существует реализации,
в которой пути pi, pj и pk имели бы общую концевую вершину. Это
следует из того факта, что все ри Pj и pi(?)Pj могут быть путями
в дереве только двумя различными способами, показанными на
рис. 12.11. Таким образом, матрица F является нереализуемой,
н
Рис. 12.11.
если сумма по mod 2 любых трех путей в ри р2, . . ., рг является
пустым множеством. Чтобы проверить наличие такой ситуации,
необходимо отдельно просмотреть Сър множеств путей. Однако
поскольку нашей целью является реализация F, то проверим толь-
только г—2 из этих множеств на согласованность и затем дополним мат-
матрицу Fi 2r—3 дополнительными строками, чтобы убедиться, что
нагруженная матрица F, оказывается нереализуемой, если F не-
реализуема. Сначала убедимся, что /^ф/^^Рй, k=3, 4, . . ., г.
Если Pi©/02=Pfc ДЛЯ некоторого k, то матрица F является, конеч-
конечно, нереализуемой. После этой проверки матрица Ft дополняется
строками, соответствующими следующим путям: l)jt?x®P»i /?i©Pa, •••
278 Глава 12
. . ., Pi©/V, 2) р2ф/О3, Р2©р4, • • ., Рг©Рг- Дополнительные пути,
определенные в п. 1, накладывают условие, что каждый из путей
р2, Рз рг, имеет общую с рх концевую вершину в дереве, реа-
реализующем нагруженную матрицу F±, так как Рх@Ри являются
путем, только если рг и ph имеют общую концевую вершину. Ана-
Аналогично условие существования второго множества путей застав-
заставляет каждый из путей р3, р4, • • •, Рг, иметь также общую концевую
вершину с рг. Поскольку в 7\ не может существовать цикла и пре-
предыдущая проверка, гарантируя, что pxQ)pi4^ph, k=S, 4, . . ., г,
обеспечивает существование в Тх путей, подобных показанным на
рис. 12.11, то общая концевая вершина рх и р% является также кон-
концевой вершиной каждого пути ph, k=3, 4, . . ., г. Таким образом,
если нагруженная матрица Fx реализуема, то в любой реализации
7\ этой матрицы пути 7\, р%, . . ., рт имеют общую концевую вер-
вершину. В таком случае 7\ можно дополнить до дерева, реализую-
реализующего матрицу F. С другой стороны, если нагруженная матрица Ft
нереализуема, то это означает, что справедлив один из следующих
случаев:
1) Fx является нереализуемой или 2) не существует реализации
матрицы Fb в которой пути рх, /?2> . . ., рг имеют общую концевую
вершину.
В обоих случаях матрица F является также нереализуемой.
Теперь можно сформулировать процедуру для определения дерева
Т, реализующего данную матрицу F.
12.4.4. Построение дерева
Сначала многократно применим к матрице F операции подго-
подготовки до тех пор, пока не получим матрицу F', которая дальше бу-
будет несократимой. Когда получено дерево 7", реализующее F', реа-
реализацию Т в виде дерева можно построить на его основе. На сле-
следующем шаге определяем концевую ветвь Т. Далее выполняется
предварительная проверка путей на согласованность. Столбец,
соответствующий выделенной концевой ветви, удаляется из F',
а результирующая матрица затем заполняется добавочными стро-
строками, как описано ранее. Теперь выполняются операции подготов-
подготовки над строками этой нагруженной матрицы и результирующая мат-
матрица обозначается как F[. Выделим теперь концевую ветвь дерева
Ти которое могло бы реализовать F'lt и продолжим аналогично,
чтобы найти F'2. Эта процедура повторяется до тех пор, пока не бу-
будет получена матрица F'k, содержащая только два столбца. В случае
если бы F' и, следовательно, F были нереализуемыми, этот факт был
бы обнаружен на одном из этапов процесса сокращения.
Если матрица F' является реализуемой, то, начиная с дерева Тк,
т. е. дерева, реализующего F'k, концевые ветви присоединяются
Резистивные п-полюсные цепи
279
в обратном порядке относительно той последовательности, в кото-
которой они удалялись.
Применение процедуры подготовки гарантирует существование
двух путей, содержащих концевую ветвь, и, следовательно, поло-
положение этой концевой ветви можно однозначно определить на каж-
каждом этапе. Таким образом, можно построить Т' и, следовательно, Т.
Добавляя к последнему дереву хорды, соответствующие строкам
матрицы F, получим реализацию графа G.
Можно отметить, что не обязательно сокращать данную матрицу
F до матрицы F' применением процедуры подготовки. Процесс
сокращения можно применить непосредственно к матрице F, так
как пути р[, р'2, . . ., р'г, рассматриваемые на каждом этапе, различ-
различны и каждый из них содержит более одной ветви. Если в процессе
построения дерева Т из Tk ни на каком этапе не образуются два
различных пути, содержащих концевую ветвь, то концевую ветвь
можно присоединить к любому концу подходящего пути. Проил-
Проиллюстрируем двумя примерами материал данного раздела. Пусть
необходимо реализовать матрицу
1
" 1
0
0
1
2
0
1
1
0
3
1
1
1
0
4
1
1
0
I
Можно видеть, что данную матрицу нельзя сократить применением
процедуры подготовки. Тогда получим
F'F=
12 3 4
2 0 12
0 2 2 1
12 3 2
2 12 3
Рассматривая первую строку, заключаем, что ветвь 2 является
концевой ветвью дерева Т. Так как существует только два пути,
включающих эту ветвь, нет необходимости проверять согласован-
согласованность путей, как описано в разд. 12.4.3. Удаляя столбец 2 и допол-
дополняя матрицу строкой, соответствующей р^р3, получим
(возрастает) =
1
' 1
0
0
1
.0
3
1
1
I
0
0
4
1 *
1
0
1
1.
280
Глава 12
После удаления строк, соответствующих тривиальным путям, имеем
1
1
0
1
3
1
1
0
4
1
1
1.
для которой матрица W
1 3 4
2 1 2
1 2 2
2 2 3.
Анализируя первую строку, заключаем, что ветвь 3 является кон-
концевой для 7\. Дерево Т2, реализующее матрицу F2, которая полу-
получается удалением из матрицы F[ столбца, соответствующего ветви
3, имеет только две ветви и представлено на рис. 12.12, а. К этому
а — дерево Г s б
Рис. 12.12.
- дерево Г, i — дерево Г.
дереву добавляем такую ветвь 3, что {1, 3, 4} и {3, 4} являются
путями, и получаем Тъ как показано на рис. 12.12, б. Далее ветвь
2 добавляется к дереву 7\, так что {2, 3, 4} и {2, 3} являются пу-
путями. Таким образом, получается дерево Т, показанное на
рис. 12.12, в. В качестве второго примера рассмотрим следующую
матрицу:
12 3 4
1 0
1 0
1 1
1 1
1 1
1
1
1
0
0
0
1
1
1
0.
Соответствующая матрица W теперь определяется в виде
12 3 4
1
2
3
4
5
3
3
.3
3
3
1
2
3
1
3
2
3
2
2
3
Резистивные п-полюсные цепи
281
Строке 1 соответствует множество 5={2, 3, 4}. Так как это множе-
множество S далее не сократимо, то удаляем из него произвольный эле-
элемент, например 2. Теперь находим, что ю2,4>и>2,з и, следовательно,
ветвь 3 является концевой. Таким образом, Pi={l}, р2={1, 4} и
/о3={1, 2, 4}. Далее имеем р^ргФрз- Теперь удаляем столбец 3
из матрицы F и дополняем ее строками /?i(J)p2, Pi®p3, Рз®Рз-
После удаления строк, соответствующих тривиальным путям, по-
получим матрицу F(:
1 2 4
1
1
1
.0
0
1
1
1
I
1
0
1.
Соответствующая матрица W имеет вид
1 2 4
3 2 2
2 3 2
2 2 3
Множество S, соответствующее первой строке матрицы W, состоит
из элементов 2 и 4. Так как это множество далее не сократимо, то
удаляем произвольный элемент, например 2. Теперь элемент 4 яв-
является концевой ветвью, так как в множестве 5 на этом шаге су-
существует только один элемент. Тогда имеем pi={l}, /о2={1, 2},
р3={2}. Сумма по mod 2 pt и р2 равна р3, и, следовательно, матрица
F нереализуема.
12.5. Реализация (л+1)-узловых
резистивных л-полюсных цепей
(подход Гуиллемина)
В разд. 12.3 упоминалось, что существуют два основных под-
подхода (один по Седербауму и другой по Гуиллемину) к задаче реа-
реализации данной вещественной симметричной матрицы У=[у^\
как матрицы проводимостей короткого замыкания (г+1)-узловой
резистивной и я-полюсной цепи, не содержащей отрицательных про-
проводимостей. В разд. 12.3 и 12.4 были рассмотрены два главных шага
в подходе Седербаума.
Теперь обсудим алгоритм, предложенный Рао [12.4], который
использует подход Гуиллемина. Последний, как отмечалось выше,
состоит из следующих основных этапов:
1. Получить полюсную конфигурацию дерева Т я-полюсной
цепи W, реализующей матрицу У.
282 Глава 12
2. Получить из дерева Т и матрицы Y матрицу проводимостей
короткого замыкания У я-полюсной цепи, построенной на цепи N,
которая имеет полюсную конфигурацию в виде звезды, вершина
которой является отрицательно обозначенным зажимом для всех
полюсов (разд. 12.2.4).
3. Если матрица У является гипердоминантной, то можно легко
получить искомую цепь (разд. 12.2.2), в противном случае матрица
Y является нереализуемой.
12.5.1. Выделение концевого полюса
Первым важным шагом алгоритма Рао для реализации матриц
К(/г+1)-узловой резистивной п-полюсной цепи является выделе-
выделение концевого полюса полюсной конфигурации искомой цепи.
Легко видеть, что, применяя к матрице [|г/^|], алгоритм, описанный
в разд. 12.4.2, можно определить такой концевой полюс. В целях
полноты приведем далее шаги этого алгоритма.
Шаг 1. Рассмотреть произвольную строку i матрицы Y. Пусть
шг— минимум абсолютных величин — элементов этой строки, и
пусть S является множеством столбцов, в котором элемент в стро-
строке i равен ±/и*. Если 5 содержит только один элемент, то этот эле-
элемент соответствует концевому полюсу. В противном случае пусть
5 = {sb s2 sh}.
Шаг 2. Рассмотреть произвольную другую строку / матрицы Y,
где /(?S. Если |///s l>|///s I для некоторых sp и sq, содержащихся
в S, то удалить sp из 5. Удалить все такие sp для строки /.
Шаг 3. Повторить шаг 2 с некоторой другой строкой k, где k
не содержится в сокращенном множестве S. Если повторное приме-
применение этого шага не приводит к множеству S, состоящему только
из одного элемента, то удалить произвольно любой элемент из мно-
множества S на данном этапе и повторить шаги 2 и 3. Окончательно
множество S будет содержать только один элемент, который можно
идентифицировать как концевой полюс.
12.5.2. Реализация Y-матрицы с ненулевыми
элементами
В этом разделе мы рассмотрим реализацию К-матрицы, которые
не содержат нулевых элементов. Общий случай, где допускаются
и нулевые элементы, рассматривается в работе [12.4]. Цепь jV, реа-
реализующая К-матрицу с ненулевыми элементами, характеризуется
тем, что существует хорда, стягивающая каждую пару полюсов
цепи N. Если определить путь в Г от одной конечной вершины к дру-
другой, как максимальный, то для каждого такого максимального пути
существует хорда в цепи jV. Далее, проводимость этой хорды равна
величине передаточной проводимости между двумя концевыми
Резистивные п-полюсные цепи 283
полюсами максимального пути. В дальнейшем каждый максималь-
максимальный путь будет идентифицироваться и обозначаться последователь-
последовательностью составляющих его полюсов в порядке, в котором они встре-
встречаются, и отмечаться подчеркиванием горизональнои линией. Если
точный порядок всех или некоторых полюсов, содержащихся в пути,
неизвестен, то обозначения соответствующих полюсов заключаем
в скобки. Так, например, i, (j, k), р, q, (r, s, f) является максималь-
максимальным путем, содержащим i, j, k, р, q, r, s, и t, в котором точное рас-
расположение / и k во второй и третьей позициях, а также относитель-
относительные позиции г, s и t в последних трех позициях еще должны быть
определены.
Пусть полюс i идентифицирован как концевой полюс с исполь-
использованием процедуры, приведенной выше. Нашей целью является
определение множества максимальных путей из концевой вершины
дерева Т. Очевидно, этих упорядоченных максимальных путей до-
достаточно для установления полюсной конфигурации дерева.
Пусть mi является минимальной из абсолютных величин эле-
элементов в i-й строке матрицы Y, и пусть передаточная проводимость
Уц, /V=i. между другими элементами (если они есть) будет равна
±тг. Полюс / может быть, а может и не быть концевым полюсом.
В случае когда он не является концевым, полюса L-множества
(разд. 12.4), которое не содержит полюс / и которое имеет / в ка-
качестве ведущего полюса, образуют линейное поддерево дерева Т
и существует только одна хорда в цепи N, которая стягивает i и
полюса L-множества. Следовательно, независимо от того, является
или нет / концевым полюсом, в дереве Т существует только один
максимальный путь, который содержит как t, так и /. Пусть ytj
положительно (отрицательно) для любого k; если знаки yih и yjh
совпадают (различаются), то k находится на максимальном пути,
соединяющем i и / (теорема 12.2). Аналогично могут быть определены
все полюса, которые содержатся в этом максимальном пути. Пусть
этот путь будет i, (j, k, I, . . .), где порядок полюсов будет опреде-
определен позже. Очевидно, что ни один из полюсов в скобках в данном
представлении не может быть концевым полюсом в другом макси-
максимальном пути, содержащем I. С тем чтобы оставить эти полюса вне
рассмотрения, в непосредственно следующих шагах элементы в г-й
строке матрицы Y в столбцах /, k, I, . . . обводим кружками. Вы-
Выберем другой элемент у1р {рфг), имеющий минимальное по абсолют-
абсолютной величине значение среди не отмеченных кружками элементов
в i-й строке, и получим другой максимальный путь, т. е. определим
все элементы х, для которых yip, yxc, уХр — положительны. Пусть
этим путем является i, (p, q, . . .). Теперь обводим кружками эле-
элементы yip, yiq, .... Процедуру повторяем до тех пор, пока все
элементы матрицы Y в г-й строке, за исключением уи, не будут об-
обведены кружками. Отметим, что каждый из полюсов j, р, . . . на-
284 Глава 12
ходится только на одном максимальном пути, тогда как другие мо-
могут находиться более чем на одном максимальном пути. Данные,
необходимые для построения дерева, будут полные, если мы пере-
переставим полюса каждого из этих максимальных путей в том поряд-
порядке, в котором они находятся в них.
Для этого упорядочим полюса в каждом максимальном пути
в убывающем порядке их передаточных проводимостей с полюсом /.
Когда более чем один полюс имеет одно и то же значение передаточ-
передаточной проводимости по отношению к полюсу I, заключаем эти полюса
в скобки. Таким образом, когда первая фаза закончена, имеем
множество частично-упорядоченных последовательностей вида i, m,
(h, k, n, о), s, (t, и, у), (w, х, /).
Теперь необходимо упорядочить полюса внутри каждой пары
скобок. Для этого рассмотрим строку, соответствующую полюсу т,
непосредственно предшествующему скобкам, содержащим h, k, n
и о, и расположим полюса в скобках в убывающем порядке по ве-
величине их передаточных проводимостей относительно полюса т.
Если найдены некоторые передаточные проводимости с равными
величинами, заключим соответствующие полюсы в скобки и по-
повторим процедуру. Упорядочение полюсов можно также выполнить,
рассматривая полюс s, непосредственно следующий за скобками,
и располагая полюсы в скобках в возрастающем порядке величин
их передаточных проводимостей относительно полюса s. Таким об-
образом, можно определить последовательность полюсов в каждом
максимальном пути.
Однако в некоторых случаях возможна ситуация, когда переда-
передаточные проводимости всех полюсов в скобках по отношению к лю-
любому внешнему полюсу имеют равное значение. Например, для по-
последовательности вида . . ., s, (p, q, г), I, . . . мы можем иметь \ysp\ =
= \УзР\=\У*<,\ = \У*г\ и \yvt\ = \yqi\ = \yrt\-
В таком случае выделяем квадратную подматрицу матрицы Y,
соответствующую полюсам в скобках, и определяем ее полюсную
структуру в виде линейного дерева отдельно. Пусть q, r, р занимают
определенный порядок. Тогда либо . . ., s, q, r, p, t, . . ., либо s, p,
г, q, t, . . . можно взять в качестве упорядоченной последователь-
последовательности, а два соответствующих графа являются 2-изоморфными. Пос-
После того как закончено упорядочение полюсов в максимальном пути,
упорядочение общих ветвей в других максимальных путях является
таким же, как и раньше для реализуемых матриц. Это дает преиму-
преимущество при упорядочении ветвей в новом пути.
Проиллюстрируем приведенную выше процедуру определением
конфигурации полюсного дерева, заданного матрицей проводимо-
проводимостей Y, приведенной ниже:
Резистивные п-полюсные цепи
285
1
2
3
4
У" 5
6
7
8
9
10
1
67
20
10
15
45
17
23
33
15
26
2
20
30
3
-6
23
5
12
8
-3
29
3
10
3
30
2
5
-4
-1
11
5
3
4
15
-6
2
45
30
9
4
11
-15
-12
5
45
23
5
30
79
14
16
25
-18
29
6
17
5
-4
9
14
30
-7
24
3
.5
7
23
12
-1
4
16
-7
49
-8
7
12
8
33
8
И
11
25
24
-8
42
8
14
9
15
-3
5
-15
-18
3
7
8
36
-3
10
26"
29
3
-12
29
5
12
14
-3
41
1. Рассматривая первую строку, определяем, что полюс 3 яв-
является концевым.
2. В строке 3 минимальным по величине является элемент в 7
столбце, причем z/37— отрицательно. Просматривая столбцы 3 и 7
замечаем, что для k=2>, 7 и 8 только yhs и yhl имеют противополож-
противоположные знаки.
Таким образом 3, G, 8) является максимальным путем. Отметим
кружками элементы в столбцах 7 и 8 третьей строки, которая вы-
выглядит теперь следующим образом:
10 3 30 2 5 -4 С-О
5 3
3. Среди неотмеченных элементов в строке 3 элемент y3i имеет
минимальное значение и положителен. Просматривая столбцы 3 и 4,
замечаем, что для k=\, 3, 4, 5 и 8 элементы yh3 и ум имеют одина-
одинаковый знак, а 3, A, 4, 5, 8) является другим максимальным путем.
Обводим теперь элементы ysl, y3i и узъ. Аналогично получаем дру-
другие максимальные пути 3, B, 1, 5, 8, 10); C, 6); и 3, (9, 1, 8).
4. Рассмотрим путь 3, B, 1, 5, 8, 10). Располагая полюса в скоб-
скобках в убывающем порядке значений их передаточных проводимос-
тей по отношению к полюсу 3, получим 3, 8, 1, 5, B, 10). Рассмат-
Рассматривая 5-ю строку матрицы Y, находим, что \уЬЛ0\>\Уь,2.\- Таким
образом, 3, 8, 1, 5, 10, 2 является упорядоченным максимальным
путем.
5. Поскольку другие пути имеют общие ветви с этим путем, то
их также легко упорядочить. Другими упорядоченными макси-
максимальными путями являются 3, 8, 7; 3, 8, 1, 5, 4; и 3, 8, 1, 9.
6. Теперь легко определить полюсное дерево Т (рис. 12.13, а).
7. Ориентацию любого из полюсов, например полюса 1, можно
выбрать произвольно. Ориентации остальных полюсов получают,
286
Глава 12
Рис. 12.13.
а — дерево Г; б — дерево Т *.
используя теорему 12.1. Результирующая ориентация полюсов
показана на рис. 12.13, а.
8. Пусть звезда Т*, имеющая то же множество вершин, что и
дерево Т, выбрана такой, как показано на рис. 12.13, б.
Матрица К, связывающая векторы полюсных напряжений Vp и
V*p, приведена ниже. (Отметим, что VP=KV*P.)
К=
0
0
1
0
0
0
0
0
0
0
0
0
__ 1
0
0
-1
0
1
0
0
1
0
0
0
0
0
1
-i
0
0
-1
0
0
0
1
0
0
0
1
0
0
0
0
1
-1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
— 1
0
0
0
0
-1
0
0
0
0
0
0
Матрица проводимостеи короткого замыкания Y* по отношению
к Т* определяется выражением
Резистивные п-полюсные цепи
287
30
¦15
0
0
0
0
-з
-4
-5
— 2
-15
24
-1
0
0
-6
0
-2
0
0
0
-1
30
-7
-4
0
0
0
0
0
0
0
-7
26
-16
o-
0
0
-3
0
0
0
-4
-16
23
0
0
0
0
-3
0
-6
0
0
0
13
-1
0
0
-6
-3
0
0
0
0
-1
30
-5
-3
-6
-4
-2
0
0
0
0
— 5
30
-3
-9
-5
0
0
-3
0
0
-3
-3
36
-15
-2
0
0
0
-3
-6
-6
о
-15
45
Матрица У* является гипердоминантной. Проводимости 10-
полюсной цепи, реализующей матрицу У, можно вычислить из
У*, и они определяются следующими соотношениями:
10
= У и — Д \y
t/
1
ю.
т. е.
числом узлов (п+1),
числом полюсов, большим
12.6. Замечания, касающиеся литературы
Исследования в области резистивных я-полюсных цепей в ос-
основном касались следующих тем:
1. У-матрицы «-полюсных цепей с
«-полюсные цепи ранга п.
2. У-матрицы я-полюсных цепей с
п+\.
3. Z-матрицы л-полюсных цепей с цикломатическим числом л.
Декомпозиционный алгоритм Седербаума, приведенный в
разд. 12.3, и алгоритм Рао, приведенный в разд. 12.4, при реали-
реализации матрицы сечений или цикломатической матрицы полностью
решают задачу построения л-полюсной цепи, имеющей п-\-\ узлов
и заданную У-матрицу. Рао [12.4] также построил другой алгоритм
для решения данной задачи. Этот алгоритм, как упоминалось в
разд. 12.5, основан на подходе Гуиллемина, который включает по-
построение полюсной конфигурации по данной У-матрице. Если не-
необходим ачгоритм, который реализует У-матрицу, не имеющую не-
ненулевых элементов, то следует посмотреть работу [12.5]. Некоторые
из ранних сообщений по («+1)-узловым резистивным л-полюсным
цепям можно найти в работах [12.6, 12.7].
Гуиллемин [12.8] дал общий подход к исследованию задачи реа-
реализации У-матрицы л-полюсной цепью, имеющей более л+1 узлов.
Используя этот подход, в разное время было сделано много попытск
288 Глава 12
раскрыть свойства F-матриц для таких цепей. Значительных ре-
результатов было немного, за исключением специального случая
(гс+2)-узловых цепей. Можно также посмотреть работы [12.9—
12.11].
Как показано в разд. 12.3, алгоритм Седербаума можно приме-
применить к декомпозиции Z-матрицы я-полюсной цепи с цикломатиче-
ским числом п. Этот алгоритм и алгоритм из разд. 12.4 полностью
решают задачу реализации резистивной матрицы холостого хода
п-полюсной цепи с цикломатическим числом п. Альтернативные
подходы к решению этой задачи обсуждаются в работах [12.12,
12.13]. Можно обратиться также к работам [12.14, 12.15], в кото-
которых обсуждаются взаимоотношения между резистивными цепями
и сетями связи.
Седербаум [12.16] ввел понятия «модифицированная матрица
сечений» и «модифицированная цикломатическая матрица». Не-
Некоторые приложения этих матриц к исследованию я-полюсной
задачи рассматриваются в работах [12.17, 12.18]. Обсуждались
также многие другие интересные вопросы, касающиеся задачи о
п-полюсной резистивной цепи, например в работах [12.19—12.21].
Задача реализации матрицы сечений и цикломатической матрицы
рассматривается в работах [12.22—12.25].
В работе [12.26] обсуждаются некоторые результаты в области
резистивных п-полюсных цепей, а также применение задачи реа-
реализации цикломатической матрицы при синтезе переключательных
схем. Понятия из области резистивных я-полюсных цепей можно
успешно использовать для реализации матриц состояния RLC-
цепей [12.27].
Упражнения
12.1. Рассмотрим гс-полюсную цепь N. Допустим, что не существует контура, сос-
состоящего только из полюсов. Покажите, что если Ip является вектором полюсных
токов, а / — вектором токов, связанных с неполюсными элементами цепи N,
то существует такая матрица М, состоящая из элементов —1, +1 или 0, что /„=
=М1. Р
Примечание. Используйте теорему 10.31 и [12.28].
12.2. Выполните упражнение 12.1, заменив контуры на сечения: 1р на V„ и / на
V, где Vр и V — векторы, связанные с полюсными и неполюсными элементами
цепи N соответственно.
12.3. Используя подход Седербаума, получите резистивную 6-полюсную цепь,
имеющую следующую матрицу проводимостей короткого замыкания:
3
2
0
1
-1
2
2
5
-2
0
2
2
0
-2
9
0
-3
0
1
0
0
9
— 1
-1
-1
2
-3
-1
8
0
2
2
0
-1
0
8
Резистивные п-полюсные цепи
289
12.4. Реализуйте следующую матрицу как матрицу путей дерева:
11000100110001
001 10100101000
0 0 10 1
0 10 0 0
0 0 10 1
о
1 1 1
1
0 0 110
10 10 0 0 0 0 0
1110 0 0 10 0
10 0 10 10 0 0
000000000
10 10 0 0 0 0 0
0100001000001 0J
12.5. Пусть Z=[zjj\ является матрицей сопротивлений холостого хода п-полюс-
ной цепи N с цикломатическим числом п. Покажите, что если полюса цепи N
образуют остов в виде звезды нагруженной цепи N, то Z удовлетворяет следую-
следующему соотношению:
для каждых трех индексов i, /ид равны все три элемента г,у, Zjk и zkj или равны
два меньших элемента [2.14].
12.6. Пусть матрицы Qlt Q2, К12, Y?2 и т. д., связанные с n-полюсной цепью /V,
определены, как в разд. 12.1. Матрица Qj—YnY^Qt называется модифицирован-
модифицированной матрицей сечений цепи Л'. Докажите следующее:
а) Y=QmYeQ{, где Qm является модифицированной матрицей сечений
цепи N.
б) Матрица Qm является модифицированной матрицей сечений п-полюсной
цепи N тогда и только тогда, когда QmYeQ{=Q.
12.7. Пусть N является параллельной комбинацией двух /г-полюсных цепей
Ni и jV2, имеющих Kj и К2 в качестве матриц проводимостеи короткого замыкания.
Покажите, что матрица проводимости короткого замыкания цепи N равна К,+
+К2 тогда и только тогда, когда цепи /V( и jV2 имеют одинаковую матрицу сече-
сечений [12.18].
12.8. Используя результаты упражнений 12.6 и 12.7, постройте 4-полюсную
цепь с матрицей проводимости короткого замыкания, равной матрице проводи-
проводимостеи короткого замыкания 4-полюсной цепи, представленной на рис. 12.14,
в котором номиналы всех проводимостеи приведены в сименсах.
Полюс 3
Рис. 12.14.
10
1449
290
Глава 12
10м
а — цепь Л^t: б — цепь Nt; в — псевдопоследовательное соединение цепей Л^ и Ns.
12.9. Пусть матрицы Blt В2> Zi2, Z22 и т. д., связанные с п-полюсной цепью
N, определены в соответствии с разд. 12.1. Тогда матрица (BiZ^Z^Bi) назы-
называется модифицированной цикломатической матрицей цепи N.
Докажите следующее:
а) Z=BmZeB{, где Вт — модифицированная цикломатическая матрица цепи N.
б) Матрица Вт является модифицированной цикломатической' матрицей га-по-
га-полюсной цепи тогда и только тогда, когда BmZeB{=0-
12.10. Рассмотрите две n-полюсные цепи Л/'х и N2, имеющие идентичные полюсные
и реберные конфигурации, а также ориентации. Пусть Zx и Z2— матрицы полных
сопротивлений холостого хода цепей Л\ и #а- Постройте третью гс-полюсную цепь
N3, имеющую такие же реберные и полюсные конфигурации, а также ориентации,
как и цепи Ni и Na, ио имеющую полное сопротивление каждого ребра, равное
сумме полных сопротивлений соответствующих ребер цепей Ni и N3. Цепь N3 бу-
будем называть псевдопоследовательным соединением цепей jVi и Na (две цепи Ni и
Реэистивные п-полюсные цепи 291
Л?2 и их псевдопоследовательное соединение Na представлены на рис. 12.15). По-
Покажите, что матрица полных сопротивлений холостого хода цепи Na равна Z\-\-
-f-Za тогда и только тогда, когда цепи Л^ и N2 имеют идентичные модифицирован-
модифицированные цикломатические матрицы [12.29].
12.11. Используя результаты упражнения 12.9, б, постройте 4-полюсную цепь,
модифицированная цикломатическая матрица которой совпадает с соответствую-
соответствующей матрицей цепи, представленной на рис. 12.14.
12.12. Для данной n-полюсной цепи N, используя результаты упражнений 12.9 и
12.10, попытайтесь построить новую 4-полюсную цепь, матрица полных сопротив-
сопротивлений короткого замыкания которой совпадает с соответствующей матрицей,
представленной на рис. 12.14, Обсудите все трудности, которые могут встретиться.
10*
13. Функции цепи
и чувствительность цепи
В этой главе сначала выведем формулы для функций цепей в тер-
терминах проводимостей, связанных с некоторыми подграфами данной
цепи. Такие формулы, называемые топологическими формулами,
впервые были выведены Кирхгофом с использованием сопротивле-
сопротивлений и позднее, в 1892 г., Максвеллом с использованием проводи-
проводимостей. Исследование в этой главе основывается на матрице неопре-
неопределенных проводимостей. Многие результаты, которые будут здесь
представлены, просто следуют из результатов гл. 6.
В заключительной части главы описывается метод вычисления
чувствительности функций цепи. Этот метод основывается на поня-
понятии «сопряженная цепь» и теореме Теллежена 11.3.
12.1. Топологические формулы
для RLC-цепей без взаимных
индуктивностей
В этом разделе выводятся топологические формулы для RLC-
цепей без взаимных индуктивностей. Матрица узловых проводи-
проводимостей является отправной точкой для вывода этих формул.
Сначала рассмотрим 1-полюсную RLC-цепъ N без взаимных ин-
индуктивностей. Пусть цепь N имеет п+1 узлов, обозначаемых 0, 1,
2, . . ., п, и пусть узлы 1 и 0 являются
соответственно положительно и отрица-
отрицательно обозначенными зажимами полюса
(рис. 13.1). Допустим наличие нулевых
начальных условий (емкостных напря-
напряжений и индуктивных токов) в цепи N.
Рис. 13.1.1-полюсная цепь. Далее, все переменные токов и напряже-
жений являются преобразованиями Лап-
Лапласа от комплексной частотной переменной. Возбудим цепь, под-
подсоединяя к полюсу источник тока величиной /*. Если Vu V2
Vn—напряжения в узлах 1, 2 п относительно узла 0, а У —
матрица узловых проводимостей цепи N с отмеченным нулевым
Функции цепи и чувствительность цепи
293
узлом, то узловыми уравнениями для N будут
YV=I, где
A3.1)
и / =
Решая уравнение A3.1) относительно Vi, получим Vi=(Aii/A)/i,
где A=det Y и Ап=A, 1) — алгебраическое дополнение Y. По-
Поэтому полное сопротивление z цепи N в точке возбуждения задается
в виде
г=К1//1=А11/Л, A3.2)
а проводимость в точке возбуждения — в виде
A3.3)
Чтобы вывести топологические формулы для гну, необходимо вы-
выразить Ап и А через соответствующие величины, связанные с не-
некоторыми подграфами цепи N. Как показано ниже, это нетрудно
сделать. В дальнейшем произведением проводимостей подграфа
цепи N будем называть произведение проводимостей, связанных
с ребрами подграфа. Если подграф не имеет ребер, то произведение
его проводимостей принимается равным 1. Аналогично определяется
произведение полных сопротивлений подграфа цепи N.
В соответствии с этими определениями примем следующие обозна-
обозначения:
W—сумма произведений проводимостей остовов цепи N;
Wи — сумма произведений проводимостей всех остовных 2-де-
ревьев цепи N.
С (W)—сумма произведений полных сопротивлений всех ко-
остовов цепи N.
С (Wtj)—сумма произведений полных сопротивлений дополнений
всех остовных 2-деревьев Tif цепи N. A3.4)
Если zi, z2 zm — полные сопротивления ребер цепи N, то,
очевидно,
2= 1
A3.5)
A3.6)
294 Глава 13
Рассмотрим теперь матрицу проводимостей узлов цепи N. Если
обозначить символом N взвешенный граф, причем веса представ-
представляют проводимости соответствующих ребер, то можно видеть
(упражнение 6.16), что
A=detr=r, A3.7)
Au=Wij,0. A3.8)
Используя выражения A3.5) — A3.8) в формулах A3.2) и A3.3),
получим следующую теорему
Теорема 13.1. Пусть z и у — полное сопротивление и проводимость соответ-
соответственно в точке возбуждения однополюсной RLC-цепп без взаимных индуктивно-
стей. Если 1 и 0 являются зажимами полюса цепи, то
1) z=W10/W=C(W10)/C(W),
//
Выведем топологические формулы для функций полного сопро-
сопротивления холостого хода и проводимости короткого замыкания 2-
полюсной ^LC-цепи N (рис.
,+ 13.2) без взаимных индук-
^ тивностей. Снова предполага-
предполагаем в цепи N наличие нулевых
начальных условий. Если по-
Рис. 13.2. Простая 2-полюсная^С-цепь. ЛЮСЗ ЦеПИ N возбуждаются
источниками тока величиной
/и и /2, то узловые уравнения цепи N можно записать в виде YV—I,
где 1=[1и /, Ч 0 . . . 0].
Решая их относительно узловых напряжений Vu V2 и V3, получим
v (A
А22/2—А33/2),
Из приведенных выше соотношений получаем
Г У г ]_.![ Аи A.t-A« 1 ГЛ1 П39)
[Vt-Va\ A K-A13 A22 + A33-A32-Aa3J L/..I ' ( '
Отметим, что, поскольку матрица Y — симметричная, имеем Ао-=
= Ajf. Так как Vx — напряжение на полюсе 1, a V2—Va — напря-
напряжение на полюсе 2, матрица коэффициентов в выражении A3.9)
равна матрице полных сопротивлений холостого хода ZoC цепи ЛЛ
Таким образом,
Z --
Функции цепи и чувствительность цепи 295
Чтобы выразить элементы ZoC через соответствующие произведе-
произведения проводимостей цепи N, сначала заметим, что
Aii=Wi.c A3.11)
Из формулы A3.8) также имеем
Д»—Д»=Г», о—IP», с A3.12)
Поскольку каждое остовное 2-дерево T12i 0 является или остовным
2-деревом Тц, аа, или остовным 2-деревом Т123> о, получаем
a, „. A3.13)
Аналогично
W13, 0=Wlt, 20+^123, О- A3.14)
Используя выражения A3.13) и A3.14) в формуле A3.12), получим
Ai2-A13=Wi2, к—TFis. ... A3.15)
Рассуждая аналогично, получаем
, 20-2W23, „=W2, 30+ W,t 20=W2, 8. A3.16)
Используя выражения A3.15) и A3.16) в формуле A3.10), получим
следующую теорему:
Теорема 13.2. Пусть N — 2-полюсная ^LC-цепь без взаимных индуктив-
ностей. Пусть положительные и отрицательные зажимы полюсов цепи N будут
такими, как показано на рис. 13.2. Тогда матрица полных сопротивлений холо-
холостого хода ZoC цепи N определяется выражением
Z
00
=—Г Wl'°
W L ^И. «0-^18.
0-«V
Из выражений A3.5) и A3.6) ясно, что элементы ZoC можно также
выразить с использованием произведений полных сопротивлений
соответствующих коостовов и дополнений остовных 2-деревьев.
Матрицу проводимостей короткого замыкания Ysc можно по-
получить, инвертируя матрицу холостого хода Zoc. Таким образом,
Г«=л.. л.л.Л._ол.... 1 Л Д Д • С137)
xi3—ui2 uii
Здесь мы использовали тождество
ДЙ1 //к = 1 (А,-Д.ь - Ду, Д«). A3.18)
296 Глава 13
Заметим, что А;;, д — алгебраическое дополнение 2-го порядка У
по отношению к его (г, t)- и (/, ^-элементам и задается выражением
Vy*-sgn(i-/)sgn (*-*)(- \y+hdet(YiLJk), A3.19)
1, если (г—s)>0,
где l)sgn(r-s) = | _1; если(г_5)<0;
2) У и, у*—матрица, полученная удалением из матри-
матрицы У строк i и / и столбцов ink.
Фактически Aih ih — алгебраическое дополнение матрицы Yп
относительно (/, /е)-элемента матрицы У, а выражение A3.18) —
тождество Якоби [13.1]. Выразим Ан, jh через соответствующие
произведения проводимостей.
Рассмотрим цепь N', которая получается из цепи N замыка-
замыканием узлов i и 0. Тогда матрица проводимостей узлов У цепи N'
с отмеченным узлом 0 равна YH. Если A]k— алгебраическое до-
дополнение У относительно (/, &)-элемента из матрицы У, то, как
уже отмечалось, A'jk-=An, ih.
Если Т'1к< 0 — остовное 2-дерево цепи N' с узлами / и k в одной
компоненте и узлом 0 в другой компоненте, a W]k, о — сумма
произведений проводимостей всех остовных 2-деревьев T]ki 0 цепи
Л^', то из выражения A3.8) получим A'jk—W'jkt0. Но остовное
2-дерево Т]ь, о цепи Л^' является остовным 3-деревом цепи Af типа
Ti, ik, о, потому что в цепи ЛГ узлы 0 и i представлены единствен-
единственным узлом. Таким образом,
где Wi, jh, о — сумма произведений проводимостей всех остовных
3-деревьев типа Ти Jh, 0.
Рассмотрим член Ац, 22+Дц, зз—2&и, гз в выражении A3.7).
Из выражения A3.20) ясно, что Ац 2г+АЙ Зз—2АП 23=^1 2 0+
+ Wi. з, о—2Wit 2, 3,0. Поскольку Wi,t,\=Wla,t\o+Wi.',,',o+
i, 2, 30 И Wi, 3, 0=Wl2, з, t+Wi, 23, 0+Wl% 3, 20, ПОЛуЧИМ
AU, 82+All, 88— 2AU, „=Wi9t 2, 0+Wl, 2, 80+^12, 3, 0+^1. 3, 20-
A3.21)
Используя выражения A3.8), A3.15), A3.16) и A3.21), получим
топологические формулы для всех элементов Ysc.
Теорема 13.3. Пусть N — 2-полюсная RLC-цепь без взаимных индуктив-
ностей. Пусть положительные и отрицательные зажимы полюсов цепи N будут
такими, как показано на рис. 13.2. Тогда матрица проводимостей короткого за-
замыкания Ysc цепи N задается выражением
1Г ^2,3
, a, 0+»7!, г,30 + ^12, 8, 0+Wl, 3,20
s<w-W12S0l
Wh0 J"
Функции цепи и чувствительность цепи
297
Полюс 1
Проиллюстрируем топологические оценки матриц полных со-
сопротивлений холостого хода и матриц проводимостей короткого
замыкания 2-полюсной RLC-
цепи. Следующий пример взят
из работы [13.2].
Рассмотрим цепь, пред-
представленную на рис. 13.3. Эле-
Элементы этой цепи обозначены
символами а, Ь, с, d и е. Но-
Номиналы ее элементов показа-
показаны на рисунке. Отметим, что
3 и 0 обозначают одну и ту Рис 13 3
же вершину. Поэтому цепь N
не содержит остовных 2-деревьев типа Т13 20. По этой же причи-
причине она не содержит остовных 3-деревьев'типа T13t 2 0, 7\2, з, о
И J 1, 3, 20-
Остовы, остовные 2-деревья и 3-деревья, необходимые для оп-
определения Zoe и Ysc, получаются следующим образом:
Остовы:
(а, с, в), (с, Ъ, ё), ф, d, e), (a, b, с),
(a, b, d), (а, с, d), (a, d, e) и (с, d, e).
Tlt 0: ф, с), ф, d), (с, d), {a, d),
(а, Ь), ф, е), (с, е) и (а, в).
Т^ъ: (а, Ь), (а, е), (а, с), (с, ё) и ф, е).
Tla,30: (а, Ь), (а, ё), ф, е) и (с, ё).
Тг.,. з»: (а), (Ь) и (с).
Из приведенных выше деревьев можно получить
W2 8=12s2+15s
Используя эти выражения и теоремы 13.2 и 13.3, можно полу-
получить Zoc и Ysc:
27sa4-33s + 2 12s2
[
12sa+15s + 2 —A2s2+12s + 2)]
7+3 |_A2s2+12s-f 2) 27s2 + 33s + 2 J'
298
Глава 13
13.2. Топологические формулы для общих
линейных цепей
В этом разделе выводятся топологические формулы для общих
линейных инвариантных по времени цепей с сосредоточенными
параметрами. Эти формулы выражаются в виде произведений
проводимостей ориентированных деревьев и 2-деревьев соответст-
соответствующего ориентированного графа, связанного с данной цепью.
Отправной точкой для вы-
вывода этих формул является
матрица неопределенных
проводимостей, которую мы
теперь определяем.
Рассмотрим цепь N с п
зажимами 1, 2, . . ., п.
Пусть Vt, V2, . . ., Vn —
напряжения на этих зажи-
зажимах относительно произ-
произвольного (внешнего к цепи)
зажима 0. Пусть 1Ъ /2, ...
.. ., /п — токи, текущие к
этим зажимам (рис. 13.4) при наличии внешних соединений.
Матрица Y, описывающая эти токи и напряжения на входах,
известна как матрица неопределенных проводимостей цепи N.
Таким образом, YV—I, т. е.
Г:
Рис. 13.4. Цепь с п зажимами.
У XI
У л
Уи
Упг
Угп
УппЛ
V,
L
A3.22)
Если говорить о цепи Af как о п-полюсной, в которой t-й зажим
и внешний зажим 0 образуют t-й полюс, то можно видеть, что
матрица неопределенных проводимостей Y — матрица проводимо-
проводимостей короткого замыкания такой п-полюсной цепи. Таким образом,
Другими словами, если подсоединить источник напряжения
единичной мощности между зажимом k и внешним зажимом 0 и
замкнуть все остальные зажимы на внешний зажим, то величина
тока I}, входящего в зажим /, равна yih. Можно использовать эту
интерпретацию для того, чтобы вычислить все элементы матрицы
Функции цепи и чувствительность цепи
299
Y. Например, можно показать, что матрица неопределенных про-
водимостей цепи на рис. 13.5 имеет вид
4 1
-У 2 + У
L о -i+gaa
j
— 1
О
— 1
A3.23)
ёр &т
Этот пример заимствован из работы [13.3]. Далее будут установ-
установлены два полезных свойства матрицы неопределенных проводимо-
проводимостей.
/ Полюс 2
В соответствии с законом Кирхгофа для токов /1+/2+.. .+/п=0.
Следовательно, Qu+yai+- ¦ ¦ + yniWi+(yi2+y22+- ¦ -+Ут)Уг+
УУ У
Заметим, что все напряжения V1} V2, . . ., Vn являются незави-
независимыми. Предположим, установлено, что Vt=0 для всех i-фк.
Тогда приведенные выше выражения сводятся к следующему:
(yih+ph+^ ¦ .+^й)^ь==0- Поскольку Vk^0, отсюда следует,
что («/ift+«/2fc+. . -+^nft)=0. Таким образом, сумма всех элемен-
элементов в каждом столбце матрицы неопределенных проводимостей
равна нулю. Аналогичный результат можно получить для строк
матрицы Y, а именно сумма всех элементов в любой строке мат-
матрицы Y равна нулю.
Таким образом, можно сформулировать следующий результат:
Теорема 13.4. Матрица неопределенных проводимостей электрической цепи
является матрицей равных алгебраических дополнений.
Другой привлекательной чертой матрицы неопределенных про-
проводимостей является то, что она дает базовое описание цепи в том
смысле, что некоторые другие описания цепи получаются исходя
из этой матрицы.
Например, матрицу узловых проводимостей с г-м выделенным
элементом можно получить удалением i-й строки и г-го столбца
из матрицы неопределенных проводимостей. Для более детального
300 Глава 13
а — граф, соответствующий матрице неопределенных проводн-
мостей A3. 23); б — ориентированное дерево, ориентированное
2-дерево, ориентированное 3-дерево.
обсуждения применения матрицы неопределенных проводимостей
в анализе активных цепей рекомендуем работу [13.3].
Далее рассмотрим топологическую оценку алгебраических до-
дополнений матрицы неопределенных проводимостей. Для данной
матрицы неопределенных проводимостей Y цепи N, имеющей п
узлов, сначала построим взвешенный ориентированный граф G(Y)
следующим образом: 1) G(Y) имеет п узлов, отмеченных целыми
числами 1,2,.. ., п. 2) Если уц^=0 для I, /=1, 2, . . ., п, 1Ф\, то
существует ребро в графе G(Y), направленное от узла i к узлу /
с весом —ytj. Например, ориентированный граф, связанный с
матрицей неопределенных проводимостей A3.23), представлен на
рис. 13.6, а.
В последующем изложении обозначим через Tt ориентирован-
ориентированный остов в графе G(Y) с узлом i в качестве корня. Ориентирован-
Ориентированное остовное 2-дерево в графе G(Y) есть такое остовное 2-дерево в
неориентированном графе, что каждая компонента ориентирован-
ориентированного 2-дерева является ориентированным деревом в графе G(Y).
Обозначим через TiJt &; такое остовное ориентированное 2-дерево,
что 1) узлы i и / находятся в одной компоненте, а узлы k и I — в
разных компонентах и 2) узлы i и k являются корнями компонент
Функции цепи и чувствительность цепи 301
2-дерева Tiit ht. Ориентированное остовное 3-дерево Ttjt „ опреде-
определяется аналогично. Узлы i, k и г являются корнями, трех' компонент
3-дерева Ttj< Ki, rs. Примеры ориентированного остова, остовных
2-дерева и 3-дерева показаны на рис. 13.6, б.
Пусть также определены:
Wi — сумма произведений проводимостей всех ориентированных
остовов Ti из графа G(Y);
W{], ki — сумма произведений проводимостей всех остовных ори-
ориентированных 2-деревьев TiJt ht из графа G(Y);
^ ti, hi, rs — сумма произведений проводимостей всех остовных
ориентированных 3-деревьев Tl}< hl^ rs из графа G(V).
Можно показать (упражнение 6.18), что
Akk = Wk. A3.24)
В следующей теореме сформулировано соотношение между алге-
алгебраическими дополнениями 2-го порядка (У) и произведениями
проводимостей соответствующего ориентированного 2-дерева.
Теорема 13.5. Пусть Y — матрица неопределенных проводимостей цепи N.
Тогда &,j, bk=Wfl,k-
Доказательство. Пусть G*— ориентированный граф, полученный из графа
G(Y) изменением весов ребер (?, /), (k, j) и (t, k) со значений —ytj, —y^j и —yik
на значения —У{/-\-К, —y^j—К и —у^—К соответственно. Пусть V*— соответ-
соответствующая матрица алгебраических дополнений. Будем говорить о ребре (i, j) в
графе G* как состоящем из двух параллельных ребер (г, /) и (г, /J с весами —ytj
и /< соответственно. Аналогично будем рассматривать ребро (k, j) как состоящее
из двух параллельных ребер (k, i\ и (k, jJ с весами —ykj и —К соответственно.
Alk = W*k, A3.25)
где значок * используется для обозначения величин, относящихся к графам Y*
и G*. Произведем разбиение множества S всех ориентированных остовов Т\
из графа G* на три множества Su S2 и S3, определенных следующим образом:
Si= {Tl\ Ti ? S и ни (г, /J> ни (k, /J не принадлежат т\ }, S2= {T% \T*k ? S, (k, /J
принадлежит Т^, и существует ориентированный путь из i в / во множестве
Tk, S3=S—(SjUSa). Поскольку граф G можно получить из графа G*. полагая
К=0, то отсюда следует, что
\* — 2 произведения проводимостей Т%. A3.26)
Для любого ориентированного остова Tk ? S2 Tk —(k, /J является ориентирован-
ориентированным остовным 2-деревом Tj^ k из графа G (Y) и наоборот. Таким образом,
2 произведения проводимостей Т\= — К 2 произведения проводимо-
Ties, *Tij,k
стей Tji,k = -К Wjt,k- A3.27)
Теперь отметим, что любое ориентированное дерево Т\ в S$ относится к од-
одному из следующих типов: 1) Тк содержит(?, /J, 2) Т\ содержит (k, /J и в Tk
302 Глава 13
не существует ориентированного пути из / в I. Нетрудно видеть, что для каждого
T*k?Ss первого типа существует единственное ориентированное дерево {Т%—
—('• Л»1) Ф> 1)ь}€$з> которое относится ко второму типу, и наоборот. Произведе-
Произведение проводимостей данного дерева имеет обратный знак по отношению к произ-
произведению проводимостей другого. Поэтому
2 произведения проводимостей Tk — 0- A3.28)
T'kesx
Из выражения A3.26) с использованием равенства A3.28) получаем
k. A3.29)
Наконец, имеем также следующее соотношение:
Ц^Акк-КАи, **. A3.30)
Из выражений A3.29) и A3.30) получаем Д,у, kk~^Jf, ft-
Нетрудно показать, используя теорему 13.5,' что
*«.//.«*= и7/./.»- 03.31)
Теперь приступим к выводу топологических формул для функций
холостого хода и короткого замыкания общей линейной цепи с
сосредоточенными параметрами.
Полюс! V1 И, Полюс2
Рис. 13.7. Усложненная 2-полюсная цепь.
Рассмотрим 2-полюсную цепь N, представленную на рис. 13.7.
Пусть У — ее матрица проводимостей узлов с отмеченным узлом п.
Эту матрицу можно получить, удалив п-к> строку и п-я столбец
из матрицы неопределенных проводимостей Y цепи N. Тогда
Y = Ynn. A3.32)
Исходя из узловых уравнений YV—I, можно получить матрицы
полных сопротивлений короткого замыкания и проводимостей
холостого хода цепи N в следующем виде:
Д12-Д13
А31
All, 22 + ^11, 33 — All, 23 — All, 32 [ А13 А12 Ац J
A3.34)
Чтобы получить топологические формулы для элементов ZBC и
Ysc, сначала замечаем, используя формулу A3.24), что A=Ann= Wn.
Функции цепи и чувствительность цепи 303
Применяя также теорему 13.5, имеем
bn = ku«n = Wun. A3.35)
~Win,n + Wlt,M-WWia-Wlt<ia = Wu,n,-Wa,ni, A3.36)
\t-blt = Wn,,a-W,lUa. A3.37)
Теперь
= A22t „„ + А3з, „„-Д„, „„-A2S, „„ = A22,33. A3.38)
Последний шаг в приведенном выше уравнении следует из тож-
тождества [13.4] АРв) „=Ap?i et,+ArS) яс—Арв, нс—Ar,, „„. Таким об-
образом, из теоремы 13.5 следует
Д22 + Д33-Д32-Д2з = А22,33 = Г2,3. A3.39)
Далее,
Аи, 22 + А,*, 33 — Дц> 23 — Ап, 32 ==
~ Дц, 22, ЯП "Г ^11, 33, пп ^11, «3, ЯП ^11, 32, ял ~
— •» 1, 2, лТ " 1, 3, И ,82,1» № 1, 23, и —
= Wu, 2, „+ Гь 2, я3 + W12, з, „ + Wu з, n2. A3.40)
На основе приведенных уравнений получаем следующий результат.
Теорема 13.6. Пусть N является 2-полюсной цепью с положительными и
отрицательными зажимами полюсов, как показано на рис. 13.7. Тогда матрица
полных сопротивлений холостого хода и матрица проводимостей короткого за-
замыкания цепи N определяется выражениями
' V»[WA.1»-Wn.tn ^2,3
Проиллюстрируем топологическое определение Zoc и Ysc, исполь-
используя теорему 13.6.
Снова рассмотрим цепь Af на рис. 13.5 с узлами 1 и 4, образую-
образующими полюс 1, и узлами 2 и 4, образующими полюс 2. Матрица
неопределенных проводимостей Y цепи N дана в A3.23). Граф G(Y),
соответствующий Y, показан на рис. 13.6, а.
Чтобы вычислить Zoc и Ysc, используя теорему 13.6, необходимо
вычислить для графа G(Y) значения Wt, Wlti, W7^, v №21,4,
W2- 4 и Wit 2> 4. Сначала получим искомые остовы, остовные 2-де-
304 Глава 13
ревья и 3-деревья графа G(Y):
Т4: {B, 1), D, 2), D, 3)}, {D, 2), D, 3), C, 1)},
{A, 2), C, 1), D, 3)}}, {B, 1), D, 2); A, 3)},
{B, 1), B, 3), D, 2)}, {C, 1), C, 2), D, 3)},
{B, 1), C, 2), D, 3)}, {C, 1), B, 3), D, 2)}.
[Заметим, что (i, j) является ребром, направленным от i к / ]
7\,4: {A, 2), D, 3)}, {A, 2), A, 3)}, {A, 2), B, 3)}, {A, 3),C, 2)},
{A, 3), D, 2)}, {C, 2), D, 3)}, {D, 2), B, 3)}, {D, 2), D, 3)}.
Т2,4: {B, 1), D, 3)}, {B, 1), A, 3)}, {B, 1), B, 3)},
{C, 1), B, 3)}, {C, 1), D, 3)}.
7\if4: {A, 2), A, 3)}, {A, 2), B, 3)}, {A, 3), C, 2)}, {A,2), D,3)}.
Г21,4:{B, 1),A,3)}, {B,1), B,3)}, {C, 1), B, 3)}, {B, 1), D,3)}.
7\...«: К1»3». {B-3Ж U4, 3)}.
Отсюда получаем следующие произведения проводимостей:
Таким образом, получаем
X
v _
Функции цепи и чувствительность цепи 305
13.3. Сопряженная цепь и вычисление
чувствительности цепи
В этом разделе развивается метод вычисления чувствительности
цепей. Этот метод основан на теореме Теллежена и понятии «со-
«сопряжение цепи» [13.5, 13.6]. Приведенные здесь рассуждения
основаны на данных работы [13.6].
Пусть /V — линейная неизменная во времени цепь с сосредото-
сосредоточенными параметрами, состоящая из сопротивлений, емкостей,
индуктивностей, трансформаторов, гираторов, управляемых по
напряжению источников тока и напряжений и управляемых
по току источников тока и напряжения. Допустим, что N является
2-полюсной цепью, хотя последующие рассуждения справедливы
даже тогда, когда цепь /V имеет более двух полюсов.
Пусть N является 2-полюсной цепью, которая топологически
эквивалентна цепи N. Другими словами, граф цепи N идентичен
графу цепи N. Соответствующие элементы цепей /V и N будут
обозначаться одинаковыми символами. Заметим, что элементы
цепи /V и их значения пока не определены.
Пусть Vе и Ie — напряжение и ток соответственно, связанные
с элементом е в цепи N, a tye и Хе — напряжение и ток соответствен-
соответственно, связанные с соответствующим элементом е в цепи N. Тогда
Vi и /; (t равно 1, 2) будут обозначать переменные напряжения и
тока, связанные для полюсов цепи /V, а г|)г и kt (i равно 1, 2) будут
обозначать соответствующие переменные для полюсов цепи N.
Применяя теорему Теллежена к цепям /V и /V, получим
A3.41а)
A3.416)
е
где суммирование проводится по всем элементам цепей N я N.
Предположим, что значения элементов цепи /V изменились.
Тогда теорема Теллежена, примененная к возмущенной цепи N
и цепи /V, дает следующий результат:
+ AVe)Xe, A3.42а)
+ Л/е)^- A3.426)
е
где AV и А/ представляют собой изменения напряжения и тока,
которые произошли в результате изменения величин элементов
в цепи N.
306Глава 13
Вычитая выражение A3.41) из выражения A3.42), получим
АУЛ + А^Л = 1]А^Л. A3-43)
. A3.44)
Вычитая выражение A3.43) из выражения A3.44), имеем
(ДУЛ-А/1^1) + (А^Л-А/Л) = 2(А^Л-А/А)- A3.45)
Теперь желательно определить элементы в цепи N таким об-
образом, чтобы выражение A3.45) не зависело от всех AVe и А1е-
членов.
Сначала рассмотрим резисторы. Имеем
VR=RIR, A3.46)
где VR и IR — напряжение и ток, связанные с резистором. Пусть R
изменяется до R+AR. Тогда выражение VR+AVR=(R-\-AR)(IR+
+Д/Н) можно упростить, пренебрегая членами второго порядка
малости:
VR+AVR=RIR+RAIR+IRAR. A3.47)
Вычитая выражение A3.46) из выражения A3.47), получим
AVR=RAIR+IRAR. A3.48)
Следовательно, члены в выражении A3.45), связанные с резисто-
резисторами цепи N, можно записать в виде
SP^-WA/« + W«]. A3.49)
R
где суммирование проводится по всем резисторам цепи N.
Заметим, что индексы у величин X и я|) не обязательно говорят
об отношении к резисторам цепи N, но явно указывают на соот-
соответствие между элементами цепей N я N.
Если теперь выбрать
%=Ы* A3.50)
то выражение A3.49) упрощается до выражения
%IRXRAR, A3.51)
R
которое не зависит от AVR и AIR.
Уравнение A3.50) является соотношением для сопротивления
величины R. Поэтому элемент в цепи N, который соответствует
резистору величины R в цепи N, является также резистором ве-
величины R.
Функции цепи и чувствительность цепи 307
Таблица 13.1
Соотношение Соотношение на Чувствительность Компонента
Тип элемента на ветви ветви сопряжения (компонента 9) Др
Сопротивление VR=RIR 1//д = ЛЛЛ +Irxr ^Л
Проводимость lo=GVa \O"G>po -^афа ^G
Емкость lc=ju>CVc \c—juC-^c. ~]и>Ус'^с ^
1
Взаимная Sls=jaVs 5As=y«ips + —
емкость J
Индуктивность vL=juUL ipL=juL\L. +juIL\L AL
Взаимная TVr=jcolr T+r=ja\r -4-Кг^г ДГ
индуктивность j"
Трансформатор '" "
VT2 = nVTi $T2 = nS
V2
Источник тока,
управляемый
напряжению
ypj™™*1!™ lyn-o Kn-
Источник напря- viv2~rmltyl
жения.управляе- Т/Г _п
мыйпотоку *iv\-v
Источник тока, Im=pim
управляемый у „.«
по току In
An
Гиратор у =_а/
Источникнапря-уу =цууУ1 \уУ1 = -^уу2
мения,управляв- . _„ . _„ +Vyv\xvv2 ^
мыппонапряже-1УУ1~1) Ч>уу2-^
нига
Рассмотрим далее управляемый по напряжению источник на-
напряжения, определязмый соотношениями VVVi=-\iVvvl и IVVl=Q.
Затем, пренебрегая членами второго порядка малости, имеем
Члены выражения A3.45), соответствующие источнику, управ-
управляемому по напряжению, можно теперь переписать в виде
A3.52)
308 Глава 13
Если теперь выбрать
Kvt=—V-Kvb Vvv»=°- A3.53)
то выражение A3.52) упрощается до ZVvvlhVV2A\i.
Заметим, что выражение A3.53) описывает источник, управля-
управляемый по току с коэффициентом усиления —ц. Отметим также раз-
разницу между управляющими и зависимыми элементами в сопряжен-
сопряженной цепи.
Члены выражения A3.45) для остальных типов элементов цепи
N можно получить аналогичным способом.
Результаты сведены в табл. 13.1, причем соответствующие со-
соотношения на ветвях должны быть выбраны для сопряженной цепи
N.
Если элементы N выбираются, как приведено в табл. 13.1, то
выражение A3.45) можно упростить:
2 (ДУЛ-Л'Л) + (ДУА-ЛЛЧ>.) = »'Л/>, A3-54)
где $ и Ар — векторы, компоненты которых приведены в табл.
13.1.
Цепь N, элементы которой определены в соответствии с табл.
13.1, называется сопряженной цепью N. Представления различных
элементов цепи N и их соответствующих элементов в сопряженной
цепи N приведены на рис. 13.8.
Заметим, что сопряженная цепь N находится в следующем от-
отношении к исходной цепи:
1) Граф N тождествен графу N.
2) Все резистивные, емкостные и индуктивные элементы цепи N
соответствуют резистивным, емкостным и индуктивным элементам
таких же величин цепи N.
3. Все трансформаторы с отношением витков 1 : п цепи N со-
соответствуют трансформаторам с отношением витков 1 : п цепи N.
4. Все гираторы с гирационным отношением а в цепи N соот-
соответствуют гираторам с гирационным отношением —а цепи N (или
два полюса гиратора меняются местами).
5. Источники напряжения, управляемые по напряжению, с
коэффициентом усиления по напряжению ц цепи N соответствуют
источникам тока, управляемым по току, с коэффициентом усиления
по току —jj, цепи N, и роли управляющих и зависимых элементов
цепи N меняются на обратные в цепи N.
6. Источники тока, управляемые по току, с коэффициентом
усиления по току р в цепи N соответствуют источникам напряже-
напряжения, управляемым по напряжению, с коэффициентом усиления по
напряжению —13 в цепи N, и роли управляющих и зависимых эле-
элементов в цепи N меняются на обратные в цепи N.
Функции цепи и чувствительность цепи
309
Элементы цепи
a R
а
Сопряженные
элементы цепи
-ЛЛЛг
L
1: п
Ь
1 '
ь
W1-U
'17 = 0
а
»-т7
С
о+
*GKZ
^GV7
-о— —о-
О
+0
) С
Г
C[
\vvz_c
ТО
a
+ o-
-o— —o-
С
b
о
ш
¦IV2
С
-o-t-
d
2=0 с
UIZ
d Ь
Рис. 13.8. Элементы цепи и их сопряжения.
7, Источники тока, управляемые по напряжению, и источники
напряжения, управляемые по току, в цепи N соответствуют источ-
источникам тока, управляемым по напряжению, и источникам напря-
напряжения, управляемым по току соответственно в цепи N, и роли уп-
управляющих и зависимых элементов цепи N меняются на обратные
в цепи N.
310
Глава 13
Проиллюстрируем применение сопряженной цепи в вычислении
чувствительностей функции цепи. Чувствительность S? функции
цепи F(s) по отношению к параметру х цепи определяется в виде
Sx~(xlF)(dFldx). Очевидно, что чувствительность Sf является
мерой воздействия на F(s) приращения параметра х. Вычисление
S? существенно использует определение dFldx. Это можно сделать
следующим образом:
1. Выбираем полюсные переменные таким образом, чтобы левую
часть выражения A3.54) упростить до А/\ (Другими словами,
возбудить цепь N и сопряженную цепь N в их соответствующих
полюсах.) Например, предположим, что F(s) является отношением
напряжений холостого хода, т. е. F(s)=F2(s)/Ki(s). Тогда возбуж-
возбуждаем цепи N и N следующим образом:
а) подключаем к полюсу 1 цепи N независимый источник напряже-
напряжения постоянной величины 1. Тогда 1/х= 1 и AF^O;
б) разрываем полюс 2 в цепи N. Таким образом, /2=0;
в) замыкаем накоротко полюс 1 цепи N, так что ipi=0;
г) подключаем к полюсу 2 цепи N независимый источник тока ве-
величины 1. Тогда Я,2=1.
Легко проверить, что приведенный выше выбор возбуждений
полюсов упрощает левую часть выражения A3.54) до ДУ2=А/?.
2. Анализируем цепи N и N после возбуждений, описанных выше
и определяем все токи и напряжения на элементах.
3. Выражение в правой части A3.54), соответствующее параметру
х, является произведением Ах и напряжений и(или) токов, соот-
соответствующих этому параметру (табл. 13.1). Поэтому dFldx для
каждого параметра х можно определить после того, как напряже-
напряжения и токи в цепях N u N определены, как описано в п. 2.
а 6
Рис. 13.9. Цепь и ее сопряжения.
Подобное вычисление чувствительности, использующее понятие
«сопряженная цепь», требует анализа данной цепи N я ее сопря-
сопряженной цепи JV.
Проиллюстрируем на примере описанный выше метод вычис-
вычисления чувствительности. Пример заимствован из работы [13.3].
Функции цепи и чувствительность цепи
311
рассмотрим цепь N, представленную на рис. 13.9, а. Сопряженная
цепь N показана на рис. 13.9, б. Отношение напряжений холостого
хода F(s)=Vz(s)/V1(s) цепи N задается функцией F(s)=—\iRJ(Ri-{-
J? &
2 /«. а Л.*»
I Wr
.ft A
а 6
Рис. 13.10. Возбуждение полюсов цепи на рис. 13.9.
+^). Как описано ранее, возбуждаем цепи N и N, как
показано на рис. 13.10. Из табл. 13.1 имеем
dF i/i dFn dFii
Легко проверить, что
h — I* —
R*
R1+R2+VR1 '
Ri+Ri
•—¦ /v J
1 r\ *
+R2
В результате получаем
В гл. 11 (упражнение 11.3) было показано, что матрица полных
сопротивлений контура планарной цепи равна матрице проводи-
мостей сечений ее двойственной цепи. Можно задаться вопросом,
существует ли для данной цепи N другая такая цепь Л^г, что мат-
матрица неопределенных проводимостей цепи NT была бы равна
312 Глава 13
транспозиции матрицы неопределенных проводимостей N. Ответ
будет утвердительным: существует. В работе [13.7] показано, как
построить такую цепь NT, названную транспозицией цепи N.
Оказалось, что NT является той же самой цепью, что и сопряжен-
сопряженная к цепи N [13.8]. Авторы этой работы получили теорему, анало-
аналогичную теореме Теллежена, но применимую к любым двум пла-
нарным цепям, имеющим двойственную топологию. Используя
эту теорему, они построили из данной планарной цепи новую цепь,
названную обобщенной двойственной транспозицией. Если ND
является двойственной к цепи N, a NDT является транспозицией
цепи ND> то можно показать, что NDT является специальным
случаем обобщенной двойственной транспозиции цепи N.
Понятия «транспозиция» и «обобщенная двойственная транс-
транспозиция помогли увидеть единство между различными реализа-
реализациями цепей (опубликованными в литературе), которые кажутся
различными, но фактически являются взаимосвязанными через
операции транспозиции и обобщенной двойственной транспозиции.
Например, в работе [13.3] предлагаются две структуры цепи,
чтобы реализовать функцию преобразования напряжения. Можно
показать, что первая из них является обобщенной двойственной
транспозицией второй. Еще пример: авторы работы [13.10] пред-
предложили две структуры; одну для того, чтобы реализовать функцию
преобразования напряжения, а другую, чтобы реализовать функ-
функцию преобразования тока. И снова первая из них является транс-
транспозицией второй. Примеры, которые показывают, как получить,
используя понятия «транспозиция» и «обобщенная двойственная
транспозиция», различные эквивалентные структуры, реализу-
реализующие данную функцию цепи, можно найти в работе [13.9].
13.4. Замечания, касающиеся литературы
Работа [13.11] особенно рекомендуется для дальнейшего чтения
по детальному выводу топологических формул для функций цепи.
Среди работ, в которых обсуждаются топологические формулы,
можно назвать работы [13.12—13.14].
Формулы для обобщенных цепей, приведенные в этой главе,
выведены с использованием соответствующих деревьев, сопостав-
сопоставленных матрице неопределенных проводимостей цепи. Несколько
авторов представили формулы, которые могут быть записаны не-
непосредственно по данной цепи. (Например, см. работу [13.15], где
некоторые относящиеся к теме статьи включены как ссылки.)
Можно посмотреть работу [13.12] для изучения интересных свойств
схемных функций ^LC-цепей, которые выводятся с использова-
использованием топологических формул.
С целью изучения общей формы теоремы Теллежена и ее приме-
применений можно рекомендовать работы [13.16—13.18]. Для ознаком-
Функции цепи и чувствительность цепи
313
ления с применением понятия сопряженной цепи в синтезе резис-
тивных «-полюсных цепей с помощью компьютера см. работу [13.19].
Понятие «сопряженная цепь» также использовалось для того,
чтобы установить инварианты чувствительности и границы суммы
величин чувствительности элементов для функций цепи [13.20,
13.21].
Упражнения
13.1. а) Докажите, что матрица проводимостей RLC-тпи без взаимных индук-
тивностей будет иметь полюс при S=0 тогда и только тогда, когда существует
путь, состоящий только из индуктивностей между зажимами полюса.
б) Докажите, что матрица проводимостей RLC-цепи без взаимных индуктивностей
будет иметь полюс в бесконечности тогда и только тогда, когда существует путь,
состоящий только из емкостей между зажимами полюса.
13.2. Пусть
D(s)
z2i =
D(s)
co+c1s+...+crsr
D(s)
являются функциями полных сопротивлений холостого хода 2-полюсной ^LC-цепи
без взаимных индуктивностей. Используя топологические формулы, покажите,
что ak>\ck\ и bft>|cft|.
13.3. Выведите топологические формулы для передаточного отношения напря-
напряжения холостого хода и передаточного отношения токов короткого замыкания
обобщенной линейной цепи.
13.4. Найдите чувствительность по отношению к полному сопротивлению R
нулевой точки цепи, показанной на рис. 13.11.
ROm
Рис. 13.11.
13.5. Покажите, что матрица неопределенных проводимостей цепи N является
транспозицией матрицы неопределенных проводимостей своего сопряжения.
Примечание. Использовать теорему Теллежена.
13.6. В графовом представлении цепи, содержащей многополюсные элементы,
каждый полюс представляется ребром. Пусть N и Nд являются пленарными
цепями, имеющими двойственные графы. Выведите теорему, аналогичную теоре-
теореме Теллежена, которая использует только переменные токов или только перемен-
переменные напряжений цепей N и Nq.
314
Глава 13
Полюс 2
Рис. 13.12.
13.7. Пусть N является пленарной цепью. Пусть ND является двойственной к
цепи N и пусть Л?ог является транспозицией или сопряжением ND. Используя
теорему в упражнении 13.6 и процедуру, подобную той, которая описана в
разд. 13.3, определите непосредственно из цепи W (без построения ND) типы эле-
элементов и величины для цепи Npj- [13.9].
13.8. Для цепи W, представленной на рис. 13.12, постройте цепь Npj (двойствен-
(двойственную транспозицию цепи N), определенную в упражнении 13.7,
Часть III. Теория
электрических цепей
14. Алгоритмы анализа графов
При исследовании отдельных практических задач появляются
графы. Первым шагом в таких исследованиях было определение
теоретико-графовых свойств рассматриваемой проблемы, которые
помогли бы нам при определении метода ее решения. Так, в гл. 11—
13 мы установили несколько полезных теоретико-графовых свойств
электрических цепей и на основе использования этих свойств раз-
разработали различные методы вывода уравнений цепи. При изучении
транспортных сетей наибольший интерес представляет опреде-
определение максимального потока. В качестве первого шага в этом на-
направлении мы выделяем в разд. 15.7 несколько свойств этих сетей,
которые приведут нас к теореме о максимальном потоке и минималь-
минимальном разрезе. Эта теорема образует основу алгоритма расстановки
меток Форда — Фалкерсона для нахождения максимального по-
потока. Обычно решение задачи включает анализ графа или проверку
его на наличие того или иного свойства. Графы, возникающие при
изучении реальных практических задач, очень громоздки и сложны.
Поэтому для эффективного анализа таких графов необходима
разработка соответствующих вычислительных алгоритмов.
В этой части книги мы обсудим некоторые алгоритмы на гра-
графах. Основное внимание мы уделяем установлению теоретической
основы, на которой базируется конструирование алгоритмов. Мы
также излагаем результаты, касающиеся вычислительной слож-
сложности некоторых из этих алгоритмов. В некоторых случаях вычис-
вычислительная сложность всего алгоритма зависит главным образом от
вычислительной сложности реализации определенных базовых
операций, например объединения непересекающихся множеств
(разд. 14.5). В таких случаях мы приводим ссылки на соответст-
соответствующую литературу, которая в дальнейшем заинтересует чита-
читателя.
Вычислительная сложность алгоритма является мерой времени
выполнения алгоритма. Поэтому она является функцией от раз-
размера входа. Для алгоритмов на графах результаты по их слож-
сложности могут быть выражены через число вершин и число ребер
графа. В последующем о функции g(n) будем говорить, что она
есть О (/(«)) тогда и только тогда, когда существуют константы с
и По, такие, что lg(ra)l^c|/(n)| для всех гС^пй. Кроме того, все
316 Глава 14
результаты по сложности будут относиться к анализу алгоритмов
в худшем случае.
Существуют различные методы представления графа в вычис-
вычислительной машине. Два из наиболее распространенных используют
матрицу смежности (разд. 6.10) и список смежности. Представ-
Представление графа матрицей смежности не очень эффективно в случае
разреженных графов. При представлении графа списком смеж-
смежности каждой вершине сопоставляется список, который содержит
все ребра, инцидентные ей. Детальное обсуждение структур дан-
данных для представления графа может быть найдено в некоторых из
ссылок, перечисленных в конце главы.
Существуют алгоритмы, которые трудны для построения, но
доказательства корректности которых тривиальны. Другие алго-
алгоритмы легко представить, но доказательства их корректности весьма
сложны. Более того, существуют непроанализированные тривиаль-
тривиальные алгоритмы. Примеры таких алгоритмов имеются в разделах
этой и следующей глав.
С целью последующего обсуждения разделим алгоритмы на
две группы: алгоритмы анализа графов и алгоритмы решения задач
оптимизации на графах. В этой главе мы исследуем алгоритмы
первой группы. Вообще говоря, в этой главе обсуждаются алго-
алгоритмы, относящиеся к следующим основным темам:
1. Транзитивное замыкание.
2. Транзитивная ориентация.
3. Поиск в глубину.
4. Двусвязность и сильная связность.
5. Графы программ.
14.1. Транзитивное замыкание
Напомним (разд. 5.2), что бинарное отношение на некотором
множестве есть набор упорядоченных пар элементов этого множе-
множества. Транзитивное замыкание бинарного отношения R — это от-
отношение R*, определенное следующим образом:
xR*y тогда и только тогда, когда существует такая последова-
последовательность хо—х, x-i, х2, ¦ ¦ ., xk=y, что k>0 и XoRxi, XiRx2, . . .
. . ., xk-!Rxk. Ясно, что если xRy, то xR*y. Следовательно, RsR*.
Можно легко показать, что R* — транзитивно. В самом деле оно
является наименьшим транзитивным отношением, включающим R.
Таким образом, если R транзитивно, то R*=R.
Как уже отмечалось в разд. 5.2, бинарное отношение можно
представить ориентированным графом. Пусть G — ориентирован-
ориентированный граф, представляющий отношение R. Ориентированный граф
G*, представляющий транзитивное замыкание R* отношения R,
называется транзитивным замыканием графа G. Из определения R*
следует, что ребро (х, у), хфу, принадлежит G* тогда и только тогда,
Алгоритмы анализа графов
317
когда в графе G существует ориентированный путь из вершины х
в вершину у. Аналогично петля (х, х) принадлежит графу G* тогда
и только тогда, когда в графе G присутствует ориентированный
цикл, включающий вершину х. Например, граф, изображенный
на рис. 14.1, б является транзитивным замыканием графа на рис.
14.1, а.
Рис. 14.1.
а — граф G', 6 — G * — транзитивное замыкание графа G.
Предположим, что мы определяем матрицу достижимости
ориентированного графа G на п вершинах как пХп @,1)-матрицу,
в которой элемент (i, /) равен 1 тогда и только тогда, когда сущест-
существует ориентированный путь из вершины i в вершину / при 1ф\
или ориентированный цикл, содержащий вершину i при ?=/. Дру-
Другими словами, элемент (i, /) матрицы достижимости равен 1 тогда
и только тогда, когда вершина / достижима из вершины i через
последовательность ориентированных ребер. Очевидно, что мат-
матрица смежности графа G* является в то же время матрицей дости-
достижимости графа G. Задача построения транзитивного замыкания
ориентированного графа возникает в нескольких приложениях.
Один из примеров описан Грисом [14.1]. В этом разделе мы обсуж-
обсуждаем элегантный и эффективный алгоритм вычисления транзитив-
транзитивного замыкания, предложенный Уоршоллом [14.2]. Мы обсудим
также модификацию алгоритма Уоршолла, предложенную Уорре-
Уорреном [14.3].
Пусть G — ориентированный граф на п вершинах, которые
обозначены целыми числами 1, 2 п. Пусть G°=G. Алгоритм
Уоршолла строит последовательность таких графов, что G'sGi+1,
O^i^n—l, и G" — транзитивное замыкание графа G. Граф G'(^l)
получается из графа G' + 1 после обработки вершины i в графе G'~x.
Обработка вершины i в графе G' включает добавление новых
ребер в G' следующим образом.
Пусть в графе G' присутствуют ребра (i, k), (i, I), (i, m), ...,
исходящие из вершины i. Тогда для каждого ребра (/, i), за-
заходящего в вершину i, добавляем в графе G'~x ребра (/, к), (/, /),
(/, т), . . ., если эти ребра еще не присутствуют в графе G'.
Граф, получаемый после обработки вершины i, обозначается через
G'.
318
Глава 14
а б в
Рис. 14.2. Иллюстрация к алгоритму Уоршолла.
а — G"; б — G« = G2; в — G3 = (J4.
Алгоритм Уоршолла представлен на рис. 14.2. Ясно, что G'^
sG' + 1 при Q^O. Чтобы показать, что G" — транзитивное замыка-
замыкание графа G, необходимо доказать следующее:
Теорема 14.1. 1. Пусть для произвольных вершин s и t графа G существует
такой ориентированный путь Риз вершиныsbвершину t, что все вершины, отлич-
отличные от s и /, принадлежат множеству {1, 2, . . ., i}. Тогда граф G1 содержит ребро
(s, t).
2. Пусть для произвольной вершины s в графе G существует ориентированный цикл
С, содержащий вершину s, и все вершины, отличные от s, принадлежат множеству
{1, 2, . . ., (}. Тогда граф G1' содержит петлю (s, s).
Доказательство. 1. Докажем индукцией по ('. Ясно, что утверждение верно
для графа G1, поскольку в соответствии с построением Уоршолла при обработке
вершины 1 вводится ребро (s, t), если граф G" (равный G) содержит ребра (s, 1) и
A, f). Пусть утверждение верно для всех G*, ?<(.
Предположим, что (' не является внутренней вершиной пути Р. Тогда из
предположения индукции следует, что графи' содержит ребро (s, /). Следова-
Следовательно, G' также содержит ребро (s, /), потому что G'-1<G1'. Предположим, что
(— внутренняя вершина пути Р. Тогда вновь из предположения индукции сле-
следует, что граф О' содержит ребра E, /) и (г, /). Поэтому при обработке вершины /
в G'' ребро (s, /) добавляется к графу G1.
2. Доказательство аналогично доказательству п. 1.
Непосредственным следствием из этой теоремы является следующее.
Следствие 14.1.1. G" —транзитивное замыкание графа G. Дадим формальное
описание алгоритма Уоршолла. В этом описании граф О представляется матрицей
смежности М, а символ V применяется для обозначения булева сложения.
Алгоритм 14.1. Транзитивное замыкание (Уоршолл).
51. (Инициализация.) М — матрица смежности графа G.
52. Выполнить S3 для t=l, 2, . . ., п.
53. Выполнить S4 для /=1, 2, .... я.
54. Если M(j, «)—1, выполнить S5 для k=l, 2, . . ., я.
55. М (/, k)=M (у1, k) VM ((, k).
56. HALT. (M — матрица смежности графа G*.)
Отметим, что М (когда алгоритм приступает к выполнению шага S3 для
i=p) — матрица смежности графа Gp~x. Обработка диагональных эле-
элементов не приводит к добавлению новых ненулевых элементов. Сделаем
несколько замечаний:
1. Алгоритм Уоршолла преобразует матрицу смежности М графа G в матрицу
смежности его транзитивного замыкания соответствующим переписыванием
матрицы М. Поэтому говорят, что алгоритм работает «на месте».
2. Алгоритм обрабатывает все ребра, заходящие в вершину, перед тем, как на-
начинает обрабатывать следующую вершину. Другими словами, он обрабаты-
обрабатывает матрицу М по столбцам. Следовательно, мы описываем алгоритм Уоршолла
как ориентированный по столбцам.
Алгоритмы анализа графов
319
3. При обработке вершины никакие новые ребра (т. е. ребра, которые не присут-
присутствовали в графе, когда началась обработка этой вершины), заходящие в эту
вершину, не добавляются. Это означает, что при обработке вершины мы можем
выбирать ребра, заходящие в вершину в произвольном порядке.
4. Предположим, что ребро (/, i), заходящее в вершину (', не присутствует в гра-
графе при обработке вершины »", но добавляется в последующем при обработке
некоторой вершины &(&>('). Ясно, что это ребро не рассматривается при обра-
обработке вершины L Не будет оно обрабатываться и позднее, так как никакая
вершина не обрабатывается более одного раза. Фактически такое ребро не при-
приведет к добавлению каких-либо новых ребер.
5. Алгоритм Уоршолла называется работающим в один проход, так как каждая
вершина обрабатывается точно один раз.
Предположим, что мы желаем модифицировать алгоритм Уоршолла
так, чтобы он стал ориентированным по строкам. В таком алго-
алгоритме при обработке вершины обрабатываются все ребра, исхо-
исходящие из этой вершины. Обработка ребра (i, /) заключается во
введении ребра (i, k) для каж- о » о—_» о > о
дого ребра (j, k), исходящего 7 4 3 2
из вершины /. Поэтому новые а
ребра, исходящие из вершины,
можно добавить при обработ-
обработке вершины «построчно». Не-
Некоторые из этих вновь добав-
добавленных ребер не будут обра-
обрабатываться до завершения
обработки рассматриваемой
вершины. Если обработка этих
ребер необходима для вычис-
вычисления транзитивного замыка-
замыкания, то такая обработка мо-
может выполняться только при
втором проходе. Таким обра-
образом, в общем случае ориен-
ориентированный по строкам алго-
алгоритм может потребовать более одного прохода для вычисления
транзитивного замыкания.
Например, рассмотрим граф G на рис. 14.3, а. После обработки
построчно вершин графа G мы получим граф G', представленный
на рис. 14.3, б. Очевидно, что G' не является транзитивным замы-
замыканием графа G, так как ребро A, 2) еще не добавлено. Можно
отметить, что ребро A, 3) не обрабатывается при этом проходе,
поскольку оно добавляется только после обработки ребра A, 4).
То же самое верно и для ребра D.2).
Предположим, что мы обрабатываем вершины графа G'. При
этом втором проходе ребро A, 2) добавляется при обработке вер-
вершины 1 и мы получаем транзитивное замыкание графа G*. пока-
показанное на рис. 14.3, в. Таким образом, для графа, изображенного
Рис. 14.3. Пример работы строкоориенти-
рованного алгоритма транзитивного замы-
замыкания.
а — граф G; б — граф G '; в — граф G *.
320 Глава 14
на рис. 14.3, а, требуется два прохода ориентированного по стро-
строкам алгоритма.
Возникает вопрос: всегда ли достаточно двух проходов? Ответ
на него положителен и Уоррен [14.3] продемонстрировал это, пред-
предложив изящный двухпроходной строкоориентированный алго-
алгоритм. В этом алгоритме при обработке вершины, например i, в
первом проходе обрабатываются только ребра, связанные с верши-
вершинами, меньшими i, а во втором проходе — только ребра, связанные
с вершинами, большими i. Другими словами, алгоритм преобразует
матрицу смежности М графа G в матрицу смежности графа G*,
обрабатывая в первом проходе только элементы матрицы, распо-
расположенные ниже ее главной диагонали, а во втором проходе — только
элементы матрицы, расположенные выше ее главной диагонали.
Таким образом, при каждом проходе обрабатывается не более п(п—
¦—1)/2 ребер. Приведем описание модификации Уоррена, касающе-
касающееся алгоритма Уоршолла.
Алгоритм 14.2. Транзитивное замыкание (Уоррен).
51. M—матрица смежности графа G.
52. Выполнить S3 для 1—2, 3, . . ., я.
53. Выполнить S4 для /=1, 2, . . ., i—1.
54. Если М (i, /)=1, то выполнить S5 для k=\, 2, . . ., п
55. М ((, k)=M {I, k)VM _(/, k).
56. Выполнить S7 для (=1,2 n—1.
57. Выполнить S8 для /=t+l, i+2 n.
58. Если M (i, /)=1, то выполнить S9 для k=l, 2, , . ., n.
59. M(i,k)=M(i,k)vM(j,k).
S10. HALT. (M —матрица смежности графа G*.) Отметим, что в этом ал-
алгоритме шаги S2—S5 соответствуют первому проходу, а шаги S6—S9 —
второму проходу.
6
Рис. 14.4. Иллюстрация к алгоритму Уоррена.
Рассмотрим вновь граф, изображенный на рис. 14.3, а. В конце первого про-
прохода алгоритма Уоррена мы получим граф, изображенный на рис. 14.4, а, а в
конце второго — транзитивное замыкание графа G*, представленное на
рис. 14.4, б. Доказательство корректности алгоритма Уоррена основывается на
следующей лемме:
Лемма 14.1. Предположим, что для двух произвольных вершин s и t в графе
G существует ориентированный путь Р из s в t. Тогда граф, полученный после обра-
Алгоритмы анализа графов 321
ботки вершины s в первом проходе (шаги S2 — S5) алгоритма Уоррена, содержит
ребро (s, г), где г — следующая за s вершина пути Р причем r>s или r=t.
Доказательство. Докажем индукцией по s.
Если S=l, то лемма справедлива, так как все следующие за 1 вершины пути Р
больше 1. Пусть лемма верна для всех s<k, и пусть s=?. Предположим, что (s, i) —
первая дуга пути Р. Если /i>s, то ясно, что лемма верна. Если ii<s, то по пред-
предположению индукции граф, получаемый после обработки вершины 1г в первом
проходе, содержит ребро (ilt ?2)> гДе h— следующая за ц вершина пути Р, при-
причем B>ii или i2=t.
Если 1%Фг и !2<s, то вновь по предположению индукции граф, получаемый
после обработки вершины B в первом проходе, содержит ребро (ia, J3), где ia—
следующая за i2 вершина пути Р, причем ts>B или 'з='*
Если 1$Ф1 и /3<s, то мы повторяем эти рассуждения для вершины t3 до тех
пор, пока мы не получим такую вершину im, что либо im>s, либо tm=t. Таким
образом, граф, который мы получаем перед обработкой вершины s, содержит та-
такие ребра (s, у, (if, у, (i2, C), . . ., (im-i, im), что при этом выполняются следу-
следующие соотношения:
1) вершина ip следует за вершиной гр_1 в пути Р, р
2) im~i>lm-2>im-3> • ¦ • >Н и ik<s для 1гфт;
3) im=t или im>s.
Приступаем к обработке вершины >\ При обработке ребра (s, У вводится ребро
(s, i2), поскольку присутствует ребро (j'i, B). Так как t2>('i, то в дальнейшем
ребро (s, t2) также обрабатывается. При обработке этого ребра вводится ребро
(s, C), так как присутствует ребро (г2, i3) и т. д. Таким образом, когда обработка
вершины s завершается, требуемое ребро (s, im) присутствует в конечном графе.
Теорема 14.2. Алгоритм Уоррена вычисляет транзитивное замыкание графа G.
Доказательство. Необходимо рассмотреть два случая:
Случай 1. Для любых двух вершин s и t в графе G существует ориентирован-
ориентированный путь Р из вершины s в вершину t. Пусть (i, j) — такое первое ребро пути Р
(в направлении от s к t), что ii^j. Тогда из предыдущей леммы следует, что граф,
который мы имеем перед началом второго прохода алгоритма Уоррена, со-
содержит ребро (i, k), где k следует за ( в Р, причем k=t или k>i. (Таким образом,
после завершения первого прохода существует такой путь Р' : S, ilr B, . . .
. .., im, t, что s<(!<B<. . .<Om и каждая вершина ij+i следует за ij в пути Р.
При обработке вершины s во втором проходе ребро (s, ij) встречается первым.
Обработка этого ребра вызывает появление ребра (s, /2), так как в графе присут-
присутствует ребро (ilt i2). Поскольку i'2>t1, то ребро (s, i2) в последующем подверга-
подвергается обработке. Это в свою очередь приводит к введению ребра (s, ts) и т. д. Та-
Таким образом, когда обработка вершины завершается, в полученном графе будет
присутствовать ребро (s, t).
Случай 2. В графе G существует ориентированный цикл, содержащий вер-
вершину s. В этом случае мы можем привести доказательство, аналогичное приведен-
приведенному выше, суть которого заключается в том, что после завершения обработки
вершины s во втором проходе полученный граф будет содержать петлю (s, s).
Ясно, что оба алгоритма Уоршолла и Уоррена имеют в худшем случае слож-
сложность О (я3). Однако алгоритм Уоррена будет выполняться быстрее алгоритма
Уоршолла в случае больших разряженных матриц, особенно в страничной среде.
Уоррен [14.3] ссылается на другие строкоориентированные алгоритмы.
В работе [14.4] представлен O(re3/log я)-алгоритм. Он основан на алгоритме
«четырех русских» для перемножения булевых матриц.
Автор работы [14.5] предложил 0n(Iog!') -алгоритм для перемножения двух
иХге-матриц. Используя этот алгоритм, авторы работ [14.6, 14.7] представили
O(n'ogz7log я)-алгоритмы для задачи транзитивного замыкания. Другие алгорит-
алгоритмы, основанные на перемножении матриц, предложены в работах [14,8, 14.9]
В работе [14.10] рассматривается алгоритм, основанный на алгоритме Тарь-
яна для нахождения сильно связных компонент ориентированного графа
11 № 1449
322
Глава 14
(разд. 14.4). Сильно связные компоненты данного графа определяет в качестве
первого шага алгоритм Мунро.
Алгоритм Пардома [14.11] во многих случаях требует 0(п2) шагов, хотя ?
худшем случае имеет сложность О(п3). Однако этот алгоритм гораздо сложнее
других алгоритмов транзитивного замыкания.
Недавно Шнорр [14.12] представил алгоритм с предполагаемым временем
работы О(п-\-т*), где т*— ожидаемое число ребер в транзитивном замыкании.
В работе [14.13] рассматриваются вычислительные эксперименты с несколь-
несколькими алгоритмами транзитивного замыкания.
14.2. Транзитивная ориентация
Неориентированный граф G транзшпшно ориентируем, если
мы можем ориентировать ребра графа G так, что полученный ори-
ориентированный граф транзитивен. Если граф G транзитивно ориен-
ориентируем, то транзитивную ориентацию графа G мы будем обозна-
чать G.
Например, граф, изображенный на рис. 14.5, а, транзитивно
ориентируем. Транзитивная ориентация этого графа представлена
на рис. 14.5, б.
Рис. 14.5.
а — граф G; 6 — транзитивная ориентация графа G.
В этом разделе мы обсудим алгоритм Пнуели, Лемпеля и Ивена
[14.14], осуществляющий проверку, является ли простой неори-
неориентированный граф транзитивно ориентируемым и получающим
транзитивную ориентацию G, если она существует. Для изложения
этого алгоритма мы введем некоторые обозначения:
i ->¦ / означает, что вершины i и j связаны ребром, ориентирован-
ориентированным из i в /;
i -*- j определяется аналогично;
i—/ означает, что существует ребро, связывающее вершины i и /;
i-/-'y означает, что не существует ребра, связывающего вершины i и /.
i-A-j означает, что либо i-/-j, либо i ч- /, либо ребро i—/ не ориен-
ориентировано.
i -*¦ j, i •*- j, i—/ и т. д. будут использоваться для обозначения
соответствующих ребер.
Рассмотрим неориентированный граф G= (V, E), который
транзитивно ориентируем. Пусть G= (V, Е) — транзитивная ори-
ориентация графа G.
Алгоритмы анализа графов
323
Предположим, что существуют такие три вершины i, j, k?V,
что i -> /, /—k и i\k; тогда из транзитивности G должно следо-
следовать / ч-&. Аналогично если, для i, j, k?V, i ->¦ /, t—6 и /\&,
то из транзитивности G должно следовать i -> A.
Эти замечания приводят к следующим простым правилам, ко-
которые образуют основу алгоритма Пнуели, Лемпеля и Ивена.
Правило Rf. При i, /, k ? У, если г -»-/,/' -1- & и i\;?, то ориенти-
ориентируем ребро / — ? как / -<- &.
Правило R2. При ?, /, А ^ У, если i ->¦ /, t — А и /\fe, то ориенти-
ориентируем ребро i — А как i -*¦ к.
a — правило
Эти два правила иллюстрируются рис. 14.6, на котором штри-
штриховые линии указывают на отсутствие соответствующего ребра.
Представим описание алгоритма транзитивной ориентации графа.
Алгоритм 14.3. Транзитивная ориентация (Пнуели, Лемпеля и Ивена).
51. Пусть дан простой неориентированный граф G. Положить 1=1.
52. (Начало фазы ('.) Выбрать реброе графа G и ориентировать его произволь-
произвольным образом. Ориентировать, если возможно, ребра графа G, смежные
с е, используя правило R± или R2- Ориентированное ребро е пометить
как «рассмотренное».
53. Проверить, существует ли в графе G ориентированное ребро, которое
не помечено как «рассмотренное»; если да, то идти к шагу S4. Иначе идти
к шагу S6.
54. Пусть t—»./ — ориентированное ребро в графе G, которое не помечено как
«рассмотренное». Тогда для каждого ребра в графе G, инцидентного I или
/, выполнить следующие действия (всякий раз, когда они применимы) и
пометить /->-/ как «рассмотренное»:
Случай 1. Пусть / — k — рассматриваемое ребро.
а. (Применение правила R±.) Если i\^k и ребро у—k не ориентировано, то ориенти-
ориентировать /—k как ]-*r-k.
11'
324 Глава 14
6. (Противоречие с правилом /?i.) Если <°\& и ребро /—k уже ориентировано как
/—»¦&. то возникло противоречие с правилом R^. Идти к шагу S9.
Случай 2. Пусть рассматриваемое ребро будет i—k
а. (Применение правила R2.) Если j~\k и ребро i—k не ориентировано, то ориен-
ориентировать i—k как i-^k.
б. (Противоречие с правилом R2.) Если j-\k и ребро i—k уже ориентировано
как i-+-k то возникло противоречие с правилом R2. Идти к шагу S9.
55. Идти к шагу S3.
56. (Успешное окончание фазы i.) Проверить, все ли ребра графа G уже ори-
ориентированы. Если да, то идти к шагу S8. Иначе удалить из графа G все
ориентированные ребра. Пусть G'— полученный в результате граф.
57. Положить G=G' и i'=j+1. Идти к шагу S2.
58. (Все ребра данного графа ориентированы в соответствии с правилами
i?j и R2- Это — транзитивная ориентация данного графа.) HALT.
59. (Граф G не является транзитивно ориентируемым.) HALT.
Основная обработка в этом алгоритме производится на шаге
S4. На нем мы проверяем каждое ребро, смежное с ориентирован-
ориентированным ребром i -*¦ /. Если это ребро уже ориентировано, то мы про-
проверяем, согласуется ли его ориентация и ориентация ребра i-*-j
в соответствии с правилом Rt или R2. Если рассматриваемое ребро
еще не ориентировано, то мы ориентируем его, если это возможно,
используя правило Rx или R2.
Алгоритм состоит из различных фаз. Каждая фаза включает
выполнение шага S2 и повторяет выполнение шага S4 столько
раз, сколько ребер получает ориентацию. Если фаза заканчивается
без обнаружения какого-либо противоречия с правилом Rt или R2,
то это означает, что больше ни одно из ребер нельзя ориентиро-
ориентировать в этой фазе с помощью этих двух правил и что ориентация,
полученная в этой фазе, согласуется с используемыми правилами.
Алгоритм заканчивается, 1) когда обнаруживается противоре-
противоречие с правилом #1 или R2 либо 2) когда ориентированы все ребра
данного графа, так что ориентация согласуется с правилами R^
и Rz- В первом случае граф не является транзитивно ориентиру-
ориентируемым, а во втором — граф транзитивно ориентируем, и получен-
полученный ориентированный граф определяет его транзитивную ориен-
ориентацию.
Сложность алгоритма зависит от сложности выполнения шага
S4. Этот шаг выполняется не более т раз, где т — число ребер в
данном графе. Каждое выполнение шага S4 включает в себя про-
проверку всех ребер, смежных с ориентированным ребром. Поэтому
число операций, необходимых для выполнения шага S4, пропор-
пропорционально 2Д, где А — максимальная степень данного графа.
Таким образом, общая сложность этого алгоритма есть О BтА).
Проиллюстрируем алгоритм двумя примерами. Сперва рас-
рассмотрим граф, представленный на рис. 14.7, а.
Фаза 1. Мы начинаем, ориентируя ребро 7—2 как 7->2. По
правилу #2 7-»-2 влечет ориентацию 7->4 и 7->5, а 7->4 — ориен-
ориентацию 7->6. Правило Ri не применимо ни к одному из ребер, смеж-
Алгоритмы анализа графов
325
326
Глава 14
ных с ребром 7-н»2. По правилу R2 7->-5 и 7-»-6 влекут ориентации
7-И и 7-»-3 соответственно. В этой фазе нельзя ориентировать
никакие другие ребра. Мы можем убедиться, что все полученные
ориентации ребер согласуются с пра-
правилами Ri и R2. Фаза 1 на этом
заканчивается. Ребра, ориентирован-
ориентированные в этой фазе, показаны на рис.
14.7, б.
Удалим из графа G (рис. 14.7, а)
все ребра, которые ориентированы
в фазе 1. Полученный граф С пред-
представлен на рис. 14.7, в. С этого мо-
момента начинается фаза 2, на которой
рассматривается граф G'.
Фаза 2. Начнем с ориентации реб-
ребра 1—2 как 1-»-2. Это приводит к следующей последовательности
ориентации:
A -»2) => B—3) => C~>5) => F-»5) =» D->5)
Л, R2 Ri /?,
B<-3) =*• C-*4)
Рис. 14.8.
2
F-»5) =*• F->2)
Таким образом, все ребра графа G' ориентированы, как показано
на рис. 14.7, г. Эта ориентация графа G' согласована с правилами
Ri и R2. Поэтому фаза 2 успешно завершается. Полученная тран-
транзитивная ориентация графа G представлена на рис. 14.7, д.
Рассмотрим другой граф, показанный на рис. 14.8. Начнем
с ориентации ребра 1—2 как 1->-2. Это ведет к следующей последо-
последовательности ориентации:
A-+2) => B<-3) => C-»4) =>D*-5) => E-»1) =» A«-2),
«1 Л2 Л1 Л2 Rl
которая требует, чтобы ребро 1—2 было ориентировано как 1*-2,
что противоречит ориентации, которая уже сопоставлена ребру
1—2. Таким образом, получено противоречие с правилом Ri. Сле-
Следовательно, граф на рис. 14.8 не является транзитивно ориенти-
ориентируемым.
Теперь перейдем к доказательству корректности алгоритма 14.3.
Для выполнения этого необходимо доказать два следующих ут-
утверждения:
Алгоритмы анализа графов 327
Утверждение 1. Если алгоритм 14.3 завершается успешно (шаг S8),
то полученный ориентированный граф является транзитивной
ориентацией исходного графа.
Утверждение 2. Если граф транзитивно ориентируем, то алгоритм
14.3 завершается успешно.
Рассмотрим сначала утверждение 1.
Дан неориентированный граф G— (V, Е). Предположим, что
алгоритм завершается успешно. Рассмотрим произвольную пару
ребер i -*¦ ) и k-*-1, которые ориентированы на одной и той же фазе
алгоритма. Тогда мы можем построить последовательность выво-
выводов, которая начинается с ребра i -> / и заканчивается ориентацией
ребра k — / как k -+ I. Такую последовательность мы будем назы-
называть цепью вывода из i ->¦ / к k-*l. Заметим, что может быть не-
несколько цепей вывода из i ->¦ / к k -*- /. Например, в ориентиро-
ориентированном графе на рис. 14.7, г цепи вывода из Bч-б) к C->-4) могут
иметь вид
B«— 6) =* C — 2) => C — 4),
B «_ 6) => E — 6) =4> C — 5) =г C -* 2) => C — 4).
Таким образом, ясно, что можно говорить о кратчайшей цепи
вывода между любой парой ориентированных ребер, которые
были ориентированы на одной и той же фазе алгоритма 14.3. До-
Доказательство утверждения 1 основывается на следующей лемме:
Лемма 14.2. После успешного завершения фазы 1 в графе G не может быть
таких трех вершин ?, /, k, что i-yj, j-yk и i-/*k.
Доказательство. Напомним, что i-/*k означает, что либо i\k, либо i ч- k, либо
ребро i—k не ориентировано. Ясно, что должно существовать ребро, связывающее
вершины ( и k. Иначе мы получили бы противоречие, так как по правилу Rf i—>-j
влечет j-*-k.
Предположим, что запрещенная ситуация типа i—»-/ и j—^-k с i-^xk возникает
после завершения фазы 1 алгоритма 14.3. Тогда выберем среди всех цепей вывода,
которые приводят к запрещенной ситуации, цепь, кратчайшую с минимальным
числом ориентированных ребер, заходящих в k. Ясно, что любая такая цепь долж-
должна иметь длину не менее трех. Пусть одна из таких цепей имеет вид
При этом ap_i должно быть либо /->/' для некоторого /", либо k'-^.k для некоторо-
некоторого k. Таким образом, необходимо рассмотреть два случая.
Случай 1. Пусть ^р-х будет/->;". Тогда вывод (Op_;i):=j>(/—»-&) требует, что-
чтобы j'-jb-k. Далее, /—>/', так как иначе цепь вывода
('-у )=*(«,)=>• • • =Ка»,_2)=»О"-у")
приводила бы к запрещенной ситуации i-yj и /->-/' с i-/*\'. Однако эта цепь короче
исходной, что противоречит предположению о ее минимальности.
328
Глава 14
Случай, иллюстрирующий эти рассуждения, представлен на рис. 14.9, а,
на котором штриховая линия указывает на отсутствие соответствующего ребра.
Таким образом, ?—>-/" и j'y^k влечет за собой i—>k, согласно правилу R%. Однако
это противоречит нашему предположению, что i-/*k.
i
Рис. 14.9.
Случай 2. Пустьa^-i будетk'-+k. Как и в предыдущем случае, вывод (ар_!)=Ф
(>.&) требует, чтобы j-/~k!. Далее i—k', так как иначе k'—>k влекло бы I—+k,
что противоречит предположению, что i-f~k. Кроме того, из i-+y и \-f-ti следует,
что i-+k'.
Случай, иллюстрирующий эти рассуждения, представлен на рис. 14.9, б.
Тогда цепь вывода
ведет к запрещенной ситуации i-*k' и k' —>-k с i-/-k имеет ту же длину, что и исход-
исходная цепь, но включает меньше ребер, входящих в k, на единицу. Это вновь про-
противоречит предположению, которое было сделано относительно выбора исходной
цепи вывода.
Пусть Ё— множество ребер, которые ориентируются на первой фазе, и пусть
Е — соответствующее множество ориентированных ребер. Следующий результат
является прямым следствием леммы 14.2.
-* ->
Теорема 14.3. Подграф G (V, Е ) является транзитивным.
Теорема 14.4. Если алгоритм 14.3 завершается успешно, то он обеспечивает
транзитивную ориентацию графа.
Доказательство. Проводится индукцией по числу фаз в алгоритме. Если ал-
алгоритм ориентирует все ребра данного графа в фазе 1, то, согласно теореме 14.3,
получаемая ориентация транзитивна,
Пусть данный граф G=(V, Е) ориентируется за р фаз. Пусть Ё— множество
ребер, которые получают ориентацию на первой фазе. Тогда, согласно теореме 14.3,
-> ->, ,
подграф G=(V, Е ) транзитивен. Далее, так как подграф G"=(V, Е—Е ) ориен-
тируем за р—1 фаз, то из индуктивного предположения следует, чтоС'= (V, Е—Е )
—> —>
транзитивен. Теперь мы докажем, что ориентированный граф G= (V, ^транзи-
^транзитивен.
->
Предположим, что граф G не транзитивен, т. е. в нем существуют такие три
вершины I, /, k, что [_>./ и j-+k но i-/*k. Тогда оба ребра »-»¦/ и i-*-k не могут
принадлежать Е или Е—Е , так как оба графа G и G" транзитивны. Не нару-
нарушая общности, предположим, что I—>-/ принадлежат Е , а /—*-k — Е—Ё'. Тогда
должно существовать ребро i—k, соединяющее вершины i и k; иначе i—>-/
Алгоритмы анализа графов 329
влекло бы j-*-k по правилу R%. Предположим, что ребро /—k ориентировано
как i-*-k на фазе 1. Тогда граф G' не транзитивен, и мы приходим к противоре-
противоречию. С другой стороны, если оно ориентировано как гч—k на более поздней
фазе, то граф G" не транзитивен — вновь приходим к противоречию.
Таким образом, невозможно существование в графе G таких трех вершин i, j, k,
что «-»-/ и j-*Ji, но i-f-k. Следовательно, граф G транзитивен. Утверждение 1 дока-
доказано.
Перейдем к доказательству утверждения 2. Рассмотрим граф G=(V, Е),
который транзитивно ориентируем. Ясно, что если мы изменим ориентацию всех
ребер в любой транзитивной ориентации графа G, то получаемый ориентированный
граф также является транзитивной ориентацией графа G.
Выберем какое-либо ребро графа G и ориентируем его произвольным образом.
Пусть это будет ребро ?-»-/. Теперь если мы приступим к ориентации других ребер,
используя правила /?i и R2, то ребра, ориентированные таким образом, будут иметь
ту же самую ориентацию во всех возможных транзитивных ориентациях графа, в
которых ребро (—/ ориентировано как I—>./. Это верно потому, что если ориента-
ориентация ребра i—/ определена, то ориентации, выведенные по правилам Rt и R2, обя-
обязательны для транзитивной ориентируемости. Поэтому отсюда вытекает, что если
мы применим алгоритм 14.3 к транзитивно ориентируемому графу, то фаза 1 за-
закончится успешно без появления противоречий с правилом /^ или Я2- Ребра,
ориентированные на первой фазе, будут иметь эту же ориентацию в некоторой
транзитивной ориентации графа G.
Если бы мы смогли доказать, что граф G"=(V, Е—Е'), где Ё— множество
ребер ориентированных на первой фазе, также транзитивно ориентируем, то от-
отсюда вытекало бы, что фаза 2, а также все последующие фазы закончатся успеш-
успешно, получая транзитивную ориентацию графа G. Таким образом, доказательство
утверждения 2 эквивалентно установлению транзитивной ориентируемости гра-
графа G"= (V, Е—Е'). Для выполнения этого поступим следующим образом.
Назовем ребра множества Е' помеченными ребрами, а инцидентные им вер-
вершины — помеченными вершинами. Обозначим множество помеченных вершин
через V'. Отметим, что непомеченные ребра могут быть инцидентны помеченным
вершинам.
Лемма 14.3. В графе G не может быть трех таких помеченных вершин i, j, k,
что ребра i—/ и /—k не помечены, а ребро i—k помечено.
Доказательство. Предположим, что запрещенная ситуация указанного в лем-
лемме типа существует. Другими словами, существует такая тройка помеченных вер-
I
а 6
Рис. 14.10.
шин i, /, k, что ребра i—/ и /—k не помечены, а ребро I—k помечено. Для каждой
такой тройки I, /, k существует ребро /—/ (для некоторого /), которое помечено,
так как / — помеченная вершина. Следовательно, существует цепь вывода из
помеченного ребра i—k к помеченному ребру /—/,
330 Глава 14
Выберем запрещенную ситуацию с такими помеченными вершинами (, /, k,
что цепь вывода Р из i—k и /—/ является кратчайшей среди всех таких цепей,
ведущих к запрещенным ситуациям. Такая конфигурация представлена на
рис. 14.10, а, на котором ромб на ребре указывает, что это ребро помечено, а
штриховая линия указывает, что соответствующее ребро отсутствует.
Следующее после i—k помеченное ребро в кратчайшей цепи Р есть либо i—р,
либо k—р для некоторого р. Мы, не нарушая общности, предположим, что это
ребро есть k—р. Следовательно i~/-p, так как иначе ребро k—р не было бы поме-
помечено из-за присутствия ребра i—k. Далее, существует ребро i—/, соединяющее
i и I, так как иначе ребро i—/ было бы помечено.
Таким образом, р и / различны. Ребро /—р также присутствует в графе, так как
иначе ребро /—k было бы помечено.
Соотношения, установленные до этого момента, изображены на рис. 14.10, б.
Ребро j—p не может быть помеченным, так как из этого следовало бы, что ребро
i—/ было бы помеченным. Таким образом, мы имеем более короткую цепь вывода
из ребра k—р к ребру /—/, ведущую к другой запрещенной ситуации, когда ребро
k—р помечено, а ребра k—/ и /—р не помечены. Это противоречит допущению.
Теорема 14.5. Если граф G=(V, Е) транзнтивно ориентируем, то граф G"=
= (V, Е—Е') также транзитивно ориентируем.
Доказательство. Так как правила Ri и #2 помечают только смежные ребра,
то граф G'=(V', Е') связен. Рассмотрим произвольную вершину v(^V—V'¦ Если
v связана с какой-либо вершиной v? V', то она должна быть связана со всеми вер-
вершинами V', которые смежны с v', так как иначе ребро v—v' было бы помечено.
Поскольку граф G' связен, то отсюда следует, что вершина v должна быть смеж-
смежна со всеми вершинами в V.
Пусть G — транзитивная ориентация графа G, в которой ориентация ребер
из Е' согласуется с ориентацией в графе G.
Разобьем множество V—V' на четыре подмножества следующим образом:
A = {i\i?V — V, и для всех j?V i—*j в G},
= {i\i?V— V, и для всех j ?V j —> i в G} ,
= {i\i?V — V, и для всех j?V i-/-j в G},
D = V-(V'\)A\)B\)C).
Отметим, что D состоит из всех тех вершин множества V—V, которые смежны со
всеми вершинами множества V', но не все ребра, соединяющие вершину в D и
вершины в V', ориентированы в одном и том же направлении.
Транзитивность G влечет следующие соотношения между различными подмно-
подмножествами V-
1) для всех i^A, j?D, k?B i-*-j, \—>k и i—*-k\
2) для всех г'?С и /?D i-/-j;
3) все ребра, связывающие А я С, ориентированы из Л в С.
4) все ребра, связывающие В я С, ориентированы из С в В.
Эти соотношения представлены на рис. 14.11, а.
Изменим ориентацию всех ребер, ориентированных из V' в D, так что все
ребра, связывающие V' и D, станут ориентированы из D в V'. Полученная ориен-
ориентация показана на рис. 14.11, б. Мы утверждаем, что эта ориентация транзитив-
на. Для доказательства этого мы должны показать, что если в графе на рис. 14.11, б
i^-j и /->?, то i->k для любых (, / и k. Ясно, что это верно, если ни у одного из
этих ребер не менялась ориентация.
Таким образом, мы должны рассмотреть только четыре следующих случая:
i?D J€V'k?V';2) i?D j?V'k?B;3) jfD, kfV, i?A;4)j?D,k?V',
Алгоритмы анализа графов
331
Во всех четырех случаях i—*Jt, как показано на рис. 14.11, б. Таким образом,
ориентация, изображенная на рис. 14.11, б, транзитивна. Удалим из графа с
рис. 14.11, б все ребра Ё, а именно все помеченные ребра.
Предположим, что в полученном графе существуют такие вершины i, j и k,
что (->-/и/-*-&, ноi-f*k. Здесь i-/*k означает, что i-/-k, так как из i-h-k вытекало бы,
что ориентация, изображенная на рис. 14.11, б, была бы нетранзитивной. Если
Рис. 14.11.
ребро i—k не принадлежит Е—Ё', то оно должно принадлежать Е', в противном
случае ориентация, изображенная на рис. 14.11, б, вновь была бы нетранзитив-
нетранзитивной. Таким образом, ? и k принадлежат V'.
Так как не существует вершины вне V, которая имела бы ребро, заходящее в
нее из V', и ребро, исходящее из нее в V', то / также принадлежит V'.
Таким образом, мы имеем помеченные вершины I, j, k, непомеченные ребра i—; и
/—k и помеченное ребро i—k. Это невозможно в силу леммы 14.3.
Поэтому ориентированный граф, получаемый после удаления ребер Е' из
графа на рис. 14.11,6, транзитивен. Следовательно, G"=(V, E~Ё) тран-
зитивно ориентируем. Таким образом мы установили верность утверждения 2 и,
следовательно, корректность алгоритма 14.3.
Теперь должно быть ясно, что алгоритм транзитивной ориентации, рассмотрен-
рассмотренный выше, является примером алгоритма, который прост, но доказательство кор-
корректности которого очень запутанно. Более ранний алгоритм для решения этой
задачи приведен в работе [14.15]. Авторы работ [14.14, 14,16] ввели понятие
«графы перестановок» и установили структурное соответствие между данными и
транзитивно ориентируемыми графами. Они рассмотрели также алгоритм, позво-
позволяющий проверить, является ли данный граф графом перестановок.
Некоторые задачи графов, которые трудноразрешимы в общем случае, стано-
становятся простыми при рассмотрении лишь транзитивно ориентируемых графов.
Примерами таких задач могут служить задачи выделения максимальной клики и
минимальной раскраски. Эти задачи возникают при изучении размещения памяти
и решении задачи траесировки [14.16]. Изложение этих задач можно найти в ра-
работах [14.17, 14.18].
14.3. Поиск в глубину
В этом разделе мы опишем последовательный метод обхода
графа. Этот метод, известный как поиск в глубину или, короче,
ПВГ, оказался весьма полезным при построении ряда эффектив-
332 Глава 14
ных алгоритмов. Некоторые из них обсуждаются в остальных
разделах этой главы. Изложение материала в данном разделе ба-
базируется на результатах работы [14.19].
14.3.1. ПВГ в неориентированном графе
Вначале рассмотрим ПВГ в неориентированном графе. Мы
будем предполагать, что рассматриваемые графы связны. Если
граф не связен, то ПВГ выполняется отдельно в каждой компо-
компоненте графа. Мы будем также предполагать, что в графе нет петель.
ПВГ в неориентированном графе выполняется следующим
образом:
В графе G выбираем произвольную вершину, например v, и
начинаем из нее поиск. Начальная вершина v, называемая корнем
ПВГ, после этого считается пройденной.
Затем выбираем ребро (v, w), инцидентное вершине v, и прохо-
проходим его, чтобы попасть в вершину w. Ориентируем при этом ребро
из v в w. Ребро (о, w) после этих действий считается просмотренным
и называется ребром дерева. Вершина v называется отцом вершины
w и обозначается как FATHER (да).
В общем случае, когда мы находимся в какой-либо вершине х,
возникают две возможности:
1. Если все ребра, инцидентные х, уже просмотрены, то мы воз-
возвращаемся к отцу х и продолжаем поиск из FATHER (x). Вершина
х с этого момента называется полностью сканированной.
2. Если существуют непросмотренные ребра, инцидентные х, то
мы выбираем одно из таких ребер (х, у) и ориентируем его из х в у.
Ребро (х, у) с этого момента считается просмотренным. Необхо-
Необходимо рассмотреть два случая:
Случай 1. Если у ранее не была пройдена, то мы проходим ребро
(х, у), вершину у и продолжаем поиск из вершины у. В этом случае
ребро (х, у) называется ребром дерева и х== FATHER (у).
Случай 2. Если у ранее была пройдена, то мы продолжаем поиск
другого непросмотренного ребра, инцидентного х. В этом случае
ребро (х, у) называется обратным ребром. Во время поиска в глу-
глубину, когда вершину х проходят в первый раз, ей сопоставляется
такое целое число DFN(jc), что DFN(jc) равно i, если х является t-й
по порядку прохождения вершиной. DFN(x) называется глубиной х.
Ясно, что глубина указывает порядок, в котором проходят вер-
вершины при поиске в глубину.
ПВГ завершается, когда мы возвращаемся в корень и все вер-
вершины графа пройдены.
Из описания видно, что поиск в глубину разбивает ребра графа
G на ребра дерева и обратные ребра. Легко показать, что ребра
дерева образуют остов графа G. ПВГ вводит ориентацию на ребра
графа G. Получаемый в результате ориентированный граф мы будем
Алгоритмы анализа графов
333
п
ершина
1
2
3
4
5
6
7
8
9
10
11
Список смежности
A,2), A,3), A,4)
B,1), B,3), B,8), B,9), B,10), B,11)
C,1), C,2), C,4), C,5), C,6), C,7)
D,1), D,3), D,5), D,6)
E,3), E,4)
F,3), F,4)
G,3), G,8)
(8,2), (8,7)
(9,2), (9,10), (9,11)
A0,2), A0,9)
A1,2), A1,9)
Рис. 14.12. ПВГ в неориентированном графе.
обозначать через G. Ребра дерева с ориентацией, налагаемой ПВГ,
будут образовывать ориентированный остов в. Этот ориентиро-
ориентированный остов будем называть деревом ПВГ. Отметим, что способ
прохождения графа не единствен, так как ребра, инцидентные
вершине, могут выбираться для рассмотрения в произвольном
порядке.
В качестве примера на рис. 14.12 показан ПВГ в неориентиро-
неориентированном графе. На этом рисунке ребра дерева изображены сплош-
сплошными, а обратные ребра — штриховыми линиями. Для каждой
вершины приведен список инцидентных ей ребер. Такой список
для вершины v называется списком смежности вершины у и опре-
определяет порядок, в котором ребра, инцидентные вершине у, выби-
выбираются для просмотра.
Представим формальное описание алгоритма ПВГ. При этом
рассматриваемый граф не обязательно должен быть связным.
334 Глава 14
Массив MARK, используемый в алгоритме, имеет по одному эле-
элементу для каждой вершины. Сначала мы устанавливаем MARK (v)=0
для всех вершин графа, указывая тем самым, что ни одна вершина
еще не пройдена. Когда вершина проходится, мы устанавливаем-
соответствующий элемент массива MARK равным 1. Массивы
DFN и FATHER определены ранее. TREE и BACK — два мно-
множества, хранящие ребра дерева и обратные ребра соответственно
по мере их выделения.
Алгоритм 14.4. ПВГ в неориентированном графе.
51. G — данный граф. Пусть TREE=0, BACK=0 и t=l. Для каждой вер-
вершины v графа G установить FATHER (v)=0 и MARK fa)—0.
52. (Начало ПВГ в компоненте графа G). Выбрать какую-либо вершину, на-
например вершину г, для которой MARK('P)=O. Положить DFN(r)=r,
MARK (r)=l и и=г. (Вершина г называется корнем рассматриваемой ком-
компоненты.)
53. Если все ребра, инцидентные вершине v, уже помечены как «просмот-
«просмотренные», то идти к шагу S5 (v — полностью сканирована). Иначе выбрать
ребро (v, w), которое еще не помечено как «просмотренное», и идти к шагу
S4.
54. Ориентировать ребро (v, w) от v к w и пометить его как «просмотренное».
Выполнить следующие действия и идти к шагу S3.
1. Если MARKH=0, то положить i=i+\, DFN (w)=t, TREE= TREE
U{(v,w)}, MARKH=1, FATHER (w)=v, v=w.
2. Если MARK («0=1. то положить ВАСК=ВАСК U {(». и>)}.
55. Если FATHER (и)=И=0 (т. e. v — не корень рассматриваемой компоненты),
то положить t)=FATHER (v) и идти к шагу S3. Иначе идти к шагу S6.
56. Если для всех вершин х MARK М= 1, то идти к шагу S7, иначе положить
«'=»'+1 и идти к шагу S2.
57. (ПВГ завершен) HALT.
Пусть Т — дерево ПВГ связного неориентированного графа. Как
мы упоминали ранее, Т — ориентированный остов графа G. Для
дальнейшего обсуждения нам необходимо ввести некоторые тер-
термины.
Если в дереве Т существует ориентированный путь из вершины
v в вершину w, то v называют предком w, aw — потомком v. Более
того, если уфи>, то v называется собственным предком w, a w ¦—
собственным потомком v. Если (и, w) — ориентированное ребро Т,
то у — отец w, a w — сын v. Отметим, что вершина может иметь
более одного сына. Вершина v и все ее потомки формируют под-
поддерево дерева Т с вершиной v в качестве корня этого поддерева.
Две вершины v и w являются соотносимыми, если одна из них —
потомок другой. Иначе v и w являются несоотносимыми. Если v и w
несоотносимы и DFN(y)<DFN(ro), то мы будем говорить, что v
находится слева от w, иначе v находится справа от w. Ребра графа G,
связывающие несоотносимые вершины, называются пересекаю-
пересекающими ребрами.
Покажем сейчас, что в графе G не существует пересекающих
ребер.
Алгоритмы анализа графов
335
FATHER(s,)=FATHER(s2)
Пусть Vi и у2 — какие-либо несоотносимые вершины дерева Т.
Тогда ясно, что существуют такие две вершины Si и s2, что 1)
FATHER (sO=FATHER (s2) и 2) yf
и v2 — потомки Si и s2 соответст-
соответственно (рис. 14.13).
Пусть Г( и Т% — поддеревья
дерева Т с корнями Si и s2 соот-
соответственно. Не нарушая общно-
общности, предположим, что DFN(s!)<
<DFN (s2). Тогда из алгоритма
ПВГ следует, что вершины под-
поддерева Т2 проходятся только после
того, как вершина st полностью
сканирована и не может существо-
существовать ребра, связывающего yt и у2.
Если бы такое ребро существова-
существовало, то у2 была бы пройдена до
того, как было бы завершено ска-
сканирование Si. Таким образом до-
доказано следующее утверждение. Рис. 14.13.
Теорема 14.6. Если (v, w) — ребро в связном неориентированном графе G, то
в любом дереве ПВГ этого графа либо v — потомок да, либо наоборот.
Отсутствие пересекающих ребер в неориентированном графе является важ-
важным свойством, которое образует основу алгоритма, обсуждаемого в следующем
разделе, для выделения двусвязных компонент графа.
14.3.2. ПВГ в ориентированном графе
Поиск в глубину в ориентированном графе в основном совпа-
совпадает с поиском в неориентированном графе. Главное отличие в
этом случае заключается в том, что ребра графа проходятся только
в соответствии с ориентацией. Как следствие этого ограничения,
ребра в ориентированном графе G разбиваются поиском в глубину
в G на четыре категории (а не на две, как в случае неориентиро-
неориентированного графа). Непросмотренное ребро (у, до), встречающееся,
когда мы находимся в вершине у, можно классифицировать следу-
следующим образом:
Случай 1. Вершина w еще не пройдена.
В этом случае (у, w) — ребро дерева.
Случай 2. Вершина w уже была пройдена.
а. Если w — потомок у в лесе ПВГ (т. е. подграфе на ребрах де-
дерева), то ребро (у, w) называется прямым ребром.
б. Если w — предок у в лесе ПВГ, то ребро (у, w) называется об-
обратным ребром.
в. Если v и w несоотносимы в лесе ПВГ и DFN(&y)<DFN(y), то
ребро (у, w) является пересекающим ребром. Отметим, что не су-
336 Глава 14
ществует пересекающих ребер типа {и, w), где DFN(t2>)>DFN(y).
Доказательство этого утверждения проводится аналогично дока-
доказательству теоремы 14.6. Сделаем несколько замечаний:
1. Ребро (у, w) при DFN (ro)>DFN (у) является либо ребром дерева,
либо прямым ребром. Во время поиска различить ребро дерева и
прямое ребро довольно просто, так как ребро дерева всегда ведет
к новой вершине.
2. Ребро (у, w) при DFN (&>)<DFN (v) является либо обратным,
либо пересекающим ребром. Такое ребро является обратным реб-
ребром, если w еще не полностью сканирована в тот момент, когда
встречается ребро (у, w) при просмотре ребер, исходящих из у.
3. Лес ПВГ (подграф на ребрах дерева) может быть несвязным,
даже если рассматриваемый ориентированный граф связен. Первую
вершину, проходимую в каждой компоненте леса ПВГ, будем
называть корнем соответствующей компоненты. Представим опи-
описание алгоритма ПВГ для ориентированного графа. В этом алго-
алгоритме мы используем новый массив SCAN, в котором для каждой
вершины графа присутствует только один элемент. Вначале мы
полагаем SCAN (и)=0 для каждой вершины v, тем самым указывая,
что ни одна из вершин полностью не сканирована. Как только вер-
вершина полностью сканируется, соответствующий элемент в массиве
SCAN полагается равным единице. Как отмечалось ранее, когда
встречается ребро (у, w), для которого DFN (ro)-<DFN (у), мы клас-
классифицируем его как обратное ребро, если SCAN(&>)=0, или как
пересекающее ребро в противном случае. Кроме того, мы исполь-
используем два массива FORWARD и CROSS, в которых хранятся пря-
прямые и пересекающие ребра соответственно.
Алгоритм 14.5, ПВГ в ориентированном графе.
51. Пусть G — данный ориентированный граф без петель. Пусть TREE=0,
FORWARD=0, BACK=0, CROSS=0 и (=1. Для каждой вершины у
графа G положить MARK (у)=0, FATHER (и)=0 и SCAN(u)=0.
52. (Начало ПВГ с нового корня.) Взять произвольную вершину, например г,
для которой MARKW=0. Положить DFN(r)=i, MARK(r)=U v=r.
53. Если все ребра, исходящие из вершины о, уже помечены как «просмо-
«просмотренные», то SCAN (f)=l и идти к шагу S5 (и — полностью сканирована).
Иначе выбрать ребро (у, w), которое еще не помечено как «просмотрен-
«просмотренное», и идти к шагу S4.
54. Пометить ребро (и, ш>) как «просмотренное», выполнить действия 1 и 2
и идти к шагу S3.
1) Если MARK(a>)=0, то положить i=i+l, DFN(a>)=i, TREE=TREE
U {(и, ш)}, MARKW=1, FATHER (w)=v, v=w.
2) В противном случае положить FORWARD=FORWARD (J {(v, да)}
если DFN (a>)>DFN (у), ВАСК=ВАСК П {v, w)}, если DEN (o>)<DFN (v)
и SCAN (o>)=0, иначеCROSS=CROSS (J {(v, w)}.
55. Если FATHER (у)т^0 (т. e. v — не корень), то положить v— FATHER (v)
и идти к шагу S3. Иначе идти к шагу S6.
56. Если для любой вершины MARK(*)=1, то идти к шагу S7, иначе поло-
положить (=1+1 и идти к шагу S2.
57. (ПВГ завершен.) HALT,
Алгоритмы анализа графов
337
Рис. 14.14.
а — ПВГ в ориентированном графе в; б — лес ПВГ для графа О.
На рис. 14.14, а представлен ПВГ в ориентированном графе. Для
каждой вершины указана ее глубина. Ребра дерева изображены
сплошными, а другие ребра — штриховыми линиями. Лес ПВГ
изображен отдельно на рис. 14.14, б. Мы отмечали ранее, что лес
ПВГ ориентированного графа не может быть связным, даже если
этот граф связен. Это видно на рис. 14.14, б. Тогда возникает
задача определения достаточных условий для связности леса ПВГ.
Докажем, что лес ПВГ сильно связного графа связен. Фактически
мы будем доказывать более общий результат.
Пусть Т — лес ПВГ в ориентированном графе G— (V, Е). Пусть
Gi=(Vi, ?;). гДе \Vi\^z2 — сильно связная компонента графа G.
Рассмотрим две произвольные вершины vuw графа G,. Не нарушая
общности, предположим, что DFN(i>)<DFN(&y). Так как G, сильно
связен, то существует ориентированный путь Р из v в w в графе Gt.
Пусть х — вершина пути Р с наименьшей глубиной, и пусть Тх —
338 Глава 14
поддерево дерева Т с корнем х. Отметим, что только пересекающие
и обратные ребра могут выходить из поддерева Тх. Так как эти
ребра ведут к вершинам, имеющим меньшую глубину, чем DFN(x),
то отсюда следует, что по достижении в пути Р вершины из Тх
все последующие в пути Р вершины будут также принадлежать
Тх, в частности w также принадлежит Тх. Поэтому она является
потомком х. Так как DFN(jc)^DFN(y)<DFN(ay), то из алгоритма
ПВГ следует, что v также принадлежит Тх. Таким образом, две
любые вершины v и w графа G,- имеют общего предка, который
также принадлежит G{.
Из вышеизложенного мы можем сделать вывод, что все вершины
Gt имеют общего предка ги который также принадлежит Gt. Среди
всех общих предков в Т для вершин из Gt вершина гг имеет наиболь-
наибольшую глубину. Более того, легко показать, что если v —¦ вершина Giy
го любая вершина на пути дерева из rt к v также будет в G;. Таким
образом, подграф Т, порожденный множеством вершин Vt, связен,
г. е. доказана следующая теорема:
Теорема 14.7. Пусть Gi=(V;Ei) — сильно связная компонента ориентиро-
ориентированного графа G=(V, Е). Если Т — лес ПВГ, то подграф Г, порожденный мно-
множеством вершин Vj, связен.
Следующее утверждение является непосредственным следствием из этой тео-
теоремы.
Следствие 14.7.1. Лес ПВГ сильно связного графа связен. Легко показать,
что алгоритмы ПВГ 14.4 и 14.5 имеют сложность О(п-\-пг), где я — число вершин,
am — число ребер графа.
14.4. Двусвязность и сильная связность
В этом разделе мы рассматриваем алгоритмы Хопкрофта и
Тарьяна [14.20] и Тарьяна [14.19] определения двусвязных и сильно
связных компонент графа. Эти алгоритмы основываются на поиске
в глубину. Мы начинаем обсуждение с алгоритма нвусвязности.
14.4.1. Двусвязность
Напомним (гл. 8), что двусвязный граф — это связный граф без
точек сочленения. Максимальный двусвязный подграф графа назы-
называется двусвязной компонентой графа 1.
Решающим этапом разработки алгоритма двусвязности явля-
является определение простого критерия, который можно использо-
использовать для выделения точек сочленения. Такой критерий формули-
формулируется и обосновывается в следующих двух леммах.
Пусть G= (V, Е) — связный неориентированный граф. Пусть
Т — дерево ПВГ этого графа с вершиной г в качестве корня. Тогда
мы имеем следующее:
1 Отметим, что двусвязная компонента есть то же самое, что и блок, опреде-
определенный в разд. 1.7.
Алгоритмы анализа графов 339
Лемма 14.4. Вершина v^r является точкой сочленения графа G тогда и
только тогда, когда для некоторого сына s вершины v нет обратных ребер, соеди-
соединяющих какие-либо потомки s в Т (включая ее саму) с собственным предком v.
Доказательство. Пусть G' — граф, который получается после удаления вер-
вершины v из графа G. По определению v — точка сочленения графа тогда н только
тогда, когда граф G* несвязен.
Пусть Si, s2, . . ., S/j — сыновья v в Т. Для каждого i, !<:««<?, пусть V; —
множество потомков вершины s,- (включая ее саму) и пусть G; — подграф G', по-
рожденный множеством вершин V,-. Более того, пусть V =V—\JV(, где V =
= V—{v}, и пусть G"— подграф, порожденный множеством вершин V". Отметим,
что все собственные предки v принадлежат множеству V".
Объединение множеств вершин графов G*, G3, . . ., Gj. и G", являющихся под-
подграфами графа Q, равно множеству вершин графа G'. Мы можем показать, что все
эти подграфы связны. Далее, в соответствии с теоремой 14.6, не существует ребер,
соединяющих вершины, принадлежащие различным графам G,'. Отсюда следует,
что G' будет связен тогда и только тогда, когда для любого i(\<i<k) существует
ребро (а, Ь) между вершинами a?V,- и b?V". Такое ребро обязательно будет об-
обратным ребром, а вершина Ь — собственным предком вершины у. Поэтому мы
можем сделать вывод о том, что граф G' будет связен тогда и только тогда, когда
для каждого сына s,- вершины v существует обратное ребро между некоторым по-
потомком вершины S/ (включая ее саму) и собственным предком вершины v.
Лемма 14.5. Корневая вершина г — точка сочленения графа G тогда и
только тогда, когда она имеет более одного сына.
Доказательство в этом случае аналогично доказательству леммы 14.4.
В дальнейшем мы будем ссылаться на вершины, указывая ее глубину. Чтобы
вложить в процедуру ПВГ критерий, определенный леммами 14.4 и 14.5, мы оп-
определяем для каждой вершины v графа G:
LOW (v)=min({v}\J{w\ существует такое обратное ребро (х, w), что х — пото-
потомок и и да — собственный предок v в Т}). A4.1)
Используя значения LOW, определенные выше, мы можем переформулиро-
переформулировать критерий, предложенный в лемме 14.4, как следующую теорему:
Теорема 14.8. Вершина v?r — точка сочленения графа G тогда и только
тогда, когда v имеет сына s, для которого LOM(s)^y.
Отметим, что значение LOW (v) соответствует вершине, помеченной наимень-
наименьшей глубиной и достижимой из v с помощью ориентированного пуги, содержащего
не более одного обратного ребра, т. е. мы можем переформулировать A4.1) сле-
следующим образом: LOW(y)=min ({у} П {LOW(s)ls —сын t/}n (w\(v, w) — обрат-
обратное ребро}). Это эквивалентное определение LOW (v) предполагает следующие
шаги по его вычислению:
1. Когда v проходится в ПВГ в первый раз, полагаем LOW (и) равным глубине v.
2. Когда рассматривается обратное ребро (v, w), инцидентное v, полагаем LOW (v)
равным наименьшему из текущего значения и глубины да.
3. Когда ПВГ возвращается к у после полного сканирования сына s этой вершины,
полагаем LOW (v) равным наименьшему из текущего значения и LOW(s).
Отметим, что для любой вершины v вычисление LOW (v) заканчивается при
завершении ее сканирования.
Рассмотрим вопрос о выделении ребер, принадлежащих двусвязным компо-
компонентам. Для этого мы используем массив STACK- Вначале массив STACK пуст.
По мере просмотра ребер они добавляются в STACK сверху.
Предположим, что ПВГ возвращается в вершину v после полного сканирова-
сканирования сына этой вершины s. В этот момент вычисление LOW (s) завершается. Пред-
Предположим, обнаружено, что LOW (s)>u. Тогда, согласно теореме 14.8, v — точка
сочленения. Далее, если s— первая вершина с этим свойством, то можно легко
определить, что ребро (и, s) вместе с ребрами, инцидентными s и его потомкам,
образуют двусвязную компоненту. Эти ребра являются в точности теми ребрами,
340
Глава 14
которые лежат в массиве STACK сверху, включая ребро (и, s). Они удаляются из
STACK, и начиная с этого момента алгоритм ведет себя так, как если бы он был
применен к графу G', который получается из графа G удалением ребер уже выде-
выделенной двусвязной компоненты.
Например, дерево ПВГ связного графа может иметь вид, изображенный на
рис. 14.15. Glt G2, . . ., G5 —двусвязные компоненты в том порядке, в котором
они выделяются.
Рис. 14.15. Gb G2, G3, G4, G5—двусвязные ком-
компоненты графа.
Представим описание алгоритма определения двусвязности. Этот алгоритм
во многом подобен алгоритму 14.4 с включением соответствующих шагов для вы-
вычисления LOW (v) и выделения точек сочленения и ребер, принадлежащих раз-
различным двусвязным компонентам. Отметим, что в этом алгоритме корневая вер-
вершина рассматривается как точка сочленения, даже если она таковой не является
для выделения двусвязной компоненты, содержащей г.
Алгоритм 14.6. Двусвязность.
51. G — данный связный граф. Для каждой вершины v графа G положить
FATHER (v)=0 и MARK(t>)=0. Положить (=1 и STACK=0.
52. Выбрать произвольную вершину, например г, с MARKM=0. Положить
DFN(r)=(, LOW(г)=г, MARK(r)=l, v=r.
53. Если все ребра, инцидентные v, уже помечены как просмотренные, то
идти к шагу S6. Иначе выбрать ребро (и, хю), которое еще не помечено как «про-
«просмотренное». Пометить это ребро «просмотренным», добавить его в STACK сверху
и идти к шагу S4.
54. Выполнить следующие действия и идти к шагу S3.
1. Если MARKH=0, то положить i=»+l, DFN(m)=/, LOW(a>)=/,
FATHER (w)=v, MARKM=1, v=w.
2. Если MARKH=1, то положить LOW(u)—min {LOW(u), DFN(a>)}.
55. Если FATHER (v)=?0, то идти к шагу S6, иначе идти к шагу S8.
8A)
5B)
Рис. 14.16. Иллюстрация к алгоритму 14.6.
Значения элементов массива LOW приведены в
скобках; {е2, е3, е4, еъ, е6), {ег}, {е7, е„, е9 е10, еп} —
двусвязные компоненты графа.
Алгоритмы анализа графов 341
56. Если LOW (y)>DFN (FATHER (v)), то удалить все ребра из STACK
сверху до ребра (FATHER (v), v) включительно. (Выделена компонента двусвяз-
ности.)
57. Положить LOW (FATHER (a))=min{LOW (v), LOW (FATHER (у))}, v=
=FATHER (а) и идти к шагу S3.
58. (Все компоненты двусвязности выделены.) HALT.
На рис. 14.16 иллюстрируется применение этого алгоритма.
14.4.2. Сильная связность
Напомним, что граф сильно связен, если для любых двух его
вершин у и до существуют ориентированные пути из у к до и из до
к у, а максимальный сильно связный подграф графа G называется
сильно связной компонентой этого графа.
Рассмотрим ориентированный граф G= (V, Е). Пусть Gt= (Vu
Ei), G2—(Y2, E2), . . ., Gk=(Vh, Eh) — сильно связные компо-
компоненты графа G. Пусть Т — лес ПВГ графа G, а 7\, Т2 Тк —
порожденные подграфы Т с множествами вершин Vlt V2, . . ., Vh
соответственно. Из теоремы 14.7 следует, что 7\, Г2, . . ., Th —
связные графы.
Пусть rt A<?<&) — корень Tt. Предположим, что если /</,
то ПВГ завершается в вершине rt ранее, чем в Гр Тогда для каждого
t<!/ либо rt левее г$, либо rt — потомок г} в Т. Gt будет состоять из
тех вершин, которые являются потомками ги но не входят ни в
один из графов Gb G2, . . ., G,_i.
Первым шагом в разработке алгоритма сильной связности
является определение простого критерия, который можно исполь-
использовать для выделения корня при выполнении ПВГ. Следующие
замечания будут полезны при выводе такого критерия. Они яв-
являются прямыми следствиями того факта, что в графе, получаемом
с помощью стягивания всех ребер в каждом из множества ?ь Ег, ...
. . ., Eh (разд. 5.1), нет ориентированных циклов.
1. Не существует обратных ребер вида (у, w), где v?Vt, а до? Vjt
1ф]. Другими словами, все обратные ребра, исходящие из вершин
множества Vlt заканчиваются также в вершинах множества Vt.
2. Не существует пересекающих ребер вида (у, w), где у? Vt, w? Vjt
1ф\ и Г) — предок г{. Таким образом, для каждого пересекающего
ребра (у, w) выполняются следующие два условия:
а. Если у(zVi hw?V] для некоторых i и /, 1ф\, то rj находится
слева от rt.
б. Для некоторого i v^Vt uw?Vt. Предположив, что вершины
именуются их глубинами, определим для каждого у графа G
LOWLINK=min({y}u {w\ существует пересекающее или обратное
ребро из потомка у в до и w находится в той же самой компоненте
сильной связности, что и у}).
Предположим, что у ? Vt. Тогда из вышеприведенного опреде-
определения следует, что LOWLINK(w) — наименьшая вершина в Vt,
до которой существует путь из у, содержащий не более одного
342 Глава 14
обратного или пересекающего ребра. Отсюда следует, что все
ребра такого ориентированного пути обязательно будут принад-
принадлежать графу G(. В качестве непосредственного следствия мы полу-
получаем утверждение
LOWLINK (/-г)=П Для всех l<i<&. A4.2)
Предположим, что v^Vi и уфгг. Тогда в графе Gt существует
ориентированный путь Р из v в rt. Такой ориентированный путь Р
должен обязательно содержать обратные или пересекающие ребра,
так как rt<.v и только пересекающие или обратные ребра ведут к
вершинам с меньшей глубиной. Другими словами, Р содержит
вершину w<.v. Итак, для ьфг% мы получаем
LOWLINK(y)<u. A4.3)
Объединяя выражения A4.2) и A4.3), получим следующую
теорему, которая характеризует корни сильно связных компонент
ориентированного графа:
Теорема 14.9. Вершина v — корень сильно связной компоненты ориенти-
ориентированного графа тогда и только тогда, когда LOWLINK (v)=u.
Следующие действия могут быть полезны для вычисления LOWLINK (f) при
выполнении ПВГ.
1. При прохождении ив первый раз устанавливаем LOWLINK (v) равным глуби-
глубине V.
2. Если рассматривается обратное ребро (v. w), то полагаем LOWLINK (v) равным
минимуму из его текущего значения и глубины да.
3. Если исследуется пресекающее ребро (v, w), для которого v и w принадлежат
одной и той же сильно связной компоненте, то полагаем LOWLINK (v) равным
минимуму из его текущего значения и глубины да.
4. Когда мы возвращаемся в v после полного сканирования сына s вершины v,
то полагаем LOWLINK (v) равным минимуму из его текущего значения и
LOWLINK (s).
Для выполнения шага 3 необходимо проверить, находится ли вершина w в той
же сильно связной компоненте, что и v. Для этого мы используем массив STACK 1,
в который вершины графа G добавляются в порядке прохождения их при ПВГ.
STACK1 используется также при определении вершин, принадлежащих какой-
либо сильно связной компоненте.
Пусть v — первая вершина при поиске в глубину, для которой выполнено
соотношение LOWLINK (v)=v. Тогда, согласно теореме 14.9, v— корень и фак-
фактически является Л?. В этот момент вершины сверху STACK1 до вершины v вклю-
включительно являются вершинами, образующими граф Gj. Таким образом, граф Gt
легко выделяется. Эти вершины удаляются из STACK 1. После этого алгоритм при-
применяется к графу G', который получается из графа G удалением вершин графа Gx.
Положим, как и при рассмотрении реализации шага 3 в вычислении
LOWLINK, что и? Vj и (v, w) — пересекающее ребро, встретившееся при рассмо-
рассмотрении ребер, инцидентных у. Предположим, что w не принадлежит той же самой
сильно связной компоненте, которой принадлежит v. Тогда она должна принадле-
принадлежать сильно связной компоненте Gj, корень гу которой находится левее г,- (см.
выше замечание 2а). Вершины такой компоненты должны быть уже выделены и
более не должны находиться в STACK1 • Таким образом, да будет в той же сильно
связной компоненте, что и v, тогда и только тогда, когда да присутствует в
STACK1.
Представим описание алгоритма сильной связности. Он совпадает с алго-
алгоритмом 14,5 с точностью до включения соответствующих шагов для вычисления ве-
Алгоритмы анализа графов
343
личин LOWLINK и выделения вершин различных сильно связных компонент.
Мы используем в этом алгоритме массив POINT. Вначале POINT (t>)=0 для всех
вершин v. Это указывает на то, что ни одна из вершин еще не включена в массив
STACK1- POINT (у) устанавливается в 1, когда v добавляется в STACK1, и
в 0, когда удаляется из STACK 1-
Алгоритм 14.7. (Сильная связность.)
51. G — данный ориентированный граф. Для каждой вершины v в G поло-
положить MARK(w)=0, FATHER (v)=Q, POINTfo)=0. Положить i=l и
STACK1 = 0.
52. Выбрать произвольную вершину, например г, cMARKW=0. Положить
DFN (/-)=(, LOWLINK (/•)=», MARK (/0=1. Добавить г в STACKL
положить POINT (/0=1 и v=r.
53. Если все ребра, инцидентные v, уже помечены как «просмотренные», то
идти к шагу S5. Иначе выбрать ребро (и, w), которое еще не помечено как
«просмотренное». Пометить его «просмотренным» и идти к шагу S4.
54. Выполнить следующие действия и идти к шагу S3:
1) ЕслиЛШ*КИ=О, то положить t=i+l, DFN (w)=i, LOWLINK И=(,
FATHER (w)=v, MARK(a>)=l. Добавить w в STACK 1 и положить
POINT (да)=1 и v=w.
2) Если MARKH=1, DFN (a>)<DFN (v) и POINT(ш)=1, то положить
LOWLINK(w)=min {LOWLINK(v), DFN(w)}.
55. Если LOWLINK (w)=DFN (и), то удалить все вершины сверху STACK1 до
вершины v включительно. (Эти вершины образуют сильно связную ком-
компоненту). Затем положить POINT (х)=0 для всех вершин х, удаляемых из
STACK 1.
56. Если FATHER (и)=О, идти к шагу S7, иначе положить
1) LOWLINK (FATHER (y))=min {LOWLINK (FATHER (и)), LOWLINK
2) t/=FATHER (v) и идти к шагу S3.
57. Если для каждой вершины х MARK (*)=1, то идти к шагу S8, иначе идти
к шагу S2.
58. (Все сильно связные компоненты выделены.) HALT.
Рис. 14.17 иллюстрирует работу этого алгоритма.
1 (»
Ь (?)
Рис. 14.17. Иллюстрация алгоритма 14.7.
:ния элементов массива LOWLINK приве- ^jw, * ,7т ,
в скобках, {3, 4, 5}, {6, 7, 8, 9, 10}, {2} 1°' ч [Э> Ч
Значен
дены в скобках, {3, 4, 5}, {6, 7, 8, 9, 10}, {2}
и {1, 11, 12, 13) — сильно связные компоненты
графа.
CK
9G)
14.5. Сводимость графа программы
Графом программы называется ориентированный граф G с
выделенной вершиной s, из которой существует ориентированный
путь в любую другую вершину графа G. Другими словами, любая
344
Глава 14
вершина графа G достижима из s. Вершина s называется начальной
вершиной графа G. Мы полагаем, что в графе программы нет па-
параллельных ребер. Это предположение не приводит к нарушению
общности при дальнейшем изложении материала в этой главе.
Потоки управления в программе для ЭВМ можно промодели-
промоделировать графом программы, в котором каждая вершина соответст-
соответствует блоку команд, выполняемых последовательно. Такое пред-
представление оказывается очень полезным при изучении некоторых
вопросов, связанных с задачей оптимизации кода программы.
Многие методы оптимизации кода применимы только тогда,
когда граф программы обладает специальным свойством, называ-
называемым сводимостью [14.21—14.29].
Сводимость графа программы G определяется исходя из следую-
следующих двух преобразований графа G:
Sii Удалить петлю (v, v) из графа G.
S2: Если (у, w) — единственное ребро, входящее вши ay=/=s, то
удалить вершину w. Для каждого ребра (до, х) графа G добавить
ребро (и, х), если (и, х) еще не принадлежит графу G. (Это пре-
преобразование называется коллапсированием вершины w в вер-
вершину V.)
6Т2)
Рис. 14.18.
о — сводимый граф программы G; значения элементов массива H1GHPT1 при-
приведены в скобках; о — граф, получающийся после коллапсировання в гра-
графе О вершины 5 в вершину 4.
Например, коллапсирование вершины 5 в вершину 4 в графе про-
программы, изображенном на рис. 14.18, а, приводит к графу на рис.
14.18, б.
Алгоритмы анализа графов 345
Граф программы сводим, если его можно преобразовать в граф,
гостоящий только из вершины s, многократным применением пре-
преобразований Si и S2.
Например, граф на рис. 14.18, а является сводимым. Это можно
установить последовательным применением коллапсирования вер-
вершин в следующем порядке: 5, 8, 3, 10, 9, 7, 6, 2.
Кок [14.22] и Аллен [14.27] первыми сформулировали понятие
«сводимость», и их определение сделано на основе метода, назы-
называемого интервальным анализом. Определение, приведенное выше,
предложено Хектом и Ульманом [14.30] и эквивалентно опреде-
определению Кока и Аллена.
Если граф сводим, то можно показать [14.30], что любой граф
G', получаемый из графа G с помощью одного или нескольких
применений преобразований Si и 52, также сводим. Таким образом,
порядок применения преобразований при проверке сводимости
несуществен. Некоторые интересные классы программ, например
программы «go-to-less», приводят к графам, которые обязательно
сводимы [14.30], и большинство программ можно промоделировать
сводимым графом посредством процесса «расщепления вершин»
[14.31].
Предположим, что мы желаем проверить сводимость графа G.
Это можно осуществить первоначальным удалением петель с по-
помощью преобразования Sj и последующим подсчетом числа ребер,
заходящих в каждую вершину. Затем мы можем найти вершину w
с единственным заходящим в него ребром (v, w) и применить пре-
преобразование 52, коллапсируя w в v. Мы можем повторять этот
процесс до тех пор, пока граф не будет сжат полностью либо пока
не обнаружится, что он несводим. Ясно, что каждое применение
преобразования 52 требует О (я) шагов, где п — число вершин
графа G. Таким образом, сложность этого алгоритма О (л2). Хопк-
рофт и Ульман [14.32] улучшили этот алгоритм до сложности
О(т log m), где т — число ребер графа G. Тарьян [14.33, 14.34]
позже представил алгоритм, который был лучше алгоритма Хопк-
рофта и Ульмана.
Хект и Ульман [14.30, 14.35] дали несколько полезных струк-
структурных характеризаций графов программ. Одна из них определя-
определяется следующей теоремой:
Теорема 14.10. Пусть G — граф программы с начальной вершиной s. Он
сводим тогда и только тогда, когда не существует вершин v=?s и w=?s, ориентиро-
ориентированных путей Pi из s в v и Р2 из s в да, а также такого ориентированного цикла С,
содержащего v и w, что он не имеет общих ребер, а только по одной общей вер-
вершине с каждым из путей Pi и Р2 (рис. 14.19).
Доказательство этой теоремы приведено в работах [14.30, 14.36].
Перейдем к обсуждению алгоритма Тарьяна для проверки сводимости графа
программы. Этот алгоритм базируется на характеризаций сводимых графов, ко-
которую мы докажем, применяя теорему 14.10, и использует ПВГ. Наше обсуждение
основывается на данных работы [14.33].
346 Глава 14
Пусть G — граф программы с начальной вершиной s. Пусть Т — дерево
ПВГ графа G с s в качестве корня. Далее мы будем ссылаться на вершины по их
глубине.
Рис. 14.19. Основной несводимый граф.
Теорема 14.11. Граф G сводим тогда и только тогда, когда он не содержит
ориентированного пути Р из s в некоторую такую вершину v, что v является
собственным предком в Т некоторой другой вершины из Р.
Доказательство. Предположим, что граф G — несводим. Тогда существуют
вершины v и w, ориентированные пути Pj и Р2 и цикл С, которые удовлетворяют
условию теоремы 14.10. Предположим, что и<да. Пусть Сг— часть цикла С, ве-
ведущая из v к да. Тогда Cj содержит некоторый общий предок как для v, так и для
да, а ориентированный путь, состоящий из Р2 с последующей частью цикла С,
ведущей из да в и, удовлетворяет условию теоремы.
И наоборот, предположим, что существует ориентированный путь Р, который
удовлетворяет условию теоремы. Тогда пусть v — первая вершина пути Р, кото-
которая является собственным предком некоторой более ранней вершины Р. Пусть
w — первая вершина пути Р, которая является потомком v. Пусть Р1— часть Т
из s в v, а Р2— часть Р из s в w. Пусть также С — ориентированный цикл,
состоящий из части Р, ведущей из да в и, с последующей частью дерева, ведущей
из у в да. Тогда мы получаем, что v, w, pi, p2, С удовлетворяют условиям теоремы
14.10. Следовательно, G— несводимый граф.
Пусть для любой вершины v HIGHPT1 (v) — такой наивысший собственный
предок v, что существует ориентированный путь из у в HIGHPT 1 (v) и Р не вклю-
включает в себя собственных предков v, исключая HIGHPT I (v). Мы полагаем
HIGHPT I (v)=0, если не существует ориентированного пути из v в какой-либо-
собственный предок v. На рис. 14.18, а указаны в скобках значения HIGHPT 1
для соответствующих вершин.
Отметим, что при вычислении HIGHPT I (v) мы можем игнорировать пря-
прямые ребра, так как если Р — ориентированный путь из v в да и Р не содержит
предков v, кроме и и да, то мы можем сопоставить каждому прямому ребру из Р
путь из ребер дерева или части его и имеем, кроме того, ориентированный путь
из v в w, который не содержит предков v, кроме v и да.
Алгоритм Тарьяна основан на следующей характеризации графов программ:
Теорема 14.12. G—сводимый граф тогда и только тогда, когда нет таких
вершины v и ребра (и, v), заходящего в v, что еу<НЮНРТ1 (у), где w — наивыс-
наивысший общий предок и и V.
Доказательство. Предположим, что G — несводимый граф. Тогда, согласно-
теореме 14.11, существует ориентированный путь Р из s в v, где v — собственный
предок некоторой другой вершины из Р. Выберем наиболее короткий путь Р.
Пусть да — первая вершина Р, которая является потомком v. Тогда все вершины,
кроме v, которые следуют за да в Р, являются потомками ив Т. Другими словами,
часть Р из w в v не включает собственных предков вершины w, кроме v. Поэтому
HIGHPT I (w)^v. Таким образом, да, HIGHPT 1 (да) и ребро Р, входящее в да,
удовлетворяют условию теоремы.
Алгоритмы анализа графов
347
Предположим, что условия теоремы выполняются. Тогда ребро (и, v) не
является обратным ребром, потому что в таком случае наибольший общий пре-
предок w для и hv равен v и a)=y^HIGHPT I (v). Таким образом, (и, v) — либо пря-
прямое, либо пересекающее ребро. Пусть Р^— ориентированный путь из и в HIGHPTl
(v), который не проходит ни через один собственный предок и, кроме HIGHPT 1 (v).
Тогда ориентированный путь, состоящий из ребер дерева, из s в и с последующим
ребром (и, v) и путем Ръ удовлетворяет условию теоремы 14.11. Поэтому G —
несводимый граф.
Отсюда должно быть ясно, что проверка сводимости графа G,
использующая приведенную выше теорему, включает следующие
основные шаги:
1. Выполнить ПВГ на G с s в качестве корня.
2. Вычислить HIGHPTl (у) для каждой вершины v графа G.
3. Для пересекающих ребер проверить при вычислении HIGHPTl
выполнение условий теоремы 14.12.
4. Для прямых ребер проверить после вычисления HIGHPTl
выполнение условий теоремы 14.12.
Отметим, что, как мы видели раньше, прямые ребра могут
игнорироваться при вычислении HIGHPTl. Из доказательства
теоремы 14.12 следует, что обратные ребра не нужны при проверке
условий упомянутой теоремы.
Для вычисления значений HIGHPTl мы упорядочиваем обрат-
обратные ребра (н, у) по глубине v. Затем мы обрабатываем обратные
ребра в порядке от большей к меньшей вершине у. Первоначально
все вершины не помечены. Чтобы обработать
обратное ребро {и, у), мы должны подниматься
вдоль пути в дереве из и в v, помечая каждую
текущую непомеченную вершину глубиной вер-
вершины у. (Мы не помечаем саму вершину у.) Если
вершина w уже помечена, то мы проверяем все
пересекающие ребра, заходящие в w. Если
(z, w) — такое пересекающее ребро (рис. 14.20),
то мы поднимаемся вдоль пути в дереве из г в у,
помечая каждую непомеченную вершину глуби-
глубиной вершины у. Если z не является потомком у,
то граф G несводим по теореме 14.12 и вычисле-
вычисление прекращается. Мы продолжаем помечать
вершины, пока не будут рассмотрены все пере-
пересекающие ребра, входящие в уже помеченные
вершины, после чего мы рассматриваем сле-
следующее обратное ребро. При рассмотрении
всех обратных ребер метки будут представлять собой значения
HIGHPTl для соответствующих вершин. Каждая непомеченная
вершина имеет значение HIGHPTl, равное 0.
Опишем алгоритм Тарьяна проверки сводимости. В этом алго-
алгоритме мы используем п очередей, называемых ячейками, по одной
для каждой вершины. Ячейка BUCKET (да), соответствующая
аи
Рис. 14.20.
348 Глава 14
вершине w, содержит список обратных ребер (и, w), заходящих
в вершину w. При обработке обратного ребра (и, w) нам необхо-
необходимо хранить вершины, из которых можно попасть вне помощью
ориентированных путей. Для этой цели используется множество
CHECK.
Алгоритм 14.8. (Сводимость графа программы (Тарьян).)
51. Выполнить ПВГ на данном графе программы G на п. вершинах.
Обозначить вершины их глубинами. Упорядочить обратные ребра
(и, v) графа G по глубинам v.
52. Для t=l, 2 п положить HIGHPT 1 @=0, BUCKET (t) = «пустой
список».
53. Добавить все обратные ребра (и, да) в BUCKET (w).
54. Положить w=n—1.
55. Если BUCKET (w) пуст, то идти к шагу S6, иначе идти к шагу S7.
56. Положить да=да—1. Еслида<1, то идти к шагу S16, иначе идти к шагу S5.
57. (Начало обработки нового обратного ребра.) Удалить обратное ребро
(х, w) из BUCKET (w) и положить СНЕСК= {х}.
58. Если CHECK пуст (обработка обратного ребра завершена), то идти к
шагу S5, иначе идти к шагу S9.
59. Удалить и из CHECK.
510. Если и — потомок да, то идти к шагу S11, иначе идти к шагу S17.
511. Если u=w, то идти к шагу S8, иначе идти к шагу S12.
512. Если HIGHPT 1 (ы)=0, то идти к шагу S13, иначе идти к шагу S15.
513. Положить HIGHPT 1 (ы)=да.
514. Для каждого пересекающего ребра (и, и) добавить v в CHECK-
515. Положить и= FATHER (и). Идти к шагу S11.
516. Если u^HIGHPTl (v) для каждого прямого ребра (и, и) (граф сводим),
то HALT, иначе идти к шагу S17.
517. HALT, Граф несводим.
Отметим, что шаг S10 в алгоритме 14.8 требует, чтобы мы имели
возможность определить, является ли вершина w потомком другой
вершины и. Пусть ND (и) — число потомков вершины и в Т. Тогда
мы можем показать, что w — потомок и тогда и только тогда, когда
u^w<u+ND(u) (упражнение 14.3). Мы можем вычислить ND(m)
непосредственно при выполнении ПВГ.
Эффективность алгоритма 14.8 существенно зависит от эффек-
эффективности вычисления HIGHPT1. Чтобы сделать вычисление эф-
эффективным, необходимо избежать проверки вершин, которые уже
были помечены. Тарьян предложил процедуру для обеспечения
этого. Следующее рассуждение образует основу этой процедуры.
Полагаем, что на шаге S12 мы проверяем вершину и, чтобы ее
пометить. Пусть на этой стадии и'— наибольший непомеченный
собственный предок и. Это означает, что все собственные предки и,
кроме и', которые лежат между и' и и в Т, уже помечены. Таким
образом, и' — следующая вершина, которая будет рассмотрена.
Более того, когда и помечена, то все вершины, для которых и яв-
является наибольшим непомеченным собственным предком, будут
иметь и' в качестве своего наибольшего непомеченного собственного
предка. Для реализации этого метода мы будем использовать
Алгоритмы анализа графов 349
множества, пронумерованные в пределах 1—п. Вершина хаф\
будет находиться в множестве v, т. е. в SET (у), если v является
наибольшим непомеченным собственным предком w. Так как вер-
вершина 1 никогда не помечается, то каждая вершина всегда нахо-
находится в каком-либо множестве. Первоначально вершина помещается
в множество, номер которого является номером ее отца в Т. Таким
образом, / первоначально помещается в SET (FATHER (г)) для ?=2,
3, . . ., п. Чтобы пройти шаг S15, мы находим номер и' множества,
содержащего и, и считаем его новым и. Когда и становится поме-
помеченной, мы соединяем множества, пронумерованные и и и', и фор-
формируем новое множество с номером и'. Таким образом, и' стано-
становится наибольшим непомеченным собственным предком всех вершин
из старого множества SET (и).
Иными словами, метод, описанный выше, можно реализовать
путем замены шагов S12 — S15 в алгоритме 14.8 на следующую
последовательность шагов. Множества SET инициализируются
указанным ранее способом.
S12'. Положить и'— номер множества, содержащего и.
S13'. Если HIGHPT 1 (и)=0, то идти к шагу S 14, иначе идти к шагу S16.
S14'. Положить 1) HIGHPT 1 (ы)=ш и 2) SET (u')=SET (и) () SET («').
S15'. Для каждого пересекающего ребра (v, и) добавить v в CHECK-
SI 6'. Положить и=и. Идти к шагу S11.
А1ожно показать, что такой модифицированный способ вычисле-
вычисления HIGHPT1 требует О(п) объединений множеств, О(т+п) вы-
выполнений шага S12' и О(т-\-п) теоретико-множественных операций.
Если мы используем алгоритм Фишера [14.37], а также Хопкрофта и
Ульмана [14.38] для выполнения объединений непересекающихся
множеств и шага S12, то из анализа, проведенного Тарьяном [14.
39], следует, что алгоритм сводимости имеет сложность 0(т а(т, п)),
где а(т, т) — очень медленно растущая функция, которая связана
с обращением функции Аккермана А (р, q) и определяется следую-
следующим образом: а(т, n)=min {г>3|Л (г, 4 Гm/n~])>log2и}. Функция
Аккермана имеет вид
= 0, р>1.
A(p-\,A(p,q-\)),
Отметим, что функция Аккермана является очень быстрорастущей
функцией. Поэтому А C, 4) — очень большое число, и можно пока-
показать, что а (т, п)<3, если тфп и log2«</4 C, 4). Алгоритм выпол-
выполнения теоретико-множественных операций, упомянутый ранее,
описан в работах [14.40, 14.41]. Алгоритм 14.8 неконструктивен
в том смысле, что он не дает нам порядка, в котором необходимо
350
Глава 14
коллапсировать вершины при сведении сводимого графа. Однако,
как мы увидим позже, эту информацию можно легко получить
при работе алгоритма.
Будем приписывать вершинам при выполнении ПВГ номера,
называемые SNUMBER, со значениями в пределах п — 1 в порядке
завершения сканирования вершин. Фактически это тот же порядок,
что и порядок, в котором устанавливаются в 1 соответствующие
элементы массива SCAN в алгоритме 14.5. Можно легко прове-
проверить что
1) если (v, w) — ребро дерева, то SNUMBER (u)<SNUMBER (w);
2) если (у, w) — пересекающее ребро, то SNUMBER (y)<SNUMBER
И;
3) если (v, w) — обратное ребро, то SNUMBER (y)>SNUMBER (ay);
4) если (v, w) — прямое ребро, то SNUMBER (u)<SNUMBER (w).
На рис. 14.21 в скобках указаны величины SNUMBER для соот-
соответствующих вершин графа, представ-
представленного на рис. 14.18, а.
Предположим, что используется
алгоритм сводимости и каждый раз,
когда мы помечаем вершину v, мы при-
приписываем ей пару (HIGHPT1 (у),
SNUMBER (у)). Когда алгоритм закан-
заканчивается, мы упорядочиваем вершины
так, что вершина, помеченная парой
(xt, г/i), появляется раньше вершины,
помеченной парой (х2, z/2), тогда и
только тогда, когда х{>х2 илид;1=л;2
и yi<y2- Этот порядок вершин назы-
называется порядком редукции. Отметим,
что непомеченной вершине v припи-
приписывается пара (О, SNUMBER (v)).
Предположим, что va, vb, vc...—
порядок редукции для сводимого гра-
Фа пР°гРаммы G. Пусть Г —дерево
пвг для графа G с вершиной s
Рис. 14.21. Граф рис. 14.18, а со в качестве корня. Используя теоре-
значениями элементов массива му 14.12 и свойства чисел SNUMBER,
SNUMBER, указанными в скоб- указанные ранее, легко показать, что
ребро дерева (и, va) является един-
единственным ребром, заходящим в va.
Предположим, что мы коллапсируем вершину va в вершину и,
и пусть G' — получаемый сводимый граф. Пусть также 7" —
дерево, получаемое из Т сжатием ребра (и, va). Тогда ясно, что
7"—дерево ПВГ для графа G'.
1. Пересекающее ребро G соответствует пересекающему ребру либо
прямому ребру графа G' либо не имеет соответствия.
Алгоритмы анализа графов 351
2. Прямое ребро графа G соответствует прямому ребру графа G'
либо не имеет соответствия.
3. Обратное ребро графа G соответствует обратному ребру графа G'
либо не имеет соответствия.
Можно показать, что соответствующие значения HIGHPT1 для
вершин графа G' совпадают со значениями для вершин графа G.
То же самое справедливо и для значений SNUMBER. Таким об-
образом, vb, vc, . . . является порядком редукции для графа С.
Повторяя приведенные выше аргументы, получаем доказательство
следующей теоремы.
Теорема 14.13. Если граф программы G сводим, то мы можем коллапсировать
вершины графа G в порядке редукции, используя преобразование S2 (с промежу-
промежуточным применением преобразования Sx). Например, из величин HIGHPT 1,
приведенных на рис. 14.18, а, и величин SNUMBER, приведенных на рис. 14.21,
порядком редукции для графа с рис. 14.18, а является следующая последователь-
последовательность: 4, 5, 3, 8, 10, 9, 7, 6, 2.
14.6. Доминаторы в графе программы
Пусть G — граф программы с начальной вершиной s. Если в нем
вершина v входит в каждый ориентированный путь из s в w, то v на-
называется доминатором w и обозначается DOM (w). Если v — доми-
натор w и любой другой доминатор w доминирует также и над у,
то v называется непосредственным доминатором w и обозначается
ГООМ(да). Например, в графе программы G, представленном на рис.
14.22, а, вершина 1 является непосредственным доминатором вер-
вершины 9. Можно показать, что каждая вершина графа программы
G= (V, E), кроме начальной вершины s, имеет единственный непос-
непосредственный доминатор. Ребра {(IDOM (w), w)[w?V—{s}} обра-
образуют ориентированное дерево с корнем s, называемое деревом доми-
наторов графа G. Вершина v доминирует над вершиной w тогда и
только тогда, когда она является собственным предком w в дереве
доминаторов. Если графО представляет собой схему потоков управ-
управления в программе ЭВМ, то дерево доминаторов дает информацию
о том, какой вид выполнения программы является надежным. Дере-
Дерево доминаторов графа программы, изображенного на рис. 14.22, а,
представлено на рис. 14.22, б.
Рассмотрим алгоритм Ленгауэра и Тарьяна [14.42] для нахожде-
нахождения дерева доминаторов графа программы. Этот алгоритм является
более простым и быстродействующим вариантом алгоритма, пред-
представленного ранее Тарьяном [14.43].
Пусть G — граф программы с начальной вершиной s. Пусть Т —
дерево ПВГ для этого графа. В последующем мы будем иден-
тифицировать вершины графа G их глубиной. Более того, х -> у
* #
означает, что х является предком у и Т, х -*¦ у означает, что х -*¦ у
в Г и хфу, а х ->- у означает, что х является отцом у в Т.
352
Глава 14
Рис. 14.22.
а — граф программы G', 6 — дерево домннаторов графа G,
Следующие две леммы необходимы для разработки алгоритма.
Лемма 14.6 легко выводится из положений, ведущих к теореме 14.7.
Лемму 14.7 можно доказать с помощью этих же положений.
Лемма 14.6. Если v и да — вершины графа G, для которых верно, что v<w,
то любой ориентированный путь из ив да должен содержать общего предка вершин v
uwbT.
Лемма 14.7. Пусть wj^s, v~*w и Р — ориентированный путь из s в w. Пусть
х — последняя'вершина Р, для которой x<Cv, и пусть у — первая вершина, следую-
* *
щая за хв Р и удовлетворяющая условиям: v-t-y-t-w. Если Q : x=v0, vu o2, ..., vk=
=у — часть пути из х в у, то и,->г/ для 1 <:«<:&—1.
Определим для каждой вершины w^s: SDOM(a>)=min {v\ существует такой
ориентированный путь v=v0, vlt t>2 vk=w, что v{>w для \<.i<.k— 1}.
SDOM^) будем называть полудоминатором w. Из определения следует, что
SDOM(a>)<o\
A4.5)
Алгоритмы анализа графов 353
На рис. 14.22, а сплошные ребра являются ребрами дерева, а штриховые не явля-
являются ребрами дерева по отношению к ПВГ. Полудоминатор каждой вершины ука-
указан в скобках рядом с номером вершины.
Алгоритм Ленгауэра и Тарьяна в качестве первого шага вычисляет полудо-
минаторы для всех вершин. Затем полудоминаторы используются для вычисле-
вычисления непосредственных доминаторов вершин. Следующая теорема предоставляет
способ их вычисления.
Теорема 14.14. Для любой вершины w^s,
SDOM (w) = min ({v | (i>, w)?Euv<w}[J{SDO№ (u)\u > w и существует такое
ребро
(v, w), что и —>- v}). A4.6)
Доказательство. Пусть х равно правой части выражения A4.6). Можно по-
показать, используя определение полудоминаторов, что SDOM (w)<?.x.
Чтобы доказать, что SDOM (w)^x, положим </=SDOM(su), и пусть i/=f0,
vlt v2, . . ., vk=w — такой ориентированный путь, что v{>w для \<i<?k—1. Если
А=1, то в соответствии с выражением A4.5) (y,w)?E и y<w. Таким образом,
SDOM(ttj)=(/>*. Предположим, что k>l. Пусть / — минимальное число, для
которого верно, что /^1 и Уу-*и^_1. Такое число / существует, так как в качестве
него можно использовать число k—1. Потребуем, чтобы vf>vj при 1 <('¦</—1.
Предположим обратное, что и,-<и/ для некоторых 1<!<г/—1. Тогда выберем
такое число t, что l<i</—1 и и,- — минимально. Согласно лемме 14.6, и,—*иу, что
противоречит выбору числа /. Это доказывает правомерность приведенного выше
требования.
В свою очередь это влечет следующее утверждение: SDOM(a»)=y^SDOM(i»y).
Так как vj>w, и,—*-ffc-i и (u^-i» w)?E, то из выражения A4.6) получаем, что
SDOM(vj)^x. Следовательно, SDOM(a>)S:*. Таким образом, либо k=l, либо
/?>1, а мы имеем SDOM(ny)>x, и теорема доказана.
Перейдем к обсуждению способа определения непосредственных доминаторов
по полудоминаторам.
Доказательство следующих трех лемм достаточно просто и не приводится,
В доказательстве леммы 14.9 используется лемма 14.6.
+
Лемма 14.8. Для любой вершины w=?s IDOM(sy)->-w.
+
Лемма 14.9. Для любой вершины w=?s пусть u=SDOM(na), тогда v->-w.
Лемма 14.10. Для любой вершины vd=?s пусть w=SDOM(tt)), тогда
IDOM (ш)->и.
Лемма 14.11. Пусть для вершин v и w выполняется условие v—>w. Тогда
либо u4-IDOM(sy), либо IDOM(a>)-?mOM(i>).
Доказательство. Пусть х—произвольный собственный потомок ШОМ(и),
который является собственным предком v. Тогда существует ориентированный
путь из s в v, который не включает *. Конкатенацией этого пути с путем в Т из v
в а; мы получим ориентированный путь из s в w, который не включает я. Таким
образом, Ш0М(ш) должен быть либо потомком v, либо предком IDOM(u).
Используя приведенные выше леммы, мы докажем два результата, которые
предоставляют способ определения непосредственных доминаторов по известным
полудоминаторам.
Теорема 14.15. Пусть w=?s и o=SDOM (w). Предположим, что для каждого «,
такого, что v-yu—yw, выполняется неравенство SDOM(«)^SDOM(sy). Тогда
Ю0М(и>)=».
Доказательство. По лемме 14.10 !DOM(w)->-v, и поэтому, чтобы доказать, что
ГООМ(ш)=о, достаточно показать, что v доминирует над да,
12 № 1449
864 Глава 14
Рассмотрим произвольный ориентированный путь Р из s в w. Пусть х — по-
последняя вершина на этом пути, для которой *<о. Если такой вершины не суще-
существует, то v=s доминирует над w. Иначе пусть у — первая вершина, следующая
* *
за х по пути и удовлетворяющая условию v->-y-+-w. Пусть Q: x=v0, и1? v2, . . ., и^=
=у — часть пути Р от х к у. Тогда по лемме 14.7 vf>y для 1 «i«&—1. А из этого
вместе с определением полудоминаторов следует, что SDOM (</)«x<u=SDOM (w).
Поэтому SDOM (у) <SDOM (w).
По предположению теоремы SDOM («)!>SDOM (w) для каждого и, удовлетво-
+ *
ряющего условию v-+u—>-w. Поэтому у не может быть собственным потоком v.
* *
Так как у удовлетворяет условию v-+y->-w, то tf=v и v входит в путь Р. Из произ-
произвольности пути Р следует, что v доминирует над ш.
Теорема 14.16. Пусть w=?s и w=SDOM (w). Пусть и — вершина, для которой
+ *
SDOM (и) минимальна среди вершин и, удовлетворяющих условию v->-u->-w.
Тогда SDOM (u)«SDOMИ и IDOM (u)=\DOh\(w).
*
Доказательство. Пусть г — вершина, для которой v-+z-+w. Тогда SDOM («)«
«SDOM (z)«u= SDOM (да). По лемме 14.10 IDOM (ay) — предок v и, следователь-
следовательно, собственный предок и. Таким образом, по лемме 14.11 ГО0М(ш)->-Ш0М(«).
Чтобы доказать, что IDOM («)= IDOM (w), достаточно показать, что IDOM(«) до-
доминирует над w.
Рассмотрим произвольный ориентированный путь Р из s в ш. Пусть * — по-
последняя вершина в Я, удовлетворяющая условию x<IDOM(«). Если не сущест-
существует такой вершины х, то IDOM («)=s доминирует над w. Иначе пусть у — первая
вершина, следующая за х в Р и удовлетворяющая условию IDOM (u)-+y-ню.
Как и в доказательстве теоремы 14.15, мы можем показать, используя лемму
14.7, что SDOM((/)«x. Так как по лемме 14.10 IDOM («)«SDOM («), то мы имеем
SDOM((/)«x<IDOM(j/)<SDOM(«). Следовательно, SDOM(i/)<SDOM(«).
Так как и — минимальный полудоминатор среди вершин пути в дереве из
г в w, то у не может быть и собственным потомком v. Более того, у не может быть
ни собственным потомком IDOM (и), ни предком «, поскольку в этом случае ори-
ориентированный путь, состоящий из пути в дереве из s в SDOM (у) с последующим
таким путем SDOM(j/)=f0, vlt v2, ¦ . ., vk, что vf>y для 1«(«&—1, и следующим
затем путем в дереве из у в и не включал бы IDOM(«). Однако пути из s в и, не
включающего IDOM (и), не существует.
Единственной остающейся возможностью является то, что IDOM («)=(/. Та-
Таким образом, IDOM (и) лежит на ориентированном пути Р из s в w. Так как путь
выбран произвольно, то IDOM (и) доминирует над w.
Следующий результат является непосредственным следствием теорем 14.15
и 14.16.
Теорема 14.17. Пусть w=?s и u=SDOM(ai). Пусть и — вершина, для которой
SDOM является минимальной среди вершин и, удовлетворяющих условию v—*¦
+ * „
-+u-+w. Тогда
„ . s ( v, если SDOM (u) = SDOM (w),
IDOM (w) = <
( IDOM («) в других случаях.
Сейчас мы уже готовы описать алгоритм доминаторов Ленгауэра и Тарьяна. Глав-
Главными шагами в этом алгоритме являются следующие действия:
Алгоритм 14.9. (Доминаторы Ленгауэра и Тарьяна.)
51. Выполнить ПВГ на данном графе программы G=(V, Б) с начальной вер-
вершиной в качестве корня.
52. Вычислить полудоминаторы всех вершин, применяя теорему 14.14.
Провести вычисления для всех вершин последовательно в порядке уве-
увеличения глубин.
Алгоритмы анализа графов 355
53. Неявно определить непосредственные доминаторы для каждой вершины,
применяя теорему 14.17.
54. Явно выделить непосредственные доминаторы для каждой вершины, про-
проводя вычисления в порядке возрастания глубины вершин.
Реализация шага S1 тривиальна. В последующем мы будем обоз-
обозначать вершины их глубинами, полученными на шаге S1.
При описании шагов S2 — S4 мы используем массивы: FATHER
(определенный так же, как и в разд. 14.3), SEMI, BUCKET и DOM,
определенные ниже.
SEMI (да). 1) До вычисления полудоминатора да имеем SEMI
(w)=w. 2) После вычисления полудоминатора да SEMI (o>)=SDOM
(да).
BUCKET (да). Это — множество вершин, полудоминатором кото-
которых является да.
DOM (да). 1) Если после шага S 3 полудоминатор да есть ее непос-
непосредственный доминатор, то DOM (да) есть непосредственный домина-
доминатор да, иначе DOM (да) есть такая вершина v, что v<.w и непосредст-
непосредственный доминатор v является также непосредственным доминато-
ром да. 2) После шага S 4 DOM (да) есть непосредственный до-
доминатор да. После выполнения шага S1 алгоритм проходит шаги S2
и S3 одновременно, обрабатывая вершины да=рМ в порядке уменьше-
уменьшения их глубин. При этом во время вычисления алгоритм поддержи-
поддерживает лес, содержащийся в дереве ПВГ графа G. Лес состоит из мно-
множества вершин V и множества ребер {(FATHER (да), да)|верши-
на да уже обработана}. Алгоритм использует процедуры построения
леса и выделения из него информации.
Этими процедурами являются LINK (v, да). Добавить ребро (и,
w) в лес.
EVAL (у). 1) Если v — корень дерева в лесу, то EVAL (v) равно
v. 2) Иначе, пусть г — корень дерева в лесу, которое содержит v,
и пусть и — вершина, для которой SEMI (и) — минимальная среди
+ *
вершин, удовлетворяющих условию г ->¦ и -*¦ и, тогда EVAL (v) = u.
Для обработки вершины да алгоритм вычисляет полудоминатор
ш, применяя для этого теорему 14.14. Таким образом, алгоритм при-
принимает вид SEMI (да) =min {SEM.l(EVAL}v))\(v, да)??}.
По завершении вычисления SEM1 (да) есть полудоминатор да.
Это следует из теоремы 14.14 и определения EVAL (у). Рассчитав
SEMI (да), алгоритм добавляет да в BUCKET (SEMI (да)) и добавляет
новое ребро в лес, используя LINK (FATHER (да), да). На этом шаг
S2 для да завершается. Затем алгоритм выполняет шаг S3, рассмат-
рассматривая каждую вершину из BUCKET (FATHER (ay)).
Пусть v — такая вершина. Алгоритм неявно определяет непос-
непосредственный доминатор v с помощью теоремы 14.17. Пусть «=EVAL
(v), тогда и есть вершина, для которой выполняется FATHER (да) -*•
12*
356
Глава 14
old)
BJо
0 7G)
CK 0
0 6F)
DL 0
EM 0
(8)8 0
0)9 0 A0) Ю о
11 A1)
13G1
0 1 A)
B) 2 о
CK 0
FN 0
(8) 8 о
D) 4 о
EM0
(9)9° A0I00
6
Рис 14.23,
11 A)
13G)
Алгоритмы анализа графов 357
+ #
->- и-»-и и полудоминатор которой минимален. Если SEMI («)=SEMI
(и), то FATHER (w) есть непосредственный доминатор v и алгоритм
полагает DOM(y)=FATHER(ai). Иначе и и w имеют один и тот же
непосредственный доминатор и алгоритм полагает DOM(v) — u.
Этим завершается шаг S3 для v.
На шаге S4 алгоритм просматривает вершины в порядке возрас-
возрастания их глубин, выделяя непосредственные доминаторы, неявно
вычисленные на шаге S3. Таким образом, шаг S4 включает в себя
следующие действия:
Для каждого г=2, 3, .. ., п, если DOM(()=^SEMI (/), DOM(i) =
= DOM (DOM @).
Для иллюстрации работы алгоритма доминаторов рассмотрим
граф программы, изображенный на рис. 14.22, а. Лес, полученный
перед обработкой вершины 11, также изображен на рис. 14.23, а.
Элементы массива SEMI на этой стадии указаны в скобках следом
за соответствующими вершинами. Рассмотрим вершину 11. Ребра
A, 11) и G, 11) заходят в вершину 11. Поэтому SEMI (ll) = min
{SEMI (EVAL A)), SEMI (EVAL G))}.
EVAL A) = 1, так как вершина 1 является корнем дерева в лесу.
По той же причине EVAL G)=7. Таким образом, SEMI (ll) = min
{SEMI A), SEMI G)}=min {1, 7}=1. Алгоритм добавляет ребро
G, 11) в лесу и вершину 11 в BUCKET (SEMI A1))=BUCKET A).
Новый лес с элементами массива SEMI представлен на рис. 14.23, б.
На этом завершается шаг S2 для вершины 11.
Алгоритм рассматривает BUCKET (FATHER A1))=BUCKET
G). Вершина 13 является единственной вершиной, полудоминатор
которой равен 7. Поэтому BUCKET G) = {13). EVAL A3) = 11, так
как SEMI A1) является минимальной среди вершин и, для которых
выполняется 7->-«-> 13 (рис. 14.23, б). Так как SEMI A3)^=
SEMI(ll), то алгоритм устанавливает DOMA3) = 11. На этом за-
завершается шаг S3 для вершины 11.
12*
Вершина
2
3
4
5
б
7
8
9
10
11
12
13
№ ?449
Массиз DOM
1
2
2
1
2
1
7
I
1
1
11
11
Полудоминатор (SEMI)
1
2
2
1
2
1
7
1
1
1
11
7
358 Глава 14
После того как будут выполнены шаги S2 и S 3 для всех вершин
хюф\, будут доступны и полудоминаторы всех вершин. Значения
элементов массива DOM и полудоминаторов представлены выше
Для каждой вершины \юф\Ъ DOM(ay)=SEMI (w). До сих пор для
всех вершин ш, кроме 13, ШОМ(ш)=ЕЮМ(ю). Для вершины 13 по-
получаем DOMA3)=DOM (DOMA3))=DOMA1) = 1. Поэтому IDOM
A3)=1. На этом завершается шаг S4 алгоритма, и мы получаем дере-
дерево доминаторов, представленное на рис. 14.22, б.
Ясно, что сложность приведенного выше алгоритма существенно
зависит от реализации инструкции LINK и EVAL. Тарьян [14.44]
обсуждает два метода реализации, которые используют сжатие пу-
пути. Один из них описывается ниже.
Чтобы представить лес, построенный при выполнении инструк-
инструкций типа LINK, алгоритм использует два массива: LABEL и ANCE-
ANCESTOR. Вначале ANCESTOR (и)=0 и LABEL {v)=v для каждой
вершины v. В общем случае ANCESTOR (у)=0, только если v —
корень дерева в лесу, иначе ANCESTOR (v) является предком v
в лесу.
Алгоритм поддерживает метки так, что они удовлетворяют сле-
следующему свойству: пусть v — произвольная вершина, а г —
корень дерева в лесу, содержащем v, и пусть v=vh, ofe_lt . . .,
vo=r будут такими, что ANCESTOR (уг)=у;_1 для l^t^/г.
Пусть х — вершина, для которой SEMI (x) — минимальная среди
вершин х? {LABEL (vt)\ l^i^k}. Тогда справедливо следующее
свойство: х — вершина, для которой SEMI(x)— минимальная вер-
шина среди вершин х, удовлетворяющих условию г -*¦ х -> v. Чтобы
выполнить LINK(y, w), алгоритм полагает ANCESTOR (w)=v.
Чтобы выполнить EVAL (v), алгоритм следует за указаниями на
предка и определяет такую последовательность v=vh, vh_1, . . .,
vo=r, что ANCESTOR (vt)=vi_i для l^t^ft. Если v=r, то алгоритм
устанавливает EVAL(o)=y. Иначе алгоритм полагает ANCESTOR
\vi)=r для 2^i^k, одновременно изменяя метки следующим обра-
образом (чтобы поддерживать упомянутое ранее свойство):
Если SEMI (LABEL) (y^XSEMI (LABEL (vt)), то LABEL(w,-)=
= LABEL (vi_i). Затем алгоритм устанавливает EVAL (v) =
= LABEL (v).
Тарьян [14.44] показал, что сложность реализации (п—1) ин-
инструкций LINK и (т+п—1) инструкций EVAL с помощью описан-
описанного ранее метода равна О(т log n). Если мы используем более изощ-
изощренную реализацию инструкций LINK и EVAL, которая также опи-
описана в работе [14.44], то алгоритм потребовал бы для своей реализа-
реализации О(т а (т, п)) шагов, где <х(т, п) — обращение функции Аккер-
мана, определенное в предыдущем разделе.
Другие алгоритмы доминаторов представлены в работах [14.45,
14.46].
Алгоритмы анализа графов 359
14.7. Замечания, касающиеся литературы
Различные графовые и комбинаторные алгоритмы описаны в ра-
работах [14. 40, 14.47—14.53]. Обсуждение методов представления
графов имеется в работах [14.40, 14.41].
Время выполнения алгоритмов, описанных в этой книге, ограни-
ограничено сверху некоторым полиномом от числа вершин и числа ребер
графа. Пусть 53 — класс всех проблем, которые можно решить ал-
алгоритмами с полиномиальной сложностью. Существует большое
число проблем, для которых не известно, существуют ли алгоритмы
с полиномиальным временем решения. Многие из них можно решить
за полиномиальное время недетерминированными алгоритмами.
Класс таких проблем обозначается через 9?5\ Проблема является
9J55-трудной, если детерминированный алгоритм с полиномиаль-
полиномиальной сложностью для ее решения можно использовать для поиска
детерминированного алгоритма с полиномиальной сложностью для
решения любой проблемы из $13*. ШЗ3 — трудная проблема из ЩЗ3
называется 9?^-полной. Таким образом, если детерминированный
алгоритм с полиномиальной сложностью для какой-либо проблемы
из класса Э^-полных существует, то такой алгоритм сущест-
существует для каждой проблемы в 915\ В основополагающей работе
[14.54] показано, что проблема выполнимости Э^-полиа. В ра-
работе [14.55] демонстрируется Э^-полнота большого класса проб-
проблем, ав работах [14.56, 14.57] дается элегантное введение в теорию
^^-полноты и доказывается Э^-полнота нескольких графовых
проблем. Упоминания об этом имеются также в работах [14.40,
14.51, 14.57]. В указанных работах имеются сообщения о многих
интересных графовых алгоритмах. Некоторые из них перечислены в
конце следующей главы.
Упражнения
14.1. Транзитивная редукция ориентированного графа G= (V, E) определяется
как граф G'= (V', Ё) с минимальным числом ребер, транзитивное замыкание ко-
которого совпадает с графом G. Сконструируйте алгоритм нахождения транзитивной
редукции ориентированного графа. Как этот алгоритм связан с алгоритмом тран-
транзитивного замыкания [14.58]?
14.2. Используя ПВГ, сконструируйте алгоритмы для следующих проблем:
а) топологическая сортировка вершин графа;
б) выделение мостов графа;
в) выделение остовного леса;
г) выделение множества базисных циклов и базисных разрезающих множеств;
д) проверка графа на двудольность;
в) проверка, является ли заданное множество ребер разрезом графа.
14.3. Рассмотрим граф G; пусть Т — остовный лес ПВГ для графа G. Пусть
ND (v) — число потомков v (включая ее саму). Докажите, что вершина w является
потомком v тогда и только тогда, когда выполняется соотношение DFN (а)<
«DFN (tt>)<DFN (f)+ND (v).
14.4. Модифицируйте алгоритм ПВГ так, чтобы он включал шаги для вычисления
ND()
12**
360 Глава 14
14.5. Пусть Т — дерево ПВГ в связном графе G. Пусть Gs— полный подграф гра-
графа G. Покажите, что все вершины Gs лежат на одном ориентированном пути в Т.
14.6. Пусть Т — дерево ПВГ в ориентированном графе G. Покажите, что если
С — ориентированный цикл графа G, a v — вершина, входящая в С и имеющая
минимальную глубину, то и — предок в Т любой вершины цикла С.
14.7. Поиск в ширину (ПВШ) просматривает связный граф G следующим образом:
51. В начале ни одна из вершин G не помечена.
52. Выбирать вершину s и пометить ее как 0.
53. Положить (=0.
54. Пусть S — множество всех непомеченных вершин, смежных по меньшей
мере с одной вершиной с меткой i.
55. Если S — пустое, то STOP, иначе пометить все вершины в S меткой Н-1.
56. Положить (=ч+1 и идти к шагу S4.
Покажите, что ребра, проходимые при пометке вершин, образуют остов графа G.
14.8. Покажите как ПВШ можно использовать для вычисления расстояния от
вершины s до всех вершин связного графа G- (Под расстоянием между вершинами
и и v мы понимаем длину и—и-пути, включающего наименьшее число ребер.)
14.9. Покажите, что множество обратных ребер сводимого графа программы
уникально, т. е. все остовные леса ПВГ имеют одно и то же множество обратных
ребер [14.35].
14.10. Используйте результат теоремы 6.10 для построения алгоритма нахожде-
нахождения всех остовов связного графа.
14.11. Пусть Т —дерево на п вершинах. Пусть {1, 2, . . ., п} — множество вер-
вершин Т. Мы можем сопоставить единственную последовательность (^, t2, . . .,
<л_2) дереву Т следующим образом: пусть st— первая вершина степени 1 в Т,
тогда вершина, смежная slt есть первый элемент последовательности tf. Удалим
% из Т. Если s2— первая вершина степени 1 в Т—slf то вершина, смежная cs2b
Т—Si, есть ta. Удалим s2 и будем повторять операцию до тех пор, пока не будет
определена вершина tn^2- Последовательность (^, t2 ^и-2) называется по-
последовательностью Прюфера, связанной с Т. Ясно, что два различных дерева
имеют различные последовательности Прюфера.
Дана последовательность (tlt t2, . . ., tn-2), для которой *,-? {1, 2, . . ., п}.
Сконструируйте алгоритм построения дерева Т, для которого (fx, t2 tn-2)
есть последовательность Прюфера (число (п—2) буквенных последовательностей,
которые могут быть построены из множества {1, 2, . . ., «}, равно п"~2)- Каждая
такая последовательность является последовательностью Прюфера для остова
графа Кп- Поэтому существует взаимно-однозначное соответствие между после-
последовательностями, построенными из каких-либо п—2 букв (не обязательно раз-
различных), принадлежащих множеству {1, 2, . . ., «}, и остовами графа /(„. Та-
Таким образом, число остовов графа К.п равно пп~2. Это доказательство приведено
Прюфером [14.59].
14.12. Используйте результат теоремы 9.10 для построения алгоритма нахожде-
нахождения хроматического числа графа,
15. Оптимизационные алгоритмы
В этой главе мы рассмотрим несколько алгоритмов решения опти-
оптимизационных задач на графах. Эти задачи возникают в различных
приложениях, связанных с исследованием операций и вычислитель-
вычислительной техникой. Мы обсудим алгоритмы, касающиеся следующих
основных тем:
1. Кратчайшие пути.
2. Оптимальные деревья.
3. Паросочетания в графе.
4. Потоки в сетях.
5. Оптимальные ветвления.
15.1. Кратчайшие пути
Пусть G — связный ориентированный граф, в котором каждому
ориентированному ребру сопоставлено положительное веществен-
вещественное число, называемое длиной ребра. Длина ребра, направленного
из вершины i в вершину /, обозначается через w(i, /). Если в графе
отсутствует ребро, направленное из вершины I в вершину /, то w(i,
j)=zoo. Длина ориентированного пути в графе G — это сумма длин
ребер, входящих в путь. Ориентированный s — ^-путь, имеющий ми-
минимальную длину, называется кратчайшим путем из s в t. Длина
кратчайшего ориентированного s — ^-пути называется расстоянием
из s в t и обозначается через d(s, t). Ясно, что d(i, i)=0 для любого i.
В этом разделе мы рассмотрим следующие задачи:
1. Найти кратчайшие пути из данной вершины s ко всем другим вер-
вершинам графа G.
2. Найти кратчайшие пути между всеми упорядоченными парами
вершин графа G.
Эти две задачи возникают в нескольких проблемах оптимизации.
Например, определение потока минимальной стоимости в транс-
транспортной сети включает определение кратчайшего пути из источника
до стока сети [15.1].
15.1.1. Кратчайшие пути из данной вершины S
ко всем другим вершинам графа
Рассмотрим алгоритм Дейкстры [15.2], который определяет крат-
кратчайшие пути из данной вершины ко всем другим вершинам связно-
связного ориентированного графа на п вершинах. Следующее соображение
составляет основу алгоритма Дейкстры.
362 Глава 15
Пусть V — множество вершин графа G, a S — такое подмножест-
подмножество V, что s?S. Обозначим через S дополнение S до V. Таким образом,
Пусть Р — путь минимальной длины среди всех ориентирован-
ориентированных путей из s к вершинам в S. Длина пути Р называется расстоя-
расстоянием d(s, S) от s до S. Пусть Р : s, . . ., и, v. Тогда ясно,
что v ? S и и ? S. Далее, часть пути Р из s в и должна быть наикрат-
наикратчайшим s — «-путем, вершины которого принадлежат S. Поэтому
d(s, S)=d(s, u)-{-w(u, v). Отсюда видно, что расстояние d(s, S) мож-
можно вычислить по формуле
i(s,u) + w(u,v)\. A5.1)
ues
vzS
Тогда если v?S такое, что d(s, S)=d(s, u)-\-w(u, v) для некоторого
и 6 S, то _
d(s,v) = d(s,S). A5.2)
Алгоритм Дейкстры порождает последовательность S0={s}, Sb
St, ... таких подмножеств V, что выполняются следующие усло-
условия:
1. Если s=Mo, «1, и2,- • •, «n-i — такие вершины из множества V,
что d(s, «1)<d(s, u2)^:d(s, «3)<---<d(s, «n_i), то S; = {s, иъ и2). . .,
И;} ДЛЯ t>0.
2. Когда множество St определено, известны и кратчайшие пути из
s в «1, «2, . ¦ ., Ui. Для множеств S,, определенных выше соотноше-
соотношением A5.2), справедливо равенство
d(s, «,+1) = d(s,Sf). A5.3)
Таким образом, построение Si+i no S, включает в себя вычисление
d(s, Sj)- Подмножества Su S2, . . ., Sn_i можно построить в соот-
соответствии с выражением A5.1) следующим образом:
d(s,S0)—min{d(s, u) + w(u, v)} = m'm{w(s, v)\.
и S So v 6 So
v<=S0
Следовательно, согласно формуле A5.3), ut — вершина, для кото-
которой выполняется равенство
d (s, и,) = min {w (s, v)}. A5.4)
veSo
Если Pt — кратчайший путь из вершины s к вершине uiy то Pt:
s, «i.
Предположим, что подмножества So, S± St и пути Ри
Рг, • • ¦, Pi уже определены. Тогда для определения Si+1 мы вычис-
Оптимизационные алгоритмы 363
ляем d(s, St), используя выражение A5.1). Из равенства A5.3)сле-
A5.3)следует, что ut+\ — вершина в S,-, обладающая свойством d(s, иг+1) =
=d(s,St).
Из выражения A5.1) следует, что существует такая вершина
i?Su что d(s, ui+i)—d(s, Uj)+w(uj, ui+i). Поэтому мы можем
получить P,- + i, присоединяя ребро («;-, h,-+i) к пути Р}.
Если нам необходимо получить кратчайший путь только до дру-
другой данной вершины t, то мы можем завершить вычисления после
получения первого множества Sit которое содержит t.
Ясно, что в этой процедуре необходимо вычислять минимум в
выражении A5.1) на каждом этапе. Если этот минимум действитель-
действительно вычислялся бы на каждом этапе, то определение S; no Sj_t
потребовало бы (г—\)Х(п—i) сложений и {i(n—i)—1} сравнений.
Общее число операций для выполнения всего алгоритма составило
бы 2?==i{B'—1) (п—0—' }• т- е- в общей сложности О (п3) шагов.
Однако многие из этих сложений и сравнений не обязательно долж-
должны каждый раз повторяться.
Дейкстра в своем алгоритме устранил такие повторения, сохра-
сохранив полученную на одном из этапов информацию для последую-
последующих этапов. Это достигается процедурой расстановки меток, кото-
которая, как мы увидим, уменьшает сложность алгоритма до О(п2).
Следующие соображения приводят нас к процедуре расстановки ме-
меток Дейкстры. Предположим, что мы осуществляем расстановку ме-
меток так, что для i=0, 1,2,... метка /,-(«) вершины v удовлетворяет
следующим требованиям:
1. /0(s)=0 и /0(и)=оодля Bcexy=^=S.
2. Для ?>1 /i(u)=d(s, и) для всех у ?Sj_i, li(v)=min {d(s, u)+w(u, v)}
s
для всех v?Si_i. Ясно, что щ — вершина, для которой d(s, ut) =
d(s, S;_i) = min {lt(v)}. Теперь мы можем определить li+i (v) nolt (и):
1. Для v?S±, li+i(v) = li{v)=d(s, v).
2. Для v?St
d(s, u)+w(u, u)} = min{/,-(«), d(s, U;) + w(uh v)\ =
(Ui, v)\. A5.5)
Тогда им выбирается так, что
d(s, w/+]) = d(s, S()=min{/,+f (v)}. A5.6)
Отметим, что метка и, не меняется после определения St.
Таким образом, алгоритм Дейкстры начинает работу с меток
/0(s)=0 и /о(у)=°° для всех v^s. По мере выполнения алгоритма
364 Глава 15
метки модифицируются в соответствии с выражением A5.5). Метки
ln-i(v) определяют расстояние от s до v.
Ясно, что определение ui+i включает вычисление li+i(v) для всех
t>? S* и последующее нахождение минимума среди этих меток. Для
Q*l первое вычисление по формуле A5.5) требует (п — i—1) сложе-
сложений и {п—i—1) сравнений, тогда как последние действия по формуле
A5.6) требуют {(п—i)—2} сравнений. Таким образом, ясно, что
сложность алгоритма Дейкстры равна О(п2).
Представим описание алгоритма Дейкстры. В этом описании
LABEL — это массив, в котором хранятся текущие метки вершин.
Вершины становятся постоянно помеченными, когда они оказывают-
оказываются равными ut для какого-либо i. Мы используем массив PERM,
чтобы указать, какие вершины постоянно помечены. Если
PERM(y)=l, то v является постоянно помеченной вершиной. Отме-
Отметим, что в таком случае метка v равна d(s, v). Вначале PERM(s) = l
и PERM (у)=0 для всех v=?s.
PRED — массив указателей на вершины, из которых осущест-
осуществлен переход в вершины с неизменной меткой. Если вершина v
помечена неизменной меткой, то v, PRED(y), PRED(PRED
(v)), . . ., s есть вершины, составляющие кратчайший ориентирован-
ориентированный путь из s в v.
Алгоритм 15.1. Кратчайшие пути (Дейкстра).
50. G — данный ориентированный граф с взвешенными ребрами. Требуется
найти кратчайшие пути из вершины s во все остальные вершины графа G.
51. (Начало.) Положить LABEL (s)=0, PERM(s)==l и PRED (s)=s. Для всех
v=?s положить LABEL (v)= оо, PERM(u)=0, PRED(u)=u.
52. Пусть (=0 и u=s. (и — последняя из вершин с неизменной меткой. Те-
Теперь — это вершина s.)
53. (Вычисление LABEL и изменение элементов массива PRED). Положить
(=('+1. Выполнить для каждой вершины, кроме вершин с неизменной
меткой, следующие действия: 1) Положить AI=min {LABEL (v),
LABEL (u)+w(u, v)}. 2) Если M<LABEL (v), to положить LABEL (v)=M
и PRED(v)=u.
54. (Выделение вершины «,-.) Среди всех вершин, которые не помечены неиз-
неизменной меткой, найти вершину w с наименьшей меткой. (Если таких вер-
вершин несколько, то выбор можно сделать произвольно.) Положить
PERM(tt>)=l и tij=w (u(=w, и она является последней вершиной с неиз-
неизменной меткой.)
55. Если «.п—1, то идти к шагу S3. Иначе HALT. (Все кратчайшие пути
найдены). Метки вершин представляют собой длины кратчайших путей.
v, PRED (и), PRED (PRED (у)), . . ., s есть вершины кратчайшего ориен-
ориентированного s—г,'-пути.
Отметим, что в программе для вычислительной машины оо представ-
представляется достаточно большим числом. Если конечная метка вершины
v равна оо, то это означает, что не существует ориентированного пути
из s в и.
Чтобы проиллюстрировать работу алгоритма Дейкстры, рассмот-
рассмотрим граф на рис. 15.1, на котором длины ребер указаны рядом. На
рис. 15.2 изображены элементы массивов LABEL и PRED.
Оптимизационные алгоритмы
365
Вершины
D
н
со
7
©
Ф
Ф
Ф
Ф
со
00
00
00
со
0<Э
00
(«Г
00
8
8
со
со
со
со
00
00
00
00
со
со
©
©
©
00
00
00
00
21
ЙТ)
0
A
A
A
A
A
A
A
PRED(/<)""i4
PRED(B)-/i
PRED(C)=C
К
в
С
D
В
F
О
H
PRED(?)-I»
PRED( F)=*H
PRED(G)=/<
Кратчайший
путь
А,В
Нет пути
A,D
A,D,E
A,D,H,F
A,G
A.D.H
Рис. 15.2. Иллюстрация к алгоритму Деикстры (мас-
(массив LABEL изображен на рис. о).
Для любого i элементы массива LABEL, обведенные кружком,
соответствуют вершинам, помеченным неизменной меткой, а
именно вершинам из множества St. Элементы, помеченные звездоч-
звездочкой, являются метками последних вершин, помеченных неизменной
меткой, а именно вершин ut. Кратчайшие пути из s и соответствую-
366 Глава 15
щие расстояния получаются из конечных значений элементов мас-
массивов PRED и LABEL.
При обсуждении алгоритма мы предполагали, что все длины не-
неотрицательны. Алгоритм Дейкстры неприменим, если какие-либо
из длин отрицательны (почему?). Однако некоторая модификация
этого алгоритма делает его применимым для более общего случая,
когда в графе нет ориентированных циклов с отрицательной дли-
длиной. Джонсон [15.3] показал, что в худшем случае этот модифици-
модифицированный алгоритм имеет сложность О(п-2п), а не О (га3), как было
показано в работе [15.4].
Иногда может возникнуть необходимость получить не самые ко-
короткие пути. Такая и связанные с ней задачи обсуждаются в работах
115.5—15.10]. Алгоритмы, предназначенные для разреженных гра-
графов, приведены в работах [15.11, 15.12].
15.1.2. Кратчайшие пути между всеми
парами вершин
Предположим, что необходимо найти кратчайшие пути между
всеми п(п—1) упорядоченными парами вершин в ориентированном
графе на п вершинах. Простым решением этой задачи было бы га-
кратное применение алгоритма Дейкстры. Однако существуют бо-
более эффективные алгоритмы по сравнению с этим решением. Они
применимы даже тогда, когда в графе присутствуют ребра отрица-
отрицательной длины, но не существует ориентированных циклов отрица-
отрицательной длины. Рассмотрим один из этих алгоритмов. Он пред-
предложен Флойдом [15.13] и основан на процедуре Уоршолла (алгоритм
14.1) для вычисления транзитивного замыкания.
Пусть дан ориентированный граф G на п вершинах, ребра кото-
которого помечены длинами. Пусть вершины графа обозначаются чис-
числами 1, 2. . ., п. Предположим, что в графе не существует ориенти-
ориентированного цикла с отрицательной длиной. Пусть W=lwn] — пхп-
матрица длин ребер графа G, т. е. хюц — длина ориентированного
ребра {i, /) в графе G. Полагаем &ijj=oo, если в графе нет ребра (i, /),
ориентированного из i в /. Мы полагаем также, что ы>ц=0 для всех i.
Начиная с матрицы Ww алгоритм Флойда строит последователь-
последовательность Wa), Wi2), . . ., W(n) таких nXn-матриц, что элемент w'tf
матрицы Win) есть расстояние между г и у в графе G. Матрица W{k>=
= [а4/'] определяется по матрице W(*)=[ffi)'^)] в соответствии со
следующим правилом:
Пусть Pfj*— путь минимальной длины среди всех ориентированных
i —/-путей, которые используют в качестве внутренних вершин
только вершины из множества {1,2, . . ., k). Следующая теорема
доказывает корректность алгоритма Флойда.
Оптимизационные алгоритмы 367
Теорема 15.1.. Для 0<я<п wff есть длина пути p\f.
Доказательство. Аналогично доказательству теоремы 14.1.
Обычно кроме кратчайших длин нам необходимо также получить
сами пути с такими длинами. Напомним, что в алгоритме Дейкстры
мы использовали массив PRED, чтобы хранить указание на вер-
вершины, встречающиеся в кратчайших путях., Это достигается в алго-
алгоритме Флойда следующим образом: по мере построения последо-
последовательности W{0), W{1),. . ., W-n) мы одновременно строим такую
другую последовательность матриц Zl0), Z A),. . ., Z{n\ что элемент
г® матрицы Zlk) указывает на вершину, которая непосредственно
следует за вершиной i в Pfj1. Ясно, что в этом случае
/, если W[j- Ф оо;
.- ,• = оо.
2"=\ 0, если '»• — A58)
j? получается из Z(*' = [2((/~1)] в соответствии со следующим
правилом: пусть M = min {wfj~l), wf^+w^'^}, тогда
z$ 1), если Л4 = да$-1),
П5 9">
jJiT1', если M<wfj-U. к '
Это правило аналогично правилу, применяемому на шаге S3 алго-
алгоритма 15.1 для изменения массива PRED. Правомочность этого пра-
правила определяется следующим. Если M=wfj~1), то Длина P\f
равна длине Р{ц~г). Поэтому z'ft совпадает с г$~п.
С другой стороны, если М<Ст(ц~л\ то Pty — конкатенация пу-
путей РЙГ11 и Pffl). Поэтому z{fy=z%~l). Очевидно, что кратчай-
кратчайший i—/-путь определяется последовательностью вершин i, iu i2, ....
iP, I, где
Отметим, что в формуле A5.7) w'lf—wff^, если а/ЙГ1' или wffn
равны оо. Это простое замечание используется при дальнейшем опи-
описании алгоритма Флойда. Мы добавили также в этот алгоритм дей-
действия по проверке на присутствие в графе ориентированного цикла с
отрицательной длиной.
Алгоритм 15.2. Кратчайшие пути между всеми парами вершин (Флойд).
51. W=lWjA — пХл-матрица длин ребер вданном ориентированном графе G.
Положить шн=0 для всех t=l, 2, . . ., п. Z=Utj\ — reXn-матрица, в
которой
I /, если Wij Ф оо;
11 \ 0, если ДО//= оо.
52. Пусть fe=O.
53. Пусть /г=й+1- Для всех таких 1фк, что хю{кфоа, и всех таких \Фк, что
Шу=оо, выполнить следующие действия:
1) положить M=mm{wjj,wik-\-wkj}\
2) если M<Wjj, то положить гу=гцг и ш,у=М.
368
Глава 15
S4. 1. Если какой-либо элемент матрицы гюц<.0, то вершина i принадлежит
некоторому ориентированному циклу с отрицательной длиной. HALT.
2. Если все ау,-,-^О и k=n, то [ау,у] — длины всех кратчайших путей,
а гц — первая вершина после i в кратчайшем i—/-пути. HALT.
3. Если все ау,-,->0, но k<n, то идти к шагу S3.
Алгоритм Флойда является наиболее эффективным из известных ал-
алгоритмов выделения всех кратчайших путей. Он применим к графам
с отрицательными длинами. Для ознакомления с другим эффектив-
эффективным алгоритмом выделения всех кратчайших путей см. работу
[15.14].
В работе [15.15] предлагается алгоритм выделения всех кратчай-
кратчайших путей. Позже в работе [15.16] было указано на наличие в этой
работе ошибки и представлен исправленный вариант. В работе
[15.17] приводится исчерпывающая библиография по алгоритмам вы-
выделения кратчайших путей.
15.2. Деревья с минимальной длиной
взвешенных путей.
m-деревом называется ориентированное дерево, в котором полу-
полустепень исхода каждой вершины не превышает т. Напомним, что в
ориентированном дереве полустепень захода для корня равна 0, а
для остальных вершин — единице. Обычно m-дерево изображают
так, что корень находится вверху, а все ребра направлены вниз.
Все вершины, находящиеся на
одном и том же расстоянии от
корня, лежат на одной горизон-
горизонтальной линии. 3-дерево изобра-
изображено на рис. 15.3.
Пусть Т — m-дерево, а М =
= {0, 1, 2, . . ., т—1} — алфа-
алфавит, состоящий из m букв. Пред-
Предположим, что мы приписываем
каждому ребру в дереве Т букву
из алфавита М так, что не может
быть двух ребер, исходящих из
одной и той же вершины и поме-
помеченных одной и той же буквой.
Тогда мы можем приписать каж-
каждой вершине дерева Т слово, образуемое конкатенацией букв, кото-
которыми помечены ребра, встречающиеся при движении из корня в
данную вершину. Такие слова, приписанные листьям дерева Т,
называются кодовыми словами, и говорят, что они образуют пре-
префиксный код. Например, в случае тернарного дерева, изображен-
изображенного на рис. 15.3, кодовыми словами являются 00, 010, 120, 121,
22, 20, 21.
0
B1) B2)
fO/0) A20) (/21)
Рис. 15.3. 3-дерево.
Оптимизационные алгоритмы 369
Интересным и полезным свойством этих слов в префиксном коде
является то, что никакое из слов не совпадает с началом другого.
Предположим, что мы закодировали L сообщений Mi, М2, . . ., ML
словами префиксного кода. Если мы передадим последовательность
каких-либо из этих закодированных сообщений по каналам связи,
то мы получим на принимающем конце канала последовательность
букв, образуемую конкатенацией кодовых слов, соответствующих
переданным сообщениям. Чтобы из этой последовательности выде-
выделить сообщения, необходимо разложить ее на слова из префиксного
кода. Процесс разложения последовательности на кодовые слова
называется декодированием, и его можно осуществить с помощью де-
дерева, соответствующего префиксному коду. Например, рассмотрим
последовательность 120202200, которая образована конкатенацией
некоторых слов префиксного кода, соответствующего дереву, изоб-
изображенному на рис. 15.3. Чтобы декодировать эту последователь-
последовательность, рассмотрим составляющие ее буквы слева направо. В соот-
соответствии с этим просмотром мы двигаемся по дереву, начиная с кор-
корня вдоль ребер, которые соответствуют рассматриваемым буквам,
до тех пор пока мы не дойдем до листа дерева. Кодовое слово, соот-
соответствующее этому листу, является первым словом в данной после-
последовательности. Таким образом, мы получаем 120 в качестве первого
слова в последовательности 120202200. Затем мы повторяем про-
процесс декодирования для оставшейся последовательности 202200 и
выделяем 20, 22, 00 в качестве второго, третьего и четвертого кодо-
кодовых слов в последовательности 120202200.
Из процесса декодирования, описанного выше, ясно, что стои-
стоимость декодирования кодового слова пропорциональна числу букв в
этом слове. Если wt — частота появления сообщения Mh то
ожидаемая стоимость декодирования зависит от суммы ^^=1Wi /,-,
где /;—длина пути от корня до листа, соответствующего сообще-
сообщению Mi. Сумма 2f_ia>f/i называется длиной взвешенных путей дере-
дерева. Таким образом, ожидаемую стоимость декодирования можно свес-
свести к минимуму таким выбором длин кодовых слов, что полученное
дерево будет иметь минимальную длину взвешенных путей. Это рас-
рассуждение приводит нас к задаче построения m-дерева с минимальной
длиной взвешенных путей по заданному множеству весов W\, w2, ¦ ¦ ¦,
wL. Прежде чем рассмотреть решение этой задачи, обсудим другой
случай, в котором эта задача встречается.
Пусть нам дано L списков Sb S2, . . ., SL. Предположим, что
каждый список состоит из целых чисел, расположенных в неубыва-
неубывающем порядке. Мы хотели бы слить эти списки в единый список,
элементы которого также располагались в неубывающем порядке.
Чтобы выполнить это, мы можем слить, во-первых, любые два из
этих списков, например St и S2, и получить новый список S'. Затем
мы можем слить любые два списка из множества {S', S3, 54, . . .,
SL} и продолжить слияние до тех пор, пока не будет получен один
370
Глава 15
список. Для описания такого способа слияния можно использовать
бинарное дерево.
Например, рассмотрим дерево, изображенное на рис. 15.4, кото-
которое описывает порядок слияния пяти списков Sb S2, S3, S4, S6.
Вначале мы сливаем списки Sj и S2, чтобы получить S[. Затем сли-
сливаются списки Si и Ss, чтобы получить S2. На следующем шаге сли-
сливаются списки S4 и S5, и мы получаем S3. Наконец сливаются спис-
списки S2 и S3, в результате чего получается один требуемый список.
Одним из путей слияния двух произвольных списков является
следующий способ. Возьмем первые элементы, т. е. минимальные
элементы из двух данных списков. Считаем наименьший из этих эле-
элементов первым элементом нового списка. Элемент, выбранный таким
образом, удаляем из исходного списка. Повторяем эту операцию над
теми же самыми двумя списка-
списками, один из которых стал коро-
короче, до тех пор, пока они не со-
сольются в единый список.
Ясно, что стоимость слияния
любых двух списков пропорцио-
пропорциональна общему числу элементов
в списках. Поэтому стоимость
слияния списков Si, S2, . . ., SL
равна 2,-=1|SjMi, где /, — число
процессов слияния, в которых
участвуют элементы списка St.
Например, стоимость слияния
списков Si, S2, . . ., S5 в соот-
соответствии с деревом, изображен-
изображенным на рис. 15.4, равна 3|S]J +
+3|S2|+2|S3|+2|S4|+2|S5|.
Из рис. 15.4 видно, что в этом
случае /г фактически равно дли-
длине пути из корня дерева в лист, соответствующий St. Таким обра-
образом, задача минимизации стоимости слияния списков Sb S2, . . .,
SL эквивалентна задаче построения бинарного дерева с минималь-
минимальной длиной взвешенных путей для весов |Sb \S2\, ¦ . ., \SL\.
В работе [15.18] приводится элегантное решение рассмотренной
выше задачи. Остальная часть этого раздела посвящена алгоритму
Хаффмана. Рассмотрим m-дерево Т с L листьями. Пусть /ь /2, . . .,
lL — длины путей из корня в листы дерева Т. Назовем /; длиной
пути соответствующего листа, а вектор К= Aи /2, . . ., lL) — век-
вектором длин путей дерева Т. Определим характеристическую сумму
S(k, m) вектора К следующим образом:
Рис. 15.4.
i.
A5.11)
Оптимизационные алгоритмы 371
Определим необходимые и достаточные условия для того, чтобы
вектор X был вектором длин путей m-дерева. При этом мы предпо-
предполагаем, что каждое lt — положительное число.
Лемма 15.1. Характеристическая сумма вектора длин путей Я.= (/1, /2> . . .,
1[) m-дерева меньше или равна единице.
Доказательство проведем индукцией по максимальной длине в векторе К.
Если максимальная длина в % равна единице, то все /,• равны единице. Очевидно,
что в этом случае лемма справедлива. Пусть лемма верна для каждого вектора
длин путей, в котором максимальная длина меньше k. Предположим, что мак-
максимальная длина в к равна k. Пусть в соответствующем m-дереве Т вершины vu
V2' • ¦ •> vd+(n являются сыновьями корня г. Отметим, что полустепень исхода
d+ (г) меньше или равна т. Пусть Т,- — поддерево дерева Т, имеющего vf в ка-
качестве корня. Ясно, что длины путей в поддереве Tt короче не единицу соответству-
соответствующих путей в Т. Таким образом, если 5,- — характеристическая сумма вектора
длин путей дерева Т,-, то 5A, m)=(l/m) E!+52 + . . . +Sd+(r). Так как d+ (r)<
<ш и по предположению индукции 5,-<1 для всех i, то S(\, т)<1.
Лемма 15.2. Вектор Х=Aг 12, . . ., Щ, где каждое /,• — положительное чис-
число, является вектором длин путей m-дерева, если он удовлетворяет условию
_
'<1. A5.12)
Доказательство. Расположим длины /,• таким образом, что /j<:/2<:. . .</?.
Пусть ц, — число длин, равных lL. Тогда /l-h<^l-h+i='l-h+2=. . . •='/..
Умножим выражение A5.12) на т L и получим
2 «'*¦"''+ц<яЛ. A5.13)
Пусть \х=от-\-р, где а и р — неотрицательны, причем 0<р<т— 1, и определим я
следующим образом:
О, если р = 0,
m—р, если р > 0.
Тогда мы можем добавить я к левой части выражения A5.13), не нарушая нера-
неравенства. Таким образом,
~~ ' • ¦ • L. A5.11)
A5.15)
Отметим, что ц+я=тт, где
если р = 0,
если р > 0.
Тогда, разделив выражение A5.14) на m L , получим
( а, есл
| ст + 1, ес.г
l-m. _,
2 т i+xm~l'lL-1)<l. A5.16)
i=l
Значение левой части неравенства является характеристической суммой вектора
длиной L—[A-j-т, в которой максимальная длина короче на единицу максимальной
длины в данном векторе Я-. Докажем лемму индукцией по величине максимальной
длины. Если //.= 1, то i,-=l для всех i и из выражения A5.12) следует, что L
372 Глава 15
Ясно, что лемма верна в этом случае, поскольку X — вектор длин путей m-дерева,
содержащего L ребер, каждое из которых выходит из корня.
Затем предположим, что лемма верна для всех векторов, в которых макси-
максимальная длина меньше k.
Пусть максимальная длина в X равна k. Как мы уже упоминали ранее, мы
можем построить вектор X длиной L—[х+т, причем максимальная длина равна
k—1. В X' существует по меньшей мере т длин, равных k—1, а остальные L—|Х
длин вектора X' совпадают с первыми L—\х длинами вектора X. Отметим, что х=а
либо а-\-\.
Так как X' удовлетворяет условию A5.16), то по предположению индукции
следует, что существует /п-дерево 7" с X' в качестве вектора длин путей. Рассмо-
Рассмотрим любые т листьев дерева Т' с длинами путей, равными k—1. Если мы присое-
присоединим /л ребер к каждой из каких-либо а выделенных вершин и р ребер к остав-
оставшейся вершине, если она существует, то мы получим новое /п-дерево Т, которое
имеет ц=отп+р листьев с длинами путей, равными k. Остальные длины путей
совпадают с первыми L—|Л длинами путей X. Таким образом, X — вектор длин
путей дерева Т.
Вектор длин путей X=(li, 12, . . ., li) называется оптимальным для вектора
весов W—(Wi, w2, . . ., Wi), если он минимизирует сумму \j_tWjl{.
Если X — оптимальный вектор для W, то из l{^lj следует, что w^Wj. Пред-
Предположим, что /х<:/2<:. . .<.li и Wj^zw^. . .^Wi. Случай m=l тривиален, по-
поэтому мы предполагаем в дальнейшем, что /?г>2. Следующий результат является
основой алгоритма Хаффмана построения оптимального векторя длин путей для
заданного вектора весов.
Теорема 15.2. Пусть Х=A1г 12, . . ., lL) — оптимальный вектор длин путей
для вектора весов W=(wlt w2 Wj). Предположим, что /1</2<- . .<//,
и w{^w2~^. . .^Wi. Тогда lL-d+i=lL-d+z=- • ¦ —'z> гДе d=2, если m=2;
В случае т>2 величина d определяется следующим образом:
i I (mod m— 1),
5 0 (mod m—l), A5.17)
s p(mod m— 1).
Доказательство. По существу, в теореме утверждается, что вектор длин путей
содержит по меньшей мере d длин, равных максимальной длине в том случае,
если он оптимален. Доказательство теоремы для случая, когда т=2, проводится
просто. Полому мы рассмотрим случай /л>2.
Из условия A5.12), накладываемого на характеристическую сумму, следует,
что
t L t
т — ^, лх^-'^О. A5.18)
Покажем, что
т—2=sm?— y,mL '• A5.19)
Если условие A5.19) неверно, то т1—V|=1/n i-'>m—1. Таким образом,
VvjjJtfi L~ *-\-т<.т L. Поделив это выражение на т L, получим V?lT11'"~ '+
-\-т L <:]. Однако это противоречит тому, что X — оптимальный вектор.
Поэтому соотношение A5 19) верно.
Оптимизационные алгоритмы 375
Из того, что /пз=1 (mod т—1), следует, что m*=sl(mod т—1) для любого це-
целого неотрицательного числа k. Поэтому
l L I l
mL-^mL~ '=1-L(modm-1)B. . n
= 1 —p (mod m—1),
где Lssp(mod m—1). Тогда
/ 0, если р=1,
1— p(modm— \)={ 1, если р = 0, A5.21)
{ m — p, если 2<p<m—2.
Из выражений A5.18) и A5.19) следует, что сумма т L—"^j^itn L ' неотри-
неотрицательна и меньше т—1.
Таким образом, из выражений A5.20) и A5.21) следует
; L ,.( °- если Р=1'
ml—^ml '=! 1, если р = 0, A5.22)
1=1 ( т—р, если 2<р<т— 2.
Предположим, что j — последний индекс, для которого верно, что 1j<Il-
Тогда верно, что ^</2<. . .</ </у+,=/у+2=. . .=/?.
Чтобы показать, что L—/>d, используем A5.22). Тем самым теорема будет
доказана. Мы можем переписать A5.22) следующим образом:
i / L—/, если р=1,
# i —I \
mL—2 т 1 ''=¦{ L — /+1, если р = 0,
1=1 { L — \-\-m—р, если 2<р<т—2.
Левая часть вышеприведенного равенства делится на т., и мы получаем сле-
следующее:
Если р=1, тогда L—j=km для некоторого положительного целого числа k*
Если р=0, тогда L—j-\-\=km для некоторого положительного целого числа к.
Если 2<р«с/п—2, тогда L—j-\-m—p=km для некоторого положительного
целого числа k.
Таким образом, из выражения A5.17) следует, что если р=1, то L—j^m=dr
если р=0, то L—/>/л—\=d, если 2<ср<т—2, то L—/>p=d.
Опишем алгоритм Хаффмана для построения оптимального век-
вектора длин путей по заданному вектору весов Wo. Обозначим число
весов в векторе весов Wt через Lt. Если L0^m, то соответствующим
оптимальным вектором длин путей является вектор, состоящий из
единиц. Поэтому мы предполагаем, что L0>m.
Начиная с Wo алгоритм Хаффмана порождает такую последова-
последовательность Wu W2, . . ., Ws векторов весов, что L9>L{>.. .>Ls=tn.
Для каждого L,- мы определим dt в соответствии с выражением
A5.17), т. е. di=0, если т=0.
Иначе
( т, если L,-?=l(modm — 1),
di=\ m— 1, если Lr = 0(mod m—1), A5.23)
( р, если Lf^ptrcodm—1)и2^р^т—2.
374 Глава 15
Мы используем dt при построении Wi+i из Wt. Алгоритм затем на-
начинает с вектора A,s=(l, 1, . . ., 1) и строит такую последователь-
последовательность векторов длин путей ks, A,s_b . . ., Я,о, что Я,г — опти-
оптимальный вектор длин путей для Wt. Мы предполагаем, что дли-
длины в каждом векторе Я,г расположены в том же порядке, что и
веса в соответствующем векторе W',.
Алгоритм 15.3. Оптимальный вектор длин путей (Хаффман).
51. Wo—данный вектор весов. Пусть t=0.
52. Пусть W(=(w1, w2 wL[, где w{^w^. . .^wi.. Построить Wi+1
следующим образом:
1) Вычислить d,- в соответствии с выражением A5.23).
2) Вычислить Pi=wL._di+^+wL._d. + 2+. . .+wL., т.е. Р,— сумма
последних dt весов №,-.
3) Wl+1 состоит из весов wlyw2 wL._d.n Pit расположенных в не-
возрастающем порядке.
53. Пусть (=1+1. Если Li=m, то идти к шагу S4. Иначе идти к шагу S2.
т
54. Пусть Х~A, 1, ... ,1). (Отметим, что теперь i=s). Положить i=i—1.
55. Построить kj нз Х(-+( следующим образом:
1) Каждому весу из первых L,-—d,- весов в векторе W; приписывается
длина, равная его длине в векторе W,-+1.
2) Каждому весу из последних d/ весов в векторе wt приписывается дли-
длина, которая больше, чем длина для веса Р,- в векторе №,-, на единицу.
56. Если 1=0, то HALT; Хо— оптимальный вектор длин путей для вектора
весов Wq. Иначе положить i=i—1 и идти к шагу S5.
Ясно, что %i — вектор длин путей. Из выражения A5.23) следует,
что di^m для всех i. Построение в алгоритме гарантирует, что Kt —
вектор длин путей для всех i.
Работа алгоритма Хаффмана проиллюстрирована на рис. 15.5
для W0=(9, 7, 6, 5, 5, 3, 3, 2, 1) и т=3. Деревья Т„ 7а, Ти Г„,
соответствующие векторам длин путей К3, Я,2, А,ь Хо, показаны на
рис. 15.6. (Отметим, что Tt строится из Ti+1 добавлением dt ребер к
WQ 9 7 6 5 5 3 3 2 7
9 7 6FM 5 3
13) 9 7 6 6
19) 13 9
Рис. 15.5.
Иллюстрация алгоритма Хаффмана.
Оптимизационные алгоритмы
375
листу в Tt+1, представляющему
вес Pi.) Покажем корректность
алгоритма Хаффмана.
Теорема 15.3. Пусть Wo, Wx Ws
и ^о. ^i> • • •> ^s — векторы весов и длин
путей, построенные алгоритмом Хаффма-
Хаффмана. Для любого i, 0<:i<:s, Л,,-—¦ оптималь-
оптимальный вектор длин путей для вектора ве-
весов W;.
Доказательство. Ясно, что вектор
длин путей ^=A, 1, . . ., 1) оптимален
для W$. Покажем, что если Х;+1 оптима-
оптимален для Wi+i, то вектор Xj оптимален
для W(. Допустим противное, а именно
что Х[+1 оптимален для №(+i> а А,,- не
оптимален для №,-. Тогда пусть XI — опти-
оптимальный вектор длин для вектора весов
Wt. Пусть Wj=(Pi, рг, ¦ . ., pLi), причем '
Pi>P2> ¦ ¦ ¦ >PLr h=(h, k, ¦ ¦ ¦, II;),
Wi + i=(qi, qit ¦ ¦ ., QLi + 1), причем >
?,;=(/*, ll l*L ). Так как Х; не явля-
является оптимальным для №;, то получим
ч ч
2 Pkh > 2 Pfc/fc. A5.24)
k=\ k=i
Из шага S5 в построении Хаффмана следу-
следует, что для некоторого u(l<u<L,-+1) сле-
следует qa=PL;-di + i+PLi-di + fi+- ¦ •+PLi.
(Отметим, что qu совпадает с Р,-,
а остальные qi есть ръ р2, . . .,
Pi;-d,-)- Верно также, что /и=
=li.—1. Таким образом,
79,
4±i 1
% <?*'*= 2 (Pklk)—qu-
A5.25)
Так как \1 — оптимальный век-
вектор, то мы получаем из теоремы
15.2, что lL.-di+i = lL.-d.+ 2 =
= . . .=//, . Если мы использу-
используем тот же самый тип преобра-
преобразования, как и в случае перехода
отХ,- к Xi+1, то можем получить
из ?ч вектор длин путей Х.,-+1=
=('ii ^2, • • ., t*i. )> который
а » дерево Г ,;
г
Рис. 15.6.
б — дерево Т „; « — дерево
е — дерево Г 0.
376 Глава 15
удовлетворяет условию
Ч+i Ч
S ЯкЯ= 2 (Pkl*k)-qa. A5.26)
fc=l ft=l
Теперь мы можем показать, используя выражение A5.24) — A5.26), что
yf7+i?ftC<'Yf'?+1i7^fe. откуда следует, что Х1+1 не является оптимальным
вектором длин путей. Пришли к противоречию.
15.3. Оптимальные деревья бинарного
поиска
Упорядоченным деревом называется ориентированное дерево,
для которого определен порядок сыновей любой вершины дерева.
Обычно мы изображаем упорядоченное дерево так, что корень раз-
размещается вверху, а сыновья каждой вершины расположены в соот-
соответствии с порядком слева направо. Для бинарного упорядоченного
дерева поддерево, корень которого является левым сыном вер-
вершины v, называется левым поддеревом вершины v. Аналогично опре-
определяется правое поддерево вершины v. Пусть А — {аи аг, . . ., ап} —
множество элементов, упорядоченных следующим образом: а^
<а2<...<ап- Бинарным деревом поиска для множества А является
упорядоченное бинарное дерево, в котором каждая вершина v так
помечена элементом / (v) множества А, что 1) для каждого и в левом
поддереве вершины v, l(u)<.l{v)\ 2) для каждого и в правом подде-
поддереве вершины v, l(u)>l\v)\ 3) для каждого элемента х множества А
существует точно одна такая вершина v, что l(v)=x. Предположим,
А является подмножеством универсума S. Тогда пусть В={Ь9,
bi, ¦ ¦ ¦, bn} — такое множество, что 1) b{ (l^t^n—1) представляет
множество всех элементов x?S — А, для которых щ<.х<.а1+1;
2) bo представляет собой множество всех элементов x?S—А, для
КОТОрЫХ Х<Л\
3) Ьп представляет множество всех элементов x?S—А, для кото-
которых х~>ап.
Расширенным деревом бинарного поиска для А называется дерево
бинарного поиска для А с п+1 листьями, представляющими эле-
элементы множества В. Отметим, что в расширенном дереве бинарного
поиска полустепень исхода каждой внутренней вершины равна
двум.
Например, деревья, представленные на рис. 15.7, являются дву-
двумя различными расширенными деревьями бинарного поиска над
множеством А = {аи а2, а3, а4}. Отметим, что в расширенном дереве
бинарного поиска листья появляются слева направо в порядке Ьо,
bi,. . ., bn. В дальнейшем мы будем называть расширенное дерево
бинарного поиска для множества А просто деревом бинарного пои-
поиска для А.
Оптимизационные алгоритмы
377
Пусть дано подмножество А универсума 5 и дерево Т бинарного
поиска для А. Множество 5 может быть множеством всех слов над
английским алфавитом, а упорядочение может быть лексикографи-
лексикографическим порядком. Предположим, что нам необходимо определить,
принадлежит ли элементх ?5 множеству А. Сравним х с элементом,
а 6
Рис. 15.7. Примеры деревьев бинарного поиска.
который соответствует корню дерева Т. При этом могут возникнуть
четыре случая, в соответствии с которыми мы продолжаем:
Случай 1. Корень отсутствует (дерево Т бинарного поиска пус-
пусто). Следовательно, х не принадлежит А, и поиск завершается без-
безуспешно.
Случай 2. х равен элементу, соответствующему корню. Следова-
Следовательно, поиск завершается успешно.
Случай 3. х меньше элемента, соответствующего корню. Поиск
продолжается ниже в левом поддереве корня.
Случай 4. х больше элемента, соответствующего корню. Поиск
продолжается ниже в правом поддереве корня. Ясно, что успешный
поиск завершается во внутренних вершинах, а безуспешный —
в листьях дерева Т.
Определим глубину вершины v как длину пути из корня до v.
Тогда можно отметить, что число сравнений, выполняемых до того,
как поиск завершается успешно во внутренней вершине v дерева Т,
на единицу больше глубины v. С другой стороны, если поиск завер-
завершается безуспешно в листе, то число выполненных сравнений равно
глубине листа.
Пусть pi, р2, . . ., рп — частоты обращения к элементам аи
а2,. . ., ап соответственно, и пусть q0, qu . . ., qn — частоты, с кото-
которыми поиск завершается в листьях Т, представляющих b0, bt, . . .,
bn соответственно. Тогда среднее время поиска в дереве Т(по всем
возможным ситуациям) пропорционально стоимости дерева Т, оп-
определяемой в виде 2?=iPi (глубина at+1)+2?=>- 4t (глубина Ьг).
378
Глава 15
Например, если р1=0,2, рг=0,2, р3=0,1, Р4=О,1, <7о=0,1, <7i=
=0,1, <72=0,05, ?з=0,05; <74=0,1, то стоимость дерева, изображен-
изображенного на рис. 15.7, а, составит {piB)+p2(l)+p3B)+p4C)}+{<7,>B)+
+q1B)+q2B)+q3C)+qiC)}=2,05. Стоимость дерева, изображенного
на рис. 15.7, б, составит {piC)+/>2B)+/?,C)+p4(l)}+{<7,C)+
3)}24
Этот пример дает представление о следующей проблеме. Даны
неотрицательные веса рг и qt. Необходимо построить дерево бинар-
бинарного поиска минимальной стоимости для множества Л = {аи а2, . ¦ .,
ап}, элементы которого упорядочены следующим образом: a1<ia2<-..
...<ап. Нам часто будет удобно ссылаться на такое дерево как на
оптимальное дерево бинарного поиска для весов q0, рь qv р2, . . .,
qn-i, Pn, Цп- Алгоритм построения оптимального дерева бинар-
бинарного поиска, который мы сейчас рассмотрим, основан на следую-
следующем свойстве таких деревьев:
Пусть Т — оптимальное дерево бинарного поиска для весов
<7<ъ Ри qu Р*> ¦ • •, Рп, Яп- Если ah — элемент, соответствующий корню
дерева Т, то левое поддерево корня дерева Т является оптимальным
деревом бинарного поиска для весов q0, pu q1, р2, . . ., pfe_b qu-i,
а правое поддерево корня дерева Т — оптимальным деревом бинар-
бинарного поиска для весов q0,
Pi Ph-i, Як-i- Пусть Ttj
дляО^'</^/г является опти-
оптимальным деревом бинарного
поиска для множества {qit
Pi+i, qi+u • • •> Pj, Я})- Пусть
Г{] — корень дерева Тц, а
Сц — стоимость дерева Тц.
Вес Wu дерева Тц определя-
определяется как <7;+(p;+i+<7i + i) +
+ ...+ (pj+qj). Тц будет де-
деревом, состоящим из листа bj.
Поэтому Сц=0, a wlt=qi.
Предположим, что ак — ко-
корень дерева Ttj(i<ij). Тогда,
как мы уже видели, левое поддерево с корнем ah является деревом
Tt, h_i, которое в свою очередь является оптимальным деревом би-
бинарного поиска для множества {qu pi+1 Ph-i, Qh-i}, а правое
поддерево с корнем ak является деревом Thj, которое в свою очередь
является оптимальным деревом бинарного поиска для множества
{<Jk, Pk+u ¦ ¦ м Pj, Qj) (рис. 15.8). Так как глубина вершины в
дереве Тц на единицу больше ее глубины в дереве Г,, h-i или 7^,
то отсюда следует, что
Рис. 15.8. Поддерево Тц с корнем ак.
= с
,, *_х
wit fc_t
chJ + wkJ
k_x + ChJ.
A5.27)
Оптимизационные алгоритмы
379
Ясно, что мы можем найти корень rtj дерева Тц, определив величину
k(i<.k^.j), которая минимизирует сумму A5.27). Это рассуждение
образует основу алгоритма 15.4, который позволяет рассчитать ги
и Cij в порядке возрастания величин /—i. Этот алгоритм предложен
Гильбертом и Муром [15.19].
Алгоритм 15.4. Оптимальное дерево бинарного поиска (Гильберт и Мур).
51. Даны неотрицательные веса plt Рг, ¦ ¦ ¦, Рп и ?о> <7i ?«• Для 1=
= 0, 1, 2, . . ., п положить Wji=qi, c,-,-=0, Гц—Ь^
52. Для /=1,2 п выполнить шаг S3.
53. Для (=0, 1, 2, . . ., п—/ выполнить шаг S4.
54. Положить /=('+/, wij~Wj j~i-\-Pi-\-qj-
Пустьm — значениеk(i<Ck<?.j), для которого сумма с^ fe-i+c^y минимальна.
Положить cu=wu+Ci m-i+cmj, ru=am.
55. HALT.
Вычислив Гц с помощью приведенного выше алгоритма, мы можем
легко построить дерево ТОп, используя следующую процедуру:
1- fan — корень дерева ТОп, Если rOn=ah, то ah имеет в качестве
левого сына г0, k-ъ а D качестве правого — rkn.
2. Рассмотрим внутреннюю вершину ат. Если ат=гц, то ат
имеет /¦;_ т-1 в качестве левого сына, a rmj — в качестве правого.
Проиллюстрируем алгоритмы 15.4 и приведенную выше процедуру
для построения оптимального дерева бинарного поиска.
Тавлица 15.1
l=j-i 2
Woo
'oo
>00
w01
'01
'bi
w02
'02
'ог
^03
г°3
И'04
'04
^04
0
= 1
= 0
= *о
= 5
= 5
= д.
= 9
= 14
= «2
= 14
= а2
= 16
= 34
=а3
1
w,,=2
'п = °
/-,, = *,
>V12 = 6
'12 = 6
г,2 = а2
W,3=ll
'.з=17
г\г = а3
w,4=13
'14 = 23
2
'22
w23
'23
'23
W24
'24
^24
2
= 3
=0
~b2
= 8
= 8
=«з
= 10
= 14
=«з
3
W33 =
'33 =
'33 =
yVj4 =
'34 =
'34 =
2
0
4
4
«4
4
*44=1
'44 = 0
Г44-*4
380
Глава 15
Рассмотрим четыре элемента а1<а2<аз<а4 с весами /?i=2, p2-
= 1, р3=3 и ^=1, а также <7о=1, <?i=2, <?2=3, <?з=2 и 94=1- В табл.
15.1 указаны значения тц, Гц и Сц, вычисленные на основе алгорит-
алгоритма 15.4. В этой таблице элементы в строке вычисляются слева на-
направо. Вычисления в какой-либо строке начинаются только после
вычислений всех элементов пре-
предыдущей строки. На рис. 15.9
представлено соответствующее
оптимальное дерево бинарного
поиска.
Легко показать, что алго-
алгоритм 15.4 имеет сложность,
равную О(п3), а процедура по-
построения дерева по таблице rtj —
сложность О(п). Таким образом,
оптимальное дерево бинарного
поиска можно построить за вре-
время О(п3).
Кнут [15.20] показал, что ко-
корень дерева Тц лежит между
корнями г и }-х и rl+u j. Дру-
Другими словами, ri,j-.i^rtj^.rl+it;.
Поэтому на шаге 54 поиск вели-
величины m можно производить в
пределах ritj_i,—ri+itj-. Сложность алгоритма 15.4 с такой моди-
модификацией становится равной О (/г2). Несколько обобщений алго-
алгоритма Кнута обсуждаются в работе [15.21].
Авторы работы [15.22] предложили О (/г2)-алгоритм для построе-
построения оптимального дерева бинарного поиска в частном случае, ког-
когда р*=0 [15.23]. Кнут [15.24] показал, что этот алгоритм можно вы-
выполнить за время О (п log n). Другой алгоритм, тесно связанный с
алгоритмом Ху — Такера со сложностью О(п log n) для этой же
задачи, предложен в работе [15.25]. Этот алгоритм легче проверить:
он основан на использовании вариационных методов.
Проведены обширные исследования методов поиска с рассмотре-
рассмотрением некоторых вопросов, касающихся оптимальных деревьев би-
бинарного поиска. Детальное обсуждение этих тем и связанная с ними
библиография приведены в работах [15.24, 15.26, 15.27].
Рис. 15.9. Построение оптимального
дерева бинарного поиска.
15.4. Максимальные паросочетания
в графе
В этом разделе мы рассмотрим задачу построения максимального
паросочетания в графе. Сначала мы обсудим основной подход к
построению такого паросочетания, предложенный в работе [15.28].
Оптимизационные алгоритмы
381
Затем опишем алгоритм Габова [15.29], который является эффек-
эффективной реализацией подхода Эдмондса.
Более эффективный алгоритм для случая двудольных графов об-
обсуждается в разд. 15.5. Приложения, связанные с задачей об опти-
оптимальном назначении и задачей о расписании, рассматриваются в
разд. 15.6.
15.4.1. Подход Эдмондса
Алгоритм Эдмондса основан на теореме Бержа (8.20), в которой
устанавливается, что паросочетание максимально тогда и только
тогда, когда не существует добавляющего пути по отношению к
этому паросочетанию. Поэтому поданному графу и начальному паро-
паросочетанию М мы можем получить максимальное паросочетание,
действуя следующим образом.
Найдем добавляющий путь Р по отношению к М. Получим паро-
паросочетание МфР, которое имеет на одно ребро больше, чем М. На-
Находим добавляющий путь по отношению к этому новому паросоче-
паросочетанию и т. д. Повторяем эту операцию до тех пор, пока мы не полу-
получим паросочетания, по от-
отношению к которому не
существует добавляющих
путей. Тогда по теореме
Бержа такое паросочетание
максимально. Таким обра-
образом, задача в основном сво-
сводится к эффективному на-
нахождению добавляющего
пути по отношению к дан-
данному паросочетанию. Наи-
Наиболее важной идеей в дан-
данном контексте является
понятие «цветок», введен-
введенное Эдмондсом, которое
описывается ниже.
Чтобы найти добавляю-
добавляющий путь по отношению к
паросочетанию М, мы обя-
обязательно должны начать
наш поиск с ненасыщенной
вершины, например и. Ес-
Если существует добавляю- Рис- 15.10.
щий путь Р из и к и'
(отметим, что и' является также ненасыщенной вершиной), то
в Р вершина и' смежна с вершиной и либо с насыщенной верши-
вершиной v. Такая вершина v будет находиться на четном расстоянии от
и в пути Р, т. е. существует чередующийся путь четной длины из
382
Глава 15
вершины и в вершину v. Отсюда следует, что поиск добавляющего
пути должен проводиться только в ограниченной группе вершин, а
именно тех вершин, до которых существует чередующийся путь чет-
четной длины из и.
Например, пусть vu v2, . . ., vr — вершины, смежные с и (рис.
15.10). Если какая-либо из этих вершин не насыщена, то мы нашли
добавляющий путь. Иначе, пусть
щ, «2 иг — соответствующие
им напарники в паросочетании М.
На этом этапе выбранная группа
состоит из вершин мь и2, ¦ • •, иг.
Тогда мы выбираем вершину, на-
например «1( из выделенной группы,
которая еще не рассматривалась.
Если м, имеет смежную с ней вер-
вершину, которая не насыщенна, то
мы нашли добавляющий путь.
Другими словами, предположим,
что «1 не смежна ни с одной из вы-
выбранных вершин. Если v[, v'2, . . .,
v's — такие вершины, смежные с
«ь что v'i^=Vj для любых i и /, то
их напарники u'lt u'2 u's так-
также присоединяются к выбранной
группе вершин. Если мы при рас-
рассмотрении вершины в выбранной
группе обнаружим, что она смеж-
смежна с другой вершиной, уже при-
принадлежащей выбранной группе,
то это означает, что получен не-
нечетный цикл, т. е. цикл нечетной
длины. Этот цикл, являющийся
замкнутым чередующимся путем
нечетной длины, называется «цвет-
«цветком». Например, на рис. 15.11
добавление ребра (иа, и7) создает «цветок» {ы2, v^, "«. v^ "•>> ит vi<
иг). До добавления этого ребра выбранная группа состоит из
вершин и,щ, иъ . ¦ ., и„. Если образуется «цветок», то вершины у„,
у., и о9 также присоединяются к выбранной группе, поскольку мы
можем найти чередующийся путь четной длины из вершины и к этим
вершинам. Например, на рис. 15.11 (и, v2, w2, v7, ы,, ы9, и9) — чере-
чередующийся путь четной длины к вершине и9. Как только образо-
образовался «цветок», мы заключаем, что все вершины этого «цветка»
присоединяются к выбранной группе.
Если в алгоритме Эдмондса образуется «цветок», то все его вер-
вершины заменяются одной. Новая вершина называется псевдоверши-
Образование «цветка».
Оптимизационные алгоритмы 383
ной. Все вершины, которые были смежны с одной или более верши-
вершинами «цветка», будут смежны с этой новой вершиной. Таким обра-
образом, мы получаем сокращенный граф. Эта процедура повторяется
всякий раз, когда обнаруживается «цветок». Если в результате
мы закончим, получив некоторый сокращенный граф, но не получив
добавляющего пути, то это означает, что не существует добавляю-
добавляющего пути по отношению к текущему паросочетанию и в исходном
графе. Следовательно, текущее паросочетание максимально. С дру-
другой стороны, если мы обнаруживаем добавляющий путь в каком-
либо сокращенном графе, то, очевидно, следует, что существует
добавляющий путь Р и в исходном графе. Чтобы найти этот путь Р,
мы должны вернуться по пройденному пути, восстанавливая «цвет-
«цветки», полученные ранее.
Сжатие и восстановление «цветков», требуемые в алгоритме Эд-
мондса, могут привести к сложности выполнения алгоритма 0(п4),
где п — число вершин в графе.
Габов устранил операции расширения и сжатия, записывая
структуры «цветков» с помощью эффективной процедуры расстанов-
расстановки меток и соответствующих массивов. Это позволило достичь слож-
сложности О(п3). Метод расстановки меток, используемый Габовым, ана-
аналогичен методам, используемым в алгоритмах паросочетаний в ра-
работах [15.30—15.32].
15.4.2. Метод Габова
Вначале мы обсудим главную стратегию и определим различные
массивы, используемые в алгоритме Габова.
Пусть дан граф, имеющий п вершин и т ребер. Алгоритм начи-
начинает свою работу с определения нумерации вершин и ребер графа.
Вершины нумеруются числами от 1 до п, а ребра — числами п+2,
п+4, . . ., n+2m. Номер ребра (х, у) обозначается через N (х, у).
В алгоритме используется номинальная вершина, отмеченная чис-
числом 0. В массиве END элементы пронумерованы от п+1 до п+2/п.
Для каждого ребра массива END имеется два элемента, расположен-
расположенные последовательно и содержащие номера вершин, инцидентных
этому ребру. Таким образом, если ребро (v, w) имеет номер k (где
k=n+2i для некоторого l<t'<m), то END (k—l)=v, a END (k)~w,
т. е. по данному номеру ребра с помощью этого массива можно лег-
легко определить вершины, инцидентные этому ребру.
Алгоритм Габова строит множество паросочетаний, начиная
с начального, которое может быть пустым. Он завершается получе-
получением максимального паросочетания. Паросочетание хранится в
массиве МАТЕ. Этот массив имеет по одному элементу для каждой
вершины. Ребро (у, w) входит в паросочетание, если MATE (v)=w
и MATE (w)=v.
384 Глава 15
Вершина у называется внешней по отношению к фиксированной
ненасыщенной вершине и и тогда и только тогда, когда существует
чередующийся путь четной длины от и к у. Ясно, что этот путь P[v),
когда он прослеживается от у к и, начинается с ребра, вошедшего
в паросочетание. Таким образом, P(v)=(v, уь . . ., и, где (у, vj) —
ребро, вошедшее в паросочетание. Если рассматривается ребро, сое-
соединяющее внешнюю вершину у с ненасыщенной вершиной и'Фи,
то алгоритм при этом выделяет добавляющий путь вида (u')*P(v) =
= (и1, у, уь . . ., и), где * — обозначение конкатенации. Если такое
ребро никогда не будет обнаружено, то вершина и не войдет ни в
один добавляющий путь.
В массиве LABEL каждой вершине соответствует элемент мас-
массива. При этом элемент массива, соответствующий внешней вершине
у, используется для определения чередующегося пути Pip). Элемент
массива LABEL интерпретируется как начальная метка, или как
метка вершины, или как метка ребра.
Начальная метка. Начальная вершина и имеет начальную метку.
В этом случае LABEL (и) устанавливается равным 0. Чередующийся
путь Р («)= (и).
Метка вершины. Если LABEL (v) — i, где l^i^n, то говорят,
что у имеет метку вершины. В этом случае у является внешней вер-
вершиной и элемент LABEL (у) равен номеру другой внешней вершины.
Путь P(v) определяется как (у, MATE (y))*P (LABEL (v)).
Метка ребра. Если LABEL(y)=n+2i, l^i^m, то говорят, что
v имеет метку ребра. Пусть у — внешняя вершина и LABEL (у)
содержит номер ребра, соединяющего две внешние вершины, на-
например хну. Поэтому LABEL (v)=N (х, у). Метка ребра N (х, у)
вершины v указывает, что существует чередующийся путь P(v)
четной длины из у в начальную вершину и, который проходит через
ребро (х, у). Путь P(v) можно определить через пути Р(х) и Р(у).
Пусть у принадлежит пути Р(х), а Р (х, у) — часть пути Р(х) из
л: в у. Тогда P(y)=revP(x, v)*P(y), где первый член выражения обо-
обозначает обращение пути из х в у.
LABEL (у)-<0, когда у не является внешней вершиной. Вначале,
когда все вершины являются невнешними, мы полагаем, что значе-
значения LABEL для всех вершин равны —1.
Алгоритм использует также массив FIRST. Если у — внешняя
вершина, то FIRST (у) — первая невнешняя вершина в P(v). Если
путь Р (v) не содержит невнешних вершин, то FIRST (у) полагается
равным 0. FIRST (и)=0, если у — невнешняя вершина.
Массив, называемый OUTER, используется для хранения внеш-
внешних вершин, встречающихся при поиске добавляющего пути. Граф
поиска растет во внешних вершинах в порядке их появления. В этих
внешних вершинах производится поиск в ширину.
Алгоритм Габова (как он представлен ниже) состоит из трех
процедур: PROC-EDMONDS, PROC-LABEL и PROC-REMATCH.
Оптимизационные алгоритмы 385
PROC-EDMONDS является главной процедурой. Она начинает
поиск добавляющего пути из каждой ненасыщенной вершины, про-
просматривает ребра графа, решая приписать метки или расширить па-
росочетание.
При обнаружении добавляющего пути (шаг ЕЗ в алгоритме
15.5) вызывается PROC-REMATCH. Эта процедура вычисляет но-
новое паросочетание, которое имеет на одно ребро больше текущего
паросочетания.
Если при рассмотрении ребра (х, у) образуется «цветок» (шаг
Е4), то вызывается PROC-LABEL. В этом случае вершины х и у
являются внешними. PROC-LABEL выполняет следующие опера-
операции:
1. Значением переменной JOIN является первая невнешняя вер-
вершина, которая принадлежит как Р(х), так и Р(у).
2. Все невнешние вершины, предшествующие JOIN в Р (х) или Р (у),
становятся внешними вершинами. Они помечаются меткой ребра
N(х, у). Эта метка ребра указывает, что к каждой из этих вершин
существует чередующийся путь четной длины из начальной вер-
вершины, который проходит через ребро (х, у).
3. После этого JOIN — первая невнешняя вершина как в Р (х),
так и в Р (у). Поэтому элементы массива FIRST, соответствующие
вершинам, предшествующим JOIN в Р(х) или Р{у), полагаются
равными JOIN.
Опишем алгоритм Габова. Комментарии и объяснения, соответст-
соответствующие каждому шагу, приводятся в скобках.
Алгоритм 15.5. Максимальное паросочетание (Габов).
PROC-EDMONDS.
ЕО. (Инициализация.) Пусть G — данный граф. Пронумеровать вершины
графа G числами от 1 до я, а ребра — числами я+2, га+4, . . ., п-\-2т.
Создать номинальную вершину 0. Для 0<(<я положить LABEL (Q=—l,
FIRST @=0 и MATE(i)=0. (Вначале все вершины являются невнешни-
невнешними и ненасыщенными.) Положить «=0.
Е1. (Нахождение ненасыщенной вершины.) Положить «=«+1. Если «>я,
то HALT и МАТЕ содержит максимальное паросочетание. Иначе если
и — насыщенная вершина, то повторить шаг Е1. Если и — ненасыщен-
ненасыщенная вершина, то добавить и в массив OUTER. Положить LABEL (и)=0.
(Помечаем вершину и начальной меткой и начинаем новый поиск.)
Е2. (Выбор ребра.) Выбрать ребро (х, у) (где х — внешняя вершина), кото-
которое еще не рассматривалось в х.
Если такого ребра нет, то идти к шагу Е7. (Ребра (х, у) можно выбирать
в произвольном порядке. Мы применяем поиск в ширину: выбирается
внешняя вершина х—хъ а ребра (xlt у) просматриваются при после-
последующих выполнениях шага Е2. Когда все такие ребра уже выбраны,
то выбирается вершина х2, которая была помечена непосредственно
после хъ и процесс повторяется для случая х=хг. Такой поиск в
ширину требует поддержания списка внешних вершин Xi, х2, . . . . Это
осуществляется с помощью массива OUTER.)
ЕЗ. (Обнаружить добавляющий путь.) Если у не входит в паросочетание и
уфи, то выполнить PROC-REMATCH и идти к шагу Е7,
386 Глава 15
Е4. (Образовать «цветок».) Если у — внешняя вершина, то выполнить
PROC-LABEL и идти к шагу Е2.
Е5. (Пометить вершину.) Положить о=МАТЕ((/). Если v — внешняя вер-
вершина, то идти к шагу Е6. Если и — невнешняя вершина, то положить
LABEL(v)=x, FIRST(v)=y и добавить вершину v к массиву OUTER.
(Вершина у встречается в этом поиске впервые; ее напарник v является
новой внешней вершиной. Этот факт отмечается в массиве OUTER.) Идти
к шагу Е6.
Е6. (Выбрать новое ребро.) Идти к шагу Е2. (Получается замкнутый добав-
добавляющий путь четной длины, и ребро (х, у) ничего не добавляет.)
Е7. (Прекратить поиск.) Положить LABEL (()=—1 для 0-<?<:я. Затем идти
к шагу Е1. (Все вершины полагаются не внешними для следующего шага.)
PROC-LABEL.
L0. (Инициализация. Положить /-=FIRST(*) и s=FIRST(i/). Если r=s,
то идти к шагу L6. (Нет ни одной невнешней вершины в «цветке».) Иначе
пометить вершины г и s. (Шаги L1 и L2 определяют JOIN при поперемен-
попеременном движении вдоль путей Р(х) и Р(у). Метки приписываются невнеш-
невнешним вершинам этих путей. Это выполняется посредством помещения в
LABEL (г) отрицательного номера ребра, т.е. LABEL (/¦)=—N{x,y).
Таким образом, при каждом вызове процедуры PROC-LABEL исполь-
используются различные значения меток.)
L1. (Переключение путей.) Если s=/=0, то поменять местами г и s (r — не внеш-
внешняя помеченная вершина в Р(х) и Р(у) попеременно.)
L2. (Взять не внешнюю вершину.) Положить r=FIRST (LABEL (MATE (г))).
(г полагается равной следующей не внешней вершине в Р (х) или Р(у).
Если г не помечена, то пометить г и идти к шагу L1. Иначе положить
JOIN=/-. (Мы определили JOIN.) Идти к шагу L3.
L3. (Пометить вершины в Р (х). Р(у), т. е. всем невнешним вершинам между х
и JOIN или у и JOIN будут приписаны метки ребра, а именно N (х, у).)
Положить y=FIRST (x) и выполнить uiarL4. Затем положить u=FIRST(i/)
и выполнить шаг L4. Затем идти к шагу L5.
L4. (Пометить не внешнюю вершину v.) Если i^JOIN, то положить
LABEL (t>)=iV(x, у), FIRST(v)=JOIN и добавить v в массив OUTER.
Затем положить u=FIRST (LABEL (MATE (у))). (Получаем следующую
не внешнюю вершину.) Повторить шаг L4. Иначе (т. е. u=JOIN, и, сле-
следовательно, мы должны приписать метки ребер всем невнешним вершинам
в рассматриваемом пути) продолжить действия, определенные в шаге L3
(т. е. возвратиться к шагу L3.)
L5. (Изменить FIRST.) Для каждой внешней вершины i, если FIRST (i)—
внешняя вершина, положить FIRST (i)=JOIN (т. е. JOIN — новая
первая не внешняя вершина в Р (i)).
L6. (Расстановка реберных меток завершается.) Конец процедуры.
PROC-REMATCH.
R0. (Получить добавляющий путь.) Вычислить Р(х), как описано ниже:
1. Если х имеет реберную метку N(v,w), то вычислить P(v) и P(w).
Если х принадлежит P(v), то P(*)=(rev P(v, x))*P(w).
Иначе P(x)=(rev P(w, x))*P(v).
2. Если x имеет вершинную метку, то Р (х)=(х, MATE (x))*P (LABEL (дг)).
Добавляющий путь ра определяется выражением Ра=(у)*Р(х).
R1. (Дополнить текущее паросочетание.) Получить новое паросочетание,
удаляя из текущего все ребра, входящие в Ра, и добавляя к нему все
ребра, входящие в Ра и не входившие в исходное паросочетание (т. е.
если М — текущее паросочетание, то MQ)Pa— новое паросочетание).
Изменить соответствующим образом элементы массива МАТЕ и завер-
завершить процедуру.
Оптимизационные алгоритмы
387
Следует отметить, что в вышеприведенном алгоритме поиск добав-
добавляющего пути из какой-либо вершины выполняется только однажды.
Предположим, что поиск из ненасыщенной вершины и завершается
без выделения добавляющего пути. Обозначим этот поиск через
Sa. Венгерским подграфом Н для вершины и называется подграф,
который состоит из всех ребер, инцидентных внешним вершинам из
J2
Рис. 15.12.
Su, и всех вершин, инцидентных этим ребрам. Эдмондс [15.28]
показал, что мы можем игнорировать венгерский подграф Н после
выделения Su и модифицировать алгоритм 15.5, изменяя шаг Е2
следующим образом:
Е2'. (Выбрать ребро.) Выбрать ребро... . Если такое ребро не
существует, то идти к шагу Е1.
Шаг Е2' вызовет выполнение шага Е7, который удаляет метки
у вершин, пропускаемых после обнаружения Sa. Эта модификация
ускоряет алгоритм, если граф не имеет совершенного паросочетания.
Однако это не изменяет сложность алгоритма в худшем случае
0(пя).
Вопросы, касающиеся сложности и корректности алгоритма 15.5
388 Глава 15
обсуждаются в работе [15.29]. Проиллюстрируем работу алгоритма
Габова.
Для графа, представленного на рис. 15.12, а, начальное паросо-
четание в котором показано пунктирными линиями, алгоритм Габо-
Габова работает следующим образом.
Начальной вершиной является вершина 10. После завершения
поиска во внешних вершинах 10, 16, 13, 11 и 2 граф поиска будет
таким, как показано на рис. 15.12, б. Элементы массивов LABEL
и FIRST на этом этапе приведены в табл. 15.2. Массив OUTER
содержит вершины 10, 16, 13, 11, 2, 12, 6 и 9 в указанном порядке.
Номер
вершины
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
LABEL
-1
16
1
-1
-1
13
-1
-1
11
0
16
13
16
-1
-1
10
Таблица15.2
FIRST
0
14
0
0
0
8
0
0
7
0
4
5
1
0
0
3
Номер
вершины
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
LABEL
#(9,5)
16
-1
Щ9,5)
#A2,6)
13
#(9,5)
#A2,6)
11
0
16
13
16
-1
-1
10
Таблица 15.3
FIRST
3
14
0
3
3
3
3
3
3
0
3
3
3
0
0
3
Когда мы осуществляем поиск в вершине 12, то рассматриваем
ребро A2.6) и получаем «цветок» A3, 5, 12, 6, 8, 13). Элементы мас-
массивов LABEL и FIRST изменяются следующим образом: LABEL
E)=LABEL (8)=N A2, 6); FIRST (t) = l, /==5, 12, 6, 8. Вершины
5 и 8 помещаются в массив OUTER. Затем, когда мы осуществляем
поиск в вершине 6, мы рассматриваем ребро F, 5), которое образует
другой «цветок» F, 5, 12, 6). Но все вершины этого «цветка» внешние,
и поэтому никаких изменений не производится.
Затем мы осуществляем поиск в вершине 9. При рассмотрении
ребра (9, 5) образуется «цветок» (9, 7, 11, 4, 16, 1, 13, 8, 6, 12, 5, 9).
Вновь изменяем значения элементов массивов LABEL и FIRST
для некоторых вершин. Полученные значения приведены в табл.
15.3.
Оптимизационные алгоритмы 389
В этот момент массив OUTER содержит вершины 10, 16, 13, 11,
2, 12, 6, 9, 5, 8, 1, 7 и 4 в указанном порядке.
Во всех вершинах массива OUTER вплоть до 9 поиск уже был
произведен. Поэтому он продолжается в оставшихся вершинах.
Поиск в вершинах 5 и 8 не добавляет каких-либо новых вершин в
массив OUTER. При поиске в вершине 1 мы рассматриваем ребро
A, 15) и обнаруживаем, что вершина 15 не'насыщена. Получен до-
добавляющий путь. Этим добавляющим путем является путь A5)*РA).
Используем процедуру, составляющую шаг R0 для вычисления
РA). Вершина 1 имеет метку ребра N(9, 5). Поэтому для вычисле-
вычисления РA) нам необходимо иметь пути Р(9) и РE). Далее, так как
вершина 5 имеет метку ребра iVA2, 6), то нам необходимо иметь
пути Р A2) и РF) для вычисления пути РE). Вершина 12 имеет
метку вершины. Поэтому
Р A2) = A2, МАТЕ A2)) * Р (LABEL A2)) = A2, 5) * Р A3) =
= A2, 5)*A3, МАТЕ A3)) *Р (LABEL A3))=A2, 5, 13, 1)*РA6)=
= A2,5, 13, 1)*A6, МАТЕ A6))* Р (LABEL A6)) =
= A2,5, 13, 1, 16,3, 10).
Аналогично Р F)=F, 8, 13, 1, 16, 3, 10) и Р (9)=(9, 7, 11, 4, 16,
3, 10).
Так как вершина 5 лежит на пути Р A2), то Р E)=(rev P A2, 5))*
*Р F)=E, 12)*F, 8, 13, 1, 16, 3, 10)=E, 12, 6, 8, 13, 1, 16, 3, 10).
Мы обнаруживаем, что вершина 1 принадлежит пути Р E). Поэтому
Р (l)=(rev P E, 1)*Р (9)=A, 13, 8, 6, 12, 5)*(9, 7, 11, 4, 16, 3,
10)=A, 13, 8, 6, 12, 5, 9, 7, 11, 4, 16, 3, 10).
Таким образом, добавляющий путь имеет вид A5)*Р A) = A5, 1,
13,8, 6, 12,5,9,7, 11,4, 16,3, 10).
После дополнения мы получаем новое паросочетание, состоящее
из ребер A5, 1), A3, 8), F, 12), E, 9), G, 11), D, 16), C, 10) и A4,2).
Так как все вершины графа насыщены в этом паросочетании, то
это — максимальное паросочетание. (Фактически это совершенное
паросочетание.)
Эдмондс [15.33] и Габов [15.34] рассмотрели эффективный алго-
алгоритм для задачи выделения взвешенного паросочетания. Лоулер
[15.9] обсуждает детально паросочетание и связанные с ним задачи.
15.5. Максимальные паросочетания
в двудольном графе
Задача нахождения максимального паросочетания в двудольном
графе имеет широкий спектр приложений. Например, она появляет-
появляется как подзадача при решении транспортной задачи Хичкока [15.1].
Далее, составление расписаний в определенных случаях включает
разбиение множества ребер двудольного графа на непересекающие-
390 Глава 15
ся паросочетания этого графа. Определение элемента разбиения в
свою очередь требует определения максимального паросочетания
в двудольном графе. Это показано, например, в работе [15.351.
Ввиду такого разнообразия приложений интересна вычислитель-
вычислительная сложность этой проблемы. Хопкрофт и Карп [15.361 показали,
как построить максимальное паросочетание в двудольном графе
за число шагов, пропорциональное пь/=, где п — число вершин
в графе. Методология их подхода основывается на некоторых инте-
интересных положениях (сформулированных ими) в теории паросочета-
ний. Эти положения и их алгоритм двудольного паросочетания об-
обсуждаются в этом разделе.
15.5.1. Методология подхода Хопкрофта и Карпа
Все разработанные до сих пор алгоритмы максимального паро-
паросочетания начинают с паросочетания (которое может быть не макси-
максимальным) и получают, если оно существует, паросочетание большей
мощности с помощью выделения добавляющего пути. Выбор до-
добавляющего пути можно выполнить произвольным образом. Слож-
Сложность этих алгоритмов составляет 0(п3). Хопкрофт и Карп показа-
показали, что если дополнение осуществляется вдоль кратчайшего пути,
то максимального паросочетания можно достичь за 0(/г5/*) фаз,
где каждая фаза включает в себя поиск максимального множества
не пересекающихся по вершинам кратчайших, добавляющих по от-
отношению к паросочетанию путей. Докажем этот результат.
Пусть М — паросочетание. Добавляющий путь Р называется
кратчайшим путем по отношению к М, если Р имеет наименьшую
длину среди всех добавляющих по отношению к М путей.
Лемма 15.3. Пусть М я N —два паросочетания в графе G. Если М =s и
\N\=r, где r>s, то MQ)N содержит по меньшей мере г—s не пересекающихся по
вершинам добавляющих по отношению к М путей.
Доказательство. Рассмотрим порожденный подграф G' графа G на множестве
ребер MQ)N. Согласно теореме 8.19, каждая (связная) компонента подграфа G'
является 1) циклом четной длины, ребра которого попеременно входят в
М—Л' и N—M, либо 2) путем, ребра которого попеременно входят в M—N и
N—M.
Пусть компонентами G' будут Сь С2, . . ., С&, где С,- имеет множества
вершин Vi и ребер ?,-.
Пусть б(С,-)=|?',ПЛ'| — \EjC\M\. Тогда 6(С,-) есть —1, либо 0, либо 1 для
любого ., и fi (Q)= 1 тогда и только тогда, когда С,-—добавляющий по отношению к
М путь. Теперь 2^(С/)=|Л/—М\—\М—N\ — \N\—\M\—r—s. Следовательно, су-
существует не менее г—s таких компонент подграфа G', что 6(С,-)=1. Эти компонен-
компоненты не пересекаются по вершинам, и каждая из них является добавляющим по от-
отношению к М путем.
Лемма 15.4. Пусть М — паросочетание. Пусть \М\ =г, н предположим, что
мощность максимального паросочетания есть s. Тогда существует добавляющий
по отношению к М путь длины не более
Оптимизационные алгоритмы 391
Доказательство. Пусть s — максимальное паросочетание. Тогда по предыду-
предыдущей лемме M(J)S содержит не менее s—г не пересекающихся по вершинам (а сле-
следовательно, и ребрам) добавляющих по отношению к М путей. Вместе с тем эти
пути содержат не более г ребер из М. Поэтому эти пути будут содержать не более
[_ г/ (s—г) J ребер из М каждый и, следовательно, всего не более 2 |_ rl(s—г) J +1
ребер.
Лемма 15.5. Пусть М t— паросочетание, Р — кратчайший добавляющий по
отношению к М путь, а Р'— добавляющий по отношению к Л40Р путь. Тогда
\Р'\>\Р\+\Р(]Р'\.
Доказательство. Пусть N=MQ)P®P . Тогда N — паросочетание и \N\ =
= |УИ|+2. Поэтому MQ)N содержит два не пересекающихся по вершинам добав-
добавляющих пути Pt и Р2 по отношению к М.
Поскольку M®N=P®P', то |P0P'|>|Pi| + |P2|. Ho|P,J>|P| и \Р2\>\Р\,
так как Р — кратчайший добавляющий путь. Поэтому |P0P'|>|P1|+|P2[>2jP].
Тогда из тождества |Р0Р'| = |Р| + |Р'| —\Р(\Р'\ мы получаем |Р'|>|Р|+|РПР'|.
Предположим, что мы вычислили, начиная с паросочетания Мо=0, последова-
последовательность паросочетаний Мх, М2, ¦ ¦ ., М(, . . ., где, Al,-+1=Alf0P,., a P,-— крат-
кратчайший добавляющий по отношению к/И,- путь. Тогда из леммы 15.5 |Р,-+1|^
SH^/l~H^nfy + il- Следовательно, мы имеем следующее:
Лемма 15.6. |P;[<[P,+i|.
Теорема 15.4. Для всех таких i и /', что |Р,-| = |Р/|, Р,- и Pj не пересекаются
по вершинам.
Доказательство. Предположим, что |Р,-| = |Ру|, г</, и Р,-и Pj пересекаются
по вершинам. Тогда существуют такие k и I, что (<:А</<:/, Pk и Р( пересекаются
по вершинам, а для любого r(k<r<l)Pr не пересекается по вершинам с Ри и Рг.
Тогда Pi—добавляющий путь по отношению к MkQ)Pk, поэтому |Рг|>|Р/г!-|-
+ \ркГ\р1\- Но \pi\=\pk\- Следовательно, \pkV\pi\=Q- Таким образом, Pk и
Pi не имеют общих ребер. Но если Рк и Рг имеют общую вершину v, то они имеют
и общее ребро, которое инцидентно v и входит в МкфРк. Следовательно, Pk и Р(
не пересекаются по вершинам, и мы приходим к противоречию. Главный результат
этого раздела формулируется в следующей теореме:
Теорема 15.5. Пусть s — мощность максимального паросочетания. Число
различных целых чисел в последовательности |Р0[,| Pi|. . . •> \Р{\, • • • меньше
или равно 2 |_ Y~s J +2. _
Доказательство. Пусть г= Ls—V~s J • Тогда |jVfr|=r, и по лемме 15.4
Таким образом, для каждого i<x |Р,-| есть одно из |_ ]/"s J+1 положительных
нечетных чисел, меньших или равных 2 |_ j/"s J+1. |Pr+i|, |Рг+г1. • • •> \р s\
привносят не более s—r= f Y~s ~| различных целых чисел, а поэтому общее
число целых чисел в последовательности |Р0|, |Pi|, . . . меньше или равно
L V^ J+!+ Г V~s "I <2 L V^ J+2- Результаты, сформулированные в
лемме 15.6 и теоремах 15.4 и 15.5, позволяют рассматривать вычисление после-
последовательности Мо, Мъ . . .как состоящее не более чем из 2 (_ Y~s J+2 таких
фаз, что добавляющие пути, находимые на каждой фазе, имеют одинаковую дли-
длину и не пересекаются по вершинам. Так как все добавляющие пути на какой-
либо фазе не пересекаются по вершинам, то они являются добавляющими путя-
путями по отношению к паросочетанию, с которого началась эта фаза. Это привело
Хопкрофта и Карпа к предложению следующего альтернативного пути для описа-
описания порядка вычисления максимального паросочетания.
Шаг 0. Начать с нулевого паросочетания М, т. е. УИ=0.
Шаг 1. Пусть 1(М) — длина кратчайшего добавляющего пути по отношению к М.
Найти максимальное множество путей {Qi, Q2, • • ¦¦ Qt} со следующими свойства-
свойствами:
392 Глава 15
1) для каждого i Q,- — добавляющий путь по отношению к М и |Q,-|=/(A1),
2) Qi не пересекаются по вершинам. HALT, если таких путей не существует.
Шаг 2. Положить M=jM0Q1®Q2©.. -Q)Qt, идти к шагу 1. Из предыдущего об-
обсуждения ясно, что шаги 1 и 2 приведенного выше вычисления будут выполняться
не более чем 2 |_ }/"s J +2 раз, т. е. О(п^2) раз. Далее сложность вычисления в
значительной степени зависит от сложности реализации шага 1. Для графа общего
вида реализация этого шага довольно сложна, так как требует порождения всех
добавляющих путей по отношению к данному паросочетанию и последующего
выбора из них максимального множества кратчайших путей, не пересекающихся
по вершинам.
Однако в случае двудольного графа возможна реализация шага 1 со слож-
сложностью О (я2), так что сложность вычисления максимальных паросочетаний для
таких графов равна О(я5^2). В следующем подразделе мы обсудим этот результат,
также полученный Хопкрофтом и Карпом.
15.5.2. Алгоритм Хопкрофта и Карпа
для нахождения максимального двудольного
паросочетаиия
Пусть G — связный двудольный граф, множество вершин кото-
которого разбито на подмножества X и Y. Мы будем называть вершины
из X верхними, а вершины из У — нижними.
Способ выполнения шага 1, предложенный Хопкрофтом и Кар-
Карпом и упомянутый ранее, состоит из двух стадий. Если паросочетание
М не максимально, то на первой стадии выполнения шага 1 строит-
строится такой ориентированный граф G*, что кратчайшие добавляющие
пути по отношению к М взаимно-однозначно соответствуют ориенти-
ориентированным путям в графе G*, которые начинаются в свободной ниж-
нижней вершине, а заканчиваются в свободной верхней вершине. На
второй стадии строится максимальное множество таких ориенти-
ориентированных путей в графе G* с тем свойством, что они не пересекают-
пересекаются по вершинам. Эти пути дают требуемые кратчайшие добавляю-
добавляющие пути в графе G по отношению к М.
Граф G* строится следующим образом. Прежде всего мы ориен-
ориентируем ребра G таким образом, что добавляющие пути по отноше-
отношению к М становятся ориентированными. В этой ориентации
каждое ребро, не вошедшее в паросочетание, направлено из ниж-
нижней вершины в верхнюю, а каждое ребро, вошедшее в паросочета-
паросочетание, — из верхней вершины в нижнюю. Пусть G — полученный
ориентированный граф.
Пусть La — множество свободных верхних вершин, для которых
верно, что все ребра, инцидентные этим вершинам, не входят в паро-
паросочетание, т. е. ориентированы из нижних вершин в верхние.
Рассмотрим такое множество нижних вершин Lb что существует
ориентированное ребро из каждой из этих вершин по меньшей мере
в одну верхнюю вершину из Lo.
Если L\ содержит хотя бы одну свободную нижнюю вершину,
то мы выделили добавляющий путь, показывающий, что длина
кратчайшего добавляющего пути по отношению к М равна 1. Пусть
Оптимизационные алгоритмы 393
L[ — множество свободных нижних вершин в Ll7 а Е'о — множество
ориентированных ребер, соединяющих L\ с Lo. Тогда требуемый
граф G* имеет множество вершин LQ (J L\ и множество ребер Е'о.
Иначе (т. е. если Lx не содержит свободных нижних вершин)
пусть Ео — множество ребер, связывающих Lu с Lo, a L2 — мно-
множество напарников нижних вершин из Ьг. Пусть Ех — множество
соответствующих ребер, вошедших в паросочетание. Ясно, что
L2 — множество верхних вершин и ребра в Ех направлены из L^
в Lx.
Предположим, что мы построили множество вершин LB, Li, . . .,
L2h и множества ребер Ео, Elt . . ., E2k- Рассмотрим множество та-
таких нижних вершин Lak+U которые не встречались в Lo, Lu . . .,
L2k, что каждая из них смежна по меньшей мере с одной из верхних
вершин множества Ьгк.
Если L2h+1 содержит по меньшей мере одну свободную нижнюю
вершину, то это означает, что мы нашли добавляющий путь, пока-
показывающий, что длина кратчайшего добавляющего пути по отноше-
отношению к М равна 2&+1. Пусть L'2k+1 — множество свободных нижних
вершин в Laft+1, a E'ih — множество ориентированных ребер, соеди-
соединяющих L2h+1 с L2h.
Иначе (если L2h+1 не содержит свободных нижних вершин) пусть
2 множество ребер, соединяющих L2h+l, с L2k, и пусть Z,2ft+2 —
множество напарников нижних вершин в L2ft+1. Пусть также Е2к+1—
множество соответствующих ребер, вошедших в паросочетание.
Ясно, что процедура, описанная выше, закончится одним из двух
следующих способов:
1. Для некоторого k множество L2h+1 содержит по крайней мере
одну свободную нижнюю вершину. В этом случае мы останавли-
останавливаем здесь процедуру и требуемый граф G* имеет множество вер-
вершин (Lo U Z-! и . . . и Lik и L'2h+1) и множество ребер (Ео (J Et (J . . .
. . .u?*ft-iU?;*)-
2. Множество L2h+1 пусто для некоторого k, т. е. мы не можем по-
получить никаких новых нижних вершин, которые смежны с верх-
верхними вершинами из L2h. Это свидетельствует о том, что данный
граф не содержит добавляющих путей по отношению к М. Сле-
Следовательно, паросочетание М максимально.
Таким образом, граф G* обладает следующими свойствами:
1. Для нечетного i множество Lt состоит из нижних вершин. В про-
противном случае оно состоит из верхних вершин.
2. Каждое ребро графа G* ориентировано из вершины множества
Li+1 в вершину множества Lt для некоторого i.
3. Граф G* не имеет ориентированных циклов.
4. Кратчайший добавляющий путь в графе G по отношению к М
взаимно-однозначно соответствует ориентированному пути в гра-
графе G*, который начинается в свободной нижней и заканчивается
в свободной верхней вершине.
13 № 1449
394 Глава 15
Ясно, что сложность построения графа G* составляет О (я2). Из
свойства 4 следует, что порождение максимального множества не
пересекающихся по вершинам добавляющих путей в графе G по
отношению к М эквивалентно порождению максимального множест-
множества не пересекающихся по вершинам ориентированных путей в гра-
графе G*, которые начинаются в свободных нижних и заканчиваются
в свободных верхних вершинах. Такие ориентированные пути в гра-
графе G* могут быть порождены за О (я2) шагов поиском в глубину в
графе G*, как мы увидим в алгоритме 15.6.
Представим алгоритм Хопкрофта и Карпа для максимального
двудольного паросочетания. Не нарушая общности, предположим,
что данный графсвязен. Алгоритм состоит из двух процедур: PROC-
HOPKARP и PROC-AUGMENT.
PROC-HOPKARP — главная процедура. По данному паросо-
четанию М она проверяет, является ли М максимальным паросо-
четанием. Если нет, то строит графб* и вызывает PROC-AUGMENT.
PROC-AUGMENT порождает максимальное множество не пере-
пересекающихся по вершинам ориентированных добавляющих путей
в графе G* и выполняет необходимые расширения. Добавляющие
пути, построенные при каком-либо выполнении этой процедуры,
соответствуют путям в отдельной фазе последовательности Ро,
Ри ....
В PROC-AUGMENT мы используем массив PATH, в котором
запоминаются вершины пути по мере его порождения. Переменная
POINT указывает на самый верхний элемент в массиве PATH.
Алгоритм 15.6. Максимальное двудольное паросочетание (Хопкрофт и Карп).
PROC-HOPKARP.
HI. G— данный связный двудольный граф. Пусть Мо—нулевое паросоче-
паросочетание, т. е. Мэ=0. Положить (=0. _
Н2. Построить из графа G ориентированный граф G, ориентируя каждое не
вошедшее в паросочетание ребро (по отношению к М/) графа G из нижней
вершины в верхнюю и каждое вошедшее в паросочетание ребро (по отно-
отношению к Mj) из верхней вершины в нижнюю.
НЗ. Пусть Z-o— множество свободных верхних вершин по отношению к УИ,-.
Если Lo не пусто, то идти к шагу Н4. Иначе HALT. (Паросочетание Mt
максимально.)
Н4. Построить последовательность Lo, Li, . . . подмножеств множества вер-
вершин V графа G и последовательность Ед, Еъ . . . подмножеств множества
таких ребер Е графа G, что
1) ?,•={(«, v) | (и, v)gE,v?Lit и ^Z-oUZ-iU- ..UM. <=°. L2
2) Li+1={u [ для некоторого v, (и, v) ??,•}, i=0, 1,2
3) т* — тт {(|?/П {свободные нижние вершины}Ф0}-
Н5. Если т* определено, то идти к шагу Н6, иначе HALT. (He существует
добавляющего пути по отношению к Mj, и, следовательно, М;— мак-
максимальное паросочетание.)
Н6. Построить подграфG*=(V*, Е*) графа G, где F*=L0|j?iU- • -\JLm*~i\J
U {{Lm*[\ {свободные нижние вершины})} и Е*=Е0[)Е1(). . .[}Em*-2\J
U {(и, v)\vgZ.m«_! и и ? {свободные нижние вершины}}.
Н7. Выполнить процедуру PROC-AUGMENT и идти к шагу Н2.
PROC-AUGMENT.
Оптимизационные алгоритмы 395
А1. Положить POINT=0. (Содержание массива PATH очевидно.) Выбрать
свободную нижнюю вершину у графа G*, которая еще не помечена как
«рассмотренная», и идти к шагу А2. Если такой свободной нижней вер-
вершины не существует, то идти к шагу А8.
А2. Пометить у как «рассмотренную». Положить POINT=POINT+1 и
PATH (POINT)=i/. (у помещается сверху в массив PATH.)
A3. Выбрать ребро (у, х), которое еще не помечено как «рассмотренное»,
и идти к шагу А5. Если такого ребра не существует (мы не можем полу-
получить добавляющий путь, который включает вершину у), то выполнить
следующие действия:
1) если POINT=1, то идти к шагу А1;
2) если РОШТ>1, то идти к шагу А4.
А4. Положить POINT=POINT—2 и г/=РАТН (POINT). (Удаляем сверху
из массива PATH два элемента.) Идти к шагу A3.
А5. Пометить (у, х) как «рассмотренное». Если х уже помечена как «рассмо-
«рассмотренная» (х уже встречалась в некотором кратчайшем добавляющем
пути, либо такого пути, содержащего х, не существует), то идти к шагу
A3. Иначе пометить х как «рассмотренную» и положить РОШТ=
=POINT+1 и PATH (POINT)=x (x помещается сверху в массив PATH).
А6. Если х — свободная вершина по отношению к /И,-, то идти к шагу А7.
Иначе положить у-напарник вершины х и идти к шагу А2.
А7. Добавляющий путь Р по отношению к М,- найден. Вершинами Р явля-
являются вершины PATH A), PATH B), . . ., PATH (POINT). Положить
/И,-+1=Л1,-0Р. (Mj+i — новое паросочетание после расширения.) Поло-
Положить »=i+l и идти к шагу А1.
А8. (Все кратчайшие не пересекающиеся по вершинам пути в графе G* вы-
выделены и соответствующие расширения осуществлены.) Конец процедуры.
Можно показать, что сложность выполнения PROC-AUGMENT
равна О (я2). Так как в любой фазе построения графа G* выполне-
выполнение PROC-AUGMENT производится только один раз и по теореме
15.5 существует О(п1^) фаз, то отсюда следует, что сложность алго-
алгоритма 15.6 равна О(п5/*).
В качестве примера рассмотрим граф G, изображенный на рис.
15.13, а, где пунктирные линии обозначают ребра паросочетания
М. В этом графе нижние вершины пронумерованы числами 1—12,
а верхние вершины —¦ числами —1 10.
Вначале мы ориентируем ребра графа G так, что ребра, не во-
вошедшие в паросочетание, ориентируются из нижних вершин в верх-
верхние, а ребра, вошедшие в паросочетание, ориентируются из верхних
вершин в нижние. Получающаяся ориентация ребер изображена на
рис. 15.13, а.
Множества Lo, Lly L2, Ls, получаемые в результате работы алго-
алгоритма, есть множества Lo={—5, —6}, Li={l, 4, 5}, L2={—7, —8,
-9}, L3={6, 8, 9, 11}.
Тогда m*=3. Так как вершины 6 и 8 множества L3 не являются
свободными нижними вершинами, то они не входят в граф G*. Граф
G* для паросочетания М изображен на рис. 15.13, б. Отметим, что
существует только два добавляющих пути в графе G*. Однако они
не являются не пересекающимися по вершинам. Поэтому PROC-
AUGMENT получит только один добавляющий путь для фазы, ко-
которая начинается с паросочетания М. Если ребро {—6,5; —9,9}—
13*
396
Глава 15
полученный добавляющий путь, то после расширения мы получим
новое паросочетание, в котором вновь введенными ребрами явля-
являются (—6,5) и (—9,9). Ребро E, —9), входящее в паросочетание,
удаляется из него.
" Для дальнейшего изучения мы рекомендуем работу [15.37],
в которой показано, как частный случай более общего результата,
что максимальное паросочетание в
двудольном графе может быть постро-
построено за O(ns/') шагов.
Авторы работы [15.38] разработали
О (п5/*)-алгоритм для максимального
паросочетания в графе общего вида.
Этот алгоритм использует метод, осно-
ванный на поисках в ширину и в глу-
глубину. При разработке этого алгоритма
также использовались некоторые идеи,
выдвинутые ранее [15.29, 15.36].
I
I
А
I
А-8
Риг. 15.13.
15.6. Совершенное паросочетание,
оптимальное назначение и составление
расписаний
В этом разделе обсуждаются задачи оптимального назначения в
составления расписаний, изучение которых включает и теорию
паросочетаний. Получение оптимального назначения требует в ка-
качестве первого шага построения совершенного паросочетания в со-
Оптимизационные алгоритмы 397
ответствующем двудольном графе. Имея это в виду, вначале обсудим
алгоритм построения совершенного паросочетания в двудольном
графе.
15.6.1. Совершенное паросочетание
Рассмотрим задачу о назначении, в которой п рабочих могут
выполнить один или несколько из п видов работ; необходимо опре-
определить, можем ли мы назначить рабочих на все виды работ по одно-
одному рабочему на каждый вид работы, который он может выполнить.
Если представим рабочих множеством вершин Х = {х1, хг, . . ., хп},
а виды работ — множеством вершин У—{у и у2, . . ., уп) дву-
двудольного графа G, в котором xt смежна с у, тогда и только тогда,
когда рабочий xt может выполнить вид работы у}, то ясно, что зада-
задача о назначении сводится к задаче определения, имеет ли граф G
совершенное паросочетание.
Одним из методов решения этой задачи было бы применение ал-
алгоритма 15.6 и выделение максимального паросочетания. Если это
паросочетание состоит из п ребер, то граф имеет совершенное паро-
паросочетание, а полученное максимальное паросочетание есть не что
иное, как совершенное паросочетание.
Главным недостатком такого метода является то, что если граф
не имеет совершенного паросочетания, то мы узнаем об этом только
в конце процедуры. Рассмотрим алгоритм, который находит совер-
совершенное паросочетание в графе G либо останавливается, когда на-
находит такое подмножество S множества X, что |ГE)|<С15|, где
T(S) — множество вершин, смежных с вершинами из подмножества
S. Из теоремы Холла 8.13 ясно, что в последнем случае в графе не
существует совершенного паросочетания.
Основная идея, лежащая в основе этого алгоритма, очень прос-
проста. Как обычно, мы начинаем с некоторого начального паросочета-
паросочетания М. Если М насыщает все вершины множества X, то это как
раз то паросочетание, которое мы ищем. Иначе в общем случае мы
выбираем ненасыщенную вершину и множества X и систематически
ищем добавляющий путь Р, начинающийся в и. При поиске такого
пути мы запоминаем количество вершин, выбранных из множества
X, число смежных с ними вершин и число вершин, выбранных из
множества Y.
Двудольность графа гарантирует нам то, что мы не получим при
поиске цикла нечетной длины и, следовательно, «цветок» не может
образоваться. Как мы видели в разд. 15.4.1, замкнутый чередую-
чередующийся путь четной длины не дает возможности расширить имеющее-
имеющееся паросочетание М. Следовательно, граф поиска, который мы стро-
строим, всегда будет деревом. Это дерево называется венгерским деревом.
На любом этапе, если мы находим добавляющий путь, мы выполня-
выполняем дополнение и получаем новое паросочетание, которое насыщает
во множестве X на одну вершину больше, чем было до этого. Если
398
Глава 15
такого пути не существует, что мы получаем множество SsX, на-
нарушающее необходимое и достаточное условие существования со-
совершенного паросочетания.
Пусть М — паросочетание в графе G, а и ¦— ненасыщенная вер-
вершина в X. Дерево Я графа G называется М-чередующимся деревом
с корнем и, если 1) и принадлежит множеству вершин Я и 2) для
каждой вершины v из Я единственный путь из и в v в Я есть М-чере-
М-чередующийся путь (т. е. чередующийся путь по отношению к М).
Пусть S — подмножество множества вершин X, а Т —¦ подмно-
подмножество множества вершин Y, которые встречаются в Я.
Чередующееся дерево «растет» следующим образом. Вначале Я
состоит только из вершин и. Затем оно растет таким образом, что на
каждом этапе существуют две возможности:
1. Все вершины в Я, кроме и, насыщены (рис. 15.14, а).
A A A i
а 6
Рис. 15.14. Примеры чередующихся деревьев.
2. Я содержит ненасыщенную вершину, отличную от и (рис. 15.14,
б). В этом случае мы получаем добавляющий путь и, следова-
следовательно, получаем новое паросочетание.
В первом случае T(S) = T либо TcT(S).
la. T(S)=T. Так как |5| = |7|+1 в дереве Я, то мы получаем в
этом случае |ГE)| = |5|—1 и множество S не удовлетворяет
необходимому и достаточному условию теоремы Холла. Сле-
Следовательно, можно сделать вывод, что в графе G нет совершен-
совершенного паросочетания.
16. TcT(S). Тогда существует вершина!/из Y, которая не встреча-
встречается в Т, но входит в Г (S). Путь эта вершина у будет смежна с
вершиной х из S. Если у насыщена иг — ее напарник, то мы нара-
наращиваем Я, добавляя вершины у и г, а также ребра (х, у) и (у, z).
Оптимизационные алгоритмы
399
Тогда мы вновь возвращаемся к первому случаю. Если у не
насыщена, то мы наращиваем Я, добавляя вершину у и ребро
(х, у) и приходя ко второму случаю. Путь из и в у в Я является
добавляющим путем по отношению к М. Метод, описанный вы-
выше, реализуется следующим алгоритмом:
Алгоритм 15.7. Совершенное паросочетание.
S1. Пусть G — двудольный граф с разбиением множества вершин (X, Y),
где |ЛЧ=|К|. Пусть Мо— пустое паросочетание, т. е. Ма=0- Положить
«=0.
Рис. 15.15.
400 Глава 15
52. Если все вершины из X насыщены в паросочетании М,-, то HALT. (/И,-—
совершенное паросочетание в графе G.) Иначе выбрать ненасыщенную
вершину и в X и положить S= {и}, Т—0.
53. Если T(S)=T, то HALT. (Тогда|ГE)| <|S| и, следовательно, в графе G
нет совершенного паросочетания.) Иначе выбрать вершину у из Т (S)—Т.
54. Если у не насыщена вМ,-, то идти к шагу S5. Иначе положить z — напар-
напарник у, S=S\J {z} и T—T\J {у}, после чего идти к шагу S3.
55. (Найден добавляющий путь Р). Положить М,- + 1=М,фР и i= t+1. Идти
к шагу S2.
В качестве примера рассмотрим двудольный граф G, представленный на
рис. 15.15, а. В этом графе ребра начального паросочетания М изображены штри-
штриховыми линиями. Вершина хх в М не насыщена. Строим М — чередующееся де-
дерево с корнем %. Мы завершаем наращивание дерева в момент, показанный на
рис. 15.15, б, где мы разместили добавляющий путь х±, у±, х2, у3. Затем мы рас-
расширяем М и получаем новое паросочетание, показанное на рис. 15.15, в.
Вершина х4 в этом паросочетании не насыщена. Поэтому мы переходим к по-
построению чередующегося дерева с корнем л:4 по отношению к новому паросочета-
нию. Построение этого дерева завершается на этапе, показанном на рис. 15.15, г.
Дальнейший рост этого дерева невозможен, так как на этом этапе T(S)=T, где
S= {xi, x2, x3, х4}, a T= {yi, у2, Уз}- Следовательно, графе рис. 15.15, а не имеет
совершенного паросочетания.
Иногда нас может заинтересовать получение совершенного паросочетания, об-
обладающего определенным свойством. В работе [15.39] рассматривается алгоритм,
применимый для некоторого класса таких задач.
15.6.2. Оптимальное назначение
Рассмотрим задачу о назначении, в которой каждый рабочий
может выполнить любой вид работы. Очевидно, что в таком случае
мы можем каждому рабочему назначить работу (конечно, мы, как
и раньше, предполагаем, что имеется п рабочих и п работ). Факти-
Фактически любое максимальное паросочетание является совершенным,
и мы получим п\ таких паросочетании. Задача, интересующая нас
в этом случае, состоит в учете эффективности назначения рабочих
на различные работы и получении такого назначения, которое мак-
максимизирует общую эффективность. Задача нахождения такого наз-
назначения известна как задача об оптимальном назначении.
Двудольный граф для этой задачи является полным, т. е. если
X={xly Xt, . . ., хп} — множество вершин, представляющих рабо-
рабочих, а У~{у\, г/2 Уп) — множество вершин, представляющих
работы, то для всех i и / xt смежна с г/,-. Припишем каждому ребру
(xi, yj) hecWi]=w(Xi, у]), который показывает эффективность работы
рабочего xt при выполнении задания у, (измеряемую в каких-либо
единицах). Тогда задача об оптимальном назначении соответствует
задаче определения в таком взвешенном графе совершенного паро-
паросочетания с максимальным весом. Такое паросочетание называется
оптимальным.
Рассмотрим алгоритм сложности 0{п*), предложенный Каном
и Мункресом [15.40, 15.41] для задачи об оптимальном назначении.
Мы будем придерживаться изложения в работе [15.35].
Оптимизационные алгоритмы 401
Пусть допустимой вершинной разметкой является такая функ-
функция / со значениями из множества действительных чисел, опреде-
определенная на множестве Х[)У, что f(x)+f(y)^w(x, у) для всех х?Х
и y€-Y, тогда f(x) называется меткой вершины х.
Например, следующая разметка является допустимой вершин-
вершинной разметкой: f(x)=max{w(x, у)}, если х?Х; f{y), если y?Y.
Из этого следует, что допустимая вершинная разметка всегда су-
существует независимо от значений весов рббер.
Пусть для данной допустимой вершинной разметки / величина
Ef — множество всех ребер (х, у) графа G, для которых f(x)+f(y)~
=w(x, у). Остовный подграф графа G со множеством ребер Ef назы-
называется подграфом равенств, соответствующим /. Мы будем обозначать
этот граф Gf.
Следующая теорема, связывающая подграф равенств и оптималь-
оптимальные паросочетания, образует основу алгоритма Кана — Мункреса.
Теорема 15.6. Пусть / — допустимая вершинная разметка графа G=(V, E).
Если Gf содержит совершенное паросочетание М*, то М*— оптимальное паросоче-
тание в графе G.
Доказательство. Предположим, что Gf содержит совершенное паросочетание
М*. Так как Gf — остовный подграф графа G, то М*— совершенное паросочетание
в графе G. Пусть w(M*) — вес М*, т. е. w(M*)='^leeMtw(e). Поскольку каждое
ребро е?М* принадлежит подграфу равенств и каждая вершина графа G инци-
инцидентна точно одному ребру из АР, то мы получаем
ш(М*)= 2 »(е)= 2/»- О5'28)
евМ' O6V
С другой стороны, если М — произвольное совершенное паросочетание в графе G,
то
*» (М) = 2 w (е) < 2 f (°). A5'29)
VSV
Объединяя выражения A5.28) и A5.29), получим w(M*)^w(M). Таким образом,
М*— оптимальное паросочетание в графе G.
В алгоритме Кана — Мункреса мы начинаем с произвольной до-
допустимой вершинной разметки / и определяем соответствующий
граф Gf. Затем выбираем начальное паросочетание М в Gf и приме-
применяем алгоритм 15.7. Если получается совершенное паросочетание
в Gf, то, согласно теореме 15.6, это паросочетание оптимально.
В противном случае алгоритм 15.7 заканчивается после построения
паросочетания М', которое несовершенно, получая М' — чередую-
чередующееся дерево Н, не содержащее добавляющего по отношению к
М' пути и не может быть наращено далее в Gf. Тогда мы изменяем
f, получая допустимую вершинную разметку /' с тем свойством, что
и М', и Н содержится BGf, и Н можно расширить в Gf.. Мы осущест-
осуществляем такие изменения допустимой вершинной разметки всякий
раз, когда это необходимо до тех пор, пока не обнаружим совершен-
совершенное паросочетание в каком-либо из подграфов равенств. Детали
алгвритма Кана — Мункреса представлены ниже.
402 Глава 15
Алгоритм 15.8. Оптимальное назначение (Кан и Мункрес).
51. G— данный полный двудольный граф с разбиением множества вершин
(X, Y), где |X| = |F|. W=[w;j] — заданная матрица весов. Положить i=0.
52. Начать с произвольной допустимой вершинной разметки / в графе G.
Найти подграф равенств Gj и выбрать начальное паросочетание УИ(- в Gj.
53. Если все вершины в X насыщены в М{, то М; — совершенное паросочета-
паросочетание и, следовательно, по теореме 15.6 это — оптимальное паросочетание.
HALT. Иначе пусть и — ненасыщенная вершина в X. Положить S= {и}
и Т=0.
54. Пусть Г AS) — множество вершин, которые смежны в графе Gj с верши-
вершинами из множества S. Если Tj(S)z3T, то идти к шагу S5. Иначе (т. е.
если Tf(S)=T) вычислить
dt= min {f(x)+f(y)-w(x, у)} A5.30)
xeS
и получить новую допустимую вершинную разметку /', определяемую
выражением
/ / (t1) — df, если v?S;
Пе)=Ч /(») + */. если v€T; A5.31)
I. / (у) в остальных случаях.
Отметим, что d^>0 и T^(S)=T. Заменить / на /' и Gf на G/.
55. Выбрать вершину у из Tj(S)—Т. Если у не насыщена в М;, то идти к
шагу S6. Иначе положить г-напарник у в М,-, S=S(J {г}, Т=Т[) {у} и
идти к шагу S4.
56. (Найден добавляющий путь Р). Положить /И,-+1=Л1,-фР и (=1+1 ¦ Идти
к шагу S3.
Чтобы проиллюстрировать алгоритм Кана — Мункреса, рас-
рассмотрим полный двудольный граф G, имеющий следующую матрицу
весов:
' 4 1 3"!
3 2 2 1
W —
5 4 4 3
Начальную допустимую вершинную разметку / для графа G можно
выбрать следующим образом: f(xi)=4, f(x2)=3, /(лг3)=5, /(лг4)=2,
/Ы=/Ы=/0/3)=/Ы=0.
Подграф равенств G,-, представлен на рис. 15.16, а. Применяя алго-
алгоритм 15.6, мы определяем, что Gf не имеет совершенного паросоче-
тания, поскольку для множества S = {xlt х2, х3}, Г=Г(S) = {yu
у2}. Используя выражение A5.30), определяем df=\. Тогда, ис-
используя выражение A5.31), получаем следующую новую разметку:
/'(*i)=3, f'(xt) = 2, Г(х,)=4, /'(*4>=2; ГЫ=1, ГЫ=1, Г(У»)=
=0, /'Ы=о.
Подграф равенств G,, представлен на рис. 15.16, б. С помощью алго-
алгоритма 15.6 мы получаем совершенное паросочетание М, состоящее
Оптимизационные алгоритмы
403
из ребер (хъ г/2), (хг, Уг), (х3, у3), (xit yt). Это паросочетание явля-
является оптимальным.
Рис. 15.16.
В работе [15.42] рассмотрен алгоритм для некоторого класса
задач о взвешенных паросочетаниях, которые возникают в опреде-
определенных приложениях, связанных с составлением расписаний и оп-
оптимальным назначением.
15.6.3. Составление расписаний
В школе работают р учителей хх, х2, . . ., хр и имеется q классов
Уи Угу • • м Уч- Известно, что учитель xt должен провести в классе
г/j ptj занятий; необходимо составить расписание таким образом,
чтобы время проведения занятия было наименьшим из возможных.
Такая задача является частным случаем задачи о составлении рас-
расписаний.
Предположим, что мы построили двудольный граф G=(X, У)*,
в котором вершины из X представляют учителей, вершины из Y —
классы, а вершина хг ? X соединена с вершиной yj^Y piS параллель-
параллельными ребрами. Так как в любое время каждый учитель может пре-
преподавать не более чем в одном классе и каждый класс может нахо-
находиться не более чем на одном занятии, то расписание занятий для
одного урока соответствует паросочетанию в графе G и наоборот,
каждое паросочетание соответствует возможному назначению учи-
учителей по классам для проведения одного урока. Таким образом,
задача о составлении расписаний, упомянутая выше, есть задача
разбиения ребер графа G на возможно меньшее число паросочетаний.
Из следствия 8.22.1 вытекает, что минимальное число паросоче-
паросочетаний в любом разбиении множества ребер двудольного графа G
404 Глава 15
равно максимальной степени этого графа G. Доказательство этого
утверждения включает следующую процедуру определения разбие-
разбиения на наименьшее число паросочетаний множества ребер графа:
Шаг 1. Пусть G — данный двудольный граф. Положить ?=0 и
G0=G.
Шаг 2. Построить паросочетание Mt графа G,, которое насыщает
все вершины с максимальной степенью в графе Gt.
ШагЗ. Удалить Mt из графа Gt. Пусть G,+1 — получающийся в ре-
результате граф. Если Gl+1 не имеет ребер, то Мо, Мг> . . ., Mt — тре-
требуемое разбиение множества ребер графа G. Иначе положить ?=
=?+1 и идти к шагу 1.
Ясно, что сложность приведенной выше процедуры зависит от слож-
сложности реализации шага 2, который требует определения паросочета-
ния, насыщающего все вершины с максимальной степенью в дву-
двудольном графе G=(X, Y). Такое паросочетание можно найти следую-
следующим образом (теорема 8.21):
Пусть Ха — множество вершин с максимальной степенью в X,
а Уь — множество вершин с максимальной степенью в Y, Пусть
Ga — подграф графа G, образуемый ребрами, инцидентными вер-
вершинам из Ха. Аналогично Gb — подграф, образуемый ребрами,
инцидентными вершинам из Yb.
Согласно теореме 8.22, существует паросочетание Ма, которое
насыщает все вершины из Ха. Паросочетание Ма — максимальное
паросочетание в Ga. Аналогично в Gb существует максимальное па-
паросочетание Мь, которое насыщает все вершины в Yb. Следуя про-
процедуре, используемой в доказательстве теоремы 8.21, мы можем
получить из Ма и Мь паросочетание М, которое насыщает вершины
в Ха и Yb. Тогда М — требуемое паросочетание, насыщающее все
вершины максимальной степени в графе G.
Сложность выделения Ма и Мъ совпадает со сложностью выде-
выделения максимального паросочетания, т.е. О(п"/*), где п — число
вершин в графе G. Легко показать, что сложность построения М по
Ма и Мь есть О (я2). Таким образом, сложность выполнения шага
2 равна О(пъ1*). Так как шаг 2 будет повторен А раз, где А — макси-
максимальная степень вершин в графе G и Д<л, то сложность построения
требуемого расписания равна О(п*).
Анализ задачи о составлении расписаний в общем виде и ссылки
на литературу по этой проблеме имеются в работе [15.43].
15.7. Потоки в транспортной сети
Транспортная сеть N есть связный ориентированный граф,
который не имеет петель и удовлетворяет следующим условиям:
1. Существует только одна вершина с нулевой полустепенью захо-
захода; эта вершина называется источником и обозначается через s.
Оптимизационные алгоритмы
405
2. Существует только одна вершина с нулевой полустепенью исхо-
исхода; эта вершина называется стоком и обозначается через t.
3. Каждому ориентированному ребру е= (/, /) в сети N сопоставле-
сопоставлено неотрицательное вещественное число, называемое пропускной
способностью ребра; оно обозначается через с(е) или c(i, /).
Если не существует ребра е, ориентированного из i в /, то мы
доопределяем с(е)=0.
Транспортная сеть представляет собой модель сети перевозки
продукции из центра производства к потребителю через связываю-
связывающие их пути. Пропускная способность ребра может рассматриваться
как максимальная скорость, с которой продукция транспортируется
вдоль этого ребра.
Потоком f в транспортной сети /V является функция, сопостав-
сопоставляющая каждому ребру e=(t, /) неотрицательное вещественное чис-
число /(е)=/(/, /) так, что удовлетворяются следующие условия:
1. f(i, ])<fi{i, j) для любого ребра (t, /) в /V. A5.32)
2- 2n0BceM//(i, /)=2П0ВСем//(/, 0 для всех i^s, t.
A5.33)
Значение потока f(e) в ребре е можно рассматривать как скорость,
с которой материал перемещается вдоль е при потоке /. Условие
т
Рис. 15.17. Транспортная сеть.
A5.32), называемое ограничением по пропускной способности, тре-
требует, чтобы скорость потока вдоль ребра не превосходила пропуск-
пропускной способности ребра. Условие A5.33), называемое условием со-
сохранения, требует, чтобы для каждой вершины i, исключая источ-
источник и сток, скорость, с которой материал доставляется в i, была бы
равна скорости, с которой он удаляется из i.
Пример транспортной сети N с потоком / представлен на рис.
15.17. На нем рядом с каждым ребром е приведены пропускная спо-
способность с(е) и поток /((?) в указанном порядке.
Величина потока f, обозначаемая через val (/), определяется вы-
выражением
val(/)= У] f(s,j). A5.34)
406 Глава 15
Далее мы покажем, используя условие сохранения, что
val(/)= S f(s,l)= 2 /(/.О- A5.35)
по всем / по всем /
Это будет только подтверждением интуитивно очевидного факта,
что ввиду условия сохранения общее количество материала, выхо-
выходящего из источника, равно общему количеству материала, входя-
входящего в сток.
Говорят, что поток /* в транспортной сети /V максимален, если
не существует такого потока / в N, что val(/)>val(/*).
В следующем подразделе мы докажем теорему Форда и Фалкер-
сона о максимальном потоке и минимальном разрезе, после чего
рассмотрим помечивающий алгоритм Форда и Фалкерсона опреде-
определения максимального потока в транспортной сети. В заключение
мы докажем теоремы Менгера, используя теорему о максимальном
потоке и минимальном разрезе.
15.7.1. Теорема о максимальном потоке
и минимальном разрезе
Будем говорить, что разрез <S, S> в транспортной сети N
разделяет источник s и сток t, если s?S, at?S. Такой разрез будем
называть s—^-разрезом. Пропускная способность c(K)=c(S, S)
разреза /C=<S, S> определяется выражением
c(*)=2c(U)- A5.36)
iSs_
/es
Отметим, что пропускная способность ребер, которые ориентиро-
ориентированы из S в S, не увеличивает пропускную способность разреза
/C=<S, S>. Мы обозначим через f(S, S) сумму потоков в ребрах,
ориентированных из S в S. Величина/(S, S) определяется анало-
аналогично.
Например, рассмотрим разрез /C=<S, S> в транспортной сети,
изображенной на рис. 15.17, где S—{a, b, с, s} и S = {d, t}.
Ребрами, ориентированными из S в S, являются ребра е3. ?»
и е8. Следовательно,jc(S, S)==c(e3)+c(e4)+c(e8)=ll, f(S, S)=f(ea)+
)=8, f(S, S)=/(ee)=2.
Теорема 15.7. Для любого потока/ и любогоs—/-разреза <S, SJ> в транспорт-
транспортной сети N
val (/)=/ (S, S)—f(S, S). A5.37)
Доказательство. Из определений потока и величины потока имеем
™1 (/), если ,-s;
0, если «?S — {s}.
Оптимизационные алгоритмы 407
Суммируя эти равенства по всем вершинам в S, получим
2 2 /('. /)-2 2 /(/- 0 = val (/). A5.38)
i G S по всем / i € S по всем /
В левой части этого равенства /(i, j) и —/(/, /) для i?S и /?S появляются точно
по одному разу и поэтому взаимно погашаются. Поэтому выражение A5.38) упро-
упрощается до 2 2_/('"'/)~2 2_'(Л 0=val(/).
les ies i'es us
Таким образом, f(S, S)—f(S, S)=va!(/).
Отметим, что выражение A5.34) является частным случаем выражения A5.37).
Следствие 15.7.1. Для любого потока / и любого s—^-разреза K=(S, S) в
транспортной сети N:
val (/)<;? (S, S). A5.39)
Доказательство. Так как любая величина / (i, j) неотрицательна, то из вы-
выражения A5.37) получим val(/)=/(S, S) — f(S, S)<f(S, S)<c(S, S).
Ребро (i, j)будем называть f-насыщенныи, если/(i, j)=c(i,/), и f-ненасыщенным
в противном случае; оно будет f-положительным, если /(г, /)>0, и f-нулевым,
если f(l,D=O.
Отметим, что знак равенства ^выражении A5.39) достигается тогда и только
тогда, когда /E, S)=0 и /(S, S)=c(S, S). Другими словами, va! (f)—c(S, S)
тогда и только тогда, когда все ребра, ориентированные из S в S, являются /-
насыщенными, а ребра, ориентированные из S в S,— /-нулевыми, s—^-разрез К
в транспортной сети N является минимальным, если не существует такого s—t-
разреза К! в ;V, что с(К')<с{К)-
Следствие 15.7.2. Пусть / — поток, а К — такой s—^-разрез, что val(/)=
=с(К). Тогда /—максимальный поток, а К — минимальный s—/-разрез.
Доказательство. Пусть /*— максимальный поток, а К*— минимальный
s—^-разрез. Из следствия 15.7.1. имеем val (f*)<c{K*)- Поэтому мы получаем
val(/)<val(/*)<:c(/<'*)'<c(/iO- Так как по предположению следствия val(/)=
=с(К), то отсюда следует, что val (/)=val(/*)=c(/C*)=c(/<'). Таким образом,
/—максимальный поток, а К — минимальный s—^-разрез.
Перейдем к доказательству того, что величина максимального
потока фактически равна пропускной способности минимального
разреза.
Рассмотрим транспортную сеть N с потоком /. Пусть цепочка
ei ег е, ек
Р: о о о ••• о о ••¦ о -о
S = U0 U, U2 И,_, Uj' Uk-\ uk~V
является путем в N из источника в какую-либо вершину v. Отметим,
что Р — необязательно ориентированный путь.
Ребро ег пути Р называется прямым ребром пути Р, если оно ори-
ориентировано из Ut-i в «;. Иначе оно называется обратным ребром
пути Р. Пусть для каждого ребра ег пути Р
I / (ei)> если ei—обратное ребро.
408
Глава 15
Сопоставим пути Р неотрицательное число в(Р), определяемое выра-
выражением
e(P) = min{e,(P)}. A5.41)
i
Мы назовем путь f-ненасыщенным, если все прямые ребра пути яв-
являются [-ненасыщенными, а все обратные ребра пути — f-положи-
тельными.
s—^-путь Р называется /-дополняющим путем, если Р является
/-ненасыщенным. Из выражений A5.40) и A5.41) следует, что для s—t-
пути Р неравенство е(Р)>0 справедливо тогда и только тогда,
когда Р является /-дополняющим. Для данного s—/-пути Р в сети
jV мы можем определить новый поток f следующим образом:
(f (е)-\-г(Р), если е—прямое ребро;
f(e) = if(e)—е(Р), если е — обратное ребро;
[ / (е) в противном случае.
Очевидно, что val(/)=val(/) Ье(Я).
Таким образом, val(/)>val(/) тогда и только тогда, когда Р яв-
является /-дополняющим путем. Другими словами, поток / не макси-
максимален, если существует /-дополняющий путь.
В качестве примера рассмотрим сеть N, изображенную на рис.
15.17. Пусть поток / будет таким, каким он показан на этом рисунке.
В пути Р, состоящем из е2, еъ, е, и е8, ребра е2, ?8 и е, — прямые, а
еь — единственное обратное ребро. По отношению к потоку / имеем
равенство е2(Р)=1, е6(Р)=1, е,(Я)=1 и е8(Р)=2. Следовательно,
{(P) (P) (Р) ()}
ЧА
а
/
и
\
\
/
е7
2,2
х
/ 2 у
3.2
/
Я)
5,
Ч4
\
С
/
2
\
6,5
10,2/
Рис. 15.18.
Так как е(Я)>0, то Р является дополняющим путем. Изменен-
Измененный на пути Р поток f представлен на рис. 15.18. Отметим, что J
получен увеличением потока на всех прямых ребрах пути Р на вели-
величину е (Я) и его уменьшением на всех обратных ребрах пути Р на
величину е(Р). Потоки в остальных ребрах остаются неизменными.
Оптимизационные алгоритмы 409
Теорема 15.8. Поток / в транспортной сети N максимален тогда и только тог-
тогда, когда в сети нет /^-дополняющих путей.
Доказательство. Необходимость. Если в N существует /-дополняющий путь
Р, то ясно, что / — не максимальный поток, так как измененный на основе пути
Р поток / имеет большую величину, чем /.
Достаточность. Предположим, что N не содержит /-дополняющего пути.
Пусть S — множество всех вершин в N, до которых существуют /-ненасыщенные
пути из источника. Ясно, что s?S. Далее t?S, так как в N не существует /-до-
/-дополняющего пути.
Покажем, что val(f)—c(S, S), доказывая (согласно следствию 15.7.2), что
/ — максимальный поток, a {S, S) — минимальный разрез.
Рассмотрим ориентированное ребро (v, w), для которого v?S, a w?S. Так
как f?S, то существует /-ненасыщенный s—и-путь Q. Ребро (и, w) должно быть
/'-насыщенным, так как иначе Q можно расширить и получить /-ненасыщенный
s—ш-путь, что невозможно, так как w?S. Аналогично мы можем показать, что
каждое ребро (v, w), ориентированное из S в S, должно быть /-нулевым.
Таким образом, f(S, S)=c(S, S) и f(S, S)=0. Следовательно, val(/)=
=f(S, S)—f(S, S)=c(S, S). Тогда из следствия 15.7.2 вытекает, что/ — макси-
максимальный поток, a (S, S) — минимальный разрез.
В ходе доказательства приведенной выше теоремы мы установили следующий
хорошо известный результат Форда и Фалкерсона [15.44], а также Элиаса, Файн-
штайна и Шеннона [15.45].
Теорема 15.9. (Теорема о максимальном потоке и минимальном разрезе.)
В транспортной сети величина максимального потока равна пропускной способ-
способности минимального разреза.
Теорему о максимальном потоке и минимальном разрезе можно использовать
для доказательства нескольких комбинаторных результатов. Мы рассмотрим
один из этих результатов в подразделе 15.7.4. Другие приведены в работах [15.1,
15.46].
15.7.2. Помечивающий алгоритм Форда
и Фалкерсона
Рассмотрим теперь алгоритм Форда и Фалкерсона [15.44] для
определения максимального потока в транспортной сети. Этот алго-
алгоритм, основанный на теореме 15.8, состоит из двух фаз.
На первой фазе по заданному потоку мы, используя помечива-
ющую процедуру, проверяем, существует ли /-дополняющий путь.
Если такого пути не существует, то, согласно теореме 15.8, данный
поток f максимален. Иначе мы переходим ко второй фазе, в которой,
используя метки, полученные в первой фазе, определим / — допол-
дополняющий путь Р — и получим измененный на основе пути Р поток }.
Затем мы повторим фазу 1 для нового потока /. Отметим, что val (/)>
val (/).
В первой фазе метка вида (dv, Av) приписывается вершине v.
Первый символ dv в метке указывает на вершину, из которой и по-
получила эту метку. Она также указывает и направление помечива-
ния — прямое или обратное. Вскоре станет ясно, что если верши-
вершина v получает метку, то это значит, что существует /-ненасыщен-
/-ненасыщенный s—^-путь Р и что для этого пути е(Я) = Ас.
410 Глава 15
Первая фаза начинается с пометки источника парой (—, оо).
Здесь значение ds несущественно. Помечивание остальных вершин
происходит в соответствии со следующими правилами:
Предположим, что вершина и помечена, а вершина v нет. Пусть
е — ребро, связывающее и и v.
Прямое помечивание. Если е=(ы, и), то прямое помечивание v из и
вдоль ребра е возможно, если c(e)>f(e). Если такое помечивание
осуществлено, то v получает метку (ы+, Av), где Aj,= min{Aa,
c(e)-f(e)}.
Обратное помечивание. Если е=(и, и), то обратное помечивание
v из и вдоль ребра е возможно, если / (е)>0. Если такое помечивание
осуществлено, то и получает метку (и~, Av), где Aj,=min{Aa, f(e)}.
На первой фазе вершины помечаются только однажды. Эта фаза
завершается, когда 1) вершина t получает метку либо 2) вершина t
не помечена и ни одну из вершин больше нельзя пометить.
Если t получает метку в первой фазе, то из правил помечивания
следует, что существует /-дополняющий путь Р и е(Р)=А<. Во вто-
второй фазе путь Р прослеживается в обратном направлении с помощью
символов dv и определяется измененный на основе Р поток /. Затем
фаза 1 повторяется применительно к новому потоку /. Если фаза 1
завершается, не приписав метки вершине t, то это означает, что /-до-
/-дополняющего пути не существует и, следовательно, имеющийся поток
максимален. Описание алгоритма Форда — Фалкерсона представле-
представлено ниже.
Алгоритм 15.9. Максимальный поток в транспортной сети (Форд и Фалкер-
сон).
51. Выбрать какой-либо поток / в данной транспортной сети. Мы можем по-
положить /(е)=0 для каждого ребра е в N.
52. (Начинается фаза 1.) Пометить s парой (—, оо).
53. Если существует непомеченная вершина, которую можно пометить с
помощью прямого или обратного помечивания, то выбрать одну такую
вершину и, пометить ее и перейти к шагу S4. Иначе идти к шагу S7.
54. Если v=t, то идти к шагу S5. (Фаза 1 завершена.) Иначе идти к шагу S3.
55. (Начинается фаза 2.) Пусть метка вершины v есть (dv, Av). Тогда выпол-
выполнить следующие действия:
1) если dv=u+, то положить / (и, v)=f(u, у)+Д/,
2) если dv=u~, то положить f(v, u)=f(v, и)—Af.
56. Если «=S, то удалить все метки (фаза 2 завершена) и идти к шагу S2.
Иначе положить v=u и идти к шагу S5.
57. (Полученный поток f — максимален.) HALT.
Проиллюстрируем работу вышеприведенного алгоритма.
Рассмотрим транспортную сеть N, представленную на рис. 15.19.
На нем рядом с каждым ребром е показаны значения с(е) и f(e) соот-
соответственно. В качестве начального потока принимаем /(е)=0 для всех
ребер в сети N. Начиная с метки (—, оо) для источника s, мы помеча-
помечаем (шаг S3 алгоритма 15.9) вершины а, Ь, с, d и t в указанном поряд-
порядке. Получаем метки а : (s+, 3), b : (a+, 3), с : (а + , 3), d : (c+, 2),
Оптимизационные алгоритмы
411
t : (b+, 2). Фаза 1 завершается, так как вершина / уже помечена. В
фазе 2 мы определяем дополняющий путь Р и измененный поток ft
(шаги S3 и S6).
Рис. 15.19. Сеть для иллюстрации помечивающего ал-
алгоритма Форда — Фалкерсона.
Первый символ в метке t есть Ь*. Это означает, что в пути Р
вершина b предшествует вершине t. Первый символ в метке b указы-
указывает, что вершина а предшествует вершине Ь в пути Р. Аналогично
мы видим, что s предшествует а пути Р. Таким образом,
Все ребра в Р являются прямыми. Поэтому для получения изменен-
измененного потока /х мы увеличиваем потоки во всех ребрах пути Р на А(=
=2. Поток ft имеет величину, равную 2, и изображен на
рис. 15.20, а.
Мы стираем метки всех вершин. Имея поток /ь мы получаем
затем новое множество меток, показанных на рис. 15.20, а. Добав-
Добавляющий путь по отношению к /х состоит из вершин s, с, d, t в указан-
указанном порядке. Все ребра в этом пути Р являются прямыми. Потоки
в этих ребрах увеличиваются на 2. Получающийся поток /2 показан
на рис. 15.20, б.
Новое множество меток, основанное на /2, показано на рис.
15.20, б. Дополняющий путь по отношению к /2 состоит из вершин
s, с, b, a, d, t. Ребро, соединяющее вершины а и Ь, является обратным
ребром в этом пути. Все другие ребра пути являются прямыми. Уве-
Увеличим потоки в прямых ребрах на 1 и настолько же уменьшим поток
в обратном ребре. Получающийся в результате поток /3 представлен
на рис. 15.20, Ь.
Имея /з, мы переходим к помечиванию вершин. Этот процесс
завершается в состоянии, показанном на рис. 15.20, в, когда верши-
вершина t еще не помечена. Таким образом, не существует дополняющего
пути по отношению к потоку /3. Поэтому /3 — максимальный поток.
412
Глава 15
(г,
Рис. 15.20. Иллюстрация полечи-
полечивающего алгоритма Форда — Фал-
керсона.
Пусть S — множество вершин, помеченных на рис. 15.20, в.
Тогда S = {s, a, b, с}. Поэтому из доказательства теоремы 15.8 ясно,
что разрез <5, S> является минимальным разрезом, a val(/3) =
—Пропускная способность <S, S>.
15.7.3. Модификация Эдмондса и Карпа
алгоритма помечиваиия
В алгоритме Форда — Фалкерсона, который мы описали в пре-
предыдущем подразделе, вершины можно помечать в произвольном по-
порядке. Другими словами, выбор дополняющего пути (когда он суще-
существует) делается произвольным образом. Проиллюстрируем на при-
примере проблему, к которой может при-
привести произвольность выбора.
Рассмотрим транспортную сеть N,
изображенную на рис. 15.21. Предпо-
Предположим, что мы начинаем выполнять
помечивающий алгоритм с нулевого
потока и поочередно используем пути
Pi : s, a, b, t и Р2 : s, b, a, t в качестве
дополняющих путей. На каждом шаге
величина потока увеличивается точно
на 1, а максимальный поток величи-
величиной 2М достигается после 2М допол-
дополняющих шагов. Таким образом,
число вычислительных шагов, выполняемых в этом случае, не ограни-
ограничено функцией числа вершин и ребер сети N. Это число есть фактичес-
фактически функция от пропускной способности М, которая может быть про-
произвольно большой.
Рис. 15.21.
Оптимизационные алгоритмы 413
Более того, Форд и Фалкерсон [15.1] показали, что их алгоритм
может не найти решения, если пропускные способности ребер явля-
являются иррациональными числами. Они привели пример, в котором
величина потока стремится к V4 величины максимального потока
при бесконечном увеличении числа шагов.
Для устранения этого недостатка Эдмондс и Карп [15.4] предло-
предложили усовершенствование помечивающего алгоритма: на каждом
шаге поток увеличивается вдоль кратчайшего пути. Под кратчайшим
путем здесь понимается путь, имеющий наименьшее число ребер. Оче-
Очевидно, что кратчайший дополняющий путь будет выбран, если в
процедуре помечивания мы рассматриваем вершины по правилу
«первым помечен — первым рассмотрен», т. е. если вершина v поме-
помечена до вершины и, то мы рассматриваем вершину v до вершины и.
Рассмотрение помеченной вершины v означает помечивание (когда
это возможно) всех непомеченных вершин, смежных v.
Эдмондс и Карп показали, что эта модификация гарантирует не-
независимость числа вычислительных шагов, требуемых для реализа-
реализации помечивающего алгоритма, от пропускных способностей ребер.
Перейдем к доказательству этого результата.
Рассмотрим поток / в транспортной сети N. Пусть
е{ е2 et ek
р. о о о • • • о -а • • • а о
дополняющий путь. Напомним, что
( с(е,-)—/(е,-), если е,-—прямое ребро;
8 • (Р} = \
I f (ei)> если ei — обратное ребро
Таким образом, e(P)=et(P) для некоторого i. Тогда соответствую-
соответствующее ребро et называется узким местом.
Предположим, что помечивающий алгоритм начинает с началь-
начального потока /о и строит последовательность потоков fi, f2, f3, ... .
Отметим, что, когда ребро е является узким местом в прямом на-
направлении в дополняющем пути, оно становится насыщенным при
увеличении потока. Если е является узким местом в обратном напра-
направлении, то при таком возрастании поток через е уменьшается до ну-
нуля. Это замечание приводит к следующему результату:
Лемма 15.7. Если &<р и е — узкое место в прямом (обратном) направлении в
дополняющем пути, который меняет как /fc на f^+i, так и /р на/р+1, то существует
такое /(й</<р), что е используется как обратное (прямое) ребро в дополняющем
пути, который меняет /г на fi+\.
Путь X/ (и, v) — длина кратчайшего /,-ненасыщенного пути из и в v. Этот путь,
конечно, не обязательно будет ориентированным. Далее заметим, что ребро е
используется как прямое ребро в пути, только если оно не насыщено, т. е. /()<
<е(е), и ребро е используется как обратное ребро, только если /,-(е)>0.
414 Глава 15
Лемма 15.8. Для каждой вершины v и каждого /г=0, 1,2,...
k>'(s,v)^kk+1(s,v), A5.42)
k*(v, fXJi*+1(t>, t). A5.43)
Доказательство. Мы докажем соотношение A5.42). Соотношение A5.43)
доказывается аналогично.
Предположим, что не существует /А+1-ненасыщенного пути из sb о. Тогда
kk+1(s, v) будем считать бесконечной и неравенство A5.42) выполняется тривиаль-
тривиально. Поэтому предположим, что
е, е2 е3 ер
Р\ о о о о • • • о о
кратчайший /й+1-ненасыщенный путь из sb v. Предположим, что в,- используется
как прямое ребро в пути Р. Тогда /fc+i (<?,•) <с(е,-). Поэтому 1) fk (et)<с{е-) либо
2) /fc(e,-)=c(e,-), и поэтому е,- использовано как обратное ребро в дополняющем пути,
который меняет fk на /j+i- В первом случае
A5.44)
так как кратчайший /^-ненасыщенный путь из sb u,-_i, за которым следует е,- в
прямом направлении, является /^-ненасыщенным путем из s в и,-. Очевидно, что
в последнем случае
X*(s. «i-i) = *.* («.«/)+1. A5.45)
В любом случае соотношение A5.44) выполняется.
Аналогично мы можем показать, что A5.44) верно, когда е,- используется как
обратное ребро в пути Р.
Суммируя A5.44) для i=l, 2, . . ., р и замечая, что № (s, цо)=О, получим
№(s, up)<:p=X*+1(s, v). Таким образом, соотношение A5.42) доказано.
Лемма 15.9. Если используется принцип «первый помечен — первый рас-
рассмотрен», a k<Cl и е используется как прямое (обратное) ребро в дополняющем пу-
пути, который меняет fk на /j+i, и как обратное (прямое) ребро в дополняющем пути,
который меняет /г на /г+1, то Kl(s, t)^Xk(s, t)-\-2.
Доказательство. Предположим, что е ориентировано из и в v. Тогда
k*(s,v) = Kk(s,u)+l, A5.46)
так как е используется как обратное ребро при увеличении fk. Далее,
kl (s, t) = kl (s, v) + \+kl (и, t), A5.47)
так как е используется как обратное ребро при увеличении jL. Но X1 (s, u)^X* (s, v)
к1 (и, tOzkk(u, t). A5.48)
Тогда из выражений A5.46)—A5.48) получим к1 (s, /)>№ (s, ы)+А,*(ы, 0+2=
Л*(/)+2
()
Теорема 15.10. (Эдмондс и Карп.) Если в помечивающем алгоритме Форда —
Фалкерсона каждое увеличение потока выполняется вдоль кратчайшего дополня-
дополняющего пути, то максимальный поток можно получить не более чем после т (ге+2)/2
приращений величины потока, где т — число ребер, а п — число вершин в тран-
транспортной сети.
Доказательство. Рассмотрим какое-либо ребро е, ориентированное из и
в v. Рассмотрим далее такую последовательность потоков jk , fk , . . ., где fe;<
<?2<. . ., что е используется кчк прямое ребро при увеличении /,, и является
узким местом в этот момент. Согласно лемме 15.7, существует такая последова-
Оптимизационные алгоритмы 415
тельность 1и /2, • • •> что й1</1<йа</2<^з<- • ., и е используется как обратное
ребро при увеличении ft..
По лемме 15.8 \ki(s, t)+2<.Xl'(s, t) и Ji'' (s, <)+2<?Л'+1 (s, Q. Поэтому
\kl (s, 0+4 (/—l)<A*/(s, 0- Так как A,fc/(s, *)<n—1, a A,*« (s, 0>l, то мы получаем
1+4 0— 1)<п— 1, или /<(п+2)/4.
Таким образом, е можно использовать как узкое место в прямом направлении
не более чем (я+2)/4 раз. Аналогично его можно использовать как узкое место в
обратном направлении не более чем (п+2)/4 раз. Поэтому каждое ребро может
служить узким местом не более чем (/г+2)/2 раз. Поэтому общее число увеличений
потока не превышает m(n+2)/2.
В доказательстве приведенной выше теоремы не делается никаких
предположений о природе пропускных способностей ребер, кроме их
неотрицательности. Таким образом, из теоремы ясно, что если ис-
используется принцип «первый помечен — первый рассмотрен», то ал-
алгоритм 15.9 заканчивается для любых вещественных неотрицатель-
неотрицательных пропускных способностей за конечное число увеличений потока.
Так как дополняющий путь можно найти за О(т) шагов, то из
теоремы 15.10 следует, что алгоритм 15.9 имеет сложность О(т2 п).
В работе [15.47] описывается класс сетей, для которых необходи-
необходимо О(п3) увеличений потока при условии выполнения каждого уве-
увеличения вдоль кратчайшего дополняющего пути. Поэтому верхнюю
границу в теореме 15.10 нельзя улучшить, если не рассматривать
линейный коэффициент.
В работе [15.48] показано, как улучшить эффективность алгорит-
алгоритма 15.9, выделяя в одном из применений помечивающей процедуры
все кратчайшие пути для увеличения потока. Эта идея подобна идее,
использованной Хопкрофтом и Карпом [15.36] при построении мак-
максимального паросочетания в двудольном графе. В данном случае
алгоритм имеет сложность 0(тпг).
Недавно был представлен [15.49] алгоритм сложности О (и3).
Впоследствии авторы работы [15.50] дали более простой алгоритм
со сложностью О (я3). Этот и подобные алгоритмы описаны в работе
[15.51].
Была изучена [15.37] сложность алгоритма Диница для особого
класса транспортных сетей. Как мы упоминали ранее в разд. 15.5,
этот результат был использован, чтобы показать, что максимальное
паросочетание в двудольном графе можно построить за время, про-
пропорциональное О (и8/*).
15.7.4. Теоремы Менгера
В этом разделе мы докажем теоремы Менгера A5.12—15.15) для
ориентированных и неориентированных графов, используя теорему
о максимальном потоке и минимальном разрезе. Напомним, что мы
сформулировали ранее теоремы Менгера (8.9 и 8.12) для неориенти-
неориентированных графов без доказательства. В последующем изложении
416 Глава 15
мы для целей общности будем допускать возможность того, что ис-
источник имеет ненулевую полустепень захода, а сток — ненулевую
полустепень исхода. Наше доказательство теорем Менгера основано
на следующем результате:
Теорема 15.11. Пусть N — транспортная сеть с источником s и стоком /,
в которой каждое ребро имеет единичную пропускную способность. Тогда 1) ве-
величина максимального потока в сети N равна максимальному числу г не пересе-
пересекающихся по ребрам ориентированных s—/-путей в сети N; 2) пропускная способ-
способность минимального разреза в сети N равна минимальному числу q ребер, уда-
удаление которых разрушает все ориентированные s—/-пути в сети N.
Доказательство. 1. Пусть /*—максимальный поток в N, a N*— ориентиро-
ориентированный граф, полученный из N после удаления всех /*-нулевых ребер. Так как
пропускная способность каждого ребра равна единице, то ясно, что /(е)=1 для
каждого ребра е bN*. Таким образом, a) d^«(s)—d^* (s)=val (/*)=djv* (О—
du*(t). 6) d%» (v)=dJi* (v) для всех v=?s, t. Здесь d%* (х) и а"Ц* (x) обозначают по-
полустепени исхода и полустепени захода соответственно вершины к в графе Л'*.
Тогда (упражнение 5.8) существует val(/*) не пересекающихся по ребрам ори-
ориентированных s—/-путей в графе Л'*, а следовательно, и в графе N. Таким об-
образом,
val (/*)</-. A5.49)
Пусть {Pi, Р2, . . ., Рг)— набор г не пересекающихся по ребрам s—/-путей в
графе N. Определим такой поток /, что
у 1, если е принадлежит какому-либо пути Р,-;
\ 0 в противном случае.
Ясно, что val (f)=r. Так как /*— максимальный поток, то мы имеем
val (/*)>/-. A5.50)
Объединяя выражения J15.49) и A5.50), получим val (f*)=r.
2. Пусть K*=(S, S) — минимальный s—/-разрез в графе Af. Удалим из
Af множество ребер (S, S). Тогда в получающемся ориентированном графе не бу-
будет ии одного ориентированного s—/-пути. Поэтому
cap(/C*) = |(S, S)|S=<7. A5.51)
Пусть Z — множество из q ребер, удаление которых разрушает все ориентирован-
ориентированные s—/-пути в N, а 5 — множество всех вершин, достижимых из s с помощью
ориентированного пути, не содержащего ребра из Z. Ясно, что K={S, S)—s—/-
разрез в N. (S, S)^Z.
Поэтому
cap (К*) <; cap (К) = | (S, S) |< | Z | = q. A5.52)
Объединяя выражения A5.51) и A5.52), получим cap (K*)=q.
Теорема 15.12. Пусть s я t — две вершины в ориентированном графе G.
Тогда максимальное число не пересекающихся по ребрам ориентированных s—/-
путей в G равно минимальному числу ребер, удаление которых разрушает все
ориентированные s—/-пути в графе G.
Доказательство. Построим из графа G транспортную сеть Л' с источником s
и стоком /, приписывая каждому ребру графа G единичную пропускную способ-
способность. Тогда доказываемая теорема является следствием теоремы 15.11 и теоремы
о максимальном потоке и минимальном разрезе.
Оптимизационные алгоритмы
417
Для неориентированного графа G пусть D(G) — ориентирован-
ориентированный граф, полученный заменой каждого ребра е графа G парой про-
противоположно ориентированных ребер, инцидентных тем же верши-
вершинам, что и е. Можно легко показать, что 1) существует взаимно-одно-
взаимно-однозначное соответствие между путями в графе G и ориентированными
путями в графе D(G) и 2) для любых двух вершин s и t минимальное
число ребер, удаление которых из графа разрушает все s—^-пути
в графе G, равно минимальному числу ребер, удаление которых раз-
разрушает все ориентированные пути в графе D(G). Из этих замечаний
вытекает справедливость неориентированного варианта теоремы
15.12.
Теорема 15.13. Пусть s и /— две вершины неориентированного графа G.
Максимальное число не пересекающихся по ребрам s—/-путей в графе G равно
минимальному числу ребер, удаление которых разрушает все s—/-пути в графе G.
Вершинные аналоги теорем 15.12 и 15.13 доказываются следующим образом:
Пусть s и / — две несмежные вершины в ориентированном графе G~ (V, E).
Построим из графа G ориентированный граф G' следующим образом:
1. Расщепим вершину u?V—\s, /} на две новые вершины и' и v" и соединим их
ориентированным ребром (v', v").
2. Заменим каждое ребро графа G с конечной вершиной и? V—{s, /} на новое реб-
ребро, имеющее v' в качестве конечной вершины.
3. Заменим каждое ребро графа G с начальной вершиной v?V—{s, /} на новое
ребро, имеющее v' в качестве начальной вершины.
Рис. 15.22.
а — граф G; б — грг
С.
Граф G и соответствующий ему граф G' представлены на рис. 15.22. Нетрудно
доказать, что:
1. Каждый ориентированный s—/-путь в графе G' соответствует ориентированно-
ориентированному s—/-пути в графе G, который получается стягиванием всех ребер вида
(и', и"), и, наоборот, каждый ориентированный s—/-путь в графе G соответству-
соответствует s—/-пути в графе G , полученному расщеплением всех вершин пути, от-
личиых от s и /.
2. Два ориентированных s—/-пути в графе G' не пересекаются по ребрам тогда
и только тогда, когда соответствующие им пути в графе G не пересекаются по
вершинам.
3. Максимальное^ число не пересекающихся по ребрам ориентированных s—/-пу-
s—/-путей в графе G равно максимальному числу не пересекающихся по вершинам
ориентированных s—/-путей в графе G.
4. Минимальное число^ребер, удаление которых разрушает все ориентированные
s—/-пути в графе G , равно минимальному числу вершин, удаление которых
разрушает все ориентированные s—/-пути в графе G.
418 Глава 15
Из этих замечаний следует справедливость вершинного аналога теоремы 15.12.
Теорема 15.14. Пусть s и t — две несмежные вершины в ориентированном
графе G. Тегда максимальное число не пересекающихся по вершинам ориентиро-
ориентированных s—/-путей в графе G равно минимальному числу вершин, удаление которых
разрушает все ориентированные s—/-пути в графе G.
Теореме 15.13 соответствует следующая теорема:
Теорема 15.15. Пусть s и t — две несмежные вершины в неориентированном
графе G. Тогда максимальное число не пересекающихся по вершинам s—/-путей
в графе G равно минимальному числу вершин, удаление которых разрушает все
s—t-nym в графе G.
Доказательство. Достаточно применить теорему 15.14 к графу D(G).
Стандартной ссылкой на теорию потоков в сетях является ссылка на работу
[15.1], в которой рассматривается также задача поиска потока минимальной сто-
стоимости. Эти вопросы излагаются также в работах [15.7—15.9, 15.46, 15.52, 15.53].
15.8. Оптимальное ветвление
Рассмотрим взвешенный ориентированный граф G=(V, E). Пусть
w(e) — вес ребра е. Вес подграфа графа G есть сумма весов всех
ребер этого подграфа.
Подграф Gs графа G есть ветвление в графе G, если Gs не имеет ори-
ориентированных циклов и полустепень захода каждой вершины Gs не
превышает 1. Ясно, что каждая компонента Gs является ориентиро-
ориентированным деревом. Ветвление с максимальным весом называется оп-
оптимальным ветвлением.
В этом разделе мы обсуждаем алгоритм Эдмондса [15.54] для вы-
вычисления оптимального ветвления графа G. Наше обсуждение осно-
основывается на работе [15.55].
Ребро е= (i, /), направленное из вершины i в вершину /, является
критическим, если 1) ш(е)>0 и 2) w(e)^w(e') для каждого ребра
е'= (k, /), заходящего в /. Остовный подграф Н графа G является кри-
критическим подграфом G, если 1) каждое ребро подграфа Н критиче-
критическое и 2) полустепень захода каждой вершины Н не превышает 1.
Ориентированный граф G и критический подграф Н графа G
представлены на рис. 15.23.
Очевидно, что 1) каждая компонента критического графа содер-
содержит не более одного цикла — и такой цикл будет ориентированным
циклом — и что 2) критический подграф без циклов является опти-
оптимальным ветвлением графа G.
Рассмотрим ветвление В. Пусть е= ((,/) — ребро, не входящее в
В, а е' — ребро В, заходящее в вершину /. Тогда е является под-
подходящим ребром по отношению к В, если В'=(В{]е)—е' является
ветвлением.
Например, ребра {ей е2, еъ, et, e7, е8} образуют ветвление графа,
изображенного на рис. 15.23. Ребро е9, не принадлежащее В, явля-
является подходящим по отношению к В, так как (В и ев)—е7 является
ветвлением рассматриваемого графа.
Оптимизационные алгоритмы
419
Следующие две леммы легко доказываются и приводят к теореме
15.16, которая образует основу доказательства Карпа корректности
алгоритма Эдмондса. Позже множество ребер подграфа Н будет
также обозначаться символом Н.
a 6
Рис. 15.23.
a — ориентированный граф О; б — критический подграф графа в
Лемма 15.10. Пусть В— ветвление, a e=(i, /) — ребро, не принадлежащее
В. Ребро е является подходящим по отношению к В тогда и только тогда, когда
не существует ориентированного пути из / в L
Лемма 15.11. Пусть В — ветвление, а С — такой ориентированный цикл,
что не существует ребра из С—В, являющегося подходящим по отношению к В.
Тогда |С—В| = 1.
Теорема 15.16. Пусть Н — критический подграф. Тогда существует такое
оптимальное ветвление В, что для каждого ориентированного цикла С в Я верно,
что \С—В| = 1.
Доказательство. Пусть В — оптимальное ветвление, которое содержит мак-
максимальное (среди всех оптимальных ветвлений) число ребер критического под-
подграфа. Рассмотрим какое-либо ребро е?Я—В. Пусть е заходит в вершину /, а е'—
ребро В, заходящее в вершину /. Если бы е было подходящим ребром, то (B\Je)—е'
было бы оптимальным ветвлением, содержащим большее число ребер подграфа Я,
чем их содержит ветвление В, что противоречит допущению. Таким образом, ни
одно ребро из Н—В не является подходящим по отношению к В. Поэтому, согласно
лемме 15.11, для каждого цикла С в Я имеем \С—В| = 1.
420 Глава 15
Пусть Clt Сг Cj— ориентированные циклы в подграфе Н. Отметим,
что никакие два цикла из подграфа Н не могут иметь общее ребро. Другими сло-
словами, эти циклы не пересекаются по ребрам. Для каждого d пусть е° — ребро с
минимальным весом в С,-.
Следствие 15.16.1. Существует такое оптимальное ветвление В, что 1) |С,-—
—б|=1, »=1, 2 k и 2) если ни одно ребро из В—С,- не входит в вершину из
С,-, г=1, 2 k, то
С,—В = е\. A5.53)
Доказательство. Пусть среди всех оптимальных ветвлений, удовлетворяющих
условию 1, В будет ветвлением, содержащим минимальное число ребер из мно-
множества {е\, е\ е%). Тогда покажем, что В удовлетворяет условию 2.
Предположим, что это неверно для какого-либо (, т. е. е??В. Тогда ни одно
ребро из В—С,- не входит в вершину из С,-. Пусть е=С,-—В. Тогда (В—е\)[)е
является оптимальным ветвлением, которое удовлетворяет условию 1, но имеет
меньше ребер из множества {е\, е\ е%), чем В, что противоречит допущению.
Этот результат очень важен для разработки алгоритма Эдмондса.
Он определяет, что мы можем ограничить поиск оптимального вет-
ветвления лишь теми ветвлениями, которые удовлетворяют условию
A5.53).
Построим из данного графа G более простой граф G'. Покажем
также, как построить из оптимального ветвления графа G' оптималь-
оптимальное ветвление графа G, которое удовлетворяет условию A5.53).
Как и ранее, пусть Н — критический подграф графа G, а Сь
С2, ... , Ch — ориентированные циклы в Н. Пусть G' — граф, полу-
получающийся после стягивания всех ребер в каждом С,- (/=1, 2, ... , k).
В G' вершины каждого цикла Ct представлены единственной верши-
вершиной ait называемой псевдовершиной. Веса ребер графа G' совпадают
с весами в графе G, кроме весов ребер, заходящих в псевдовершины.
Эти веса модифицируются следующим образом:
Пусть e=(i, /) — ребро такого графа G, что /— вершина некото-
некоторого цикла Сг, a i не принадлежит Сг. Тогда в графе G' ребро е за-
заходит в псевдовершину аг. Определим е как единственное ребро в
Сг, которое заходит в вершину /. Тогда в графе G' вес ребра е, обо-
обозначаемый w (е), определяется выражением
w'(e)=w(e)—w(e)+w(e°). A5.54)
Рассмотрим, например, ребро, заходящее в вершину ориентиро-
ориентированного цикла {е2, е3, е4, еъ} критического подграфа графа G, изобра-
изображенного на рис. 15.23. Тогда ех=еь, а вес ег в графе G' определяется
следующим образом: w' (е1)=гд;(е1)— ш(е5)+ю(е4)=5—6+5=4.
Отметим, что е4 — ребро в цикле {е2, е3, е4, еъ) с минимальным
весом.
Пусть Е и ?' — множества ребер графов G и G' соответственно.
Покажем, как построить ветвление В графа G, удовлетворяющее
условию A5.53), используя ветвление В' графа G', и наоборот. Легко
Оптимизационные алгоритмы 421
показать для любого ветвления В графа G, удовлетворяющего ус-
условию A5.53), что
В'=В(]Е' A5.55)
есть ветвление графа С. Ветвление В', как оно определено выше,
является единственным ветвлением, соответствующим данному вет-
ветвлению В.
Рассмотрим ветвление В' графа G'. Для каждого Ct определим
С'с следующим образом:
1. Если полустепень захода в В' псевдовершины ai равна нулю, то
2. Если полустепень захода в В' псевдовершины at не равна нулю
и е — ребро В', входящее в псевдовершину ah то Q=Cj—е.
Тогда легко показать, что
B = B'^C't A5.56)
есть ветвление графа G, которое удовлетворяет условию A5.53).
Ветвление В, как оно определено выше, является единственным вет-
ветвлением для данного ветвления В'.
Таким образом, можно заключить, что существует взаимно-од-
взаимно-однозначное соответствие между множествами ветвлений графа G, ко-
которые удовлетворяют условию A5.53), и графа G'. Более того, для
весов соответствующих ветвлений В и В' выполняется соотношение
к к
w(B)—w(B')= 2 w(Ct)— 2шD A5.57)
;=i i=i
Из этого свойства ветвлений В и В' следует, что если В — оптималь-
оптимальное ветвление графа G, удовлетворяющее условию A5.53), то В'—
оптимальное ветвление графа G' и наоборот. Таким образом, нами
доказана следующая теорема:
Теорема 15.17. Существует взаимно-однозначное соответствие между мно-
множеством всех оптимальных ветвлений в графе G, которые удовлетворяют условию
A5.53), и множеством всех оптимальных ветвлений в графе G'. Алгоритм Эдмонд-
са для построения оптимального ветвления основан на этой теореме и включает
следующие шаги:
Алгоритм 15.10. Оптимальное ветвление (Эдмондс).
51. Для данного графа G—Go построить последовательность графов Go, Gx,
G2, . . ., G/j., где
1) Gfc— первый граф в последовательности, критический подграф которого
является ациклическим и
2) 0^A <:?<:?) получается из G,-_x стягиванием циклов в критическом
подграфе #,_i графа G,_! и изменением весов в соответствии с выраже-
выражением A5.54).
52. Так как Нк— ациклический граф, то он является оптимальным ветвлени-
ветвлением в G;,. Пусть Bk—Hk. Построить последовательность Bk_lt Bfc_2. • ¦ -
. . ., Во. гДе 1) В{ @<:(<?—1) — оптимальное ветвление графа G,- и 2) В[
для /^гО строится с помощью расширения псевдовершин, как это опре-
определяется выражением A5.56), в ветвлении Bi+l.
422
Глава 15
Например, пусть Go есть граф, изображенный на рис. 15.23, а,
а Но — граф, изображенный на рис. 15.23, б. Но — критический
подграф графа Go. После стягивания ребер циклов из Но и изменения
весов ребер мы получаем граф Gb показанный на рис. 15.24, а.
Критический подграф Нг графа Gi показан на рис. 15.24, б. #t —
ациклический граф. Поэтому он является оптимальным ветвлением
графа Gt. Оптимальное ветвление графа Go получается из Нг расши-
расширением псевдовершин ах и а2 (которые соответствуют двум ориен-
ориентированным циклам в Но), и оно изображено на рис. 15.24, в.
Рис. 15.24.
а — граф О i\ б — Н , — критический подграф графа G,:
8 — оптимальное ветвление для графа О (рис. 15, 23, а).
Тарьян [15.56] предложил О (т ^п)-реализацию алгоритма Эд-
мондса, где т — число ребер, an — число вершин. Интересны также
работы [15.57, 15.58], в которых независимо друг от друга был открыт
алгоритм Эдмондса.
15.9. Замечания, касающиеся литературы
В литературе имеются сообщения о многих интересных алгорит-
алгоритмах, которые предназначены для решения графовых задач. Некото-
Некоторые из них перечислены ниже с соответствующими ссылками на
связанные с этими задачами работы.
Изоморфизм. Работы [15.59—15.62].
Планарность. Работы [15.26, 15.51, 15.63, 15.64].
Связность. Работы [15.65, 15.66].
Оптимизационные алгоритмы 423
Хроматическое число. Работы [15.68, 15.691-
Раскраска графа. Работы [15.8, 15.70—15.73].
Независимые множества и число устойчивости. Работы [15.74—15.
79].
Минимальные остовы. Работы [15.10, 15.80—15.85].
Проблемы расширения. Работы [15.86, 15.87].
Параллельные вычисления. Работа [15.88].
Ветвления. Работы [15.89—15.92].
Оптимизация сети. Работа [15.93].
Расписания. Работы [15.94—15.100].
Теоретико-графовые исследования линейных уравнений. Работы
[15.101—15.104].
Алгоритмы аппроксимации. Работы [15.105, 15.106].
Упражнения
15.1. Докажите корректность следующей модификации алгоритма Дейкстры для
нахождения кратчайших путей между определенной вершиной s и всеми другими
вершинами во взвешенном ориентированном графе G, который не содержит ори-
ориентированных циклов отрицательной длины. В последующем Е — множество
ребер графа G, a w(u, v) — длина ориентированного ребра (и, v).
51. Положить 0(s)=O, a a(u)=co для ифь.
52. Положить S={s}.
53. Если S=0, то HALT, иначе выбрать такое и*, что u*?S и о(и*)=
=min {c(u)}.
usS
54. Для каждого такого v, что (и*, v)?E, положить a(t))=min {o(v), a(u*)+
-\-w(u*, v)}.
Если при этом уменьшается величина o(v), то положить S=S(J {г}.
55. Положить S=S—{и*} и идти к шагу S3 [15.4].
15.2. Докажите корректность следующего алгоритма, предложенного Данци-
Данцигом [15.107], для выделения кратчайших путей между всеми парами вершин во
взвешенном графе, который не содержит ориентированных циклов отрицательной
длины. Wk(i,j)—расстояние от г до/, где 1<г, j<k и ни одна вершина с номером,
большим k, не используется в пути, вдоль которого определялось это расстояние.
w (I, j)=W1 ((', /) —длина ребра (t, /), aw ((/)= оо, если такого ребра не существует.
Кроме того, w(i, i)=0 для всех i.
51. Положить k=2.
52. Для 1<j<* выполнить Wk(г, fe)=min {w(i, k), Wk~l(i,])+w(j, k)}r
K/<*
Wk(k, i)=min {w(k, i),w(k, /)+lF*-l(/. 0}-
1</<я
53. Для 1 <l,j<kвыполнить W(i, /)=min {W^-1^, j), W>'(i,k)+W'i{k, /)}.
54. Если k=n, то STOP , иначе положить k=k+l и идти к шагу S2.
Покажите также, как можно обнаружить циклы с отрицательной длиной при
выполнении приведенного выше алгоритма.
15.3. Используя топологическую сортировку, сконструируйте алгоритм для
нахождения кратчайшего пути из вершины s до всех остальных вершин в ацикли-
ациклическом взвешенном графе.
15.4. Предположим, что кратчайший путь из i в j не единствен. Какой из путей
будет выбран для алгоритмов Флойда 15.2?
15.5. Докажите, что если вектор длин путей (lx, t2 1п) удовлетворяет усло-
условию, налагаемому на характеристическую сумму, и если /!</2<:/з<:. . .<:/„ и
lj<l/ + 1=t/+2=. ¦ .=/„, то вектор (lt, /2, . . ., lj, lJ + 1—l, Ij + d + i. h + d+*> ¦ ¦ '
..., ln) также удовлетворяет условию, налагаемому на характеристическую сумму,
424 Глава 15
и длины путей расположены в неубывающем порядке [d то же, что и в выраже-
выражении A5.17)].
15.6. Используя результат упражнения 15.5, покажите, как построить т-дере-
во, в котором порядок листьев слева направо совпадает с порядком величин в
векторе длин путей.
15.7. Найдите минимальное дерево бинарного поиска для весов A, 2, 3, 3, 4, 4).
15.8. Докажите, что замена шага Е2 в алгоритме 15.5 на шаг «Е2\ (Выбор ребра.)
Выбрать ребро... . Если такого ребра не существует, то идти к шагу Е7» не влияет
на корректность алгоритма выделения максимального паросочетания [15.28].
15.9. Покажите, что если не существует ориентированного s—Апути в транспорт-
транспортной сети N, то величина максимального потока и пропускная способность ми-
минимального разреза равны нулю.
15.10. Если (S, 5) и (Т, Т) — минимальные разрезы в транспортной сети N,
то покажите, что {S (J T, S (J Т) и Ef| T, S[\T) также минимальные разрезы в N.
15.11. Покажите, что в любой транспортной сети с целочисленными пропускными
способностями существует максимальный поток /, в котором /(е) — целое число
для любого ребра е в N.
15.12. Рассмотрим транспортную сеть N, в которой каждой вершине f=^=s, t
сопоставлено неотрицательное целое число m (v). Покажите, как можно опреде-
определить максимальный поток, в котором поток в каждую вершину v=?s, t не пре-
превышает m(v) с помощью применения помечивающего алгоритма к модифициро-
модифицированной сети. (Примените построение, используемое при доказательстве теоремы
15.14.)
15.13. Рассмотрим транспортную сеть N, в которой определена также и нижняя
граница потока в каждом ребре.
а) Найдите необходимые достаточные условия существования потока в сети. N.
б) Модифицируйте помечивающий алгоритм для определения максимального
потока в сети N [15.108].
15.14. Докажите, что поток в транспортной сети с нижними границами для пото-
потока в ребре существует тогда и только тогда, когда каждое ребро е принадлежит
ориентированному циклу или ориентированному пути из s в t или ориентированно-
ориентированному пути из t в s.
15.15. Опишите метод определения местонахождения в транспортной сети N реб-
ребра, которое обладает тем свойством, что увеличение его пропускной способности
приводит к увеличению максимального потока в сети N.
15.16. Оптимальное ветвление не обязательно является оптимальным ориентиро-
ориентированным остовом. Покажите, как можно модифицировать алгоритм Эдмондса для
выделения ориентированного остова.
15.17. а) Докажите корректность следующего алгоритма Прима [15.81] для опре-
определения минимального взвешенного остова в связном взвешенном графе G=
= (V, E). Выбрать произвольную вершину v в графе G. Среди всех ребер, входя-
входящих в v, выбрать ребро ег с минимальным весом. Стянем еъ и пусть G — получен-
полученный граф. Повторить эти действия для G' и продолжить до тех пор, пока не будет
определено ребро en_t. Ребра ej, е2, . . ., еи_1 образуют минимальный взвешен-
взвешенный остов графа G.
б) Сконструируйте О (л2)-реализацию алгоритма Прима.
15.18. Докажите теорему Холла 8.13, используя теорему 15.9 о максимальном
потоке и минимальном разрезе, и наоборот.
15.19. Пусть G=(X, Y) —двудольный граф, в котором существует полное паро-
сочетание X в Y. Тогда известно, что существует такая вершина v?X, что для
каждого ребра е, инцидентного v, существует полное паросочетание, содержащее е
(упражнение 8.16). Непосредственный алгоритм определения такой вершины бу-
будет требовать для своего выполнения 0{тп1г) шагов. Попытайтесь сконструиро-
сконструировать алгоритм с меньшей сложностью.
ЛИТЕРАТУРА
1.1. Whitney H., 2-Isomorphic Graphs., Am. J. Math., 55, 245—254 A933).
1.2. Berge C., Graphs and Hypergraphs, North Holland, Amsterdam, 1973.
1.3. Harary F. Graph Theory, Addison-Wesley, Reading, Mass., 1969. [Имеется
перевод: Ф. Харари. Теория графов: — М.: Мир, 1973.]
1.4. J. A. Bondy, U.S.R. Murty, Graph Theory with Applications, Macmillan,
London, 1976.
1.5. R. J. Wilson, Introduction to Graph Theory, Oliver and Boyed, Edinburgh,
1972. [Имеется перевод: Р. Уилсон. Введение в теорию графов.— М.:
Мир, 1977.]
1.6. С. L. Liu, Introduction to Combinatorial Mathematics, McGraw-Hill, New
York, 1968.
1.7. M. Behzad, G. Chartrand, Introduction to the Theory of Graphs, Allyn
and Bacon, Boston, 1971.
1.8. N. Deo, Graph Theory with Applications to Engineering and Computer
Science, Prentice-Hall, Englewood Cliffs, N.J., 1974.
2.1. S. Seshu, M. B. Reed, Linear Graphs and Electrical Networks, Addison-
Wesley, Reading, Mass., 1961.
2.2. M. B. Reed. The Seg: A New Class of Subgraphs, IRE Trans. Circuit Theory,
Vol. CT-8, 17—22 A961).
2.3. W. H. Kim, R. T. Chien, Topological Analysis and Synthesis of Communi-
Communication Networks, Colombia University Press, New York, 1962.
2.4. W. K- Chen, Applied Graph Theory: Graphs and Electrical Networks, North-
Holland, Amsterdam, 1971.
2.5. W. Mayeda, Graph Theory, Wiley-Interscience, New York, 1972.
2.6. H. Whitney, On the Abstract Properties of Linear Dependence, Am. J.
Math., Vol. 57, 509—533 A935).
2.7. С St. J. A. Nash-Williams, Edge-Disjoint Spanning Trees of Finite Graphs,
/. London Math. Soc, Vol. 36, 445—450 A961).
2.8. W. T. Tutte, On the Problem of Decomposing a Graph into n Connected Fac-
Factors, /. London Math. Soc, Vol. 36, 221—230 A961).
2.9. R. L. Cummins, Hamilton Circuits in Tree Graphs, IEEE Trans. Circuit
Theory, Vol. CT-13, 82-90 A966).
3.1. V. Chvatal, On Hamilton's Ideals, J. Combinatorial Theory B, Vol. 12,
163—168 A972).
3.2. G. A. Dirac, Some Theorems on Abstract Graphs, Proc. London Math. Soc,
Vol. 2, 69—81 A952).
3.3. O. Ore, Arc Coverings of Graphs, Ann. Mat. Рига Appl., Vol. 55, 315—321
A961).
3.4. L. Posa, A Theorem Concerning Hamilton Lines, Magyar Tud. Akad. Mat.
Kutato Int. Kozl., Vol. 7, 225—226 A962).
3.5. J. A. Bondy, Properties of Graphs with Constraints on Degrees, Studia
Sci. Math. Hungar., Vol. 4, 473—475 A969).
3.6. С L. Liu, Introduction to Combinatorial Mathematics, McGraw-Hill, New
York, 1968.
14 № U49
426 Литература
3.7. М. Behzad and G. Chartrand, Introduction to the Theory of Graphs, Allyn
and Bacon, Boston, 1971.
3.8. S. Lin, Computer Solutions of the Traveling Salesman Problem, Bell Syst.
Tech. J., Vol. 44, 2245—2269 A965).
3.9. M. Belmore and G. L. Nemhauser, The Traveling Salesman Problem: A Sur-
Survey, Operations Res., Vol. 16, 538—558 A968).
3.10. M. Held and R. M. Karp, The Traveling Salesman Problem and Minimum
Spanning Trees, Operations Res., Vol. 18, 1138—1162 A970).
3.11. M. Held and R. M. Karp, The Traveling Salesman Problem and Minimum
Spanning Trees: Part II, Math. Programming, Vol. 1, 6—25 A971).
3.12. С Berge, Graphs and Hypergraphs, North Holland, Amsterdam, 1973.
3.13. J. A. Bondy and U.S.R. Murty, Graph Theory with Applications, Macrnil-
lan, London, 1976, chap. 4.
3.14. С St. J. A. Nash-Williams, Hamilton Arcs and Circuits, in Recent Trends
in Graph Theory, Springer, Berlin, 1971, pp. 197—210.
3.15. J. A. Bondy and V. Chvatal, A Method in Graph Theory, Discrete Math.,
Vol. 15, 111—135 A976).
3.16. С St. J. A. Nash-Wiliiams, Hamiltonian Circuits, in Studies in Graph
Theory, Part. II, MAA Press, 1975, pp. 301—360.
3.17. L. Lesniak-Foster, Some Recent Results in Hamiltonian Graphs, J. Graph
Theory, Vol. 1, 27—36 A977).
3.18. P. Erdos and T. Gallai, On Maximal Paths and Circuits of Graphs, Ada
Math. Acad. Sci. Hung., Vol. 10, 337—356 A959).
3.19. R. L. Cummins, Hamilton Circuits in Tree Graphs, IEEE Trans. Circuit
Theory, Vol. CT-13, 82—90 A966).
3.20. H. Shank, A Note on Hamilton C.rcuits in Tree Graphs, IEEE Trans. Cir-
Circuit Theory, Vol. CT-15, 86 A968).
4.1. S. MacLane and G. Birkhoff, Algebra, Macmillan, New York, 1967.
4.2. P. R. Halmos, Finite—Dimensional Vector Spaces, Van Nostrand Reinhold.
New York, 1958.
4.3. F. E. Hohn, Elementary Matrix Algebra, Mocmillan, New York, 1958.
4.4. W. K- Chen, On Vector Spaces Associated with a Graph, SI AM J. Appl.
Math., Vol., 20, 526—529 A971).
4.5. T. W. Williams and L. M. Maxwell, The Decomposition of a Graph and the
Introduction of a New Class of Subgraphs, SI AM J. Appl. Math., Vol. 20,
385—389 A971).
4.6. R. Gould, Graphs and Vectors Spaces, J. Math. Phys., Vol. 37, 193—214
A958).
5.1. S. W. Golomb, Shift Register Sequences, Holden-Day, San Francisco, 1967.
5.2. M. Hall, Jr., Combinarotial Theory, Blaisdell, Waltham, Mass., 1967.
5.3. T. Van Aardenne-Ehrenfest and N. G. de Bruijn, Circuits and Trees in Ori-
Oriented Linear Graphs, Simon Stevin, Vol. 28, 203—217 A951).
5.4. J. W. Moon, On Subtournaments of a Tournament, Canad. Math. Bull.,
Vol. 9, 297—301 A966).
5.5. С Berge, Graphs and Hypergraphs, North Holland, Amsterdam, 1973.
5.6. J. A. Bondy and U.S.R. Murty, Graph Theory with Applications, Macmil-
Macmillan, London, 1976.
5.7. M. G. Kendall, Further Contributions to the Theory of Paired Comparisons,
Biometrics, Vol. 11, 43—62 A955).
5.8. J. W. Moon and N. J. Pullman, On Generalized Tournament Matrices,
SIAM Rev., Vol. 12, 384—389 A970).
5.9. Ф. Харари Теория графов.—M.: Мир, 1973.
5.10. J. W. Moon, Topics on Tournaments, Holt, Rinehart and Winston, New
York, 1968.
5.11. С St. J. A. Nash-Williams, Hamiltonian Circuits, in Studies in Graph
Theory, Part II, MAA Press, 1975, pp. 301—360.
Литература 427
5.12. D. E. Knuth, The Art of Computer Programming, Vol. 1: Fundamental Al-
Algorithms, Addison-Wesley, Reading Mass, 1968.
5.13. D. E. Knuth, The Art of Computer Programming, Vol. 3: Sorting and Sear-
Searching, Addison-Wesley, Reading, Mass., 1973. [Имеется перевод: Д. Е.
Кнут. Искусство программирования для ЭВМ. т. 3: Сортировка и
поиск:— М.: Мир, 1978.]
5.14. А. V. Aho, J. E. Hopcroft, and J. D. Ullman, The Design and Analysis of
Computer Algorithms, Addison-Wesley, Reading, Mass., 1974. [Имеется
перевод: А. Ахо, Дж. Хопкрофт, Дж. Ульман. Построение и анализ вы-
вычислительных алгоритмов.— М.: Мир, 1979.]
5.15. Е. М. Reingold, J. Nievergelt, and N. Deo, Combinatorial Algorithms:
Theory and Practice, Prentice Hall, Englewood Cliffs, N.J., 1977. [Имеется
перевод: Э. М. Рейнгольд, Ю. Нивергельт, Н. Дсо. Комбинаторные ал-
алгоритмы: Теория и практика: — М.: Мир, 1980.]
5.16. F. Harary, R. Z. Norman, and D. Cartwright, Structural Models: An Intro-
Introduction to the Theory of Directed Graphs, Wiley, New York, 1965.
5.17. V. Chvatal and L. Lovasz, Every Directed Graph Has a Semi-Kernel, in
Hypergraph Seminar (Eds. С Berge and D. K- Ray-Chaudhuri), Springer,
New York, 1974, p. 175.
6.1. F. E. Hohn, Elementary Matrix Algebra, Macmillan, New York, 1958.
6.2. W. K- Chen, Applied Graph Theory, North Holland, Amsterdam, 1971.
6.3. G. Kirchhoff, Uber die Auflosung der Gleichungen, auf welche man bei der
Untersuchung der linearen Verteilung galvanischer Strome gefiihrt wird,
Ann. Phys. Chem., Vol. 72, 497—508 A947).
6.4. A. Cayley, A Theorem on Trees, Quart. J. Math., Vol. 23, 376—378 A889).
6.5. J. W. Moon, Various Proofs of Cayley's Formula for Counting Trees, in
A Seminar on Graph Theory (Ed. F. Harary and L. W. Beinke), Holt, Ri-
nehart and Winston, New York, 1967, pp. 70—78.
6.6. H. Priifer, Neuer Beweis eines Satzes fiber Permutationen, Arch. Math.
Phys., Vol. 27, 742—744 A918).
6.7. K. Sankara Rao, V. V. Bapeswara Rao, and V. G. K- Murti, Two—Three
Admittance Products, Electron. Lett, Vol. 6, 834—835 A970).
6.8. W. T. Tutte, The Dissection of Equilateral Triangles into Equilateral Tri-
Triangles, Proc. Cambridge Phil. Soc, Vol. 44, 203—217 A948).
6.9. F. Harary, The Determinant of the Adjacency Matrix of a Graph, SIAM
Rev., Vol. 4, 202—210 A962).
6.10. C. L. Coates. Flow-Graph Solutions of Linear Algebraic Equations IRE
Trans., Circuit Theory, Vol. CT-6, 170—187 A959).
6.11. S. J. Mason, Feedback Theory: Some Properties of Signal Flow Graphs,
Proc. IRE., Vol. 41, 1144—1156 A953).
6.12. S. J. Mason, Feedback Theory: Further Properties of Signal Flow Graphs,
Proc. IRE., Vol. 44, 920—926 A956).
6.13. S. Seshu, M. B. Reed, Linear Graphs and Electrical Networks, Addison-
Wesley, Reading, Mass., 1961.
6.14. W. Mayeda, Graph Theory, Wiley-Interscience, New York, 1972.
6.15. N. Deo. Graph Theory with Applications to Engineering and Computer Sci-
Science, Prentice-Hall, Englewood Cliffs, N.J., 1974.
6.16. F. Harary and E. M. Palmer, Graphical Enumeration, Academic Press,
New York, 1973. [Имеется перевод: Ф. Харари, Е. Палмер. Перечисле-
Перечисление графов: —М.: Мир, 1977.]
6.17. В. R. Myers, Number of Trees in a Cascade of 2-Port Networks, IEEE Trans.
Circuit Theory, Vol CT-14, 284—290 A967).
6.18. B. R. Myers, Number of Spanning Trees in a Wheel, IEEE Trans. Circuit
Theory, Vol. CT-18, 280-282 A971).
6.19. S. D. Bedrosian, Number of Spanning Trees in Multigraph Wheels, IEEE
Trans. Circuit Theory, Vol. CT-19, 77—78 A972).
6.20. N. K- Bose, R. Feick, and F. K- Sun, Genera! Solution to the Spanning Tret
428 Литература
Enumeration Problem in Multigraph Wheels, IEEE Trans. Circuit Theory,
Vol. CT-20, 69—70 A973).
6.21. M.N.S. Swamy and K- Thulasiraman, A Theorem in the Theory of Determi-
Determinants and the Number of Spanning Trees of a Graph, Proc. IEEE Int. Symp.
on Circuits and Systems, 153—156 A976).
6.22. С Berge, Graphs and Hypergraphs, North-Holland, Amsterdam, 1973.
6.23. L.P.A. Robichaud, M. Boisvert, and J. Robert, Signal Flow Graphs and
Applications, Prentice-Hall, Englewood Cliffs, N.J., 1962.
6.24. N. Balabanian and T. A. Bickart, Electrical Network Theory, Wiley, New
York, 1969.
6.25. Y. Kajitani and S. Ueno, On the Rank of Certain Classes of Cutsets and Tie-
Sets of a Graph, IEEE Trans. Circuits and Sys., Vol. CAS-26, 666—668
A979).
7.1. K- Wagner, Bemerkungen zum Vierfarbenproblem, Ober Deutsh. Math.
Verein, Vol. 46, 26—32 A936).
7.2. I. Fary, On Straight Line Representation of Planar Graphs, Ada Sci. Math.
Szeged, Vol. 11, 229—233 A948).
7.3. S. K. Stein, Convex Maps, Proc. Am. Math. Soc, Vol. 2, 464—466 A951).
7.4. H. Whitney, Non-Separable and Planar Graphs, Trans. Am. Math. Soc,
Vol. 34, 339—362 A932).
7.5. C. Kuratowski, Sur le probleme des courbes gauches en topologie, Fund.
Math., Vol. 15, 271—283 A930).
7.6. Cm. [1.3].
7.7. W. T. Tutte, How to Draw a Graph, Proc. London Math. Soc, Vol. 13,
743—767 A963).
7.8. K- Wagner, Uber eine Eigenschaft der ebenen Komplexe, Math. Ann.,
Vol. 114, 570—590 A937).
7.9. F. Harary and W. T. Tutte, A Dual Form of Kuratowski's Theorem, Canad.
Math. Bull., Vol. 8, 17—20 A965).
7.10. S. MacLane, A Structural Characterization of Planar Combinatorial Graphs,
Duke Math. J., Vol. 3, 340—372 A937).
7.11. H. Whitney, Planar Graphs, Fund. Math., Vol. 21, 73—84 A933).
7.12. T. D. Parsons, On Planar Graphs, Am. Math. Monthly, Vol. 78, 176—178
A971).
7.13. S. Seshu, M. B. Reed, Linear Graphs and Electrical Networks, Addison-
Wesley, Reading, Mass., 1961.
7.14. H. Whitney A Set of Topological Invariants for Graphs, Am. J. Math.,
Vol. 55, 231—235 A933).
7.15. O. Ore, The Four Colour Problem, Academic Press, New York, 1967.
7.16. J. A. Bondy and U.S.R. Murty, Graph Theory with Applications Macmil-
lan, London, 1976.
7.17. J. E. Hopcroft and R. E. Tarjan, Efficient Planarity Testing, J. ACM,
Vol. 21, 549—568 A974).
7.18. N. K. Bose and K- A. Prabhu, Thickness of Graphs with Degree Constrained
Vertices, IEEE Trans. Circuits and Sys., Vol. CAS—24, 184—190 A975).
7.19. W. T. Tutte, On the Nonbiplanar Character of the Complete 9-graph, Canad.
Math. Bull., Vol. 6, 319—330 A963).
8.1. F. Harary The Maximum Connectivity of a Graph, Proc. Nat. Acad. Sci.,
U.S., Vol. 48, 1142—1146 A962).
8.2. J. A. Bondy, Properties of Graphs with Constraints on Degrees, Studia Sci,
Math. Hung., Vol. 4, 473—475 A969).
8.3. G. Chartrand, A Graph Theoretic Approach to a Communication Problem,
SIAM J. Appl. Math., Vol. 14, 778—781 A966).
8.4. S. L. Hakimi, On the Realizability of a Set of Integers as Degrees of the
Vertices of a Graph, SIAM J. Appl. Math., Vol. 10, 496—506 A962).
8.5. V. Havel, A Remark on the Existence of Finite Graphs (in Hungarian),
Casopois Pest. Mat., Vol. 80, 477—480 A955).
Литература 429
8.6. D. L. Wang and D. L. Kleitman, On the Existence of «-Connected Graphs
with Prescribed Degrees (n5s2), Networks, Vol. 3, 225—239 A973).
8.7. P. Erdos and T. Gallai, Graphs with Prescribed Degrees of Vertices (in
Hungarian), Mat. Lapok, Vol. 11, 264—274 A960).
8.8. Cm. [1.3].
8.9. J. Edmonds, Existence of A-Edge-Connected Ordinary Graphs with Prescri-
Prescribed Degrees, J. Res. Nat. Bur. Stand. В., Vol. 68, 73—74 A964).
8.10. D. L. Wang and D. J. Kleitman, A Note on n-Edge Connectivity, SI AM
J. Appl. Math., Vol. 26, 313-314 A974).
8.11. K- Menger, Zur allgemeinen Kurventheorie, Fund. Math., Vol. 10, 96—115
A927).
8.12. H. Whitney, Congruent Graphs and the Connectivity of Graphs, Am. J.
Math., Vol. 54, 150—168 A932).
8.13. W. T. Tutte, A Theory of 3-Connected Graphs, Indag. Math., Vol. 23,
441—455 A961).
8.14. L. R. Ford and D. R. Fulkerson, Maximal Flow Through a Network, Canad.
J. Math., Vol. 8, 399—404 A956).
8.15. P. Elias, A. Feinstein, С. Е. Shannon, A Note on the Maximum Flow Thro-
Through a Network, IRE Trans. Inform. Theory, IT-2, 117—119 A956). [Имеется
перевод: П. Элиас, А. Файнстейн, К- Шеннон. О максимальном потоке
через сеть: В сб. К- Шеннон. Работы по теории информации и киберне-
кибернетике: — М.: ИЛ, 1963.]
8.16. P. Hall, On Representatives of Subsets, /. London Math. Soc., Vol. 10,
26—30 A935).
8.17. P. R. Halmosn, H. E. Vaughan, The Marriage Problem, Am. J. Math.,
Vol. 72, 214-215 A950).
8.18. D. Konig, Graphs and Matrices, Mat. Fit. Lapok, Vol. 38, 116—119 A931).
8.19. O. Ore, Graphs and Matching Theorems, Duke Math J., Vol. 22, 625—639
A955).
8.20. R. Rado, Note on the Transfinite Case of Hall's Theorem on Representatives,
/. London Math. Soc, Vol. 42, 321—324 A967).
8.21. С Berge, Two Theorems in Graph Theory, Proc. Nat. Acad. Sci. U.S.,
Vol. 43, 842—844 A957).
8.22. N.S. Mendelsohn, A. L. Dulmage, Some Generalizations of the Problem of
Distinct Representatives, Canad, J. Math., Vol. 10, 230—241 A958).
8.23. W. T. Tutte, The Factorization of Linear Graphs, /. London Math. Soc,
Vol. 22, 107-111 A947).
8.24. I. Anderson, Perfect Matchings of a Graph., /. Combinatorial Theory В.,
Vol. 10, 183—186 A971).
8.25. L. Lovasz, Three Short Proofs in Graph Theory, J. Combinatorial Theory
B, Vol. 19, 111—113 A975).
8.26. C. Berge, Graphs and Hypergraphs, North-Holland, Amsterdam, 1973.
8.27. F. T. Boesch (Ed.), Large-Scale Networks: Theory and Design, IEEE Press,
New York, 1976.
8.28. S. L. Hakimi, An Algorithm for Construction of Least Vulnerable Communi-
Communication Networks or the Graph with the Maximum Connectivity, IEEE
Trans. Circuit Theory, Vol. CT-16, 229—230 A969).
8.29. F. T. Boesch and R. E. Thomas, On Graphs of Invulnerable Communication
Nets, IEEE Trans. Circuit Theory, Vol. CT-17, 183—192 A970).
8.30. A. T. Amin and S. L. Hakimi, Graphs with Given Connectivity and Inde-
Independence Number or Networks with Given Measures of Vulnerability and
Survivability, IEEE Trans. Circuit Theory, Vol. CT-20, 2—10 A973).
8.31. H. Frank and I. T. Frisch, Communication, Transmission, and Transsorta-
tion Networks, Addison-Wesley, Reading, Mass., 1971.
8.32. L. Mirsky and H. Perfect, Systems of Representatives, J. Math. Anal.
Apptic, Vol. 15, 520—568 A966).
430 Литература
8.33. R. A. Brualdi, Transversal Theory and Graphs, in Studies in Graph Theory,
Part II, MAA Press, 1975, pp. 23—88.
8.34. L. Mirsky, Transversal Theory, Academic Press, New York, 1971.
8.35. J. A. Bondy and U.S.R. Murty, Graph Theory with Applications, Macmil-
lan, London, 1976.
8.36. Cm. [1.5].
9.1. D. Konig, Graphs and Matrices (in Hungarian), Mat. Fiz. Lapok, Vol. 38,
116—118 A931).
9.2. С Berge, Graphs and Hypergraphs, North Holland, Amsterdam, 1973.
9.3. T. Gallai, Uber extreme Punkt und Kantenmengen, Ann. Univ. Sci. Buda-
Budapest, Eotvos Sect. Math., Vol. 2, 133—138 A959).
9.4. V- G. Vizing, On an Estimate of the Chromatic Class of a p-Graph (in Rus-
Russian), Diskret. Analiz., Vol. 3, 25—30 A964).
9.5. J. С Fournier, Colorations des aretes d'un graphe, Cahiers du CERO, Vol.
15, 311—314 A973).
9.6. J. A. Bondy and U.S.R. Murty, Graph Theory with Applications, Macmil-
lan, London, 1976.
9.7. R. L. Brooks, On Colouring the Nodes of a Network, Proc. Cambridge Phil.
Soc., Vol. 37, 194—197 A941).
9.8. L. S. Melnikov and V. G. Vizing, New Proof of Brooks' Theorem, /. Combi-
natorial_ Theory, Vol. 7, 289—290 A969).
9.9. L. Lovasz, Three Short Proofs in Graph Theory, J. Combinatorial Theory B,
Vol. 19, 111—113 A975).
9.10. P. J. Heawood, Map Colour Theorems, Quart. J. Math., Vol. 24, 332—338
A890).
9.11. K- I- Appel and W. Haken, Every Planar Map is Four-Colorable, Bull. Am.
Math. Soc, Vol. 82, 711—712 A976).
9.12. O. Ore, The Four-Color Problem, Academic Press, New York, 1967.
9.13. T. L. Saaty, Thirteen Colorful Variations on Guthrie's Four-Color Conjec-
Conjecture, Am. Math. Monthly, Vol. 79, 2—43 A972).
9.14. T. L. Saaty and P. C. Kainen, The F'our-Coior Problem: Assaults and Con-
Conquests, McGraw-Hill, New York, 1977.
9.15. H. Whitney and W. T. Tutte, Kempe Chains and the Four Colour Problem,
in Studies in Graph Theory, Part II, MAA Press, 1975, pp. 378—413.
9.16. Cm. [1.3].
9.17. P. Turan, An Extremal Problem in Graph Theory (in Hungarian), Mat.
Fiz. Lapok, Vol. 48, 436—452 A941).
9.18. P. Erdos, On the Graph Theorem of Turan (in Hungarian), Mat. Lapok,
Vol. 21, 249—251 A970).
9.19. B. Bollobas, Extremal Graph Theory, Academic Press, New York, 1978.
9-20 H. Frank and I. T. Frisch, Communication, Transmission, and Transporta-
Transportation Networks, Addison-Wesley, Reading, Mass., 1971.
9.21. F. T. Boesch (Ed.), Large-Scale Networks: Theory and Design, IEEE Press,
Xew York, 1976.
9.22. P. Karivaratharajan and K- Thulasiraman, K-Sets of a Graph and Vulne-
Vulnerability of Communication Nets, Matrix and Tensor Quart., Vol. 25, 63—66
A974), 77—86 A975).
9.23. P. Karivaratharajan and K. Thulasiraman, An Extremal Problem in Graph
Theory and Its Applications, Proc. IEEE Intl. Symp. on Circuits and Sys-
Systems, Tokyo, Japan, 1979.
9.24. С L. Liu, Introduction to Combinatorial Mathematics, McGraw-Hill, New
York, 1968.
9.25. L. Lovasz, On the Shannon Capacity of a Graph, IEEE Trans. Inform.
Theory, Vol. IT-25, 1—7 A979).
9.26. R. C. Read, An Introduction to Chromatic Polynomials, J. Combinatorial
Theory, Vol. 4, 52—71 A968).
Литература 431
9.27. G. D. Birkhoff, A Determinan Formula for the Number of Ways of Coloring
a Map, Ann. Math., Vol. 14, 42—46 A912).
9.28. W. T. Tutte, On Chromatic Polynomials and the Golden Ratio, /. Combina-
Combinatorial Theory, Vol. 9, 289—296 A970).
9.29. W. T. Tutte, Chromials in Studies in Graph Theory, Part II, MAA Press,
1975, pp. 361-377.
9.30. D. C. Wood, A Technique for Colouring a Graph Applicable to Large-Scale
Timetabling Problems, Computer J., Vol. 12, 317 A969).
9.31. N. Christofides, Graph Theory: An Algorithmic Approach, Academic Press,
New York, 1975. [Имеется перевод: Н. Крис'тофидес. Теория графов:
Алгоритмический подход: — М.: Мир, 1978.]
9.32. Е. J. Cockayne and S. Т. Hedetniemi, Towards a Theory of Domination in
Graphs, Networks, Vol. 7, 247—267 A977).
9.33. E. J. Cockayne, S. T. Hedetniemi, Optimal Domination in Graphs, IEEE
Trans. Circuits and Sys., Vol. CAS-22, 41—44 A975).
9.34. D.J.A. Welsh, M. B. Powell, An Upper Bound for the Chromatic of a Graph
and Its Application of Timetabling Problems, Computer J., Vol. 10,
85—87 A967).
10.1. H. Whitney, On the Abstract Properties of Linear Dependence, Am. J.
Math., Vol. 57, 509—533 A935).
10.2. G. J. Minty, On the Axiomatic Foundations of the Theories of Directed
Linear Graphs, Electrical Networks and Network Programming, J. Math.
and Mech., Vol. 15, 485—520 A966).
10.3. W. T. Tutte, Introduction to the Theory of Matroids, American Elsevier,
New York, 1971.
10.4. D.J.A. Welsh, Matroid Theory, Academic Press, New York, 1976.
10.5. G. J. Minty, Monotone Networks, Proc. Roy. Soc, A, Vol. 257, 191—212
A960).
10.6. G. J. Minty, Solving Steady-State Non-Linear Networks of 'Monotone'
Elements, IRE Trans. Circuit Theory, Vol. CT-8, 99—104 A961).
10.7. J. B. Kruskal, On the Shortest Spanning Subgraph of a Graph and the Tra-
Travelling Salesman Problem, Proc. Am. Math. Soc, Vol. 7, 48—49 A956).
10.8. R. Rado, Note on Independence Functions, Proc. London Math. Soc, Vol.
7, 300—320 A957).
10.9. J. Edmonds, Matroids and the Greedy Algorithm, Math. Programming,
Vol. 1, 127—136 A971).
10.10. D. Gale, Optimal Assignments in an Ordered Set: An Application of .Matroid
Theory, J. Combinatorial Theory, Vol. 4, 176—180 A968).
10.11. D.J.A. Welsh, Kruskal's Theorem for Matroids, Proc. Cambridge Phil. Soc.,
Vol. 64, 3—4 A968).
10.12. Rabe von Randow, Introduction to the Theory of Matroids, Springer Lec-
Lecture Notes in Mathematical Economics, Vol. 109, 1975.
10.13. С Berge, Graphs and Hypergraphs, North Holland, Amsterdam, 1973.
10.14. Cm. [1.5].
10.15. R. Rado, A Theorem on Independence Relations, Quart, J. Math. (Oxford),
Vol. 13, 83—89 A942).
10.16. A. Lehman, A Solution of the Shannon Switching Game, S1AM J. Appl.
Math., Vol. 12, 687—725 A964).
10.17. W. T. Tutte, A Homotopy Theorem for Matroids-I and II, Trans. Am- Math.
Soc, Vol. 88, 144—174 A958).
10.18. W. T. Tutte, Lectures on Matroids, J. Res. Nat. Bur. Stand., Vol. 69B,
1—48 A965).
10.19. W. T. Tutte, Matroids and Graphs, Trans. Am. Math. Soc, Vol. 90, 527—
552 A959).
10.20. W. T. Tutte, Connectivity in Matroids, Canad. J. Math., Vol. 18, 1301 —
1324 A966).
432 Литература
10.21. L. Mirsky, Application of the Notion of Independence to Combinatorial
Analysis, J. Combinatorial Theory, Vol. 2, 327—357 A967).
10.22. F. Harary and D.J.A. Welsh, Matroids versus Graphs, in The Many Facets
of Graph Theory, Springer Lecture Notes, Vol. 110, 1969, pp. 155—170.
10.23. R. J. Wilson, An Introduction to Matroid Theory, Am- Math. Monthly,
Vol. 80, 500—525 A973).
10.24. J. Edmonds, Minimum Partition of a Matroid into Independent Subsets,
J. Res. Nat. Bur. Stand., Vol. 69B, 67—72 A965).
10.25. J. Edmonds and D. R. Fulkerson, Transversals and Matroids Partition,
J. Res, Nat. Bur. Stand., Vol. 69B, 147—153 A965).
10.26. L. Mirsky, Tranversal Theory, Academic Press, London, 1971.
10.27. E. L. Lawler, Combinatorial Optimization: Networks and Matroids, Holt,
Rinehart and Winston, New York, 1976.
10.28. R.G. Bland and M. Las Vergnas, Orientability of Matroids, J. Combinato-
Combinatorial Theory B, Vol. 24, 94—123 A978).
10.29. J. Folkman and J. Lawrence, Oriented Matroids, /. Combinatorial Theory
B, Vol. 25, 199—236 A978).
10.30. J. Edmonds, Lehman's Switching Game and a Theorem of Tutte and Nash-
Williarns, J. Res. Nat. Bur. Stand., Vol. 69B, 73—77 A965).
10.31. J. Bruno and L. Weinberg, A Constructive Graph-Theoretic Solution of the
Shannon Switching Game, IEEE Trans. Circuit Theory, Vol. CT-17,
74—81 A970).
10.32. D. E. Knuth, Matroid Partitioning, Stanford University Rep. STAN-CS-
73-342, 1—12 A973).
10.33. J. Edmonds, Matroid Partition, in Lectures in Appl. Math., Vol. 11: Ma-
Mathematics of Decision Sciences, 1967, pp. 335—346.
10.34. R. J. Duffin, Topology of Series-Parallel Networks, J. Math. Anal. Appl.,
Vol. 10, 303—318 A965).
10.35. R. J. Duffin and T. D. Morley, Wang Algebra and Matroids, IEEE Trans.
Circuits and Syst., Vol. CAS-25, 755—762 A978).
10.36. H. Narayanan, Theory of Matroids and Network Analysis, Ph. D. Thesis,
Indian Institute of Technology, Bombay, India, 1974.
10.37. J. Bruno and L. Weinberg, Generalized Networks: Networks Embedded on
a Matroid, Part 1, Networks, Vol. 6, 53—94 A976).
10.38. J. Bruno and L. Weinberg, Generalized Networks: Networks Embedded on
a Matroid, Part 2, Networks, Vol. 6, 231—272 A976).
10.39. L. Weinberg, Matroid, Generalized Networks and Electric Network Synthe-
Synthesis, /. Combinatorial Theory B, Vol. 23, 106—126 A977).
10.40. M. In and N. Tomizawa, A Unifying Approach to Fundamental Problems
in Network Theory by Means of Matroids, Electron. Commun. in Japan,
Vol. 58-A, 28—35 A975).
10.41. A. Recski, On Partitional Matroids with Applications, in Coll. Math. Soc.
J. Bolyai, Vol. 10: Infinite and Finite Sets, North-Holland-American El-
sevier, Amsterdam, 1974, pp. 1169—1179.
10.42. A. Recski, Matroids and Independent State Variables, Proc. 2nd European
Conf. Circuit Theory and Design, Genova, 1976.
10.43. B. Petersen, Investigating Solvability and Complexity of Linear Active
Networks by Menas of Matroids, IEEE Trans. Circuits and Syst., Vol. CAS-
26, 330—342 A979).
10.44. С Greene, A Multiple Exchange Property for Bases, Proc. Am. Math. Soc,
Vol. 39, 45-50 A973).
10.45. J. H. Mason, On a Class of Matroids Arising from Paths in Graphs, Proc.
London Math. Soc, Vol. 25, 55—74 A972).
10.46. R. С Prim, Shortest Connection Networks and Some Generalizations,
Bell Sys. Tech. J., Vol. 36, 1389-1402 A957).
11.1. B. D. H. Tellegen, A General Network Theorem with Applications, Phi-
Philips Res. Rept., Vol. 7, 259—269 A952).
Литература 433
11.2. P. Penfield, Jr., R. Spence, and S. Duinker, A Generalized Form of Telle-
gen's Theorem, IEEE Trans. Circuit Theory, Vol. CT-17, 302—305 A970).
11.3. P. Penfield, Jr., R. Spence, and S. Duinker, Tellegen's Theorem and Elect-
Electrical Networks, M.I.T. Press, Cambridge, Mass., 1970.
11.4. J. L. Bordewijk, Inter-Reciprocity Applied to Electrical Networks, Appl.
Sci. Res., Vol. B6, 1—74 A956).
11.5. S. W. Director and R. A. Rohrer, Automated Network Design—The
Frequency Domain Case, IEEE Trans. Circuit Theory, Vol. CT-16, 330—337
A969).
11.6. G. Kishi and T. Kida, Edge-Port Conservation in Networks, IEEE Trans.
Circuit Theory, Vol. CT-15, 274—276 A968).
11.7. G. Kishi and Y. Kajitani, Maximally Distant Trees and Principal Parti-
Partition of a Linear Graph, IEEE Trans. Circuit Theory, Vol. CT-16, 323—330
A969).
11.8. T. Ohtsuki, Y. Ishizaki, and H. Watanabe, Topological Degrees of Freedom
and Mixed Analysis of Electrical Networks, IEEE Trans. Circuit Theory,
Vol. CT-17, 491—499 A970).
11.9. P. M. Lin, An Improved Algorithm for Principal Partition of Graphs, Proc.
IEEE Intl. Symp. Circuits and Systems, 1976, pp. 145—148.
11.10. J. Bruno and L. Weinberg, The Principal Minors of a Matroid, Linear
Algebra and Its Appl., Vol. 4, 17—54 A971).
11.11. N. Balabanian and T. A. Bickart, Electrical Network Theory, Wiley, New
York, 1969.
11.12. E. S. Kuh and R. A. Rohrer, TheState Variable Approach to Network Ana-
Analysis, Proc. IEEE, Vol. 53, 672—686 A965).
11.13. D- H. Wolaver, Proof in Graph Theory of the 'No-Gain' Property of Resistor
Networks, IEEE Trans. Circuit Theory, Vol. CT-17, 436—437 A970).
11.14. A. Talbot, Some Fundamental Properties of Networks without Mutual
Inductance, Proc. IEE (London), Vol. 102, 168—175 A955).
11.15. R. J. Schwartz, A Note on the Transfer Ratio of Resistive Networks with
Positive Elements, Proc. IRE, Vol. 43, 1670 A955).
11.16. Cm. [2.1].
11.17. W. H. Kim and R. T. Chien, Topological Analysis and Synthesis of Commu-
Communication Networks, Columbia Univ. Press, New York, 1962.
11.18. W. K- Chen, Applied Graph Theory, North-Holland, Amsterdam, 1971.
11.19. W. Mayeda, Graph Theory, Wiley-Interscience, New York, 1970.
11.20. G. Kron, A Set of Principles to Interconnect the Solution of Physical Sys-
Systems, J. Appl. Phys., Vol. 24, 965—980 A953).
11.21. G. Kron, Diakoptics: The Piecewise Solution of Large Scale Systems, Mac-
Donald, London, 1963.
11.22. H. H. Happ, Diakoptics and Networks, Academic Press, New York, 1971.
11.23. H. H. Happ, Diakoptics—The Solution of System Problems by Tearing,
Proc. IEEE, Vol. 62, 930—940 A974).
11.24. F. H. Branin, The Relation Between Kron's Method and the Classical Met-
Methods of Network Analysis, Matrix and Tensor Quart, Vol. 12, 69—115 A962).
11.25. F. H. Branin, A Sparse Matrix Modification of Kron's Method of Piecewise
Analysis, Proc. IEEE Intl. Symp. Circuits and Systems, 1975, pp. 21—23.
11.26. R. Onodera, Diakoptics and Codiakoptics of Electric Network, RAAG
Memoirs, Vol. 2, 369—388 A958).
11.27. J. Ruth, An Application of Algebraic Topology: Kron's Method of Tearing,
Quart. Appl. Math., Vol. 17, 1—24 A959).
11.28. S. Amari, Topological Foundations of Kron's Tearing of Electrical Net-
Networks, RAAG Memoirs, Vol. 3, 322—350 A962).
11.29. K- U. Wang and T. Chao, An Algebraic Theory of Network Topology, Proc.
IEEE Intl. Symp. Circuits and Systems, 1974, pp. 324—328.
11.30. F. F. Wu, Solutions of Large—Scale Networks by Tearing, IEEE Trans.
Circuits and Sys., Vol. CAS-23, 706—713 A976).
434 Литература
11.31. L. О. Chua and L. К- Chen, Nonlinear Diakoptics, Proc. IEEE Intl. Symp.
Circuits and Systems, 1975, pp. 373—376.
11.32. L. O. Chua and L. K- Chen, Diakoptic and Generalized Hybrid Analysis,
IEEE Trans. Circuits and Sys., Vol. CAS-23, 694—705 A976).
11.33. L. O. Chua and L. K- Chen, On Optimally Sparse Cycle and Coboundary
Basis for a Linear Graph, IEEE Trans. Circuit Theory, Vol. CT-20, 495—
503, A973).
11.34. L. O. Chua and D. N. Green, Graph-Theoretic Properties of Dynamic Non-
Nonlinear Networks, IEEE Trans. Circuits and Sys., Vol. CAS-23, 292—312
A976).
11.35. T. R. Bashkow, The Л-Matrix—A New Network Description, IRE Trans.
Circuit Theory, Vol. CT-4, 117—119 A957).
11.36. P. R. Bryant, The Explicit Form of Bashkow's Л-Matrix, IRE Trans. Cir-
Circuit Theory, Vol. CT-9, 303—306 A962).
11.37. E. J. Purslow. Solvability and Analysis of Linear Active Networks by Use
of the State Equations, IEEE Trans. Circuit Theory, Vol. CT-17, 469—475
A970).
11.38. O. Tosun and A. Dervisoglu, Formulation of State Equations in Active
RLC Networks, IEEE Trans. Circuits and Sys., Vol. CAS-21, 36—38 A974).
11.39. S. K. Mark and M.N.S. Swamy, The Generalized Tree for State Variables in
Linear Networks, Int. J. Circuit Theory and AppL, Vol. 4, 87—92 A976).
11.40. W. K- Chen and F. N. Chan, On the Unique Solvability of Linear Active
Networks, IEEE Trans. Circuits and Sys., Vol. CAS-21, 26—35 A974).
11.41. J. Bruno and L. Weinberg, Generalized Networks Embedded on a Matro-
id—Part I, Networks, Vol. 6, 53—94 A976).
11.42. J. Bruno and L. Weinberg, Generalized Networks: Networks Embedded on
a Matroid—Part II, Networks, Vol. 6, 231—272 A976).
11.43. L. Weinberg, Matroid, Generalized Networks, and Electric Network Syn-
Synthesis, /. Combinat. Theory B, Vol. 23, 106—126 A977).
11.44. R. J. Duffin and T. D. Morley, Wang Algebra and Matroids, IEEE Trans.
Circuits and Sys., Vol. CAS-25, 755—762 A978).
11.45. R. J. Duffin, An Analysis of the Wang Algebra of Networks, Trans. Am.
Math. Soc, Vol. 93, 114—131 A959).
11.46. К- Т. Wang, On a New Method of Analysis of Electrical Networks, Memoirs
2, Nat. Res. Inst. Eng. Academia Sinica A934).
11.47. B. Petersen, Investigating Solvability and Complexity of Linear Active
Networks by means of Matroids, IEEE Trans. Circuits and Sys., Vol. CAS-
26, 330—342 A979).
11.48. M. Iri and N. Tomizawa, A Unifying Approach to Fundamental Problems
in Network Theory by means of Matroids, Electron, and Commun. in Japan.,
Vol. 58-A, 28-35 A975).
11.49. R. J. Duffin, Electrical Network Models, in Studies in Graph Theory,
Part II, The Mathematical Association of America, 1975, pp. 94—138.
12.1. I. Cederbaum, Applications of Matrix Algebra to Network Theory, IRE
Trans. Circuit Theory (special supplement), Vol. CT-6, 127—137 A959).
12.2. L. Weinberg, Network Analysis and Synthesis, McGraw-Hill, New York,
1962.
12.3. E. A. Guillemin, On the Analysis and Synthesis of Single-Element Kind
Networks, IRE Trans. Circuit Theory, Vol. CT-7, 303—312 A960).
12.4. V. V. Bapeswara Rao, The Tree-Path Matrix of a Network and Its Appli-
Applications., Ph. D. Thesis, Dept. of Electric Engineering, Indian Institute
of Technology, Madras, India, 1970.
12.5. F. T. Boesch and D. С Youla, Synthesis of (n+l)-Node Resistor n-Ports,
IEEE Trans. Circuit Theory, Vol. CT-12, 515—520 A965).
12.6. G. Biorci and P. P. Civalleri, On the Synthesis of Resistive JV-Port Net-
Networks, IRE Trans. Circuit Theory, Vol. CT-8, 22—28 A961).
Литература 435
12.7. С. С. Halkias, I. Cederbaum, and W. H. Kim, Synthesis of Resistive n-Port
with (/i+1) Nodes, IRE Trans. Circuit Theory, Vol. CT-9, 69—73 A962)
12.8. E. A. Guillemin, On the Realization of an я-th Order G-Matrix, IRE Trans.
Circuit Theory, Vol. CT-8, 318—323 A961).
12.9. K- R- Swaminathan and I. T. Frisch, Necessary Conditions for the Reada-
Readability of n-Port Resistive Networks with more than (n+1) Nodes, IEEE
Trans. Circuit Theory, Vol. CT-12, 520—527 A965).
12.10. G. Biorci and P. P. Civalleri, Analysis of Resistive Л'-Port Networks Based
on (/t+2) Nodes, in Aspects of Network and System Theory (Eds. R. E.
Kalman and N. De Claris), Holt, Rinehart, Winston, New York. 1971.
12.11. P. Subbarami Reddy and K- Thulasiraman, Synthesis of (n+2)-Node Ke-
sistive re-Port Networks, IEEE Trans Circuit Theory, Vol. CT-19, 20—25
A972).
12.12. D. P. Brown, /V-Port Synthesis of Л'-order Positive Entry Resistance Matri-
Matrices, J. Franklin Inst., Vol. 284, 26—38 A967).
12.13. C. Eswaran and V. G. K- Murti, Realization of Positive Entry Resistance
Matrices, AEU, Vol. 29, 212—216 A975).
12.14. C. Eswaran and V. G. K- Murti, On a Relationship between Terminal Ca-
Capacity and Impedance Matrices, IEEE Trans. Circuits and Sys., Vol. CAS-
21, 732—734 A974).
12.15. I. T. Frish and W. H. Kim, re-Port Resistive Networks and Communication
Nets, IRE Trans. Circuit Theory, Vol. CT-8, 493—496 A961).
12.16. 1. Cederbaum, On Equivalence of Resistive Л'-Port Networks, IEEE Trans.
Circuit Theory, Vol. CT-12, 338—344 A965).
12.17. P. Subbarami Reddy, V. G. K- Murti, and K- Thulasiraman, Realization
of Modified Cutset Matrix and Applications, IEEE Trans. Circuit Theory,
Vol. CT-17, 475—486 A970).
12.18. A. Lempel and I. Cederbaum, Parallel Interconnection of n-port Networks,
IEEE Trans. Circuit Theory, Vol. CT-14, 274—279 A967).
12.19. A. Lempel and I. Cederbaum, Terminal Configurations of n-Port Networks,
IEEE Trans. Circuit Theory. Vol. CT-15, 51—53 A968).
12.20. S. Prigozy and L. Weinberg, Realization of Fourth-Order Singular and
Quasi-Singular Resistance and Conductance Matrices, IEEE Trans. Circuits
and Sys., Vol. CAS-23, 245—253 A976).
12.21. M. G. Govifidarajulu Naidu, P. Subbarami Reddy, and K- Thulasiraman,
(n+2)-Node Resistive n-Port Readability of F-Matrices, IEEE Trans.
Circuits and Sys., Vol. CAS-23, 254—261 A976).
12.22. W. T. Tutte, An Algorithm for Determining whether a Given Binary Mat-
roid is Graphic, Proc. Am. Main. Soc, Vol. 11, 905—917 A960).
12.23. W. T. Tutte, From Matrices to Graphs, Can. J. Math., Vol. 56, 108—127
A964).
12.24. W. Mayeda, Necessary and Sufficient Conditions for the Realizability of
Cutset and Circuit Matrices, IRE Trans. Circuit Theory, Vol. CT-7, 79—81
A960).
12.25. W. Mayeda, A Proof of Tutte's Realizability Condition, IEEE Trans.
Circuit Theory, Vol. CT-17, 506—511 A970).'
12.26. W. H. Kim and R. T. Chien, Topological Analysis and Synthesis of Commu-
Communication Networks, Columbia Univ. Press, New York, 1962.
12.27. M.N.S. Swamy and K- Thulasiraman, Realization of the Л-Matrix of RLC
Networks, IEEE Trans. Circuit Theory, Vol. CT-19, 515—518 A972).
12.28. L. O. Chua and D. N. Green, Graph-Theoretic Properties of Dynamic Non-
Nonlinear Networks, IEEE Trans. Circuits and Sys., Vol. CAS-23, 292—302
A976).
12.29. K- Thulasiraman and V. G. K. Murti, Pseudo-Series Combination of n-
Port Networks. Proc. IEEE, Vol. 56, 1143—1144 A968).
13.1. A. C. Aitken, Determinants and Matrices, Intcrscience, New York, 1956.
436 Литература
13.2. N. Balabanian and T. A. Bickart, Electrical Network Theory, Wiley, New
York, 1969.
13.3. S. K- Mitra, Analysis and Synthesis of Linear Active Networks, Wiley,
New York, 1969.
13.4. G. E. Sharpe and B. Spain, On the Solution of Networks by means of the
Equi-Cofactor Matrix, IRE Trans. Circuit Theory, Vol. CT-7, 230—239
A960).
13.5. J. L. Bordewijk, Inter-Reciprocity Applied to Electrical Networks, Appl.
Csi, Res., Vol. B6, 1—74 A956).
13.6. S. W. Director and R. A. Rohrer, Automated Network Design—The Fre-
Frequency Domain Case, IEEE Trans. Circuit Theory, Vol. CT-16, 330—337
A969).
13.7. B. B. Bhattacharyya and M. N. S. Swamy, Network Transposition and Its
Application in Synthesis, IEEE Trans. Circuit Theory, Vol. CT-18, 394—397
A971).
13.8. M.N.S. Swamy, С Bhushan, and В. В. Bhattacharyya, Generalized Duals,
Generalized Inverses, and Their Applications, Radio and Electron. Eng.,
Vol. 44, 95—97 A974).
13.9. M.N.S. Swamy, С Bhushan, and В. В. Bhattacharyya, Generalized Dual
Transposition and Its Applications, J. Franklin Inst., Vol. 301, 465—474
A976).
13.10. K. Dagget and J. Vlach, Sensitivity-Compensated Active Networks, IEEE
Trans. Circuit Theory, Vol. CT-16, 416—422 A969).
13.11. W. K- Chen, Applied Graph Theory, North-Holland, Amsterdam, 1971.
13.12. S. Seshu and M. B. Reed, Linear Graphs and Electrical Networks, Addison-
Wesley, Reading. Mass., 1961.
13.13. S. P. Chan, Introductory Topological Analysis of Electrical Networks,
Holt, Rinehart and Winston, New York, 1969.
13.14. W. Mayeda, Graph Theory, Wiley-Interscience, New York, 1972.
13.15. J. Numata and M. Iri, Mixed-Type Topological Formulas for General Li-
Linear Networks, IEEE Trans. Circuit Theory, Vol. CT-20, 488—494 A973).
13.16. P. Penfield, Jr., R. Spence, and S. Duinker, Tellegen's Theorem and Elect-
Electrical Networks, M. I. T. Press, Cambridge, Mass., 1970.
13.17. P. Penfield, Jr., R. Spence, and S. Duinker, A Generalized Form of Telle-
Tellegen's Theorem, IEEE Trans. Circuit Theory, Vol. CT-17, 302—305 A970).
13.18. C. A. Desoer, On the Description of Adjoint Networks, IEEE Trans. Cir-
Circuits and Sys., CAS-22, 585—587 A975), Erratum, IEEE Trans. Circuits
and Sys., CAS-23, 58 A976).
13.19. S. W. Director, R. A. Rohrer, On the Design of Resistance n-Port Networks
by Digital Computer, IEEE Trans. Circuit Theory, CT-16, 337—346 A969).
13.20. M.N.S. Swamy, С Bhushan, and K- Thulasiraman, Bounds on the Sum of
Element Sensitivity Magnitudes for Network Functions, IEEE Trans.
Circuit Theory, CT-19, 502—504 A972).
13.21. M.N.S. Swamy, С Bhushan, and K- Thulasiraman, Sensitivity, IEEE
Trans, Circuit Theory, CT-20, 21—24 A973).
14.1. D. Gries, Compiler Construction fo Digital Computers, Wiley, NewYork,
1971.
14.2. S. Warshall, A Theorem on Boolean Matrices, J. ACM, Vol. 9, 11—12
A962).
14.3. H. S. Warren, A Modification of Warshall's Algorithm for the Transitive
Closure of Binary Relations, Comm. ACM, Vol. 18, 218—220 A975).
14.4. Арлазаров В. Л., Диниц Е. А., Кронрод М. А., Фараджев И. А. Экономи-
Экономическое построение транзитивного замыкания ориентированного графа,
ДАН, 1970, т. 11, с. 1209—1210.
J4.5. V. Strassen, Gaussian Elimination is Not Optimal, Numerische Math.,
Vol. 13, 354—356 A969).
Литература 437
14.6. М. J. Fischer, A. R. Meyer, Boolean Matrix Multiplication and Transitive
Closure, Conf. Record. IEEE 12th Annual Symp. on Switching and Auto-
Automata Theory, 1971, pp. 129—131.
14.7. M. E. Furman, Application of a Method of Fast Multiplication ol Matrices
in the Problem of Finding the Transitive Clolsure of a Graph, Soviet Math.,
Dokl., Vol. 11, 1252 A970).
14.8. I. Munro, Efficient Determination of the Transitive Closure of a Directed
Graph, Information Processing Lett., Vol. 1, 56—58 A971).
14.9. P. E. O'Neil, E. J. O'Neil, A Fast Expected Time Algorithm for Boolean
Matrix Multiplication and Transitive Closure, Inform, and Control, Vol. 22,
132—138 A973).
14.10. J. Eve, R. Kurki-Suonio, On Computing the Transitive Closure of a Rela-
Relation, Ada Informatika, Vol. 8, 303—314 A977).
14.11. P. Purdom, A Transitive Closure Algorithm, BIT, Vol. 10, 76—94 A970).
14.12. С. Р. Schnorr, An Algorithm for Transitive Closure with Linear Expected
Time, SIAM J. Computing, Vol. 7, 127—133 A978).
14.13. M. M. Syslo and J. Dzikiewicz, Computational Experience with Some Tran-
Transitive Closure Algorithms, Computing, Vol. 15, 33—39 A975).
14.14. A. Pnueli, A. Lempel, and S. Even, Transitive Orientation of Graphs and
Identification of Permutation Graphs, Canad. J. Math., Vol. 23, 160—175
A971).
14.15. P. C. Gilmore and A. J. Hoffman, A Characterization of Comparability
Graphs and of Interval Graphs, Canad. J. Math., Vol. 16, 539—548 A964).
14.16. S. Even, A. Pnueli, and A. Lempel, Permutation Graphs and Transitive
Graphs, J. ACM, Vol. 19, 400—410 A972).
14.17. S. Even. Algorithmic Combinatorics, Macmillan, New York, 1973.
14.18. С L. Liu, Introduction to Combinatorial Mathematics, McGraw-Hill,
New York, 1968.
14.19. R. E. Tarjan, Depth-First Search and Linear Graph Algorithms, SIAM J.
Computing, Vol. 1, 146—160 A972).
14.20. J. Hopcroft and R. Tarjan, Efficient Algorithms for Graph Manipulation,
Comm. ACM, Vol. 16, 372—378 A973).
14.21. A. V. Aho, J. E. Hopcroft, and J. D. Ullman, On Finding the Least Common
Ancestors in Trees. SIAM J. Computing, Vol. 5, 115—132 A976).
14.22. J. Соске, Global Common Subexpression Eliminaiton, SIGPLAN Notices,
Vol. 5, 20—24 A970).
14.23. J. D. Ullman, East Algorithms for the Elimination of Common Subexpres-
Subexpressions Ada Informatica, Vol. 2, 191—213 A973).
14.24. K- Kennedy, A Global Flow Analysis Algorithm, Int. J. Computer Math,,
Vol. 3, 5—16 A971).
14.25. M. Schaefer, A Mathematical Theory of Global Program Optimization,
Prentice-Hall, Englewood С Cliffs, N. J., 1973.
14.26. A. V. Aho and J. D. Ullman, The Theory of Parsing, Translation and Com-
Compiling, Vol. II—Compiling, Prentice-Hall, Englewood, Cliffs, N.J. 1973.
[Имеется перевод: А. Ахо, Дж. Ульман. Теория синтаксического анализа,
перевода и компиляции: — М.: Мир, 1978.]
14.27. F. E. Allen, Control Flow Analysis, SIGPLAN Notices, Vol. 5, 1—19 A970).
14.28. F. E. Allen, Program Optimization, Annual Review in Automatic Program-
Programming, Vol. 5., Pergamon, New York, 1969.
14.29. M. S. Hecht, Flow Analysis of Computer Programs, Elsevier, New York, 1977.
14.30. M. S. Hecht and J. D. Ullman, Flow Graph Reductibility, SIAM J. Com-
Computing, Vol. 1, 188—202 A972).
14.31. J. Cocke, R. E. Miller, Some Analysis Techniques for Optimizing Computer
Programs, Proc. 2nd Int. Conf. on System Sciences, Honolulu, Hawaii,
1969.
438 Литература
14.32. J. E. Hopcroft, J. D. LJllman, An nlog n Algorithm for Detecting Reducible
Graphs, Proc. 6th Annual Princeton Conf. on Information Sciences and
Systems, Princeton, J. N. 1972, pp. 119—122.
14.33. R. E. Tarjan, Testing Flow Graph Reductibility, Proc. 5th Annual ACM
Symp. on Theory of Computing, 1973, pp. 96—107.
14.34. R. E. Tarjan, Testing Flow Graph Reductibility, J. Comput. Sys. Sci.,
Vol. 9, 355—365 A974).
14.35. M. S. Hecht and J. D. Ullman, Characterizations of Reducible Flow Graphs,
J. ACM, Vol. 21, 367—375 A974).
14.36. J. M. Adams, J. M. Phelan, and R. H. Stark, A Note on the Hecht-Ullman
Characterization of Non-Reducible Flow Graphs, SIAM J. Computing,
Vol. 3, 222—223 A974).
14.37. M. Fischer, Efficiency of Equivalence Algorithms, in Complexity of Compu-
Computer Computations (R. E. Miller and J. W. Thatcher, Eds.), Plenum Press,
New York, 1972, pp. 153—168.
14.38. J. E. Hopcroft and J. D. Ullman, Set Merging Algorithms, SIAM J. Com-
Computing, Vol. 2, 294—303 A973).
14.39. R. E. Tarjan, On the Efficiency of a Good but Not Linear Set Union Algo-
Algorithm, J. ACM, Vol. 22, 215—225 A975).
14.40. Cm. [5.14].
14.41. E. Horowitz and S. Sahni, Fundamentals of Data Structures, Computer Sci-
Science Press, Potomac, Md., 1976.
14.42. T. Lengauer and R. E. Tarjan, A Fast Algorithm for Finding Dominators in
a Flow Graph, Trans, on Prog. Lang. and.^Sys., Vol. 1, 121 — 141 A979).
14.43. R. E. Tarjan, Finding Dominators in Directed Graphs, SIAM J. Computing,
Vol. 3, 62—89 A974).
14.44. R. E. Tarjan, Applications of Path Compression on Balanced Trees, J. ACM,
Vol. 26, 690—715 A979).
14.45. A. V. Aho and J. D. Ullman, Principles of Compiler Design, Addison-Wes-
ley, Reading, Mass., 1977.
14.46. P. W. Purdom and E. F. Moore, Algorithm 430: Immediate Predominators
in a Directed Graph, Comm. ACM, Vol. 15, 777—778 A972).
14.47. H. Frank and I. T. Frisch, Communication, Transmission and Transporta-
Transportation Networks, Addison-Wesley, Reading, Mass., 1971.
14.48. Cm. [5.12].
14.49. Cm. [9.31].
14.50. E. L. Lawler, Combinatorial Optimization: Networks and Matroids, Holt,
Rinthart and Winston, New York, 1976.
14.51. Cm. [5.15].
14.52. E. Minieka, Optimization Algorithms for Networks and Graphs, Marcnel
Dekker, New York, 1978. [Имеется перевод: Э. Майника. Алгоритмы опти-
оптимизации на сетях и графах.— М.: Мир, 1981.]
14.53. S. Even, Graph Algorithms, Computer Science Press, Potomac, Md., 1979.
14.54. S. A. Cook, The Complexity of Theorem Proving Procedures, Proc. 3rd ACM
Symp. on Theory of Computing 1971, pp. 151 —158. [Имеется перевод:
С. А. Кук. Сложность процедур доказательства теорем: Кибернетический
сборник. Вып. 18:—М.: Мир, 1981.]
14.55. R. M. Karp, Reducibility among Combinatorial Problems, in Complexity
of Computer Computations (R. E. Miller and J. W. Thatcher, Eds.) Plenum
Press, New York, 1972, pp. 85—104. [Имеется перевод: Р. М. Карп. Сво-
Сводимость комбинаторных задач: Кибернетический сборник. Вып. 13: —
М.: Мир, 1981.)
14.56. М. R. Garey and D. S. Johnson, Computers and Intractability, A Guide to
the Theory of NP-Completeness, Freeman, San Francisco, Ca., 1979.
14.57. E. Horowitz and S. Sahni, Fundamentals of Computer Algorithms, Computer
Science Press, Potomac, Md., 1978.
Литература 439
14.58. А. V. Aho, M. R. Garey, and J. D. Ullman, The Transitive Reduction of a
Directed Graph, SIAM J. Computing, Vol. 1, 131 — 137 A972).
14.59. H. Prufer, Neuer Beweis eines Satzes uber Permutationen, Arch. Match.
Phys., Vol. 27, 742—744 A918).
15.1. L. R. Ford and D. R. Fuilkerson, Flows in Networks, Princeton Univ. Press,
Princeton, N. J. 1962. [Имеется перевод: Л. Р. Форд, Д. Фалкерсоп. По-
Потоки в сетях: — М.: Мир, 1966.]
15.2. Е. W. Dijkstra, A Note on Two Problems in Connexion with Graphs, Ntt-
merische Math., Vol. 1, 269—271 A959).
15.3. D. B. Johnson, A Note on Dijkstra's Shortest Path Algorithm, J. ACM,
Vol. 20, 385—388 A973).
15.4. J. Edmonds and R. M. Karp, Theoretical Improvements in Algorithmic
Efficiency for Network Flow Problems, J. ACM, Vol. 19, 248—264 A972).
15.5. S. E. Dreyfus, An Appraisal of Some Shortest-Path Algorithms, Operations
Research, Vol. 17, 395—412 A969).
15.6. Т. С. Ни, A Decomposition Algorithm for Shortest Paths in a Network,
Operations Research, Vol. 16, 91 — 102 A968).
15.7. H. Frank and I. T. Frisch, Communication, Transmission and Transporta-
Transportation Networks, Addison-Wesley, Reading, Mass., 1971.
15.8. Cm. [9.31].
15.9. E. L. Lawler, Combinatorial Optimization: Networks and Matroids, Holt,
Rinehart and Winston, New York, 1976.
15.10. P. M. Spira and A. Pan, On Finding and Updating Spanning Trees and
Shortest Paths, SIAM J. Comput., Vol. 4, 375—380 A975).
15.11. D. B. Johnson, Efficient Algorithms for Shortest Paths in Sparse Networks,
J. ACM, Vol. 24, 1 — 13 A977).
15.12. R. A. Wagner, A Shortest Path Algorithm for Edge-Sparse Graphs, J. ACM,
Vol. 23, 50—57 A976).
15.13. R. W. Floyd, Algorithm 97: Shortest Path, Comm. ACM, Vol. 5, 345 A962).
15.14. Y. Tabourier, All Shortest Distances in a Graph: An Improvement to Dan-
tzig's Inductive Algorithm, Discrete Math., Vol. 4, 83—87 A973).
15.15. J. Y. Yen, Finding the Lengths of All Shortest Paths in Л'-Node, Non-Nega-
Non-Negative Distance Complete Networks Using A'3/2 Additions and N3 Comparisons,
J. ACM, Vol. 19, 423—424 A972).
15.16. T. A. Williams and G. P. White, A Note on Yen's Algorithm for Finding
the Length of All Shortest Paths in Л'-Node Non-Negative Distance Net-
Networks, J. ACM, Vol. 20, 389—390 A973).
15.17. A. R. Pierce, Bibliography on Algorithms for Shortest Path, Shortest Span-
Spanning Tree and Related Circuit Routing Problems A956—1974), Networks,
Vol. 5, 129—149 A975).
15.18. D. A. Huffman, A Method for the Construction of Minimum Redundancy
Codes, Proc. IRE, Vol. 40, 1098—1101 A952).
15.19. E. N. Gilbert and E. F. Moore, Variable-Length Binary Encodings, Bell
Sys. Tech. J., Vol. 38, 933—968 A959).
15.20. D. E. Knuth, Optimum Binary Search Trees, Ada Information, Vol. 1,
14—25 A971).
15.21. A. Itai, Optimal Alphabetic Trees, SIAM J. Comput., Vol. 5, 9—18 A976).
15.22. Т. С. Ни and A. C. Tucker, Optimal Computer Search Trees and Variable-
Length Alphabetical Codes, SIAM J. Appl. Math., Vol. 21, 514—532
A971).
15.23. Т. С. Ни, A New Proof of the T-C Algorithm, SIAM J. Appl. Math., Vol.
25, 83—94 A973).
15.24. Cm. [5.12].
15.25. A. M. Garsia and M. L. Wachs, A New Algorithm for Minimum Cost Binary
Trees, SIAM J. Comput., Vol. 6, 622—642 A977).
15.26. Cm. [5.15].
440 Литература
15.27. М. Miyakawa, Т. Yuba, Y. Sugito, and M. Hoshi, Optimum Sequence Trees,
SIAM J. Comput., Vol. 6, 201—234 A977).
15.28. J. Edmonds, Paths, Trees and Flowers, Canad. J. Math., Vol. 17, 449—467
A965).
15.29. H. N. Gabow, An Efficient Implementation of Edmonds' Algorithm for
Maximum Matching on Graphs, /. ACM, Vol. 23, 221—234 A976).
15.30. M. I. Balinski, Labelling to Obtain aMaximum Matching, in Combinatorial
Mathematics and Its Applications (R. С Bose and T. A. Dowling, Eds),
Univ. North Carolina Press Chappel Hill, N.C., 1967, pp. 585—602.
15.31. D. Witzgall and С. Т. Zahn, Jr., Modification of Edmonds' Algorithm for
Maximum Matching of Graphs, J. Res. Nat. Bur. Std., Vol. 69B, 91—98
A965).
15.32. T. Kameda and I.Munro, AO(|V|-|?|) Algorithm for Maximum Matching
of Graphs, Computing, Vol. 12, 91—98 A974).
15.33. J. Edmonds, Maximum Matching and a Polyhedron with 0,1 Vertices, /.
Res. Nat. Bur. Std., Vol. 69B, 125—130 A965).
15.34. H. Gabow, An Efficient Implementation of Edmonds' Maximum Matching
Algorithm, Tech. Rep. 31, Stanford Univ. Сотр. Science Dept., 1972.
15.35. J. A. Bondy and U.S.R. Murty, Graph Theory with Applications, Macmil-
lan, London, 1976.
15.36. J. E. Hopcroft and R. M. Karp, An п1г Algorithm for Maximum Matching
in Bipartite Graphs, SI AM J. Comput., Vol. 2, 225—231 A913).
15.37. S. Even and R. E. Tarjan, Network Flow and Testing Graph Connectivity,
SIAM J. Comput., Vol. 4, 507—518 A975).
15.38. S. Even and O. Kariv, An О(п1г) Algorithm for Maximum Matching in Ge-
General Graphs, Proc. 16th Annual Symp. on Foundations of Сотр. Science,
IEEE, 1975, pp. 100—112.
15.39. A. Itai, M. Rodeh, and S. L. Tanimoto, Some Matching Problems for Bi-
Bipartite Graphs, J. ACM, Vol. 25, 517—525 A978).
15.40. H. W. Kuhn, The Hungarian Method for the Assignment Problem, Naval
Res. Legist. Quart., Vol. 2, 83—97 A955).
15.41. J. Munkres, Algorithms for the Assignment and Transportation Problems,
J. SIAM, Vol. 5, 32—38 A957).
15.42. N. Megido, A. Tamir, An O(N log N) Algorithm for a Class of Matching
Problems, SIAM J. Comput., Vol. 7, 154—157 A978).
15.43. S. Even, A. Itai, A. Shamir, On the Complexity of Time-Table and Multi-
commodity Flow Problems, SIAM J. Comput., Vol. 5, 691—703 A976).
15.44. L. R. Ford, D. R. Fulkerson, Maximal Flow through a Network, Canad.
J. Math., Vol. 8, 399—404 A956).
15.45. P. Elias, A. Feinstein, С. Е. Shannon, A Note on the Maximum Flow Thro-
Through a Network, IRE Trans. Inform. Theory, IT-2, 117—119 A956).
15.46. С Berge, Graphs and Hypergraphs, North-Holland, Amsterdam, 1973.
15.47. N. Zadeh, Theoretical Efficiency of the Edmonds-Karp Algorithm for Com-
Computing Maximal Flows, J. ACM, Vol. 19, 184—192 A972).
15.48. Диниц Е. А. Алгоритм решения задачи о максимальном потоке в сети
с оценкой мощности, ДАН, 1970, т. 11, с. 1277—1280.
15.49. Карзанов А. В. Определение максимального потока в сети методом пре-
предикатов, ДАН, 1974, т. 15, с. 434—437.
15.50. V. М. Malhotra, M. Pramodh Kumar, and S. N. Maheswari, An O(V3) Al-
Algorithm for Maximum Flows in Networks, Information Processing Lett.,
7, 277—278 A978).
15.51. S. Even, Graph Algorithms, Computer Press, Potomac, Md. 1979.
15.52. С Berge, A. Ghouila-Houri, Programming, Games and Transportation
Networks, Wiley, New York, 1962.
15.53. Т. С. Ни, Integer Programming and Network Flows, Addison-Wesley,
Reading, Mass., 1969.
Литература 441
15.54. J. Edmonds, Optimum Branchings, J. Res. Nat. Bur. Std., Vol. 71B, 233—
240 A967).
15.55. R. M. Karp, A Simple Derivation of Edmonds' Algorithms for Optimum
Branchings, Networks, Vol. 1, 265—272 A972).
15.56. R. E. Tarjan, Finding Optimum Branchings, Networks, 7, 25—35 A977).
15.57. Y. Chu, T. Liu, On the Shortest Arborescencef of a Directed Graph, Sci-
entia Sinica (Peking), Vol. 4, 1396—1400 A965); Math. Rev., Vol. 33, 1245
(G. W. Walkup).
15.53. F. С. Воск, An Algorithm to Construct a Minimum Directed Spanning Tree
in a Directed Network, in Developments in Operati'ons Research, (B. Avi-
Hzak, Ed.), Gordon and Breach, New York, 1971, pp. 29—44.
15.59. D. G. Corneil and С. С. Gotlieb, An Efficient Algorithm for Graph Isomor-
Isomorphism J. ACM, Vol. 17, 51—64 A970).
15.60. L. Weinberg, A Simple and Efficient Algorithm for Determining Isomorp-
Isomorphism of Planar Triply Connected Graphs, IEEE Trans. Circuit Theory, Vol.
CT-13, 142—148 A966).
16.61. J. E. Hopcroft and R. E. Tarjan, A V log V Algorithm for Isomorphism of
Triconnected Planar Graphs, J. Comput. Syst. Set., Vol. 7, 323—331 A973).
15.62. J. E. Hopcroft and J. K- Wong, Linear Time Algorithm for Isomorphism
on Planar Graphs, Proc. 6th Annual ACM Symp. on Theory of Computing,
1974, pp. 172—184.
15.63. J. E. Hopcroft and R. E. Tarjan, Efficient Planarity Testing, J. ACM, Vol.
21, 549—568 A974).
15.64. N. Deo, Note on Hopcroft and Tarjan's Planarity Algorithm, J. ACM, Vol.
23, 74—75 A976).
15.65. J. E. Hopcroft and R. E. Tarjan, Dividing a Graph into Triconnected Com-
Components, SIAM J. Comput., Vol. 2, 135—158 A973).
15.66. D. J. KJeitman, Methods for Investigating the Connectivity of Large Graphs,
IEEE Trans. Circuit Theory, Vol. CT-16, 232—233 A969).
15.67. S. Even, An Algorithm for Determining whether the Connectivity of a
Graph is at Least k, SIAM J. Comput., Vol. 4, 393—396 A975).
15.68. D. G. Corneil and B. Graham, An Algorithm for Determining the Chromatic
Number of a Graph, SIAM J, Comput., Vol. 2, 311—318 A973).
15.69. C. McDiarmid, Determining the Chromatic Number of a Graph, SIAM J.
Comput., Vol. 8, 1—14 A979).
15.70. D.J.A. Welsh and M. B. Powell, An Upper Bound for the Chromatic Num-
Number of a Graph and Its Applications to Timetabling Problems, The Compu-
Computer J., Vol. 10, 85—86 A967).
15.71. D. С Wood, A Technique for Colouring a Graph Applicable to Large Scale
Timetabling Problems, The Computer J., Vol. 10, 317—319 A969).
15.72. D. Matula, G. Marble, and J. Isaacson, Graph Colouring Algorithms, in
Graph Theory and Computing (R. С Read, Ed.), Academic Press, New York,
1972, pp. 109—122.
15.73. D. Brelaz, New Methods to Color the Vertices of a Graph, Comm. ACM,
Vol. 22, 251—256 A979).
15.74. M. С Paull and S. H. Unger, Minimizing the Number of States in Incomple-
Incompletely Specified Sequential Switching Functions, IRE Trans. Elect. Comput.,
Vol. EC-8, 356—357 A959).
15.75. С Bron and J. Kerbosch, Finding All Cliques of an Undirected Graph —
Algorithm 457, Comm. ACM, Vol. 16, 575—577 A973).
15.76. E. A. Akkoyunlfl, The Enumeration of Maximal Cliques of Large Graphs,
SIAM J. Comput., Vol. 2, 1—6 A973).
15.77. S. Tsukiyama, M. Ide, H. Ariyoshi, and I. Shirakawa, A New Algorithm
for Generating All the Maximal Independent Sets, SIAM J. Comput.,
Vol. 6, 505—517 A977).
15.78. R. E Tarjan and A. E. Trojanowski, Finding a Maximum Independent
Set, SIAM J. Comput., Vol. 6, 537—546 A977).
442 Литература
15.79. V. Chvatal, Determining the Stability Number of a Graph, SIAM J. Corn-
put., Vol. G, 643—662 A977).
15.80. J. B. Kruskal, Jr., On the Shortest Spanning Subtree of a Graph and the
Travelling Salesman Problem, Proc- Am. Math. Soc, Vol. 7, 48—50 A956).
15.81. R. C. Prim, Shortest Connection Networks and Some Generalizations, Bell
Sys. Tech. J., Vol. 36, 1389—1401 A957).
15.82. A. Kerschenbaum and R. Van Slyke, Computing Minimum Spanning Trees
Efficiently, Proc. 25th Ann. Conf. of the ACM, 1972, 518—527.
15.83. A. C. Yao, An 0(|?|log log[ V|) Algorithm for Finding Minimum Spanning
Trees, Information Processing Lett., Vol., 4, 21—23 A975).
15.84. D. Cheriton and R. E. Tarjan, Finding Minimum Spanning Trees, SI AM
J. Comput., Vol. 5, 724—742 A976).
15.85. H. N. Gabow, Two Algorithms for Generating Spanning Trees in Order,
SI AM J. Comput., Vol. 6, 139—150 A977).
15.86. K- P. Esqaran and R. E. Tarjan, Augmentation Problems, SI AM J. Corn-
put., Vol. 5, 653—665 A976).
15.87. A. Rosenthal and A. Goldner, Smallest Augmentations to Biconnect a
Graph, SI AM J. Comput., Vol. 6, 55—66 A977).
15.88. E. Reghbati and D. G. Cornell, Parallel Computations in Graph Theory,
SI AM J. Comput., Vol. 7, 230—237 A978).
15.89. J. Edmonds, Edge-Disjoint Branching, in Combinatorial Algorithms (R.
Rustin, Ed.), Algorithmics Press, New York, 1973, pp. 91—96.
15.90. D. R. Fulkerson and G. С Harding, On Edge-Disjoint Branchings, Net-
Networks, Vol. 6, 97—104 A976).
15.91. R. E. Tarjan, Edge-Disjoint Spanning Trees and Depth-First Search, Ada
Informatica, Vol. 6, 171—185 A976).
15.92. L. Lovasz, On Two Minimax Theorems in Graph, /. Combinatorial Theory
B, Vol. 21, 96—103 A976).
15.93. B. L. Golden and T. L. Magnanti, Deterministic Network Optimization:
A Bibliography, Networks, Vol. 7, 149—183 A977).
15.94. M. Fujii, T. Kasami, and 1С Ninomiya, Optimal Sequencing of Two Equiva-
Equivalent Processors, SIAM J. Appl. Math., Vol. 17, 784—789 A969); Erra-
Erratum, Vol. ?0, 141 A971).
15.95. E. G. Coffman, Jr., and R. L. Graham, Optimal Scheduling for Two-Pro-
Two-Processor Systems, Ada Informatica, Vol. 1, 200—213 A972).
15.96. E. G. Coffman, Jr., and P. J. Denning, Operating System Theory, Prentice
Hall, Englewood Cliffs, N.J., 1973.
15.97. R. Sethi, Scheduling Graphs on Two Processors, SIAM J. Comput., Vol. 5,
73—82 A976).
15.98. R. Sethi, Algorithms for Minimal Length Schedules, in Computers and Job
Scheduling Theory (E. G. Coffman, Jr., Ed.), Wiley, New York, 1976,
pp. 51—99.
15.99. j. D. Ullman Complexity of Sequencing Problems, in Computer and Job
Scheduling Theory (E. G. Coffman, Jr., Ed.), Wiley, New York, 1976,
pp. 139—164.
15 100. S. Lam and R. Sethi, Worst Case Analysis of Two Scheduling Algorithms,
SIAM J. Comput., Vol. 6, 518—536 A977).
15.101. D. J. Rose, A Graph-Theoretic Study of Numerical Solutions of Sparse
Positive Definite Systems of Linear Equations, in Graph Theory and Com-
Computing (R. С Read, Ed.), Academic Press, New York, 1972, pp. 183—217.
15 102. T. Ohtsuki, A Fast Algorithm for Finding an Optimal Ordering for Vertex
Elimination on a Graph, SIAM J. Comput., Vol. 5, 133—145 A976).
15.103. D. J. Rose, R. E. Tarjan, and G. S. Lueker, Algorithmic Aspects of Vertex
Elimination on Graphs, SIAM J. Comput., Vol. 5, 266—283 A976).
15.104. R. E. Tarjan, Graph Theory and Gauss Elimination, in Sparse Matrix Co-
Computations (J. R. Bunch and D. J. Rose, Eds.), Academic Press, New York,
1976,
Литература 443
15.105. Е. Horowitz and S. Sahni, Fundamentals of Computer Algorithms, Computer
Science Press, Potomac, Md., 1978.
15.106. M. R. Garey and D. S. Johnson, Approximation Algorithms for Combina-
Combinatorial Problems: An Annotated Bibliography, in Algorithms and Comple-
Complexity: New Directions and Recent Results (J. Traub, Ed.), Academic Press,
New York, 1976.
15.107. G. B. Dantzig, All Shortest Routes in a Graph, in Theory of Graphs, Gordon
and Breach, New York. 19G7, pp. 91—92.
15.108. S. Even, Algorithmic Combinatorics, Macmillan, New York, 1973,
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
Аксиома баз матроида 198
— независимости матроида 193
— ранга матроида 198
— циклов матроида 199
Алгоритм Габова 385
— Гильберта и Мура 166
— Данцига 423
— двусвязности 340
— Дейкстры 364
— декомпозиции Седербаума схемной
матрицы 263
— доминаторов 354
— «жадный» 212
— Кана — Мункреса 402
— кратчайших путей из данной верши-
вершины ко всем остальным вершинам 364
— Ленгауэра и Тарьяна 354
— максимального паросочетания в- гра-
графе общего вида 385
— — двудольном графе 394
— — транспортной сети (поме-
чивающий алгоритм) 410
— между всеми парами вершин 367
— нахождения минимального остова
424
— оптимального вектора длин путей
374
ветвления 421
дерева бинарного поиска 381
— — назначения 402
— Пнуели, Лампла и Ивена 323
— поиска в глубину в неориентиро-
неориентированном графе 334
ориентированном гра-
графе 334
— приближенный 423
— реализации графов с заданными
степенями 156—159
— — матрицы сечений — циклома-
тической матрицы 268
(п+1)-узловой резистивной п-
полюсной цепи 263
— сводимости графа программы 348
— сильной связности 343
— совершенного паросочетания 399
— столбце-ориентированный 319
— строко-ориентированный 319
— Тарьяна 348
— транзитивного замыкания 320
— транзитивной ориентации 323
— Уоррена 320
— Уоршолла 318
— Флопда 367
— Форда — Фалкерсона 197
— Хаффмана 374
— Анализ интервальный 345
База матроида 194
Базис векторного пространства 65
Блок графа 26
Валентность 12
Вектор базисный 65
— длин путей 370
— инциденций 100
— координаты 67
— линейно независимый 65
— ортогональный 67
— разреза 76
— циклический 76, 106
гс-вектор 67
Вершина 11
— висячая 12
— внешняя 384
— внутренняя 17
п-полюсной цепи 17
— звезды 255
— изолированная 79
— инцидентная 12
— конечная 78
маршрута 80
ориентированного маршрута 80
— концевая 11, 16, 78, 80, 255
— короткозамыкаемая 255
— насыщенная (в паросочетании) 162
— начальная 80
Предметный указатель
445
в графе программы 131
маршрута 97
ориентированного маршрута 80
— несоотносимая 334
— полностью сканированная 332
— помеченная 88
— связанная 18
— сильно связанная 81
— смежная 12, 79
— соответствующая усекаемой строке
101
— терминальная 16
— центральная 49
Вес ребра 59
— цикла 59
Ветвление оптимальное 418
Ветвь дерева 33
— неполюсная 247
— полюсная 247
Включение последовательности 141
Вычисления параллельные 210
Гаммоид 217
Гиперплоскость матроида 216
Гипотеза четырех красок 190
Глубина 332
Граф ассоциированный ориентирован-
ориентированный 171
— ациклический 33, 80
— вершинио непересекающийся 28
й-раскрашиваемый 184
— взвешенный 135
— гамильтонов 55
— гамильтоново связный 61
— гомеоморфный 142
— двойственный 143
— двудольный 23
— деревьев 49
— А-дольный 23
— изоморфный 28
— 1-изоморфный 28
— 2-изоморфный 28
— квазисильно связный 83
— конденсированный 82
— Коутса 127
— кубический 31
— лежащий в основе неориентирован-
неориентированный 79
— минимально связный 48, 82
— ориентированный 82
— Мэзона 131, 126
— неориентированный 11, 100, 103
— неразделимый 25
— однородный 23
— fc-однородный 23
— ориентированный 11, 78, 100, 103
ациклический 80
— — гамильтонов 93
— — эйлеров 88
— параллельно-последовательный 150
— Петерсена 143
— пленарный 137
с одной терминальной парой 150
— полный 23
двудольный 23
й-дольный 23
ориентированный 93
— потоков Коутса 127
— программы 130
— произвольно гамильтонов 59
— — эйлеров 54, 55
— простой 11
— пустой 11
— разделимый 25
— реберно непересекающийся 28
^-раскрашиваемый 180
— — ^-хроматический 180
— к-реберно связный 155, 172
— рефлексивный ориентированный 85
— самодвойственный 150
— самодополнительный 30
— сводимый 344
— связной 18, 80
— — ориентированный 80
— сигнальный Мэзона 131
— сильно связный 81
— симметрично ориентированный 85
— с одной терминальной парой 150
— стягиваемый 22
— транзитивно ориентируемый 85, 322
— тривиальный 25
— укладываемый 137
— ft-факторизуемый 172
— ^-хроматический 185
— эйлеров 51
Графоид 203
Группа абелева 62, 63
Декодирование 369
Дерево 33, 85
— бинарного поиска 376
— бинарное 87
— в графе 33
— венгерское 397
— доминаторов 351
— корневое 85
— линейное 255
— нормальное 236
— оптимальное бинарного поиска 378
— ориентированное 85
Предметный указатель
— ПВГ 333
— помеченное 117
— расширенное бинарного поиска 376
^-дерево остовное 37
Дефицит 163
Диакоптика 242
Диаметр графа 30
Длина взвешенных путей 87
— ориентированного ребра 361
— 1ути 17, 361
— цикла 17
Доминатор (вершины) непосредствен-
непосредственный 351
Дополнение ортогональное 67
— подграфа 16
— простого графа 15
Дуга заходящая 79
— инцидентная 79
— исходящая 79
— параллельная 78
Задача о кёнпгсбсргских мостах 50
— — коммивояжере 59
— — свадьбах 161
— составления расписаний 396
Закон Кирхгофа для напряжений 218
— токов 218
Замыкание бинарного отношения тран-
транзитивное 316
— графа 61
— — транзитивное 316
— подмножества 215
Звезда 255
Изоморфность 66
Индекс хроматический 180
Источник напряжения 218
— тока 218
Клика 192
Кобаза матроида 200
Кодерево 33
/г-кодерево 37
Код префиксный 88
Ко-лес 38
Колесо 38
Коллапсирование вершины 350
Комбинация линейная 65
— параллельная параллельно-после-
параллельно-последовательных графов 150
— последовательная параллельно-по-
параллельно-последовательных графов 160
Компонента 18, 169
— графа 80
— двусвязная 341
— нечетная 169
— ориентированного графа 80
— сильно связная 81
— четная 169
Конденсированный образ 82
Контур 80
— гамильтонов 93
Конфигурация полюсная 245
— — в виде звезды 245
линейного дерева 245
Координата вектора E7
Копетля матроида 200
Коранг матроида 200
Корень в ориентированном графе 85
— компоненты (в ПВГ) 336
— ПВГ 332
Коцикл 200
— базисный матроида 201
— матроида 200
Лемма о раскраске дуг
Лес 38
Лист 15
Мажорантность 56
Маршрут 16, 80
— замкнутый 17, 80
— ориентированный 79
•— открытый 17
Матрица базисная разрезающих мно-
множеств 105
— — цикломатическая 107, 208
— бистохастическая 172
—- гипердоминантная 258
— достижимости 121
— инциденций графа 100
— — ориентированного графа 100
— коциклическая матроида 209
— модифицированная сечений 289
— — цикломатическая 290
— однородно сужающаяся 260
— подстановок 172
•— полных сопротивлений контура 225
— — — холостого хода 33
— полустепеней захода 121
исхода 121
— проводимостей короткого замыка-
замыкания 246
Предметный указатель
447
сечений 248
— разрезов графа 103
— сечений 219
базисная 220
— смежности взвешенного ориенти-
ориентированного графа 126
графа 123, 126
— — ориентированного графа 123
— с равными алгебраическими допол-
дополнениями 117
степеней 117
— схемная 44
— узловых проводимостей 228
— унимодулярная 113
— усеченная инциденций 101
— дипломатическая графа 106
матроида 209
ориентированного графа 106
@, 1)-матрица 166
Матроид 193
— бинарный 207
— графический 196
— двойственный 200
— двудольный 217
— изоморфный 196
— кографический 195
— неразделимый 216
— несвязный 216
— однородный 215
— ориентируемый 216
— паросочетаний 195
— правильный 217
— представимый 226
— разделимый 216
— разрезов 194
— регулярный 215
— связей 194, 216
— связный 216
— трансверсалей
— Фано 216
— циклический 194
— эйлеров 217
Место узкое 413
Метка вершины 384
— начальная 384
— ребра 384
Метод Коутса 126
— Мэзона 131
— Татта 121
Минор матроида 206
Множество базисное циклов 40, 43
— внутреннее устойчивое 174
— доминирующее 190
— зависимое матроида 194
— замкнутое матроида 216
— — по отношению к бинарному от-
отношению 62
— инциденций 76
— лексикографически большее 213
— — максимальное 213
— независимое графа 174
— — максимальное графа 174
— матроида 194
— оптимальное по Гейлу 213
— разделяющее 152
— разрешающее 40
базисное 43, 76
L-множество 271
Модификация Эдмондса и Карпа поме-
чивающего алгоритма 412
Мост 31
Назначение оптимальное 400
Напряжение между узлом и базой 222
— узловое 222
Нуль-граф 11
Нуль-пространство 207
Область пленарного графа 139
Образ конденсированный графа 82
Обхват 30
Объединение графов 21
— матроидов 217
Ограничение графа 204
— матроида 205
— по пропускной способности 405
Окрестность 219
Операции над графами 62
Определитель главный 115
Оптимизация кода 374
— сети 410
Ориентация графа 78
— ребра 78
— транзитивная 109
Ортогональность 67
Остов графа 33
— максимально удаленный 230
— ориентированный 87
Отец (вершины) 332
Отношение бинарное 84
— рефлексивное 84
— симметричное 84
— транзитивное 84
— эквивалентности 84
Отождествление (замыкание) вершины
22
Паросочетание максимальное 162
— полное (в двудольном графе) 163
— совершенное 169
448
Предметный указатель
Переворачивание 28
Переменная контура 222
— сечения 222
Пересечение графов 21
Петля 11, 78
— матроида 194
— обратной связи 133
Подграф 13, 79
— венгерский 387
— вершинно-порожденный 14
— главный 233
— критический 418
— максимальный 14
— минимальный 14
— остовный 13
— порожденный 14, 79
— равенств 188
— реберно-порожденный 14
— собственный 13
А-подграф 20
Поддерево 33
— левое 376
— правое 376
Подмножество зависимое 194
— максимальное 14, 199
— минимальное 14
Подпространство ортогональное 67
— разрезов 70
— циклов 69
Поиск в глубину в графе 332
ориентированном графе 335
ширину 360
Покрытие вершинное 174
— минимальное 175, 179
¦— реберное 179
Поле Галуа 63, 64
Полином хроматический 186
Полудоминатор 352
Полустепень захода 79
— исхода 79
Полюс концевой 255
•— подобно ориентированный 255
— противоположно ориентированный
255
Помечивание обратное 410
— прямое 410
Порядок редукции 350
Последовательность выводимая 231
— графическая 56
— де Брёйна 88
— остаточная 157
— очков 97
— Пруфера 147
— степеней 56
— чередующаяся (по отношению к не-
независимому множеству) 176
Поток максимальный 406
Потомок (вершины) собственный 334
Предок (вершины) собственный 334
Преобразование контурное 221
— полюсное 222
— сечения 222
— узловое 222
Проблема оптимизации кода 372
— NP-полная 359
— расширения 383
— Л'Р-сложная 359
— четырех красок 189
Представление матроида стандартное
206
Проекция стереографическая 138
Произведение полных сопротивлений
293
— проводимостей 293
— скалярное векторов 67
Пространство векторное 64
•— нуль матрицы 207
Проход (через вершину в ПВГ) 332
Псевдовершина 420
Путь 17, 180
— добавляющий 168
— /-дополняющий 408
— кратчайший 361
по отношению к паросочетанию
390
— максимальный 282
— /-ненасыщенный 195
— ориентированный 80
гамильтонов 55
— М-чередующийся 167
Разбиение главное 233
— двудольное 23, 176
Разделитель 42
Размерность векторного пространства
65
Разметка допустимая вершинная 399
Разрез ориентированный 42, 98
Ранг 82
— графа 39
— матроида 194
— ориентированного графа 82
Ранжирование 97
Раскраска 202
— й-вершинная 182
правильная 184
— ориентируемого матроида 211
— й-реберная 180
оптимальная 180
правильная 180
Расстояние между вершинами 30
остовами 230
Предметный указатель
449
Расщепление вершины 28
— точки сочленения 28
Реализация (п+1)-полюсной резистор-
ной цепи 263
Ребро 11
— висячее 12
— критическое 418
— /-насыщенное 408
— независимое 162
— /-ненасыщенное 408
— нециклическое 17
— /-нулевое 408
— обратное 332
по отношению к ориентирован-
ориентированному пути 407
— пересекающее 121
— подходящее 418
— /-положительное 408
— полюсное 245
— помеченное 329
— последовательное 141
— прямое 332
— — по отношению к ориентирован-
ориентированному пути 407
ПВГ 332
— рассмотренное (в ПВГ) 332
— светлое 167
— смежное 12, 79
— темное 167
— циклическое 17
Редукция транзитивная 359
Свойство ассоциативности 62
— коммутативности 62
— неусиления 241
— схемности 257
Связность вершинная 151
— реберная 155
Сеть транспортная 404
Сечение ориентированное 241
полюсной цепи 241
Система различных представителей 165
— уравнений контурная 224
сечений 226
со смешанными переменными 230
Скаляр 65
Слияние последовательности 141
Слово кодовое 372
Соединение параллельное 290
— псевдопоследовательиое 290
— 1-факторное ориентированного гра-
графа 128
Сортировка топологическая 96
Составление расписания 403
Список смежности 316
Способность пропускная разреза 406
ребра 405
Степени свободы топологические 235
Степень вершины 79
— области 141
Сток 404
Стягивание ребра 22
Сужение матроида 204
Сумма кольцевая графов 21
— прямая подпространств 65
— характеристическая 372
Теорема Бержа о чередующейся цепи
168
— Бине — К,оши 116
— Брукса 185
— Визита 183
— добавления 196
— Кёнига 165
— Кёнига — Эгервари 166
— Куратовского 141
— Кэли 117
— Менгера 160
— Мендельсона и Далмеджа 169
— о максимальном потоке и минималь-
минимальном разрезе 409
пяти красках 189
— Татта о совершенных паросочета-
ниях 170
— Теллежена 222
— Холла 164
— четырех красок 190
— Эдмондса о ^-реберной связности 159
Теория экстремальных графов 190
Толщина 149
Точка сочленения 25
Трансверсаль частичная 165, 216
Транспозиция цепи 312
Треугольник 31
Турнир 96
Удаление вершины 22
— ребра 22
Узел 219
Укладка планарная 137
Улучшение реберной раскраски 183
Уравнения состояния 235
— узловые 228
Уязвимость 181
1-фактор ориентированного графа 124
й-фактор 172
Формула коэффициента усиления Кау-
тса 130
450
Предметный указатель
Мэзона 133
— Эйлера 139
Функция Аккермана 136
— коранга матроида 200
— ранга матроида 194
Цикл 17, 80
— базисный 40
— — матроида 410
— гамильтонов 55
— матроида 410
— ориентированный 80
Хорда 33
— неполюсная 249
— полюсная 249
«Цветок» 168
Цепь 17, 80
—- вывода 327
— замкнутая 17
— — ориентированная 80
— ориентированная 80
эйлерова 51, 88
— открытая 17, 80
ориентированная 80
— эйлерова 51, 88
— /1-полюсная 246
нагруженная 246
— чередующаяся (по отношению к па-
росочетанию) 167
Число вершинного покрытия 175
— внутренней устойчивости 174
— независимости 174
— паросочетаний 162
— реберного покрытия 179
— реберно-хроматическое 180
— скрещиваний 149
— хроматическое 185
— цикломатическое графа 82, 89
Эквивалентности классы 81
Элементы матроида 63, 193
Ячейка 140
Оглавление
Предисловие редактора перевода 5
Предисловие 7
Часть 1. Теория графов И
1. Основные понятия II
1.1. Основные определения 11
1.2. Подграфы и дополнения 13
1.3. Маршруты, цепи, пути и циклы 16
1.4. Связность и компоненты графа 18
1.5. Операции над графами 19
1.6. Специальные графы 23
1.7. Точки сочленения и разделимые грг.фы 25
1.8. Изоморфизм и 2-изоморфиз:.; 27
1.9 Замечания, касающиеся литературы 29
Упражнения 30
2. Деревья, разрезающие множества и циклы 33
2.1. Деревья, остовы и кодеревья 33
2.2. А-деревья, остовные ^-деревья, леса 37
2.3. Ранг и цикломатическое число 39
2.4. Базисные циклы 39
2.5. Разрезающие множества 40
2.6. Разрез 41
2.7. Базисные разрезающие множества 43
2.8. Остовы, циклы и разрезающие множества 44
2.9. Замечания, касающиеся литературы 47
Упражнения 48
3. Эйлеровы и гамильтоновы графы 50
3.1. Эйлеровы графы 51
3.2. Гамильтоновы графы 55
3.3. Замечания, касающиеся литературы 60
Упражнения 60
4. Графы и векторные пространства 62
4.1. Группы и поля 62
4.2. Векторные пространства 6'4
4.3. Векторное пространство графа 67
4.4. Размерность подпространств циклов и разрезов 71
452 Оглавление
4.5. Связь между подпространствами циклов и разрезов 73
4.6. Ортогональность подпространств циклов и разрезов 74
4.7. Замечания, касающиеся литературы 76
Упражнения 76
5. Ориентированные графы 78
5.1. Основные определения и понятия 78
5.2. Графы и отношения 84
5.3. Ориентированные и корневые деревья 85
5.4. Ориентированные эйлеровы графы 88
5.5. Ориентированные остовы и ориентированные эйлеровы цепи. . . 91
5.6. Ориентированные гамильтоновы графы 93
5.7. Ациклические ориентированные графы 95
5.8. Турниры 96
5.9. Замечания, касающиеся литературы 98
Упражнения 98
6. Матрицы графов 100
6.1. Матрица инциденций 100
6.2. Матрица разрезов 102
6.3. Цикломатическая матрица 105
6.4. Соотношение ортогональности 108
6.5. Подматрицы матриц разрезов, инциденций и циклов . ... 110
6.6. Унимодулярные матрицы 113
6.7. Число остовов 115
6.8. Число остовных 2-деревьев 118
6.9. Число ориентированных остовов в ориентированном графе . . 120
6.10 Матрица смежности 123
6.11. Графы Коутса и Мэзона 126
6.12. Замечания, касающиеся литературы 134
Упражнения 134
7. Планарность и двойственность 137
7.1. Пленарные графы 137
7.2. Формула Эйлера 139
7.3. Теорема Куратовского и другие характеризации планарности 141
7.4. Двойственные графы 143
7.5. Планарность и двойственность 147
7.6. Замечания, касающиеся литературы 149
Упражнения 149
8. Связность и паросочетаиия 151
8.1. Связность или вершинная связность 151
8.2. Реберная связность 155
8.3. Графы с заданными степенями 156
8.4. Теорема Менгера 160
8.5. Паросочетания 161
8.6. Паросочетания в двудольных графах 163
8.7. Паросочетания графов общего вида 167
8.8. Замечания, касающиеся литературы 171
Упражнения 171
Оглавление 453
9. Покрытия и раскраски 174
9.1. Независимые множества и вершинные покрытия 174
9.2. Реберные покрытия 179
9.3. Реберная раскраска и хроматический индекс 180
9.4. Вершинная раскраска и хроматическое число 184
9.5. Хроматические полиномы 186
9.6. Проблема четырех красок 189
9.7. Замечания, касающиеся литературы 190
Упражнения 190
10. Матроиды 193
10.1. Основные определения 193
10.2. Фундаментальные свойства 196
10.3. Эквивалентные системы аксиом 198
10.4. Двойственность матроидов и графоиды 200
10.5. Ограничение, сужение и миноры матроида 204
10.6. Представимость матроидов 206
10.7. Бинарные матроиды 207
10.8. Ориентируемые матроиды 210
10.9. Матроиды и «жадный» алгоритм 212
10.10. Замечания, касающиеся литературы 214
Упражнения 215
Часть II. Теория электрических цепей
П. Графы и электрические цепи 218
11.1. Преобразование контуров и сечений 220
11.2. Системы контурных уравнений и уравнений сечений 223
11.3. Метод смешанных переменных 228
11.4. Главное разбиение графа 230
11.5. Уравнения состояния 235
11.6. Свойство неусиления в резистивных цепях 241
11.7. Замечания, касающиеся литературы 242
Упражнения 243
12. Резистивные л-полюсные цепи 245
12.1. Введение 245
12.2. Y-матрицы резистивной n-полюсной цепи ранга п 253
12.3. Реализация (п+1)-узловых резистивных «-полюсных цепей . .
(подход Седербаума) 263
12.4. Реализация цикломатической матрицы и матрицы сечений . . 268
12.5. Реализация (п+1)-узловых резистивиых я-полюсных цепей
(подход Гуиллемина) 281
12.6. Замечания, касающиеся литературы 287
Упражнения 288
13. Функция цепи и чувствительность цепи 292
13.1. Топологические формулы для RLC-цепей без взаимных индук-
тисностей 292
13.2. Топологические формулы для общих линейных цепей .... 298
454 Оглавление
!3.3. Сопряженная цепь и вычисление чувствительности цепи . , , 305
13.4. Замечания, касающиеся литературы 312
Упражнения , . 313
Часть !II. Теория электрических цепей
14. Алгоритмы анализа графов 315
14.1. Транзитивное замыкапле 316
14.2. Транзитивная ориентация 322
14.3. Поиск в глубину 331
14.4. Двусвязность и сильная связность 338
14.5. Сводимость графа программы 343
14.6. Доминаторы в графе программы 351
14.7. Замечания, касающиеся литературы 359
Упражнения 359
15. Оптимизационные алгоритмы 361
15.1. Кратчайшие пути 361
15.2. Деревья с минимальной длиной взвешенных путей 368
15.3. Оптимальные деревья бинарного поиска 376
15.4. Максимальны;; паросочетанпя в графе 380
15.5. Максимальные паросочетания г, двудольном графе 389
15.6. Совершенное паросочетание, оптимальное назначение и сос-
составление расписаний 396
15.7. Потоки в транспортной сети 404
15.8. Оптимальное ветвление 418
15.9. Замечания, касающиеся литературы 422
Упражнения 423
Литература -12.5
Предметный указатель 444