Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Теория и практика построения и применения сетей и графов. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
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 не может иметь срезанной вершины или моста. Если он имеет разрез с двумя рёбрами, то компоненты
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]