Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория и практика построения и применения сетей и графов. Учебное пособие
.pdf
1.2. Деревья и графы
41
Доказательство. Пусть S – вершинный разрез графа G’, образован-
ный добавлением вершины u к G, как описано выше. Если u ∈ S, то S − {u}
разделяет G, так что | S | ≥ k + 1. Если u S и N(u) S, то | S | ≥ k. Иначе
u и N(u)−S находятся в одном компоненте G’−S, поэтому S должно быть
вершинным срезом G, и | S | ≥ k.
Лемма 4. Если G – k-связный граф, а v, v1, …, vk – различные вер-
шины G, то существуют независимые (v − vi)-пути для 1 ≤ i ≤ k.
Доказательство. Постройте G’, добавив к G вершину u, смежную с
v1, …, vk. Тогда G’ также k-связан леммой 3. Теорема Менгера гласит, что
существует k независимых (u−v)-путей, которые должны проходить через
v1, …, vk. Удаление рёбер uvi из этих путей подтверждает результат.
Теорема 15. Если G – k-связный граф, k ≥ 2, то любые k вершин G
находятся в цикле.
Доказательство. Мы используем индукцию по k. Для k = 2 результа-
том является следствие теоремы 14.
Предположим, что G k-связно, k > 2, и пусть S − множество из k вершин, включая v. Поскольку граф G имеет связность k – 1, гипотеза индукции подразумевает, что вершины S−{v} лежат на цикле C. Если n(C) = k − 1,
то, согласно лемме 4, существуют независимые пути от v ко всем вершинам C, поэтому цикл можно расширить, включив в него v.
Предположим, что n (C) ≥ k. Пусть v1, …, v
k−1
− вершины S – {v} по
порядку на C, и пусть Vi – вершины, начинающиеся с vi, но не включающие v
i+1
. Множества Vi разбивают V(C) на k – 1 непересекающихся мно-
жеств. Поскольку существует k независимых путей из v в V(C), то как минимум два из них ведут из V(C) в Vi. Затем цикл может быть расширен,
чтобы включить v, используя эти два пути.
Предположим, существует сеть труб, по которым жидкость может
течь только в одном направлении. Каждая труба имеет пропускную способность, определяющую, сколько жидкости может протекать за данный момент времени. Существует также источник, из которого вытекает жидкость,
и сток, в который она впадает. Это можно смоделировать с помощью орграфа, где ребра представляют трубы, вершины представляют соединения и
каждому ребру присваивается неотрицательное целое число. Естественный
вопрос, который следует задать, заключается в том, какое наибольшее количество жидкости может протекать через сеть за данный момент времени.

1. Теоретические основы построения графов
42
Определение. Сеть – это орграф с неотрицательной ёмкостью c(e) на
каждом ребре e и отличающимися вершинами источника и стока s и t. Поток f является неотрицательной функцией на рёбрах, удовлетворяющих
0 ≤ f(e) ≤ c(e) для каждого ребра, и потоки в каждую вершину и из каждой
вершины, отличные от s и t, равны. Величина потока – это величина, идущая от источника к стоку.
Разрез источник-сток [S, T] состоит из рёбер от множества S до T,
где s ϵ S и t ϵ T. Пропускная способность разреза – это сумма пропускных
способностей рёбер на [S, T].
Теорема 16 (теорема о максимальном потоке и минимальном разрезе,
теорема Форда–Фалкерсона). В любой сети максимальное значение потока
равно минимальному значению разреза между источником и стоком.
Доказательство. Предположим сначала, что все ёмкости являются
целыми числами. Пусть G – сеть и пусть D – направленный мультиграф,
сформированный путём замены ребра с ёмкостью r на r рёбер.
Мы утверждаем, что максимальный поток со значением k в G соответствует k рёбрам в зависимых путях в D. Конечно, независимые от k рёбер
пути могут быть объединены в поток, поскольку пути, использующие j копий
ребра в D, подразумевают поток, имеющий значение j на этом ребре в G.
И наоборот, поток с целым числом значения могут быть разделены на независимые от рёбер пути в D путём разделения по одному пути s − t за раз.
Теперь теорема Менгера гласит, что максимальное число независимых от рёбер (s − t)-путей равно минимальному размеру st-разреза в D. Соответственно максимальное значение потока равно минимальному значению разреза источник-сток в G. Если все мощности рациональны, умножьте все мощности на их наименьший общий знаменатель и примените
предыдущие рассуждения.
Алгоритм Форда–Фалкерсона предоставляет практический способ
нахождения максимального потока в сети5. Основная идея состоит в том,
чтобы найти (s − t)-путь с неиспользуемой пропускной способностью по
всем рёбрам и увеличить поток на этом пути. Это может потребовать
5
Алгоритмы на графах / Режим обращения: https://edu.mmcs.sfedu.ru/
pluginfile.php/120058/mod_resource/content/1/12%20Нахождение%20максимального%20потока.pdf, (дата обращения 24.07.2023).

