/
Tags: теория вероятностей математическая статистика комбинаторный анализ теория графов
ISBN: 978-5-9710-4069-9
Text
НАУКУ —ВСЕМ!
Шедевры научно-популярной литературы (математика) · № 132
О. И. Мельников
ТЕОРИЯ
ГРАФОВ
для УЧИТЕЛЕЙ,
для ШКОЛЬНИКОВ...
И НЕ ТОЛЬКО!
Книга, которая научит вас
теории графов
и поможет обучать ей других
Под редакцией
кандидата физико-математических наук
Ю. М. Метельского
URSS
МОСКВА
ББК 22.174 22.176я73
Мельников Олег Исидорович
Теория графов для учителей, для школьников... И не только!
Книга, которая научит вас теории графов и поможет
обучать ей других / Под ред. Ю. М. Метельского. — М.: ЛЕНАНД, 2017.
240 с. (НАУКУ — ВСЕМ! Шедевры научно-популярной литературы
(математика). № 132.)
В настоящей книге изложены основы теории графов, одного из бурно
развивающихся в настоящее время разделов математики. Издание рассчитано в
основном на учителей математики и информатики. После каждой главы в разделе
«Комментарии» подробно обсуждается изложенное, предлагаются методические
приемы обучения, обращается внимание на трудности и возможные ошибки
учащихся. Подробно решенные в книге задачи рассматриваются также с
методической точки зрения. Показано, как простые задачи не только помогают закрепить
материал, но и могут использоваться как исследовательские и служить развитию
логического мышления учащихся. Дана краткая история теории графов,
приведены сведения об ученых, сыгравших важную роль в ее развитии.
Помимо учителей, книга может быть использована школьниками и
студентами, а также служить для самообразования.
Формат 60x90/16. Печ. л. 15. Зак. № АЛ-974.
Отпечатано в ООО «ЛЕНАНД».
117312, Москва, пр-т Шестидесятилетия Октября, ПА, стр. 11.
ISBN 978-5-9710-4069-9
© ЛЕНАНД, 2017
19316 ID 218555
785971
040699
НАУЧНАЯ И УЧЕБНАЯ ЛИТЕРАТУРА
URSS
E-mail: URSS@URSS.ru
Каталог изданий в Интернете:
http://URSS.ru
Тел./факс (многоканальный):
+ 7 (499) 724 25 45
Все права защищены. Никакая часть настоящей книги не может быть воспроизведена или
передана в какой бы то ни было форме и какими бы то ни было средствами, будь то
электронные или механические, включая фотокопирование и запись на магнитный носитель,
а также размещение в Интернете, если на то нет письменного разрешения владельца.
Оглавление
Введение , 5
ГЛАВА 1. Основные понятия 8
§ 1. Определение графа, примеры графов... 8
§ 2. Способы задания графов 42
ГЛАВА 2. Связность 52
§ 3. Виды маршрутов в графах.
Связные и несвязные графы 52
§ 4. Вершинная и реберная связности 66
ГЛАВА 3. Деревья.. 78
§ 5. Эквивалентные определения дерева 78
§ 6. Минимальное остовное дерево 99
ГЛАВА 3. Обходы в графах 109
§ 7. Эйлеровы графы 109
§ 8. Гамильтоновы графы 121
ГЛАВА 4. Плоские и планарные графы 133
§ 9. Планарные графы 133
§ 10. Грани плоского графа. Формула Эйлера.
Критерий планарности графа 142
4 Оглавление
ГЛАВА 5. Раскраски графов 160
§11. Хроматическое число и хроматический
многочлен графа 160
§ 12. Раскраска планарных графов 172
ГЛАВА 6. Независимые множества 182
§13. Независимые множества вершин и ребер 182
ГЛАВА 7. Ориентированные графы 202
§ 14. Основные понятия. 202
§ 15. Турниры 213
Литература 218
Краткий очерк истории теории графов 219
Краткие сведения о математиках,
упоминающихся в книге 226
Предметный указатель 232
Введение
В последнее время вышло достаточно много книг по
теории графов различной сложности и для различных групп
читателей. (Далеко не полный список литературы приведем в конце
данной книги.) Среди этих книг имеются и пособия для
учителей. Однако меня эти пособия не удовлетворяют по нескольким
причинам.
Книги написаны нестрого, в основном без доказательств,
сведения о графах в них поверхностные и неглубокие. Наверно,
для первого знакомства с графами этого достаточно. Однако
учитель, ведущий факультатив для школьников, должен знать
больше, чем он рассказывает ученикам. Кроме того, на мой
взгляд, книги для учителей должны содержать методические
указания к изложению разных тем теории, но таких указаний в
существующих книгах немного.
Я являюсь автором более десятка книг по математике для
учащихся от 3-го до 11-го классов. Одни из этих книг полностью
посвящены графам, в других — элементы теории графов
рассматриваются в отдельных главах. С другой стороны, я знакомил
с графами школьников на факультативах тоже с третьего по
одиннадцатый классы и имею опыт работы с учениками,
который я решил изложить в этой книге.
Изложение материала каждого параграфа проводится по
следующей схеме. Подробно, с большим количеством рисунков
и примеров рассматривается теоретический материал. Затем в
разделе «Комментарии» обсуждается изложенное, предлагаются
различные методические приемы, обращается внимание на
особенности и трудные места учебного материала. В комментариях
даются другие доказательства или доказательства более простых
теорем. Учитель может выбирать материал и способ его
представления в зависимости от своих задач и уровня учеников.
6 Введение
В конце каждого параграфа приводится несколько задач с
подробным решением. Они рассматриваются с методической
точки зрения. В них показано, как задачи не только помогают
закрепить материал, но и развивают логическое мышление
учащихся. Школьников нужно учить применять логические
операции: индукцию, дедукцию, сравнение, обобщение,
абстрагирование и т. д. Кроме того, в книге приведены примеры, когда даже
простые задачи рассматриваются как исследовательские. Я считаю,
что главная цель школьного математического образования —
обучение учащихся думать. Ведь конкретные математические
знания понадобятся только математикам-профессионалам,
учителям математики и репетиторам, а вот умение принимать
правильные решения в любых обстоятельствах будет помогать всю
сознательную жизнь и рабочему, и фермеру, и политику, и
юристу, и писателю.
В книге отсутствуют упражнения и задачи для решения. Это
связано с тем, что существуют две книги «Незнайка в стране
графов» и «Теория графов в занимательных задачах», в которых
помещено более 250 задач по теории графов различной степени
сложности с подробным их решением. В этих же книгах
приведены примеры сведения различных задач, как занимательных,
так и производственных, к графовым моделям. В конце каждого
параграфа «Теории графов для учеников и учителей» дан список
задач из упомянутых книг для закрепления материала.
Поскольку я считаю, что учитель обязан знать не только
предлагаемый материал, но и историю соответствующего раздела
математики, то в конце настоящей книги приводится небольшой
очерк истории теории графов и краткие сведения о математиках,
упоминающихся в книге.
В настоящее время готовится книга «Теория графов для
учеников и учителей информатики».
Новая книга может служить для самостоятельного знакомства
с теорией графов. Она также окажет большую помощь учителям
при проведении факультативов в различных классах.
Введение 7
Изучение элементов теории графов послужит развитию
математической культуры школьников, повысит их шансы на
олимпиадах и подготовит к восприятию дискретных
математических дисциплин в вузах.
Хочу выразить большую признательность Юрию
Михайловичу Метельскому проведшему качественное редактирование
текста книги.
ГЛАВА 1 Основные понятия
§ 1. Определение графа, примеры графов
Рассмотрим любое непустое множество V, V® — множество
всех его двухэлементных подмножеств. Пусть Ε — любое
подмножество множества V^2\ Тогда пара (V, Е) называется графом.
Элементы множества V называются вершинами графа, а
элементы множества Ε —ребрами графа. Графы обычно обозначаются
буквами G, F или Η (возможны и другие обозначения).
Множество вершин графа G обозначается VG, а множество его ребер —
EG. Обычно число вершин графа обозначается буквой и, а число
ребер — т.
Рассмотрим пример. В качестве множества вершин V
возьмем множество целых чисел {1, 2, 3, 4, 5}. Тогда ^2) = {{1, 2},
{1, 3}, {1, 4}, {1, 5}, {2, 3}, {25 4}, {2, 5}, {3, 4}, {3, 5}, {4, 5}}.
(Наиболее часто для обозначения вершин графа используются
цифры или латинские буквы, если нужно, с индексами.)
Обратим ваше внимание на то, что пары {а, Ъ} и {Ъ, а)
являются одинаковыми.
Если мы теперь зададим множество Е, то получим граф.
Пусть Е= {еи е2, еЪь е4}> где ребра е{ = {1, 2}, е2 = {2, 3}, еъ =■■ {3, 4},
е4 = {4, 2}. Итак, мы задали граф G = (V, £), где К= {1, 2, 3, 4, 5},
иЕ={еие2,ез9е4}.
Графы удобно изображать в виде рисунков, состоящих из
точек и линий, соединяющих некоторые пары линий. При этом
точки соответствуют вершинам графа, а соединяющие пары точек
линии — ребрам. Заданный ранее граф G изображен на рис. 1.1.
Граф можно изобразить не одним, а многими рисунками.
Например, заданный ранее граф G можно нарисовать и так (см.
рис. 1.2, на котором обозначены только вершины).
§ 1. Определение графа, примеры графов
Рис. 1.1
Рис. 1.2
Две вершины и и ν графа называются смежными, если
множество е = {и, ν} является ребром. Вершины и и ν в этом случае
называются концами ребра е. Если множество е = {и, ν} не
является ребром, то вершины и и ν называются несмежными. Два
ребра называются смежными, если они имеют общий конец.
В дальнейшем вместо обозначения ребра е = {и, ν} будем
писать е = (и, ν).
Вершина ν и ребро е называются инцидентными, если ν
является концом е, т. е. е = (и, ν).
Степенью вершины называется число ребер, выходящих из
вершины. Степень вершины ν будем обозначать degiy) или d(v).
Вершина степени 0 называется изолированной, вершина степени
1 — висячей. Ребро, инцидентное висячей вершине также
называется висячим.
Проиллюстрируем введенные определения на примере
графа G, изображенного на рис. 1.1. Для этого графа вершина 4
10 Глава 1. Основные понятия (§ 1-2)
является смежной вершинам 2 и 3 и несмежной вершинам 1 и 5.
Концами ребра ег'будут вершины 2 и 3. Вершина 2 инцидентна
ребрам ей в2, е^ Ребра в2 и е3 являются смежными, так как они
имеют общий конец, вершину 3. У графа G следующие степени
вершин: d(l)=l, d(2) = 3, d(3) = d(4) = 2, d(5) = 0. Вершина 5
является изолированной, вершина 1 —висячей.
Теорема 1.1. Сумма степеней вершин графа равна
удвоенному числу ребер.
Доказательство. Каждое ребро имеет два конца, поэтому
вносит по единице в степени вершин, являющихся его концами,
а при суммировании степеней вносит слагаемое 2 в общую
сумму. Следовательно, общая сумма степеней будет равна
удвоенному числу ребер.
Теорема доказана. ■
В литературе доказанная теорема носит название «лемма о
рукопожатиях». Возможная интерпретация ее такова: поскольку
в каждом рукопожатии участвуют две руки, то общее число
пожатых рук (при этом каждая рука учитывается столько раз, во
скольких рукопожатиях она участвовала) равно удвоенному
числу рукопожатий.
Следствие 1.1. Сумма степеней вершин графа — четное
число.
Следствие 1.2. В любом графе число вершин нечетной
степени четно.
Второе следствие легко доказывается от противного.
Приведем примеры некоторых графов специального вида.
Граф G называется полным, если любые две его вершины
смежны, т. е. соединены ребром. Полный граф с η вершинами
обозначается Кп. На рис. 1.3 изображены графы К„ при η < 5.
§ 1. Определение графа, примеры графов
11
к, к. к3 к<
Рис. 1.3
К
Теорема 1.2. Число ребер в полном графе с η вершинами
п{п -1)
равно
Доказательство. В графе из каждой из η вершин выходит
по (п-\) ребер. Рассмотрим произведение w-(w-l). В этом
произведении каждое ребро е = (и, ν) учитывается дважды: один
раз как выходящее из вершины и, а другой раз, как выходящее из
вершины v. Поэтому число ребер в графе Кп равно — .
Теорема доказана. ■
Граф называется пустым, если в нем нет ребер. Пустой граф
с η вершинами обозначается Оп.
На рис. 1.4 показаны простые цепи Рт а на рис. 1.5 —
простые циклы Сп (η = 3, 4, 5, где η — число вершин в графах).
(Определения этих графов будут даны позже.)
Граф называется регулярным степени г, если все его
вершины имеют степень г. Иногда такой граф называют просто
регулярным.
JPo
Ра
Рис. 1.4
12 . Глава 1. Основные понятия (§ 1-2)
Легко описываются регулярные графы малых степеней.
Регулярный граф степени 0 — это пустой граф, регулярный граф
степени 1 — объединение графов Κι (см. рис. 1.6), регулярный
граф степени 2 — объединение различных циклов (см. рис. 1.7).
Примером регулярного графа степени η является граф Кп+[.
Красивыми примерами регулярных графов являются графы
пяти Платоновых тел (т. е. правильных многогранников):
тетраэдра, куба, октаэдра, додекаэдра, икосаэдра (см. рис. 1.8).
В § 10 будет показано, что других правильных многогранников
не существует.
Граф называется двудольным, если существует такое
разбиение множества его вершин на две части (доли), что концы
каждого ребра принадлежат разным частям.
А □ О
Рис. 1.5
Рис. 1.6
ΔΔΠΟ
Рис. 1.7
§ 1. Определение графа, примеры графов
13
Тетраэдр
FZZ7]
1/-Ί
Куб
Октаэдр
Додекаэдр
Икосаэдр
Рис. 1.8
14
Глава 1. Основные понятия (§ 1-2)
На рис. 1.9 изображены два различных двудольных графа
(Вершины одной доли помечены I, второй — П.)
G2
Рис. 1.9
Теорема 1.3. Суммы степеней вершин двудольного графа
равны.
Доказательство. Пусть vi, уг, ..., ν* — вершины одной доли,
а щ9 щ, ..., ир — вершины другой доли. Тогда вершинам одной
доли инцидентны d(v\) + dfa) + ... + d(vk) ребер, а другой —
d(u\) + d{ui) + ... + d(Up) ребер. Равенство сумм следует из того,
что это одни и те же ребра.
Теорема доказана. ■
Если две любые вершины, входящие в различные доли
двудольного графа, смежны, то граф называется полным двудольным.
Полный двудольный граф, доли которого состоят изрид вершин,
обозначается символом Kp/t Граф Κ\# называется звездой.
На рис. 1.10 изображены несколько полных двудольных
графов.
Рис. 1.10
§ 1. Определение графа, примеры графов
15
Обратите внимание, что один граф может иметь разные
обозначения.
Аналогично двудольным графам определяются к-долъные и
полные k-долъные графы. На рис. 1.11 изображен трехдольный
граф с указанием разбиения его вершин на доли.
Интересно, а сколько всего различных графов?
Граф с η вершинами называется помеченным, если его
вершинам присвоены номера 1,2, ..., и.
Граф G, изображенный на рис. 1.1, является помеченным.
Если же все номера вершин (и ребер) убрать, то граф G
становится непомеченным (рис. 1.12).
Рис. 1.12
Два помеченных графа считаются различными, если
существует хотя бы одна такая пара вершин / uj\ что в одном графе
эти вершины образуют ребро, а во втором— нет.
16
Глава 1. Основные понятия (§ 1-2)
Помеченные графы G\ и G2, изображенные на рис. 1.13,
являются одинаковыми, а помеченные графы G3 и G4 — различными.
G,
5 4
Go
Рис. 1.13
Теорема 1.4. Число помеченных графов с η вершинами равно
2 , где к =
_ п{п-Х)
Доказательство. Рассмотрим две произвольные вершины
и и ν графа. Есть ровно две возможности: эти вершины или
соединены ребром, или эти вершины не соединены ребром. Такие воз-
п(п-\)
можности имеются у всех к = пар вершин (это макси-
£*
мально возможное число ребер в графе с η вершинами). Поэтому
число всех помеченных графов с η вершинами равно 2к.
Теорема доказана. ■
А сколько будет различных непомеченных графов с η
вершинами?
Два непомеченных графа называются изоморфными, если
вершины каждого графа можно занумеровать так, что если
какие-то две вершины будут смежны в одном графе, то вершины с
теми же номерами будут смежны в другом.
Если графы G и Я изоморфны, то это обознается так: G = Н.
Очевидно, что если G = Н, то Η = G, что если G = Η и Η = F,
toG^F.
§ 1. Определение графа, примеры графов 17
На рис. 1.14 изображены три изоморфных графа с нужной
нумерацией вершин.
14 1 4
3* ^*6 (Г 2
Рис. 1.14
Можно сказать, то изоморфные графы — это различные
изображения одного и того непомеченного графа.
Задача определения изоморфизма графов является весьма
важной как для теории, так и для практики. С одной стороны, в
каждой теории нужно уметь различать разные объекты и
определять одинаковые. С другой стороны, задача определения
изоморфизма часто встречается при решении научных, экономических и
технических задач. Однако эффективного алгоритма
определения, изоморфны ли графы, пока не известно.
Два изоморфных непомеченных графа будем считать
одинаковыми, а два неизоморфных — различными. Очевидно, что
непомеченных графов меньше, поскольку разные помеченные графы
могут стать одинаковыми при удалении пометок (см. рис. 1.15).
ф_ · φ φ · φ . φ φ φ
1 2 3 13 2 2 13
φ φ _φ
Рис. 1.15
Интуитивно ясно, что будет непомеченных графов будет
«примерно» в п\ раз меньше чем помеченных, так как существует
ровно п\ пометок множества состоящею из η вершин. Однако
18 Глава 1. Основные понятия (§ 1-2)
это не означает, что из любого непомеченного графа получается
ровно п\ помеченных. Например, простая цепь Рз порождает
три, а не шесть помеченных графов (см. рис. 1.15; напоминаем
что для графов имеет значение не как расположены вершины и
ребра, а какие вершины соединены между собой ребрами,
поэтому на рис. 1.16 изображены одинаковые помеченные графы).
2 1 3 3 1 2
Рис. 1.16
Но, тем не менее, большинство непомеченных графов
приводит к п\ помеченным. Известна формула Пойа, утверждающая,
что число непомеченных графов с увеличением числа вершин η
Г- rsk, . 7 П(П~\)
приближается к 2 /«!, где к = .
Вернемся к определению графа. Существуют объекты,
которые не являются графами, но очень близки к ним. Рассмотрим их.
В графе каждая пара вершин соединяется не более чем
одним ребром. Если допустить, что между двумя вершинами
можно проводить более одного ребра, то получается объект
называемый мулыпиграфом. Ребра, проведенные между двумя
вершинами, называются кратными.
В графе каждое ребро соединяет разные вершины.
Предположим, что существует ребро, соединяющее вершину саму с
собой. Такое ребро будем называть петлей. Псевдограф это «граф»,
в котором допускается существование кратных ребер и петель.
На рис. 1.17 изображены мультиграф и псевдограф.
Рис. 1.17
§ 1. Определение графа, примеры графов 19
В определении графа пары вершин (и, ν) и (ν, и) обозначают
одно и то же ребро. Если же считать, что это разные ребра, то
получается новый объект называемый ориентированным
графом или орграфом. В этом случае ребро (и, ν) называется
ориентированным ребром или дугой. Вершина и называется
началом дуги, а вершина ν — концом дуги. На рисунке дуги
изображаются линиями со стрелками, указывающими направление от
начала дуги к ее концу (см. рис. 1.18).
Ос
Рис. 1.18
Ориентированным графам в книге посвящена глава.
Рассмотрим еще одно обобщение графа. Если мы будем
рассматривать объекты, в которых любое ребро может содержать не
обязательно две вершины, как в графе, а произвольное число
вершин, то получим новый объект, называемый гиперграфом.
Пусть V— конечное непустое множество, Ε — некоторое
семейство непустых (необязательно различных) подмножеств
множества V. Тогда пара (V, Е) называется гиперграфом с
множеством вершин V и семейством гиперребер Е.
Заметим* что граф можно рассматривать как гиперграф, в
котором каждое гиперребро имеет ровно две вершины.
Приведем пример гиперграфа Я, в котором множество
вершин V= {vi, V2, v3, v4, V5, V6, v7, v8}, а семейство гиперребер
Ε = {e\9 е2, е3, е4, е5, е6}, где ех = {vb v2, v3}, e2 = {v2, v4, v5},
еъ = {v5, v7, v8}, e4 = {v4, v5, v7}, e5 = {v3, v8}, e6 = {v6}.
На рисунке ребро гиперграфа удобно изображать сплошной
линией все его вершины, если их число больше двух или равно
единице. Если же ребро состоит из двух вершин, то его
изображают линией, соединяющей эти вершины. На рис. 1.19
изображен гиперграф Я, рассмотренный ранее.
20 Глава 1. Основные понятия (§ 1-2)
Рис. 1.19
Для произвольного графа G следующим образом
определяется дополнительный граф G. Вершины графа G совпадают с
вершинами графа G, и любые две несовпадающие вершины
смежны в графе G тогда и только тогда, когда они не смежны в
графе G (см. рис. 1.20).
2 1 2
4 5 4
Рис. 1.20
Очевидно, что G = G, и графы G и Η изоморфны тогда и
только тогда, когда изоморфны графы G и Я.
Граф Η называется подграфом графа G, если вершины и
ребра графа Η принадлежат графу G Подграф Я называется ос-
товным подграфом, если его вершины совпадают с вершинами
графа G. Если множество вершин подграфа Η есть С/, а множе-
Θ
§ 1. Определение графа, примеры графов 21
ство его ребер совпадает с множеством всех ребер графа G, оба
конца которых принадлежат С/, то Я называется подграфом, по-
роэюденным множеством U, и обозначается G{U).
На рис. 1.21 изображены граф G и три его подграфа, причем
подграф #2 является остовным, а подграф #3, подграфом,
порожденным множеством вершин {1, 2, 3, 5}.
12 3123 123 1 2 3
456 56 456 5
G #1 #2 #3
Рис. 1.21
Подграф графа, который является полным графом,
называется кликой.
Мы часто будем пользоваться операциями удаления из графа
его вершин или ребер. Удалить вершину ν из графа G означает
получить из него новый граф, в котором будет отсутствовать
вершина ν и все инцидентные ей ребра. Удалить ребро е из
графа G означает получить из него новый граф, в котором будет
отсутствовать ребро е. (Концы ребра при этой операции остаются
в новом графе.) Графы, которые получились после удаления из
графа G после удаления вершины ν и ребра е обозначаются G - ν
и G - £, соответственно.
Пусть V — некоторое подмножество вершин графа G
(УФ-VG). Удалить вершины множества V т графа G означает
получить из него новый граф, в котором будет отсутствовать
вершины множества V и все инцидентные им ребра. Такие
графы обозначаются G - V.
На рис. 1.22 изображен граф G и графы, полученные из него
после удаления вершины 2, ребра (1, 4) и множества вершин
^={3,4,5}.
22
Глава 1. Основные понятия (§ 1-2)
1
4 5 6
G2 = G-(1,4)
G3 = G-{3,4,5}
Рис. 1.22
Рассмотрим еще одну известную нерешенную задачу теории
графов.
Пусть G — граф, содержащий η вершин, которые
занумеруем числами от 1 до п. Затем построим графы G,- = G- i для
каждого i от 1 до и, т. е. из графа G поочередно удалим каждую
вершину (см. рис. 1.23).
>
2 2
G G,=G-1 G2 = G-2
Рис. 1.23
ft = G-3 G4 = G-4
Стерев в подграфах G/ номера вершин, получим набор графов
Gk= (Gi, G2, ..., G„),
который называется колодой (см. рис. 1.24).
Gi
σ2
(?з
Рис. 1.24
<?4
Обратите внимание, что если в колоде G^ поменять порядок
графов или если какой-либо граф колоды заменить на изоморфг
ный граф, то получится та же колода G#.
§ 1. Определение графа, примеры графов 23
Гипотеза Улама (1943 г.). Пусть граф G имеет больше двух
вершин. Тогда по колоде Gk можно восстановить только граф G.
Если граф имеет ровно две вершины, то гипотеза Улама не
верна. Колоды графов К2 и 02 совпадают (см. рис. 1.25).
Рис. 1.25
КОММЕНТАРИИ
с
Данное выше определение графа будет трудным для
школьников и возможно лишь на факультативах в старших классах для
учеников повышенного уровня.
В школе удобнее пользоваться упрощенным определением.
Рассмотрим множество точек, расположенных на плоскости
(на листе бумаги, на доске, в пространстве и т. д.), некоторые
пары из которых соединены линией. Полученное изображение
(рисунок, чертеж и т. д.) будем называть графом. При этом точки
называются вершинами графа, а линии —ребрами графа.
Такое определение понятно ученикам, оно наглядно, с ним
удобно работать, однако оно приводит к некоторым вопросам.
На самом деле мы пользуемся изображением графа, но один
граф может быть изображен по-разному. У учеников при
изображении одного и того же графа будут получаться различные
рисунки. Какие же графы тогда считать одинаковыми
(равными)? Учитель должен объяснить школьникам, что при
изображении графа не важно, как расположены точки и как проведены
линии, а какие точки соединены друг с другом.
24 Глава 1. Основные понятия (§ 1-2)
Следовательно, если графы помечены, то одинаковыми
считаются графы, у которых совпадают множества вершин и ребер.
Если графы не помечены, то одинаковыми считаются
изоморфные графы.
Некоторая нестрогость приведенного определения для
школьников полностью искупается удобством его использования.
Похожим образом можно дать при необходимости более
удобное и простое для школьников определение гиперграфа.
В случае, когда вершины и и ν смежны, можно говорить, что
эти вершины соединены ребром, а если ребро е и вершина ν
инцидентны, что ребро е выходит из вершины v. Два ребра будем
называть смежными, если они выходят из одной вершины.
Возможно для школьников более удобным будет следующее
Доказательство теоремы 1.1. Удалим из графа все ребра.
В получившемся графе степени всех вершин равны 0 и их сумма
степеней также равна 0.
Теперь будем по очереди возвращать удаленные ребра.
После возвращения первого ребра в получившемся графе ровно две
вершины имеют степень 1, а остальные —степень 0; Общая
сумма степеней этого графа равна 2.
Поскольку каждое ребро имеет два конца, то его
возвращение в граф увеличивает сумму степеней вершин на 2.
Следовательно, возвращение всех ребер делает сумму степеней вершин
равной удвоенному числу ребер.
Теорема доказана. ■
Приведенные доказательства близки друг к другу, но первое
более «абстрактное», а второе более «конкретное», более
«алгоритмическое». Фактически, это доказательство по индукции.
Второе доказательство лучше воспринимается в младших и
средних классах, так как математика в этих классах, в основном,
направлена на усвоение учениками алгоритмических приемов
вычислений.
Для иллюстрации доказательства теоремы 1.2 учитель
может, изобразив на доске граф с небольшим числом вершин,
§ 1. Определение графа, примеры графов 25
по очереди соединять каждую вершину ребрами со всеми
остальными вершинам (см. рис. 1.26, на котором изображен
момент, когда в будущем полном графе К5 ребра уже проведены из
вершин 1, 2 и 3, но еще не проведены из вершин 4 и 5). В этом
случае ученикам будет легче понять, почему произведение п(п - 1)
нужно делить на 2.
Рис. 1.26
Возможно и второе доказательство теоремы 1.2.
Построим граф Кп следующим образом. Возьмем η вершин.
Проведя (п - 1) ребро, соединим первую вершину ребрами со
всеми остальными. Затем, проведя (п - 2) ребра, соединим
вторую вершину ребрами со всеми остальными (с первой она была
соединена ранее). Третья вершина уже соединена с первой и
второй. Поэтому, проведя (п - 3) ребра, соединим ее ребрами
с остальными вершинами. Продолжим этот процесс до
получения полного графа. Всего мы проведем (и-1) + (и-'2) +
+ (п - 3) + ... + 2■+ 1 ребер. Сумму полученного выражения
можно определить, например, как сумму арифметической про-
п{п -1)
грессии. Она равна — .
Теорема доказана. ■
Доказательство теоремы 1.2 можно использовать для
иллюстрации применения математической индукции.
26
Глава 1. Основные понятия (§ 1-2)
Доказательство. Проверим выполнение утверждения для
графов с небольшим числом вершин. Пусть утверждение
выполняется для графа с (п - 1) вершиной, и докажем его для графа
G с η вершинами. Удалим из графа G одну вершину вместе с
выходящими из нее ребрами. По индуктивному предположению
w , {η - 1)(и - 2)
полученный граф содержит - ребер.
±*
Добавим удаленную ранее вершину вместе с ребрами, полу-
- „ (п-\)(п-2) , 1Ч п{п-\) г
чим в графе G -——— + (п - I) = — ребер.
Теорема доказана. ■
Учитель имеет возможность выбрать любое доказательство
в зависимости от своих целей.
При рассмотрении определения двудольного графа следует
обратить внимание на следующее.
Очевидно, что графы G\ и G2, изображенные на рис. 1.6,
являются двудольными. На первый взгляд граф G на рис. 1.27
Рис. 1.28
§ 1. Определение графа, примеры графов 27
не является двудольным. Однако его вершины можно разбить
нужным образом (см. рис. 1.28), поэтому он также двудольный.
Можно предложить другое изображение графа G, с
помощью которого его двудольность становится очевидной.
5 7 3
Рис. 1.29
На этом примере можно еще раз обратить внимание
учеников, что свойства графа не зависят от его изображения.
А вот требуемое разбиение вершин графа, изображенного на
рисунке не возможно, поэтому этот граф не двудольный.
4 5 6
Рис. 1.30
Действительно, если мы отнесем вершину 1 к доле I, то
вершины 4 и 5, смежные с вершиной 1, мы должны отнести к
доле П. Однако эти вершины соединены ребром. Следовательно,
нужное разбиение не существует и рассматриваемый граф не
двудольный.
При доказательстве теоремы 1.3 для школьников можно
вместо слов «вершинам одной доли инцидентны d(y\) + dfa) +
+ ... + d{vk) ребер» говорить «из одной доли выходит d(y\) +
+ а(уг) + ... + d(vk) ребер».
28
Глава 1. Основные понятия (§ 1-2)
Теорему 1.3 можно, как и теорему 1.1 доказывать
«индуктивно», добавляя на каждом шаге по одному ребру и
отмечая при этом равенство на этих шагах сумм степеней вершин
долей.
В средних классах можно построить все помеченные графы
с небольшим количеством вершин (тремя или четырьмя).
Построим все помеченные графы с тремя вершинами.
Согласно теореме 1.4 их должно быть 23(3~1)/2 = 23 = 8.
Вершины графа G занумерованы числами 1, 2, 3; возможные
ребра: (1, 2), (1, 3) и (2, 3). Рассмотрим ребро (1, 2), оно может
быть, но может и не быть в графе. Обозначим это следующим
образом.
в Gecib
ребро (1, 2)
в Ghct
ребра (1, 2)
Рис. 1.31
После реализации любой из этих возможностей в графе
может оказаться, но может и не оказаться ребро (1, 3).
Обозначим это так.
в G есть
ребро (1,2)
в бнет
ребра (1,2)
в G есть
ребро (1,3)
/
ребра (1, 3)
\
ребро (1, 3)
/
в Ghqt
ребра (1, 3)
Рис. 1.32
§ 1. Определение графа, примеры графов
29
После реализации любой из этих четырех возможностей
в графе может оказаться, но может и не оказаться ребро (2, 3)
(см. рис. 1.33). Граф Т, изображенный на этом рисунке,
описывает процесс построения всех помеченных графов с тремя
вершинами, а висячие вершины графа Τ соответствуют различным
помеченным графам с тремя вершинами.
в графе есть
ребро (1,2)
в графе есть
ребро (1,3)
в графе нет
ребра (1,2)
в графе нет
ребра (1,3)
выесть вСнет выесть вСнет вЯесть вСнет выесть вСнет
р. (2, 3) р. (2, 3) р. (2, 3) р. (2, 3) р. (2, 3) р. (2, 3) р. (2, 3) р. (2, 3)
:/\з 2ё\ъ Ъ1—+Ъ 42 ·3 2·—Ц 2· \з
1·
ί
Рис. 1.33
Задачи
• Задача 1.1. Шахматный турнир проводится по круговой
системе. Это означает, что каждая пара участников
встречаются между собой один раз. В турнире участвуют шесть школь-
никое. Известно, что Максим сыграл 5 партий, Петя — 3, Коля и
Женя — по две, Леша и Ваня — по одной. С кем сыграл Коля?
30 Глава 1. Основные понятия (§ 1-2)
При решении производственных задач часто необходимо
перейти от неформализованной их постановки к
математической, т. е. построить математическую модель ситуации. Иногда
это нужно сделать и при решении учебных задач, особенно
текстовых.
Модель — это искусственно созданный упрощенный аналог
реально существующего объекта (системы, ситуации или
явления), передающий его главные особенности и отбрасывающий
второстепенные. Модель создается для изучения реального
объекта. (Иногда модели создаются для изучения гипотетических
объектов или ситуаций. Например, в начале XX века
существовало несколько моделей строения атома, о котором почти ничего
не было известно. Сейчас строятся прогностические модели
развития экономической ситуации в мире, от правильности
которых зависит будущая жизнь многих стран.) Если объекты или
ситуации описываются с помощью математических средств, то
мы имеем дело с математическими моделями,
В этой книге рассматриваются только графовые модели, в
которых ситуации описываются с помощью графов.
Занятия школьного факультатива по теории графов следует
начинать с построения простейших графовых моделей ситуаций,
описываемых в занимательных задачах.
Решение задачи 1.1. Построим граф, описывающий
ситуацию, заданную в условии задачи. Поставим в соответствие
каждому участнику турнира вершину графа, и две вершины будет
соединять ребро, если соответствующие им участники сыграли
между собой.
Учитель должен обратить внимание учащихся, что не важно,
сколько лет участникам турнира, как они выглядят, как
завершилась встреча между ними. В этой задаче главное: встречались
участники или нет.
Поскольку Максим сыграл 5 партий, т. е. со всеми
остальными участниками, то соединим соответствующую Максиму
вершину графа с остальными вершинами. Отметим знаком О
§ 1. Определение графа, примеры графов 31
вершины, соответствующие участникам, все сыгранные партии
которых учтены в графе (см. рис. 1.34).
Π К Ж Л В
Рис. 1.34
Для Пети, который сыграл три партии, одна уже учтена на
схеме. Оставшиеся две партии он может сыграть только с Колей
и Женей. Покажем это (см. рис. 1.35).
Рис. 1.35
На рисунке учтены все партии сыгранные участниками.
Поэтому Коля сыграл с Максимом и Петей. Задача решена. ■
Изменим немного условие задачи.
• Задача 1.1а. Шахматный турнир проводится по круговой
системе. Это означает, что каждая пара участников
встречаются между собой один раз. В турнире участвуют шесть
школьников. Известно, что Максим сыграл 5 партий, Петя — 3,
Женя — 2, Леша и Ваня — по одной. С кем сыграл Коля?
32 Глава 1. Основные понятия (§ 1-2)
Решение задачи 1.1а.
Задача решается точно так, как предыдущая.
Условия задачи изменились: сейчас неизвестно, сколько
партий в турнире сыграл Коля. Однако все сыгранные партии
остальных игроков отмечены на рисунке. Значит Коля тоже сыграл
все свои партии (см. рис. 1.35а). Поэтому Коля сыграл с
Максимом и Петей. Задача решена. ■
Рис. 1.35а
• Задача 1.16. Шахматный турнир проводится по круговой
системе. Это означает, что каждая пара участников
встречаются между собой один раз. В турнире участвуют шесть
школьников. Известно, что Максим сыграл 5 партий, Петя — 3,
Лейла и Ваня — по одной. С кем сыграл Коля?
Решение задачи 1.16.
Задача решается точно так, как предыдущая.
Условия задачи опять изменились: сейчас неизвестно,
сколько партий в турнире сыграли Коля и Женя.
Есть две возможности.
1) Если Коля и Женя сыграли по две партии, то Коля играл с
Максимом и Петей.
2) Если Коля и Женя сыграли по три партии, то Коля играл с
Максимом, Петей и Женей (см. рис. 1.356).
Задача решена. ■
§ 1. Определение графа, примеры графов 33
При обучении математике в школе должны использоваться
текстовые задачи, в которых представлена не вся информация о
ситуации. Это потребует у учащихся определенных усилий по
анализу различных возможностей и поиску решения при
дополнительных условиях. Конечно, такие задачи не должны быть
перегружены неопределенностями. Последняя задача и является
примером такой задачи.
• Задача 1.2. В футбольном турнире 12 команд сыграли 4
тура: каждая команда сыграла с А разными командами.
Докажите, что найдутся 3 команды, пока не сыгравшие между собой
ни одного матча.
Решение задачи 1.2. Так как и в предыдущей задаче
обозначим команды вершинами графа, а две вершины будут соединены
ребром, если соответствующие им команды провели встречу.
Учителю следует обучать учащихся переходить от
занимательной постановки задачи к графовой. Для этой задачи она
будет такой: Доказать, что регулярный граф степени 4 с
десятью вершинами содержит три вершины, порождающие
пустой граф.
Рассмотрим произвольную вершину и, которая будет смежна
с четырьмя вершинами: щ, ... щ. Эта вершина не смежна с
множеством вершин V, содержащем 7 вершин. Рассмотрим вершину
ν из множества V. Она не будет смежна хотя бы с двумя
вершинами w\ и W2 из множества W, содержащегося в множестве V
(см. рис. 1.36).
34 Глава 1. Основные понятия (§ 1-2)
Рис. 1.36
Вершины и, ν и w\ образую нужную тройку вершин. Также
попарно несмежны вершины и, ν и w2. Эти тройки вершин
определяют нужные команды. Задача решена. ■
Учителю нужно по мере возможности исследовать ситуации,
описанные в задачах.
Изменим условие задачи.
• Задача 1.2а. В футбольном турнире И команд сыграли
4 тура: каждая команда сыграла с 4 разными командами.
Докажите, что найдутся 3 команды, пока не сыгравшие между
собой ни одного матча.
Ученики сразу проводят такие рассуждения, как в исходной
задаче. Отличие заключается лишь в том, что множество W
может состоять из одной вершины.
После этого следует продолжить изменение условий задачи.
• Задача 1.26. В футбольном турнире 10 команд сыграли
4 тура: каждая команда сыграла с 4 разными командами.
Всегда ли найдутся ли три команды 3 команды, пока не сыгравшие
между собой ни одного матча.
§ 1. Определение графа, примеры графов 35
Как правило, ученики делятся на две группы.
Одни из них приводят пример графов, в которых нужные
вершины существуют. Следует указать им, что они
невнимательно прочитали условие задачи и не обратили внимание на
слово «всегда».
Вторая группа говорит о том, что решении задачи с
помощью примененного ранее способа множество W окажется
пустым, и поэтому трех нужных вершин не найдется.
Таким ученикам следует ответить: да, это так, но это говорит
лишь о том, что способ не пригоден. Нужно или найти другой
способ решения, или привести пример, когда вершин нет.
Пример привести нетрудно: это граф, являющийся объединением
двух графов К$.
Ученик должен понимать, что выполнение некоторого
свойства для конкретных объектов {графов) из некоторого
множества (пусть даже для очень большого количества объектов) не
является доказательством выполнения этого свойства для всех
объектов (графов), а для доказательства невыполнения этого
свойства достаточно привесим только один пример.
• Задача 1.3. В шахматном турнире по круговой системе, в
котором участвуют 5 школьников, сыграно 6 партий. Больше
всех встреч провели Ваня и Миша — по 3, остальные участники
меньше. Какое число партий сыграл участник, проведший
наименьшее число встреч?
Обычно при решении этой задачи школьники сразу
начинают рисовать графы, имеющие 5 вершин и 6 ребер, степень ровно
две вершин которых равна 3. Поскольку параметры графа
небольшие, то число нужных графов невелико, и всех их
нарисовать и получить правильный ответ нетрудно. Но ученики
практически никогда не могут доказать, что они рассмотрели все
возможные варианты.
Перебор при решении графовых задач — естественный
способ решения. Однако перебор должен быть направленным и
аккуратным, в противном случае некоторые варианты могут быть
пропущены.
36 Глава 1. Основные понятия (§ 1-2)
При решении следует проводить декомпозицию, т. е.
разбиение задачи на подзадачи по какому-то признаку.
Решение задачи 1.3. Как и раньше опишем ситуации,
происходящие на турнире, графами.
Первая декомпозиция. Рассмотрим два случая: 1) Ваня и
Миша не играли друг с другом; 2) Ваня и Миша играли друг с другом.
1) В этом случае каждый из остальных участников провел по
две встречи (см. рис. 1.37).
Рис. 1.37
2) Вторая декомпозиция. Рассмотрим два подслучая: 2а)
существует участник не встречавшийся ни с Ваней, ни с Мишей;
26) каждый участник встретился либо с Ваней, либо с
Мишей (а может с каждым из них).
2а) Этот случай невозможен, поскольку, проведя шестое ребро,
мы получим противоречие с условием задачи, так будет
еще участник, также сыгравший 3 встречи (см. рис. 1.38).
В,,.. Μ ,,-,
ψ
Рис. 1.38
§ 1. Определение графа, примеры графов 37
26) Поскольку Ваня и Миша провели с остальными тремя
участниками вместе 4 партии, то существует ровно один
участник, с которым сыграл и Ваня, и Миша.
Существует только одна возможность провести шестое ребро, не
нарушая условий задачи (см. рис. 1.39).
В М_
Рис. 1.39
Наименьшее число встреч, проведенных участником равно
двум. Задача решена. ■
• Задача 1 А. Докажите, что в группе из шести человек
всегда найдутся или три человека, знакомые между собой, или три
человека, не знакомые между собой.
Некоторые учащиеся пробуют решить задачу, перебирая
различные варианты проведения или непроведения ребер между
вершинами. Однако таких вариантов очень много, и
декомпозиция не приводит к решению.
Решение задачи 1.4. Рассмотрим граф, состоящий из шести
вершин, каждая из которых соответствует человеку. Если два
человека знакомы, соединим соответствующие им вершины
зеленым ребром, если не знакомы — красным. Мы получили
полный граф К6, ребра которого окрашены в зеленый и синий цвета.
Для решения задачи нужно показать, что существует
треугольник, вершинами которого являются вершины граф, а ребра
имеют один цвет.
38 Глава 1. Основные понятия (§ 1-2)
Рассмотрим произвольную вершину ν графа. Из нее выходит
5 ребер, окрашенных в два цвета. Для школьников следует
составить таблицу распределение цветов этих ребер:
Число зеленых ребер
Число красных рёбер
0
5
1
4
2
3
3
2
4
1
5
0
Таблица показывает, что из вершины выходит, по крайней
мере, три одноцветных ребра, допустим зеленых, (ν, νι), (ν, V2),
(ν, ν3) (см. рис. 1.40).
,, Vl
v2
V3
Рис. 1.40
Но в графе Кь окрашены все ребра. Если одна из пар вершин
νι, ν, V3 будет соединена зеленым ребром, то в графе будет
зеленый треугольник. В противном случае вершины νι, ν, ν3 и
соединяющие их ребра образуют красный треугольник.
Задача решена. ■
Подумаем, как можно развить эту задачу.
Первый вопрос, может быть утверждение задачи верно для
группы из пяти человек?
Для отрицательного ответа можно представить граф, ребра
которого окрашены двумя цветами, но одноцветных
треугольников нет (см. рис. 1.41).
§ 1. Определение графа, примеры графов 39
Рис. 1.41
Следующий вопрос, который можно задать, а сколько
одноцветных треугольников может быть в графе Кв с раскрашенными
ребрами?
• Задача 1.4а. Докажите, что в графе Кв, ребра которого
окрашены в красный и зеленый цвета существует два
треугольника, вершинами которого являются вершины графа, а ребра
имеют один цвет.
Решение задачи 1.4а. Из задачи 1.4 следует, что в
раскрашенном графе К6 существует один треугольник, пусть красный.
Рассмотрим вершину и, не принадлежащую треугольнику. Как
было доказано ранее, из нее выходит три одноцветных ребра.
Случай 1. Пусть эти три ребра окрашены в красный цвет
(рис. 1.42). (Для удобства цвет ребер будем обозначать
непосредственно на ребрах.)
к
и w
Рис. 1.42
40 Глава 1. Основные понятия (§ 1-2)
В этом случае существование второго одноцветного
треугольника доказывается так, как существование одноцветного
треугольника в задаче 1.4. Если из вершины и в вершины
красного треугольника идут два или три красных ребра, то мы
получаем еще один красный треугольник.
Случай 2. Пусть эти три ребра окрашены в зеленый цвет
(рис. 1.43).
а б в
Рис. 1.43
В случае 2а, представленном на рис. 1.43а существование
второго одноцветного треугольника доказывается так, как
существование одноцветного треугольника в задаче 1.4.
Рассмотрим случай 26, изображенный на рис. 1.436. Для
удобства обозначим вершины графа (см. рис. 1.44).
Рис. 1.44
§ 1. Определение графа, примеры графов 41^
Если ребро (2.5) зеленое, то треугольник (2, и, 5) зеленый. Пусть
оно красное. Если ребро (1, 5) зеленое, то треугольник (1, щ 5)
зеленый, а если оно красное, то треугольник (1, 2, 5) красный.
Рассмотрим случай 2в, изображенный на рис 1.43 в. Если одно
из ребер (и, 4) или (и, 5) зеленое, то мы придем к случаю,
изображенному на рис. 1.436. Пусть эти ребра будут красными. Для
того, чтобы в графе не оказалось красного треугольника, ребро
(4, 5) должно быть зеленым (рис. 1.45).
Рис. 1.45
Этот случай разобьем на два поделучая: 2ва - ребро (3, 5)
красное, и 2вЬ - ребро (3,5) - зеленое.
Рассмотрим подслучай 2ва (рис. 1.46). Попытаемся так
раскрашивать ребра графа, чтобы избежать одноцветных
треугольников. Поэтому ребро (1, 5) должно быть зеленым, ребро (1,4)
красным, ребро (2, 5) зеленым. Если теперь окрасим ребро (2,4)
в зеленый цвет, то получится зеленый треугольник (2, 5, 4), если
в красный, то красный треугольник (2,1,4). Избежать
одноцветного треугольника не удалось.
Решение этой задачи показывает, что проведение
декомпозиции - дело сложное, и требует внимательности, аккуратности
и терпения.
• Задача 1.46. Задан граф Κ\η, ребра которого раскрашены в
три цвета: красный, зеленый и синий. Докажите, что
существует треугольник, вершинами которого являются вершины
графа, и все стороны которого окрашены в один цвет.
Это задача 32 в книге [2].
42 Глава 1. Основные понятия (§ 1-2)
• Задача 1.5. Докажите, что число людей, э/сивших когда-либо
на Земле и сделавших нечетное число рукопожатий, четное.
Формулировка задачи вызывает большое количество
вопросов у учеников средних классов. Наиболее распространенные
из них: сколько людей жило на Земле, кто с кем здоровался, где
границе между обезьяной и первым человеком, из нее
произошедшим? (Обычно после последнего вопроса кто-нибудь из
учеников говорит, что обезьяны никакого отношения к людям не
имзют, поскольку человека создал бог.)
Учитель должен объяснить, что на эти вопросы невозможно
ответить, однако эта информация не нужна для решения.
Задачу можно задать еще до формулировки и доказательства
леммы о рукопожатиях, затем упростить ее условия, рассмотрев
вместо всех людей на Земле конкретную группу людей,
находящуюся, например, на собрании или в классе. Затем учитель
переходит к графовой модели и доказывает лемму. Решение задачи
следует непосредственно из леммы.
Учитель должен подчеркнуть, что в этом случае важно не то,
сколько человек жило на Земле, а то, что их число конечное.
Тем не менее, понимая все это, многие учащиеся чувствуют
себя обманутыми.
Задачи {Мельников О. И. Теория графов в занимательных
задачах. М.: URSS, 2017).
Определение графа, простейшие графовые модели: 1-4, 15-19.
Число ребер в полном графе: 5-11, 35.
Число графов: 12, 13.
Лемма о рукопожатиях: 45-57.
§ 2. Способы задания графов
Фактически два способа задания графов у нас уже были.
Первый способ: задание графа с помощью рисунка. Способ
отличается большой наглядностью и является основным на
занятиях по графам в школе. По рисунку можно визуально опре-
§ 2. Способы задания графов 43
делить особенности графа, некоторые его свойства. Рисунок
иногда подскажет направление исследований для решения
поставленной задачи. Анализируя рисунки графов, можно с
помощью конкретного примера опровергнуть выдвинутые ранее
гипотезы. Однако этот способ имеет и недостатки. Если граф
содержит большое число вершин и ребер, то его ребра будут
мешать друг другу при изображении, их часто трудно
нарисовать, не перепутав смежные и несмежные вершины. На
факультативах по информатике для решения задач применяют
алгоритмы, которые реализуются с помощью ЭВМ. Для этого граф
должен быть введен в ее память так, чтобы информацию о графе
можно было легко получать и перерабатывать при вычислениях.
Очевидно, что задание графа рисунком не самый лучший
способ для этого.
Второй способ: задание графа с помощью перечисления его
вершин и ребер. При этом способе теряется наглядность, и
поэтому его не рационально использовать для обучения
школьников теории графов. Вместе с тем, этот способ плохо
использовать и для обработки графов с помощью компьютера. Да, при
таком способе задания вся информация вводится в память ЭВМ,
однако она не упорядочена, и поиск элементов графа,
удовлетворяющих какому-нибудь признаку, например, поиск всех ребер,
выходящих из одной вершины, будет неэффективным.
Наиболее используемыми для решения задач с помощью
компьютера являются следующие два способа задания графа.
Пусть G — помеченный граф с η вершинами, VG ={1,2,...,/?}.
Определим матрицу A = A(G) по следующему правилу: элемент Ау
матрицы равен единице, если вершины / и у смежны, и равен 0 в
противном случае.
Матрица A(G) называется матрицей смежности графа G.
Это симметрическая матрица с нулями на диагонали. Число
единиц в каждой строке (или в каждом столбце) равно степени
вершины.
Матрица смежности графа G, изображенного на рис. 2.1
выглядит следующим образом:
44
Глава 1. Основные понятия (§ 1-2)
Рис. 2.1
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
0
Таким же способом с помощью матрицы смежности можно
задавать ориентированные графы. Ниже приведена матрица
смежности орграфа, изображенного на рис. 2.2.
Рис. 2.2
1
1
0
0
1
.0
0
1
1
0
0
0
0
0
0
0
§ 2. Способы задания графов
45
Матрица смежности мультиграфа будет отличаться от
матрицы смежности графа тем, что элемент Ац будет равен числу
ребер, соединяющих вершины / и у. В матрице смежности
псевдографа петлям будут соответствовать единицы на диагонали
матрицы. Матрицы смежности мультиграфа и псевдографа,
изображенных на рис. 2.3, выглядят так:
1
1
Рис. 2.3
0
3
0
0
3
0
0
1
0
0
0
2
0
1
2
0
0
2
0
0
2
0
0
1
0
0
0
2
0
1
2
1
Иногда в практических задачах ребрам графа приписаны
некоторые числа, например, числа обозначают длины путей или
стоимости перевозки товаров между пунктами. В этом случае
соответствующий элемент матрицы, задающей граф, будет равен
такому числу.
46 Глава 1. Основные понятия (§ 1-2)
Непомеченный граф приводит к различным матрицам
смежности в зависимости от нумерации вершин. Посмотрим, как
связаны между собой эти матрицы. Пусть G и Η — изоморфные
графы. Из определения изоморфизма графов следует, что можно
найти такие нумерации вершин этих графов, при которых
вершины с одинаковыми номерами в обоих графах будут
одновременно смежны или несмежны. Поэтому, если нужная нумерация
вершин графов G и Η найдена, то матрицы A(G) и А(Н) будут
одинаковы.
Рассмотрим произвольную нумерацию вершин графа. Если
мы теперь поменяем номера двух вершин в графе, то это
приведет к одновременной перестановке соответствующих столбцов и
соответствующих строк матрицы смежности графа.
Определение изоморфизма требует нахождения нужной нумерации, т. е.
одинаковой перестановке строк и столбцов.
Таким образом, графы изоморфны тогда и только тогда,
когда их матрицы смежности получаются друг из друга
одинаковыми перестановками строк и столбцов.
Матрица смежности весьма удобна для реализации
алгоритмов с помощью ЭВМ. В частности, для определения, смежны ли
некоторые вершины графа, нужно определить, чему равен
соответствующий элемент матрицы, а это требует небольшого числа
операций, выполненных компьютером.
Однако этот способ задания графа имеет один недостаток,
существенный при решении практических задач. Графы,
используемые при решении некоторых прикладных задач, например, в
микроэлектронике, имеют большое число вершин при
относительно небольшом числе ребер. Предположим, что граф G имеет
1000 вершин, средняя степень которых равна 5. Тогда матрица
A(G) имеет 1 000 000 элементов, из которых только 5000 будут
единицами. В этом случае память компьютера будет
расходоваться неэкономно.
Чтобы избежать этого, используется способ хранения графов,
называемый списками смежности. В списках для каждой вершины
§ 2. Способы задания графов 47
выписываются смежные с ней вершины. После перечисления
вершин, смежных с каждой вершиной, устанавливается знак,
показывающий, что смежные вершины окончились. Ниже приведен
список смежности, задающий граф, изображенный на рис. 2.1.
1:2, К;
2: 1,4,3, К;
3:2, 4, К;
4: 2,3, К;
5: К.
Пусть у помеченного графа G множество вершин VG ={1,2,
..., п) и множество вершин EG = {e\, в2, ..., ет}. Матрица
инцидентности I = 1(G) графа G определяется следующими
условиями: элемент /# матрицы равен 1, если вершина к и ребро /
инцидентны (ребро / выходит из вершины к), и равен 0 в
противном случае.
Ниже приведена матрица 1(G) задающая граф,
изображенный на рис. 2.1.
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
4
0
Двудольные графы удобно задавать такой матрицей.
Пусть G — двудольный граф, XwY— разбиение его вершин
на доли. Занумеруем вершины доли Xсимволами щ9 и^ ..., ит,
а доли Υ символами vj, v^, ..., νη. Определим (т х я)-матрицу
М= M(G) следующим образом: элемент Му матрицы равен
единице, если вершины щ и vj смежны, и равен нулю в противном
случае.
4&
Глава 1. Основные понятия (§ 1-2)
На рисунке изображен двудольный граф G и его матрица M(G).
X щ
G
Υ ·νι
Рис. 2.4
1
0
0
0
1
1
1
1
1
0
1
1
КОММЕНТАРИИ
Вряд ли учитель будет пользоваться матрицами или
списками смежности для задания графов на школьных факультативах
по математике. А вот на факультативах по информатике без них
не обойтись.
При рассмотрении алгоритмов, удобно их записывать
матрицы, задающими графы, вместе с вершинами и ребрами. Так
матрицы, задающие граф, изображенный на рис. 2.1, удобно
представлять в таком виде:
1
2
3
4
5
1
0
1
0
0
0
2
1
0
1
1
0
3
0
1
0
1
0
4
0
1
1
0
0
5
0
0
0
0
0
§ 2. Способы задания графов 49
или
1
2
3
4
5
е\
1
1
0
0
0
ег
0
1
1
0
0
<?з
0
0
1
1
0
е4
0
1
0
4
0
Матрицу M(G), задающую двудольный граф, изображенный
на рис. 2.4, можно записать в таком виде:
щ
и2
из
Vl
1
0
0
v2
0
0
1
V3
1
0
1
v4
0
0
1
Матрицы инцидентности используются, как правило, для
теоретических исследований графов. Например с помощью этой
матрицы легко доказать лемму о рукопожатиях.
Лемма о рукопожатиях. Сумма степеней вершин графа равна
удвоенному числу ребер.
Доказательство. Подсчитаем двумя способами число
единиц в матрице инцидентности.
С одной стороны, число единиц в строке матрице,
соответствующей некоторой вершине, равно степени этой вершины. Поэтому
число единиц в матрице равно сумме степеней вершин графа.
С другой стороны, в каждом столбце матрицы две единицы,
а число столбцов в матрице равно число ребер в графе. Поэтому
число единиц в матрице равно удвоенному числу ребер.
5С Глава 1. Основные понятия (§ 1-2)
Следовательно, сумма степеней вершин графа равна
удвоенному числу ребер.
Лемма доказана. ■
При задании гиперграфов матрица инцидентности является
основным средством. Пусть Η — гиперграф с множеством
вершин {1, 2, ..., и} и множеством гиперребер = {е\, е% ··, еР},
В этом случае матрица инцидентности / содержит η строк и
ρ столбцов и ее элемент hi равен 1 если вершина к принадлежит
гиперребру /, и равен 0 в противоположном случае.
Ниже приведена матрица, задающая гиперграф,
изображенный на рис. 1.16.
Vl
V2
V3
V4
V5
v6
v7
Vg
ei
г
1
1
0
0
0
0
0
^2
0
1
0
1
1
0
0
0
ез
0
0
0
0
1
0
1
1
ел
0
0
0
1
1
0
1
0
<?5
0
0
1
0
0
0
0
1
е6
0
0
0
0
0
1
0
0
С помощью матрицы инцидентности гиперграфа легко
доказать аналог леммы о рукопожатиях для гиперграфа.
Степенью вершины гиперграфа называется число гиперре-
бзр, содержащих эту вершину. Степенью гиперребра называется
число вершин, входящих в гиперребро.
Теорема 2.1. Сумма степеней вершин гиперграфа равна
сумме степеней его гиперребер.
§ 2. Способы задания графов 51
Доказательство. Пусть гиперграф задан матрицей
инцидентности. В этом случае число единиц в любой строке матрицы
равно степени вершины, соответствующей этой строке, а число
единиц в любом столбце равно степени гиперребра,
соответствующего этому столбцу. Поэтому сумма степеней вершин
гиперграфа равна числу единиц, находящихся во всех строках
матрицы,, а сумма степеней всех гиперребер — числу единиц,
находящихся во всех столбцах матрицы. Но это одни и те же единицы.
Поэтому названные суммы равны.
Теорема доказана. ■
С помощью матрицы можно доказать и теорему о сумме
степеней вершин двудольного графа.
Теорема 2.2. Суммы степеней вершин долей двудольного
графа равны.
Доказательство. Рассмотрим матрицу M(G) двудольного
графа G. Степень вершины одной доли равна числу единиц в
соответствующей этой вершине строке матрицы, а степень
вершины другой доли равна числу единиц в соответствующей этой
вершине столбце матрицы. Поэтому сумма ртепеней вершин
одной доли — это число единиц в строках матрицы, а сумма сте-
пеней вершин другой доли — это сумма степеней вершин в
столбцах матрицы. Поскольку это одни и те же единицы, то
суммы оказываются одинаковыми.
Теорема доказана. ■
ГЛАВА 2 Связность
§ Ъ. Виды маршрутов в графах.
Связные и несвязные графы
Последовательность чередующихся вершин и ребер
L = (vi, eu v2, е2, ν3, ..., νΜ, е/-ь V/), (*)
ко^рая начинается и оканчивается вершинами и такая, что каждое
ребро соединяет вершины, между которыми оно находится в
последовательности, называется маршрутом или (vi, ^-маршрутом.
Очевидно, что маршрут (*) в графе можно задать
последовательностью вершин L = (у\9 V2, V3, ..., V/ \, ν/) или
последовательностью ребер L = (ей е2, ..., ем).
Маршрут называется замкнутым или циклическим, если его
первая и последняя вершины совпадают. В противном случае
маршрут называется открытым.
Маршрут называется цепью, если его ребра различны, и
простой цепью, если его вершины, кроме, возможно, крайних,
различны. Замкнутая цепь называется циклом, замкнутая
простая цепь называется простым циклом.
С помощью графа, изображенного на рис. 3.1,
проиллюстрируем введенные определения.
Рис. 3.1
§ 3. Виды маршрутов в графах. Связные и несвязные графы 53
Замкнутый маршрут L\ = (1, 2, 3, 4, 5, 3, 2,1) не является
цепью, поскольку содержит повторяющиеся ребра. Маршрут
^2 = (8, 3, 7, 6, 3, 4) является цепью, но не простой цепью, так
как имеет повторяющуюся вершину. Цепь 1з = (7, 3, 4, 5, 2) —
простая цепь. Замкнутая цепь Z4 = (2, 3, 7, 6, 3, 4, 2) — цикл, а
замкнутая простая цепь Z5 = (2, 3,4, 5,2) — простой цикл.
Легко доказать с помощью удаления «лишних кусков»
следующее простое
Утверждение 3.1. Всякий (vb У/)-маршрут при νχφνι
содержит простую (vi, У/)-цепь.
Если vi = ν/, то утверждение может неверно.
В графе, изображенном на рис. 3.2, маршрут L\ = (1, 2, 5, 6,
2, 3, 7, 3, 4) содержит простую цепь L2 = (1, 2, 3, 4), но маршрут
Z3 = (1, 2, 5, 6, 2, 1) не содержит простой (1, 1)-цепи.
12 3 4
• =* ^-# ·
Рис. 3.2
Аналогично доказывается
Утверждение 3.2. Всякий цикл содержит простой цикл.
Граф называется связным, если любые две его
несовпадающие вершины соединены маршрутом. Учитывая утверждение 3.1,
в данном определении можно маршрут заменить цепью или
простой цепью. В противном случае граф называется несвязным.
54
Глава 2. Связность (§ 3-4)
Всякий максимальный связный подграф Τ графа называется
связной компонентой (или просто компонентой) графа.
Слово «максимальный» означает максимальность
относительно операции включения, т. е. подграф Τ не содержится в
связном подграфе с большим числом элементов. На рис. 3.3
изображен граф G, состоящий из трех компонент: графов G\9 G2 и G3.
G
Рис. 3.3
Теорема 3.3. Каждый несвязный граф является
объединением своих компонент, не имеющих общих вершин.
Доказательство. Предположим, что различные компоненты
графа G подграфы G\ и G2 имеют общую вершину ж Тогда
любая вершина и подграфа G\ и любая вершина ν подграфа G2
соединены с вершиной w маршрутами. Отсюда следует, что любая
вершина компоненты G\ соединена маршрутом с любой
вершиной компоненты G2, т. е. компоненты G\ и G2 совпадают.
Теорема доказана. ■
Доказанная теорема позволяет сводить многие задачи
теории графов к случаю связных графов.
Теорема 3.3. Пусть G — связный граф. Если некоторое его
ребро е принадлежит какому-нибудь циклу графа, то граф
G'=G — e9 полученный удалением этого ребра из графа G,
связен.
§ 3. Виды маршрутов в графах. Связные и несвязные графы 55
Доказательство. Пусть ребро е = (и, ν) принадлежит циклу
С = (и, v, w\, м?2, ..., wp9 и) графа G. Так как граф G — связен,
то любые его разные вершины χ и у. соединены маршрутом.
Если этот маршрут не содержит ребра е, то он соединяет
вершины произвольные различные χ и у в графе G'. Если этот
маршрут содержит ребро е, то заменив ребро всякий раз цепью
L = (v, w\9 м>2, ..., и) получим маршрут в графе G',
соединяющий вершины χ и у
Теорема доказана. ■
Теорема 3.4. Любой цикл, не являющийся простым, можно
разбить на простые циклы, не имеющие общих ребер.
Доказательство. Начиная с любой вершины, будем
проходить ребра цикла до тех пор, пока не попадем в вершину,
которая уже встречалась в цикле: С = (v\9 V2, ..., v& w, щ9 щ, ... ир9 и,
Vjh-1, ···? Vi). Часть цикла С между повторяющейся вершиной
является простым циклом С\ = (и, щ9 U2, ...ир, и) (см. рис. 3.4).
V*+l Up
Рис. 3.4
Удалив из С ребра цикла С\9 получим цикл С = (у\9 νι9 ... щ,
Vk+\9 ..., V\). Если этот цикл не является простым, то из него, как
и ранее, можно выделить простой цикл и т. д.
Процесс будет конечным, поскольку начальный цикл
содержит конечное число ребер.
Теорема доказана. ■
56 Глава 2. Связность (§ 3-4)
Теорема 3.5.
равна δ (δ > 2),
не менее δ+.Ι.
Если минимальная
степень
то граф содержит цепь длины
вершин
графа
δ и цикл длины
Доказательство. Пусть L = (vo, vj, уг, ..., ν*) — длиннейшая
цепь в графе (длина ее равна к). Тогда все вершины графа,
смежные с вершиной Vk лежат на этой цепи, поскольку в противном
случае цепь можно было бы продолжить (см. рис. 3.5, на
котором вершина Vk+\ не принадлежит цепи Z, а ребро,
продолжающее цепь, изображено пунктиром). Поэтому δ < deg(v^) < к.
Рис. 3.5
Аналогично доказывается и часть теоремы, относящаяся к
длине цикла.
Теорема доказана. ■
Число ребер в маршруте называется его длиной. Пусть G —
связный граф и и и ν — две его вершины. Расстоянием между
вершинами uuv называется длина кратчайшего (г/, у)-маршрута.
Очевидно, что такой маршрут является простой цепью.
Расстояние между вершинами и и ν графа обозначается через d{u, v).
Будем считать, по определению, что d(u, и) = 0.
В связном графе расстояние является метрикой, т. е.
удовлетворяет следующим аксиомам (аксиомам метрики):
1) d(u, ν) > 0 и d(u, и) = 0 тогда и только тогда, когда и =ζ ν;
2) d(u, v) = d(v, и);
3) d(u, v) + d(v, w) > d(u, w).
§ 3. Виды маршрутов в графах. Связные и несвязные графы 57
Существует простой критерий двудольности графа,
сформулированный Д. Кёнигом в терминах длин циклов.
Теорема 3.5. Граф является двудольным тогда и только тогда,
когда он не содержит циклов нечетной длины.
Доказательство.
Необходимость. Пусть G — двудольный граф, А и В — его
доли и С = (уи V2, Уз, ..., vjt-u vi) — один из его циклов длины к.
Пройдем все ребра цикла, начиная с вершины vi,
принадлежащей доле А. Перейдя по первому ребру (νι vi) цикла в вершину V2,
мы окажемся в доле В, перейдя по его второму ребру (v2, V3), мы
вернемся в долю А, перейдя по третьему ребру (уз, V4), окажемся
в доле В и т. д. Переходя по каждому нечетному ребру цикла, мы
будем оказываться в доле В, а переходя по каждому четному
ребру цикла, мы будем возвращаться в долю А. После
прохождения всего цикла мы окажемся в вершине vi, принадлежащей
доле А. Следовательно, мы сделали четное число шагов, и длина
цикла четная.
Необходимость доказана.
Достаточность. Не теряя общности, можно считать
рассматриваемый граф связным, так как граф будет двудольным
тогда и только тогда, когда любая его компонента является
двудольным графом.
Итак, пусть G — связный граф, содержащий более одной
вершины, который не имеет циклов нечетной длины. Мы
должны доказать, что G является двудольным графом.
Построим разбиение вершин графа G на части А и В
следующим образом. Произвольную вершину vo отнесем к множеству А.
Вершину и отнесем к множеству А9 если расстояние d(v0, и) —
четное число, и к множеству В, если это расстояние — нечетное
число. Докажем, что множества А и В определяют разбиение
вершин графа G на доли, т. е. вершины множества А несмежны
между собой, и вершины множества В несмежны между собой.
58
Глава 2. Связность (§ 3-4)
Предположим, что существуют две смежные вершины и и w,
относящиеся к одному множеству А или В. Ни одна из них не
совпадает с вершиной v0, так как vo принадлежит множеству А,
а все смежные с ней вершины находятся от нее на расстоянии 1
и, значит, принадлежат к множеству В.
Пусть L\j — кратчайшая (v0, г/)-цепь,
a Lw — кратчайшая (vo, т^)-цепь, длины
этих цепей имеют одинаковую четность.
Пусть vp — последняя общая вершина
этих цепей, считая от вершины vo.
Разобьем цепь Lu на две части: Хи — часть
цепи от вершины vo до вершины vP9 и
Yu — часть цепи от вершины vp до
вершины и. Аналогичным образом разобьем
цепь Lwна подцепи^ и Yw (см. рис. 3.6).
Цепи Хи и Xw имеют одинаковые
длины. Если, например, длина цепи Хи
окажется меньше длины цепи Xw, то
цепь Lw можно заменить цепью
меньшей длины XUUYW, соединяющей вер-
и ^ k w шины vo и w, что противоречит выбору
цепи ZW. По аналогичной причине
длина цепи Хи не может быть больше
длины цепи Xw.
Так как длины цепей LvwLw имеют одинаковые четности, а
длины цепей Хи и Xw равны, то цепи Yu и Yw имеют одинаковые
четности. Тогда объединение цепей Yu и Yw и ребра (v, w)
является циклом нечетной длины. Получено противоречие с условиями
теоремы.
Достаточность доказана.
Теорема доказана. ■
Доказательство теоремы Кёнига подсказывает простой
способ определения двудольности графа. Рассмотрим следующую
процедуру, называемую поиском в ширину. Выбираем
произвольную вершину и присваиваем ей номер 0. Всем вершинам,
Рис. 3.6
§ 3. Виды маршрутов в графах. Связные и несвязные графы 59
смежным с этой вершиной, приписываем номер 1. Всем вершинам,
смежным с вершинами, имеющим номер 1 (кроме вершины 0),
присваиваем номер 2. Затем всем вершинам, не имеющими
номеров, и смежным с вершинами, имеющим номер 2,
присваиваем номер 3 и так далее, пока это возможно. Если граф связен, то
процедура занумерует все вершины.
Очевидно, что номер вершины — это расстояние между
этой вершиной и вершиной с номером 0.
Теперь разобьем вершины графа на два множества:
множество А — все вершины с четными номерами, множество В -г— все
вершины с нечетными номерами. Если среди вершин множества А
нет смежных, и среди вершин множества В нет смежных, то
граф является двудольным.
Ниже на рис. 3.7 показаны номера, получившиеся при поиске
в ширину для двудольного графа и графа, не являющегося
двудольным.
Рис. 3.7
С помощью поиска в ширину можно решать также такие
простые задачи, как определение компонент графа и
определение в ориентированных графах вершин, достижимых из
некоторой заданной вершины.
КОММЕНТАРИИ
В начальных и средних классах маршрут можно трактовать
как путь по графу, при котором от вершины к вершине переходят
по ребрам.
60 Глава 2. Связность (§ 3-4)
Вариант определения связного графа для младших и средних
школьников может звучать так: граф называется связным, если из
любой его вершины в любую другую можно перейти по ребрам.
У школьников, практически, не бывает ошибок при выявлении
компонент графов, заданных рисунками. Однако определение
компоненты, представленное выше, вызывает у них затруднение.
Это вызвано трудностью восприятия понятия «максимальный».
Поэтому определение связности можно дать в следующей
форме: подграф Η графа G называется связной компонентой, если
цри добавлении к Η еще одного любого ребра или еще одной
любой вершины графа G подграф Η перестает быть связным.
Теорему 3.1 на факультативе можно не доказывать.
Подграфы G\}\ и G\^ графа G, изображенного на рис. 3.3, не
являются связными компонентами, поскольку они содержатся в
связном подграфе (подграфе Gi), имеющем большее число
вершин или ребер. Граф G\ является связной компонентой, так как
добавление к нему еще одной вершины или еще одного ребра
приводит к несвязному подграфу (см. рис. 3.8).
G\ G\9\ Gi,2
Рис. 3.8
Если быть буквоедом, то теорему 3.4 нужно
формулировать так:
Ребра любого цикла, не являющегося простым, можно
разбить на простые циклы.
Мы не определили, что такое разбиение, но общепринято,
что это такой раздел множества на подмножества, при котором
объединение подмножеств дает множество, и любые два подмно-
§ 3. Виды маршрутов в графах. Связные и несвязные графы 61
жества не имеют общих элементов. Цикл состоит из вершин и
ребер. Полученный раздел цикла на простые циклы в строгом
смысле слова не является разбиением, поскольку вершины у различных
циклов могут быть одинаковыми. На мой взгляд, первая
формулировка более предпочтительна для школьников. Интуитивно им
ясно, что такое разбиение, а отвлекать их внимание на объяснение
таких тонкостей не нужно. Тем не менее, думаю, что
окончательный выбор формулировки теоремы остается за учителем.
При доказательстве теоремы 3.5 в средних
классах можно подробнее пояснить, почему длины цепей
Хи и Xw одинаковы. Для этого на рис. 3.5 следует
поместить различное количество вершин на рассмат-
риваемых цепях, например, между вершинами vo и
vi (см. рис. 3.9). Сейчас видно, что длину цепи Xw
можно уменьшить, заменив ее отрезок между
вершинами vo и vi на соответствующий отрезок цепи Хи.
Задачи
• Задача 3.1. Иван отдыхал в молодежном
лагере «Восход», где всего отдыхало 53 школьника.
После окончания отдыха некоторые пары обменялись
номерами телефонов, причем у каждого из отды- рис. 3.9
хающих оказалось не менее 26 номеров. Через
некоторое время Ивану понадобился телефонный номер
Николая, с которым он номером не обменивался. Докажите, что
Иван может узнать номер Николая, т. е. существует цепочка из
школьников, которая начинается Иваном и оканчивается
Николаем и в которой каждая пара соседей обменялась номерами.
С помощью графовых задач можно знакомить школьников с
таким универсальным приемом, как доказательство от
противного. Если необходимо доказать некоторое свойство графа, то
предполагается, что это свойство не выполняется. Затем путем
рассуждений приходят к выводу, который противоречит
предположению. Следовательно противоречие было ошибочным и
доказываемое свойство истинно.
62 Глава 2. Связность (§ 3-4)
Решение задачи 3.1. Построим граф G, вершины которого
соответствуют школьникам, а две вершины соединены ребром,
если соответствующие школьники обменялись адресами.
Поскольку Ивану и Николаю могут соответствовать любые
вершины графа, то наличие требуемой цепочки между этими
школьниками эквивалентно существованию цепи в графе, соединяющей
эти вершины. Это означает, что граф с 53 вершинами и со
степенями вершин не менее 26, является связным.
Предположим противное: граф G несвязный. Рассмотрим
компоненту графа, содержащую наименьшее число вершин. В ней
будет не более 26 вершин. Но в таком случае степень вершины в
этой компоненте не может быть больше 25, что противоречит
условию. Задача решена. ■
Подобным образом можно доказать теорему 3.6: если для
графа Gen вершинами наименьшая степень его вершин δ>(η— 1)/2,
то граф G связный.
Учитель может рассмотреть развитие этой задачи.
• Задача 3.1а. Какой наименьшей будет цепочка из
школьников, между Иваном и Николаем, в которой каждая соседняя
пара школьников обменялась номерами телефонов.
Решение задачи 3.1а. Рассмотрим граф G, построенный при
решении предыдущей задачи. Пусть вершина и соответствует
Ивану, а вершина ν — Николаю.
Рис. 3.10
§ 3. Виды маршрутов в графах. Связные и несвязные графы 63
Каждая из вериГин и и ν смежны по крайней мере с 26
вершинами. Поэтому среди вершин, смежных с вершинами и и ν
найдется хотя бы одна общая, так как в противном случае в
графе окажется больше 53 вершин (см. рис. ЗЛО).
Наименьшая цепь, соединяющая и и ν, состоит из трех
вершин, и центральная вершина этой цепи соответствует
школьнику, знающему телефоны и Ивана, и Николая.
Задача решена. ■
А теперь проведем совсем небольшое исследование
теоремы 3.6. Попробуем ослабить ее условие: пусть наименьшая
степень δ вершин графа G удовлетворяет неравенству δ>(η- 2)/2.
Оказывается, легко показать, что в этом случае граф может
оказаться несвязным, например, граф являющийся объединением
двух графов Кз (см. рис. З.П.).
Рис. 3.11
• Задача 3.2. Докажите, что в связном графе две простые
цепи, длины которых не меньше длин остальных простых цепей,
имеют общую вершину.
Решение задачи 3.2. Предположим, что две самые длинные
простые цепи Ρ = (ри ..., pk) и T=(t\, ..., U) графа G не имеют
общих вершин. Поскольку граф G связный, то любая вершина
цепи Ρ и любая вершина цепи Τ соединены простой цепью.
Среди таких цепей выберем цепь L = (р0, ...,А))> не содержащую
других вершин цепей Ρ и Т, кроме крайних (см. рис. 3.12).
Вершина р0 делят цепь Ρ на две цепи Ρ ι = (ри ..., р0) и
Pi= (йь · · -,Рк)> аналогично вершина /Ь делит цепь Г на цепи Т\ и Т2.
Обозначим через 1{Р), 1(Т), ... число ребер в
соответствующих цепях.
щ#
64 Глава 2. Связность (§ 3—4)
Р\> ··♦
Рис. 3.12
Не теряя общности, можно считать, что /(Pi) > /(Г2) > /(Γι).
Рассмотрим простую цепь Q = (p\, ..., ρο> ··., fo, ., tj),
являющуюся объединением цепей P\,Lu Т^
КО) = ΚΡι) + /(£) + /(Ϊ2) >
> /(ГО + /(Ζ) + l(T2) > 1{Τ) + /(Ζ) > /(7).
Мы показали, что цепь Q содержит больше ребер, чем цепь Г,
что противоречит ее выбору.
Задача решена. ■
Рассмотренная задача представляет интерес для развития у
школьников аккуратности и строгости при оформлении
доказательств, поскольку им интуитивно ясно, что цепь Q должна
оказаться длиннее какой-то из цепей Ρ или Г, но формальное
доказательство этого факта вызывает у них затруднения.
Текстовые задачи, решаемые в школе, в основном, имеют
единственный ответ. Поэтому на факультативе следует
рассматривать задачи, имеющие несколько ответов.
• Задача 3.3. Каждый город одной страны соединен другой
страны ровно одной авиалинией одной из двух авиакомпаний.
Рейсов первой компании в 3 раза больше, чем рейсов второй.
Сколько городов может быть в странах, если известно, что в
каждой из них не более 8 городов, и в одной стране на один
город больше, чем во второй.
Рк
щ
§ 3. Виды маршрутов в графах. Связные и несвязные графы 65
Решение задачи 3.3. Пусть в одной стране/? городов, а в
другой — (р + 1) город. Поставим в соответствие городам вершины
графа. Если два города соединяет линия первой компании, то
соединим соответствующие им вершины зеленым ребром, если
второй компании — синим ребром. Так как соединены города
разных стран, то получим двудольный граф Κρφ+\, ребра
которого окрашены двумя цветами.
Пусть синих ребер будет х, тогда зеленых — Зх9 а всех
ребер— 4х.
С другой стороны, граф Кр#+\ имеетр(р + 1) ребро.
Следовательно, pip + 1) = Ах.
Затем обратим внимание учеников, что числа ρ и χ целые.
Поэтому, так как правая часть равенства делится на 4, то на 4
должно делиться или р, или (р + 1). (Оба множителя ри(р+1)
не могут делиться на 2, так как один из них четный, а второй
нечетный.)
Построим таблицу, в которой будут записаны различные
возможные значения ρ и (р + 1), с учетом того, что эти числа не
могут быть больше, чем 8.
Р
р+ 1
4
5
3
4
7
8
Записанные числа ρ и ρ + 1 определяют возможное число
городов в государствах.
Задача решена. ■
Задачи (Мельников О. И. Теория графов в занимательных
задачах. М.: URSS, 2017).
Маршруты: 62-65.
Связность графов: 22-28
Двудольные графы: 67-86.
66 Глава 2. Связность (§ 3-4)
§4. Вершинная и реберная связности
И цепь, и полный граф являются сйязными графами. Однако
интуитивно ясно, что полные графы как-то «более» связные, чем
це«и: чтобы сделать несвязной цепь, имеющую более двух
вершин достаточно удалить из нее любую невисячую вершину, а из
полного графа сколько вершин не удаляй, он все равно останется
связным. Вопросы связности графов имеют и практическое
значение. Коммуникационные сети, задаваемые графами, тем более
надежны, чем более связен граф. Формализуем понятие
связности графа.
Числом вершинной связности (или просто числом
связности) k(G) графа G называется наименьшее число вершин,
которое нужно удалить, чтобы получить несвязный или
одновершинный граф. Числом реберной связности X(G) графа G
называется наименьшее число ребер, которые нужно удалить, чтобы
пслучить несвязный граф. (Напомним, что вершины удаляются
вместе с инцидентными им ребрами.)
Так, например, к(К\) = 0, к(Кп) = η - 1, к(Сп) = 2, к(Рп) =■ 1,
Х(Сп) = 2, λ(Ρη) = 1. Для графа, изображенного на рис. 4.1.
вершинная связность равна 2, а реберная — 3 (на рисунке
представлен один из вариантов удаляемых вершин и ребер).
Рис. 4.1
Вершина ν графа G называется точкой сочленения графа,
если после ее удаления получившийся граф G - ν имеет больше
ксмпонент, чем граф G Ребро е называется мостом графа G,
если после граф G — e имеет больше компонент, чем граф G.
§ 4. Вершинная и реберная связности 67
Для графа, изображенного на рис. 4.2, точки сочленения —
это вершины 4, 5, 7, 8, а мосты — ребра (4, 5), (7, 8), (8, 9).
2 6
V V 5
3
Рис. 4.2
Для дерева точкой сочленения является любая невисячая
вершина, а мостом — любое ребро.
Очевидно, что точки сочленения и мосты являются, в
некотором смысле, «узкими», уязвимыми местами
коммуникационных сетей, заданных графами.
Теорема 4.1. В любом связном графе, содержащем более
одной вершины, имеется, по крайней мере две вершины, не
являющиеся точками сочленения.
Доказательство. Пусть и и ν — вершины графа G,
находящееся друг от друга на максимальном расстоянии.
Предположим, что вершина и — точка сочленения. Тогда существует
вершина w, принадлежащая той компоненте графа G - и, которая не
содержит вершину v. Поскольку любая цепь, соединяющая
вершины ν и w, проходит через вершину и, то расстояние между
вершинами ν и w будет больше, чем расстояние между
вершинами и и v. Получено противоречие с выбором вершин и и v.
Следовательно, вершина и, а также и вершина ν не являются
точками сочленения графа.
Теорема доказана. ■
А какое из чисел связностей будет больше: число вершинной
связности или реберной? Интуитивно кажется, что вершинная
68 Глава 2. Связность (§ 3-4)
связность графа должна быть не больше реберной, поскольку
при удалении одной вершины (а эта вершина не висячая)
удаляется несколько ребер. Сейчас мы докажем сказанное.
Теорема 4.2. Для любого графа G верны неравенства
k(G) < X(G) < δ(β\
где 5(G) — минимальная из степеней вершин графа.
Доказательство. Если граф G несвязен, то, очевидно,
k(G) = X{G) = 0.
Если 5(G) — минимальная степень вершин графа G, то
очевидно, что /1(G) < 3(G), так как удаление всех 3(G) ребер,
выходящих из вершины минимальной степени, делает граф несвязным.
Выясним теперь отношение между числами k(G) и 1(G).
Пусть 1(G) = 1. Тогда в графе G есть мост е. При этом
возможны три случая: мост соединяет два подграфа графа,
содержащие более одной вершины; мост соединяет висячую вершину
с подграфом графа, содержащем более одной вершины; мост
соединяет две висячие вершины.
В первом случае две концевые вершины моста — точки
сочленения, во втором — та вершина моста, которая не будет
висячей в графе G, точка сочленения, в третьем случае граф G
является графом К2, и удаление любой его вершины делает граф
одновершинным (см. рис. 4.3).
В каждом из этих случаев k(G) = 1.
СЮ Сь -
Рис. 4.3
§ 4. Вершинная и реберная связности 69
Предположим теперь, что 1(G) = λ Φ Ι. Из определения
реберной связности существует множество ребер Ε = {е\, в2, ..., ея-ь £я}>
удаление которых делает граф G несвязным, причем λ — это
минимальное число ребер в таком множестве (см. рис. 4.4). Пусть
ребро в\ соединяет вершины щ и ν,·.
Удалим из графа множество ребер Е\ = (е\9 ег, ..., ед-ι),
получим граф G\. Из минимальности числа λ следует, что граф G\
связный. Так как удаление ребра βχ = (и, ν) делает его
несвязным, то ребро βχ — мост в графе G\.
Построим множество вершин W'= {w\9 W2, ..., wi-ib где w,-
является концевой вершиной ребра е„ отличной от вершин и и v.
(Среди вершин w,- могут быть и совпадающие, поэтому число
вершин в множестве W не превосходит λ - 1)
Рассмотрим граф G2, полученный удалением из графа G
вершин множества Ж (Напомним, что каждая вершина
удаляется вместе с выходящими из нее ребрами.)
Предположим граф G2 оказался несвязным, это означает, что
после удаления меньшего, чем λ числа вершин граф G
становится несвязным. Следовательно, в этом случае k(G) < λ - 1.
Предположим, что граф G2 оказался связным. Но тогда в
этом графе ребро βχ будет мостом. Мы пришли к ранее
рассмотренному случаю, когда 1(G) = 1. Удалив еще одну вершину, мы
получим несвязный или одновершинный граф.
Теорема доказана. ■
70 Глава 2. Связность (§ 3-4)
Следующее утверждение показывает, что неравенства
теоремы 4.1 нельзя усилить.
Теорема 4.2. Для любых натуральных чисел /?, q и г, таких
что p<q<r, существует граф G, у которого κ(β) = ρ,
X(G) = qJ(G)=r.
(Доказательство теоремы можно найти в [1]).
Граф G называется к-связным, если k(G) > те, и реберно λ-связ-
ным, если /1(G) > λ.
Рассмотрим 1-связный граф G, изображенный на рис. 4.5, и
его два подграфа: G\ и G2. Подграф G\ является 2-связным
графом, а подграф Gj— 3-связным, т. е. граф может содержать
подграфы более «связные», чем он сам.
Рис. 4.5
Очевидно, что связный граф является 2-связным тогда и
только тогда, когда он не содержит точку сочленения.
Максимальный по включению ^-связный подграф графа
называется его k-связной компонентой.
Обратите внимание, что если граф является, например, 4-связ-
ной компонентой, то он будет и 3-связной и 2-связной компонентой.
Рассмотрим следующую ситуацию. Есть два города разных
стран, которые соединяет сеть дорог. Нужно установить
таможенные пункты так, чтобы ни одна машина не смогла проехать
из одного города в другой, минуя таможню.
Интуитивно ясно, что чем больше будет дорог между
городами, тем больше нужно устанавливать пунктов. Если наиболь-
§ 4. Вершинная и реберная связности 71
шее число путей, соединяющих города и не имеющих общих
точек, кроме самих городов, есть к, то очевидно, что для
поставленной цели достаточно к пунктов.
Поставим противоположную задачу.
Для того, чтобы нельзя было проехать из одного города в
другой, минуя таможню, достаточно самое меньшее к таможенных
пунктов. Сколько существует различных путей между городами?
Ответ на поставленный вопрос дает теорема Менгера.
Сначала введем нужные определения.
Пусть и и ν — две различные вершины связного графа G.
Две простые цепи, соединяющие и и ν, называются
непересекающимися, если у них нет общих вершин, отличных от и и ν
(и, следовательно, нет общих ребер). Будем говорить, что
множество вершин V разделяет и и ν, если и и ν принадлежат
разным компонентам графа G-V. Множество V называется
разделяющим, а. вершины и и ν разделенными.
Теорема Менгера (1927 г.). Наименьшее число вершин,
разделяющих две несмежные вершины sh/, равно
наибольшему числу попарно непересекающихся (s, ^-цегтей.
Доказательство теоремы можно найти в [1, 6].
КОММЕНТАРИИ
При желании учитель может дать несколько признаков точек
сочленения и мостов.
Теорема 4.3. Вершина w графа G является точкой
сочленения графа тогда и только тогда, когда в графе существуют
две такие вершины и и ν, что любой (и, у)-маршрут проходит
через w.
72 Глава 2. Связность (§ 3-4)
Доказательство. Сначала рассмотрим случай, когда G
является связным графом (см. рис. 4.6)
Рис. 4.6
I
Необходимость. Пусть вершина w — его точка сочленения
графа G. Тогда граф Gf = G-w будет несвязным. В качестве
вершины и возьмем любую вершину одной компоненты графа
G', а качестве вершины ν — любую вершину другой
компоненты. В графе G' нет маршрута, соединяющего вершины и и ν, а в
графе G такой маршрут есть. Но графы G' и G отличаются
только одной вершиной w (и ребрами, выходящими из этой
вершины). Поэтому любой (и, у)-маршрут в графе G проходит через
вершину w.
Достаточность. Пусть в графе G существуют две такие
вершины и и ν, что любой (г/, у)-маршрут проходит через
вершину w. Значит, удаление вершины w разрушит любой маршрут,
соединяющий и и v. Следовательно, вершины и и ν окажутся в
различных компонентах графа G-w. Поэтому вершина w
является точкой сочленения графа G
Если граф G несвязен, то рассмотрим компоненту,
содержащую вершину w и проведем те же рассуждения.
Теорема доказана. ■
Теорема 4.4. Ребро (а, Ь) графа G является мостом в
графе тогда и только тогда, когда оно является единственным
(а, о)-маршрутом в графе.
§ 4. Вершинная и реберная связности 73
Доказательство. Сначала рассмотрим случай, когда G
является связным графом.
Необходимость, Пусть ребро (а, Ь) является мостом в графе G.
Предположим, что в графа кроме маршрута Pi = (α, Ь)
существует и маршрутРг = (а, ..., с, ..., Ь).
Рассмотрим две любые вершины и и ν графе G и некоторый
(и, у)-маршрут Ρ в нем. Если этот маршрут не содержит ребро (а, Ъ\
то он является маршрутом и в графе G' = G - (а, Ь). Если этот
маршрут содержит удаленное ребро (а, Ь\ то в графе G' можно
построить новый (и, у)-маршрут Р\ заменив в Ρ ребро (а, Ь) на
маршрут Ρ2.
(См. рис. 4.7, на котором J°2 = (а, с, v, b), Ρ = (w, s9 α, b, ν),
Ρ' = (w, s, а, с, ν, b, v)).
Мы доказали, что для любых вершин графа G' существует
маршрут, их соединяющий, т. е. ребро (я, Ь) не является мостом
в графе G. Получено противоречие.
Рис. 4.7
Достаточность. Пусть ребро (а, Ь) графа G является
единственным (а, 6)-маршрутом в графе. Тогда удаление этого ребра
делает недостижимой вершину b из вершины а, т. е. эти вершины
будут принадлежать различным компонентам графа G-(a, b).
Следовательно, ребро (а, Ь) является мостом графа G.
Если граф G несвязен, то рассмотрим компоненту,
содержащую ребро (а, Ь) и проведем те же рассуждения.
Теорема доказана. ■
74 Глава 2. Связность (§ 3-4)
Теорема 4.5. Ребро (а, Ь) графа G является мостом в графе
тогда и только тогда, когда в графе существуют две такие
вершины и и ν, что любой (и, у)-маршрут проходит через (я, Ь).
Доказательство теоремы аналогично доказательству
теоремы 4.3 (см. рис. 4.8).
Рис. 4.8
Теорема 4.6.
Ребро (а, Ь)
тогда и только тогда,
циклу графа.
графа
когда оно
G
не
является мостом
принадлежит ни
в графе
одному
Доказательство.
Необходимость. Пусть ребро (а, Ь) — мост в графе.
Предположим, что оно принадлежит некоторому циклу графа (см.
рис. 4.9, на котором ребро (а, Ь) принадлежит циклу (1, 3, 6, а, 2,1)).
В этом случае ребро (а9 Ь) принадлежит двум (а, 6)-маршрутам
(Ρι = (α, b) и (Рг = (а, 2, 1,3, й)), что противоречит теореме 4.4.
Рис. 4.9
§ 4. Вершинная и реберная связности 75
Достаточность. Пусть ребро {а, Ъ) не принадлежит ни
одному циклу графа. В этом случае при его удалении не останется
ни одного (а, 6)-маршрута и, следовательно, вершины а и Ъ
будут принадлежать разным компонентам графа G - (а, Ь).
Теорема доказана. ■
Теорему 4.6 можно доказать без формальной ссылки на
теорему 4.4, непосредственно использовав необходимые фрагменты
доказательства последней при доказательстве первой.
В случае необходимости учитель может считать очевидными
теоремы 4.4 - 4.6.
Вряд ли нужно доказывать теорему 4.1 на факультативе по
математике. Однако при решении многих задач на графах с
помощью компьютера часто производят декомпозицию: сначала
разбивают граф на 2-связные компоненты, а затем решают
задачу для каждой двусвязной компоненты отдельно. При таком
подходе сокращается время реализации алгоритма.
2-связная компонента с помощью компьютера ищется, как
правило, одновременно с точками сочленения графа. Поэтому ее
можно определить следующим образом.
2-связной компонентой графа называется наибольший по
включению подграф графа без точек сочленения, имеющий
более двух вершин.
Задачи
• Задача 4.1. Имеется информационная сеть, состоящая из
η центров хранения и переработки информации. Каждая пара
центров соединена между собой каналом связи. Обмен
информацией между двумя центрами может происходить
непосредственно по соединяющему их каналу связи, либо через другие
каналы. Сеть считается исправной, если каждая пара центров
в состоянии обмениваться информацией. Какое наименьшее
число каналов связи надо разрушить, чтобы сеть стала
неисправной?
76 Глава 2. Связность (§ 3-4)
Так как между каждой парой центров существует канал
связи, то информационную сеть можно задать графом Кп. Для
решения задачи необходимо найти наименьшее число ребер, удаление
которых приведет к несвязному графу, т. е. определить λ(Κη).
Попытки учеников сделать граф Кп несвязным, удаляя
менее, чем η -1 ребро не приводят к успеху, но строго доказать,
чтоλ(Κη) = п-\ им, как правило, не удается.
Решение задачи 4.1. Задачу легко решить, используя
теорему 4.2.
Из нее следует, что η - 1 = к(Кп) <λ(Κη) <δ(Κη) = η-\.
Отсюда λ(Κη) = η - 1.
Задача решена. ■
• Задача 4.2. Две страны соединены системой авиалиний
одной компании. {Внутри стран линий этой компании нет.)
Каждый аэропорт одной страны соединен ровно с тремя
аэропортами другой страны. Из любого города можно долететь до
любого другого города (возможно с пересадками). Из
соображений экономии пришлось закрыть одну линию. Докажите, что и
теперь можно долететь из любого города в любой другой.
Решение задачи 4.2. Граф, все степени вершин которого
равны 3 называется кубическим. Система авиалиний естественным
образом задается двудольным кубическим графом G. Для
решения задачи следует доказать, что кубический двудольный граф не
имеет мостов.
Рис. 4.10
§ 4. Вершинная и реберная связности 77
Предположим, что граф G имеет мост е, после удаления
которого, граф распадется на два графа: G\ и G2 (см. рис. 4.10.)
Рассмотрим граф G\. В одной его доле только вершины
степени 3 (пусть их к штук), во второй одна вершина степени 2 и
остальные вершины степени 3 (пусть их ρ штук).
По теореме 1.3 суммы степеней вершин графа равны.
Поэтому Ък = Зр + 2. Однако такое равенство невозможно,
поскольку число слева делится на 3, а справа — нет.
Следовательно, предположение о существовании моста в
графе G не верно. Задача решена. ■
Таким же образом можно доказать утверждение: регулярный
двудольный граф любой степени / (/ > 1) не имеет мостов.
Задачи (Мельников О. К Теория графов в занимательных
задачах. М.: URSS, 2017).
Вершинная и реберная связность: 160-165.
Точки сочленения и мосты: 166-170.
ГЛАВА 3 Деревья
§ 5. Эквивалентные определения дерева
Деревом называется связный граф, не содержащий циклов.
Граф без циклов называется лесом. Поскольку каждая
компонента леса является связным графом без циклов, то лес состоит
из деревьев. На рис. 5.1 изображены все деревья с пятью
вершинами.
-<
Рис. 5.1
В каждом дереве есть висячая вершина. Докажем это.
Теорема 5.1. Если в графе степень каждой вершины не меньше
двух, то в нем есть цикл.
Доказательство. Возьмем любую вершину щ графа и будем
строить цепь, начинающуюся в этой вершине, по следующему
правилу. Перейдем из вершины щ по некоторому ребру в
вершину щ. Поскольку из вершины щ. выходит не менее двух ребер,
то из нее по новому ребру можно перейти в вершину и3, из нее
по новому ребру в вершину щ и т. д. Так как граф имеет
конечное число вершин, то в какой-то момент цепь приведет в
вершину, в которой уже были (см. рис. 5.2).
§ 5. Эквивалентные определения дерева 79
Рис. 5.2
Это означает, что построенная цепь содержит цикл.
Теорема доказана. ■
Следствие 5.2. В любом дереве есть висячая вершина.
Доказательство. Если в графе все вершины имеют степень
не меньше двух, то из теоремы 5.1 следует, что в графе есть
цикл, что противоречит тому, что граф — дерево.
Следствие доказано. ■
Следующая теорема дает некоторые свойства дерева.
Теорема 5.3. Для графа G, имеющего η вершин и т ребер,
следующие утверждения эквивалентны:
1) G — дерево;
2) G — связный граф и т = η - 1;
3) G — граф без циклов и т = η - 1;
4) любые две несовпадающие вершины графа G соединяет
единственная простая цепь;
5) G — граф без циклов, обладающий тем свойством, что
если какую-либо пару его несмежных вершин
соединить ребром, то полученный граф будет содержать ровно
один цикл.
80 Глава 3. Деревья (§ 5-6)
Доказательство.
1 —» 2. Дано: граф G — дерево. Требуется доказать, что G —
связный граф и число ребер в нем на единицу меньше числа
вершин.
Связность графа G следует из определения дерева. Далее
воспользуемся индукцией по п. При η = 1 утверждение
тривиально. Пусть п> 1 и для всех деревьев с числом вершин
меньше η утверждение верно. Из следствия 5.2 вытекает, что в дереве
есть висячая вершина. Пусть это будет вершина и, из которой
выходит ребро (и, ν). Удалим вершину и вместе с выходящим из
нее единственным ребром. Полученный граф G\ является
связным графом, так как цепь, соединяющая любые две вершины,
отличные от вершины и в графе G, не содержит ребра (и, ν) и
поэтому сохраняется в графе G\. После удаления вершины и
ребра из графа без циклов в получившемся графе циклы
появиться не могут. Следовательно, граф G\ — дерево, которое имеет
щ = η - 1 вершин и т\ = т - 1 ребер. Поскольку в нем меньше,
чем η вершин, то выполняется доказываемое утверждение, т. е.
т\ = щ - 1 или т-\ = η - 2. Из последнего равенства получаем
требуемое утверждение: т = п—1.
Импликация 1 —> 2 доказана.
2 —> 3. Дано: G- связный граф и т = η - 1. Требуется
доказать, что G — граф без циклов и т = η - 1.
Предположим, что в графе есть цикл. Удалив любое ребро
цикла, мы получим связный граф с меньшим числом ребер.
Будем продолжать такое удаление, пока не получится граф без
циклов, т. е. дерево. Вершин в полученном дереве будет п, а
ребер окажется меньше, чем η - 1. Получено противоречие с
доказанной выше импликацией.
Импликация 2 —> 3 доказана.
3 —> 4. Дано, что G — граф без циклов и т = η - 1. Нужно
доказать, что любые две несовпадающие вершины графа G
соединяет единственная простая цепь.
§ 5. Эквивалентные определения дерева 81
Предположим, что какие-то две вершины и и ν графа
соединены двумя различными цепями: L\ и L2. Пусть щ — такая вершина
обеих цепей, что части цепей L\ и L2 от и до щ совпадают, а после
этой вершины цепи L\ и L2 расходятся. Пусть vi — первая после щ
вершина, принадлежащая обеим цепям (см. рис. 5.3). (Вершина щ
может совпадать с вершиной и, а, вершина vi — с вершиной v.)
Lx
Рис. 5.3
Объединив части цепей L\ и L2 между вершинами щ и vi,
получим цикл в графе, что противоречит условию.
Следовательно, между любыми двумя различными вершинами в графе не
может быть более одной цепи.
Осталось доказать, что между двумя различными
вершинами графа будет одна цепь, т. е. граф G связный.
Пусть Gi, G2, ..., Gk — компоненты графа G (к> 1). Пусть
граф G/ имеет щ вершин и mz ребер. По доказанному выше, в
каждой компоненте нет циклов, т. е. графы Gz (1 <i<к) будут
деревьями. Из импликации 1 —► 2 следует, что для каждого дерева
число ребер на единицу меньше числа вершин: mz = щ— 1.
Сложим отмеченные равенства.
т\ + т2 + ... + п%к = (щ - 1) + (п2- 1) + ... + (и*- 1) =
= П\ + П2+ ... + rtk-k.
Но суммы ребер и вершин компонент равны,
соответственно, числу ребер и вершин в графе, т.е.т=п — к.
Учитывая, что по условию т = п—\9 получаем к=19 т.е.
граф G состоит из одной компоненты.
Импликация 3 —> 4 доказана.
82 Глава 3. Деревья (§ 5-6)
4 —» 5. Дано, что любые две несовпадающие вершины графа G
соединяет единственная простая цепь. Нужно доказать, что G —
граф без циклов, обладающий тем свойством, что если какую-
либо пару его несмежных вершин соединить ребром, то
полученный граф будет содержать ровно один цикл.
Предположим, что в графе G есть некоторый цикл С, из
которого по утверждению 3.2 можно выделить простой цикл С\.
Тогда любые вершины цикла С\ будут соединять две простые
цепи. Это противоречит условию импликации. Следовательно, G —
граф без циклов.
Теперь рассмотрим две несовпадающие вершины и и ν графа.
По условию эти вершины соединены цепью. Присоединение к
цепи ребра (и, ν) приводит к появлению цикла в получившемся
графе.
Предположим, что после добавления ребра (и, ν) в
полученном графе окажутся два различных цикла. Но тогда после
удаления из этих циклов ребра (и, ν) в исходном графе окажутся две
различные простые (и, у)-цепи, что противоречит условию.
Импликация 4 —> 5 доказана.
5 —» 1. Дано: G:— граф без циклов, обладающий тем
свойством, что если какую-либо пару его несмежных вершин соединить
ребром, то полученный граф будет содержать ровно один цикл.
Нужно доказать, что G — дерево, т. е. связный граф. (Отсутствие
циклов доказывать не надо, так как это дано в условии.)
Предположим, что граф не связен и какие-то две вершины
находятся в его разных компонентах. Тогда добавление ребра,
соединяющего эти вершины, не приведет к появлению в
получившемся графе цикла.
Импликация 5 —> 1 доказана.
Теорема доказана. ■
Поскольку приведенные утверждения эквивалентны, то
каждое из них молено использовать в качестве определения дерева.
Однако наиболее распространенным является определение,
данное в начале параграфа.
§ 5. Эквивалентные определения дерева 83
Следствие 5.4. Пусть граф G содержит η вершин и т
вершин, причем т<п-\. Тогда граф G несвязен.
Доказательство. Предположим, что граф G связен. Если в
графе есть цикл, то разрушим его, удалив из него любое ребро.
Так будем поступать до тех пор, пока не разрушив все циклы
графа, получим граф Т. Граф Τ — связный граф без циклов,
следовательно, Τ — дерево. Из теоремы 5.3 вытекает, что граф Τ
имеет η - 1 ребро. Значит, в исходном графе их не меньше.
Получено противоречие.
Следствие доказано. ■
Следствие 5.5. Наименьшее число ребер в связном графе
будет тогда, когда граф является деревом.
Доказательство. Если связный граф не является деревом,
то удаление ребра, принадлежащего циклу, не приводит потере
его связности. Если же граф — дерево, то по теорема 5.3 любые
две его несовпадающие вершины соединяет единственная
простая цепь. Поэтому удаление любого ребра этой цепи приводит
несвязному графу.
Следствие доказано. ■
Теорема 5.6. Любое дерево, в котором более одной
вершины, имеет не менее двух висячих вершин.
Доказательство. Пусть целые положительные числа d(l),
d(2\ ..., d(n) — степени вершин дерева. Тогда из леммы о
рукопожатиях имеем: d{\) + d(2) + ... + d(n) = 2(л - 1) = In - 2. Если
среди чисел d(i) (1 <ί<ή) будет менее двух единиц, то левая
часть последнего равенства будет больше правой.
Теорема доказана. ■
В параграфе 1 мы определили число всех помеченных
графов с η вершинами. А сколько будет помеченных деревьев?
84
Глава 3. Деревья (§ 5-6)
Напомним, что два помеченных графа считаются различными,
если существует хотя бы одна такая пара вершин / и у, что в
одном графе эти вершины образуют ребро, а во втором — нет.
Пусть вершины дерева Г занумерованы числами 1, 2, ..., п.
Согласно следствию 5.6 в дереве есть висячие вершины.
Рассмотрим висячую вершину с наименьшим номером, пусть это
будет вершина by и соответствующее ей висячее ребро е\ = фи а\).
Удалив вершину Ь\ и ребро в\9 получим дерево Т\.
Выбрав в графе Т\ висячую вершину с наименьшим
номером &2> висячее ребро ^2, инцидентное этой вершине, е\ = (&2> #2)
и удалив это ребро из графа, получим дерево 72..
Такую операцию будем проводить для получающихся графов
до тех пор, пока после удаления ребер е\ = (Ь\9 а\), ег = (62, яг)>
..., еп-2 = (Ьп-2, ап-г) в графе останется единственное ребро
βη-\ - (Ьп-и вп-\)9 соединяющее две оставшиеся вершины.
Последовательность σ(7) = (яь дг> ···> <*п-2) называется кодом
Прюфера. Она однозначно определяется деревом Т.
Покажем на примере графа, изображенного на рис. 5.4а,
построение последовательности σ(7).
7
щ
1
τ
<
(
2
> <
5
>
5
4
ψ
3
W
7
•
а
1
7
1
\
В
Рис. 5.4
Висячая вершина Ь \ с наименьшим номером — это вершина 3.
Она смежна с вершиной 4. Поэтому первый член а\
последовательности σ(7) равен 4. Удалим ребро (3, 4) из дерева.
В полученном дереве висячая вершина Ъ2 с наименьшим
номером — вершина 4, которая смежна с вершиной 2.
Следовательно, аг = 2. Удалим ребро (4, 2) из графа. Получившееся
дерево Т2 изображено на рис. 5.46.
§ 5. Эквивалентные определения дерева 85
В полученном графе висячая вершина Ьз с наименьшим
номером — вершина 5, которая смежна с вершиной 2. Поэтому
а3 = 2. Продолжая процесс, получаем δ4 = 2, щ - 1 ;■ bs = 6,
а5=1.
После удаления, соответствующих ребер в дереве останется
одно ребро (1,7) (рис. 5.4в)
Получена последовательность σ(7) = (4, 2, 2, 1, 1).
Итак, последовательность σ(7) = (αι, #2* ..., α^)
однозначно определяется деревом Т. Оказывается, что по любой
последовательности σ(7) можно однозначно построить дерево.
Докажем это, одновременно иллюстрируя доказательство
восстановлением дерева Τ по полученной ранее последовательности
σ(7) = (4,2,2, 1,1).
Обозначим через N множество вершин из {1, 2, ...,«}, не
содержащихся в последовательности σ(7). Это множество не
пусто, поскольку в последовательности (п - 2) чисел. Заметим, что
множество N— это множество висячих вершин графах Г.
Пусть ί\ — наименьшее число в из множестве N Вспомним,
что для получения числа а\ мы определили вершину, с которой
смежна висячая вершина дерева с наименьшим номером.
Поэтому вершина i\ смежна в строящемся дереве Тс вершиной а\.
(Минимальное число в множестве N = {3, 5, 6, 7} есть 3, т. е.
ί\ = 39а\= 4. Поэтому в дереве Г есть ребро (3, 4) (см. рис. 5.5а)).
Теперь будем восстанавливать дерево Т\9 соответствующее
дереву Τ без ребра (/ι, α\). Удалив вершину а\ из σ(7), получим
σ(Γι). Обозначим через Ν\ — множество вершин из {1,2, ..., и},
не содержащихся в последовательности σ(Γι) без вершины ί\.
Множество Ν\ — это множество всех висячих вершин
строящегося графа Т\.
Выберем наименьшее число /*2 в множестве Ν\. Эта вершина
в дереве будет смежна с <?2, первой вершиной в о(Т\).
(Последовательность σ(Ζ\) = (2, 2, 1, 1), множество Ν\ =
= {4, 5, 6, 7}. минимальное число в множестве Ν\ есть 4, т. е.
h = 4,02 = 2. Поэтому в дереве Г есть ребро (4, 2) (см. рис. 5.56).)
86 Глава 3. Деревья (§ 5-6)
Продолжим этот процесс, тем же способом добавляя ребра
0з5 #з)> (/4, о*), ... (zV-2, #«-2)·
(В строящемся дереве последовательно добавляем ребра
(5, 2), (2, 1), (6, 1) (см. рис. 5.5в).)
Последними соединяются две вершины, оставшиеся в
множестве Л^_2·
(Множество Af5 = {l, 7}. Поэтому, добавляя в граф ребро
(1, 7), получаем дерево Τ (см. рис. 5.5г).)
Рис. 5.5
§ 5. Эквивалентные определения дерева 87
Отметим следующее из алгоритма восстановления дерева
по коду.
Замечание. Множество Nj — это множество висячих
вершин графа Tt.
Теорема 5.7. Если коды Прюфера двух помеченных деревьев
различны, то эти деревья также различны.
Доказательство. Пусть σι (Г) = (аь ^ .-..,- cin-2) и 02(T,r) = (b\9,
Ζ>2, · · ·, b^ — различные коды Прюфера. Тогда существует такое
m (1 < m < η - 2), что at = 6/(1 < ί < m - 1) и am Φ bm, т. е.
последовательности <5\{Тт-{) и a2(Tffm-\) начинаются с разных элементов.
Тогда по алгоритму восстановления дерева по коду найдутся
вершины щ и и2, что в графах есть ребра (щ, ат) и (w2, bm). Если
Щ = щ, то эта вершина в восстанавливаемых графах смежна с
различными вершинами. Если щ Φ щ, то ребра (щ, ат) и (г/2, Ьт)
могут совпадать лишь, когда щ = Ът и ат - щ. Однако из
приведенного выше замечания следует, что эти вершины щ и и2
являются висячими в строящихся подграфах TV-ι и Т"т-\. Поэтому
эти подграфы в восстанавливаемых графах разные.
Следовательно, разные и сами графы.
Теорема доказана. ■
Теорема 5.8 (Кэли, 1897 г.). Число помеченных деревьев
с η вершинами равно и*"2.
Доказательство. Определим число различных
последовательностей σ(7). Каждый из (п-2) элементов произвольной
последовательности может принимать любое из η значений от 1 до п.
Поэтому число последовательностей равно rf~2.
Поскольку последовательность σ(7) однозначно
определяется для каждого дерева, то из теоремы 5.7 вытекает, что
существует взаимно однозначное соответствие между множеством
88 Глава 3. Деревья (§ 5-6)
деревьев и множеством последовательностей. Поэтому число
деревьев равно числу последовательностей. Следовательно, чис-
ло различных помеченных деревьев равно η .
Теорема доказана. ■
Пусть G.— произвольный связный граф.
Эксцентриситетом вершины и называется наибольшее из расстояний от
вершины и до других вершин графа. Эксцентриситет вершины
обозначается через е(и). Максимальный среди всех
эксцентриситетов вершин графа G называется диаметром графа G и
обозначается через d(G). Минимальный среди всех эксцентриситетов
вершин графа G называется радиусом графа G и обозначается
через r(G). Вершина, эксцентриситет которой равен радиусу
графа, называется центральной вершиной графа. Множество
центральных вершин называется центром графа.
У графа, изображенного на рис. 5.6 указаны
эксцентриситеты вершин. Радиус этого графа равен 3, диаметр — 5,
центральные вершины графа отмечены.
Рис. 5.6
Центр графа может состоять из любого числа вершин.
Например, центр простой цепи с нечетным числом вершин состоит
из одной вершины, простой цепи с четным числом вершин — из
двух вершин. Для любого простого цикла или полного графа все
вершины центральные.
Теорема 5.9. Центр любого дерева состоит из одной или из
двух смежных вершин.
§ 5. Эквивалентные определения дерева
89
Доказательство. Занумеруем все вершины дерева.
Эксцентриситет вершины — это расстояние от вершины до самой
дальней от нее вершины. В дереве самой дальней для любой
вершины будет какая-то висячая вершина дерева. Поэтому, если
мы удалим из дерева Τ все висячие вершины (вместе с
выходящими из них ребрами), эксцентриситеты остальных вершин в
получившемся дереве Т\ уменьшатся на единицу. Отсюда
следует, что вершины с наименьшим эксцентриситетом в дереве Т\
будут вершины с теми же номерами, что и в дереве Т.
Удалим из дерева Т\ висячие вершины и получим дерево Гг..
Из сказанного ранее вытекает, что центр дерева Тг такой, как у
дерева Гь и, значит, как у дерева Т. (На рис. 5.7 изображены
деревья Г, Т\9 72, около каждой вершины указан ее эксцентриситет.
Центральные вершины отмечены). Проделав такую операцию
несколько раз, мы придем или к дереву К\9 у которого одна
центральная вершина, или к дереву &2, у которого две центральных
вершины.
5 4
5 4
!®-%
П
Т-1 — Κί
РИС. 5.7
Теорема доказана.
90
Глава 3. Деревья (§ 5-6)
КОММЕНТАРИИ
На занятиях со школьниками можно сразу от противного
доказывать теорему о существовании висячей вершины в дереве.
Теорему 5.3, дающую эквивалентные определения дерева,
следует полностью доказывать лишь в старших классах. В
младших и средних можно ограничиться доказательством некоторых
свойств, необходимых при решении задач. Конечно, основным
среди них будет тот факт, что в дереве с η вершинами и т ребрами
т = п- 1.
Импликация 1 —> 2 доказывается с помощью
математической индукции. В младших и средних классах, где этот
прием неизвестен, индукцию можно «замаскировать» следующим
образом.
Рассмотрим дерево Т. Из теоремы 5.1 следует, что в дереве
есть висячая вершина щ. Удалим вершину щ вместе с
выходящим из нее ребром е\ из дерева, получим граф Т\9 который также
будет деревом. (Этот факт можно считать очевидным и не
доказывать.) В дереве Т\ есть висячая вершина иъ Удалим ее вместе с
выходящим из нее ребром е2 из дерева, получим дерево Тъ
Процесс продолжим до получения дерева 7& состоящего из одной
.11.
η = 6, m = 7
п\ — 5, m\ = 6
п2 = 4, пг2 = 5
пъ = 3,т3 = 4
Щ = 2, AW4 = 3
Рис. 5.8
§ 5. Эквивалентные определения дерева 91
вершины и не имеющего ребер (графа К{) или состоящего из двух
вершин и одного ребра (графа К2). (На рис. 5.8 приведен один из
возможных примеров последовательности деревьев.)
Для полученных деревьев К\ и К2 доказываемое
соотношение выполняется. Теперь будем по очереди в обратном порядке
возвращать в граф удаленные ранее вершины и ребра.
Поскольку на каждом шаге возвращается ровно одна вершина и
ровно одно ребро, то доказываемое соотношение будет
выполняться для каждого графа последовательности, в том числе и
для графа Т.
С помощью такого приема свойство можно доказывать
даже в младших классах. Для наглядности следует лишь
побеспокоиться, чтобы в рассматриваемом графе было немного
ребер. После рассмотрения нескольких примеров можно сделать
вывод: поскольку рассмотренный прием можно применять для
любого дерева, то и полученный вывод будет верен для любого
дерева.
При доказательстве импликации 3 —> 4 невозможность
существования нескольких цепей, соединяющих две
несовпадающие вершины графа, как правило, доказывается самими
учениками. Почти всегда они считают, что доказательство
импликации на этом окончено. Учитель должен обратить
внимание, что доказана невозможность существование двух, трех,
четырех... цепей, соединяющих две вершины, а вот наличие одной
цепи не доказано.
Еще следует обратить внимание на то, что пока не
использована вся данная в формулировке импликации информация, и при
доказательстве существования хотя бы одной цепи можно
использовать уже доказанные свойства.
Большинство импликаций доказывается от противного.
Противоречие во всех случаях получается с условиями, данными
для доказательства конкретной импликации.
Теорему 5.6 со школьниками можно доказывать, как
теорему 5.2.
92 Глава 3. Деревья (§ 5-6)
Доказательство теоремы 5.6. Согласно следствию 5.2 в
любом дереве есть одна висячая вершина (пусть это вершина щ).
Предположим, что остальные вершины имеют степени 2. Взяв
вершину щ в качестве начальной и повторив доказательство
теоремы 5.1, найдем цикл в дереве, т. е. получим противоречие.
Теорема доказана. ■
При определении числа помеченных деревьев следует
обратить внимание учеников на следующий распространенный
прием. Устанавливается взаимно однозначное соответствие между
различными конечными множествами. В этом случае числа
элементов в множествах одинаковы. Поэтому для определения
этого числа в одном из множеств достаточно определить его в
другом. В нашем случае подсчет количества деревьев заменяется на
подсчет количества последовательностей.
В случае доказательства теореме о центре следует обратить
внимание, что центральная вершина в графе не обязательно
единственная и что существуют графы (например, полные
графы или простые циклы), в которых каждая вершина является
центральной.
Предлагаемая реализация математической индукции будет
встречаться в книге еще несколько раз. Особенностью прове-
денной здесь индукции при доказательстве теоремы о центре
дерева является то, что базой индукции является не один объект,
как обычно в школьном использовании математической
индукции, а два объекта: графы К\ и К2.
Задачи
• Задача 5.1. Постройте все неизоморфные деревья с
шестью вершинами.
Задачи, в которых нужно построить (пересчитать) все
объекты с заданными свойствами, как правило, очень сложны. Таких
объектов может быть много, и часто трудно различать их между
собой. Если строить объекты без всякой системы, то часто что-то
будет пропущено, а что-то предъявлено несколько раз. Поэтому
§ 5. Эквивалентные определения дерева 93
следует применять декомпозицию. Объекты разбиваются на
группы с определенными свойствами. При необходимости группы
разбиваются на подгруппы и т. д.
Решение задачи 5.1. Деревья с шестью вершинами имеют
пять ребер. Проведем декомпозицию: сначала построим все
деревья, имеющие диаметр пять, затем четыре и т. д.
Существует только одно дерево с шестью вершинами
диаметра 5, это цепь Р6 (рис. 5.9).
Gi
Рис. 5.9
Построим все неизоморфные деревья диаметра 4. Сначала
изобразим диаметральную цепь.
Рис. 5.10
Шестую вершину нужно соединить ребром с какой-то
вершиной цепи. Ее нельзя соединять с концевой вершиной, так как
в этом случае диаметр дерева увеличится.
Оставшиеся вершины цепи можно разделить на две группы:
одна центральная вершина и две нецентральные вершины.
Поэтому шестую вершину можно соединить ребром или с
центральной, или с одной из нецентральных вершин (см. рис. 5.11).
Если же ее соединить ребром со второй нецентральной
вершиной, то получится граф, изоморфный Gz
Рис. 5.11
94
Глава 3. Деревья (§ 5-6)
Построим все неизоморфные деревья диаметра 3. Изобразим
диаметральную цепь.
Рис. 5.12
Оставшиеся две вершины можно соединить ребрами с одной
нецентральной вершиной, а можно с разными (рис. 5.13).
а
Gs
Рис. 5.13
Остался последний случай: дерево имеет диаметр 2 и,
значит, одну центральную вершину. Оставшиеся 3 вершины нужно
соединить ребрами с центральной вершиной (рис. 5.14).
Рис. 5.14
Построены все неизоморфные деревья с шестью
вершинами. Задача решена. ■
• Задача 5.2. Насыщенным углеводородом называется
соединение углерода С, имеющего валентность 4 и водорода Н,
имеющего валентность 1, в котором при заданном числе
атомов углерода содерэ1сится наибольшее число атомов водорода.
Найдите формулу насыщенного углеводорода, содержащего η
атомов углерода.
§ 5. Эквивалентные определения дерева 95
Решение задачи 5.2. Графом молекулы называется граф,
вершинами которого являются атомы, составляющие молекулу, а
ребрами — соответствующие валентные связи между атомами.
Пусть молекула насыщенного углеводорода содержит η атомов
углерода. Мы должны найти в ней число т атомов водорода.
Докажем, что атомом молекулы насыщенного углеводорода
является дерево.
Предположим, что в графе G есть цикл С. Поскольку
валентности атомов водорода равны 1, то цикл С может состоять
только из атомов углеводорода. Разорвав некоторую связь между
атомами углеводорода в цикле и присоединив к этим атомам
атомы водорода, мы получим молекулу, в которой атомов
водорода будет больше, чем в первоначальной (см. рис. 5.15). Это
противоречит тому, что граф G был графом молекулы
насыщенного углеводорода.
\1С с у n1^
н
-Тс сГ ЛГ~
Рис. 5.15
Молекула насыщенного углеводорода содержит η атомов
углерода и т атомов водорода. Тогда граф молекулы, являющийся
деревом, имеет η + т вершин и η + т - 1 ребер (см. соотношение
между числом вершин и ребер дерева, полученное в теореме 5.3).
Воспользуемся леммой о рукопожатиях
4/7+1 · т = 2{п + т - 1).
Отсюда получаем: т = 2п + 2.
ч
<г
96
Глава 3. Деревья (§ 5-6)
Это значит, что формула насыщенного углеводорода,
имеющего η атомов углерода, будет С„Н2„+2·
Графы молекул насыщенных углеводородов при η = 1, 2, 3
изображены на рис. 5.16.
Η
Η
С Η Η
Η
Η
Η
Η
С Η Η
Η
Η
Η
Η
Η
Η
ο—
с с
Η
Η
Рис. 5.16
Задача решена. ■
Часто эта задача решается в старших классах после того, как
ученики на уроках химии познакомились с насыщенными
углеводородами и знают их формулу. Обычно их «решение»
заключается в подсчете числа атомов водорода в графах,
изображенных на рисунках 5.16, и получения эмпирическим путем
зависимости между пит. (Получить формулу нетрудно, поскольку
ученики ее уже знают.) На вопрос, почему именно нарисован
такой граф молекулы, школьники отвечают, что это они знают
из уроков химии. Они не понимают, что должны пользоваться
только сведениями, заданными в условиях задачи. Даже после
того, как доказано отсутствие циклов в графе ученики
рассматривают в качестве возможных только графы, изображенные на
рис. 5.16. После решения следует обратить их внимание на то,
что мы не получаем изображение графа, а только соотношение
между числом вершин разных степеней. Многие ученики
испытывают недоумение от того, как химическая задача решена без
всякой химии, без всяких опытов. (Химические знания
присутствуют при постановке задачи, например, заданные валентности
элементов.)
§ 5. Эквивалентные определения дерева 97
• Задача 5.3· Шахматная доска раскрашена 10 красками так,
что клетки, имеющие общую сторону, окрашены в разные цвета,
причем все 10 красок использованы. Две краски называются
соседними, если существуют окрашенные ими соседние клетки,
т. е. клетки, имеющие общую сторону Чему равно наименьшее
число пар соседних красок?
Решение задачи 5.3. Рассмотрим произвольную раскраску
шахматной доски десятью красками, при которой клетки,
имеющие общую сторону, окрашены в разные цвета. Построим
граф G, вершины которого соответствуют краскам и две
вершины соединены ребром тогда и только тогда, когда две краски
являются соседними при этой раскраске.
Докажем, что граф G будет связным. Пусть ν,- и vy — две
вершины графа, соответствующие цветам ί и у. Найдем на
шахматной доске две клетки этих цветов. Они соединены путем L,
проходящим через стороны клеток и не проходящим через их
вершины. Поскольку при переходе из клетки в клетку в пути L
меняется цвет клетки, то путь L в графе G будет соответствовать
некоторому маршруту, соединяющему вершины νζ· и V/.
(На рис. 5.17 задана доска размера 5x5, раскрашенная
шестью красками, и соответствующий этой раскраске граф. Отме-
1
4
1
5
®
2
1
2
6
Φ
1
6
1
©
©
3
4
©
Φ
5
©
©
Φ
5
1
Рис. 5.17
98 Глава 3. Деревья (§ 5-6)
ченному кружками пути L из левого нижнего угла доски в
правый верхний соответствует в графе G маршрут Z* = (3, 1, 6, 5, 4,
3, 1, 5, 4) При этой раскраске доски граф G содержит 11 ребер,
каждое из которых определяет пару соседних красок.)
Наименьшее число ребер в связном графе будет в том
случае, когда граф является деревом (см. следствие 5.5). Поэтому
минимально возможное число ребер в графе G - 9, и меньше,
чем 9 пар соседних красок, быть не может.
Зададим раскраску, в которой ровно 9 пар. Окрасим в цвет 1
клетки, расположенные в шахматном порядке, т. е. через одну,
а остальные клетки окрасим, как угодно, лишь бы были
использованы все цвета. Тогда цвет 1 будет соседним с каждым из
остальных 9 цветов, а из этих 9 цветов никакая пара не будет
соседней.
Задача решена. ■
При построении графовых моделей ситуаций, заданных в
задачах, почти всегда ясно, какие объекты рассматривать как
вершины графа и когда эти вершины будут порождать ребро. Эта
задача отличается от предыдущих, что в ней отсутствует такая
очевидность. Ученики чаще всего пытаются задать в качестве
графа саму доску, и лишь невозможность дальнейших
рассуждений в этом случае побуждает их к поиску других вариантов.
Однако часто без подсказки учитель не обходится.
Иногда школьники считают задачу решенной при
установлении факта, что меньше 9 цветов быть не может. Следует
пояснить им, что при этом получена только оценка числа пар
соседних красок, и для окончательного решения задачи необходимо
установить, что нужная раскраска существует. Пример такой
раскраски приводится без труда.
Задача аналогично решается для доски любого размера и
любого числа красок.
Задачи (Мельников О. И. Теория графов в занимательных
задачах. М.: URSS, 2017).
Деревья: 94-118.
§ 6. Минимальное остовное дерево 99
§6. Минимальное остовное дерево
Рассмотрим следующую задачу. Пусть задан связный граф G,
имеющий η вершин, каждому ребру е которого приписано
положительное число 1(e), которое трактуется как длина ребра.
Необходимо найти в графе G связный остовный подграф Τ с
минимальной суммарной длиной ребер, которая обозначается /(7).
Такой подграф называется связным остовным подграфом
минимальной длины. Связный остовный подграф, являющийся
деревом, называется остовным деревом. (Напомним, что остовным
подграфом графа G называется подграф Н, которому
принадлежат все вершины графа G.)
Такая задача возникает при проектировании дорог,
трубопроводов, линий электропередач и т. д.
Связный остовный подграф минимальной длины является
остовным деревом минимальной длины. Предположим, что это
не так, и в минимальном остовном подграфе есть цикл. После
удаления из цикла любого ребра подграф остается связным, но
суммарная длина его ребер уменьшится. Это дерево часто
называется минимальным остовным деревом.
Поставленную задачу решает алгоритм Краскала, который
заключается в следующем.
Алгоритм Краскала
1. В качестве начального остовного подграфа Го графа G берем
пустой граф Оп.
2. Строим граф Т\9 присоединив к графу То ребро е\ графа G
минимальной длины.
3. Если граф Ti построен и i < η - 1, то строим граф Ti+U
присоединив к графу Tf ребро ei+ \ графа G, имеющее
минимальную длину среди ребер, не входящих в Т\ и не образующее
циклов с ребрами из Гг.
4. Построенный граф Γ„_ι является минимальным остовным
деревом.
100
Глава 3. Деревья (§ 5-6)
Покажем на примере, как работает алгоритм, а затем
докажем его корректность. На рис. 6.1а представлен граф, для
которого нужно построить минимальное остовное дерево. В кружках
около ребер указаны их длины. Выделены все вершины графа,
образующие подграф Г0.
Ребрами минимальной длины являются ребра (1, 5) и (3, 4).
Любое из них можно взять в качестве ребра eh а оставшееся в
качестве ребра еъ Добавив эти ребра поочередно к Г0, получим граф Т2
(см. рис. 5.16, на котором вершины и ребра графа Т2 выделены).
1
1
т<
о
а
1
1
Рис. 6.1
§ 6. Минимальное остовное дерево 101
Теперь ребрами минимальной длины из ребер, не входящих
в граф Г2, являются ребра (1, 2) и (2, 5). Каждое из них не
образует цикла с ранее выбранными ребрами, поэтому каждое из них
можно добавить к строящемуся дереву. Возьмем в качестве
ребра ез ребро (1,2) (см. рис. 5.1 в).
Теперь ребром минимальной длины из ребер, не входящих в
граф Г3 строящееся дерево, является ребро (2, 5). Однако оно
образует цикл с входящими в Т2 ребрами (1, 5) и (1, 2). Поэтому
оно не входит в строящееся дерево, а в него входит следующее
по длине ребро (1, 3), которое циклов не образует. Добавив это
ребро к графу 7з получим дерево Т$ (см. рис. 5.1 г).
Поскольку граф G имеет 5 вершин, а построенный граф Т$
четыре ребра, то Г4 является минимальным остовным деревом.
Обратите внимание, что добавление любого из оставшихся
ребер приводит к появлению цикла в получившемся графе.
Если бы в качестве ребра e-$ выбрали бы ребро (2, 5), то
получили бы другое остовное дерево.
Теорема 6.1. Если i < η - 1 и граф 7} построен, то можно
построить граф Ti+\.
Доказательство. Граф Г/ имеет i ребер. По следствию 5.4
при i < η - 1 он будет несвязным. Тогда добавление любого
ребра, соединяющего различные компоненты этого графа не
приведет к появлению циклов.
Теорема доказана. ■
Теорема 6.2. Граф Т^\ является минимальным остовным
деревом.
Граф Тп-\ содержит п-\ ребро. По теореме 5.2 он будет
связным и, следовательно, деревом. Осталось доказать, что
построенное дерево Тп-\ будет иметь минимальную суммарную
длину ребер среди всех остовных деревьев.
102 Глава 3. Деревья (§ 5-6)
Предположим, что это не так, и существуют остовные
деревья с меньшей суммарной длиной ребер. Среди минимальных
остовных деревьев выберем дерево Г, которое имеет с деревом
Тп-\ максимальное число общих ребер. Итак, 1(Т) < /(Γ„_ι).
Пусть дерево Т^\ имеет ребра (в\9 в2, ..., вр-\9 ер, ..., ..., е„-\)9
причем ребра дерева записаны в порядке их выбора
алгоритмом, и ребро ер = (и, ν) — первое ребро среди ребер, выбранных
алгоритмом, не входящее в дерево Т. Тогда дерево Τ имеет ребра
(е\9 02, ·.·> вр-и £р\ ···> ···> Ζη-\) перфер'. Добавив к дереву Греб-
ро (и, ν) получим в графе Т\ = Τ + ер цикл, поскольку в дереве Τ
есть простая (и, у)-цепь. В этом цикле существует некоторое
ребро е, которого нет в графе Тп-\> так как в противном случае в
дереве Тп-\ был бы цикл (см. рис. 6.2, на котором ребра графа
Γ„_ι изображены сплошными линиями, ребра графа Τ —
штриховыми).
и ер ν
Рис. 6.2
Ребро е не образует циклов с ребрами в\9 ег, ..., вр-\ в графе Г,
значит, оно не образует цикла с этими же ребрами и в графе Τ^χ.
Следовательно, l(ep) < 1(e), так как в противном случае на
соответствующем шаге мы выбрали бы, согласно алгоритму, ребро е
вместо ребра ер. Заменим в дереве Г ребро е на ребро ер. Мы
получим новый граф Т\ который связен и имеет η - 1 ребер.
Согласно теореме 5.3 этот граф является деревом. Поскольку мы
заменили в графе некоторое ребро е на ребро, которое не длиннее,
§ 6. Минимальное остовное дерево 103
а может быть и короче е, то /(7") < /(7). Но Г— минимальное
остовное дерево, следовательно, и Г* — также минимальное
остовное дерево: /(77f) = /(7).
В минимальном остовном дереве V больше общих ребер с
деревом Т„-\9 чем у дерева Т. Получено противоречие с выбором
оптимального остовного дерева.
Теорема доказана. ■
Существует еще один алгоритм решения поставленной задачи.
Алгоритм Прима отличается от алгоритма Краскала тем,
что на каждом его шаге строится не просто граф без циклов, а
дерево.
Алгоритм Прима
1. В качестве начального дерева Р0 выбираем произвольную
вершину графа.
2. Если дерево Р„ содержащее / + 1 вершину и / ребер,
построено и i < η - 1, то среди ребер, соединяющих вершины
этого дерева с вершинами графа G, не входящими в Р/ (такие
ребра будем называть подходящими для дерева Р,), выбираем
ребро ei+i минимальной длины. Строим дерево Ρζ·+ι, добавив
ребро βί+\ к дереву Р/.
3. Построенное дерево Ρ„_ι является минимальным остовным
деревом.
Проиллюстрируем на примере, как работает алгоритм
Прима для графа, изображенного на рис. 6.1.
В качестве дерева Ро выбираем вершину 1. Подходящими
для дерева Ро являются ребра (1, 2), (1, 3) и (1, 5). Наименьшую
длину из них имеет ребро (1, 5). Добавив его к дереву Р0,
получим дерево Pi (см. рис. 6.3а).
Подходящими для дерева Pi являются ребра (1, 2), (1, 3), (5, 2)
и (5, 4). Наименьшую длину из них имеют ребра (1, 2) и (5, 2),
поэтому любое из них можно добавить к строящемуся дереву.
Добавив к дереву Pi, например, ребро (5, 2), получим дерево Ρ г
(см. рис. 6.36).
104
Глава 3. Деревья (§ 5-6)
Наименьшую длину из подходящих для дерева Рг ребер (1, 3),
(2, 3), (2, 4) и (5, 4)) имеет ребро (1, 3). Добавив его к дереву Рг,
получим дерево Рз (см. рис. б.Зв).
Наименьшую длину из подходящих для дерева Рз ребер (2, 4),
(3, 4) и (5, 4) имеет ребро (3, 4). Добавив его к дереву Р3,
получим дерево Д (см. рис. б.Зг).
Поскольку построенный граф Р4 четыре ребра, то Д
является минимальным остовным деревом.
1
1
4
Pi
CD
а
3
4
CD
Р2
б
3
1
1
Рис. 6.3
§ 6. Минимальное остовное дерево 105
Теорема 6.3. Дерево Ρ^\ является минимальным остовным
деревом.
Доказательство.
Будем называть получающиеся при построении остовного
дерева Ρ = Р^\ с помощью алгоритма Прима деревья его
фрагментами. Докажем, что каждый раз после добавления к любому
фрагменту некоторого остовного дерева подходящего ребра
будет получаться фрагмент или этого, или другого остовного
дерева, суммарная длина ребер которого не превосходит /(Р).
Пусть F — некоторый фрагмент минимального остовного
дерева и ребро е0 — подходящее ребро для этого фрагмента. (На
рис. 6.4а изображен граф G и выделено его минимальное
остовное дерево Р. На рис. 6.46 изображен фрагмент F остовного
дерева Ρ и подходящее для него ребро ео).
Если ребро ео принадлежит дереву Р, то дерево F U е0 также
является его фрагментом. Пусть е0 не принадлежит дереву Ρ (как
изображено на рис. 6.46).
Добавим ребро ео к дереву Ρ Из теоремы 5.2 следует, что в
графе Ρ Ό ео будет ровно один цикл. Одно из ребер цикла
является подходящим для фрагмента F, так как в противном случае
все ребра цикла будут принадлежать дереву Р. Пусть и — конец
ребра во, не принадлежащий фрагменту F. Двигаясь вдоль
единственного цикла от вершины и в сторону противоположную
ребру во, придем к подходящему ребру е\ для фрагмента F,
отличному от ео.
Сравним длины ребер во и в\. Поскольку ео — наименьшее
подходящее ребро, то 1(е0) <1(е\). Заменив в дереве Ρ ребро в\ на
ребро ео, получим остовное дерево Р°, и 1(Р°) < 1{Р). Но Ρ —
минимальное остовное дерево, поэтому и Р° также минимальное
остовное дерево (см. рис. 6.4г).
Следовательно граф F U ео является фрагментом
минимального остовного дерева Р°.
106
Глава 3. Деревья (§ 5-6)
а
в
Рис. 6.4
Поскольку начальное дерево Р0> состоящее из одной
вершины, является фрагментом любого минимального остовного
дерева, а на каждом шаге строится фрагмент какого-то минимального
остовного дерева, то дерево Рп-\ является минимальным остов-
ным деревом.
Теорема доказана. ■
В некоторых ситуациях нужно построить остовное дерево с
максимальной суммарной длиной ребер. Эту задачу можно
решить, применяя рассмотренные алгоритмы Краскала и Прима,
заменяя всякий раз ребро минимальной длины на ребро
максимальной длины.
Рассмотренные алгоритмы относятся к группе так
называемых жадных алгоритмов. Жадные алгоритмы можно
охарактеризовать тем, что на каждом шаге выбирается такое направление
поиска оптимального решения, которое приносит лучший
результат на этом шаге.
Рассмотренная выше задача иногда называется задачей о
соединении городов.
§ 6. Минимальное остовное дерево 107
С соединением городов связана следующая задача,
называемая геометрической задачей Штейнера:
На эвклидовой плоскости задано множество точек (вершин
полного графа). Расстояние между любыми двумя вершинами
графа равно расстоянию между изображающими эти вершины
точками. Разрешается добавить к имеющимся вершинам столько
новых вершин, сколько потребуется, чтобы дерево соединяющее
все эти вершины имело наименьшую суммарную длину ребер.
Эффективных алгоритмов, решающих задачу Штейнера,
неизвестно.
КОММЕНТАРИИ
Алгоритм построения минимального остовного дерева может
быть реализован на факультативе по информатике, при этом для
школьников имеется много возможностей как для работы с
известными приемами программирования и их использования, так и
для самостоятельной работы по придумыванию таких приемов.
Если трактовать алгоритм как способ сведения трудной
задачи к последовательности легких, то алгоритм Краскала сводит
«трудную» задачу построения минимального остовного дерева к
двум «легким» задачам: выбора на каждом шаге ребра
минимальной длины и проверки, образует ли это ребро цикл с ранее
выбранными ребрами.
Если ребро минимальной длины каждый раз выбирать
заново, то построенный алгоритм будет неэффективным. Поэтому
следует сначала отсортировать ребра по неубыванию их длин, а
затем выбирать по очереди ребра из полученного списка.
Для проверки существования цикла можно предложить
алгоритм, основанный на поиске в ширину, однако такой алгоритм
будет неэффективным. Для решения этой задачи лучше
использовать существующие или придумать новые специальные
структуры данных.
При реализации алгоритма Прима на каждом шаге
необходимо выбирать ребро наименьшей длины, соединяющее вершины
108 Глава 3. Деревья (§ 5-6)
Строящегося дерева с вершинами, не входящими в дерево. Для
эффективного решения этой задачи нужно создать список, в
котором для каждой вершинами, не входящей в дерево, будет
храниться минимальное расстояния до вершин дерева. При
увеличении дерева на одну вершину список следует корректировать.
Представляет интерес научно-экспериментальная работа
школьников по сравнению алгоритмов Краскала и Прима для
различных видов графов.
Задачи {Мельников О. И. Теория графов в занимательных
задачах. М.: URSS, 2017).
Минимальное остовное дерево: 122.
ГЛАВА 3 Обходы в графах
§ 7. Эйлеровы графы
Начало теории графов как раздела математики
традиционно связывают со знаменитой задачей о кёнигсбергских мостах.
В городе Кенигсберге на реке Прегель были расположены семь
мостов, как показано на рис. 7.1. Среди жителей города была
популярна следующая головоломка: можно ли, выйдя из какой-
либо точки на берегу вернуться в эту точку, прогулявшись по
каждому мосту ровно один раз.
Рис.7.1
Перейдем от схемы части города с рекой и мостами к
графу следующим образом. Поставим в соответствие каждой
части суши, образованной рекой, вершину графа. Если две части
суши соединены мостом, то соответствующие им вершины графа
110 Глава 3. Обходы в графах (§ 7-8)
соединим ребром (рис. 7.2). Полученный мультиграф полностью
описывает рассматриваемую ситуацию.
В графовой постановке задача звучит так: существует ли в
построенном мультиграфе цикл, содержащий все его ребра?
В 1736 году великий математик Леонард Эйлер полностью
решил эту задачу. Он определил условия, при которых в
произвольном графе будет существовать требуемый цикл.
Все сказанное в этом параграфе о графах будет относиться и
к мультиграфам.
Цикл в графе называется эйлеровым, если он содержит все
ребра графа. Связный граф, в котором существует эйлеров цикл,
называется эйлеровым. В противном случае граф называется
неэйлеровым.
Теорема 7.1 (теорема
ровым тогда и только
четные.
Эйлера).
Связный
граф является эйле-
тогда, когда степени всех
его
вершин
Доказательство. Необходимость. Пусть G — эйлеров граф.
Эйлеров цикл графа, проходя каждый раз через какую-либо
вершину графа, входит в нее по одному ребру и выходит по
второму, т. е. число входов в вершину равно числу выходов из
нее. Это означает, что из каждой вершины графа выходит четное
§ 7. Эйлеровы графы 111
число ребер цикла, а поскольку цикл содержит все ребра графа,
то отсюда вытекает, что степень каждой вершины графа будет
четной.
Достаточность. Пусть степени всех вершин связного графа
четны. По теореме 5.1 в графе существует цикл С\. Если цикл С\
содержит все ребра графа G, то он является эйлеровым циклом,
а граф G — эйлеровым графом.
В противном случае, удалив ребра цикла из графа G,
получим граф G\. Так как степени всех вершин графа G и графа,
порожденного ребрами цикла, четные, то степени всех вершин
графа G\ также четные. (Граф G\ может быть несвязным.)
Поскольку граф G связный, то графы С\ и G\ должны иметь хотя бы
одну общую вершину V2. Теперь, как и ранее, начиная с вершины
V2 построим в графе G\ цикл Съ Объединим циклы С\ и С2 в
цикл С3, пройдя из вершины v2 сначала цикл С\9 а затем цикл С2
(см. рис. 7.3).
Рис. 7.3
Если цикл С3 содержит не все ребра графа G, то, проделав
аналогичное построение, получим цикл с большим числом
ребер, включающий цикл С3. Так будем поступать до тех пор, пока
не получим эйлеров цикл. Это произойдет, поскольку после
каждого увеличения цикла число ребер, в него не попавших
уменьшается, а число ребер в графе конечно.
Теорема доказана. ■
Следствие 7.2. Связный граф эйлеров тогда и только тогда,
когда он является объединением простых циклов, попарно
не имеющих общих ребер.
112 Глава 3. Обходы в графах (§ 7-8)
Доказательство. Необходимость. Пусть граф эйлеров,
следовательно, он содержит эйлеров цикл. Согласно теореме 3.2
этот цикл можно разбить на простые циклы.
Достаточность. Пусть граф является объединением
простых циклов, попарно не имеющих общих ребер. Поскольку
степень каждой вершины простого цикла равна 2, то степени
всех вершин графа, который является объединением простых
циклов, четна. Из теоремы 7.1 следует, что такой граф эйлеров.
Следствие доказано. ■
Цепь в графе называется эйлеровой, если она содержит все
ребра графа.
Теорема
7.3.
только тогда,
степени.
Связный
когда в
граф
нем ]
содержит эйлерову цепь тогда и
не более
двух вершин нечетной
Доказательство. Если в связном графе нет вершин
нечетной степени, то, по теореме 7.1 граф эйлеров и содержит
замкнутую эйлерову цепь — цикл.
Ровно одна вершина нечетной степени в графе невозможна.
Это вытекает из леммы о рукопожатиях.
Пусть в графе G ровно две вершины нечетной степени: и и v.
Соединив эти вершины ребром, получим граф или гиперграф G'.
В этом графе все вершины имеют четную степень, поэтому он
эйлеров. Рассмотрим эйлеров цикл графа G'. Удалив из него
добавленное ранее ребро (и, ν) получим эйлерову цепь.
Теорема доказана. ■
Итак, если в связном графе не более двух вершин нечетной
степени, то его ребра образуют цепь. Попробуем обобщить этот
результат на случай, когда в графе произвольное число вершин
нечетной степени.
Будем говорить, что ребра графа G разбиты на цепи, если
каждое ребро графа входит ровно в одну цепь.
§ 7. Эйлеровы графы 113
Теорема 7.4. Если связный граф содержит ровно к вершин
нечетной степени, то минимальное число цепей, на которое
можно разбить ребра графа, равно к/2.
Доказательство. По лемме о рукопожатиях число к вершин
нечетной степени графа G четное. Разобьем вершины нечетной
степени на пары (иь vi), (г/2, v2),..., (им, %2) и рассмотрим граф G',
полученный из графа G, добавлением ребер, соединяющих эти
пары. (G' может оказаться мультиграфом, если какие-либо из
указанных пар вершин образуют ребра в графе G.) Так как
степени всех вершин графа G' четные, то граф G' содержит эйлеров
цикл С. Удалив из цикла добавленные ранее ребра (ии νζ·),
получим к/2 цепей, на которые разбиты ребра графа G (см. рис. 7.4).
Рис. 7.4
Осталось показать, что меньшим числом цепей покрыть
граф невозможно. Действительно, если граф покрыт одной
цепью, то в нем самое большее может быть две вершины нечетной
степени. Если граф покрыт ρ цепями, то в нем самое большее
может быть 2р вершин нечетной степени (концевые вершины
этих цепей, если эти вершины не совпадают, а цепи не являются
114 Глава 3. Обходы в графах (§ 7-8)
циклами). Поэтому для покрытия графа с к вершинами нечетной
степени нужно не менее к/2 цепей.
Теорема доказана. ■
Из теоремы 7.1 вытекает, что распознавания эйлеровости
графа является простой задачей: необходимо лишь посчитать
степени вершин. Но может быть понадобиться не только знать,
что цикл существует, но и построить его. Как это сделать?
Один алгоритм построения эйлерова цикла можно получить,
используя доказательство достаточности теоремы Эйлера. Строя
в эйлеровом графе циклы и постепенно объединяя их в один,
мы, в конце концов, получим эйлеров цикл.
КОММЕНТАРИИ
Для учеников можно дать следующее определение
эйлерова цикла:
Цикл называется эйлеровым, если он содержит каждое
ребро графа ровно один раз.
Это определение избыточно, ведь если маршрут является
циклом, то он не может содержать ребро более одного раза.
Однако, на мой взгляд, эта избыточность допустима. Во-первых,
она позволяет обратить внимание на главное свойство эйлерова
цикла, во-вторых, задать обучаемым вопрос, в чем дефект
определения, и тем самым повторить определение цепи и обратить
внимание на требования к определению.
Доказательство теоремы 7.1 является хорошей
возможностью для знакомства школьников с понятиями «необходимые и
достаточные условия».
Вначале школьники находят очевидные условия, без
выполнения которых задача не может быть решена. Такими условиями
являются связность графа и отсутствие в нем висячих вершин.
(Отметим, что с помощью темы «Эйлеровы графы» может
происходить и знакомство школьников с простейшими математическими
моделями. Ученики отмечают соответствия объекта и построенной
модели. В частности, участки суши соответствуют вершинам
§ 7. Эйлеровы графы 115
графа, мосты — ребрам, связность графа — возможности пройти
от любого острова к любому другому, отсутствие висячих
вершин — отсутствию островов, на которые ведет только один мост.)
Учитель должен подчеркнуть, что для решения задачи
необходимо выполнение этих условий, что без выполнения их задача
не может быть решена. После этого школьникам предлагается
построить пример, когда названные условия выполняются, а
нужного маршрута все равно нет, т. е. выполнение необходимого
условия в этом случае не является достаточным для
существования маршрута, поскольку необходимому условию могут
удовлетворять и не эйлеровы графы. Такие примеры строятся легко.
Обычно в этот момент кто-то из школьников догадывается, какое
условие еще необходимо для решения задачи. Если этого не
происходит, то можно нарисовать построенные примеры на доске и
попытаться выяснить, почему требуемый обход невозможен.
Ученики замечают, что в каждом из примеров в графе
существуют вершины нечетной степени, и именно эти вершины
препятствует решению. Следующий шаг — это переход от частных
примеров к общему утверждению. Школьники почти всегда
самостоятельно доказывают легкую теорему:
Если в графе существует эйлеров цикл, то степень каждой
вершины графа четная.
Таким образом, находится еще одно необходимое условие:
степени всех вершин графа должны быть четными.
Сразу же возникает вопрос: при выполнении двух
предыдущих необходимых условий нужный маршрут тем не менее
иногда не существовал, возможно, что эта ситуация повторится и
сейчас? После этого учитель доказывает, что это не так:
выполнение последнего условия достаточно для существования
маршрута, т. е. это условие является необходимым и достаточным.
(Теорема 7.1 доказывается с помощью замаскированной
математической индукции). Теперь теорему можно сформулировать в
следующем виде:
116 Глава 3. Обходы в графах (§ 7-8)
Для существования в связном графе эйлерова цикла
необходимо и достаточно, чтобы степень каждой вершины графа
была четной.
После этого учитель может подвести итоги и сделать вывод:
«Если некоторое событие или факт никогда не может иметь
место без определенного условия, то это условие является
необходимым, если некоторое событие или факт обязательно имеет
место при определенном условии, то это условие является
достаточным». Затем в качестве иллюстраций можно привести
примеры из жизни и математики.
Доказательство достаточности теоремы 7.1 для наглядности
можно проводить на конкретном графе, при этом желательно
выбрать его так, чтобы граф G\ оказался несвязным (см.,
например, рис. 7.5). В качестве вершины Vi лучше выбрать вершину
небольшой степени (степени 2).
На рис. 7.5 в качестве вершины vi выбрана вершина 1, а цикл
Pi = (1, 4, 11, 10, 9, 3, 1) выделен. В графе Gi в качестве
вершины V2 выбрана вершина 4. Тогда цикл Р2 = (4, 6, 11, 5, 4), а цикл
Рз = (4,И,10, 9, 3,1,4,6,11,5,4).
Если ранее не доказывалась теорема 4.1, то ее
доказательство можно включить в доказательство теоремы 6.1.
§ 7. Эйлеровы графы
117
Если не доказывалась теорема 3.2, то доказательство
необходимости следствия 7.2 можно провести непосредственно. При
доказательстве достаточности можно получить эйлеров цикл
постепенным объединением простых циклов в один цикл, как при
доказательстве достаточности в теореме 7.1.
Существует несколько алгоритмов построения эйлерова цикла.
Сравнение их — возможная тема научной работы по информатике.
Задачи
• Задача 7.1. Можно ли изобразить фигуру, заданную на
рис. 7.6, не отрывая карандаша от бумаги не проходя по
нарисованным линиям более одного раза.
А В
Рис. 7.6
Решение задачи 7.1. Линия, которую можно нарисовать, не
отрывая карандаша от бумаги, называется уникурсальной. Для
решения задачи мы должны ответить на вопрос, является ли
заданная фигура уникурсальной линией. Естественным образом
представим фигуру в виде графа G (рис. 7.7). Поскольку в этом графе 6
Рис. 7.7
118 Глава 3. Обходы в графах (§ 7-8)
вершин нечетной степени, то, согласно теоремы 7.3 отсутствует
эйлерова цепь. Поэтому нарисовать фигуру требуемым образом
невозможно.
Задача решена. ■
Задача легкая. Немногие из учеников пытаются строить
нужную кривую. Большинство их них сразу пользуется теоремой
7.3. Поэтому следует после решения задачи усложнить ее.
• Задача 7.1а. Удалите наименьшее число отрезков на
фигуре, изображенной на рис. 7.6, чтобы получившуюся фигуру
молено было нарисовать, не отрывая карандаша от бумаги и не
проходя по нарисованным линиям более одного раза.
Решение задачи 1Ла. Удалив в графе G ребра {а, Ь) и (e,f),
мы делаем степени этих вершин в получившемся графе
четными. В новом графе ровно две вершины имеют нечетную степень,
поэтому он содержит эйлерову цепь.
Меньшее число ребер удалить невозможно, так как при
удалении ребра {а, Ъ) степень двух вершин становится четной, а при
удалении любого ребра, инцидентного вершине с, ее степень
становится четной, но степень несмежной с ней вершины — нечетной.
Задача решена. ■
• Задача 1Мб. Добавьте наименьшее число отрезков на
фигуре, изображенной на рис. 7.6, чтобы получившуюся фигуру
можно было нарисовать, не отрывая карандаша от бумаги и не
проходя по нарисованным линиям более одного раза.
Решение задачи 7.16. Для решения задачи надо так
провести в графе G новые ребра, чтобы в новом графе оказалось ровно
две вершины нечетной степени.
Очевидно, что надо соединять отрезками точки фигуры,
соответствующие ребрам, соединяющим вершины графа нечетной
степени. Ребра {а, Ь), (с, d) и (е, /) проводить не следует,
поскольку отрезки, соединяющие соответствующие точки фигуры
уже есть. Поэтому, чтобы фигура стала уникурсальной линией
необходимо провести два отрезка из множества {(А, С), (A, D),
§ 7. Эйлеровы графы
119
(А9 Е), (A, F)9 (Я, Q, (В9 D)9 (В9 Е)ь (В9 F)9 (Д Е)9 (Д F)}9 концами
которых будут 4 различные точки.
Задача решена. ■
• Задача 7.1 в. Из какого минимального числа кусков
проволоки можно спаять фигуру, заданную на рис. 7.6. (Толщина всех
ребер фигуры должна быть одинакова.)
Решение задачи 1Лв. В графе G, соответствующем фигуре
(рис. 7.7), 6 вершин нечетной степени. Из теоремы 7.4 следует,
что наименьшее число цепей, на которое можно разбить ребра
графа — 3. Следовательно, наименьшее число кусков
проволоки— тоже 3.
Задача решена. ■
• Задача 7.2. Почтальон должен разнести почту по всем
улицам своего участка. (Схема участка изображена на рис. 7.8). На
схеме указаны расстояния между перекрестками. Буквой Π
обозначена почта.) Найдите кратчайший маршрут почтальона.
260
240
Рис. 7.8
Решение задачи 7.2. Если бы граф G участка был эйлеровым,
то маршрут почтальона определялся бы эйлеровым циклом. Но
степени вершин 1 и 6 нечетные, поэтому эйлерова цикла не
существует и некоторые улицы почтальон должен будет пройти
120 Глава 3. Обходы в графах (§ 7-8)
дважды. Допустим, что мы нашли маршрут обхода. Если улица
проходится почтальоном дважды, то добавим соответствующее
ребро к графу G. Таким образом, мы получим эйлеров мульти-
граф. Следовательно, для решения задачи нужно удвоить
некоторые ребра так, чтобы степени всех вершин стали четными.
При этом сумма добавленных ребер должна быть наименьшей.
В нашем графе степени вершин 1 и 6 должны стать четными. Но
при удвоении некоторого ребра, выходящего из вершины 1,
например ребра (1, 2), степень вершины 2 станет нечетной и
придется удваивать какое-то ребро, выходящее из вершины 2 и т. д.
Процесс удваивания ребер может окончиться только в вершине 6.
Следовательно, мы должны найти кратчайшую цепь,
соединяющую вершины 1 и 6, и удвоить ребра этой цепи. Такой цепью
является цепь L = (1, 2, 4, 6). В полученном мультиграфе следует
найти эйлеров цикл, который и определит маршрут почтальона.
(Один из возможных маршрутов изображен на рис. 7.9).
Рис. 7.9
Задача решена. ■
Для определения кратчайших расстояний между вершинами
графа существуют специальные алгоритмы. Однако на
факультативе для небольших графов такие расстояния можно находить
перебором.
§ 8. Гамильтоновы графы 121
Задачи (Мельников О. К Теория графов в занимательных
задачах. М.: URSS, 2017).
Эйлеровы графы: 128-137.
§ 8. Гамильтоновы графы
Гамилътоновым циклом называется простой цикл,
содержащий каждую вершину графа. Граф называется
гамилътоновым, если он содержит гамильтонов цикл. В противном случае
граф называется не гамилътоновым. Гамилътоновой цепью на-
зывается простая цепь, содержащая каждую вершину графа.
Сам термин восходит к имени известного ирландского
математика У. Гамильтона, который в 1859 году придумал игру
«Кругосветное путешествие». В сферу были забиты гвоздики с
приписанными им названиями крупнейших городов мира. Гвоздики
были соединены на поверхности сферы линиями специальным
образом. Привязав шнурок к одному из гвоздиков, нужно было
протянуть его через все остальные и вернуться к начальному
гвоздику, причем шнурок должен был проходить через
проведенные линии и касаться каждого гвоздика ровно один раз.
Если считать гвоздики вершинами графа, а соединяющие их
линии ребрами, то получается граф, называемый додекаэдром
(см. рис. 8.1, на котором изображен додекаэдр и
соответствующий ему граф). Игра «Кругосветное путешествие» сводится к
определению гамильтонова цикла в додекаэдре.
Рис. 8.1
122 Глава 3. Обходы в графах (§ 7-8)
Нужно отметить сходство постановок задач построения
эйлерова и гамильтонова циклов: в первом случае нужно
построить цикл, проходящий через каждое ребро графа ровно один
раз, во втором случае — проходящий через каждую вершину
ровно один раз. Однако по степени разрешимости эти задачи
весьма далеки друг от друга. Есть легко проверяемые
необходимые и достаточные условия эйлеровости графа, для гамиль-
тоновых графов такие условия не известны. Для того чтобы
определить, будет ли связный граф эйлеровым, нужно подсчитать
степени его вершин, существуют несколько несложных
алгоритмов построения самого цикла. Задача определения, является
ли граф гамильтоновым, весьма сложна и до сих пор
эффективно не решена.
Очевидным необходимым условием суще-
Фствования гамильтонова цикла в графе
является связность графа и отсутствие в нем точек
сочленения. Однако легко привести пример,
когда при выполнении этих условий граф тем
не менее не будет гамильтоновым.
ν Рассмотрим одно необходимое условие
отсутствия в графе гамильтонового цикла.
Любой граф, содержащий две вершины и
и ν степени 3, соединенных тремя простыми
цепями, содержащими не менее двух ребер не имеющими общих
вершин кроме и и ν, называется тэта-графом. (Пример тэта-
графа дан на рис. 8.2.)
Теорема 8.1. Каждый негамильтонов двусвязный граф
содержит тэта-граф.
Доказательство. Пусть G — двусвязный негамильтонов
граф. Рассмотрим простой цикл С графа, содержащий
наибольшее число вершин. Из условия теоремы вытекает, что
существует множество S вершин графа, не принадлежащих циклу.
§ 8. Гамильтоновы графы 123
Пусть е = (w, w) такое ребро графа, что и принадлежит
циклу, w не принадлежит циклу, и а и Ъ смежные с и вершины
цикла. Удалим из графа G вершину и вместе с инцидентными ей
ребрами. Поскольку G — двусвязный граф, то в нем нет точек
сочленения и, следовательно, граф Gb получившийся после
удаления вершины и и ребер, смежных с ней, связный. Поэтому в
графе G\ существуют цепи, соединяющие вершину w с любой
вершиной цикла С. Среди этих цепей выберем ту цепь, которая
содержит наименьшее число ребер. Пусть это будет (w, у)-цепь Р.
Очевидно, что (w, у)-цепь является простой цепью. Кроме того,
вершина ν не может совпадать с вершинами а и Ъ, поскольку в
этом случае в графе G будет существовать простой цикл,
содержащий больше вершин, чем цикл С. По той же причине цикл С
имеет не менее четырех вершин. Объединяя цикл С и цепь Ρ
получим тэта-граф (см. рис. 8.3).
Теорема доказана. ■
Рис. 8.3
Однако существование в графе тэта-подграфа не является
достаточным условием для отсутствия в нем гамильтонового
цикла (см. рис. 8.4, на котором гамильтонов цикл выделен.).
124 Глава 3. Обходы в графах (§ 7-8)
Наиболее распространенным
направлением исследования гамильтоновости графов
является определение достаточных условий
этого, большинство из которых имеет такой
вид: если в графе много ребер, то граф га-
мильтонов. Мы рассмотрим одно из таких
условий.
Теорема 8.2. Если в графе G, имеющем η рИс. 8.4
вершин, для любых двух вершин и и ν
выполняется неравенство d(u) + d(v) > и, где d{u) и d(y)
степени вершин и и ν, то граф G гамильтонов.
Для доказательства теоремы введем несколько определений
и докажем вспомогательную лемму.
Простая незамкнутая цепь L графа называется
максимальной, если она не является частью более длинной простой цепи
этого графа, самая длинная из максимальных цепей называется
наибольшей.
Лемма 8.3. Пусть L = (νο, в\9 vi, е2, Уъ ..., ν/_ι, ей V/) такая
наибольшая простая цепь в связном графе G, что />2 и
d(v0) + d(vi) > / + 1. Тогда в графе G существует гамильтонов
цикл.
Доказательство.
Сначала докажем существование в G простого цикла С длины
/ + 1, содержащего все вершины цепи Ζ и не содержащего других
вершин. При 1-2 поскольку d(v0) + d(v2)>3, требуемый цикл
находится сразу. В противном случае цепь L не будет наибольшей.
Покажем, что при /> 3 среди ребер в\9 е2, ... найдется такое
ребро ей что вершина vm смежна с вершиной ν/, а вершина ν,- —
с вершиной ν0 (см. рис. 8.5).
и
§ 8. Гамильтоновы графы 125
Предположим, что это не так: вершина V/ не смежна ни с
какой вершиной, предшествующей в цепи вершине, смежной с
вершиной vo> т. е ситуация, изображенная на рис. 8.5 не
осуществится. Пусть вершина v0 смежна с ρ вершинами цепи Ζ,
следовательно вершина ν/ не смежна с ρ вершинами этой цепи.
Далее воспользуемся тем, что по определению наибольшей
цепи L ее концы νο и ν/ могут быть смежны только с
вершинами, принадлежащими L. Поскольку в цепи без вершины ν/
содержится / вершин, то отсюда следует, что ν/ может быть смежна
самое большее с (1-р) вершинами. С другой стороны, так как
d(v0) + d(vi) =p + d(vi) > / + 1, то вершина ν/ должна быть смежна
самое меньшее с (1-р + 1) вершинами. Получено
противоречие. Значит, ситуация, изображенная на рис. 8.5 обязательно
осуществится.
Искомый простой цикл С выглядит следующим образом:
С = Оо, vb ..., νΜ, ν/, v/_b ..., ν/, ν0).
Рис. 8.5
Теперь покажем, что найденный цикл С является гамильто-
новым, т. е. / = η - 1. Действительно, если цикл содержит не все
вершины графа, то в силу связности G существует ребро е - (w, w)
графа, один конец которого принадлежит циклу (пусть это
вершина и), а другой не принадлежит (пусть это вершина w).
Заменяя одно из ребер цикла, инцидентных вершине и, на ребро е,
мы превратим цикл в простую цепь, длина которой больше /, что
противоречит условию леммы.
Лемма доказана. ■
В качестве следствия из леммы вытекает теорема 8.2,
поскольку длина наибольшей цепи в графе G не превосходит η - 1.
126 Глава 3. Обходы в графах (§ 7-8)
КОММЕНТАРИИ
Теорема 8.2 обычно трудно воспринимается учениками.
Поэтому в случае необходимости ее доказательство можно
заменить на доказательство более простой теорему 8.4, которая
является следствием теоремы 8.2.
Теорема 8.4. Если в графе G, имеющем η вершин, степень
каждой вершины не меньше, чем п/2, то граф G гамильтонов.
Доказательство. Предположим противное: граф G не
является гамильтоновым. Добавим к графу новую вершину, соединив
ее ребрами со всеми вершинами графа G. Если получившийся
граф не гамильтонов, то добавим еще одну новую вершину, как и
ранее, соединив ее ребрами со всеми вершинами графа G, и т. д.,
до тех пор пока не получим гамильтонов граф, который
обозначим через G\. Это обязательно произойдет, так как при
добавлении η вершин гамильтонов цикл можно построить, даже не
используя ребра графа G (см. рис. 8.6). Заметим, что никакие две
новые вершины не соединены ребром.
Рис. 8.6
Пусть к — минимальное число новых вершин, которые
нужно добавить, чтобы получить гамильтонов граф G\. В графе G\
будет (п + к) вершин.
Рассмотрим гамильтонов цикл С = (и, w, v, ..., и) в графе G\,
где и и ν — вершины графа G, a w — новая вершина. Вершины
§ 8. Гамильтоновы графы 127
и и ν не смежные, так как в противном случае существует га-
мильтонов цикл в графе, не включающем вершину w, что
противоречит минимальности числа к По этой же причине за каждой
вершиной, смежной с вершиной и, в цикле обязательно должна
стоять вершина, не смежная с вершиной v. (На рис. 8.7 показана
ситуация, когда за вершиной, смежной с вершиной и, стоит
вершина, смежная с вершиной v. В этом случае возможен цикл, не
содержащий вершину w.).
Рис. 8.7
Из условия теоремы следует, что число вершин в графе G,
смежных с вершиной щ будет не меньше, чем п/2. Тогда число
вершин, смежных с вершиной и в графе G\ будет не меньше, чем
(п/2) +-к. Поскольку за каждой вершиной, смежной с и, в цикле
находится вершина, не смежная с ν, то можно оценить число d\
вершин, не смежных с вершиной ν, в графе G\.
' η
di> — +k.
2
(Заметим, что в указанном числе d\ учтена и сама вершина v.)
Аналогичная оценка будет верна для числа di вершин,
смежных с вершиной ν в графе.
128 Глава 3. Обходы в графах (§ 7-8)
Так как каждая вершина или смежная с ν, или не смежная
с ν, то число всех вершин графа G] будет не меньше, чем (п + Ik),
что противоречит числу вершин графа G\.
Теорема доказана. ■
Если ранее не был введен термин «двусвязный граф», то при
доказательстве теоремы 8.1 можно считать, что задан связный
граф без точек сочленения.
Задачи
• Задача 8.1. На пир при дворе короля Артура собралось
четное число рыцарей, любые два из которых либо дружат, либо
враждуют. Оказалось, что у каждого из рыцарей друзей
больше, чем врагов. Докажите, что волшебник Мерлин может
рассадить рыцарей за круглым столом так, что справа и слева от
каждого из рыцарей будет сидеть его друг.
Решение задачи 8.1. Построим граф, в котором вершины
будут соответствовать рыцарям, и две вершины будут соединены
ребро, если соответствующие им рыцари дружат.
Доказательство. Рассмотрим произвольную расстановку
вершин графа G на окружности. Пусть вершины и и ν не
смежны и вершина ν — первая против часовой стрелке вершина,
считая от и. С вершиной и смежно не меньше, чем nil вершин. Если
бы первой против часовой стрелке от каждой вершины, смежной
с вершиной и, стояла вершина, несмежная с вершиной ν, то
несмежных с вершиной ν было бы тоже' не меньше, чем nil
вершин. Учитывая, что с вершиной ν смежно также не меньше, чем
nil вершин, то получили бы, что в графе G было бы не меньше,
чем (п + 1) вершина. Следовательно, можно найти такую
смежную с вершиной и вершину w\, что первая после нее против
часовой стрелке вершина W29 является смежной с вершиной ν
(см. рис. 8.8).
§ 8. Гамильтоновы графы
129
и
Рис. 8.8
«Развернем» участок окружности от w ι до ν в обратном
порядке (см. рис. 8.9).
w2
\
V
и
В
wi A
Рис. 8.9
После поворота число пар несмежных вершин на
окружности уменьшится. Проделав подобную операцию необходимое
число раз, получим такое расположение вершин, что все
соседние вершины будут смежными.
Расположение вершин на окружности соответствует
расположению рыцарей за круглым столом.
Задача решена. ■
130 Глава 3. Обходы в графах (§ 7-8)
Конечно, решение задачи сразу следует из теоремы 8.4.
Решение является еще одним доказательством этой теоремы. Учитель
может выбрать любое доказательство по своему желанию.
• Задача 8.2. Можно ли перевести шахматного коня с
клетки al на клетку h8, побывав при этом на каждой клетке
шахматной доски ровно один раз? {Клетки al и h8— крайние
клетки большой диагонали шахматной доски.)
Решение задачи 8.2. Построим граф G по следующему
правилу. Каждой клетке шахматной доски поставим в
соответствие вершину графа. Две вершины соединим ребром тогда и
только тогда, когда конь может перейти из клетки, соответствующей
одной вершине, в клетку, соответствующую второй. Если конь
находится в клетке какого-то цвета, то сделав ход, он попадет в
клетку другого цвета. Поэтому граф G будет двудольным
графом. Его доле А будут соответствовать 3Ϊ2 черные клетки, а доле
В — 32 белые.
Существование нужного маршрута перевода коня из al в h8
эквивалентно существованию в графе G гамильтоновой цепи,
соединяющей вершины, соответствующие клеткам al и h8.
Названные клетки являются черными.
Покажем, что существование такой цепи невозможно.
Действительно, цепь должна иметь 63 ребра, так как для требуемого
перехода из al в h8 нужно сделать 63 хода. Каждое нечетное
ребро (в том числе и 63-е) цепи, которая начинается в вершине
доли А, приводит в долю В. Это эквивалентно тому, что каждый
нечетный ход коня, в том числе и 63-й, приводит в белую клетку.
Поскольку клетка h8 черная, то нужного маршрута коня не
существует.
Задача решена. ■
Поскольку обязательно найдутся ученики, которые будут
строить маршрут коня, и у них «вот-вот получится», то учитель
может предложить сразу решить эту задачу для шахматной доски
размера 4 χ 4. В этом случае значительно быстрее можно убедиться
§ 8. Гамильтоновы графы 131
в бесперспективности поиска обхода. Другая часть школьников
чувствует какой-то подвох в задаче, подозревает, что нужного
маршрута не существует, но не представляет, как это доказать.
Учитель может задать вопрос: что еще есть на доске, кроме
коня, на который следует мгновенный ответ: клетки. И лишь
после еще одного такого вопроса кто-то догадывается, что клетки
шахматной доски раскрашены. И уже на вопрос о том, что
меняется на доске после хода коня, кроме его положения, следует
ответ, что меняется цвет клетки, на которой стоит конь. После
этого задача решается быстро.
При решении этой задачи можно даже не переходить к ее
графовой интерпретации.
• Задача 8.3. Мышка грызет куб сыра с ребром длины 3,
разбитый на 27 единичных кубиков. Когда мышка съедает какой-
либо кубик, она переходит к другому кубику, имеющему общую
грань с предыдущим. Может ли мышка съесть весь куб, кроме
центрального кубика?
Решение. Построим граф G по следующему правилу.
Каждому единичному кубику поставим в соответствие вершину
графа. Если два единичных кубика имеют общую грань, то
соответствующие вершины графа соединим ребром.
Поскольку мышка съедает каждый кубик только один раз,
то ее маршрут, если он существует, будет описан гамильто-
новой цепью. Докажем, что в графе G не существует гамильто-
новой цепи.
Каждый из 26 единичных кубиков, отличных от
центрального, будем считать либо белым, либо черным в шахматном
порядке: 12 кубиков, имеющих ровно по две грани на поверхности
большого куба назовем белыми, а остальные 14 кубиков —
черными (см. рис. 8.10).
Поскольку в любой паре кубиков, имеющих общую грань,
один кубик будет белым, а другой — черным, то граф G является
двудольным графом. Так как в любой цепи двудольного графа
чередуются вершины разных долей, то гамильтоновой цепи
132 Глава 3. Обходы в графах (§ 7-8)
в двудольном графе, одна доля которого имеет на две вершины
больше, чем другая, быть не может. Следовательно, мышка не
может съесть сыр указанным способом.
Рис. 8.10
Задача решена. ■
Рассмотренная задача является трехмерным аналогом
предыдущей задачи. Однако большая разница в том, что на
шахматной доске клетки уже раскрашены. Ученики, как правило,
понимают, что надо раскрасить единичные кубики лишь после
подсказок учителя.
Задачи {Мельников О. К Теория графов в занимательных
задачах. М.: URSS, 2017).
Гамильтоновы графы: 138-141.
ГЛАВА 4 Плоские и планарные
графы
§ 9. Планарные графы
Мы говорили, что один и тот же граф можно изображать по-
разному, что не имеет значения, как расположены вершины и
ребра графа, а важно, какие вершины соединены ребрами.
Однако встречаются практические задачи, при решении которых
имеет большое значение, как изображены графы.
Наиболее примечательный пример: проектирование и
изготовление печатных плат и интегральных схем. Печатная плата
представляет собой пластину из изолятора, на которой есть
гнезда для установки электронных приборов. Эти приборы
соединяются между собой проводниками, которые представляют собой
напыленные металлические дорожки. Поскольку проводники не
изолированы, то, очевидно, что они не должны пересекаться. Это
приводит к поиску специального изображения графа.
Граф называется планарным, если его можно изобразить на
плоскости так, что вершинам графа будут соответствовать точки
плоскости, ребрам графа — кривые плоскости, причем два ребра
не будут иметь общих точек, за исключением точки,
соответствующей вершине, из которой эти ребра выходят. В противном
случае граф называется непланарным.
Граф, изображенный на плоскости подобным образом,
называется плоским. Будем также называть плоский граф плоским
изображением (изображением на плоскости) планарного графа.
Следует отметить, что, поскольку любой граф имеет сколько
угодно изображений на плоскости, то планарному графу
соответствует бесконечно много плоских. На рис. 9.1 представлены
три плоских изображения графа К4.
134 Глава 4. Плоские и планарные графы (§ 9-10)
А А
Рис. 9.1
Приведенное выше изображение графа на плоскости будем
называть его укладкой на плоскости. Аналогично можно
рассматривать его укладку в трехмерное пространство, укладку на сфере.
В следующем определении плоскость, сферу, трехмерное
пространство будем называть пространством.
Укладкой графа в пространстве называется такое
изображение графа, при котором его вершинам соответствуют точки
пространства, а ребрам — кривые пространства, причем кривые,
соответствующие разным ребрам не имеют общих точек, за
исключением точки, соответствующей вершине, из которой эти
ребра выходят.
Интуитивно ясно, что если у графа слишком много ребер, то
вряд ли он планарный, поскольку ребра будут «мешать» друг
другу при укладке. Покажем, что граф Хз,з (рис 9.2) непланарный.
Предположим, что существует плоское изображение графа Хз,з·
При любом плоском изображении цикл С = (1, 4, 2, 5, 3, 6, 1)
будет делить плоскость на две части: внутри цикла и вне цикла
(см. рис. 9.3).
Рис. 9.2
§ 9. Планарные графы
135
Рис. 9.3
Для укладки ребра (1, 5) есть две возможности: внутри
цикла и вне цикла (см. рис. 9.4).
1
Рис. 9.4
Если ребро (1, 5) было уложено внутри цикла, то для
укладки ребра (4, 3) существует только одна возможность: вне цикла;
если ребро (1,5) было уложено вне цикла, то ребро (4, 3) можно
уложить только внутри цикла (см. рис. 9.5).
Осталось уложить только ребро (6, 2). Однако его нельзя
поместить ни внутри цикла, ни вне цикла без пересечений с
другими ребрами.
Мы показали, что граф Хз,з непланарный.
А что можно сказать об изображении графа в трехмерном
пространстве? А на сфере?
136 Глава 4. Плоские и планарные графы (§ 9-10)
Рис. 9.5
Теорема 9.1. Для любого графа существует его укладка в
трехмерное пространство.
Доказательство. Нарисуем любое изображение графа на
плоскости. Будем считать, что ребрами являются упругие
(резиновые) отрезки, соединяющие точки. Если в какой-то точке,
отличной от вершины, два ребра пересекаются, то возьмем одно
«резиновое» ребро и приподнимем его над плоскостью. После
этого рассмотренные два ребра перестанут пересекаться. Так
будем поступать до тех пор, пока не избавимся от всех
пересечений ребер.
Теорема доказана. ■
Теорема 9.2. Граф укладывается на сфере тогда и только
тогда, когда он укладывается на плоскости.
Доказательство.
Достаточность. Пусть граф G уложен на сфере. Поместим
сферу на плоскость так, чтобы ее Северный полюс (точка
диаметрально противоположная точке касания — Южному полюсу)
§ 9. Планарные графы 1.37
не лежал на ребре и не совпадал с вершиной графа. Спроектируем
граф на плоскость так, чтобы Северный полюс, проектируемая
точка и ее проекция на плоскости лежали на одном луче,
выходящем из Северного полюса (см. рис. 9.6). Такая проекция
называется стереографической проекцией.
Поскольку стереографическая проекция устанавливает
взаимно однозначное соответствие между точками сферы (без
Северного полюса) и точками плоскости, то мы получим
изображение графа G на плоскости. Так как ребра графа, уложенного
на сфере, не имеют общих точек (за исключением общей
вершины, из которой они выходят), то это будет выполняться и для
изображения графа на плоскости. Следовательно, построенное
изображение является укладкой.
Необходимость доказывается аналогично с учетом
установленной биекции.
Теорема доказана. ■
Рис. 9.6
138 Глава 4. Плоские и планарные графы (§ 9-10)
Теорема 9.3. Если граф содержит непланарный подграф, то
он непланарен.
Теорема очевидна, поскольку при укладке графа нужно
уложить любую его часть.
КОММЕНТАРИИ
Часто учителя дают следующее определение планарного
графа: граф называется планарным, если его можно изобразить
на плоскости так, что вершинам графа будут соответствовать
точки плоскости, ребрам графа — кривые плоскости, причем
различные ребра не пересекаются.
Такое определение может вызвать некоторые трудности из-
за плохого понимания учениками, что такое пересекающиеся
линии. Линии называются непересекающимися, если они не
имеют общих точек. Ученики же часто считают, что линии
пересекаются, если они имеют общую точку, и для одной из линий
существуют точки расположенные по обе стороны от другой.
Например, линии, изображенные на рис. 9.7, по их
«определению» не являются пересекающимися.
Рис. 9.7
Поэтому ученики могут предъявить следующее изображение
графа Хз,з (см. рис. 9.8), на котором, по их мнению, нет
пересекающихся ребер, и на этом основании, считать граф планарным.
(По их «определению» пары ребер (2, 6) и (2, 5) или (2, 6) и (3, 5)
не пересекаются).
§ 9. Планарные графы 139
Рис. 9.8
Этот пример показывает необходимость обучения
школьников четкости математических формулировок.
Учитель может сначала дать определение пересекающихся
ребер, а затем уже следующее определение планарного графа:
Граф называется планарным, если он может быть
изображен на плоскости так, что два ребра могут пересекаться
только в их общей вершине.
Часто ученики задают вопрос, почему мы при доказательстве
непланарности графа Κ-^β выбираем именно такой цикл и
располагаем его на плоскости именно так. Они думают, что, возможно,
при выборе другого цикла или при другом расположении этого,
будет существовать плоская укладка графа Хз,з·
Следует обратить их внимание, что, во-первых, в случае
существования плоского изображения G графа ^з,з любому циклу
графа Хз,з будет соответствовать цикл графа G. Во-вторых, мы
можем изображать этот цикл на плоскости по-разному
(например, как на рис. 9.9), но при любом изображении цикл делит
плоскость на две части: внутри цикла и вне цикла.
Тогда укладка ребер (1, 5) и (4, 3) может выглядеть, как на
рис. 9.10.
Но и при таком расположении начального цикла укладка
ребра (2, 6) невозможна.
140 Глава 4. Плоские и планарные графы (§ 9-10)
Рис. 9.9
Рис. 9.10
Задачи
• Задача 9,1. Докажите, что граф К5 непланарен.
Рис. 9.11
§ 9. Планарные графы
141
Решение задачи 9.1. Предположим, что существует плоское
изображение графа К^. При любом таком изображении цикл
С = (1, 2, 3, 4, 5, 1) будет делить плоскость на две части: внутри
цикла и вне цикла. Ребро (2, 5) графа можно уложить, как
внутри цикла, так и вне цикла (см. рис. 9.12).
Для каждой из двух построенных укладок подграфа графа
К5 можно сделать то же самое и для ребра (2.4).
2 5
2 5
Рис. 9.13
Для каждого из рассмотренных случаев ребро укладка ребра
(5, 3) возможна или внутри цикла (1, 2, 3, 4, 5, 1), или вне его
(см. рис. 9.14).
1
2 5
2 5
2 5
Рис. 9.14
142 Глава 4. Плоские и планарные графы (§ 9-10)
Таким образом мы получили четыре плоских графа,
которые являются укладками графа Ks-(l9 4)-(1, 3). Однако одно
из этих ребер невозможно поместить не внутри цикла, не вне его
без пересечения с другими ребрами. Следовательно, граф Ks
не планарен.
Задача решена. ■
Предложенный способ решения задачи является основой
одного их алгоритмов построения плоской укладки графов.
Задачи (Мельников О. И. Теория графов в занимательных
задачах. М.: URSS, 2017).
Планарные и плоские графы: 142.
§ 10. Грани плоского графа.
Формула Эйлера.
Критерий планарности графа
Гранью плоского графа называется максимальное по
включению множество точек плоскости, каждая пара из которых
может быть соединена кривой, не имеющей общих точек с ребрами
графа, за исключением крайних точек кривой. Границей грани
будем считать множество вершин и ребер, принадлежащих грани.
Часто грань плоского графа задается множеством вершин или
ребер ее границы.
Из определения вытекает, что каждая точка плоскости
принадлежит хотя бы одной грани. Ребро плоского графа принад-
Рис. 10.1
§10. Грани плоского графа. Формула Эйлера 143
лежит двум граням, если не является мостом, и одной грани,
если оно мост.
На рис. 10.1 изображен граф с пятью гранями.
Всякий плоский граф имеет единственную неограниченную
грань (на рис. 10.1 это грань F). Такая грань называется внешней,
остальные грани называются внутренними.
Понятие грани естественным образом распространяется на
мультиграфы и псевдографы.
Теорема 10.1. Для любой наперед заданной грани плоского
графа существует такая его укладка, при которой эта грань
будет внешней.
Доказательство. С помощью стереографической проекции
спроектируем граф на сферу. Затем, расположив сферу на
плоскости так, чтобы ее Северный полюс находился внутри заданной
грани, опять спроектируем граф на плоскость. Чем ближе точка
сферы находится к Северному полюсу, тем дальше ее проекция
на плоскости будет находиться от Южного полюса.
Следовательно, заданная грань станет внешней.
Теорема доказана. ■
Рис. 10.2
144 Глава 4. Плоские и планарные графы (§ 9-10)
На рис. 10.2 представлен граф, ранее изображенный на
рис. 10.1. Для нового изображения графа внешней является
грань II.
Теорема 10.2. (Теорема Эйлера, 1758). Для всякого связного
плоского графа, имеющего η вершин, т ребер и/граней,
верно равенство
n-m+f=2. (**)
Доказательство.
Возьмем произвольный связный плоский граф G, имеющий
η вершин, т ребер и /граней, и будем удалять из него ребра до
тех пор, пока он не превратится в остовное дерево Т. (На
рис. 10.3 представлено одно из остовных деревьев графа,
изображенного на рис. 10.1).
"fry-
Рис. 10.3
Плоский граф Г имеет η вершин и одну грань. Из теоремы 5.3
следует, что в нем п-\ ребро. Выполнение утверждения (**)
для графа Г проверяется непосредственно: и - (и - 1) + 1 =2.
Возвратим в граф Τ по очереди удаленные ранее ребра.
Возвратив первое ребро, получим граф Т\9 возвратив второе ребро,
получим граф Τι и так до тех пор, пока не получим граф G. (На
рис. 10.4 представлены графы, получившиеся после
возвращения одного и двух ребер.)
После каждой из операций возвращения ребра число ребер и
число граней в получившемся графе увеличиваются на единицу.
§ 10. Грани плоского графа. Формула Эйлера 145
Рис. 10.4
Поэтому, так как соотношение (**) выполнялось для графа Г, то
оно будет выполняться для каждого из последующих графов, в
том числе и для графа G.
Теорема доказана. ■
Соотношение (**) называется формулой Эйлера.
Из теоремы Эйлера вытекает ряд интересных следствий.
Следствие 10.3. Для всякого выпуклого многогранника,
имеющего η вершин, т ребер и/граней, выполняется
соотношение
п-т +/= 2.
Доказательство. Поместим многогранник в сферу так,
чтобы центр сферы находился внутри многогранника. Затем,
спроектировав многогранник на сферу из ее центра, получим укладку
некоторого графа G на сфере. Вершины этого графа
соответствуют вершинам многогранника, его ребра — ребрам
многогранника, а грани — граням многогранника.
После этого, спроектируем с помощью стереографической
проекции граф G на плоскость, получим связный плоский граф,
146 Глава 4. Плоские и планарные графы (§ 9-10)
имеющий η вершин, т ребер и/граней. Справедливость
следствия вытекает из формулы (**).
Следствие доказано. ■
Следствие 10.4. Число граней любой плоской укладки
связного планарного графа, имеющего η вершин и т ребер,
постоянно и равно т-п + 2.
Следствие непосредственно вытекает из формулы (**).
Следствие 10.5. Для связного планарного графа G,
имеющего η вершин и т ребер, при η > 3 выполняется неравенство
т < Ъп - 6 и/< 2/7-4.
Доказательство. Не теряя общности, будем считать, что
G — связный плоский граф, имеющий/граней. Обозначим через
rrij — число ребер, принадлежащих i-Ά грани графа (1 </</),
при этом мост будем считать принадлежащим грани дважды.
Найдем сумму всех т\. Поскольку в сумме каждое ребро
учитывается два раза, то
т\ +■ гп2 + ... + т/= 2т.
Каждая грань содержит не менее трех ребер. Поэтому
3f= 3 + 3 + ... + 3<mi+m2+... + т/= 2т или 3/< 2т.
Умножим соотношение (**) на 3:
1
Зп-Зт + 3/=·6,
и, заменив в нем 3/на большую величину 2т, получим
Зп-Зт + 2т> 6.
Отсюда т < 3 η - 6.
Умножим соотношение (**) на 2:
2и-2га+ 2/*=4,
§ 10. Грани плоского графа. Формула Эйлерй 147
и, заменив в нем 2т на меньшую величину 3/, получим
2и-3/+2/>4.
Отсюда/< 2п - 4.
Следствие доказано. ■
Следствие 10.6. Граф ^непланарен.
Доказательство. Граф К5 имеет 5 вершин и 10 ребер.
Поэтому неравенство т<3п-6 для него не выполняется:
10 < 3 · 5-6 = 9. Следовательно граф Ks непланарен.
Следствие доказано. ■
Следствие 10.7. Граф Хз,з не планарен.
Доказательство. Граф ^з,з имеет 6 вершин и 9 ребер.
Поэтому, если бы он был планарен, то из следствия 9.4 вытекало
бы, что любая плоская укладка графа имела бы 9 - 6 + 2 = 5
граней. Но граф ^Гз,з является двудольным графом. Из теоремы Кё-
нига следует, что любая грань плоской укладки имеет, по
крайней мере, 4 ребра. Поскольку граф Къ^ не содержит мостов, то
каждое его ребро принадлежит двум граням. Поэтому 2m>4f>
т. е. 18 > 20. Получено противоречие.
Следствие доказано. ■
Следствие 10.8. Всякий планарный граф имеет вершину,
степень которой не превосходит 5.
Доказательство. Будем считать граф связным, поскольку в
противном случае доказательство можно провести для любой
его связной компоненты. Пусть граф содержит η вершин и т
ребер, di — степень /-й вершины графа (1 </<«). По лемме о
рукопожатиях следует
d\ + d2+ ... + d„ = 2т.
Предположим, что степень каждой вершины графа не
меньше шести. Тогда
148 Глава 4. Плоские и планарные графы (§ 9-10)
6 + 6+...+6<di+d2 + ...+dw = 2/w, или 6п < 2т.
Теперь воспользуемся следствием 9.5:
6п<2т<6п-\2
Из последнего неравенства вытекает, что ( — 12) > 0.
Получено противоречие.
Следствие доказано. ■
Следствие 10.9. Существует ровно пять правильных
многогранников.
Доказательство. Пусть все грани выпуклого
многогранника с η вершинами, т ребрами и /гранями являются
правильными ^-угольниками, а в каждой вершине сходится к граней.
Поскольку степень каждой вершины графа G,
изображающего правильный многогранник, равна к, то по лемме о
рукопожатиях
кп = 2т.
Так как каждая грань графа G является правильным d-уголь-
ником, το fd= 2т.
Выражая из этих равенств «и/и подставляя их значения в
формулу Эйлера, получаем:
2т 2т ч Λ 2 1 2 * ■ Λ
( -т-+ ) = 2 или (— - I + —) т = 2.
к d к d
В скобках должно стоять положительное число. Отсюда
вытекает необходимое условие существования правильного
многогранника
2 2 1
- + - > 1.
к d
Последнее неравенство вместе с очевидными условиями к,
d>3 предоставляет лишь 5 возможностей для значений к и d,
каждая из которых реализуется одним из известных правильных
многогранников (см. таблицу), изображенных на рис. 1.8.
§10. Грани плоского графа. Формула Эйлера 149
d
3
4
3
5
3
к
3
3
4
3
5
Правильный многогранник
Тетраэдр
Куб
Октаэдр
Додекаэдр
Икосаэдр
Следствие доказано. ■
Максимальным планарным (плоским) графом называется
планарный (плоский) граф, который престает быть таким при
добавлении любого ребра. На рис. 10.5 изображены
максимальный и не максимальный плоские графы.
Рис. 10.5
Теорема 10.10. Граф является максимальным плоским
графом тогда и только тогда, когда границей каждой его грани
будет треугольник.
Доказательство. Необходимость. Предположим, что
существует грань 7" максимального плоского графа G, не являющаяся
треугольником.
Сначала рассмотрим случай, когда границей этой грани
которой является не простой цикл. (См. рис. 10.6, на котором такая
грань внешняя. Это можно сделать, используя теорему 10.1.
Границе грани принадлежат вершины 1, ν, 2, 3, 5, 7, 6, 4.)
150 Глава 4. Плоские и планарные графы (§ 9-10)
Рис. 10.6
Пусть ν — вершина границы, которая смежна более чем с
двумя вершинами границы. Предположим, что вершина ν не
является точкой сочленения. Тогда вершины 1 и 3 должны быть
соединены цепью, не проходящей через вершину 2 (см. рис. 10.7,
на котором цепь показана пунктирной линией).
Рис. 10.7
Рассматриваемый граф не является максимальным плоским,
поскольку после добавлению к нему ребра, соединяющего
вершины, смежные с вершиной ν, он останется плоским. Такое ребро
в графе отсутствует, так как вершина ν — точка сочленения.
Теперь рассмотрим случай, когда границей грани Г является
простой цикл (vi, v2, v3, v4..., vi), содержащий более трех ребер.
Поскольку G — плоский граф, то он не может одновременно
содержать ребра (vi, V3) и (v2, V4), так как они будут пересекаться
§ 10. Грани плоского графа. Формула Эйлера 151
вне грани Г (см. рис. 10.8). Предположим, что в графе отсутствует
ребро (vb v3). Тогда после добавления этого ребра в грань Г граф G
останется плоским, что противоречит его максимальности.
Рис. 10.8
Достаточность очевидна, поскольку в грани, являющейся
треугольником, невозможно провести еще одно ребро.
Теорема доказана. ■
Следствие 10.11. Максимальный плоский граф с η
вершинами имеет Ъп - 6 ребер и 2п - 4 граней.
Доказательство следствия повторяет доказательство
следствия 10.5, с учетом того, что 3/= 2m,
А как же определить будет граф планарным или нет?
Следствие 10.5 показывает, что в планарном графе должно быть не очень
много ребер {т < Ъп - 6). Однако это условие, являясь
необходимым для планарности графа, не является достаточным.
Примерами этого служат граф Хз,з и граф, изображенный на рис. 10.13.
Существует несколько критериев планарности графа.
Наиболее известным из них является критерий Понтрягина—Кура-
товского. Для его формулировки введем несколько определений.
Операция подразбиения ребра е = (а, Ъ) заключается в
удалении из графа ребра е и добавления ребер е\ = (а, с) и е2 = (с, Z>),
где с - новая вершина (см. рис. 10.9).
152 Глава 4. Плоские и планарные графы (§ 9-10)
а е Ъ а в] с в2 b
1 У Г~Л
Рис. 10.9
Два графа называются гомеоморфными, если их можно
получить из одного графа с помощью последовательных операций
подразбиения ребер.
На рис. 9.10 показаны два гомеоморфных графа G\ и G2,
полученных из графа G. (Все три графа G, G\ и G2 также гомео-
морфны.)
-il· ~й> ~ф
Рис. 10.10
Теорема 10.12 (теорема Понтрягина—Куратовского, 1927,
1930 гг.). Граф является планарным тогда и только тогда, когда
он не содержит подграфов, гомеоморфных графам К5 и Хз,з·
Необходимость. Из следствий 10.6 и 10.7 следует, что графы
^5 и Кз,з непланарные. Очевидно, что гомеоморфные им графы
также непланарные. При построении плоской укладки графа
нужно построить плоскую укладку каждого его подграфа.
Поэтому граф, содержащий непланарный подграф, также неплана-
рен (теорема 9.3).
Необходимость доказана.
Доказательство достаточности сложно и громоздко.
Желающих ознакомиться с ним мы отсылаем к книгам [1,6].
§ 10. Грани плоского графа. Формула Эйлера
153
КОММЕНТАРИИ
После того, как учитель нарисует плоский граф и первый раз
покажет его грани, еще не дав их определения, ученики всегда
безошибочно делают это для новых плоских графов. Поэтому
можно предложить им самим дать определение грани.
Оказывается, что формализация очевидного понятия у
школьников вызывает трудности. В большинстве случаев «определение»
грани выгладит примерно так: «Часть плоскости, ограниченная
простым циклом». После примера учителя, на котором часть
плоскости, ограниченная простым циклом содержит несколько
граней (например, рис. 10.11а, на котором цикл С = (1, 2, 3, 4, 1)
содержит внутри себя 4 грани), обычно происходит уточнение:
«Часть плоскости ограниченная простым циклом и не
содержащая других циклов». Для этого определения также легко
приводится опровергающий его пример (например, рис. 10.116).
(Кстати, такое определение дано в хорошей книге «Графы и
их применение» Л. Ю. Березиной. Оно обедняет понятие грани.)
а
б
Рис. 10.11
Грани плоского графа для учеников можно трактовать как
связные области плоскости, на которые та распадается при ее
разрезе по ребрам графа.
При формулировке теоремы 10.1 следует иметь в виду, что
в данном случае грань рассматривается не как множество точек,
а как множество вершин и ребер, принадлежащих ее границе.
154
Глава 4. Плоские и планарные графы (§ 9-10)
Обратите внимание, что одни и те же грани графов,
изображенных на рис. 10.1 и 10.2 имеют одинаковые границы.
Следствие 10.4 можно проиллюстрировать несколькими
укладками одного планарного графа (На рис. 10.12 представлены
три укладки планарного графа. Арабскими цифрами обозначены
вершины, римскими — грани графа.).
I
Рис. 10.12
Доказательство следствия 10.6 и 10.7 дает возможность
обратить внимание учеников на необходимые и достаточные условия.
Следствие 10.6 доказывается с помощью следствия 10.5, а
именно, проверяется верное для любого планарного графа
условие т < 3 η - 6. Проверим последнее неравенство для графа Κ^β,
который имеет 6 вершин и 9 ребер: 9 < 3 · 6-6= 12, неравенство
выполняется.
На основании этого многие школьники считают, что граф Хз,з
будет планарным. Учитель должен объяснить ученикам, что
выполнение неравенства является необходимым условием для пла-
нарности графа, но не достаточным, вспомнить, что уже было
доказана непланарность графа Хз,з, привести
новый пример.
(Смотрите рис. 10.13, на котором
изображен непланарный граф, поскольку он
содержит непланарный подграф К$. Однако для
этого графа условие т <3 п-в выполняется:
11 <3 · 6-6- 12.)
Рис. 10.13
§ 10. Грани плоского графа. Формула Эйлера 155
Необходимость, но не достаточность условия приводит к
тому, что если оно не выполняется, граф не будет планарным, а
если выполняется, то ничего о планарности или непланарно-
сти графа сказать нельзя, надо проводить дополнительные
исследования.
После этого учитель может спросить учеников, почему, по их
мнению, для графа К$, условие не выполнялось, а для графа Хз,з
выполняется. Обычно ученики не отвечают на этот вопрос.
Учитель напоминает, что граф Хз,з является двудольным,
вспоминает теорему Кёнига, по которой каждый цикл графа
имеет четное число ребер. Следовательно, наименьшее число
ребер, ограничивающее грань плоской укладки графа ^з,з> если
бы она существовала, равно четырем, а при доказательстве
соотношения т<Ъп-6 считается, что каждая грань содержит не
менее трех ребер.
Затем учитель может предложить ученикам
самостоятельно доказать дома следствие 10.7 с учетом сделанного им разъ-
»
яснения.
Доказательство следствия 10.8 о существовании в планар-
ном графе вершины, степень которой не превосходит пяти,
вытекает из полученного неравенства (- 12) > 0. Но разница между
этими числами велика, что позволяет высказать гипотезу о
существовании большего числа таких вершин.
Действительно, верно более сильное утверждение:
Всякий планарный граф с η > 4 вершинами имеет по
крайней мере 4 вершины со степенями, не превосходящими 5.
(Доказательство этого утверждения можно найти в книге [1].)
Теорему Понтрягина—Куратовского для школьников можно
давать в следующем виде.
Разобьем некоторые из ребер графов К5 и Хз,з и новыми
вершинами (см. рис. 10.14). Получившиеся графы будем
называть, соответственно, графами типов К$ и Хз,з·
156 Глава 4. Плоские и планарные графы (§ 9-10)
Рис. 10.14
Теорема Понтрягина-Куратовского (1927, 1930 гг.). Граф
является планарным тогда и только тогда, когда он не
содержит подграфов типов К5 и Хз,з-
Задачи
• Задача 10.1. В стране 10 озер, соединенных между собой
16 каналами, которые не пересекаются, причем от любого озера
молено доплыть до любого другого. Сколько в стране островов,
образованных озерами и каналами?
Решение задачи 10.1. Рассмотрим граф, в котором вершины
обозначают озера, а ребра — каналы. В графе 10 вершин и 16
ребер. Поскольку из каждого озера можно доплыть до каждого
другого озера, то граф связный, а так как озера и каналы
находятся на поверхности Земли, то граф плоский. Поэтому для
графа выполняется формула Эйлера, по которой число граней графа
равно 16-10 +2'=8. Одна из этих граней внешняя, а остальные
внутренние. Следовательно, в стране 7 островов.
Задача решена. ■
Задача очень простая. Она мгновенно решается при помощи
формулы Эйлера. Какую же пользу она может принести с мето-
§10. Грани плоского графа. Формула Эйлера
157
дической точки зрения? После этой задачи можно предложить
ученикам такую задачу.
• Задача 10.1а. В стране 6 озер, соединенных между собой
14 каналами, которые не пересекаются, причем от любого озера
молено доплыть до любого другого. Сколько в стране островов,
образованных озерами и каналами?
Обычно школьники решают ее, как и предыдущую. По
формуле Эйлера число граней равно 14-6 + 2 = 10, поэтому в
стране 9 островов. Однако самое большее число ребер, которое
можно провести в графе с 6 вершинами — 15. В этом случае
получится граф Кб, Значит, озера и каналы порождают граф Кв без
одного ребра. Однако этот граф непланарен, так как содержит в
качестве подграфа граф К$. Ситуация, заданная в условии задачи
невозможна!
А как же быть с решением задачи 10.1? Приведенное
«решение» имеет существенный изъян. Из того, что «озера и каналы
находятся на поверхности Земли», не следует, что граф плоский.
Следует или доказать это, или привести пример выполнения
условия задачи (см., например, рис. 10.15).
I -\
к—'
2\3
\ \
4 5
X
Рис. 10.15
• Задача 10.2. Плоский граф G, содерэ/еащий 300 вершин и
1200 ребер, состоит из пяти компонент. Сколько граней имеет
граф?
Формула Эйлера связывает число вершин, ребер и граней
связного плоского графа. Покажем, что формула Эйлера
следующим образом обобщается на случай несвязного плоского
графа:
158
Глава 4. Плоские и планарные графы (§ 9-10)
п-т +/= к+ 1,
где к — число компонент графа, а остальные обозначения имеют
тот же смысл, что и раньше.
Решение задачи 10.2. Соединим компоненты графа ребрами
(см. рис. 10.16).
• · ·
Рис. 10.16
В полученном связном графе будет η вершин, (т + к- 1)
ребер и/граней (столько же, сколько в исходном графе). Для этого
связного графа будет верна формула Эйлера
n-(m + k-l)+f=2.
Выполнив преобразования, получим утверждение:
Для плоского графа, имеющего η вершин, т ребер
и/граней, верно равенство
n-m+f= к+ 1.
Воспользуемся выведенной формулой:/= т-и+£+1=
1200-300 + 5 + 1=906.
В заданном графе будет 906 ребер.
Задача решена. ■
§ 10. Грани плоского графа. Формула Эйлера 159
• Задача 10.3. Нефтяная компания имеет несколько
перекачивающих станций, которые соединены нефтепроводами
{трубы нефтепроводов находятся в одной плоскости и не
пересекаются). Группа диверсантов должна вывести из строя систему
нефтепроводов, взорвав несколько станций так, чтобы
образовались хотя бы две станции, между которыми нельзя было
перекачать нефть. Докажите, что для этой цели достаточно
взорвать не более пяти станций.
Решение задачи 10.3. Систему нефтепроводов можно
изобразить в виде плоского графа G, вершины которого будут
соответствовать станциям, а ребра — нефтепроводам. Из следствия
10.8 известно, что в графе G существует вершина, степень
которой не превышает пяти. Из теоремы 4.2 вытекает, что
κ(β)<λ(β)<δ(β)<5.
В этой формуле κ(β) — число связности графа^, т. е. число
вершин, удаление которых делает граф несвязным или
одновершинным.
Следовательно, для того чтобы разрешить систему
нефтепроводов достаточно вывести из строя не больше пяти
перекачивающих станций.
Задача решена. ■
При решении задач на факультативе учитель должен
выбирать задачи не только по проходимой теме, но τ связанные с
ранее изучаемыми фактами. Последняя задача — это пример такой
задачи. Из доказанного в задаче неравенства следует, что
связность планарного графа не превышает пяти.
Задачи {Мельников О. И. Теория графов в занимательных
задачах. М.: URSS, 2017).
Грани плоского графа, формула Эйлера: 142-159.
ГЛАВА 5 Раскраски графов
§ 11. Хроматическое число и хроматический
многочлен графа
Пусть G — некоторый граф и к — натуральное число.
Вершинной к-раскраской или просто k-раскраской графа G
называется функция, ставящая в соответствие вершинам графа G
элементы множества {1, 2, ..., &}. Обычно элементы этого
множества называются красками или цветами. Если необходимо, то к в
этом определении опускается. При ^-раскраске фактически
может быть использовано меньше к цветов. Раскраска называется
правильной, если любым двум смежным вершинам
соответствуют различные цвета. Таким образом, правильную ^-раскраску
можно рассматривать как разбиение
FiuF2u...uF/= VGJ<k,
множества вершин VG графа на не более чем к непустых
классов, каждый из которых состоит из попарно несмежных вершин.
Если существует правильная ^-раскраска графа, то граф
называется к-раскрашиваемым.
Минимальное число к, при котором для графа G существует
правильная ^-раскраска, называется хроматическим числом этого
графа и обозначается %(G). Если %(G) = к, то граф G называется
к-хроматическим. Правильная ^-раскраска графа G при k = %(G)
называется минимальной.
На рис. 11.1 изображен граф G с одной из его правильных
4-раскрасок (в кружках около их вершин указаны их цвета).
Меньшим числом красок правильно раскрасить этот граф
невозможно. В самом деле, смежные вершины vi и v2 нужно
покрасить в два разных цвета. Вершины Уз и ν* соединены ребрами
с вершинами vi и V2, поэтому для их раскраски нужен новый цвет.
§11. Хроматическое число и хроматический многочлен графа 161
Рис. 11.1
Аналогично, вершина V5 является смежной с вершинами vi, V2, V3
и V4, поэтому для ее раскраски нужен четвертый цвет.
Легко описать 1-хроматические и 2-хроматические графы.
Если в графе есть ребро, то вершины, являющиеся его концами,
будут смежными, и поэтому должны быть окрашены в
различные цвета. Следовательно, 1-хроматический граф не должен
содержать ребер, то есть является пустым графом.
Если граф 2-хроматический, то из сказанного выше следует,
что его вершины можно разделить на два подмножества V\ и V2
попарно несмежных вершин, т. е. граф будет двудольным. Таким
образом, доказано
Теорема 11.1. Граф является 2-хроматическим тогда и
только тогда, когда он двудольный и непустой.
Для некоторых графов хроматическое число определить
просто.
Поскольку в полном графе каждая пара вершин соединена
ребром, то все вершины должны быть окрашены в различные
цвета, и, следовательно, %(Кп) = п. Если в полном графе Кп
удалить ребро е = (г/, ν), то в получившемся графе Кп-е вершины
162 Глава 5. Раскраски графов (§ 11-12)
и и ν можно окрасить в один цвет, поэтому χ(Κη - е) = η - 1.
Простой цикл, содержащий четное число вершин, является
двудольным графом, поэтому %(С2„) = 2. Любое дерево Г также
двудольный граф, поэтому χ(7) = 2. Простой цикл, содержащий
нечетное число вершин не является двудольным графом, поэтому
X(C2«+l) = 3.
Для произвольных графов вычисление хроматического
числа является тяжелой задачей. Рассмотрим теорему дающую
оценку хроматического числа.
Теорема 11.2. Для любого графа G верно неравенство
X(G) < 1 + A(G).
(Напомним, что A(G) — наибольшая из степеней вершин
графа.)
Доказательство. Утверждение очевидно для пустых
графов. Пусть G — произвольный χ-хроматический граф, χ > 2.
Рассмотрим порожденный подграф Я графа G с
наименьшим числом вершин, для которого χ(Η) = χ. Поскольку для
графов с числом вершин меньшим, чем χ, хроматическое число
также меньше, чем χ, то такой подграф существует.
Пусть Ην — граф, получившийся после удаления из графа Я
вершины v. Тогда χ(#ν) < % - 1 для любой вершины ν графа Я
Обозначим через dv степень вершины ν в графе Я.
Предположим, что dv < χ - 1. Граф Ην правильно раскрасим χ - 1
цветами. Окрасив затем вершину ν в один из этих цветов, не
использованных при окраске смежных с ней вершин, получим
правильную (χ-1)-раскраску графа Я. (Такой цвет обязательно
найдется, поскольку смежных с вершиной ν вершин по
предположению меньше, чем χ - 1.) Существование этой раскраски
противоречит выбору графа Я. Следовательно, dv > χ - 1.
Учитывая, что dv < A(G), получим требуемое.
Теорема доказана. ■
§11. Хроматическое число и хроматический многочлен графа 163
Некоторое улучшение полученной оценки дает следующая
Теорема 11.3. (Брукс, 1941 г.) Если G — связный граф, не
являющийся полным, и A(G) > 3, то χ(β) < A(G).
Очевидную оценку хроматического числа дает неравенство
χ(β) > <p(G), где (p(G) — наибольшее число вершин в кликах
графа G (кликовое число). Может показаться, что хроматическое
число тесно связано с величиной cp(G), и если φ(β) небольшое,
то небольшое и χ(β). Такую гипотезу опровергает
Теорема 11.4 (Зыков, 1949 г.) Существуют графы без
треугольников с произвольно большим хроматическим числом.
Наряду с раскраской вершим возможна и раскраска ребер графа.
Пусть G — некоторый граф и к — натуральное число.
Реберной к-раскраской графа G называется функция, ставящая в
соответствие ребрам графа G элементы множества {1, 2, ..., к},
которые называются цветами или красками. Реберная раскраска
называется правильной, если смежные ребра окрашены в разные
цвета. Граф, допускающий правильную реберную ^-раскраску,
называется реберно k-раскрашиваемым. Минимальное число к,
при котором граф G является реберно ^-раскрашиваемым,
называется реберным хроматическим числом или хроматическим
индексом и обозначается через %'(G). Если %f(G) = k, то граф G
называется реберно к-хроматическим.
Существуют достаточно точные оценки реберного
хроматического числа.
Теорема
11.5
неравенства
(В)
ИЗИНГ,
A(G)
1964 г.) Для любого
<X'(G)<A(G)+l.
графа
G
верны
(Доказательство теорем 11.3-11.5 можно найти в [1].)
164 Глава 5. Раскраски графов (§ 11-12)
Несмотря на то, что хроматический индекс для каждого
графа может быть равен только одному из двух чисел, задача его
точного нахождения до сих пор эффективно не решена.
Рассмотрим вопрос о числе различных раскрасок вершин
графа в t цветов. Вопрос легко решается, если раскраски
произвольные. В этом случае каждую из η вершин графа независимо
от других вершин можно окрасить в один из t цветов и поэтому
число различных раскрасок будет равно Л
Если же учитывать только правильные раскраски, то вопрос
об их числе решается значительно сложнее. Количество попарно
различных правильных /-раскрасок графа G называется
хроматической функцией этого графа и обозначается/(G, t).
Очевидно, что наименьшее из чисел t, для которых
/(G, /)*0 есть X(G).
Для некоторых графов хроматическая функция вычисляется
просто. Так, для пустого графа f(Om f) = f, поскольку в графе
нет смежных вершин и цвета вершин можно выбирать
независимо друг от друга.
При правильной раскраске полного графа Кп первую
вершину можно окрасить в любой из имеющихся t цветов, вторую —
в любой из (t— 1) цветов, поскольку она будет смежной с первой
вершиной, третью — в любой из (t - 2) цветов, поскольку она
будет смежной с первыми двумя вершинами и т. д. Последняя,
п-я вершина, будет смежна с (п - 1) уже окрашенными
вершинами, поэтому для нее существует t-(n- 1) возможность выбора
цвета для построения правильной раскраски.
Следовательно,
f (Υ л = [*(* " 1) - (f " п + 1);если t > п;
\ 0, если t < п.
Рассмотрим несколько теорем, позволяющих упростить
вычисление хроматической функции.
§11. Хроматическое число и хроматический многочлен графа 165
Теорема 11.6. Пусть и и ν — две несмежные вершины
графа G. Если граф G\ получается из графа G соединением
вершин и и ν ребром, а граф G2 получается из графа G в
результате слияния вершин и и ν, то
f(G, t) =/(G,, 0 +/(G2, Ζ).
Доказательство.
Все правильные /-раскраски графа G можно разделить на
две группы: те раскраски, у которых вершины и и ν окрашены в
разные цвета, и те раскраски, у которых они окрашены в один
цвет. Число правильных /-раскрасок графа G, в которых
вершины и и ν окрашены в разные цвета не изменится, если к графу G
присоединить ребро (и, ν). Следовательно, число таких
раскрасок paBHo/(Gi, /).
Аналогично, число правильных ί-раскрасок, у которых
вершины и и ν окрашены в один цвет, paBHo/(G2, /).
Складывая эти числа, получим число правильных
/-раскрасок графа G.
Теорема доказана. ■
Доказанная теорема позволяет свести вычисление
хроматической функции графа к вычислению хроматических функций
двух графов, один их которых имеет меньше вершин, чем
исходный граф, а второй содержит больше ребер, чем исходный граф.
В свою очередь, вычисление хроматических функций
полученных графов можно свести к вычислению хроматических
функций новых графов и так до тех пор, пока не дойдем до
вычисления хроматических функций полных графов.
Таким образом, доказано
Следствие 11.7. Хроматическая функция графа равна сумме
хроматических функций нескольких полных графов, каждый
из которых содержит не больше вершин, чем исходный граф.
166
Глава 5. Раскраски графов (§ 11-12)
Поскольку, хроматическая функция полного графа является
полиномом, то верно
Следствие 11.8. Хроматическая функция
/(G, f) любого графа является полиномом от t.
Найдем с помощью теоремы 11.6
хроматический полином графа, изображенного на
рис. 11.2. При этом вместо f(G, i) =f(G\9 t) +
+/(Ст2, t) будем писать G = G\ Θ G2 или
рисовать соответствующие графы.
На первом шаге получим ситуацию,
изображенную на рис. 11.3.
Рис. 11.2
Далее, см. рис. 11.4.
Рис. 11.3
Рис. 11.4
§11. Хроматическое число и хроматический многочлен графа 167
Поэтому,
/(G, 0 =f(K5, f) + ЗДХ4, ί) +/(Хз, 0 =
= t(t- l)(i- 2)(f - 3)(ί- 4) + 3/(ί- 1)(Γ- 2)(ί- 3) +
+ /(ί- 1)(/- 2) = ί5 - if + 18/3- 20/2 + 8/.
КОММЕНТАРИЙ
Для школьников будет более удобным следующее
определение раскраски и правильной раскраски графа.
Вершинной к-раскраской графа или просто k-раскраской
называется окрашивание вершин графа ^-красками, при этом
каждая вершина окрашивается одной краской. Можно считать, что
каждой вершине графа приписывается один из к цветов или
каждая вершина окрашивается в один из к цветов.
Если две любые смежные вершины будут окрашены в
различные цвета, то такая раскраска называется правильной. Граф в
этом случае будет называться правильно к-раскрашенным.
Аналогичные определения можно давать и при раскраске
ребер графа.
Задачи раскраски вершин и ребер графа занимают важное
место в теории графов. К построению раскрасок сводится целый
ряд задач, характерной особенностью которых является
существование объектов, которые по каким-либо причинам не могут
быть объединены в одну группу. К подобны задачам относятся,
например, задачи распределения ресурсов, составления
расписаний, проектирования механизмов и многие другие задачи.
Примеры практических задач, решение которых сводится к
построению правильных раскрасок графов, приведены в книге [2]
(задачи 176, 177, 178).
Практическая направленность задач раскраски требует
хороших алгоритмов их решения, однако таковые на настоящий
момент не известны.
На факультативе можно рассмотреть один простой алгоритм
построения раскраски произвольного графа, в некоторых
случаях приводящий к раскраскам, близким к минимальным.
168 Глава 5. Раскраски графов (§ 11-12)
Алгоритм последовательной раскраски
1. Произвольной вершине vi графа G припишем цвет 1.
2. Если вершины vi, V2, ..., ν,·, окрашены цветами 1, 2, ..., Ζ,
/ < ζ, то новую произвольно взятую вершину ν,·+ι окрасим в
минимальный цвет, не использованный при раскраске смежных с
ней вершин.
Теорему 10.2 на факультативе можно не упоминать, а
ограничиться замечанием о трудности задачи вычисления
хроматического числа и привести без доказательства теорему Брукса.
Легко построить пример, показывающий достижимость
оценки хроматического числа, приводимой теоремой Брукса, однако
в ряде случаев теорема может дать завышенную оценку.
Например, из этой теоремы следует, что χ(Κ\ η)<η, в то время как
Исследование эффективности оценки алгоритма
последовательной раскраски и точности оценки, приводимой в
теореме Брукса, для различных классов графов может послужить
темой для научных работ школьников по математике и
информатике.
Прежде, чем рассматривать вопрос о числе различных
раскрасках следует обратить внимание учеников, что такое
различные раскраски. В этом случае рассматриваются помеченные
графы, вершины которых занумерованы числами от 1 до п. Две
раскраски графа будут считаться различными, если цвета хотя
бы одной вершины при этих раскрасках будут отличаться.
Перед формулировкой или доказательством теоремы должна
быть определена и проиллюстрирована на примерах операция
слияния вершин. В результате этой операции из графа G
получается новый граф G\. В этом графе две вершины и и ν заменяются
на одну вершину w9 которая будет смежной с теми и только теми
вершинами, с которыми были смежны вершины и и ν в графе G
(см. рис. 11.5).
Опыт показывает, что учащимся часто трудно понять,
почему подсчет раскрасок исходного графа сводится к подсчету
раскрасок двух получающихся из него графов. Учитель может про-
§11. Хроматическое число и хроматический многочлен графа 169
иллюстрировать такой переход на примере. Ясно, что из-за
большого числа раскрасок даже для небольших графов граф для
примера должен содержать небольшое число вершин, а
хроматическая функция вычисляться при небольших t.
Рис. 11.5
Рассмотрим /(G, 3), граф изображен на рис. 11.6.
ау*к
urn G > ν
Рис. 11.6
По доказанному ранее
/(G, 3) =f(K3, 3) +f(K2, 3) = 3·2·1+3·2 = 12.
На рис. 11.7 в левой колонке представлены 6 раскрасок
графа G, которые можно получить из раскрасок графа G\ = Кз, а в
правой — 6 раскрасок графа G, которые можно получить из
раскрасок графа Gi = К^
Ответ на вопрос, каким условиям должен удовлетворять
полином, чтобы он оказался хроматическим полиномом некоторого
графа, пока не получен. Известна следующая теорема.
170
Глава 5. Раскраски графов (§ 11-12)
Теорема 11.9. Хроматический полином графа G,
содержащего η вершин, т ребер и к связных компонент, имеет вид
где щ — целые неотрицательные числа.
f(G,i) =f-mf1 + а^г f2-a^i"~3 + ... (- 1)' ~ак
Представляет интерес уточнение вида хроматического
полинома для отдельных классов графов.
Φ
и/ \ν
Φ
УК
О О
Φ О
(2>
ит тν
Φ Φ
Q Q
О
Q Φ
Φ
и т- -^· ν
Q) G>
Φ
ит- ^· ν
Φ
У\_
ит- -*#ν
Φ Q
Μ «£ ^# V
© φ
• φ
ит- ^.ν
φ φ
ο
ит- ^· ν
Ο Φ
φ
φ
Д α\
Uq/ >j> vt>^
Q> Φ 3
α
3
Φ
I
Φ
©
a
w,
о
о
а
w,
а
w,
φ
о
о
Рис. 11.7
§11. Хроматическое число и хроматический многочлен графа 171
Задачи
• Задача 11.1. Частный институт арендует здание для
проведения занятий. Чтение каждой лекции в отдельности
занимает один час. Некоторые лекции не могут проводиться
одновременно, например, их читает один и тот же лектор, или
есть студенты, которые должны посещать эти лекции, или
для их проведения нужна одна и та же аудитория и т. д. Ока-
залось, что в четверг нельзя провести лекции менее чем за 3
часа., но если перенести с четверга любую лекцию на другой день,
то молено обойтись двумя часами. Докажите, что для каждой
лекции существует по крайней мере две таких лекции, которые
не могут читаться с ней одновременно.
Решение задачи 11.1. Построим граф G, вершины которого
соответствуют лекциям, и две вершины смежны тогда и только
тогда, когда соответствующие им лекции нельзя читать
одновременно. Очевидно, что любая правильная раскраска вершин
графа определяет некоторое расписание: вершины, окрашенные
одцим цветом, соответствуют лекциям, которые можно
проводить одновременно. Из условия задачи следует, что
хроматическое число графа %(G) = 3. Для решения задачи нужно доказать,
что наименьшая степень вершин графа не меньше двух.
Предположим, что существует вершина ν, степень которой
равна единице и удалим ее из графа. (Вершина ν не может быть
изолированной, поскольку в этом случае ее существование не
влияет на раскраску графа.) Так как хроматическое число нового
графа равно двум, то правильно раскрасим его вершины в 2
цвета. Для раскраски вершины, смежной с вершиной ν, в
полученном графе будет использован один цвет. Окрасив вершину ν в
другой цвет, получим правильную раскраску графа G двумя
цветами, что противоречит условию задачи. Поэтому любая
вершина графа имеет степень не меньше, чем два. Это означает, что
любая лекция имеет не менее двух не совместимых с ней во
времени лекций.
Задача решена. ■
172 Глава 5. Раскраски графов (§ 11-12)
Решение этой задачи дает пример сведения практической
задачи к графовой модели, на первый взгляд не очевидное.
Задачи (Мельников О. И. Теория графов в занимательных
задачах. М.: URSS, 2017).
Раскраска графов: 176-181.
§ 12. Раскраска планарных графов
Связный плоский граф без мостов называется картой. Грани
карты, имеющие общее ребро, называются смежными. Функция,
ставящая в соответствие каждой грани карты натуральное число
из множества {1,2, ... Д} — цвет грани, называется к-раскраской,
если цвета смежных граней различны. Карта называется k-pac-
крашиваемощ если для нее существует ^-раскраска.
В 1879 году британский математик А. Кэли опубликовал в
первом томе трудов Лондонского географического общества
статью, посвященную проблеме раскраски карт, в которой
сформулировал гипотезу четырех красок.
Гипотеза четырех красок. Всякая карта 4-раскрашиваемая.
Удобно вместо раскраски карты правильно раскрашивать
плоский граф, специальным образом соответствующий этой карте.
Для произвольного плоского графа G построим новый
плоский граф G* следующим образом. Внутри каждой грани i"J
графа G выберем по одной точке ν,· — вершине нового графа. Затем
каждому ребру е графа G поставим в соответствие кривую е*?
которая пересекает лишь ребро е графа G и соединяет вершины
V/, которые лежат в гранях, содержащих ребро е. (Таких граней
может быть две или одна). Проведенные кривые — ребра нового
графа G*. Очевидно, что ребра графа G* можно провести так,
чтобы любые два ребра не имели общих точек, кроме вершины,
из которой они выходят.
§12. Раскраска планарных графов
173
Построенный таким образом граф G* называется
двойственным к графу G.
На рис. 12.1 изображены граф G и двойственный к нему
граф G*. (Ребра графа G — сплошные линии, а графа G* —
пунктирные.)
Рис. 12.1
Отметим, что двойственный граф для графа, вообще говоря,
может оказаться мультиграфом или псевдографом. Если в графе
G две грани имеют более одного общего ребра, то в графе G*
будут параллельные ребра, если в графе G есть мост, то в графе
G* будет петля (см. рис. 12.2, где ребра графа G нарисованы
сплошными линиями, а графа G* — пунктирными.)
Рис. 12.2
174 Глава 5. Раскраски графов (§ 11-12)
Теорема
только г
ваемый.
12.1.
гогда,
Карта
когда
G является ^-раскрашиваемой,
двойственный граф
G*
тогда и
&-раскраши-
Доказательство. Так как G — плоский граф без мостов, то
G* — плоский граф без петель. Пусть задана некоторая раскраска
карты G. Построим раскраску графа G*, приписав каждой его
вершине цвет той грани, в которой находится эта вершина.
Поскольку из построения графа G* следует, что две вершины этого
графа смежны тогда и только тогда, когда смежны содержащие их
грани, то полученная раскраска графа G* окажется правильной.
Аналогичным образом можно перейти от правильной
раскраски графа G* к раскраске карты G.
Теорема доказана. ■
Теорема 12.2. Любой планарный граф 5-раскрашиваем.
Доказательство. Докажем теорему по индукции. Любой
граф менее чем с 5 вершинами 5-раскрашиваем. Рассмотрим
плоский граф с η вершинами и предположим, что любой
плоский граф с меньшим числом вершин 5-раскрашиваем.
Согласно следствию 10.8 в любом плоском графе G
существует вершина степени не большей, чем 5.
Пусть в графе есть вершина степени 4 или меньше. Удалив
ее из графа (вместе с инцидентными ей ребрами), получим граф
G', который по индуктивному предположению можно раскрасить
5 красками. Возвратим в G' вершину и. Поскольку смежные с
ней 4 вершины окрашены не более чем в четыре цвета, то
вершину и можно окрасить в один из цветов, не использованных
при раскраске соседних с ней вершин.
Пусть в графе G нет вершин степени 4 или меньше. Тогда
удалим из него вершину и степени 5, и раскрасим получившийся
граф 5 красками. Если при раскраске смежных с и вершин исполь-
§12. Раскраска планарных графов
175
зовано не более четырех цветов, то поступаем, как в
предыдущем случае.
Пусть при раскраске в полученном графе G' смежных с и
вершин vi, v2, v3, v4, v5 использовано 5 красок (см. рис. 12.1а).
Среди вершин νζ· есть хотя бы одна пара несмежных, так как в
противном случае граф G содержал бы подграф К5 и,
следовательно, оказался бы непланарным. Не теряя общности, считаем,
что это вершины v2 и V5.
Сольем эти вершины в одну вершину w, получив при этом
граф G". Поскольку в графе G" меньше, чем η вершин, то по
индуктивному предположению его можно раскрасить пятью
красками (см. рис. 12.36). Превратим раскраску вершин графа G"
в раскраску вершин графа G', окрасив вершины ν2 и ν5 в цвет
вершины w и оставив цвета других вершин (см. рис. И.Зв, цвета
других вершин обозначены ха и т. д.).
Ъ ©
V4 ® V5Q
а
/
V4 О V5 <3>
б
/@
d @
ν4φ ν5© /
в
Рис. 12.3
176 Глава 5. Раскраски графов (§ 11-12)
Теперь вернем в граф G' вершину и и окрасим ее в один из
неиспользованных цветов при раскраске смежных с ней вершин
Vl, Vfc, Уз, V4, V5. ,
Получена раскраска графа G пятью красками.
Теорема доказана. ■
КОММЕНТАРИЙ
Задача раскраски планарных графов является одной их
самых знаменитых задач теории графов.
История доказательства гипотезы четырех красок дана в
Кратком очерке истории теории графов.
Проблема четырех красок — яркий пример задачи, не
имеющей значения для практики, (поскольку пятью красками
любая карта красится без труда), но сыгравшей огромное
значение для теории, так как для решения задачи разрабатывались
специальные методы, оказавшиеся полезными для развития
теории в целом.
При желании учитель в младших классах может доказать
более простую теорему.
Теорема 12.3. Любой планарный граф 6-раскрашиваем.
Доказательство. Пусть граф G — произвольный
плоский граф, изображенный на плоскости и содержащий η
вершин. Докажем теорему с помощью математической индукции.
Все графы, имеющие не более шести вершин 6-раскрашиваемы.
Предположим, что любой плоский граф с (п — 1) вершиной
6-раскрашиваем.
Согласно следствию 10.8 плоский граф G обязательно
содержит вершину ν, степень которой не превышает пяти. Удалив из
графа эту вершину вместе с выходящими из нее ребрами,
получим граф G'. Граф G' по индуктивному предположению
6-раскрашиваем. Окрасим его вершины шестью красками. Вернем в граф
§ 12. Раскраска планарных графов 177
вершину v. Поскольку степень вершины ν не более пяти, то
существует цвет, не использованный при окраске смежных с ν вершин.
Окрасив вершину ν в этот цвет, получим 6-раскраску графа G.
Теорема доказана. ■
Доказывая эту теорему в младших и средних классах
индукцию можно проводить замаскированно.
Нарисуем плоский граф G. (Для экономии времени
желательно рисовать граф, содержащий немного, 8-9 вершин).
Удобно обозначить этот граф G„, где η — число вершин в нем. Удалив
вершину vi степени, не превосходящей 5 (вместе с выходящими
из нее ребрами), получим плоский граф G„_i. Удалив из него
вершину V2 также степени, не превосходящей 5, получим плоский
граф G^_2. Продолжим этот процесс, пока не получим граф Go,
содержащий шесть вершин.
Раскрашиваем вершины этого графа шестью различными
цветами. Затем возвращаем в граф последнюю удаленную из
него вершину и. Эта вершина в графе G7 смежна не более, чем с
пятью вершинами, поэтому для нее всегда найдется цвет,
отличный от цветов смежных с ней вершин. Окрасим и в этот цвет.
Точно так же перейдем от раскраски графа G7 к раскраске графа
Gg. Возвращая вершины графа в порядке, обратном порядку
удаления, и окрашивая их, получим окраску начального графа.
Теорема доказана. ■
На рис. 12.4 изображен возможный процесс для графа с
восьмью вершинами. Для графа G$ в качестве вершины и
возьмем вершину щ, а затем для графа G7 в качестве аналогичной
вершины возьмем вершину щ. (Возможен и другой выбор
вершин.) Граф Ge имеет шесть вершин, раскрасим их в шесть
разных цветов. (Цвета вершин помещены в кружках.)
Возвратим в граф вершину щ. Смежные с ней вершины щ,
из, щ в графе G окрашены в цвета 1, 2 и 6. Поэтому вершину щ
можно окрасить в любой из цветов 3, 4 или 5. Окрасим ее,
например, 5 (см. рис. 12.4г).
178 Глава 5. Раскраски графов (§ 11-12)
Теперь перейдем к раскраске графа Gs. Вершина щ смежна с
пятью вершинами, окрашенными в пять различных цветов. Для
ее раскраски остается единственный цвет — 2.
а б в
Рис. 12.4
Следует обратить внимание учеников, что данную
процедуру раскраски можно провести для любого плоского графа,
следовательно, любой плоский граф 6-раскрашиваем.
Задачи
• Задача 12.1. Известно, что на карте одной области нет
точек, в которых сходятся границы нечетного числа районов.
Докажите, что такую карту молено раскрасить двумя
красками так, что любые два соседние района будут покрашены
разными красками.
Решение задачи 12.1. Будем считать карту области графом G.
По условию все вершины этого графа, не принадлежащие внешней
§ 12. Раскраска планарных графов 179
грани, имеют четкую степень. Построим граф G*, двойственный
к графу G, без внешней грани. Из теоремы 12.1 следует, что
раскраска карты двумя красками эквивалентна правильной
раскраске вершин двойственного графа двумя цветами. Теорема 11.1
утверждает, что это будет выполняться, если граф G* будет
двудольным. Докажем двудольность графа G*.
Покажем, что любой цикл С в графе G* содержит четное
число ребер. Если внутри цикла С находится только одна
вершина ν графа G, то каждое ребро цикла пересекает ровно одно
ребро графа G, выходящее из вершины v. Так как по условию из
вершины ν выходит четное число ребер, то цикл в этом случае
также будет содержать четное число ребер.
Пусть внутри цикла С находится несколько вершин графа G:
vb V2, , Vjk (см. рис. 12.5).
Рис. 12.5
Каждая вершина ν,- окружена циклом С,·, имеющим внутри себя
только эту вершину и содержащим четное число ребер. Сложив
число ребер циклов С/, получим в сумме четное число, равное
числу ребер цикла С, сложенному с удвоенным числом ребер
циклов С/, не вошедших в С. Поэтому число ребер цикла С — четное.
Аналогично рассматривается случай, когда цикл С имеет
повторяющиеся вершины.
180 Глава 5. Раскраски графов (§ 11-12)
Поскольку граф G* имеет только циклы четной длины, то из
теоремы 3.5 вытекает его двудольность. Раскрасив вершины
каждой доли своим цветом, получим правильную раскраску
графа G*. Отсюда следует, что карту области можно раскрасить
двумя красками.
Задача решена. ■
При решении задач с плоскими графами часто прибегают к
такому приему. Переходят к двойственному графу, проводят с
ним нужные рассуждения или преобразования, получают
некоторый результат, который интерпретируют для исходного графа.
Решенная выше задача — пример применения такого приема.
• Задача 12.2. Докажите, что для раскраски карты,
получающейся при пересечении прямых на плоскости достаточно
двух красок.
Решение задачи 12.2. Как и ранее, считаем карту графом G.
Тогда степень каждой вершины графа G будет четной. Из
предыдущей задачи следует, что такую карту можно раскрасить
двумя красками.
Однако эту задачу можно решить, применяя индукцию, без
использования предыдущей задачи.
Решение задачи 12.2 (2-й вариант). Пусть есть карта,
образованная пересечением двух прямых. Очевидно, что карту
можно раскрасить двумя красками (см. рис. 12.6).
Пусть карта, образованная пересечением (£-1) прямых,
раскрашивается двумя красками (рис. 12.7). Покажем, что карту,
образованную пересечением k прямых также можно раскрасить
двумя красками (на рис. 12.8 эта прямая выделена).
1
2 1
Рис. 12.6
§12. Раскраска планарных графов 181
Рис. 12.7
Новая прямая делит плоскость на две полуплоскости. В
одной полуплоскости оставляем цвета граней прежними, во второй
меняем цвет 1 на цвет 2, а цвет 2 — на цвет 1.
Рис. 12.8
Задача решена. ■
Задачи {Мельников О. И. Теория графов в занимательных
задачах. М.: URSS, 2017).
Раскраска плоских графов: 182-187.
ГЛАВА 6 Независимые
множества
§ 13. Независимые множества
вершин и ребер
Множество вершин графа называется независимым, если
никакие две его вершины не смежны. Иными словами,
независимое множество вершин S порождает пустой граф. Очевидно,
что любое подмножество независимого множества также
является независимым.
Независимое множество графа называется максимальным,
если оно не содержится ни в каком другом независимом
множестве, и наибольшим, если оно имеет наибольшее число вершин
среди всех независимых множеств.
Число вершин в наибольшем независимом множестве графа
G называется числом независимости этого графа и обозначается
через ao(G).
Для графа, изображенного на рис. 13.1, ao(G) = 4, множества
вершин {1, 2, 4, 5}, {1, 2, 4, 6} и {1, 2, 4, 7} являются
наибольшими независимыми множествами, множество {3, 6} —
максимальным независимым множеством, не являющееся наибольшим.
2 6
+<
4 7
Рис. 13.1
§ 13. Независимые множества вершин и ребер 183
Задачи определения числа независимости и построения
наибольшего независимого множества являются весьма трудными.
Можно предложить простой алгоритм построения
независимого множества М. На каждом шаге алгоритма выбирается
вершина наименьшей степени, которая заносится в М. Затем эта
и смежные с ней вершины удаляются (вместе с инцидентными
им ребрами) и процесс продолжается.
Предложенный алгоритм не всегда строит наибольшее
независимое множество.
Для иллюстрации этого рассмотрим граф G, изображенный
на рис. 13.2.
Рис. 13.2
На первом шаге алгоритма выбираем вершину наименьшей
степени — вершину 1. Заносим ее в множество Μ и удаляем из
графа вместе со смежными вершинами 2 и 3. Получим граф G\9
изображенный на рис. 13.3.
4 5 6
Рис. 13.3
Далее в множество Μ поместим вершину 4, а затем —
вершину 6. Мы получили независимое множество М= {1, 4, 6}.
184 Глава 6. Независимые множества (§ 13)
Однако ao(G) = 4, поскольку наибольшее независимое
множество вершин— {2, 3, 5, 7}.
Нетрудно доказать, что отношение числа вершин в
множестве, полученном по алгоритму к ao(G) может быть сколь угодно
малым числом, т. е. для некоторых графов алгоритм может
оказаться весьма плохим.
Рассмотрим несколько оценок числа a0(G).
Теорема 13.1. Для графа с η вершинами выполняется
соотношение
ao(G) - ZcFTT?
где A(G) — наибольшая из степеней вершин графа.
Доказательство. Пусть S= {vi, уг, ..., va } — наибольшее
независимое множество вершин графа G, содержащее ао
вершин. Для каждой вершины V/ из S рассмотрим множество N(yi)9
которое содержит вершину ν,- и все смежные с ней вершины.
Каждая вершина графа G обязательно попадет хотя бы в
одно множество N(vt)i так как в противном случае не попавшую
вершину можно добавить в S и получить еще большее
независимое множество.
Число вершин в множестве N(yi) равно d(yi) + 1, где d(vt) —
степень вершины vz. Поэтому
η < (d(yx) + 1) + (dfo) + 1) + ... + (d(vao) + 1) <
<(Д(С) + 1) + (A(G) + 1) + ... + (Д(С) + 1) =
= (Ю(Д(С) + 1).
Отсюда вытекает требуемое неравенство.
Теорема доказана. ■
Длд некоторых графов возможно улучшение этой оценки.
§13. Независимые множества вершин и ребер 185
Теорема 13.2. Для связного графа Gen вершинами, не
являющегося полным и с A(G) > 3, выполняется соотношение
a0(G)>-^-.
0 A(G)
Доказательство. Из теоремы 11.3 следует, что для таких
графов хроматическое число x(G) < A(G). Хроматическое число —
это наименьшее число красок, которыми, можно правильно
раскрасить вершины графа. Вершины, окрашенные одной краской
попарно не смежны, т. е. образуют независимое множество
вершин. Пусть п\9 П2, ... ηχ(β) — число вершин, окрашенных
соответственно в цвет 1, 2, ...,^(G). Тогда
η = щ + п2 + ... + ηχ(ο) < oto(G) + a0(G) + ... + a0(G) =
= a0(G) χ(β) < a0(G) A(G).
Отсюда вытекает требуемое неравенство.
Теорема доказана. ■
Эти оценки предпочтительнее, когда граф регулярный или
близкий к регулярному. Однако, например, для звезды К\уП
получаем a0(Xi,w) > (η + 1)/и, т. е. а0(К^п) > 2, в то время как a0(^i>w) = п.
Наряду с независимыми множествами вершин существуют и
независимые множества ребер.
Произвольное множество попарно несмежных ребер графа
называется независимым множеством ребер или паросочетанием.
Паросочетание называется максимальным, если оно не
содержится в паросочетании с большим числом ребер, и наибольшим,
если число ребер в нем наибольшее среди всех паросочетании
графа. Вершины графа, из которых выходят ребра паросочетания,
называются насыщенными вершинами, остальные вершины —
ненасыщенными. В таком случае говорят также, что
паросочетание насыщает эти вершины. Число ребер в наибольшем
паросочетании графа G называется числом паросочетания и
обозначается ai(G).
186
Глава 6. Независимые множества (§ 13)
Рассмотрим граф G, изображенный на рис. 13.4. Каждое
ребро графа является паросочетанием. Примерами других паро-
сочетаний являются множества ребер {ей βη}, {ей е%), {ез, е^ eg}.
Множество ребер {е\, ез, ев, ею} не будет паросочетанием, так
как ребра ев и ею смежные. Для паросочетания {е3> es} вершины
V3> v4> ^2 и νβ будут насыщенными, а остальные вершины графа -—
ненасыщенными. Паросочетание {в2, е%} не является
максимальным, поскольку оно содержится в паросочетании {в2, е%, ею}.
Паросочетание {е^ £2, £9} является максимальным, поскольку
невозможно добавить к нему какое-либо ребро, чтобы получить
новое паросочетание. Паросочетания {е\, ез, е%, ею}, {#4, е$, ез, ею}
являются наибольшими. Это следует, в частности, из того, что
для них в графе не существует ненасыщенных вершин. Таким
образом, oti(G) = 4.
V! ех v2 ег v3 еъ v4
v5 e% v6 e9 v7 e{0 v8
Рис. 13.4
Рассмотрим задачу нахождения наибольшего паросочетания
в графе.
Пусть Μ — паросочетание в графе G. Цепь графа G, ребра
которой поочередно входят и не входят в М, называется
чередующейся относительно М. Ребра цепи называются темными
или светлыми, если они соответственно входят или не входят в
Μ Чередующаяся относительно паросочетания Μ цепь,
соединяющая две различные ненасыщенные вершины графа,
называется увеличивающей относительно паросочетания Μ цепью. Так
же будем называть и цепь, состоящую из одного ребра
соединяющего две ненасыщенные паросочетанием вершины. Очевидно,
§13. Независимые множества вершин и ребер
187
что если в графе существует увеличивающая относительно па-
росочетания Μ цепь, то в нем можно построить паросочетание с
большим числом ребер, чем Μ Действительно, в такой цепи
число светлых ребер на одно больше, чем число темных.
Поэтому, удалив из Μ все темные ребра цепи и добавив туда все
светлые ребра, получим новое паросочетание, имеющее на одно
ребро больше, чем предыдущее паросочетание.
Например, рассмотрим паросочетание М= {е^ £з> ^б} (см.
рис. 13.5а). Цепь L = (v6, е8, v5, e4, vi, eh v2, e6, v7, ею, v8) является
увеличивающей относительно Μ цепью с темными ребрами е* и
ев и светлыми ребрами £8, е\ и ею (см. рис. 13.5а, где темные
ребра выделены жирными линиями, а светлые — штриховыми).
Удалив из паросочетания темные ребра и добавив туда светлые,
получим паросочетание {е\, ез, е8, £ю} с большим числом ребер
(см. рис. 13.56).
е\ v2 e2 v3 e3 v4
е4
V5
е5
е8 v6 e9 v7 ею
а)
v8
V]
е\ v2 е2 v3 еъ v4
Рис. 13.5
Следовательно, отсутствие увеличивающих относительно Μ
цепей является необходимым условием для того, чтобы
паросочетание Μ было наибольшим. Оказывается это условие является
и достаточным.
Теорема 13.3. Паросочетание Μ является наибольшим в
графе тогда и только тогда, когда в этом графе нет
увеличивающих относительно Μ цепей.
188
Глава 6. Независимые множества (§ 13)
Доказательство. Необходимость условия теоремы, как
отмечалось выше, очевидна.
Достаточность докажем от противного. Предположим, что
в графе G нет увеличивающих относительно Μ паросочетаний,
но наибольшим является паросочетание М\9 т. е. | М\ \ > \ М\.
Построим граф Г следующим образом. Ребрами графа Г
являются ребра графа G, входящими ровно а одно паросочетание, или в
М, или в М\. (Ребра графа G, принадлежащие обоим паросочета-
ниям, в граф Τ не входят.)
Если из вершины графа Τ выходит только одно ребро какого-то
из паросочетаний Μ или М\9 то степень этой вершины в графе Τ
щ
8
10
11 12 13 14
Граф G
и паросочетание Μ
а)
г..
8 %
:,£ -<Щ#
12 lT
в)
11 12
Граф G
и паросочетание М\
б)
4W
10
14
Рис. 13.6
§13. Независимые множества вершин и ребер 189
равна единице. Если из некоторой вершины графа Τ выходит по
одному ребру каждого из этих паросочетания, то степень этой
вершины равна двум. Вершин других степеней в графе Г не может
быть. Поэтому любая компонента графа Τ является либо циклом,
содержащим одинаковое число ребер из Ми Ми либо цепью (см.
рис. 13.6в, на котором ребра паросочетания Μ выделены).
Поскольку паросочетание М\ имеет ребер больше, чем паро-
сочетание М, среди этих цепей обязательно есть цепь Ζ, крайние
ребра которой принадлежат паросочетанию М\ (на рис. 13.6в это
цепь (5, 4, 8, 10, 14, 13)). Тогда крайние вершины этой цепи не
насыщены паросочетанием М, то есть L есть цепь,
увеличивающая относительно паросочетания Μ Получено противоречие.
Теорема доказана. ■
Рассмотрим одну шуточную задачу, которая носит название
задачи о свадьбах: известно некоторое множество юношей,
каждый из которых знаком с несколькими девушками. При каких
условиях можно переженить молодых людей так, что каждый
юноша женился на знакомой девушке.
Пусть, например, есть четыре юноши х\9 х2, хз, *4 и пять
девушек у\9 у2, уз, Уа, У5- Пусть юноша *ι знаком с девушками у\9 у2,
у3 и у5, юноша Х2 — с девушками у\ и у3, юноша хз — с девушкой
у$9 юноша Л4 — с девушками у3, у<\.
Решение задачи о свадьбах равносильно поиску
паросочетания в специально построенном двудольном графе G = (Х9 Г, £).
В этом графе вершины множества X будут
соответствовать юношам, вершины
множества Υ — девушкам, и ребро будет соединять Х{
две вершины, если соответствующие им
молодые люди знакомы. На рис. 13.7 изображен 2
граф, построенный для заданной примером
задачи о свадьбах. Жирными линиями
выделены ребра, определяющее одно из решений Ха
задачи.
Рассмотрим условие существования в
двудольном графе паросочетания, насыщаю- Рис. 13.7
190 Глава 6. Независимые множества (§ 13)
щего все вершины множества X. Для любого подмножества А
вершин множества X обозначим через N(A) подмножество
вершин множества Г, каждая из которых смежна с некоторой
вершиной из А Например, для графа, изображенного на рис. 13.7,
Щх\}) = {УиУ29Уз,У5},Щ{х19х3}) = {уиУ2,Уз,У5}9
Щ{х2,хз}) = {у\,Уз,У5},Щх29Х4}) = {уиУз,У4}9
Ы({хъхъ,хА}) = {уи У2, Уз, У4, ys}.
Очевидно, что если в графе G = (Х9 Y, Е) существует паросо-
четание, насыщающее все вершины множества X, то для любого
подмножества А вершин множества X число вершин, смежных с
вершинами из А9 не меньше, чем вершин в А9 т. е.
|ад|>и.
Это вытекает из того, что каждая вершина из множества А
может быть соединена ребром паросочетания только с вершиной
из множества N(A).
Оказывается, условие является и достаточным для
существования такого паросочетания.
Теорема 13.4. Для существования в двудольном графе
G = (Х9 У, Е) паросочетания, насыщающего все вершины
множества Х9 необходимо и достаточно, чтобы для любого
подмножества А множества X выполнялось условие
\A\<\N(A)\.
Доказательство. Необходимость, как говорилось выше,
очевидна.
Достаточность. Будем доказывать теорему от противного.
Пусть условие теоремы выполняется, но паросочетания,
насыщающего все вершины множества Х9 не существует. Пусть Μ —
наибольшее паросочетание, (х\9у>\\ {xi9yi)9 ..., (хьУ/д ребра
паросочетания, ахо — та вершина, из которой не выходит ребро
§13. Независимые множества вершин и ребер 191
паросочетания (вершины jc,- принадлежат множеству X, а
вершины yj — множеству Г.)
По условию теоремы вершина Xq смежна хотя бы с одной
вершиной множества 7. Вершины, с которыми смежна
вершина х0, обязательно принадлежат множеству {у\9 у^9 ..., Ук}9
поскольку в противном случае паросочетание Мне будет
наибольшим.
Пусть вершина х0 смежна с вершинами vb v2, ..., vp,
принадлежащими ребрам паросочетания (щ9 v\)9 (w2, v2), ..., (ир9 vp).
По условиям теоремы вершины множества {щ9 и2, ... ир9 Хо}
должны иметь в совокупности не менее, чем /? + 1 смежную
вершину в множестве Y. Поэтому некоторая вершина щ
(например, щ) должна быть смежна с некоторой вершиной vp+\9 не
входящей в множество {vi, ν2, ..., νρ}. Если из вершины νρ+\ не
выходит ребро паросочетания, то в графе существует
увеличивающая относительно паросочетания Μ цепь (х<ь vi, щ9 ν ρ+\).
Из теоремы 13.3 следует, что паросочетание Μ в этом случае не
является наибольшим, что противоречит условию
доказываемой теоремы.
Пусть из вершины νρ+\ выходит ребро паросочетания (ур+\9
up+i) (см. рис. 13.8)
Up+\ Щ Щ Up XQ
Χ Ψ
Υ
Vp+\ Vi V2 Vp . yk
Рис. 13.8
Дальнейшие рассуждения повторяют рассуждения
предыдущего абзаца. Как и ранее, по условиям теоремы вершины
множества {щ9 w2? ... ир9 ир+\9 Хо} должны иметь в совокупности
не менее, чем /7 + 2 смежные вершины в множестве У. Поэтому
некоторая вершина щ должна быть смежна с некоторой вер-
ц^
192 Глава 6. Независимые множества (§13)
шиной Vp+2, не входящей в множество {vi, ν2, ..., νρ, νρ+\}. Если
из вершины νρ+2 не выходит ребро паросочетания, то в графе
существует увеличивающая относительно паросочетания Μ цепь.
Из теоремы 13.3 следует, что паросочетание Μ в этом случае не
является наибольшим, что противоречит условию доказываемой
теоремы.
Если из вершины ν р+2 выходит ребро паросочетания (νρ+2,
ир+2), то продолжим аналогичные предыдущим рассуждения и
построения.
Однако граф имеет конечное число ребер паросочетания, и
поэтому в какой-то момент не окажется ребра паросочетания,
выходящего из добавленной вершины, принадлежащей
множеству Y. Это означает, что построена увеличивающая
относительно паросочетания Μ цепь. Следовательно, паросочетание Μ не
является наибольшим. Получено противоречие.
Теорема доказана. ■
Теорема 13.4 является переформулировкой одной известной
теоремы комбинаторики. Пусть Υ — конечное непустое
множество, Χι — em подмножество, S = (Хь Х2, ..., Хт) — семейство
подмножеств множествах. Подмножество Т= (уиу2, ...9ут)
называется системой различных представителей (или трансвер-
салью) семейства S, если yt <—Х{и все у ι различны.
Задача построения системы различных представителей
(СРП) может быть сведена к задаче построения паросочетания в
специально построенном двудольном графе G = (Х9 Υ, Ε). В этом
графе вершины множества X соответствуют подмножествам Xi9
вершины множества Υ — элементам множества Υ, вершина xt
соединена ребром с вершиной yj9 тогда и только тогда, когда
элемент yj принадлежит подмножеству Xiu
Рассмотрим пример. Пусть множество Y= {у\9 уъ Уз, Уа, Уъ>
Уб, у?}, S = {Хи Х2, Хз, Ха, Хъь Ά}, где Χι = {уи у3, у5}9 Χι =
= {УьУа}, Хз = {Уи Уз, Уа}, Ха = (УзЬ Х$ = {Уз, У а, Уь* Уб, Уп}9
Хб = {У5> Уб}- На рис. 13.9 изображен граф G, соответствующий
заданному семейству множеств S.
§ 13. Независимые множества вершин и ребер 193
Χ Χ\ %ί Х^ -^4 -^5 *^6
У\ Уг Уъ Уа Уз Уб Уп
Рис. 13.9
Для построения СРП (трансверсали) необходимо построить
паросочетание, насыщающее все вершины множества X Если
нужное паросочетание (хи yi±), (x2, yi2\ ..., (xm yim) построено,
то СРП является множество Т= (у ι , у 19 ..., у ι ). Так, одно их
X £* fit·
гГаросочетаний, насыщающее вершины множества Х9 в графе
построенном ранее, определяет СРП для приведенного выше
примера. Здесь Τ = (уи у4, уЪь у5, уъ у6).
Χ Χ\ Χ2 Х% Х4 X5 %6
У\ Уг Уъ . У4 Уъ Уб Уп
Рис. 13.10
Итак, построение СРП семейства подмножеств
эквивалентно построению паросочетания, насыщающего все вершины
множества X в специально построенном графе. Поэтому
возможна переформулировка теоремы 13.4.
Теорема 13.5 (Холл, 1935 г.). Пусть Υ— конечное непустое
множество, S=(Xi9 Χι, ..., Xm) — семейство его
подмножеств. Для существования системы различных
представителей семейства S необходимо и достаточно, чтобы для
каждого к (1 <к<тп) объединение Xt U Xi2 U ... U Xt любых к
подмножеств из S содержало не менее к элементов.
194 Глава 6. Независимые множества (§ 13)
КОММЕНТАРИИ
Представленное доказательство теоремы 13.4 достаточно
трудно для учащихся. (Доказательство этой теоремы с помощью
математической индукции есть'в книгах [1, 2]). Поэтому, по
желанию учителя, можно дать теорему без доказательства и
рассмотреть алгоритм построения наибольшего паросочетания,
основанный на теореме 13.3. Мы рассмотрим алгоритм для
двудольного графа.
Пусть G = (Х9 У, Е) — двудольный граф, Μ — некоторое его
паросочетание. Если все вершины множества X или все вершины
множества Υ насыщены паросочетанием, то паросочетание Μ —
наибольшее. Рассмотрим вершину х\ не насыщена
паросочетанием. Для поиска увеличивающей относительно Μ цепи
применим процедуру, близкую к поиску в ширину. Информацию будем
хранить в виде дерева.
Пусть из вершины х\ выходят ребра (х\9 уп), (х\9 уп), (хиУ\к)
(см. рис. 13.11).
Х\
•г · ^#
У и У\г У\к
Рис. 13.11
Если какая-то из вершин уц9 у и, ---9у\к ненасыщена, то
ребро, соединяющее это вершину и х\9 добавим к паросочетанию.
В противном случае, продолжим строящиеся цепи ребрами
паросочетания (см. рис. 13.12).
Рис. 13.12
§ 13. Независимые множества вершин и ребер 195
Далее цепи продолжаются светлыми ребрами из вершин
и т. д., причем каждый раз светлое ребро должно идти в вершину,
которой еще не было в этой строящейся цепи. Процесс
оканчивается в двух случаях: если будет найдена увеличивающая
относительно Μ цепь или если будет показано ее отсутствие.
Алгоритм можно не давать в общем виде, а рассмотреть на
конкретном примере, что мы сейчас и сделаем. На рис. 13.13
задан двудольный граф, ребра паросочетания Μ в нем выделены.
Х\ Х2 %3 %4 %5 %6 %7 -^8
У\ У2 Уз Уа Уз Ув Уп У* У9
Рис. 13.13
Увеличивающую цепь начинаем строить из вершины xh Если
такая цепь существует, то ее первым ребром может быть одно из
ребер: (хиуг), (хиул), (хиУб) (см. рис. 13.14).
• 1 ^·
У\ Уа Уб
Рис. 13.14
Поскольку вершины^ь у4 иуб насыщены, то строящиеся
цепи можно продолжить ребрами паросочетания (см. рис. 13.15).
Из вершины Χ4 не выходят светлые ребра, значит приведшая
в эту вершину цепь оказалась тупиковой. А вот из вершин х2 и х5
построение цепей можно продолжить (см. рис. 13.16).
196
Глава 6. Независимые множества (§ 13)
Х\
Уг Уъ yi Уъ
Рис. 13.16
На следующем шаге получается такое дерево (см. рис. 13.17).
Х\
Хъ
Хв
Χη
Хб
Рис. 13.17
Из вершины Хз идет светлое ребро в вершину у\9 которая уже
входит в строящуюся цепь. Поэтому это ребро нельзя
использовать для продолжения построения увеличивающей цепи. По
этой же причине нельзя использовать ребро (χη9 ув) для
продолжения процесса из вершины χΊ. А вот из вершины Хв идут три
светлые ребра в ранее не встречавшиеся вершины у5, у%, уд (см.
рис. 13.18), которые не являются насыщенными.
§13. Независимые множества вершин и ребер 197
Уъ У* У9 У 5 У* У9
• Рис. 13.18
Поэтому все построенные цепи, ведущие из вершины х\ в
вершины у5, у$, уд (на рисунке эти вершины обведены кружком),
являются увеличивающими цепями. Таким образом мы
построили шесть увеличивающих относительно паросочетания Μ
цепей. Возьмем одну из них, например цепь (х\9 Ун χ2, Уз, %б, Уъ)
и, удалив из паросочетания Μ ее темные ребра и включив
светлые, получим новое паросочетание М\9 у которого будет на одно
ребро больше, чем у паросочетания Μ (см. рис. 13.19).
Χΐ Χι Х?> Х<\ %5 %6 %7 Х&
В случае произвольного графа можно рассмотреть такой же
алгоритм поиска увеличивающей цепи.
198 Глава 6. Независимые множества (§ 13)
Задачи
• Задача 13.1. Нефтяная компания решила установить
автозаправочные колонки на улицах города, так чтобы на
отрезках улиц, выходящих из одного перекрестка, было не более одной
колонки. Известно, что в городе 210 отрезков улиц, и на одном
перекрестке сходится самое большее 6 улиц. Докажите, что
максимальное число колонок, которые можно установить на
улицах города, будет не меньше 20.
Решение задачи 13.1. Естественным образом изобразим
город графом, в котором вершины будут соответствовать
перекресткам, а ребра — отрезкам улиц, соединяющим перекрестки.
Улицы, на которых установлены колонки, не выходят из одного
перекрестка, поэтому им соответствуют ребра паросочетания.
Следовательно, для решения задачи нужно оценить число
паросочетания.
Реберным графом L(G) произвольного графа G называется
граф, вершины которого соответствуют ребрам графа G, и две
вершины являются смежными тогда и только тогда, когда
соответствующие им ребра графа G имеют общий конец.
Следовательно, реберный граф L{G) имеет столько вершин, сколько
ребер имеет граф G.
Рис. 13.20
§ 13. Независимые множества вершин и ребер 19^9
На рис. 13.20 совмещены два графа — G и L(G). Вершины
графа G — маленькие кружочки, вершины графа L(G) —
большие кружки. Ребра графа G — тонкие линии, ребра графа L(G) —
жирные линии.
Поскольку вершины графа L(G) смежны тогда и только тогда,
когда соответствующие им ребра графа G выходят из одной
вершины этого графа, то вершины независимого множества графа
L(G) соответствуют ребрам паросочетания графа G.
Поэтому для решения задачи мы должны доказать, что
a0(L(G)) > 20.
Граф L(G) имеет 210 вершин, и наибольшая из степеней его
вершин A(Z(G)) < 10, поскольку отрезок улицы может соединять
два перекрестка, из которых выходит еще по пять улиц.
Из теоремы 13.1 следует
a0(G)>-^- = 19 —.
10 + 1 11
Поэтому в городе может быть установлено не менее 20
автоколонок.
Задача решена. ■
Эта задача интересна тем, что устанавливает связь между
паросочетаниями графа и независимыми множествами вершин
его реберного графа.
Часто при решении задач необходимо среди элементов,
составляющих объект, найти независимые друг от друга элементы
или элементы, связанные специальным образом. Формулировки
подобных задач на языке теории графов приводят к появлению
различных характеристик графов.
Наряду с определенными в параграфе числом
независимости и числом паросочетания к таким характеристикам относятся
число доминирования, числа вершинного и реберного
покрытия и т. д. Рассмотрим задачу на одну из таких характеристик,
а с остальными читатель может при желании познакомиться в
книгах [1, 2].
200 Глава 6. Независимые множества (§ 13)
• Задача 13.2. Полицейские участки размещаются на
перекрестках города, причем для любого перекрестка участок
находится или на этом перекрестке, или на соседнем. Известно, что
в городе 155 перекрестков и на каждом из них сходится не
более шести улиц. Докажите, что в городе не менее 23
полицейских участков.
Решение задачи 13.2. Построим граф G, описывающий
перекрестки и улицы города, как в предыдущей задаче.
Множество V вершин графа G называется доминирующим
множеством, если любая вершина, не принадлежащая V,
смежна с какой-либо вершиной из V. Доминирующее
множество, которое имеет наименьшее число вершин среди всех
доминирующих множеств графа G, называется минимальным, а
число вершин в нем называется числом доминирования и
обозначается y(G).
η
Докажем неравенство у = y(G) > ,
A(G) +1
где η — число вершин графа G, a A(G) — наибольшая из
степеней его вершин. Объединение вершин наименьшего
доминирующего множества и вершин, смежных с ними, дает множество
все вершин графа G. Поэтому
η < (d(v{) + 1) + (d(v2) + 1) + ... + (d(yy) + 1) <
< (A(G) + 1) + (A(G) + 1) + ... + (A(G) + 1) =
= y(G)(A(G)+l).
Отсюда вытекает нужное соотношение.
По условию задачи полицейские участки соответствуют
вершинам доминирующего множества. Поэтому
ггл> 155 оо 1
γ (G) > = 22 — .
г 6 + 1 7
Следовательно, в городе не менее 23 участков.
§13. Независимые множества вершин и ребер / 201
Обратите внимание, что оценки числа независимости (см.
предыдущую задачу) и числа доминирования одинаковы. Однако
это не означает, что a0(G) = γ (G). Например, для графа G,
изображенного на рис. 13.21, число независимости равно a0(G) = 3,
а число доминирования γ (G) = 2. На рисунке вершины
независимого множества помещены в кружок, а доминирующего —
в квадрат.
■®
Рис. 13.21
Задачи {Мельников О. И. Теория графов в занимательных
задачах. М.: URSS, 2017).
Независимые множества: 191, 192, 193.
Паросочетания: 195, 196, 197, 198, 199, 200, 201, 202, 203,
204, 205.
ГЛАВА 7 Ориентированные
графы
§ 14. Основные понятия
При построении графовых моделей часто встречаются
ситуации, когда вершины графа, соединенные ребром, не
равносильны по отношению друг к другу (описание дорог с
односторонним движением, программ для ЭВМ, порядка выполнения
работ, отношений между людьми и др.). Для описания таких
случаев вместо обычных (неориентированных) графов
рассматривают ориентированные графы, т. е. графы с ребрами, у
которых указаны начало и конец.
Пусть V — конечное непустое множество, и А — семейство
упорядоченных пар элементов из V. Тогда пара (V, А) называется
ориентированным графом или орграфом. Элементы множества V
называются вершинами ориентированного графа, а элементы
множества А — дугами ориентированного графа. Таким образом,
дуга — это упорядоченная пара вершин.
Орграфы, как и графы, обычно обозначаются большими
латинскими буквами. Вершины орграфа G часто обозначаются VG,
а дуги — A G.
Если е = (и, ν) — дуга, то вершины и и ν называются ее
концевыми вершинами, причем вершина и называется началом
дуги, а вершина ν — концом дуги. Вершины орграфа называются
смежными, если они являются концевыми для некоторой дуги.
Будем говорить, что дуга выходит из своего начала и заходит в
свой конец. Дуга с совпадающими началом и концом, т. е. дуга
вида (ν, ν) называется петлей. В орграфе могут быть несколько
дуг, имеющих одно начало и один конец. Такие дуги называются
параллельными.
§ 14. Основные понятия 203
На рисунке вершины орграфа обычно обозначаются
точками, а дуги — направленными линиями, идущими от начала
дуги к концу. Направление дуги задается стрелкой.
В качестве примера рассмотрим орграф G (см. рис. 14.1).
Пусть VG = {1, 2, 3, 4, 5}, AG = {eu е2, еъ, еА, е5, е6, еъ е^}, где дуги
ех = (1, 3), е2 = (1, 2), еъ = (2, 1), е4 - (2, 3), е5 = (3, 4), е6 = (3, 4),
е1 = (4, 5), е8 = (5, 5). Начало дуги в\ — вершина 1, а конец —
вершина 3. Дуга в\ выходит из вершины 1 и заходит в вершину 3.
Вершины 1 и 3 являются смежными, поскольку они концевые
для дуги в\. Дуга е% является петлей, дуги е$ и е6 —
параллельные дуги.
1 ех 3 —-^4 βΊ 5/^^\es
e\ γ3/64 ^~^
2
Рис. 14.1
В случае ориентированных графов дуги (а, Ь) и (&, а) — это
разные дуги.
Полустепенью исхода ct(y) вершины ν называется число дуг
выходящих из вершины ν, а полустепенью захода сГ~(у)
вершины ν называется число дуг, заходящих в вершину v. Степенью
d(y) вершины ν называется сумма чисел выходящих из вершины
ν и входящих в вершину ν дуг, т. е. d(v) = (t(y) = d~(y). Для
орграфа, изображенного на рис. 14.1, *Г(1) = 2, </~(1)=1, d(l) = 3;
ct(2) = 2, сГ(2) = 1, d(2) = 3; <Г(3) = 2, d~(3) = 2, d(3) = 4; <Г(4) - 1,
έΓ(4) = 2, </(4) = 3; <Γ(5) = 1, d~(5) = 2, d(5) = 3.
Теорема 14.1. Сумма полустепеней исхода всех вершин
орграфа равна сумме полустепеней захода и равна числу его дуг.
204
Глава 7. Ориентированные графы (§ 14-15)
Доказательство. Утверждение теоремы вытекает из того,
что каждая дуга выходит ровно из одной вершины и заходит
ровно в одну вершину.
Теорема доказана. ■
Ориентированные графы можно задавать с помощью
матрицы смежности так, как и неориентированные.
Пусть G — помеченный ориентированный граф с η
вершинами, VG— {1, 2, ..., и}. Определим матрицу A = A(G) по
следующему правилу: элемент Ау матрицы равен единице, если (ij) —
дуга, и равен 0 в противном случае. Матрица A(G) называется
матрицей смежности графа G.
Ниже приведена матрица смежности орграфа,
изображенного на рис. 14.2.
еСк:
ез
е2
е4 е5
3*
Рис. 14.2
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
Рассмотрим помеченный ориентированный граф G без
петель с множеством вершин VG= {1, 2, ...,/?} и множеством дуг
EG = {еи е2, ..., ет}. Матрица инцидентности 1 = 1(G) графа G
определяется следующими условиями: элемент 1ы матрицы
равен 1, если дуга / выходит из вершины к, равен — 1, если дуга /
входит в вершину к, и равен 0 в противном случае.
Пусть G — некоторый орграф. Ориентированным
маршрутом (или (vo, у„)-маршрутом, или маршрутом) в орграфе G
называется такая последовательность
§14. Основные понятия
205
L = Оо, ей vb е2, v2,... v„_b еП9 vn)
чередующихся вершин ν,- и дуг е^ что для любой дуги ej
(1 <j<n) вершина y/_i является ее началом, а вершина Vj — ее
концом. Вершины vo и vn называются крайними или концевыми
вершинами маршрута, а остальные вершины —
промежуточными. Маршрут называется цепью, если все входящие в него дуги
различны, и путем, если все входящие в него вершины, кроме,
возможно, крайних, различны. Цепь, у которой первая и
последняя вершины совпадают, называется циклом, а путь, у которого
первая и последняя вершины совпадают, контуром. Маршрут в
орграфе можно задавать упорядоченным перечислением дуг, а в
орграфе без параллельных дуг — перечислением вершин.
Вершина и называется достижимой из вершины ν, если в
орграфе существует (ν, и)-маршрут. В противном случае
вершина и называется недостижимой из вершины v. Любая вершина
считается достижимой из самой себя.
Для орграфа, изображенного на рис. 14.3, маршрут L\ = (1, 2,
3, 6, 2, 3, 4) не является цепью, маршрут L2 = (5, 6, 2, 3, 6, 7) —
цепь, маршрут Z3 = (1, 2, 3, 6, 7) — путь, маршрут Z4 = (2, 3, 4, 8,
7, 3, 6, 2) — цикл, а маршрут Z5 = (4, 8, 7, 3, 4) — контур.
Вершины 3, 4, 6, 7, 8 достижимы из вершины 2, а вершины 1 и 5 из
нее недостижимы.
1
Рис. 14.3
Орграф называется сильным, если две его любые вершины
достижимы друг из друга. Орграф называется односторонним,
если из двух любых его вершин по крайней мере одна достижима
206 Глава 7. Ориентированные графы (§ 14-15)
из другой. Орграф называется слабым (или связным), если из
любой его вершины в любую другую можно перейти по дугам,
не заботясь об их ориентации. В противном случае орграф
называется несвязным. На рис. 14.4 изображены сильный,
односторонний и слабый орграфы (соответственно а, бив).
а б в
Рис. 14.4
Орграф Η называется подграфом орграфа G, если вершины
и дуги орграфа Η являются соответственно вершинами и дугами
орграфа G.
Определения эйлеровых и гамильтоновых ориентированных
графов сходны с аналогичными определениями для
неориентированных графов.
Цикл или цепь в орграфе называются эйлеровыми, если они
содержат каждую его дугу.
Связный ориентированный граф называется эйлеровым,
если он содержит эйлеров цикл.
Путь или контур в орграфе называются гамилътоновыми,
если они содержат все его вершины.
Орграф называется гамильтоновым, если он содержит га-
мильтонов контур.
Теорема 14.2. Связный орграф является эйлеровым тогда и
только тогда, когда для любой его вершины верно равенство
ct(v) = (Г (у).
Доказательство. Необходимость. Пусть орграф G является
эйлеровым. Тогда, проходя каждую вершину по циклу, мы будем
§ 14. Основные понятия 207
один раз входить в вершину и один раз из нее выходить. Отсюда
следует выполнение доказываемого равенства.
Достаточность. Пусть для каждой вершины орграфа G
выполняется равенство сГ(ν) = d~(v). Выберем произвольную
вершину щ графа и перейдем из нее по некоторой дуге в вершину
и2, а из нее в вершину и3 и т. д. Поскольку из каждой вершины
выходит столько дуг, сколько в нее входит, то этот процесс
может закончиться только в вершине щ. Таким образом, будет
построен некоторый цикл Со. Если цикл содержит все дуги
орграфа, то это будет эйлеров цикл.
Пусть в орграфе остались дуги, не вошедшие в цикл. Удалим
из орграфа G дуги цикла Со. Так как из каждой вершины цикла
выходит столько дуг, сколько и входит, то этим же свойством
будет обладать и получившийся орграф G\. Поскольку орграф G
связный, то существует вершина ν цикла, из которой выходит
дуга, не принадлежащая циклу. Как и ранее, выбрав эту вершину
в качестве начальной в орграфе Gb построим цикл С\.
Объединим циклы С0 и С\ в один цикл С, пройдя сначала цикл С0,
начиная с вершины ν, а затем цикл С\.
Получившийся цикл может содержать все дуги орграфа. В этом
случае это — эйлеров цикл. В противном случае, удалив из
орграфа G дуги цикла С, получим орграф G2, в котором построим
новый цикл С2. Объединив этот цикл с С, получим новый цикл в
орграфе G и т. д.
Поскольку с каждым шагом число дуг в объединяющем
цикле будет увеличиваться, то, в конце концов, будет построен
эйлеров цикл.
Теорема доказана. ■
Следствие 14.3. В связном графе всегда можно построить
замкнутый маршрут, проходящий через каждое ребро (и, ν)
ровно два раза: один раз — от и к ν, другой раз — от в ν к и.
Доказательство. Заменим каждое ребро (и, ν) графа на две
дуги: (и, ν) и (ν, и) (см. рис. 14.5). Для получившегося орграфа
208 Глава 7. Ориентированные графы (§ 14-15)
выполняются условия теоремы 14.2. Следовательно, в нем суще*
ствует эйлеров цикл, который определяет требуемый маршрут в
исходном графе.
Следствие доказано. ■
о- ^>
Рис. 14.5
КОММЕНТАРИИ
Как и в случае обыкновенных графов ориентированные
графы для учащихся удобно определить следующим образом.
Разместим на листе бумаги конечное число точек, которые
будем называть вершинами ориентированного графа. Некоторые
пары точек соединим направленными линиями, идущими от
одной вершины к другой. Направление линий задается стрелкой.
Линии будем называть дугами ориентированного графа. Сам
построенный рисунок будем называть ориентированным графом
или орграфом.
Доказательство теоремы 14.1 очень простое, но в случае
необходимости можно провести его так, как проводилось
доказательство леммы о рукопожатиях b комментариях к § 1. Еще один
способ доказательства — матричный. Ведь сумма полустепеней
исхода — это сумма единиц в строках матрицы, а сумма
полустепеней захода — это сумма единиц в столбцах матрицах, и эти
суммы равны.
Доказательство теоремы 14.2 проводится точно так, как и
доказательство теоремы 7.1. Поэтому можно предложить
учащимся самим доказать последнюю теорему.
При желании учитель может доказать на факультативе
следствия из теоремы 14.2.
§ 14. Основные понятия 209
Пусть для вершин и и ν связного орграфа выполняются
соотношения dt(u) = сГ(и) - 1, (t(y) = сГ(у) + 1, а для
остальных вершин w соотношения (t(w) = d~(w). Тогда в орграфе
существует эйлерова (у, и)-цепь.
Связный орграф эйлеров тогда и только тогда, когда он
является объединением контуров, попарно не имеющих общих
ребер.
Доказательства следствий проводятся подобно
доказательствам аналогичных следствий для неориентированных графов.
Задачи
• Задача 14.1. Пять девочек, Оля, Маша, Света, Галя и Тома,
подружились в лагере и после окончания отдыха договорились
послать друг другу открытки. Но Оля послала 3 открытки,
Маша, Света и Галя — по две, Тома — одну, и каждая послала
открытки разным девочкам. Оля, Маша, Света и Галя получили
по две открытки. Сколько открыток получила Тома?
Решение задачи 14.1. Построим граф, вершины которого
обозначают девочек, и если одна девочка послала открытку
второй, то от вершины, изображающей первую девочку, идет дуга к
вершине, изображающей вторую.
Построенный ориентированный граф G содержит 5 вершин,
степени исхода которых равны 3, 2, 2, 2 и 1. Степени захода
каждой из четырех вершин орграфа равны 2. Для решения задачи
нужно ответить на вопрос, чему равна степень захода пятой
вершины?
Используем теорему 14.1, согласно которой сумма степеней
исхода вершин орграфа равна сумме степеней захода, в нашем
случае (3+ 2 + 2 + 2+. 1)= 10. Для выполнения равенства
необходимо, чтобы пятая вершина также имела степень захода 2.
Часто на этом ученики заканчивают решение задачи.
Тогда учитель может предложить им решить аналогичную
задачу.
210 Глава 7. Ориентированные графы (§ 14-15)
• Задача 14.1а. Пять девочек, Оля, Маша, Света, Галя и Тома,
подружились в лагере и после окончания отдыха договорились
послать друг другу открытки. Но Оля и Маша послали по 4
открытки, Света и Галя — по одной, и каждая послала открытки
разным девочкам, а Тома ничего не посылала. Оля и Маша
получили по три открытки, а Света и Галя по две. Сколько
открыток получила Тома?
«Решая» эту задачу так, как предыдущую, получим, что
Тома осталась без присланных открыток, поскольку 4 + 4+1 + 1 +
+ 0= 10 = 3 + 3 + 2 + 2. Однако ответ неверный, так как, если
Оля послала открытки всем остальным девочкам, то Тома тоже
получила открытку. Заданная в условии задачи ситуация
невозможна.
Условие теоремы 14.1 является
необходимым, но не достаточным, для
существования орграфа, степени исхода и захода
вершин которого заданы. Таким образом,
для окончательного решения задачи 14.1
надо построить орграф с заданными
степенями исхода и захода вершин (см. рис. 14.6).
Теперь задача 14.1 решена. Тома
получит две открытки. ■
Рассмотрим еще одну задачу на эту тему.
• Задача 14.16. Четыре девочки, Оля, Маша, Света и Галя,
подружились в лагере и после окончания отдыха договорились
послать друг другу открытки. Но Оля и Маша послали по 3
открытки, и каждая послала открытки разным девочкам, а Света
и Галя ничего не послали. Оля и Света получили по две открытки,
а Галя — одну. Сколько открыток получила Маша?
Рис. 14.7 показывает, что заданная условием задачи ситуация
невозможна, хотя непомеченный орграф с набором степеней
исхода {3, 3, 0, 0} и набором степеней захода {2, 2, 1, 1}
существует (см. тот же рис. 14.7).
§14. Основные понятия
211
Света
Оля
Маша
• Задача 14.2. На острове отдельными селениями живут
правдолюбы и шутники. Правдолюбы постоянно говорят
правду, а шутники всегда лгут. Жители каждого племени могут
бывать в селении другого племени. Докажите, что
путешественнику, попавшему в селение, достаточно задать первому
встречному вопрос: «Вы местный?», чтобы по ответу определить, в
селении какого племени он находится.
Решение задачи 14.2. У путешественника 4 возможности:
он может оказаться в одном из двух селений, где ему может
попасться или правдолюб, или шутник. Ориентированный граф на
рис. 14.8 описывает эти возможности и ответы, полученные в
каждом из случаев.
Путешественник
селение правдолюбов
правдолюб 1 [шутник
да
да
селение шутников
/ N*
правдолюб I [шутник
Τ
нет
I
нет
Рис. 14.8
Из рисунка видно, что в случае ответа «да» путешественник
находится в селении правдолюбов, в случае ответа «нет» — в
селении шутников.
Задача решена. ■
212
Глава 7. Ориентированные графы (§ 14-15)
Задача 14.2 показывает возможность использования графов
для решения логических задач.
• Задача 14.3. План города имеет вид, изображенный на
рис. 14.9. На всех улицах введено одностороннее движение:
молено ехать вправо или вверх. Сколько существует различных
путей изХв Y?
У
•
Υ
Л
\ *
J
X
Рис. 14.9
Решение. Любой путь из X в Υ содержит 4 вертикальных и
6 горизонтальных отрезков. Сопоставим каждому пути
последовательность букв В и Г следующим образом: при прохождении
отрезка улицы в вертикальном направлении на схеме напишем В,
в горизонтальном направлении — Г. Например, пути,
изображенному на рисунке, соответствует последовательность (В, Г, Г,
Β,Β,Γ,Β,Γ,Γ,Γ)..
Число различных путей из Хв Убудет равно числу различных
последовательностей, содержащих 10 букв (4 буквы В и 6 букв Г).
т. г, ^4 10-9-87
Буквы В можно расположить С10 = =210 способами.
1 · 2 · 3 · 4
Столько и будет путей между Хи¥.
Задача решена. ■
Предложенная перечислительная задача решается с помощью
кодирования перечисляемых объектов и последующего подсчета
полученных кодов.
Задачи (Мельников О. И. Теория графов в занимательных
задачах. М.: URSS, 2017).
Ориентированные графы. 211-241.
§ 15. Турниры 213
§ 15. Турниры
Ориентированный граф называется турниром, если каждая
пара его вершин соединена ровно одной дугой. Этот класс
графов получил свое название в связи со спортивными турнирами
без ничьих, проводимыми по круговой системе. Результаты
встреч участников турнира можно описать ориентированным
графом, вершины которого соответствуют участникам
соревнования, а дуга (и, ν) есть в графе тогда и только тогда, когда
участник, соответствующий вершине г/, победил участника,
соответствующего вершине v.
Теорема 15.1. Пусть Τ — сильный турнир, имеющий η
вершин. Тогда для любой его вершины ν и для любого числа
К 3 < к < п, в Г есть контур длины к, содержащий вершину v.
Доказательство. Обозначим через iS(v) множество тех вершин
и турнира Ть для которых (ν, и) является дугой орграфа, и через Р{у)
множество тех вершин w, для которых дугой является (w, v).
Поскольку орграф Τ сильный, то эти множества не будут пустыми.
По той же причине с учетом того, что S(v)(J S(v) U ν = VT,
существует хотя бы одна дуга (и, w), идущая из iS(v) в P(v) (см.
рис. 15.1). Следовательно, вершина ν принадлежит контуру,
содержащему три дуги.
Рис. 15.1
214
Глава 7. Ориентированные графы (§ 14-15)
Далее воспользуемся индукцией. Пусть вершина ν
принадлежит контуру, содержащему к дуг (3 < к < ή). Покажем, что она
входит в контур, содержащий к + 1 дугу.
Пусть С = (νи V2, ..., ν*, νι) — контур, которому принадлежит
вершина ν, содержащий к дуг. Если для некоторой вершины w,
не входящей в контур, существуют две такие вершины контура
χ и у, что (х, w) и (w, у) — дуги, то существуют такие две смежные
в контуре вершины ν,- и νζ+ι, что (vz, w) и (w, ν,·+ι) — дуги.
Следовательно, вершина ν входит в контур С\ ='(vi, V2, ..., ν,·, w, v/+i, ...,
Уь νι), имеющий к + 1 дугу (см. рис. 15.2).
Рис. 15.2
Рис. 15.3
§ 15. Турниры 215^
Если же такой вершины нет, то множество вершин орграфа,
не входящих в контур С, можно разбить на два подмножества
S(C) и Р(С) так, что для любых вершин а <— S(C), Ъ <— Р{С) и
V/ <— С дугами являются (ν,·, а) и (6, vz).
Так как орграф Τ сильный, то S(C) и Р(С) не пусты и
существует дуга, идущая из некоторой вершины а <— S(C) в
некоторую вершину Ъ <— Р{С) (см. рис. 15.3).
Таким образом, вершина ν принадлежит контуру С\ = (νи я,
Ъ, ν3, ..., ν*, vj), содержащему к + 1 дугу.
Теорема доказана. ■
Следствие 15.2. Сильный турнир является гамильтоновым
орграфом.
КОММЕНТАРИИ
Вместо теоремы 15.1 на факультативе можно доказать более
простые теоремы.
Теорема 15.3. В каждом турнире существует гамильтонов
путь.
Доказательство. Предположим, что существует турнир, в
котором нет гамильтонова пути. Пусть путь L = (щ, Щ, &з, ..., щ) —
самый длинный путь в турнире.
Рассмотрим вершину ν, не входящую в путь L. Если в
турнире есть дуга (ν, щ), то путь (ν, щ9 и2, ..., щ) будет длиннее, чем
путь L. Поэтому в турнире есть дуга (u\,-v).
Если в турнире есть дуга (v, u2), то путь (щ, v, w2, w3, ..., Uk)
будет длиннее, чем путь L Поэтому в турнире есть дуга (и2, ν).
Если в турнире есть дуга (v, w3), то путь (щ, щ, ν, щ, щ, ..., и*)
будет длиннее, чем путь L (см. рис. 15.4). Поэтому в турнире
есть дуга (из, ν).
216 Глава 7. Ориентированные графы (§ 14-15)
щ и2 щ щ
Рис. 15.4
Щ Щ Щ Щ
Рис. 15.5
По аналогичным причинам в турнире есть дуги (щ, ν), (щ, ν),
..., (щ, ν). Однако в этом случае в турнире существует путь (щ9 щ,
щ, ..., щ9 ν)? содержащий больше дуг, чем путь L (см. рис. 15.5).
Получено противоречие.
Теорема доказана. ■
Теорема 15.4. Каждый сильный турнир гамильтонов.
Доказательство. Теорему докажем с помощью
математической индукции.
Сильный турнир с тремя вершинами гамильтонов.
Рассмотрим сильный турнир Τ с η вершинами. Предположим, что любой
турнир с η - 1 вершиной гамильтонов.
Удалим из турнира вершину ип вместе с выходящими из нее и
входящими в нее дугами. По индуктивному предположению
получившийся после удаления этой вершины турнир Т\ гамильтонов.
Пусть С = (щ, щ, щ,..., и^, Un-\9 щ) - гамильтонов контур в Т\.
Если в турнире Τ окажется хотя бы одна пара дуг вида (ui9 un),
(um Ui+i) (1 < i < η-Τ) или (Un-и un), (um щ), то в турнире Т будет
§ 15. Турниры 217
существовать гамильтонов контур С\ = (щ, и^ ..., и,·, ип, щ+\ь Wj+2,
..., W„_i, Wi) ИЛИ С2 — (Щ, W2, ..., Ии-Ь W„, wl)·
Если же таких пар дуг не окажется, то турнир не будет
сильным.
Теорема доказана. ■
Задача
• Задача 15.1. Двенадцать волейбольных команд провели
турнир в один круг. Докажите, что найдутся три такие команды,
что любая команда из девяти оставшихся проиграла хотя бы
одной из этих трех команд.
Решение задачи 15.1. Рассмотрим орграф, описывающий
турнир. Для решения задачи нужно доказать, что в турнире
можно выбрать три такие вершины, что в каждую из остальных
девяти вершин приходит хотя бы одна дуга из выбранных вершин.
та м 12П на
Всего в орграфе = 66 дуг, поэтому существует верши-
на v0, из которой выходит 6 дуг: (v0, vi), (v0, v2), ..., (v0, v6).
(В противном случае в силу теоремы 14.1 в орграфе оказалось
бы меньше 66 дуг). Рассмотрим множество С/из пяти
оставшихся вершин (все вершины за исключением вершин vo, vi, ..., Уб).
5-4
Эти вершины соединены между собой = 10 дугами.
Следовательно, среди них существует вершина щ, из которой выходят
дуги (щ, щ\ (щ, ui) хотя бы в две вершины множества U. И
наконец, рассмотрим две оставшиеся вершины w\ и м>2 из
множества U. Из одной из них, например, из W\ идет дуга в и^·
Вершины vo, щ, w\ образуют нужную тройку вершин.
Задача решена. ■
Задачи {Мельников О. И. Теория графов в занимательных
задачах. М.: URSS, 2017).
Турниры: 242-253.
Литература
Основная литература
1. Емеличев В. Α., Мельников О. И., Сарванов О. И., Тышкевич Р. И.
Лекции по теории графов: Учебное пособие. Изд. 4-е. М.: Ленанд/URSS,
2017.390 с.
2. Мельников О. И. Теория графов в занимательных задачах. Изд 7-е.
М.: Ленанд/URSS, 2017. 240 с.
3. Мельников О. И. Незнайка в стране графов. Пособие для учащихся.
Изд. 7-е. М.: Ленанд/URSS, 2017. 160 с.
4. Мельников О. И.9 Костюкевич К В., Копылова С. А. Развивающая
математика. 3—-4 классы: пособие для учащихся. Минск: Аверсэв, 2013.
204 с. П. 11. Задачи, решаемые с помощью графов. С. 171-189.
5. Мельников О. И. Обучение дискретной математике. Изд. 2. М.:
Издательство ЛКИ/URSS, 2013. 224 с. Глава 8. Обучение теории графов
при обучении математике. С. 167-198.
Дополнительная литература
6. Харари Ф. Теория графов. Изд. 4-е. М.: Ленанд/URSS, 2015. 304 с.
7. Уилсон Р. Введение в теорию графов. М.: Мир, 1977. 207 с.
8. Березина Л. Ю. Графы и их применение. Изд. 3-е. М.: Ленанд/URSS,
2016. 150 с.
9. Конное В. В., КлековкинГ. Α., КонноваЛ. П. Геометрическая теория
графов. М. 1999.
10. КонноваЛ. П. Знакомьтесь, графы. Самара, 2001.
11. Саркисян Α. Α., КолягинЮ.М. Введение в топологию. Изд. 2-е.
М.: Книжный дом <^h6pokom»/URSS, 2017. 136 с.
Краткий очерк
истории теории графов
Начало теории графов все единодушно относят к 1736 году,
когда великий математик Л. Эйлер не только решил популярную
в те годы головоломку о кёнигсбергских мостах, но и нашел
критерий существования в графе специального маршрута.
Разделенные рекой части города Кенигсберг соединены
мостами. Задача заключалась в том, чтобы найти маршрут
прогулки по городу, проходивший по каждому мосту ровно один
раз. Эйлер решил эту задачу и сформулировал правила обхода
мостов.
Вторая тематика, с которой начиналась теория графов,
близка к первой. Она относилась к обходу графов, в котором
нужно было пройти ровно один раз уже не ребро, а каждую
вершину. Исследование этой тематики начали Л. Эйлер (1757 г.) и
А. Вандермонд (1771 г.) Впоследствии графы, в которых нужные
маршруты существуют, стали называться гамильтоновыми, по
имени английского математика У. Гамильтона, который
придумал и в 1859 году запатентовал занимательную игру
«Кругосветное путешествие».
Вершинам правильного двенадцатигранника (додекаэдра)
для занимательности были даны названия крупнейших городов
мира. В сами вершины были забиты гвоздики. Играющий
должен был соединить веревочкой все гвоздики, причем веревочка
должна была идти только по ребрам додекаэдра.
Еще один результат, который можно считать графовым,
принадлежит Эйлеру. Он нашел соотношение, связывающее число
вершин, ребер и граней выпуклого многогранника и проверил его
220 Краткий очерк истории теории графов
для разных семейств многогранников. Первое строгое
доказательство соотношения принадлежит А. М. Лежандру (1794 г.).
Эти три результата, связанные с графами, были получены в
XVIII веке. Конечно, их было недостаточно, чтобы говорить о
теории графов как о новом разделе математики.
В XIX веке происходило накопление материала по графам.
В 1845-1847 годах Г.Р.Кирхгоф нашел правила, которым
подчиняется течение тока в электрических сетях. Эти правила,
ставшие основными законами электротехники, Кирхгоф
интерпретировал на языке графов. Пожалуй, это было первое
применение графов при решении прикладной задачи.
В 1857 году А. Кэли выделил простой класс связных графов
без циклов и написал несколько работ, связанных, в основном, с
перечислением различных деревьев. Термин «дерево» появился
именно в работах Кэли. Кэли рассматривал деревья с небольшим
числом вершин, определял их свойства и высказывал общие
суждения для больших графов без доказательств. (Следует
отметить, что изучением деревьев чуть ранее занимались Г. Штаудт и
Г.Кирхгоф.) В 1874-1875 годах Кэли опубликовал статьи,
посвященные перечислению изомеров органических соединений с
помощью деревьев.
Применением теории графов к химическим задачам в то же
время занимались У. Клиффорд и Д. Сильвестр. В одной из
работ Сильвестра в 1870 году появился термин «граф».
В 1869 году К. Жордан ввел понятие изоморфизма графов.
В середине XIX века появилась знаменитая гипотеза о
четырех красках, которая сыграла большую роль в развитии теории
графов. В гипотезе предполагалось, что любую географическую
карту на листе бумаги можно раскрасить четырьмя красками так,
чтобы соседние страны были окрашены в разные цвета. Каждая
страна состоит из одной связной области, а соседними
считаются страны, имеющие границу Ненулевой длины.
Первым письменным упоминанием о задаче четырех красок
считается письмо лондонского математика де Моргана, написан-
Краткий очерк истории теории графов 221
ное в 1852 году Гамильтону, в котором Морган сообщил, что
студент Ф. Гутри попросил его помочь решить эту задачу, но он не
может решить ее уже несколько дней. (Скорее всего, задача была
известна и ранее.) Гамильтон решать задачу не стал, а де Морган
потратил на нее много сил, однако общее решение ему получить
не удалось. В 1860 году он опубликовал задачу.
В 1878 году А. Кэли поинтересовался на заседании
Лондонского математического общества, знает ли кто-нибудь о
решении, а через год опубликовал статью, в которой сформулировал
задачу, обратил внимание на ее трудность и признал, что до сих
пор ему не удалось получить решение. Еще через год А. Кемпе
представил доказательство.
И только в 1890 году П. Хивуд нашел ошибку в
«доказательстве» Кемпе. Одновременно он доказал, что любую карту можно
раскрасить пятью красками.
К XX веку математики перешли от раскраски карт к
раскраске плоских графов. В 1913 году Д. Биркгоф поставил
вопрос: какими свойствами должны обладать минимальные
плоские графы, вершины которых нельзя раскрасить четырьмя
цветами. Такие графы называются неприводимыми. Далее стали
изучаться графы, их назвали приводимыми конфигурациями,
которые не являются подграфами неприводимых графов.
В дальнейшем многие математики изучали гипотетические
неприводимые графы и приводимые конфигурации. Потерпев
неудачи в полном решении задачи, они начали раскрашивать
карты с конкретным числом областей. Работа подвигалась очень
медленно. С 1920 по 1969 годы число областей в картах, которые
можно раскрасить четырьмя красками, увеличилось с 25 до 41.
Но в 70-е годы раскраской плоских графов занялся
профессор французской филологии Ж. Мейер. К 1975 году он увеличил
число областей в раскрашиваемых картах до 96.
В 1969 году X. Хееш свел задачу о четырех красках к
исследованию большого, но конечного множества так называемых
неустранимых конфигураций U. Им было показано, что для любого
222 Краткий очерк истории теории графов
максимального плоского графа найдется подграф, изоморфный
некоторой конфигурации из U и такой, что если он является 4-рас-
крашиваемым, то раскрашиваемым будет и сам граф. Позже
число таких конфигураций было уменьшено до 1482.
В 1976 году коллективу математиков и программистов,
возглавляемому К. Аппелем и В. Хакеном, удалось раскрасить все
графы из множества U четырьмя красками, затратив на это около
2000 часов работы мощной ЭВМ. Гипотеза четырех красок была
доказана. Изначально доказательство не было принято всеми
математиками, поскольку его невозможно было проверить
вручную. В дальнейшем оно получило широкое признание, хотя у
некоторых до сих пор остаются сомнения.
Задача о четырех красках, наверное, наиболее интересный
пример задачи, не имеющей практического применения (так как
пятью красками любая карта раскрашивается без труда), но
сыгравшей важную роль для развития теории, поскольку для ее
решения разрабатывались новые методы и приемы.
Однако вернемся на рубеж XIX и XX веков. В это время
появилось два новых направления в теории графов. Датский
ученый Ю. Петерсен начал заниматься факторизацией графов,
т. е. разбиением графов на подграфы специального вида. Первая
работа на эту тему была написана в 1891 году. В работе 1899 года
Петерсен показал связь между задачами о четырех красках и
факторизацией кубических плоских графов.
Второй существенный вклад в построение общей теории
графов внес великий французский математик А. Пуанкаре. В
одной из своих работ, посвященных алгебраической топологии, в
1900 году он описал метод построения общих геометрических
объектов, среди которых были и графы (комплексы). Эти
комплексы Пуанкаре описывал, фактически, матрицами
инцидентности. Некоторое время теория графов считалась частью
топологии, но уже Д. Кёниг в 1916 году заявил о теории графов как о
самостоятельной математической дисциплине, однако,
связанной с топологией.
Краткий очерк истории теории графов 223
Книга Д. Кёнига «Теория конечных и бесконечных графов.
Комбинаторная топология линейных комплексов», вышедшая в
1936 году, считается первой в истории монографией по теории
графов.
Работы Г. Уитни 1931 - 1935 годов были посвящены
изучению планарных графов. Им впервые были введены в
рассмотрение системы независимости, названные матроидами.
Работы Д. Пойа этого времени продолжают исследования
Кэли по перечислению графов.
Послевоенные исследования по теории графов поражают
широтой и многообразием. Если в 1960 году российский
реферативный журнал реферирует примерно 50 работ по теории
графов, то в 2010 журнал имеет раздел «Теория графов», в котором
за год отмечено более 1000 статей. Но статьи по графам можно
встретить также в других разделах журнала. Поэтому
рассмотрим только наиболее интересные разделы (на мой взгляд) теории
и наиболее интересные личности, сыгравших большое значение
в ее развитии.
Можно отметить обращение математиков к решению
прикладных задач, связанных с исследованием сетей. Сети — это
графы, элементам которых приписаны числа. Так,
разработанный Л. Фордом и Д. Фалкерсоном в начале 60-х годов метод
потоков в сетях был связан с планированием оптимальных
маршрутов перевозки товаров.
В 1954 и 1969 годах появились книги К. Бержа, посвященные
графам и гиперграфам. Предложенные им гипотезы о
совершенных графах во многом определили направления исследования
графов. (Граф называется совершенным, если хроматическое
число любого его порожденного подграфа равно размеру
наибольшей клики этого подграфа.)
Большую роль в теории графов сыграли венгерские
математики. Еще в 40-х годах П. Туран разработал экстремальную
теорию графов. П. Эрдёш — один из самых знаменитых математиков
XX века, в 1964 году опубликовал статью о применении вероят-
224 Краткий очерк истории теории графов
I
ностных методов в теории графов. Благодаря этому он решил
много задач на графах, не поддававшихся до этого решениям
другими методами. Л. Ловас разработал метод специального обхода
графа — поиск в глубину, с помощью которого было построено
большое число эффективных алгоритмов решения
алгоритмических задач. В 1986 году он вместе с М. Пламмером выпустил
книгу «Прикладные задачи теории графов. Теория паросочетаний в
математике, физике, химии», в которой представлены Как
классические методы и алгоритмы, так и новые подходы и конструкции
решения задач, связанных с графами. Л. Бабаи использовал
вероятностные методы по распознаванию изоморфизма графов.
С начала 80-х годов прошлого столетия начали широко
изучаться миноры графов. Минор графа — это граф, получаемый из
исходного графа последовательностью операций удаления
вершины, удаления ребра и стягивания ребра. Один из самых
глубоких результатов теории графов — теорема о минорах —
принадлежит Н. Робертсону и П. Сеймуру: в каждом бесконечном
множестве графов имеются два графа, один из которых является
минором другого. Эта теорема, а также методы, развитые для ее
доказательства в значительной мере определяют лицо
современной теории графов.
В Советском Союзе теория графов стала развиваться в
Москве, Ленинграде, Новосибирске, Одессе, Киеве, Минске и
других городах. Большой вклад в развитие теории графов в
Советском Союзе сыграл А. А. Зыков. В 1962 году в Новосибирске он
создает первый в СССР семинар по теории графов. Ему
принадлежит первая на русском языке монография по теории графов
«Теория конечных графов», вышедшая в 1969 году. С 1969 года
каждую осень Зыков проводил в Одессе Семинар по теории
графов (потом в программу семинара вошли и другие разделы
дискретной математики), в котором участвовали как знаменитые,
так и начинающие графисты из Советского Союза и зарубежных
стран. Значение этого семинара для развития теории графов в
СССР трудно переоценить.
Краткий очерк истории теории графов 225
В настоящее время теорией графов интенсивно занимается
Р. И. Тышкевич. Ее докторская диссертация «Алгебраические
методы теории графов», защищенная в 1984 году, была первой
диссертацией в Советском Союзе по графам. Тышкевич ввела на
графах операцию, близкую к умножению в полугруппах, с
помощью которой граф можно было представить как «произведение»
некоторых сомножителей. Разработанная теория алгебраической
декомпозиции графов позволила решить ряд алгоритмических
задач оптимизации, задач распознавания, перечисления,
классификации.
Краткие сведения о математиках,
упоминающихся в книге
Аппель Кеннет (1932-2013) — американский математик, специалист
по теории графов, комбинаторике, топологии. В 1976 году вместе
с В. Хакеном с помощью компьютера доказали гипотезу четырех
красок.
Бабаи Ласло (р. 1950 г.) — венгерский математик. Член Венгерской
академии наук, специалист по комбинаторике, алгебре, сложности
вычислений.
Берж Клод (1926-2002) — французский математик, один из создателей
современной комбинаторики и теории графов. В 1954 и 1969 году
написал и издал книги по теории графов.
Биркгоф Джордж Дейвид (1884-1944) — американский математик.
Основные работы по общей теории дифференциальных и
разностных уравнений, теории устойчивости и теории динамических
систем.
Брукс Ровланд Леонард (1916-1993) — английский математик,
доказавший в 1941 году теорему о связи хроматического числа и
максимальной степени вершин графа.
Вандермонд Александр Теофил (1735-1796) — французский музыкант
и математик, член Парижской академии наук. Известен главным
образом благодаря работам по высшей алгебре, особенно по
теории определителей. Его статья «Заметки о проблемах состояния»
1791 года была посвящена о задаче о перемещении коня по
шахматной доске, т. е. связана с будущими гамильтоновыми циклами.
Визинг Вадим Георгиевич — (р. 1937 г.) — украинский советский
математик, специалист по теории графов.
Гамильтон Уильям Роуэн (1805-1865) — ирландский математик,
механик, физик. Известен фундаментальными открытиями в
математике (кватернионы, основы векторного анализа, вариационное
исчисление, обоснование комплексных чисел), аналитической
механике (гамильтонова механика) и оптике. Автор предельно общего
Краткие сведения о математиках, упоминающихся в книге 227
вариационного принципа наименьшего действия, применяемого
во многих разделах физики. В 1859 году Гамильтон придумал
занимательную головоломку, связанную с обходом вершин
додекаэдра, и выпустил ее в продажу. Эта игра, красочно оформленная
как «Путешествие вокруг света», долгое время выпускалась в
разных странах Европы.
Гатри Френсис (1831-1899) — английский и южно-африканский
математик и ботаник.
Зыков Александр Александрович (1922-2013) — советский
математик, специалист по алгебре, комбинаторике, теории графов.
Общепризнан как «отец» советской теории графов. В 1962 году в
Новосибирске он создает первый в СССР семинар по теории графов.
Автор первой монографии по графам на русском языке (1969 г.).
Организатор и руководитель Одесских семинаров по теории
графов (с 1969 г.).
Жордан Мари Эдмон Камиль (1838-1922) — французский
математик, специалист по математическому анализу, алгебре, теории
чисел, топологии, дифференциальным уравнениям, член
Французской академии наук.
Кемпе Альфред Брей (1849-1922) — адвокат, английский математик,
член Лондонского математического общества. Его
математические работы были связаны с изучением возможности
воспроизведения любой плоской кривой с помощью шарнирного механизма.
В 1879 году Кемпе представил «доказательство» гипотезы четырех
красок, в котором П. Хивудом в 1890 году была обнаружена
ошибка Однако идеи Кемпе были использованы при последующих
попытках доказательства гипотезы.
Кёниг Денеш (1884-1944) — венгерский математик, написавший первую
книгу по теории графов. В 1931 году доказал теорему о том, что
для двудольного графа число ребер в наибольшем паросочетании
равно числу вершин в наименьшем вершинном покрытии.
Кирхгоф Густав Роберт (1824-1887) — немецкий математик,
механик, физик, электротехник. Работал в области теории деформации,
равновесия и движения упругих тел, распределении электричества
на проводниках, индукции токов, спектрального анализа. Наиболее
известны правила Кирхгофа — соотношения, которые
выполняются между токами и напряжениями на участках любой
электрической цепи (1845 г.). При составлении уравнений для подсчета
токов и напряжений Кирхгоф использовал анализ графов, задающих
228 Краткие сведения о математиках, упоминающихся в книге
электрические цепи. В 1847 году Кирхгоф доказал теорему,
носящую его имя: число остовов в связном нетривиальном графе графе
равно алгебраическому дополнению любого элемента специально
построенной матрицы Кирхгофа.
Клиффорд Уильям Кингдом (1845-1879) — английский математик и
философ, основоположник векторного анализа.
Краска л Джозеф Бернард (1928-2010) — американский математик,
статистик и информатик. В 1956 году разработал алгоритм
построения минимального остовного дерева, получивший его имя.
Куратовский Казимир (1896-1980) — польский математик, академик
Польской академии наук, специалист по топологии и теории
множеств. В 1930 году доказал теорему, описывающую планарные
графы.
Кэли Артур (1821-1895) — английский математик, профессор
Кембриджского университета, один из основателей английской школы
чистой математики. Занимался линейной алгеброй, геометрией,
дифференциальными уравнениями, эллиптическим функциями.
Кэли сформулировал определение группы. А. Кэли был первым
(1857, 1874-1875), кто использовал графовые представления в связи
с подсчетом числа изомеров первых членов ряда предельных
углеводородов — алканов. В 1878 году Кэли ввел понятие графа Кэли
для представления понятия абстрактной группы. В 1879 году Кэли
опубликовал статью, посвященную проблеме раскраски карт, в
которой сформулировал гипотезу о четырех красках. В честь А. Кэли
названа теорема, дающая в теории графов явное выражение для
числа деревьев с данным числом пронумерованных вершин.
Лежандр Андриен Мари (1752-1833) — французский математик, член
Парижской Академии наук. Работал в области математического
анализа, теории чисел, небесной механики, геодезических
измерений. Участвовал в измерении длины дуги земного меридиана.
Ловас Ласло (р. 1948 г.) — венгерский математик, специалист по
комбинаторике и теории графов.
Майер Жан (р. 1925 г.) — профессор французской филологии.
Занимался задачей раскраски плоских графов.
Менгер Карл (1902-1985) — венгерский математик. Занимался
алгеброй, геометрией, теорией графов, теорией игр.
Морган Огастес де (1806-1871) — шотландский математик, первый
президент Лондонского математического общества. Специалист
по математической логике и теории рядов.
Краткие сведения о математиках, упоминающихся в книге 229
Петерсен Юлиус Петер Кристиан (1839-1910) — датский
математик. Занимался геометрией, терией функций, терией чисел,
математической физикой, математической экономикой, теорией графов.
В 1891 году издал работу «Теория регулярных графов».
Пламмер Майкл Дэвид (р. 1937 г.) — американский математик,
специалист по теории графов.
Пойа Дьёрдь (1887-1985) — венгерский, швейцарский и
американский математик. Основные труды — по теории чисел,
функциональному анализу, математической статистике и комбинаторике.
Занимался популяризацией математики и педагогикой.
Понтрягин Лев Владимирович (1908-1988) — советский математик,
один из крупнейших математиков XX века, академик АН СССР.
Герой Социалистического Труда. Лауреат Ленинской премии,
специалист по топологии, дифференциальным исчислениям, теории
управления, вариационному исчислению. В 1927 году, будучи
студентом, нашел, но не опубликовал необходимые и достаточные
условия планарности графов.
Прим Роберт Клей (р. 1921 г.) — американский математик и инфор-
матик. В 1957 году разработал алгоритм построения
минимального остовного дерева, получивший его имя.
Прюфер Хайнц (1896-1934) — немецкий математик-алгебраист.
В 1918 году определил число помеченных деревьев, использовав
специальный способ их кодирования.
Пуанкаре Анри (1854-1912) — великий французский математик,
механик, астроном и философ. Глава Парижской академии наук, член
Французской академии и еще более 30 академий мира. Его перу
принадлежит более 500 статей и книг. Среди его самых крупных
достижений создание топологии, качественная теория
дифференциальных уравнений, создание математических основ теории
относительности, теория автоморфных функций и многое другое.
Изложение результатов Пуанкаре по теории графов было сделано в
1907 году в одном из томов «Энциклопедии математических наук»,
где теория графов имела название «Теория линий». Пуанкаре
обобщил формулу Эйлера, связывающую число вершин, ребер и граней
выпуклого многогранника на случай «-мерных многогранников.
Робертсон Джордж Нейл (р. 1938 г.) — американский математик,
специалист по топологической теории графов. Совместно с П.
Сеймуром доказал теорему о минорах графов. В 2006 г. совместно
с М. Чуцновски, П. Сеймуром и Р. Томасом доказал сильную
гипотезу Бержа о совершенных графах.
230 Краткие сведения о математиках, упоминающихся в книге
Сеймур Пол (р. 1950 г.) — английский математик, специалист по теории
графов. Совместно с Д. Робертсоном теорему о минорах графов.
В 2006 г. совместно с М. Чуцновски, Д, Робертсоном и Р. Томасом
доказал сильную гипотезу Бержа о совершенных графах.
Сильвестр Джеймс Джозеф (1814-1897) — английский и
американский математик и поэт, создатель теории алгебраических
инвариантов (совместно с А. Кэли), основатель «Американского
математического журнала». Ввел в математику термины матрица,
дискриминант, инвариант. В книге Сильвестра «Химия и алгебра»
(1870) впервые появился термин граф. Сильвестр использовал
понятие дерева и дал определение дерева с выделенным корнем.
Туран Пол (1910-1976) — венгерский математик, специалист по
теории чисел и теории графов.
Тышкевич Регина Иосифовна (р. 1929 г.) — советский белорусский
математик, специалист по алгебре и теории графов. Лауреат
Государственной премии Республики Беларусь.
Уитни Хасслер (1907-1989) — американский математик. Основные
результаты получил в алгебраической и дифференциальной
топологии, тензорном исчислении, теории катастроф. В 1935 году в
работе «Абстрактные свойства линейной зависимости» Уитни ввел
термин «матроид».
Улам Станислав Мартин (1909-1984) — польский математик, автор
компьютерного моделирования методом Монте-Карло, один из
«отцов» американской атомной бомбы. \
Фалкерсон Делберт Рей (1924-1976) — американский математик,
специалист по теории графов. Вместе с Фордом в 1962 году
опубликовал книгу, посвященную построению максимальных потоков
в сети.
Форд Лестер Рендольф (р. 1927 г.) — американский математик,
специалист по теории графов. Вместе с Фалкерсоном в 1962 году
опубликовал книгу, посвященную построению максимальных
потоков в сети.
Хакен Вольфганг (р. 1928 г.) — немецкий и американский математик,
занимается алгоритмической топологией. В 1976 году вместе с
К. Аппелем с помощью компьютера доказали гипотезу о четырех
красках.
Хееш Генрих (1906-1995) — немецкий математик, специалист по
теории графов. Внес существенный вклад в доказательство теоремы о
четырех красках.
Краткие сведения о математиках, упоминающихся в книге 231
Хивуд Перси Джон (1861-1955) — английский математик, в 1890 году
нашел ошибку в «доказательстве» гипотезы четырех красок А. Кемпе
и доказал возможность раскрасить любую карту пятью красками.
Холл Филип (1904-1982) — английский математик, специалист по
алгебре и комбинаторике, доказавший в 1935 году теорему о
системе различных представителей.
Штаудт Карл Георг Кристиан (1798-1867) — немецкий математик,
основные труды которого относятся к проективной геометрии.
Штейнер Якоб (1796-1863) — швейцарский математик-геометр.
Изучал задачу построения минимального связывающего дерева,
однако сама задача была известна задолго до него.
Эйлер Леонард (1707-1783) — великий швейцарский, немецкий и
российский математик и механик, внесший фундаментальный
вклад в развитие этих наук. Эйлер — автор более чем 850 работ по
математическому анализу, дифференциальной геометрии, теории
чисел, приближенным вычислениям, небесной механике,
математической физике, оптике, баллистике, кораблестроению, теории
музыки и другим областям. Академик Петербургской, Берлинской,
Туринской, Лиссабонской и Базельской академий наук, иностранный
член Парижской академии наук. С 1726 по 1741, а также 1766 года
был академиком Петербургской академии наук, в 1741-1766 годах
работал в Берлине, оставаясь одновременно почетным членом
Петербургской академии. Статья Эйлера 1736 года «Решение
вопроса, связанного с геометрией положения» положила начало теории
графов как математической дисциплине. Работа 1757 года
«Решение одного любопытного вопроса, который, кажется, не
подчиняется никакому исследованию» была посвящена обходу шахматным
конем всех клеток доски. Доказательство соотношения между
числом вершин и ребер и граней выпуклого многогранника было
опубликовано Эйлером в 1758 году.
Эрдёш Пол (1913-1996) — один из самых знаменитых математиков
XX века. Работал в самых разных областях современной
математики: комбинаторике, теории графов, теории чисел,
математическом анализе, теории приближений и т. д. Автор более 1500 работ.
Предметный указатель
Алгоритм жадный 106
Алгоритм Краскала 99
Алгоритм последовательной
раскраски 168
Алгоритм Прима 103
Вершина висячая 9
Вершина графа 8, 23
Вершина достижимая 205
Вершина и ребро графа
инцидентные 9
Вершина изолированная 9
Вершина недостижимая 205
Вершина орграфа 202
Вершина центральная 88
Вершины смежные 9
Гиперграф 19
Гиперребро 19
Гипотеза Улама 23
Гипотеза четырех красок 172
Граница грани 142
Грань 142
Грань внешняя 143
Грань внутренняя 143
Граф 8, 23
Граф гамильтонов 121
Граф двойственный 173
Граф двудольный 12
Граф двудольный полный 14
Граф дополнительный 20
Граф непланарный 133
Граф ориентированный 19, 202
Граф планарный 133
Граф плоский 133
Граф плоский максимальный 149
Граф полный 10
Граф помеченный 15
Граф пустой 11
Граф реберно ^-раскрашиваемый
163
Граф реберно ^-связный 70
Граф реберно ^-хроматический
163
Граф регулярный 11
Граф эйлеров 110
Графы гомеоморфные 152
Графы изоморфные 16
Граф к-дольный 15
Граф Лг-дольный полный 15
Граф ^-раскрашиваемый 160
Граф ^-связный 70
Граф ^-хроматический 160
Дерево 78
Дерево остовное 99
Дерево остовное минимальное 99
Диаметр 88
Длина маршрута 56
Додекаэдр 12
Доля 12
Дуга 19, 202
Дуги параллельные 202
Предметный указатель
233
Задача о свадьбах 189
Задача Штейнера геометрическая
107
Звезда 14
Икосаэдр 12
Изображение графа плоское 133
Карта 172
Карта ^-раскрашиваемая 172
Код Прюфера 84
Колода графа 22
Компонента 54
Компонента ^-связная 70
Конец дуги 202
Контур 205
Концы ребра 9
Краска 160
Куб 13
Лемма о рукопожатии 10
Лес 78
Маршрут 52
Маршрут замкнутый 52
Маршрут ориентированный 204
Маршрут открытый 52
Матрица инцидентности 47
Матрица смежности 43
Метрика 56
Множество вершин независимое
182
Множество вершин независимое
максимальное 182
Множество вершин независимое
наибольшее 182
Множество ребер независимое 185
Мост 66
Мультиграф 18
Начало дуги 202
Октаэдр 13
Орграф 202
Орграф гамильтонов 206
Орграф несвязный 206
Орграф односторонний 205
Орграф связный 206
Орграф сильный 205
Орграф слабый 206
Орграф эйлеров 206
Паросочетание 185
Паросочетание максимальное 185
Паросочетание наибольшее 185
Петля 18, 202
Подграф 20
Подграф остовный 20
Подграф, порожденный 21
Подразбиение ребра 151
Поиск в ширину 58
Полустепень захода 203
Полустепень исхода 203
Проекция стереографическая 137
Псевдограф 18
Путь 205
Радиус 88
Раскраска вершинная 160
Раскраска минимальная 160
Раскраска последовательная 168
Раскраска правильная 160
Раскраска реберная 163
Расстояние между вершинами 56
Ребра кратные 18
Ребра смежные 9
Ребро 8, 23
Ребро ориентированное 19
234
Предметный указатель
Система различных
представителей 192
Степень вершины 9
Тела Платоновы 12
Теорема Брукса 163
Теорема Визинга 163
Теорема Понтрягина-
Куратовского 152
Теорема Холла 193
Теорема Эйлера 110, 144
Тетраэдр 13
Точка сочленения 66
Трансверсаль 192
Турнир 213
Тэта-граф 122
Удаление вершины или ребра 21
Удаление множества вершин 21
Укладка графа в пространстве 134
Формула Эйлера 144
Функция хроматическая 164
Цвет 160
Цепь 52
Цепь гамильтонова 121
Цепь простая 52
Цепь чередующаяся 186
Центр 88
Цепь эйлерова 112
Цикл 52
Цикл гамильтонов 121
Цикл простой 52
Цикл эйлеров ПО
Число вершинной связности 66
Число реберной связности 66
Число независимости 182
Число паросочетания 185
Эксцентриситет 88