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

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

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
1.1. Графы как модели
21
объединением его компонентов. Например, несвязный граф объединения цикла из 4-х вершин (С4) и пути из трёх вершин (Р3) состоит из двух ком­понент: C4 и P3.
Многие параметры графа можно определить, вычислив их по каж­дому компоненту, а затем взяв максимум, минимум или сумму. Например, размер графа – это сумма размеров его компонентов, а максимальная сте­пень графа – это максимальная из максимальных степеней его компонент. Когда граф связный, мы хотели бы знать, как далеко друг от друга нахо­дятся его вершины.
Определение. Расстоянием между вершинами u и v называется вели­чина d(u,v), равная длине кратчайшего (u-v)-пути. Если u и v находятся в разных компонентах, мы говорим, что d(u,v) = ∞. Диаметр графа G (diam(G)) – это максимально возможное расстояние между всеми его па­рами вершин. Эксцентриситет вершины e(u) – это максимальное значение всех расстояний от вершины u до остальных вершин графа. Радиус графа G (rad (G)) – это минимальный эксцентриситет его вершин. Центром графа является подграф, индуцированный вершинами с минимальным эксцен­триситетом.
Пример. На рис. 1.16 граф d(u, v) = 1, радиус равен 2, диаметр равен 3, а центр равен C4, индуцированный u, v, y и x.
Утверждение 1.
Для каждого связного графа rad (G) ≤ diam (G) ≤ 2 rad (G).
Доказательство. Первое неравенство следует из определений. Пусть u и v – вершины с d(u, v) = diam (G), и пусть w – вершина с e(w) = rad (G). Согласно неравенству треугольника, диаметр (G) = d (u, v) ≤ d (u, w) + + d (w, v) ≤ 2e (v) = 2 rad (G).
Утверждение 2. Если диаметр (G) ≥ 4, то диаметр (G) ≤ 2.
Доказательство. Пусть diam (G) ≥ 4, и пусть x и y – вершины с d (x, y) = 4. Если u и v не являются смежными в G, то они являются смеж­ными в G. Если u и v являются смежными в G, то x и y не могут одновре­менно находиться в окрестностях u и v, поскольку это означало бы путь (x − y) – путь длиной не более 3. Таким образом, u и v оба не являются смежными ни с x, ни с y. Тогда d(u, v) = 2 в G.
Лемма 1. Каждый (u − v)-маршрут переход содержит (u − v)-путь.
1. Теоретические основы построения графов
22
Доказательство. Предположим, наоборот, что существует (u − v)-марш-
рут, который не содержит (u − v)-пути, и пусть W – такой переход минималь­ной длины. Тогда W должен повторно проходить через некоторую вершину w. Удаление всех вершин и рёбер на обходе между вхождениями w приводит к более короткому проходу от u к v. Тогда это или (u − v)-путь, либо это ещё меньший путь. В любом случае налицо противоречие.
Обратим внимание, что расстояние удовлетворяет неравенству тре-
угольника d (u, w) ≤ d (u, v) + d (v, w), поскольку объединение путей u − v и v −w приводит к обходу u − w, который содержит путь u − w. Наряду с очевидными свойствами d (u, v) ≥ 0 с точным равенством, когда u = v, и d (u, v) = d (v, u), это показывает, что графы с расстоянием являются мет­рическим пространством.
Некоторые графы имеют наборы вершин, которые разделены на два
различных типа объектов.
Пример. Университет предлагает четыре курса математики в се­местр и имеет четырёх преподавателей математики, каждый из которых мо­жет вести одну дисциплину в одном классе. Моделируем эту ситуацию, ис­пользуя граф с четырьмя вершинами, представляющими дисциплины, и ещё четырьмя, представляющими преподавателей (рис. 1.17).
Рис. 1.17. Двудольный граф, описывающий распределение
преподавателей по дисциплинам
Четыре преподавателя и дисциплины, которые они имеют право пре­подавать, также приведены в табл. 1.3. Вопрос заключается в том, воз­можно ли назначить каждому преподавателю курс, для преподавания кото­рого он имеет соответствующую квалификацию. И это возможно, по­скольку только преподаватель, условно обозначенный буквой «А», может
1.1. Графы как модели
23
проводить занятия по дисциплинам Дифференциальные уравнения и био­математика, а преподаватели, обозначенные как «В» и «D» специализиру­ется на дисциплинах Алгебра и математический анализ, преподаватель «С» может проводить занятия по биоматематике, а также обучать математиче­скому анализу.
Таблица 1.3
Таблица распределения дисциплин между преподавателями
Преподаватели
Дисциплины
А
Биоматетика и дифференциальные уравнения
В
Алгебра и математический анализ
С
Биоматетика и математический анализ
D
Алгебра и математический анализ
Определение. Граф является двудольным, если множество вершин
может быть разбито на два независимых множества (называемых частич­ными множествами). Совпадение – это набор рёбер, ни одно из которых не является смежным.
Двудольные графы также называются 2-раскрашиваемыми, по-
скольку два множества частей могут быть раскрашены так, чтобы ни одна соседняя вершина не имела одинакового цвета. Полный двудольный граф имеет все возможные ребра между множествами частей. Пути, чётные циклы, сетки и гиперкубы – это разные классы двудольных графов.
Понятие расстояния имеет важное значение для характеристики дву-
дольных графов.
Теорема 2. Граф является двудольным тогда и только тогда, когда
он не содержит нечётных циклов.
Доказательство. Докажем, что двудольный граф не содержит нечёт-
ных циклов. Пусть G – двудольный граф. Каждый проход чередуется между двумя частичными проходами, поэтому он может вернуться к пер­вому проходу только после чётного количества шагов. Таким образом, лю­бой цикл имеет чётную длину.
Докажем теперь, что если граф G не имеет нечётных циклов, то он
является двудольным. Пусть G – граф без нечётных циклов. Мы предпола­гаем, что G связный, так как этот допущение выполняется для любой вер­шины. Пусть u – вершина, пусть U – множество всех вершин с чётным рас­стоянием от u, и пусть W – множество всех вершин с нечётным расстоянием
1. Теоретические основы построения графов
24
от u. Это разбиение множества вершин. Предположим, что существует ребро между вершинами x и y в одном и том же наборе разделов. Тогда (u − x)-путь и (u − y)-путь имеют одинаковую чётность. Эти пути могут иметь общие вершины, но должна быть последняя общая вершина, напри­мер v, которую они имеют. Тогда (v − x)-путь и (v − y)-путь и ребро xy можно объединить, чтобы сформировать нечётный цикл. Но тогда возни­кает противоречие, поэтому U и W являются независимыми множе­ствами. Доказано.
Вспомним определение графа.
Определение. Граф G – это математический объект, состоящий из конечного непустого множества объектов, называемых вершинами V (G) (множество вершин), и множества рёбер E (G) (множество рёбер). Ребро – это двухэлементное подмножество множества вершин.
Рассмотрим, как изменение нескольких слов в определении графика приводит к различным моделям. Что если мы уберём слово «конечный» или «непустой»?
Определение. Нулевой граф имеет набор пустых вершин и рёбер.
Определение. Бесконечный граф имеет бесконечное множество вер­шин. Конечный граф не бесконечен. Есть много интересных результатов по использованию бесконечных графов. Некоторые закономерности, полу­ченные на конечных графах, естественным образом распространяются и на бесконечные графы.
Теперь рассмотрим ситуацию, когда ребра не являются подмноже­ствами из 2-х элементов?
Определение. Гиперграф – это математический объект, состоящий из множества вершин и множества рёбер. Ребро – это непустое подмножество множества вершин. Таким образом, ребро может иметь любую мощность.
Если мы допускаем наличие нескольких рёбер между вершинами, то ребра должны находиться в мультимножестве, что допускает наличие не­скольких копий одного и того же объекта.
Определение. Мультиграф G – это математический объект, состоя­щий из конечного непустого множества объектов, называемых вершинами V (G), и мультимножества E (G) пар вершин. Петля – это ребро, оба конца которого имеют одну и ту же вершину. Множественные ребра – это ребра, имеющие одинаковые концы (рис. 1.18).
1.1. Графы как модели
25
Рис. 1.18. Пример мультиграфа с множественными рёбрами и петлёй
Определение. Ориентированный граф (орграф) D – это математиче-
ский объект, состоящий из конечного непустого множества объектов, назы­ваемых вершинами V(D), и множества E(D) упорядоченных пар различных вершин, называемых направленными рёбрами. Направленный мультиграф заменяет множество E(D) на мультимножество.
Если e = uv – направленное ребро орграфа, то мы записываем u → v и
говорим, что вершины u и v являются соседями, e соединяет u и v, вершина u и ребро e являются инцидентными, так как ребро e выходит из вершины u.
Когда орграф имеет ребра в обоих направлениях между двумя вер­шинами, можно нарисовать либо две стрелки, либо одну двунаправленную стрелку между ними. Существует естественная взаимосвязь между гра­фами и орграфами.
Определение. Базовый граф орграфа D получается путём обра­ботки каждого ребра D как неупорядоченной пары. Ориентация графа – это орграф, сформированный путём замены каждого ребра направленным ребром, т.е. дугой. Такой орграф является асимметричным. Орграф D симметричен, если всякий раз, когда uv является ребром D, то же самое происходит и с vu.
Каждый орграф имеет уникальный базовый граф, но большинство графов имеют множество ориентаций. Граф соответствует симметричным орграфам без петель, поскольку любая пара симметричных рёбер может быть заменена неориентированным ребром. Орграф и лежащий в его ос­нове базовый граф проиллюстрированы ниже (рис. 1.19).
Рис. 1.19. Слева – орграф, справа – его базовый граф
1. Теоретические основы построения графов
26
Существует также естественное соответствие между орграфами и
двудольными графами.
Определение. Разбиение орграфа D − это двудольный граф G с мно-
жествами частей V- и V+, копирующими V(D). Каждая вершина v ∈ V(D) дублируется на v− ∈ V− и v+ ∈ V+. Каждое ребро uv ∈ E(D) соответствует u+v− ∈ E(G) (рис. 1.20).
Рис. 1.20. Слева – орграф, справа – соответствующий ему двудольный граф
Многие определения терминов для орграфов такие же, как и для гра-
фов, или получаются естественным образом, когда заменяют ребра направ­ленными рёбрами.
Определение. Пусть v – вершина орграфа. Выходная степень d+(v) –
это количество рёбер из v. Степень d−(v) – это количество рёбер в v.
Пример. На веб-графе страницы, на которые чаще всего ссылаются,
как правило, являются лучшими источниками информации. Поскольку веб­граф является орграфом, это страницы с высокой степенью независимости. Это наблюдение является основной идеей ранжирования страниц и важным алгоритмом, используемым Google для предоставления качественных ре­зультатов поиска. Этим процессом могут манипулировать сайты, которые предоставляют ссылки исключительно для того, чтобы повлиять на поис­ковые системы, поэтому система PageRank по-разному оценивает ссылки в зависимости от качества сайта.
Утверждение 3. В орграфе D, ∑d+(v) = ∑d−(v) = m(D), где m(D) – коли-
чество вершин орграфа D, ∑d+(v) и ∑d−(v) – суммы по всем вершинам графа.
Этот результат аналогичен первой теореме теории графов. Это сле-
дует из того, что у каждой дуги есть начало и конец.
1.2. Деревья и графы
27
Направленные обходы, траектории и циклы аналогичны их нена­правленным версиям, за исключением того, что дуги должны иметь согла­сованное направление.
Определение. Орграф является связным (или слабосвязанным), если его лежащий в основе граф связан. Орграф является сильным (или сильно связным), если существуют пути (u − v)-путь или (v − u)-путь для всех пар вершин u и v. Сильным компонентом орграфа является максимальный сильный подграф.
1.2. Деревья и графы
Деревья – это минимально связные графы. Подобные графы имеют множество теоретических и практических применений, например нахожде­ние расстояния между двумя вершинами. Для того чтобы связный граф стал деревом, требуется удалить по крайней мере одну вершину или ребро. Связность измеряет, сколько вершин или дуг должно быть удалено из гра­фика, чтобы граф перестал быть связным. Это имеет естественную зависи­мость с числом непересекающихся путей между вершинами.
Определение. Граф является лесом, если он не содержит цикла. Де­рево – это связный лес. Таким образом, лес – это граф, компонентами ко­торого являются деревья. Таким образом, граф является лесом тогда и только тогда, когда каждый компонент является деревом.
Деревья можно рассматривать как класс экстремальных графов. Это как минимально связные графы, так и максимально ациклические графы.
«Лист» – это вершина со степенью 1.
Утверждение 4. Каждое нетривиальное дерево содержит по крайней мере два листа.
Доказательство. Пусть T – нетривиальное дерево. Пусть P – макси­мальный путь между вершинами u и v в T. Тогда v не может быть смежным более чем с одной вершиной на пути, так как это создало бы цикл. Она не может быть смежной с другой вершиной, не находящейся на P, так как то­гда она могла бы быть расширена до более длинного пути. То же самое справедливо и для u, поэтому u и v имеют степень 1.
Это приводит к естественному способу построения любого дерева.
1. Теоретические основы построения графов
28
Теорема 3. Граф является деревом тогда и только тогда, когда он мо-
жет быть построен из вершины K1 путём многократного применения опера­ции добавления новой вершины, смежной с одной существующей вершиной.
Доказательство. Пусть K1 – это дерево, и операция добавления новой вершины, смежной с одной существующей вершиной, сохраняет граф связ­ным и ациклическим. Таким образом, любой граф, созданный таким обра­зом, должен быть деревом.
Мы используем метод индукции по n. Результат очевиден, когда n = 1. Предположим, что любое дерево порядка n − 1 может быть построено из вершины K1 с помощью операции добавления вершины, смежной с од­ной существующей вершиной. И пусть T имеет порядок n > 1. Тогда у T есть лист v, поэтому (T − v) − дерево порядка n – 1. Таким образом, T − v может быть сконструирован с использованием вышеуказанной операции, так что T также может быть деревом.
Определение. Операционная характеристика класса графов описы­вает их рекурсивно, используя один или несколько начальных графов, а также одну или несколько операций, которые могут быть применены к лю­бому графу в классе для получения другого графа в классе. Все операции создания графов в классе создают графы только этого класса.
Характеристики операций полезны для доказательств по индукции, поскольку если свойство справедливо для всех исходных графов и сохраня­ется операцией (операциями), то оно справедливо для всех графов в классе.
Следствие теоремы 3. Дерево порядка n имеет размер n − 1. Лес с k компонентами имеет размер n − k.
Доказательство. m(K1) = 0. Пусть F – лес с компонентами Fi с поряд­ками ni и размерами mi. Тогда Σ mi = Σ (ni – 1) = n – k, где i=1, 2, …, k.
Утверждение 5. Граф T является деревом тогда и только тогда, когда для любых двух вершин u и v графа T существует уникальный (u − v)- путь. Доказательство. Докажем, что если граф Т – дерево, то любые его две вер­шины можно связать уникальным путём. Предположим, что для некоторых u и v в T не существует уникального u – v-пути. Либо нет u – v-пути и T – несвязный граф, либо есть два u – v-пути, и некоторые из их рёбер об­разуют цикл. В любом случае, T – это не дерево.
Докажем, что если любые две вершины графа связаны уникальным путём, то граф Т является деревом. Если T не является деревом, то тогда
1.2. Деревья и графы
29
либо T – несвязный граф, и для некоторых u и v в T нет u – v-пути, либо T содержит цикл (и в нем есть два u – v-пути для u и v).
Если граф с достаточно большой минимальной степенью, то воз-
можно он содержит в себе любое дерево заданного размера.
Теорема 4. Если δ (G) ≥ k, то G содержит все деревья размера k. Доказательство. Мы используем индукцию по k. Когда k = 0, каждый
граф содержит вершину K1, единственное дерево с размером 0.
Предположим, что результат справедлив для всех деревьев с k − 1 рёб-
рами, k ≥ 1. Пусть T – дерево размером k, содержащее лист v с соседней вер­шиной u. По предположению, G содержит T − v, который имеет размер k − 1. Теперь dG(u) ≥ k, поэтому u является смежным, по крайней мере, с одной вер­шиной в G, которая не находится в T − v. Таким образом, G также содержит T.
Мы можем охарактеризовать последовательности степеней деревьев. Утверждение 6. Список из n > 1 натуральных чисел является после-
довательностью степеней некоторого дерева T тогда и только тогда, когда их сумма равна (2n – 2).
Доказательство. Пусть у нас есть дерево Т размером (n – 1). Тогда
сумма его степеней равна 2 (n − 1) = 2n − 2.
Для доказательства достаточности используем индукцию по n. Если n = 2, сумма равна двум и T = K2. Предположим, что результат справедлив для деревьев порядка n − 1. Предположим, у нас есть список из n > 2 нату­ральных чисел, сумма которых равна 2n − 2. Тогда наименьшее целое число равно 1, а наибольшее – d > 1.
Если удалить одну вершину, то d уменьшится на 1. Тогда у нас есть список из n−1 натуральных чисел с суммой 2(n − 1) − 2, так что существует некоторое дерево T’ с этими степенями. И мы всегда можем достроить до графа Т, добавив одну вершину, смежную с вершиной степени (d – 1), ко­торая будет листом.
Деревья так же важны, как подграфы связных графов.
Определение. Остовное дерево связного графа G – это дерево, кото­рое является подграфом G с тем же порядком.
Одноциклический граф – это связный граф ровно с одним циклом.
Каждый связный граф содержит связующее дерево. Это можно уви­деть, удаляя ребра в циклах до тех пор, пока их больше не останется, в ре­зультате чего образуется дерево. Любой одноциклический граф может
1. Теоретические основы построения графов
30
быть сформирован путём добавления ребра к некоторому дереву. Связный граф, который не является деревом, имеет несколько остовных деревьев, которые могут быть получены друг из друга путём замены рёбер.
Теорема 5. Если T и T' являются остовными деревьями связного
графа G, а e − ребро в T, а не в T’, то существует ребро e’ в T’, а не в T, такое, что T − e + e’ и T’ + e – e’ являются остовными деревьями графа G.
Определение. Взвешенный граф – это граф, для которого каждое
ребро e имеет неотрицательное число w(e), называемое связанным с ним весом. (Если ребро не существует, то его вес равен ∞.)
Минимальное остовное дерево – это остовное дерево графа с мини-
мальным общим весом рёбер. Существует простой алгоритм поиска мини­мального остовного дерева.
Предположим, что есть несколько изолированных деревень, кото­рые мы хотим соединить электрическими линиями. Затраты на соединение различных пар деревень варьируются в зависимости от расстояния, рель­ефа местности и стоимости земли между деревнями. Мы хотим найти ми­нимальные затраты на подключение деревень к электрическим линиям. Мы можем смоделировать эту ситуацию с помощью взвешенного графа. Ре­шить такую задачу может помочь алгоритм Краскала поиска минимального остовного дерева или минимального покрывающего дерева2.
1.2.1. Алгоритм Краскала
Пусть у нас есть граф G. Пусть остовный лес F графа G – это лес, состоящий из всех вершин графа, и на первом шаге он не имеет ни одного ребра. Затем на очередном шаге необходимо последовательно добавлять рёбра с минимальным весом, при этом граф F должен оставаться лесом. Это возможно, если новое ребро соединит вершины из разных частей леса. Именно такие ребра мы будем называть подходящими.
Пример. Рассмотрим взвешенный график на рис. 1.20 (слева). Упо­рядочим рёбра по их весу. Начнём с добавления ребра с весом 1. Можно добавить оба ребра с весом 2 (в любом порядке). Могут быть добавлены
2
Алгоритм Краскала / Режим доступа: https://www.sites.google.com/a/labore.ru/
teoria-grafov/novosti-obrazovania/algoritm-kraskala, (дата обращения 21.07.2023).
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]