1.3. Эйлеровы графы
43
уменьшения положительного потока в противоположных направлениях некоторых рёбер.
Согласно теореме Менгера, это может быть использовано для вы-
числения связности рёбер. Выберите вершину u орграфа. Некоторый минимальный срез ребра должен отделять u от другой вершины.
Подключение может быть вычислено аналогичным образом. Рас-
смотрим пару несмежных вершин u и v в орграфе D. Сформируйте орграф D’, заменив каждую вершину w двумя вершинами w1 и w2 и ребром
w1w2, причём ребра от w переходят к w1, а ребра от w исходят из w2. Это
преобразует задачу нахождения uv-разреза D в задачу нахождения
uv-разреза D’. Алгоритм Форда–Фалкерсона может быть запущен на D
(со всеми пропускными способностями) для всех пар несмежных вершин D. Минимальное из максимальных значений потоков должно быть
связностью D.
1.3. Эйлеровы графы
В 1736 г. у жителей прусского города Кенигсберг возникла про-
блема. Город располагался на берегу реки Прегель, и между четырьмя массивами суши было семь мостов.
Горожане хотели бы совершить воскресную прогулку, пересекая
каждый мост ровно по одному разу и возвращаясь к тому месту, с которого
начали прогулку. Но никто не мог найти способа сделать это. Эта проблема
привлекла внимание известного швейцарского математика Леонарда Эйлера, который в то время находился в г. Санкт-Петербург.
Эйлер, пожалуй, самый плодовитый математик своего времени,
внёсший огромный вклад во многие области математики. Эйлер понял, что
данную задачу можно описать с помощью точек, представляющих каждый
массив суши, и кривых, представляющих каждый мост. Выражаясь современным языком, в результате получился мультиграф. Решение этой задачи
сейчас рассматривается как начало применения теории графов.
Эйлер видел, что любая прогулка будет проходить по части суши и
выходить из неё каждый раз, когда встречается мост. Таким образом, для

1. Теоретические основы построения графов
44
такой прогулки потребовалось бы, чтобы чётное количество мостов связывало каждый участок суши. Но в Кенигсберге на каждом участке суши
было нечётное количество мостов, так что то, чего хотели горожане, было
в принципе невозможно. Таким образом, задача была решена. Эйлер также
рассмотрел более сложный вопрос о том, какие условия все же гарантировали бы возможность такой прогулки.
Определение. (U – v)-маршрут графа – это последовательность вер-
шин и рёбер, в которой первым и последним элементами этой последовательности являются вершины. Если в таком маршруте все рёбра различны,
то (u – v)-маршрут графа является (u – v)-путём.
Путь называется простым, если все вершины в нем различны. Замкнутый цикл имеет u = v. Эйлеровый цикл содержит все рёбра графа. Эйлеров путь содержит все ребра графа, но не является замкнутым. Граф с
эйлеровым циклом является эйлеровым графом6.
Лемма 5. Если график G имеет δ(G) ≥ 2, то он содержит цикл.
Доказательство. Пусть P – максимальный путь в G с вершинами
v1, …, vn. Теперь vn имеет степень не менее 2, поэтому он примыкает к некоторой вершине u ≠ v
n−1
. Если u не находится на пути, он может быть рас-
ширен, что противоречит его максимальности. Таким образом, u должен
находиться на пути, образующем цикл.
Теорема 17. Связный мультиграф G является эйлеровым тогда и
только тогда, когда у него все степени чётные.
Доказательство необходимости (Эйлер [1736]). Если G является эйлеровым графом, то каждый раз, когда этот цикл проходит через вершину,
он использует два ребра. Первое и последнее ребра также соединяются в
первой вершине. Таким образом, каждая вершина имеет чётную степень.
Доказательство достаточности (Хиерхольцер [1873]). Предположим,
что граф G связный и все вершины имеют чётную степень. Мы используем
для доказательства метод индукции по m ( m – количество вершин графа).
Если m = 0, то G является тривиальным графом. Предположим, что все
связные графы с чётными степенями вершин и размером меньше m содержат цикл Эйлера. Пусть G имеет размер m > 0. Тогда δ(G) ≥ 2, таким
6
Эйлеровы графы / Режим обращения: https://portal.tpu.ru/SHARED/t/TRACEY/
Courses/English/Tab1/graph_lec_07.pdf, (дата обращения 21.07.2023).

1.3. Эйлеровы графы
45
образом, согласно лемме 4, G содержит цикл C. Удаление рёбер C приводит
к графу G’ со всеми чётными степенями. Теперь каждый компонент G’ имеет
размер меньше m, поэтому применение гипотезы индукции показывает, что
у каждого из них есть цикл Эйлера. Теперь для G может быть построен цикл
путём соединения сегментов C и цепей каждого компонента G’.
Следствие теоремы 17. Мультиграф может быть разложен на циклы
тогда и только тогда, когда все вершины имеют чётную степень.
Доказательство необходимости. Если G разлагается на циклы, то
каждый цикл, содержащий вершину v, является Эйлеровым. Таким образом, его степень является чётной.
Доказательство достаточности. Если все вершины имеют чётную
степень, то каждая компонента является эйлеровой. Доказательство теоремы 17 подразумевает, что каждый нетривиальный компонент содержит
цикл, а индукция подразумевает, что они могут быть разложены на циклы.
Когда граф не является эйлеровым, следующий вопрос заключается в том, есть ли у него эйлеровский путь. Можно доказать более общий
результат.
Теорема 18. Если связный мультиграф, не имеющий Эйлерова
цикла, состоит из 2k нечётных вершин, то его можно разложить на ровно k
открытых путей.
Доказательство. Пусть G – связный граф с 2k > 0 нечётными вершинами. Открытый путь состоит из вершин с чётными степенями, кроме крайних. Таким образом, для учёта 2k нечётных вершин должно быть по крайней мере несколько путей. Если сформировать мультиграф H, добавив k
рёбер между нечётными вершинами G так, чтобы у H были все чётные степени, тогда H будет иметь Эйлеров цикл. Удаление k рёбер приводит к появлению k открытых путей, которые и составляют граф G.
Обратите внимание, что в доказательстве граф был достроен, чтобы
использовать теорему 17. Когда k = 1, эта теорема подразумевает, что связный граф имеет Эйлеров путь тогда и только тогда, когда он имеет ровно
две нечётные вершины, и в этом случае они являются концами пути.
Рассмотрим теперь взвешенный граф, и наша задача – найти замкнутый цикл минимальной длины, который использует все ребра. Эту задачу
называют задачей китайского почтальона.

1. Теоретические основы построения графов
46
Если граф G является эйлеровым, то решать нечего. Но если в графе
есть нечётная вершина, почтальон должен повторить проход по этой вершине столько раз, пока не достигнет другой нечётной вершины. Таким образом, чтобы вернуться к исходной точке, он должен повторить пути, соединяющие пары нечётных вершин. Эквивалентно этому, мы могли бы
дублировать ребра вдоль этих путей так, чтобы в новом графе каждое ребро
использовалось ровно один раз, делая его эйлеровым. Поскольку каждое
ребро G должно быть использовано один раз, мы ищем минимальный общий вес добавляемых рёбер, который сделает граф эйлеровым. Нам необходимо добавить k путей (которые могут пересекаться) между 2k нечётными вершинами графа.
Мы можем использовать алгоритм Дейкстры, чтобы найти кратчай-
шие пути между каждой из 2k нечётных вершин. Постройте полный граф
K2k, вершины которого представляют нечётные вершины G, а ребра имеют
веса, которые являются расстояниями между соответствующими вершинами G. Таким образом, мы должны найти идеальное сочетание в K2k с минимальным общим весом.
Пример. Решаем задачу китайского почтальона для взвешенного
графа (рис. 1.27, слева). Есть четыре нечётные вершины. На рисунке средний
граф K4 состоит из этих вершин, причём каждое ребро помечено расстоянием
между соответствующей парой вершин. Существует три возможных соответствия с общим весом 8 + 9 = 17, 6 + 11 = 17 и 6 + 4 = 10. Справа на рис. 1.27.
видны соответствующие рёбра, которые выделены жирной линией.
Наиболее простым алгоритмом поиска цикла Эйлера является алго-
ритм Флёри7.
Каждый раз, когда мы будем выбирать «текущее ребро», мы должны
соблюдать следующее ограничение: если степень текущей вершины в текущем графе больше 1, нельзя выбирать ребро, удаление которого из текущего
графа увеличит количество компонентов связности, которые в нем есть.
1. Обозначим текущий граф G, а «текущую вершину» – равной про-
извольной вершине v ∈ V (G).
2. Выберем произвольное инцидентное «текущее ребро» vu, кото-
рое учитывает ограничение, указанное выше.
7
Элементы теории графов: учеб. пособие / Н. А. Калугин, А. Н. Калугин.
Самара: Изд-во Самар, гос. аэрокосм, ун-та, 2013.

1.3. Эйлеровы графы
47
3. «Текущей вершиной» становится другая вершина, инцидентная
«текущему ребру».
4. Уберём vu из текущего графа и добавим его в список.
5. Вернёмся на шаг 2 в случае, если в текущем графе ещё остались
ребра.
Рис. 1.27. Решение задачи китайского почтальона
Предположим, химик замечает, что две молекулы обладают сходными свойствами. Он предполагает, что на самом деле они могут быть одной и той же молекулой. Как он может это доказать?
Два графа являются изоморфными, если они имеют одинаковую
структуру, несмотря на разные названия вершин или их изображения. Теперь мы уточним эту идею.
Определение. Изоморфизм графа G графу H является биекцией
ϕ : V(G) → V(H) такой, что uv ∈ E (G) тогда и только тогда, когда
ϕ (u) ϕ (v) ∈ E (H).
Несложно показать, что изоморфизм графов является отношением
эквивалентности. Это подразумевает, что отношение разбивает совокупность всех графов на классы эквивалентности. Немаркированный граф
можно рассматривать как представляющий класс изоморфизма всех графов
с одинаковой структурой.
Как мы можем определить, являются ли два графика изоморфными?
Самый простой ответ – проверить все биекции между наборами вершин
G и H. Либо одно из них является изоморфизмом, либо ни одно из них не
является таковым. Это теоретический ответ, но не практический. Для графа
порядка n существует n! перестановок его вершин. Поскольку факториальная функция растёт очень быстро, метод перебора непрактичен даже для
небольших графов.

1. Теоретические основы построения графов
48
Несколько лучший подход состоит в том, чтобы соединить в пару со-
седние вершины, затем попытаться сопоставить их окрестности и так далее,
пока не будет найден изоморфизм, или попытка не завершится неудачей.
Пример. Рассмотрим следующие графы. Мы пытаемся построить
изоморфизм, сопоставив вершину A с вершиной 1. Тогда вершины D, E и F
должны отображаться на вершины 2, 4, и 6, поэтому сопоставим D с 2,
E с 4, а F с 6. Тогда изоморфизм может быть завершён отображением B в 3
и C в 5. Графы изоморфны, оба являются K
3,3
(рис. 1.28).
Рис. 1.28. Пример построения изоморфного графа
Определение. Инвариант графа – это свойство графа, которое сохра-
няется благодаря изоморфизму.
Чтобы показать, что два графа не изоморфны, гораздо лучшим подходом, чем проверка всех возможных изоморфизмов, является поиск инварианта графа. Какие свойства являются инвариантами? Сразу видно, что порядок и размер инвариантны, поскольку биекция совпадает с вершинами и рёбрами. Аналогично, последовательность степеней сохраняется, поскольку
каждая вершина сопоставляется с вершиной с таким же числом соседей.
Пример. Рассмотрим графы на рис. 1.29. Все они имеют порядок 6 и
размер 9.
Рис. 1.29. Неизоморфные графы с одинаковыми наборами степеней
Однако граф на рис. 1.29 слева имеет последовательность степеней
443322, в то время как остальные имеют последовательность степеней
433332. Граф в середине рис. 1.29 имеет смежные вершины со степенями 2
и 4, в то время как у графа справа этого не происходит. Таким образом, все
три не являются изоморфными.

1.3. Эйлеровы графы
49
Утверждение 9. Пусть G и H – графы. Тогда G изоморфен H тогда и
только тогда, когда G изоморфен H.
Определение. Граф G является самокомплементарным, если
GG =
.
Пример. Единственными самокомплементарными графами с поряд-
ком не более 5 являются K1, P4 и C5, а граф с порядком 5 называется графом
быка. Это можно увидеть, изучив все небольшие графы (рис. 1.30).
Рис. 1.30. Пример самокомплементарных графов
Утверждение 10. Существование конкретного подграфа и количе-
ство вхождений этого подграфа является инвариантом графа.
Доказательство. Подграф определяется его вершинами и рёбрами.
Поскольку соответствующие вершины и ребра сопоставляются изоморфизмом, существование подграфа инвариантно. Аналогично, каждая копия
подграфа должна совпадать с отдельной копией в другом графе, поэтому
количество вхождений подграфа является инвариантным.
Инвариантные свойства графа включают максимальную и минимальную степень, количество компонентов, диаметр и радиус, двудольность, обхват, связность и рёберную связность. Что не сохраняется? Свойство, зависящее от конкретного рисунка графика, может быть не сохранено. Например, не сохраняется пересечение рёбер. Размер областей на
плоском чертеже также не сохраняется.
Когда два графа изоморфны, для поиска изоморфизма можно использовать изоморфные подграфы.
Хорошая стратегия проверки пары графов на изоморфизм начинается
с их последовательностей степеней. Если они одинаковы, а графы не являются регулярными, изучите подграфы, индуцированные рёбрами между вершинами определённых степеней. Если эти подграфы неизоморфны, то и более крупные графы таковыми не являются. Если они изоморфны, это даёт
информацию о том, как найти изоморфизм для больших графов.
Однако это бесполезно, когда графы являются регулярными. Поскольку степени вершин говорят нам, сколько вершин находится на

1. Теоретические основы построения графов
50
расстоянии 1 от вершины, может быть полезно определить, сколько вершин находится на расстоянии 2 от каждой вершины. В более общем
плане, мы могли бы вычислить количество переходов на расстояние 2
между каждой парой вершин.
Это можно сделать, просто возведя матрицу смежности в квадрат.
Затем мы можем рассмотреть векторы, подсчитывающие количество проходов на расстояние 2, начинающихся в каждой вершине. Поскольку мы не
знаем существует ли изоморфизм, нужно отсортировать числа в каждом
векторе в порядке возрастания.
Определение. Граф является строго регулярным, если существуют целые числа λ и µ такие, что каждые две смежные вершины имеют λ общих
соседей, а каждые две несмежные вершины имеют µ общих соседей. Строго
регулярный граф с порядком n и степенью k обозначается srg (n, k, λ, µ).
Два графа обычно легко отличить друг от друга. Два случайно выбранных графа почти наверняка будут иметь разный порядок; два случайно
выбранных графа с одинаковым порядком почти наверняка будут иметь
разные размеры и т.д. Но некоторые пары строго регулярных графов являются такими объектами, которые обладают многими общими свойствами.
Тем не менее даже их можно отличить, приложив некоторые усилия.
Трудность в задаче об изоморфизме графов заключается в том,
что не существует алгоритма, который эффективно работает для любой
пары графов.
Изоморфизм и инварианты графов могут быть использованы для
классификации всех графов определённого типа. Выше мы охарактеризовали 2-регулярные графики. Кубические графы гораздо сложнее классифицировать.
Пример. Предположим, мы хотим найти все кубические графы порядка 8. Обратите внимание, если просто начать рисовать графики, не будет уверенности, что нашли их все. Вместо этого можно использовать аргумент с проверкой регистра, основанный на инвариантах графа.
Начните с вопроса о том, можно ли кубический граф порядка 8 сделать несвязным. Если это так, то каждый компонент должен иметь порядок 4, и поэтому должен быть K4. Таким образом, мы находим G1 = 2K4.
Легко проверить, что кубический граф порядка 8 не может иметь срезанной
вершины или моста. Если он имеет разрез с двумя рёбрами, то компоненты
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
