Книга
Книга
Предисловие
В основу настоящего учебного пособия положены курсы лекций, которые читались авторами в Белорусском государственном университете им. В. И. Ленина для студентов-математиков и в Белорусском политехническом институте для студентов, обучающихся по специальности «Прикладная математика». Изложение материала в книге ставит своей целью дать в руки студентов орудие, применимое как к наукам о поведении (кибернетика, теория информации, теория систем, теория игр), так и к теории множеств, теории матриц, теории групп и к другим чисто абстрактным дисциплинам. Основной задачей этого учебного пособия является ознакомление студентов с теоретическими основами теории графов. Вместе с тем большое внимание уделяется вопросам применения теории графов к решению прикладных задач и в связи с этим,— построению эффективных алгоритмов.
Книга состоит из двенадцати глав.
В главе I даны основные понятия теории графов. Обсуждается гипотеза Келли — У лама о реконструируемо- сти, вводятся регулярные, двудольные и реберные графы, изучается группа автоморфизмов графа. Глава заканчивается результатами, характеризующими свойства графов при большом числе вершин. Эти свойства отражают в некотором смысле типичный случай и потому формулируются в терминах «почти всех» графов.
Глава II посвящена деревьям и остовам. Она содержит матричную теорему Кирхгофа о деревьях и теорему Кэли о числе помеченных деревьев. В этой же главе излагаются и обосновываются алгоритмы Краскала и Прима для решения задачи об остове минимального веса.
Глава III содержит элементарное замкнутое изложение основ теории матроидов и трансверсалей, специально приспособленное к нуждам теории графов.
Глава IV касается понятий независимости и покрытия. При этом понятия вершинного и реберного покрытий в идейном плане объединены, 1*3
В главе V излагаются вопросы, связанные с вершинной и реберной связностью графа, которые имеют непосредственное отношение к надежности и живучести различных сетей. Особо выделены двусвязные графы. Приводятся новое краткое доказательство известной теоремы Менгера (1927 г.) о вершинном разделении графа, принадлежащее В. Маквайгу, и критерий Уитни (1932 г.) ^-связности графа.
В главе VI приводятся критерии планарности графа Л. С. Понтрягина и К. Куратовского, X. Вагнера, С. Маклейна, X. Уитни, разбирается задача укладки графа на плоскости, даны некоторые характеристики непланарно- сти графа — род, толщина, число скрещиваний, иска- женность.
Глава VII посвящена эйлеровым и гамильтоновым графам. Она открывается критерием существования эйлерова цикла в графе. Далее приводятся разнообразные достаточные условия гамильтоновости графа — результаты X. Уитни (1932 г.), У. Татта (1943 г.), Г. Дирака (1952 г.), О. Оре (1960 г.), В. Хватала (1972 г.) и др.
В главе VIII исследуются степенные последовательности графов, т. е. списки степеней их вершин. Приводятся два критерия графичности последовательности натуральных чисел — критерий Гавела — Хакими и критерий Эрдёша — Галлаи. Изучается процедура построения реализации графической последовательности с предписанными теоретико-графовыми свойствами. Исследуются классы графов, определяемые степенными последовательностями,— расщепляемые графы, пороговые графы. Последний класс графов связан с минимизацией числа линейных неравенств, задающих булеву функцию.
В главе IX обсуждаются вопросы раскраски вершин и ребер графа. Здесь рассматривается знаменитая гипотеза четырех красок, вводится и изучается важный класс графов — совершенные графы, излагается теорема Визин- га о реберной раскраске.
Глава X отведена ориентированным графам. Рассматриваются обходы и базы в ориентированном графе, детально исследуются пути.
В главе XI излагается теория гиперграфов, которые являются естественным обобщением графов. Здесь рассматриваются циклы в гиперграфе, независимые множества вершин гиперграфа. Особое внимание уделено задачам реализации гиперграфов различными типами графов.
Подобные задачи возникают при проектировании интегральных схем.
В главе XII вводится понятие полиномиального алгоритма (именно такие алгоритмы подразумеваются в гл. I—XI при употреблении словосочетания «эффективный алгоритм»). Глава содержит изложение двух алгоритмов анализа графов — поиска в глубину и поиска в ширину. Исследуются задачи нахождения кратчайших путей в графе, построения паросочетаний в двудольном графе, поиска кратчайшего остова во взвешенном графе. Дается введение в теорию Л^Р-полноты.
Каждая глава книги иллюстрирована примерами сведения прикладных задач к задачам теории графов и использования аппарата этой теории. Обсуждается связь теории графов с проблемами надежности, задачами составления расписаний, передачи информации, выбора проекта, распределения оборудования, проектирования интегральных схем и коробок скоростей и т. д. Выявлены связи теории графов с другими разделами дискретной математики, такими, например, как математическая логика, булево программирование, теория кодирования. Для доказательства теоретико-графовых теорем используется аппарат алгебры.
Для целей тренировки в конце каждой главы помещены упражнения; все они носят учебный характер.
За последние годы теория графов развилась в столь обширный самостоятельный раздел дискретной математики, что невозможно изложить все основные направления этого раздела в одной книге ограниченного объема. По этой причине очень трудно очертить круг вопросов, которые должны входить в учебное пособие для студентов-математиков. Очевидно, что в содержании настоящей книги отражены наши взгляды. Однако некоторые вопросы теории графов, привлекательные для нас, например, сети, транспортные сети, потоки в сетях и т. д., оказались за пределами этой книги, поскольку они традиционно входят в другие учебные курсы — такие как «Исследование операций», «Методы оптимизации», «Дискретная математика». Мы мало касались проблемы изоморфизма графов, которой, на наш взгляд, должна быть посвящена отдельная книга.
Терминология теории графов, к сожалению, еще не установилась. Попытки ряда авторов унифицировать обозначения и упорядочить терминологию до сих пор не увенчались успехом. Поэтому мы вынуждены наряду с
основным термином, как правило, приводить в скобках другие, широко употребляемые в современной советской и зарубежной литературе по теории графов.
В книге принята сквозная нумерация параграфов. Теоремы, утверждения, леммы, следствия и рисунки нумеруются двумя числами: первое из них — это номер параграфа, а второе — их порядковый номер, причем нумерация — сквозная внутри параграфа.
Начало и конец доказательства обозначаются символами О и <1 соответственно.
Следует сделать замечание относительно авторства приводимых теорем. В ряде случаев мы даем фамилии авторов и годы опубликования результатов, но большая часть теорем оказалась безымянной. Это, конечно, не означает, что мы претендуем на авторство.
На различных стадиях работы над книгой мы пользовались советами и замечаниями, высказанными многими коллегами и нашими учениками. Среди них М. С. Гаращук, Г. М. Гутин, В. Э. Зверович, И. Э. Зверович, С. Г. Инджеяп, А. Н. Исаченко, М. М. Ковалев, В. П. Козырев, Н. М. Корнеенко, А. Д. Коршунов, А. В. Косточка, А. П. Крачковский, А. Г. Левин, Л. С. Мельников, В. А. Перепелица, К. Ф. Присакару, В. Л. Тюрин, А. А. Черняк. Всем им мы выражаем искреннюю благодарность.
Мы от души благодарим рецензентов — коллективы кафедры математических методов исследования операций Воронежского государственного университета и кафедры теории исследования операций Ленинградского государственного университета; в частности, мы благодарны профессору Н. Н. Петрову и доценту И. Б. Руссману. Их детальная и благожелательная критика во многом способствовала улучшению первоначального текста книги. Мы благодарим также редактора книги А. Д. Вайнштейна, внесшего ряд усовершенствований в текст.
Мы особенно благодарны академику АН БССР Д. А. Супруненко и члену-корреспонденту АН СССР С. В. Яблонскому за постоянную помощь, ценные советы и поддержку.
Введение
Начало теории графов все единодушно относят к 1736 г., когда Л. Эйлер не только решил популярную в то время задачу о кенигсбергских мостах, но и нашел критерий существования в графе специального маршрута (эйлерова цикла, как теперь его называют). Однако этот результат более ста лет оставался единственным результатом теории графов. Лишь в середине XIX века инженер-электрик Г. Кирхгоф разработал теорию деревьев для исследования электрических цепей, а математик А. Кэли в связи с описанием строения углеводородов решил перечислительные задачи для трех типов деревьев. К этому же периоду относится появление знаменитой проблемы четырех красок.
Родившись при решении головоломок и занимательных игр (задачи о шахматном коне, о ферзях, «кругосветное путешествие», задачи о свадьбах и гаремах и т. и.), теория графов стала в настоящее время простым, доступным и мощным средством решения вопросов, относящихся к широкому кругу проблем. Графы буквально вездесущи. В виде графов можно, например, интерпретировать схемы дорог и электрические цепи, географические карты и молекулы химических соединений, связи между людьми и группами людей.
За последние три десятилетия теория графов превратилась в один из наиболее бурно развивающихся разделов математики. Это вызвано запросами стремительно расширяющейся области приложений. В теоретико-графовых терминах формулируется большое число задач, связанных с дискретными объектами. Такие задачи воз-
никают при проектировании интегральных схем и схем управления, при исследовании автоматов, логических цепей, блок-схем программ, в экономике и статистике, химии и биологии, в теории расписаний и дискретной оптимизации. Таким образом, теория графов становится одной из существенных частей математического аппарата кибернетики, языком дискретной математики. В значительной степени через теорию графов происходит ныне проникновение математических методов в науку и технику. Все это привело к тому, что теория графов появилась и в учебных планах наших университетов и технических вузов.
Глава I
Начальные понятия
Определение графа
Термин «граф» впервые появился в книге выдающегося венгерского математика Д. Кёнига в 1936 г., хотя начальные задачи теории графов восходят еще к Эйлеру (XVIII в.).
Пусть V — непустое множество, V(2) — множество всех его двухэлементных подмножеств. Пара (V, Е}, где Е— произвольное подмножество множества Ё(2), называется графом (неориентированным графом}.
В этой книге рассматриваются только конечные графы, т. е. множество V предполагается конечным, хотя в определении графа конечность этого множества не требуется. Элементы множества V называются вершинами графа, а элементы множества Е — ребрами. Итак, граф — это конечное множество V вершин и множество Е ребер, Е s У(2). Множества вершин и ребер графа G обозначаются символами VG и EG соответственно. Вершины и ребра графа называются его элементами. Число IVGI вершин графа G называется его порядком и обозначается через |G|. Если Ю1 = и, ISGI = m, то G называют (п, тп}-графом.
Говорят, что две вершины и и v графа смежны, если множество (и, v} является ребром, и не смежны в противном случае. Если е = Vu, v} — ребро, то вершины и и и называют его концами. В этой ситуации говорят также, что ребро е соединяет вершины и и v. Такое ребро обозначается символом ии.
Два ребра называются смежными, если они имеют общий конец.
Вершина и и ребро е называются инцидентными, если v является концом ребра е (т. е. е = ии}, и не инцидентными в противном случае.
Заметим, что смежность есть отношение между однородными элементами графа, тогда как инцидентность является отношением между разнородными элементами.
Множество всех вершин графа G, смежных с некоторой вершиной у, называется окружением вершины и и обозначается через Nq^v") или просто N^v").
Графы удобно изображать в виде рисунков, состоящих из точек и линий, соединяющих некоторые из этих точек. При этом точки соответствуют вершинам графа, а соединяющие пары точек линии — ребрам. В качестве иллюстрации рассмотрим граф G, изображенный на рис. 1.1. Это (5, 6)-граф, VG^U, 2, 3, 4, 5), EG - U1, 2), (1, 5}, {2, 3), {2, 4), {2, 5), {4, 5}}. Вершины 1 и 2
Рис. 1.2Рис. 1.2
Рис. 1.2
Рис. 1.2
смежны, а 1 и 3 не смежны. Вершина 1 и ребро {1, 2} инцидентны. 7V(2) = {1, 3, 4, 5}.
Приведем примеры некоторых графов специального вида.
Граф G называется полным, если любые две его вершины смежны, т. е. EG =^VGY^. Полный граф порядка
Рис. 1.3Рис. 1.3
Рис. 1.3
Рис. 1.3
п обозначается символом Кп, число ребер в нем равно (п \ -^-2^—12, На рис. 1.2 изображены графы Кп,
Граф называется пустым, если в нем нет ребер. Пустой граф порядка п обозначается через Оп.
На рис. 1.3 показаны простые циклы Сп (п = 3, 4)
и простые цепи Рп (п = 2, 3, 4). Очевидно, что К^ = Р^
Рис. 1.4Рис. 1.4
Рис. 1.4
Рис. 1.4
а Яз = Сз- На рис. 1.4 приведены два изображения простого цикла Os.
40.
На рис. 1.5 изображены колеса Wn (п = 3, 4, 5). Заметим, что W3 — К4 и I Wu\ = п + 1.
На рис. 1.6 изображен граф Петерсена.
Красивыми примерами являются графы пяти Платоновых тел (т. е. правильных многогранников): тетраэдра, куба, октаэдра, додекаэдра, икосаэдра (рис. 1.7).
Ниже неоднократно используются термины «разбиение» и «покрытие». Набор подмножеств множества S называется покрытием множества S, если объединение этих
Рис. 1.5Рис. 1.5
Рис. 1.5
Рис. 1.5
подмножеств совпадает с S. Покрытие называется разбиением, если никакие два из входящих в него подмножеств не пересекаются.
Граф называется двудольным, если существует такое разбиение множества его вершин на две части ^доли^, что концы каждого ребра принадлежат разным частям. Если при этом любые две вершины, входящие в разные доли, смежны, то граф называется полным двудольным. Полный двудольный граф, доли которого состоят из р и из q вершин, обозначается символом КРЛ. При р = 1 получаем звезду К\л. Очевидно, что К\д = К^^ Р^ ^1,2 = = Рв, К2,2 = С4. На рис. 1.8 изображены звезда Х15 и полный двудольный граф Кз.з-
Заметим, что одна из долей двудольного графа может быть пустой. Так, О\ — двудольный граф с одной пустой долей, О^ можно трактовать как двудольный граф с двумя одновершинными долями или как двудольный граф, одна из долей которого содержит две вершины, а другая является пустым множеством.
Аналогично двудольным определяются k-дольный и полный к-дольный графы для к = 3, 4, . .. На рис. 1.9 приведен трехдольный граф.
Легко подсчитать число всех графов с фиксированным множеством вершин V. Эти графы различаются своими ребрами, и потому их число равно количеству под-
множеств в V(2), т. е. 2V2/, где п = |У|. Однако эти графы
1 2
не всегда следует различать. Как в применениях тео- рии графов, так и в самой этой теории чаще существенно лишь то, что есть объекты (вершины графа) и связи между объектами (ребрами). С этих позиций графы, которые получаются один из другого изменением наименований вершин, разумно не различать. Оформим эти соображения в виде следующего определения.
Пусть G и Н — графы, а ф: VG -^- VH — биекция. Если для любых вершин и и v графа G их образы ф(^)
Рис. 1.9Рис. 1.9
Рис. 1.9
Рис. 1.9
и ф(^) смежны в Н тогда и только тогда, когда и и и смежны в (7, то эта биекция называется изоморфизмом графа G на граф Н. Если такой изоморфизм существует, то мы пишем G = Н (тогда и Я = G) и говорим, что графы G и Я изоморфны.
Например, три графа, представленные на рис. 1.10, изоморфны (почему?), а графы на рис. 1.11 не изоморфны (почему?). Вопрос о том, изоморфны ли два данных
Рис. 1.10Рис. 1.10
Рис. 1.10
Рис. 1.10
графа, в общем случае оказывается сложным (см., например, [18]).
Очевидно, что отношение изоморфизма графов является эквивалентностью, т. е. оно симметрично, транзитивно и рефлексивно. Следовательно, множество всех графов разбивается на классы так, что графы из одного класса попарно изоморфны, а графы из разных классов не изоморфны. Изоморфные графы естественно отождествлять, т. е. считать совпадающими (их можно изобразить одним рисунком). Они могли бы различаться конк-
ретной природой своих элементов, но именно это игнорируется при введении понятия «граф».
В некоторых ситуациях все же приходится различать изоморфные графы, и тогда полезно понятие «помеченный граф». Граф порядка п называется помеченным, если его вершинам присвоены некоторые метки, например, номера 1, 2, ..., п. Отождествив каждую из вершин графа с ее номером (и, следовательно, множество- вершин — с множеством чисел {1, 2, ..., п^, определим
Рис. 1.11Рис. 1.11
Рис. 1.11
Рис. 1.11
равенство помеченных графов G и Н одного и того же порядка: G = H тогда, когда EG = EH. На рис. 1.12 изображены три разных помеченных графа.
При необходимости подчеркнуть, что рассматриваемые графы различаются лишь с точностью до изоморфизма, говорят: «абстрактный граф». Строго говоря, аб-
Рис. 1.12Рис. 1.12
Рис. 1.12
Рис. 1.12
страктный (или непомеченный^ граф — это класс изоморфных графов.
Число gn непомеченных графов порядка п определяется сложно. Известна формула Пойа
дающая асимптотику числа gn. Эта формула означает, что две функции g(n) = gn и /(n) = 2V2// п\ асимптотически равны, т. е. Пт g{n)lf (n) = 1 (см. книгу [29], П-^оо
где излагается целый ряд результатов, связанных с числом графов, имеющих те или иные предписанные свойства).
Как отмечалось выше, верно
Утверждение 1.1. Число 1п помеченных графов
порядка п равно 2х .
Итак, число помеченных графов порядка п «примерно» в п\ раз больше числа непомеченных. Этот факт кажется интуитивно ясным: существует ровно п\ пометок множества, состоящего из п вершин. Однако последнее отнюдь не означает, что из каждого непомеченного графа получается п\ помеченных. Например, все пометки пустого графа приводят к одному и тому же помеченному графу; простая цепь Рз порождает три, а не шесть помеченных графов (рис. 1.12). Но все же, как правило, каждый непомеченный граф приводит к п\ помеченным графам.
Для произвольного графа G следующим образом определяется дополнительный граф (или дополнение) G: VG = VG, и любые две несовпадающие вершины
смежны в G тогда и только тогда, когда они не смежны в G (рис. 1.13).
Очевидно, что G = G и G ^ Н, если G = Н.
Граф, изоморфный своему дополнению, называется самодополнительным. Например, Ki, Р^ и С5 — самодопол- шительные графы. Самодополнительные графы составляют важный, хотя и экзотический, класс графов, определенным образом связанный с проблемой распознавания изоморфизма графов (см., например, [18]).
Иногда приведенное выше определение графа оказывается недостаточным и приходится рассматривать более общие объекты, в которых две вершины могут соединяться более чем одним ребром. Так возникает понятие «мультиграф». Мультиграф — это пара (И, Е), где V -— непустое множество (вершин), а Е — семейство под-
множеств множества У(2) (ребер). Употребление термина «семейство» вместо «множество» означает, что элементы множества V(2) могут в Е повторяться, т. е. допускаются кратные ребра.
Дальнейшее обобщение состоит в том, что кроме кратных ребер допускаются еще петли. т. е. ребра, соединяющие вершину саму с собой. Псевдограф — это пара (У,
Рис. 1.14Рис. 1.14
Рис. 1.14
Рис. 1.14
Е). где V—непустое множество (вершин), а Е — некоторое семейство неупорядоченных пар вершин (ребер). не обязательно различных. На рис. 1.14 изображены мультиграф и псевдограф.
Изучаются также ориентированные графы. Тогда множество У(2) двухэлементных подмножеств заменяется декартовым квадратом У2, состоящим из упорядоченных пар элементов множества V. Итак, ориентированный
Рис. 1.16Рис. 1.16
Рис. 1.16
Рис. 1.16
граф (или орграф)—это пара (V. Л), где У— множество вершин, А — множество ориентированных ребер, которые называются дугами. А У2. Если a = (v\. V2)— дуга, то вершины и\ и и^ называются ее началом и концом соответственно. На рисунке дуги отмечаются стрелками, указывающими направление от начала к концу (см. рис. 1.15). Аналогично определяется ориентированный мулътиграф (см. рис. 1.16). Рассматриваются также смешанные графы, у которых есть и дуги, и неориентированные ребра.
Для всех этих видов графов естественно вводится понятие изоморфизма как биекции между множествами 16
вершин, сохраняющей смежность, кратности ребер, петли и направления дуг.
Графы в смысле нашего первого определения называются еще простыми (или обыкновенными). Хотя часто для теории несущественно, какие из этих видов графов (простые, мульти- или псевдо-) рассматриваются, однако главный персонаж этой книги — простой граф. Ради сокращения речи термин «граф» употребляется и в других ситуациях (например, вместо «мультиграф» или «ориентированный граф»), но подобные случаи либо специально оговариваются, либо ясны из контекста.
Подграфы
Граф Н называется подграфом (или частью) графа G, если VH FG, ЕН EG. Если Н — подграф графа G, то говорят, что Н содержится в G. Подграф Н называется остовным подграфом (или фактором), если VH = = VG. Если множество вершин подграфа Н есть U, а множество его ребер совпадает с множеством всех ребер графа G, оба конца которых принадлежат U, то Н
называется подграфом, порожденным (или индуцированным) множеством U, и обозначается через G^U). На рис. 2.1 изображены граф G и три его подграфа Я1, Я2 и Н^ среди которых Я3 является остовным, а Я2 — порожденным.
Рассматриваются также подграфы, порожденные множествами ребер. Для E'^EG множество ребер порожденного подграфа G(E') совпадает с Е', а множество вершин — с множеством концов ребер из Е'.
Важный класс подграфов составляют подграфы, полученные в результате удаления вершин. Пусть v — вершина графа G. Граф G^ = G — и получается из графа G в результате удаления вершины и и всех инцидентных ей ребер. Очевидно, что Gv = G (VG\v). На рис. 2.2 изо-
1717B. А. Емеличев и др.
17
17
бражен подграф G — 5, полученный из графа G, представленного на рис. 2.1, удалением вершины 5.
С графами Gy связана знаменитая гипотеза рекон- -струируемости Келли — У лама. Для каждой вершины 4и VG построим подграф Gv = G —
X— v. Систему {Gy: v^VG} всех та-
ких подграфов назовем колодой гра- фа G и обозначим через P(Gy На- , пример, если G = Р^ то P(G) = (l^i 123 K2l О2У
Пусть \G\ — п. Перенумеруем в
Рис. 2.2произвольном порядке вершины гра
фа G числами 1, 2, ..., п и выпишем графы, входящие в колоду Р^ОУ
P(G}={G\, G2, .... Gny G^G-i, 1 = 1. n.
Пусть теперь H — еще один граф порядка п. Если существует такая нумерация вершин графа Я, при которой Gi^ Ht (i = 1, ny то колоды P(G) и Р(Н) называются равными-. P(G) = Р(Н). Например, Р (К2) = Р (^2) = = {ОЬ оу.
Граф Н называется реконструкцией графа G, если Р(Я) = Р(6).
Граф G называется реконструируемым, если он изоморфен каждой своей реконструкции. Не все графы реконструируемы: 02 и К2 являются реконструкциями друг друга. Гипотеза Келли — Улама утверждает, что это единственное исключение.
Гипотеза реконструируемости (П. Келли, С. Улам, 1945 г.). Все графы порядка п>2 реконструируемы.
Несмотря на простоту формулировки, вот уже более сорока лет проблема не поддается решению. Любопытно и то, что пет единого мнения об истинности или лоя^но- сти гипотезы. Подтверждена реконструируемость графов порядка п для 3 X п X 10. Известно, что если граф G реконструируем, то дополнительный граф G также реконструируем.
Гипотезу Келли — Улама часто называют гипотезой вершинной реконструируемости. Наряду с ней для графов, имеющих более трех ребер, существует гипотеза Харари реберной реконструируемости (1964 г.). Она формулируется аналогично вершинной, но вместо вершины удаляется ребро: для ребра е графа G подграф Ge = G — — е получается из G в результате удаления ребра е (кои-
цы ребра не удаляются, т. е. G — е является остовным подграфом). Гипотеза реберной реконструируемое™ подтверждена для многих классов графов. В частности, известно, что (щ т)-граф реберно реконструируем, если т > п^п —1)/4 (Л. Ловас, 1972 г.) или 2m-1>7z? (В. Мюллер, 1977 г.).
Пусть X — множество каких-либо элементов графа G» Аналогично подграфу G — и определяется подграф G — — X; из G удаляются все вершины и ребра, входящие в X, и каждое ребро, хотя бы один конец которого принадлежит X. Если, например, X = Vv^ щ, ^1, то G — X = = ((G — v) — щ) — е% Порядок удаляемых элементов несуществен, поэтому можно писать просто G — X — — G — V — Щ — £2.
Операции над графами
5Рис. 3.15Рис. 3.1Удаление вершины или ребра, а также переход к подграфу — это операции, с помощью которых можно из имеющегося графа получать другие графы с меньшим числом элементов. Известны также операции, позволяющие, наоборот, получать из имеющихся графов «большие» графы. Такова, например, операция добавлениям
5
Рис. 3.1
5
Рис. 3.1
ребра; если вершины и и v графа G не смежны, то можно определить граф G + е, где е = ии. Он получается из графа G добавлением ребра е.
Здесь рассматриваются другие операции над графами, нужные для дальнейшего изложения.
Одной из наиболее важных является операция объединения. Граф Н называется объединением (или наложением) графов F и G, если VH = VF U VG и ЕН = = EF U EG (рис. 3.1). В этой ситуации пишут Н — F U G. Объединение F U G называется дизъюнктным, если VF П A VG = 0. Аналогично определяются объединение и дизъюнктное объединение любого множества графов, причем в последнем случае никакие два из объединяемых графов не должны иметь общих вершин.
Пусть Gt^^V^ Е^ (i=l, 2)—два графа. Произведением G\X 0^ = G называется граф, для которого VG = = V\ X К2 — декартово произведение множеств вершин
/♦ о, v2 и3X •—®—• 2*/♦ о, v2 и3X •—®—• 2*(1,0^ (1^2)(1,03)(1,0^ (1^2)(1,03)(2^) (2,v2) (2,v3)(2^) (2,v2) (2,v3)
/♦ о, v2 и3
X •—®—• 2*
/♦ о, v2 и3
X •—®—• 2*
(1,0^ (1^2)(1,03)
(1,0^ (1^2)(1,03)
(2^) (2,v2) (2,v3)
(2^) (2,v2) (2,v3)
Рис. 3.2
исходных графов, a EG определяется следующим образом: вершины (щ, нг) и (щ, ^2) смежны в графе G тогда и только тогда, когда или и\ = 0\п а и^ и и^ смежны в С% или U2 = ^2, a Hi и щ смежны в Gi (рис. 3.2).
Очевидно, что
I Gi X G2I = I G[ I • IG217 \E (Gi X G2) I =
-1GJ • IEG2I + IG2I • 1Ш
G помощью операции произведения вводится важный класс графов — тг-мерные кубы, п-мерный куб Qn определяется рекуррентно:
(?i=^ Qn = K2XQn_b п>1.
Очевидно, что Qn — граф порядка 2П, вершины которого можно представить (0, 1)-векторами длины п таким образом, что две вершины будут смежны тогда и только
(0,1) (1,1)(0,1) (1,1)(0,0) (1,0)(0,0) (1,0)Рис. 3.3Рис. 3.3
(0,1) (1,1)
(0,1) (1,1)
(0,0) (1,0)
(0,0) (1,0)
Рис. 3.3
Рис. 3.3
тогда, когда соответствующие векторы различаются ровно в одной координате. Поскольку каждая вершина п-
мерного куба инцидентна п ребрам, то число его ребер равно n2n-x. На рис. 3.3 представлены кубы Q2 и Q3.
Еще одна важная операция — отождествление (или «слияние") вершин. Пусть и и и — две вершины графа G, Н = G — и — и. К графу Н присоединим новую вершину «и\ соединив ее ребром с каждой из вершин, входящих в объединение окружений вершин и и и в графе G. Говорят, что построенный граф получается из графа G ^отождествлением вершин и и и.
Рассматривается также операция стягивания ребра. Стягивание ребра uv означает отождествление смежных вершин и и и. На рис. 3.4 показаны граф G и граф, полученный из G стягиванием ребра {1, 2).
Граф G называется стягиваемым к графу Н, если Н получается из G в результате некоторой последовательности стягиваний ребер. Легко видеть, например, что граф Петерсена стягиваем к К^ и, стало быть, к любому Кп с п < 5. Очевидно, что любой непустой связный граф, отличный от Кх, стягиваем к К2. Но уже не любой связный граф стягивается к графу Кз. Например, простая цепь Рп не стягивается к Кз. Естественно возникает параметр ц(С)—максимум порядков полных графов, к которым стягивается граф G. Параметр ц(С) называется числом Хадвигера графа G. Это число связано с проблемой четырех красок (см. § 59).
В определенном смысле двойственной к операции стягивания ребра является операция расщепления вершины. Пусть и — одна из вершин графа G. Разобьем ее
2222и w 4и w 444Рис. 3.5Рис. 3.5
22
22
и w 4
и w 4
4
4
Рис. 3.5
Рис. 3.5
окружение произвольным образом на две части М и N и выполним следующее преобразование графа G: удалим вершину и вместе с инцидентными ей ребрами, добавим новые вершины и и w и соединяющее их ребро иш, вер- 21
шину и соединим ребром с каждой вершиной из множества М, а вершину v — с каждой вершиной из множества N. Полученный в результате граф обозначим символом G. Будем говорить, что G получается из графа G расщеплением вершины v (рис. 3.5).
Цепи, циклы, компоненты
Чередующаяся последовательность
Щ, ^ь V2l е2, ..., eh vl+x(1)
вершин и ребер графа, такая что ег = ViV^x Ц = Ц Ц» называется маршрутом, соединяющим вершины V\ и vl+i (или (vx, ^z+i)-маршрутом). Очевидно, что маршрут (1) можно задать последовательностью
VXl и2, vl+x(2)
его вершин, а также последовательностью вх, ^2, ..., et ребер.
Маршрут называется цепью, если все его ребра различны, и простой цепью, если все его вершины, кроме, возможно, крайних, различны. Маршрут (1) называется циклическим, если щ = vl+x. Циклическая цепь называ- ется циклом, а циклическая простая
V / 2 цепь — простым циклом. Число I ребер 3 ХА 55 в маршруте (1) называется его дли-
• ♦—• R0^e Простой цикл длины I называется
/ \, 1-циклом, 3-цикл часто называют тре-
J \ v угольником. Длина всякого цикла не 7**5 менее трех, если речь идет о простом
Рис. 4.1 графе, поскольку в таком графе нет петель и кратных ребер. Минимальная из длин циклов графа называется его обхватом.
Очевидно, что любую цепь графа можно рассматривать как его подграф.
Пусть Р — некоторая цепь вида (2) в графе G, Vt и Vj — входящие в нее вершины, i < /. Очевидно, что часть Ui, vi+x, ..., щ цепи Р, начинающаяся в вершине щ и заканчивающаяся в у5, сама является цепью графа G. Эта цепь называется (Vi, Vj)-подцепью цепи Р.
Обратимся, например, к графу, изображенному на рис. 4.1. В нем (1, 2) и (1, 2, 4, 7) являются простыми цепями; (1, 2, 4, 7, 8, 4) — цепь, не являющаяся простой; (1, 2, 4, 7, 8, 4, 2) —маршрут, не являющийся цепью; (1, 2, 4, 1)—простой цикл. Обхват этого графа равен 3.
Для ориентированного графа вводится понятие ориентированного маршрута — это последовательность вида (1), в которой вг— (vt, vi+\). Аналогом цепи в этой ситуации служит путь {ориентированная цепь). Вершина и называется достижимой из вершины и, если существует {и, /;)-путь.
>и/3 = и/Рис. 4.2>и/3 = и/Рис. 4.2Поскольку при иФ Фи произвольный (и, и и) -маршрут, не являю- ^ ^ щийся простой цепью, превращается в простую (а, и)-цепь после устранения «лишних кусков», то верно
>и/3 = и/
Рис. 4.2
>и/3 = и/
Рис. 4.2
Утверждение 4.1.
При иФи всякий (и, и^-маршрут содержит простую {и, иУцепъ.
Аналогично получается
Утверждение 4.2. Всякий цикл содержит простой цикл.
Ниже окажутся полезными следующие утверждения 4.3 и 4.4.
Утверждение 4.3. Объединение двух несовпадающих простых {и, и)-цепей содержит простой цикл.
Пусть Р={их, . . ., nV) и Q = {dx, . . ., ^—несовпадающие простые цепи, их = ох = и, ик = vt = и, иа и иа — первые, считая от и, из несовпадающих вершин этих цепей, щ и щ — первые из совпадающих вершин, следующих после На. и Па. Тогда а > 1 и объединение (иа-1, щ)-подцепи цепи Р и (ра-ь пт)-подцепи цепи Q является простым циклом
^а—1)^а, • •^3?^Т—Ь • • *п Ua-i Utx—X
(рис. 4.2). <
Утверждение 4.4. Если С и D — два несовпадающих простых цикла, имеющих общее ребро е, то граф {C\3D^—e также содержит простой цикл.
Если е = ни, то С — е и D — е — несовпадающие простые {и, и) -цепи. Поэтому нужное следует из предыдущего утверждения. <
Граф называется связным, если любые две его несовпадающие вершины соединены маршрутом. Учитывая утверждение 4.1, можно в этом определении заменить маршрут цепью или простой Цепью.
Очевидно следующее
Утверждение 4.5. Для связности графи необходимо и достаточно, чтобы в нем для какой-либо фиксированной вершины и и каждой другой вершины v существовал (и, и)-маршрут.
Всякий максимальный связный подграф графа G называется связной компонентой (или просто компонентой) графа G. Слово «максимальный» означает максимальный относительно включения, т. е. не содержащийся в связном подграфе с большим числом элементов. Множество вершин связной компоненты называется областью связности графа.
Теорема 4.6. Каждый граф представляется в виде дизъюнктного объединения своих связных компонент. Разложение графа на связные компоненты определено однозначно.
> Пусть G — произвольный граф. На множестве VG определим бинарное отношение ~, положив и ~ и для? вершин и и v, если и = v или в графе G существует (и, у)-маршрут. Очевидно, что это отношение есть эквивалентность. Следовательно, мы получим разбиение множества VG на классы, отнеся в один класс все вершины, эквивалентные друг другу. Пусть VG=\jVt— г
такое разбиение. Очевидно, что порожденные подграфы Сг = б(Уг) и только они являются компонентами графа Си G = U G^ — дизъюнктное объединение. <1
г
Полезно следующее
Утверждение 4.7. Для любого графа либо он сам, либо его дополнение является связным.
> Пусть G — несвязный граф, А — одна из его областей связности, В = УС\Л. Тогда для любых а из А и Ъ из В в дополнительном графе G есть ребро аЪ. Следовательно, произвольная вершина из В соединена с а маршрутом длины 1, а произвольная вершина из А (отличная от а) соединена с а маршрутом длины не боле_е чем 2. Теперь из утверждения 4.5 вытекает, что G связен. <1
С помощью предыдущего утверждения некоторые проблемы (например, проблема изоморфизма) сводятся’ к случаю связных графов.
Полезна также и следующая
Лемма 4.8. Пусть G — связный граф, е е EG. Тогда:*
если ребро е принадлежит какому-либо циклу гра*-
фа G, то граф G — е связен;
если ребро е не входит ни в какой цикл, то граф G — е имеет ровно две компоненты.
1) Пусть ребро е = uv принадлежит циклу С графа G. Заменив в каждой (х, у)-цепи, содержащей е, подцепь (и, е, v) (и, у)-цепью С — е, получим (х, ^-маршрут, не содержащий ребра е. Следовательно, в графе G любые две несовпадающие вершины соединены маршрутом, не проходящим через е. Но тогда и граф G — е связен.
2) Пусть ребро е = uv не входит ни в какой цикл графа G. Тогда, очевидно, вершины и и v принадлежат разным компонентам, например, Gu и соответственно G^, графа G — е. Для произвольной вершины х ^ и в G существует (ж, и) -маршрут. Если ребро е в этот маршрут не входит, х е Gu. В противном случае х ^ Gv. <
Ниже число ребер и число компонент графа G обозначаются через m(G) и k(G^) соответственно.
Очевидно, что число ребер в произвольном графе порядка п не больше числа ребер в Кп, равного ^- Но -сколько ребер может быть в графе порядка п с фиксированным числом к компонент? На этот вопрос отвечает следующая
Теорема 4.9. Если k(G)=k для п-вершинного графа G, то
n-k^m(G^(n-k)(n-k + 1)/2,(3)
причем обе эти оценки для m(G) достижимы.
> Вначале рассмотрим верхнюю оценку. Пусть G — граф порядка п с к компонентами и максимальным для таких графов числом ребер. Тогда каждая его компонента является полным графом. Пусть, далее, Кр и Kq — две компоненты, р ^ q > 1, v — вершина из второй компоненты. Удалив из графа все ребра, инцидентные вершине v, и соединив v ребром с каждой вершиной из первой компоненты, получим новый граф порядка п с тем же числом компонент и большим числом ребер. Последнее невозможно, стало быть, только одна из компонент может иметь порядок, больший 1. Он равен п — Л+1, и потому
m(G) = ^2/m(G) = ^2/(п — к) (п — к 4- 1)2(п — к) (п — к 4- 1)2
m(G) = ^2/
m(G) = ^2/
(п — к) (п — к 4- 1)
2
(п — к) (п — к 4- 1)
2
Справедливость верхней оценки (3) и ее достижимость доказаны.
Перейдем к доказательству неравенства m(G)>n —^ Оно очевидно при m(G)=0, так как тогда к = п. Воспользуемся индукцией по m^G). Пусть /тг(С)>0 и пусть для графов с меньшим, чем m^G), числом ребер соот- ветствующее неравенство верно. Рассмотрим граф G — — е, где е ^ EG. Согласно лемме 4.8 число компонент этого графа равно к или кА- 1. Число ребер в нем равное m(G) — 1. По индуктивному предположению в обоих случаях m(G) — 1 > п — к — 1. Следовательно, m^G)^ п — к. Нужное неравенство доказано.
Дизъюнктное объединение G = Ок_х U Кп_к+Х реализует равенство пЦС)= п — к. <1
Из первой части приведенного доказательства вытекает
Следствие 4.10. При фиксированных пи к^ть среди графов G порядка п с k{G)—k существует только один граф, а именно, G = Ок_х ^ К^-^х, с максимальным числом ребер.
Графы с минимальным числом ребер (при фиксированных п и к) изучаются в следующей главе.
Степени вершин графа
Степенью (или валентностью) вершины графа G называется число инцидентных ей ребер, т. е. число вершин в ее окружении. Будем обозначать степень вершины и через deg<?^ (или degr>). Тем самым deg и = 12V(z?) L Максимальная и минимальная степени вершин графа G- обозначаются символами A(G) и 6(G) соответственно:
A (G) = max deg и, 6 (G) = min deg и.veVG v^VG
Список степеней вершин графа называется его степенной последовательностью. Порядок членов в этой последовательности роли не играет.
Вершина степени 0 называется изолированной, вершина степени 1 — концевой (или висячей). Ребро, инцидентное концевой вершине, также называется концевым. Вершина графа, смежная с каждой другой его вершиной, называется доминирующей.
Рассмотрим сумму степеней всех вершин графа. Каждое ребро вносит в эту сумму 2, поэтому верно
Утверждение 5.1 («лемма о рукопожатиях»). Сумма степеней всех вершин графа — четное 26
число, равное удвоенному числу ребер*.
S deg t; = 2 | ^G |.
veVG
Возможная интерпретация этой леммы такова: поскольку в каждом рукопожатии участвуют две руки, то при любом числе рукопожатий общее число пожатых рук четно (при этом каждая рука учитывается столько раз, во скольких рукопожатиях она участвовала).
Следствие 5.2. В любом графе число вершин нечетной степени четно.
Понятие степени вершины и лемма о рукопожатиях сохраняются для мульти- и псевдографов. При этом каждая петля вносит в степень соответствующей вершины двойку.
Матрицы, ассоциированные с графом
В этом параграфе вводятся три матрицы, связанные с произвольным графом, и еще одна матрица, связанная -с двудольным графом.
На всем протяжении этой книги элемент матрицы М, занимающий позицию (i, j), обозначается символом Мц. Матрица, каждый элемент которой равен 0 или 1, называется бинарной.
Пусть G— помеченный граф порядка п, VG = (1, 2, ..., п). Определим бинарную п X лг-матрицу A=A^G^, положив
[1, если вершины г и j смежны, u — {О в противном случае.
A(G^ называется матрицей смежности графа G. Это симметрическая матрица с нулями на диагонали. Число единиц в строке равно степени соответствующей вершины.
Очевидно, что соответствие G *-> A (G) определяет биекцию множества помеченных графов порядка п па множество бинарных симметрических п X лг-матриц с нулевой диагональю.
Аналогично определяются матрицы смежности А тмульти- и псевдографов: Ац равно числу ребер, соединяющих вершины г и / (при этом петля означает два ребра).
Так же определяется матрица смежности A (G) ориентированного графа G:
jl, если (/, /) е AG, (О в противном случае.
Здесь AG — множество дуг орграфа G.
является матрицейявляется матрицейОчевидно, что любая квадратная бинарная матрица
является матрицей
является матрицей
смежности некоторого ориентированного графа. На рис. 6.1 изображен: ориентированный граф с матрицей смежности
-О 1 1 Г
10 11 0 0 10 * _о о о 0_
Рис. 6.1Абстрактный граф приводит к
различным матрицам смежности в зависимости от нумерации вершин. Посмотрим, как связаны между собой эти матрицы. Пусть G и Н — помеченные графы порядка п и G = Н. Это означает, что G и Н различаются только нумерацией вер
шин, т. е. существует подстановка s на множестве вер
шин, сохраняющая смежность: вершины и и и тогда и только тогда смежны в G, когда их образы s(u) и s(v) смежны в Н. Положив A(G)=A, B(G) = B, получаем
-^s(i)s(j) Aij, i 1, n, j 1, П.(O?
Тем самым доказано
Утверждение 6.1. Графы изоморфны тогда и только тогда, когда их матрицы смежности получаются друг из друга одинаковыми перестановками строк и столбцов.
Это утверждение верно также для мультиграфовг псевдографов и ориентированных графов.
Из предыдущего утверждения вытекает, в частности^ что ранги матриц смежности изоморфных графов равны. Последнее позволяет ввести для абстрактного графа следующее определение ранга: рангом графа называется ранг его матрицы смежности. Как и в случае матриц, ранг графа G будем обозначать через rank G.
Пусть s — произвольная подстановка, действующая на множестве {1, 2, ..., nV Определим бинарную пХп- 28
матрицу 8, положив
|1, если s^j) = i,гз (О в противном случае.
Очевидно, что в каждой строке и в каждом столбце матрицы 5 содержится ровно по одной единице и det 8 = =±1. С помощью прямых вычислений проверяется, что
^SAS )tj =
для любой п X ^-матрицы А. Равенства (1) теперь мож
но переписать в виде одного матричного равенства В =* -SAS"1.
Из последнего равенства следует, что матрицы смежности изоморфных графов подобны. Поэтому равны характеристические полиномы этих матриц. Следовательно, корректно определение характеристического поли- нома графа как характе- •/ \Х
ристического полинома /\ X.
его матрицы смежности.•••
Спектр этой матрицы, т. е.Рис. 6.2
совокупность корней характеристического полинома с учетом их кратностей, называется спектром графа.
Как известно из линейной алгебры, вещественная симметрическая матрица (а матрицы смежности графов являются таковыми) определяется своим спектром с точностью до подобия. Тем не менее из совпадения характеристических полиномов графов отнюдь не следует изоморфизм этих графов. Неизоморфные графы с равными
характеристическими полиномами называются коспект- ралъными. Например, два графа, изображенные на рис. 6.2, коспектральны, их характеристический полином равен я3 (я2 — 4).
Глубокие свойства и применения спектра графа рассмотрены в книге [31].
С двудольным графом удобно связать еще одну матрицу. Разбиение множества вершин двудольного графа на доли определяется этим графом неоднозначно. Часта такие графы рассматривают вместе с фиксированными разбиениями на доли. Если G — двудольный граф с долями X и Y и множеством ребер Е, то пишут G = = (Х, У, Е). Итак, пусть G = (X, У, Е^ |X| -тп, \Y\=n. Занумеруем вершины доли X числами 1,2,..., пг, а до-
ли Y — символами у\, у^ ..., уп. Определим бинарную т X ^-матрицу М = М(Х, Y, Е^ положив
(1, если вершины i и у:) смежны,
гз |0 в противном случае.
Матрицу М назовем приведенной матрицей смежности двудольного графа.
Возвратимся к произвольным графам. Вторая из матриц, вводимых в общей ситуации,— матрица Кирхгофа. Пусть G— помеченный граф порядка п, VG — И, 2, ... ..., п}. Определим п X ^-матрицу В = B(G), положив
— 1, если вершины I и у смежны,
О, если 1^] и вершины г и у не смежны,
deg z, если I = ].
Матрица B^G^ называется матрицей Кирхгофа графа G. Сумма элементов в каждой строке и в каждом столбце этой матрицы равна нулю.
Утверждение 6.1 останется верным, если вместо матриц смежности рассматривать матрицы Кирхгофа. Сохраняется и прежнее доказательство.
Во второй главе этой книги используется следующее
Утверждение 6.2. Пусть В — произвольная числовая п X п-матрица, в каждой строке которой и в каждом столбце сумма элементов равна нулю*.
п п
2 Вг; = 0, z = l,n; ^Bij = O, j=Yn.
j=li=i
Тогда алгебраические дополнения всех элементов матрицы В равны между собой. В частности, этим свойством обладает матрица Кирхгофа произвольного графа.
> Очевидно, что гапк5<^г. Если rank 5 < ^ — 1, то алгебраические дополнения всех элементов этой матрицы равны 0. Пусть rank В = п — 1 и С — присоединенная матрица для матрицы В, т. е. элемент Сц равен алгебраическому дополнению Ац элемента В^ в матрице В, i = 1, п, у = 1, п. Известно, что ВС = (det5)5, где Е— единичная матрица. В наших условиях det 5 = 0, ВС = = 0 — нулевая матрица. Следовательно, для столбца матрицы С с номером у, у = 1, п, верны равенства
Вг\С\з + В^С^ + .. • + BinCnj = 0, г = 1, п,
т. е.
В^Ап + Bt2Aj2 + ... + BinAjn = 0, г = 1, п.
Эти равенства можно рассматривать как систему линейных однородных уравнений с матрицей В относительна неизвестных An, Aj2, ..., Aju. Так как rank5 = n-l„ то все решения системы пропорциональны. Но вектор (1, ..., 1) удовлетворяет системе, поэтому
Ап = Aj2 == А^,7 = 1, п.
Учитывая, что СВ = 0, аналогично получаем
Ан = A2i = ... = Апь i = 1, П.
Следовательно,
г, ], к, I = 1, п. <г, ], к, I = 1, п. <• -A ij А ^1,
г, ], к, I = 1, п. <
г, ], к, I = 1, п. <
Наконец, определим матрицу инцидентности графа. Пусть G —(п, т)-граф, VG = {1, 2, ..., п\ EG = {еь е2, ..., U. Определим бинарную п X т-матрицу / = /(G) условиями:
(1, если вершина к и ребро ег инцидентны,
IЪ 7 = К
(О в противном случае.
Матрица I называется матрицей инцидентности графа G. В каждом ее столбце ровно две единицы, равных столбцов нет. Как и выше, соответствие G I (G) является биекцией множества помеченных (п, т)-графов с занумерованными ребрами на множество п X m-матриц, удовлетворяющих описанным условиям.
Для ориентированных графов определение матрицы инцидентности I видоизменяется:
если вершина к является началом дуги aZr
Iki = — 1, если вершина к является концом дуги atl
О, если вершина к и дуга аг не инцидентны..
Аналогично утверждению 6.1 получается
Утверждение 6.3. Графы (орграфы) изоморфны тогда и только тогда, когда их матрицы инцидентности получаются друг из друга произвольными перестановками строк и столбцов.
Пусть G — граф. Превратим каждое его ребро в дугу,,, придав ему одну из двух возможных ориентаций. Полу-
ченный ориентированный граф называется ориентацией графа G. Непосредственно проверяется
Утверждение 6.4. Если В — матрица Кирхгофа графа G, а 1 — матрица инцидентности какой-либо его ориентации Н (нумерация вершин в Н та же, что и в G), то В—Пт (здесь Т— операция транспонирования матрицы) .
Регулярные графы
Граф называется регулярным (или однородным), если степени всех его вершин равны; степенью регулярного графа называется степень его вершин. Степень регулярного графа G обозначается через deg G.
Все полные графы регулярны. Графы платоновых тел также регулярны. Регулярным графом степени п является /г-мерный куб Qn.
Из леммы о рукопожатиях вытекает, что не существует регулярного графа, порядок и степень которого нечетны.
Утверждение 7.1. Пусть натуральные числа п и d, среди которых есть четное, удовлетворяют неравенствам O^d^n— 1. Тогда существует регулярный граф порядка п и степени d.
Для d = 0 утверждение очевидно. Кроме того, если G — регулярный граф порядка п степени d, то дополнительный граф G также регулярен и deg G = п — 1 — d. Поэтому достаточно рассмотреть случай, когда 0 < d < ^(лг - 1)/2.
Пусть Zn — аддитивная группа классов целых чисел по модулю п, A cz Zn, 0 ^ А и для х е А класс — х также принадлежит множеству А. Определим граф G порядка п с множеством вершин Zn следующим условием: вершины х и у смежны, если х — у^А. Очевидно, что граф G регулярен и степень его равна 1Л|. Остается доказать, что для любого числа d, удовлетворяющего указанным выше условиям, существует подходящее d-элементное множество А. При d = 2k можно взять Л = {±1, +2, ..., ±fc}, а при d = 2k + 1 оказывается четным п, и можно взять Л = {±1, ±2, ..., ^к, п№ (см. рис. 7.1, где п = 8, d — З). <
Утверждение 7.2. Если G = (X, Y, Е)—непустой регулярный двудольный граф, то |Х| = |У|.
Так как доле X принадлежит только один из концов каждого ребра графа G, то число пг его ребер равно 32
| XI deg G. Аналогично m = IУI deg G. Следовательно, IXI deg G = IKI degG. Поскольку deg G ^ 0, to |X| = IKI. <1
Иногда, хотя и редко, граф определяется степенями своих вершин. Например, только Оп является регулярным графом порядка п пулевой степени. Регулярный граф первой степени имеет четный по- - рядок 2^г и является дизъюнктным/X
объединением т ребер. Этот граф обо- У \ зпачается символом тК2. Все связные компоненты регулярного графа второй степени являются простыми цикла-/ \
ми. Однако уже кубические графы, х/ т. е. регулярные графы степени 3,•
устроены сложно и не определяются Рис. 7.1 степенями своих вершин. Примером кубического графа является граф Петерсена (рис. 1.6).
Отметим любопытное свойство спектра регулярного
графа.
Теорема 7.3. Пусть G— регулярный граф степени d. Тогда*.
число d является корнем характеристического полинома графа G;
если G — связный граф, то кратность корня d равна 1;
d X 1X1 для любого корня X характеристического полинома графа G.
1) Пусть VG = (1, 2, .. ., п\ Л (G) = Л — матрица смежности графа G, и — столбец высоты п, все элементы которого равны 1. Поскольку в каждой строке матрицы А ровно d единиц, то Au = du и, следовательно, и — собственный вектор, a d — собственное значение линейного оператора А. Но каждое собственное значение является корнем характеристического полинома. Тем самым доказано, что d — корень характеристического полинома графа G.
Для произвольного собственного вектора х — У, х2, . . ., ^п) с собственным значением d имеем
Ах = dx, х 0.Ах = dx, х 0.(1)(1)
Ах = dx, х 0.
Ах = dx, х 0.
(1)
(1)
Пусть х^ — координата вектора х с максимальным модулем, Nj = N(j)—окружение вершины / в графе G. Из равенства (1) для /-й координаты вектора Ах вытекает (Ах^ = 2= dx^(2)
33333 В. А. Емеличев и др.
33
33
и, далее,
d|^l< 2 l^l-(3)
ieNj
Поскольку iWjl = cZ, то из соотношений (2) и (3) следует, что Хг = х^ для всех г из Wj. Для связного графа G теперь получаем, что все координаты вектора х равны между собой, т. е. размерность подпространства собственных векторов линейного оператора Л, относящихся к собственному значению d, равна 1. Следовательно, и кратность корпя d характеристического полинома матрицы А равна 1.
Пусть X — произвольный корень характеристического полинома матрицы А, х — соответствующий собственный вектор. Тогда Ах = Хх, и в тех же обозначениях, что и выше, имеем
(Л^ = 2 х^Хх^ IMH^'I^ S |#г|^^|^|, ieNj^Nj
откуда III ^ d. <
8. Метрические характеристики графа
Пусть G — связный граф, а и и v — две его несовпадающие вершины. Длина кратчайшего (и, и)-маршрута (он, естественно, является простой цепью) называется расстоянием между вершинами и и v и обозначается-через d^u, и). Положим еще d{и, м)=0. Очевидно, что введенное таким образом расстояние удовлетворяет следующим аксиомам метрики*.
d{u, и)> О,
d^u, р)=0 тогда и только тогда, когда u = v,
d(u, v) = d^v, и),
d(u, v)+d{v, w)^ d{u, w) {неравенство тре- уголъника).
Понятие расстояния между вершинами в связном графе позволяет определить к -ю степень графа. Пусть G — связный граф, к — натуральное число. Граф Gk имеет то же множество вершин, что и G; несовпадающие вершины и и v смежны в графе Gk тогда и только тогда, когда для графа G верно неравенство d(и, и^^к. Очевидно, что если к ^ |G| — 1, то Gh— полный граф.
Для фиксированной вершины и величина е{и) = max d^u, v) dgVG
на рис. 8.1.на рис. 8.1.Рис. 8.1Рис. 8.1О о~ 0 0 0 0О о~ 0 0 0 0ООО „ОООООО „ООО0 11 0_0 11 0_
на рис. 8.1.
на рис. 8.1.
Рис. 8.1
Рис. 8.1
О о~ 0 0 0 0
О о~ 0 0 0 0
ООО „ООО
ООО „ООО
0 1
1 0_
0 1
1 0_
называется эксцентриситетом вершины и. Максимальный среди всех эксцентриситетов вершин называется диаметром графа G и обозначается через d(G). Тем самым
d^G)= шахе^иу
u^VG
Вершина и называется периферийной, если е^и)= d^G). Простая цепь длины d(G), расстояние между концами которой равно d(G), называется диаметральной цепью.
Для иллюстрации обратимся к графу Здесь d^, 2)=1, d^i, 3)=2; е(1) = 2; d(G)=2. Все вершины, кроме вершины 2, являются периферийными, (1, 2, 3) — диаметральная цепь.
Утверждение 8.1. Для всякого связного графа G верно неравенство d(G)^ rank G.
> Пусть d^G^ = d и
v2, ..., vd+x(1)
— одна из диаметральных цепей графа G. Рассмотрим матрицу смежности A(G), причем выберем нумерацию вершин так, чтобы вершины (1) имели номера 1, 2, ... ..., d + 1 соответственно. Очевидно, что
Л<С)~[с »]
— клеточная матрица, в левом верхнем углу которой расположена матрица смежности А порожденного подграфа G(z,i, ^2, • •., ^d+i). Этот подграф является простой цепью, следовательно,
""О 1 О1 0 1О 1 О
— симметрическая матрица порядка d+1, все элементы которой, за исключением двух ближайших к диагонали полос единиц, равны нулю. Минор порядка d матрицы А, остающийся после устранения первого столбца и последней строки, равен 1. Следовательно, rank Л (G)^ rank А d. <
Минимальный из эксцентриситетов вершин связного графа называется его радиусом и обозначается через
ricy.
г (G) = min e (и) = min max й {и, v).ueVGueVG DeVG
Очевидно, что радиус графа не больше его диаметра.
Вершина и называется центральной, если е (^ = г(G). Множество всех центральных вершин графа называется его центром. Граф может иметь единственную центральную вершину или несколько центральных вершин. Наконец, центр графа может совпадать с множеством всех вершин. Например, центр простой цепи Ри при четном числе вершин п состоит ровно из двух вершин, а при нечетном — из одной; для цикла же Сп все вершины являются центральными.
Задача нахождения центральных вершин графа постоянно возникает в практической деятельности людей. Пусть, например, граф представляет сеть дорог, т. е. вершины его соответствуют отдельным населенным пунктам, а ребра — дорогам между ними. Требуется оптимально разместить больницы, магазины, пункты обслуживания. В подобных ситуациях критерий оптимальности часто заключается в оптимизации «наихудшего» случая, т. е. в минимизации расстояния от места обслуживания до наиболее удаленного пункта. Следовательно, местами размещения должны быть центральные вершины графа.
Реальные задачи (их называют минимаксными задачами размещения, см. [27]) отличаются от этой идеальной тем, что приходится еще учитывать другие обстоятельства — фактические расстояния между отдельными пунктами, стоимость, время проезда и прочее. Для того чтобы учесть это, используют понятие «взвешенный граф». Пусть G — граф, w: EG R+ — вещественнозначная функция, ставящая в соответствие каждому ребру е положительное (или неотрицательное) число ш^— вес ребра е. Пару (G, ^) назовем взвешенным графом. Под длиной (или весом^ любого подграфа взвешенного графа будем понимать сумму весов его ребер. В остальном все определения сохраняются.
§ 9. Критерий двудолыюсти графа
Д. Кёниг сформулировал простой критерий двудоль- пости графа в терминах длин циклов.
Теорема Кёнига (1936 г.). Для двудолъности графа необходимо и достаточно, чтобы он не содержал циклов нечетной длины.
> Необходимость. Пусть G — двудольный граф, С — один из его циклов длины к. Пройдем все ребра этого цикла* в той последовательности, в какой они на
нем расположены, начиная с некоторой вершины и. Сделав к шагов, вернемся в и. Так как концы каждого ребра лежат в разных долях, то А — четное число.
Достаточность. Не ограничивая общности, мож
но рассматривать только связные графы, ибо дизъюнктное объединение двудольных графов также двудольно.
Пусть связный граф G порядка п > 1 не имеет циклов
Рис. 9.1Рис. 9.1нечетной длины, и ^ VG. Построим разбиение VG = A U В следующим образом: произвольную вершину и графа G отнесем к классу А, если расстояние d(u, и)— четное число, и к классу В, если это расстояние нечетно. Остается доказать, что порожденные подграфы G(H) и G(B) являются пустыми. Пусть, напротив, существуют две смежные вершины и tv w, входящие в один класс. Тогда ни
Рис. 9.1
Рис. 9.1
одна из них не совпадает с и, поскольку v ^ А, а окружение вершины и входит в класс В. Пусть, далее, U — кратчайшая (и, и)-цепь, W — кратчайшая (ш, и)-цепь,
щ — последняя, считая от и, из общих вершин этих це
пей, лежащая на цепи U (рис. 9.1). Обозначим через Хи и Yu соответственно (v, щ)- и (щ, м)-подцепп цепи U, а через Xw и Yw—соответственно (щ щ)- и (щ, w)-подцепи цепи W. Очевидно, что длины цепей Хи и Xw совпадают и, следовательно, длины цепей Yu и Y^
одного характера четности. Но тогда объединение цепей Yu и Yw и ребра иш является циклом нечетной длины. <1
Очевидно
Следствие 9.1. Граф является двудольным тогда и только тогда, когда он не имеет простых циклов нечетной длины.
Доказательство теоремы Кёнига подсказывает простой способ распознавания двудольпости графа. Этот способ основан на простом приеме, называемом поиском в ширину. Поиск в ширину следующим образом приписывает вершинам рассматриваемого графа номера 0, 1, 2, . . . Начиная с произвольной вершины, приписываем ей номер 0. Каждой вершине из окружения вершины 0
приписываем номер 1. Теперь рассматриваем поочередно окружения всех вершин с номером 1 и каждой из входящих в эти окружения вершин, еще не занумерованных, приписываем номер 2. Рассматриваем окружения всех вершин с номером 2 и т. д., пока возможно. Если исходный граф G связен, то поиск в ширину занумерует все его вершины.
Далее, разобьем множество VG на две части — А и В, отнеся к А все вершины с четными номерами, а к В — все остальные вершины, и рассмотрим порожденные подграфы G(A^ и G^By Если оба они пусты (достаточно проверить, что все пары вершин с равными номерами не смежны), то С=(Л, В, Е) — двудольный граф. В противном случае граф G не является двудольным.
Простых способов распознавания Л-дольпости графа при к > 2 нет.
Очевидно, что с помощью поиска в ширину можно также решить следующие задачи:
разбить множество вершин графа на его области связности;
для несовпадающих вершин и и и связного графа найти кратчайшую (и, к)-цепь;
в ориентированном графе найти множество всех вершин, достижимых из заданной вершины у.
Реберный граф
Пусть S— непустое множество, a F — tF^S^... ..., SA — его покрытие непустыми несовпадающими подмножествами. Определим граф Q(F) следующими условиями: EQ(F) = F, вершины Si и S5 смежны, если г^] и 8^ П S) ^ 0. Произвольный граф G называется графом пересечений, если и только если существуют такое множество S и такое покрытие этого множества F, что G = ^^{Fy
Утверждение 10.1. Любой граф является графом пересечений.
> Пусть G — граф, VG = {1, 2, ..., п\ S — множество элементов графа G. Для г = 1, п обозначим через Si множество, составленное из вершины г и всех инцидентных ей ребер. Положив F = {Si, S2, ..., SA, получим G =
Важный класс графов пересечений составляют реберные графы. Для произвольного графа G реберный граф L{G) определяется следующими двумя условиями:
VG^-EG,
вершины ei и 62 смежны в Z(G) тогда и только тогда, когда ребра ei и в2 смежны в G.~
Если для некоторого графа Н существует такой граф G, что H = L(G), то Н также называется реберным графом.
На рис. 10.1 совмещены два графа-- G и L(G). Вершины графа G — темные кружочки, вершины графа
L(G)— светлые кружки. Ребра графа G — тонкие линии, ребра графа L(G) — жирные линии.
Утверждение 10.2. Если d\, d^ ..., dn — степенная последовательность (п, пг)-графа G, то L(G) является (пг, 1уграфом1 где
I = dt — тп.
Очевидно, что t-я вершина графа G порождает
\2) =2= —2
ребер графа L(G), поэтому ппп
I = 4 222-ГО' <
г=1г=1г=1
Очевидно, что если графы G и Н изоморфны, то L^G^ и ЦН) также изоморфны. В то же время справедливы соотношения L(K^)= L (Л^з) = К^. X. Уитни доказал, что Т^з и К1(з — единственная пара несовпадающих связных графов, имеющих один и тот же реберный граф. Если порядок хотя бы одного из рассматриваемых графов меньше пяти, то это проверяется непосредственно, а для графов больших порядков вытекает из следующей теоремы.
Теорема 10.3 (X. Уитни, 1932 г.). Пусть G и И — связные графы, \G\>4, \Н\">4 и L(G)=L(H). Тогда G ^ II и, более того, для всякого изоморфизма ф: L(G)-+
L(H) существует единственный изоморфизм гр: G Н, индуцирующий ф, т. е. такой, что ф(е) = гр(н)гр(н) для любого ребра е = ни графа G.
Изоморфизм ф реберных графов L(G) и L(H) будем рассматривать как биекцию EG ->- ЕП между мно- жествами ребер графов G и Н, при которой смежным ребрам соответствуют смежные, а несмежным — несмежные.
Лемма 10.4. Если ребра вг (I = 1, г) составляют звезду К\ г в графе G, то их образы ф(вг) составляют такую же звезду К\ г в графе Н.
Доказательство леммы. При г = 2 утверждение леммы верно по определению изоморфизма графов. Пусть г=3 и ребра щ, в2, вз составляют в графе G звезду К\ з. Поскольку граф G связен и порядок его более четырех, то в нем есть четвертое ребро е, смежное с каждым из ребер вг или точно с одним из них. Таким же свойством обладает ф(е) по отношению к ф(ег). Ребра ф(ег) составляют в графе Н либо звезду К\,з, либо треугольник. Но ребро, смежное с каким-либо ребром треугольника, смежно ровно с двумя из ребер. Тем самым доказано, что ребра ф(вг) составляют звезду в графе И. Нужное утверждение доказано для г = 3. Очевидно, что для г > 3 оно просто получается по индукции. <
Поскольку отображение ф-1: L(H)-> L(G) также является изоморфизмом реберных графов, то из предыдущей леммы вытекает следующее утверждение: ребра et (i = 1, г) составляют максимальную (относительно включения) звезду К\ т в графе G тогда и только тогда, когда их образы ф(^) составляют максимальную звезду К\1Т в графе Н.
Итак, изоморфизм ф определяет биекцию между множествами максимальных звезд графов G и Н. Очевидно, что в каждой из этих звезд более одного ребра, и потому в ней есть лишь одна центральная вершина. Максимальную звезду графа G с центром х обозначим через SG(x). Очевидно, что если ф(5е (х)) = SH (^'), то соответствие гр: х х' является инъекцией множества всех вершин графа G, не являющихся концевыми, в аналогичное подмножество вершин графа И. Из соображений симметрии следует, что гр — биекция.
Теперь распространим действие отображения гр на концевые вершины графа G. Пусть и — одна из таких вер- 40
шин. В графе G есть смежная с пей вершина х степени большей, чем 1. Положим хи = е и выберем в звезде Sh^x^ такое ребро е' = x'v', что ф(е) = е'. Покажем, что deg и' = 1.(1)
Пусть это не так. Тогда в звезде Sn^Df) есть ребро ст = = с'. Следовательно, в звезде ^t^Sh^d')) есть ребро ег = ф-1(4), смежное с ребром с, но не входящее в SG(^). Но тогда вершина и — конец этого ребра и deg и ^
Равенство (1) доказано.
Положив ф(^) = у', получим инъекцию множества концевых вершин графа G в множество концевых вершин графа Н. Из соображений симметрии теперь следует, что -ф— биекция.
Итак, построена биекция ф: VG ->■ VH. Докажем, что эта биекция является графовым изоморфизмом. Сохраним обозначение SG(^) и в том случае, когда deg х = 1. В этой ситуации SG(x) содержит одно ребро, инцидентное вершине хп и не является максимальной звездой. Смежность вершин х и у в графе G означает, что звезды SG(x) и SG(y) имеют общее ребро. Поэтому
(ху EG) ^ху' ЕН).
Доказано, что ф: G Н — изоморфизм графов. Из определения отображения ф видно, что оно индуцирует ф, т. е. ^(е)= х'у" = ^(х)^(у) для любого ребра e = xy^EG. Существование нужного изоморфизма ф доказано.
Остается доказать единственность. Пусть, напротив, есть два изоморфизма ф1 ^ ф2, удовлетворяющих условию теоремы. Тогда ф1(&)^ф2(я) для некоторой вершины a^VG. Рассмотрим произвольное ребро е = ах в графе G, Тогда
ф1(^)ф1(х) = ф(с) = ф2(^)ф2(^),
и, следовательно, ф2(^)=ф1(^). Если deg а > 1 и ау —- другое ребро G, то аналогично получаем ф2(?/) = ф1 (а) = = ф2(^), что противоречит инъективности ф2. Если же dega = l, то из ф2(^)=ф1(^) получаем deg х = 1, что противоречит связности G. <
Известно, что не всякий граф является реберным, например, звезда Л^3 не есть реберный граф. (Характеризация реберных графов имеется в книге [7].) Однако класс реберных графов достаточно содержателен. Об этом свидетельствует, в частности, тот факт, что гипотеза ре-
берной реконструируемое™ произвольных графов эквивалентна гипотезе вершинной реконструируемое™ реберных графов. Приведем без доказательства следующую теорему.
Теорема 10.5 (Р. Хемминджер, 1969 г.). Связный граф G с более чем тремя ребрами реберно реконструируем тогда и только тогда, когда реберный граф L(G) вершинно реконструируем.
Отметим еще любопытную связь, существующую между матрицей инцидентности графа G и матрицей смежности реберного графа L(G).
Утверждение 10.6. Если! = 1(G)—матрица инцидентности графа G и А = A(L(G))—матрица смежности графа L(G), записанная при той же, что и I, нумерации ребер, то
Г! = А + 2Е, (2)
где Е — единичная матрица порядка I^Gl.
> Рассмотрим элемент произведения 14, занимающий позицию (k, I):
(/т/)й1 = 5/РЛь
Последняя сумма равна числу вершин графа G, инцидентных обоим ребрам с номерами к и I. При к = 1 это число равно 2. Если к ^ I, то это число по определению есть элемент Ак1 матрицы А. Равенство (2) доказано. <
Следствие 10.7. Любой корень характеристического полинома всякого реберного графа не меньше, чем —2.
> Пусть G — реберный граф. Тогда для него верно равенство (2). С другой стороны, пусть Ах = Хх для ненулевого вектора х. Тогда !т!х =(Х + 2)х (в силу равенства (2)). Теперь рассмотрим квадрат длины вектора 1х\
\IxV = xTITIx = (Х + 2)жга; = (Х + 2) Ы2.
Следовательно, Z + 2>0, Z> — 2. <
§ И. Группа автоморфизмов графа
Характеристикой симметрии графа является его группа автоморфизмов.
Произвольная подстановка ср на множестве вершин графа G, сохраняющая отношение смежности, т. е. такая, что образы ф(н) и ф(р) вершин и и и смежны тогда и только тогда, когда смежны сами вершины и и и, называется автоморфизмом графа G.
Иными словами, автоморфизм графа — это изоморфизм графа на себя.
Любой граф G имеет по меньшей мере один автоморфизм — тождественное преобразование е: VG -*• VG, при котором е^=и для любой вершины и. Очевидно, что если ф — автоморфизм графа G, то и обратная подстановка ф-1 также является автоморфизмом, если же подстановки ф и ф обе суть автоморфизмы, то и их произведение фгр — автоморфизм. Поэтому верно следующее (важное, хотя и очевидное)
Утверждение 11.1. Множество всех автоморфизмов графа относительно операции умножения подстановок является группой.
Группа автоморфизмов графа G обозначается через Aut G.
Очевидно также
Утверждение 11.2. Всякий автоморфизм графа G является также автоморфизмом дополнительного графа G, т. е. Aut G = Aut G. _
Поскольку среди двух графов G и G хотя бы один является связным, то в силу утверждения 11.2, когда мы имеем дело с группой автоморфизмов, достаточно рассматривать лишь связные графы.
Введем важное понятие орбиты группы подстановок. Пусть Г — произвольная группа подстановок на множестве V. Определим на V бинарное отношение ~, положив и — v для ип v <= У тогда и только тогда, когда в Г существует такая подстановка s, что s(u)=v. Очевидно, что отношение ~ является отношением эквивалентности и, следовательно, множество V разбивается на классы эквивалентных элементов: все элементы, входящие в один класс, переводятся подстановками из группы Г друг в друга, а элементы из разных классов друг в друга не переводятся. Эти классы называются орбитами группы Г.
Разбиение множества вершин графа G на орбиты группы Aut G — важная задача. В сущности, применение к графу автоморфизма означает перенумерацию его вершин, причем отношение смежности должно сохраняться. Поэтому для любого автоморфизма ф у вершины графа v и ее образа ф(у) «все одинаково» (степени равны, графы, порожденные окружениями, изоморфны и т. д.). Так что орбиты группы Aut G — это просто классы «одинаковых» вершин. Более того, известно, что проблема распознавания принадлежности двух вершин произвольного графа одной орбите его группы автоморфизмов и проблема
изоморфизма графов эквивалентны в том смысле, что любой алгоритм, эффективно решающий одну из этих проблем, может быть преобразован в эффективный алгоритм для другой (см., например [18]). К сожалению эффективные алгоритмы для решения этих двух проблем не известны (о том, какие алгоритмы считаются эффектив
ными, см. гл. XII).
Трудно сказать что-либо определенное о строении
группы автоморфизмов произвольного графа. Она может
быть и «малой», и «большой». Найдем, например, AutG
для графа G, изображенного на рис. 11.1. Очевидно, что любой автоморфизм либо оставляет неподвижной вершину 1, либо переставляет ее с вершиной 3. В любой ситуации вершины 2 и 4 либо обе неподвижны, либо переводятся друг в друга.
Итак, Aut G состоит из четырех элементов: е, транспозиций (1,3) и (2,4) и
произведения этих транспозиций — (1,3) (2,4).
Очевидно, что каждый из двух графов, изображенных на рис. 11.2, имеет лишь один автоморфизм — тождест
венный. С другой стороны, очевидно, что группой автоморфизмов полного графа К^ является вся симметрическая группа 5П.
С 1936 г. известен следующий вопрос Д. Кёнига: какие конечные группы являются группами автоморфизмов графов? Этот вопрос можно интерпретировать двояким образом. Первый вариант: какие конечные группы
Рис. 11.2Рис. 11.2
Рис. 11.2
Рис. 11.2
изоморфны группам автоморфизмов графов? На этот вопрос почти сразу же ответил Р. Фрухт (1938 г.).
Теорема Ф р у х т а. Каждая конечная группа изоморфна группе автоморфизмов некоторого графа.
> Пусть Г — группа порядка п > 1 (для п = 1 выше приводились примеры). Построим граф G описанным ниже способом. В качестве исходного множества вершин возьмем множество всех элементов группы Г. Каждую упорядоченную пару (и, и) несовпадающих вершин соединим простой цепью PUd длины 3, добавляя всякий раз по две новые вершины а™ и buV. Pud (Щ ^uv? buD^ VY 3a-
тем к каждой из вершин аи1) «приклеим» простую цепь Р(а, и, и) длины I (а, и, v), все вершины которой, исключая au1)s— новые. Аналогично построим цепи Р(Ь, и, v) длины I (b, и1 и). При этом будем соблюдать следующее условие: длины всех цепей попарно различны всегда, кроме случая, когда ^"^ = ^71у1» ы? ^, щ, ^i G Г. В последнем случае должно быть
Ца, и, v) = l(a, uXl их^ ЦЪ, и, и)=ЦЬ, и^ vx). (1)
Построенный таким образом граф обозначим буквой G. (На рис 11.3 показаны соответствующие графы для
Рис. 11.3
п = 2 и 3. В этой ситуации Г — циклическая группа: Г ={щ и2 = е} при п = 2, Г = {щ и2, и3 = е) при п = 3.)
Докажем, что группы Aut G и Г изоморфны. Вначале
фиксируем в Г какой-либо элемент w и следующим образом определим отображение lw: VG ->- VG. Для х е Г Zto(^)=^ — произведение элементов группы; вершины цепи Р(&, ^ v) переводятся в вершины цепи Р^а, wu, wu^ причем сохраняется последовательность вершин в цепи, т. е. lw{auv) = a(wu}(wv) и т. д.; аналогично для цепи P(b, wu, wv). Прямая проверка подтверждает, что lw е Aut G.
Теперь докажем равенство
Aut G = kU w е Г}.(2)
Пусть ф — произвольный автоморфизм графа G. Очевидно, что ф все концевые вершины и, следовательно, все цепи Ри1) переводит друг в друга. Поэтому автоморфизм ф переставляет друг с другом вершины вида а^ а также
вершины вида 6иу. Следовательно, и элементы группы Г переставляются друг с другом. При этом из условия (1) следует, что если ф(и) = Ui, ф(12) — dXi то u-1v = иг 1v1 для всех и, v е Г. Из этого равенства, положив ф(е)= и;, получим ф(ж)= wx для любого х ^ Г, т. е. ф = Zw. Равенство (2) доказано.
Далее, определим отображение ф: Г -> Aut G, положив ф(я) = 1Х для любого х е Г. Очевидно, что отображение ф является изоморфизмом групп Г и Aut G. <
Конструкция, приведенная в предыдущем доказательстве, неэкономна в том смысле, что приводит к графам с большим числом элементов. Как правило, эти графы можно «уменьшить». Например, при п = 2, 3 вместо графов, приведенных на рис. 11.3, можно взять графы на рис. 11.4. Группой автоморфизмов графа, показанного на рис. 11.5, также является циклическая группа порядка 3.
Можно указать примеры групп подстановок, которые хотя и изоморфны по теореме Фрухта группам автоморфизмов графов, по сами таковыми не являются. Рассмотрим знакопеременную группу А^ состоящую из всех четных подстановок (и > 3). Пусть Ап s Aut G. Легко заме- 46
тить, что группа Ап дважды транзитивна, т. е. для любых I, ], к, I е VG, i ^ j, к ^ I, в Ап существует такая подстановка ф, что ф(/) = к, ф(7) = ^ Если ф — автоморфизм некоторого графа G, то в G либо любая пара вершин смежна, т. е. G = Кп, либо любая пара вершин не смежна, т. е. G = Оп. В обоих случаях Aut G = Sn#= Ап.
Естественно возникает неизмеримо более сложный вариант вопроса Д. Кёнига. Этот, по-видимому, далекий от решения вариант известен как
Проблема Кёнига. Установить, какие условия необходимы и достаточны, чтобы для заданной на множестве V группы подстановок Г существовал такой граф G с множеством вершин V, что Aut G = Г.
«Почти все» графы
В этом параграфе приводятся некоторые результаты, характеризующие свойства графов при большом числе вершин, т. е. в асимптотике. Эти свойства формулируются в терминах «почти всех графов» и отражают тем самым типичный случай.
Обозначим через 3 (п) множество всех помеченных простых графов с множеством вершин У = И, 2, ..., п}.
Как отмечалось в § 1, |^ (?г)| = 2V .
Пусть Р — некоторое свойство, которым каждый отдельно взятый граф из 3 (п) может обладать или не обладать. Через $Р(п) обозначим множество тех графов из 3(п^, которые обладают свойством Р. Будем говорить, что почти все графы (почти каждый граф] обладают свойством Р, если
lim|^P(n) V^ (п)\ = 1, П-»оо
и почти нет графов, обладающих свойством Р, если
lim | gP (тг) |/| § (п) | = 0.
Ясно, что если почти все графы обладают свойством Р, то почти нет графов, не обладающих свойством Р.
К настоящему времени получены результаты о большом количестве свойств графов в терминах «почти всех графов». Приведем некоторые из этих результатов.
Теорема 12.1. Почти все графы связны.
> Обозначим через ^CB(ft) множество связных графов из 9(п), а через Ss(n) — множество тех графов из S(n),
в каждом из которых имеется по крайней мере одна компонента порядка s. Тогда справедливо неравенство
[п/2]
\ScBW\>\$HI- 2(1)
8=1
Далее рассмотрим следующий прием построения графов:
множество V разбиваем па подмножества V\ и V2, где IVJ = s, IV2I — n — s (таких разбиений имеется );
\S J J
образуем всевозможные графы на множестве вершин V\ и всевозможные графы на множестве вершин V2.
В результате второй операции получим
2(;Mv)_2(n
различных графов. Резюмируя, имеем
(2)
Так как | ^ кп^ | = 2V2 , то из неравенств (1) и (2) следует, что
[п/2]
S—1
где /И-М2-
Рассматривая отношение /(s+l)//(s), убеждаемся в том, что на отрезке [1, [п/2]] функция f(s) убывает. Поэтому [^/2]2
lf^<Tim-^^ о, 8=1
откуда на основании (3) заключаем, что теорема 12.1 верпа. <1
Теорема 12.2. Диаметры почти всех графов равны 2.
Для доказательства этой теоремы понадобится следующее очевидное
Утверждение 12.3. Число всех графов из 9 (п), в каждом из которых зафиксированы одни и те эхе г ребер и одновременно отсутствуют к других фиксированных ребер, равно 2 48
> Доказательство теоремы 12.2. Прежде всего заметим, что диаметр почти каждого графа не меньше 2, поскольку только полный граф имеет диаметр 1.
Теперь убедимся, что диаметр почти каждого графа не может быть больше 2. В множестве У фиксируем вершину щ и непустое подмножество U <= V3 удовлетворяющее следующим двум условиям: 1) vy ^ U; 2) г = \U\ ^ ^ п — 2. Положим W = V\(U U щ) и выберем вершину v г W. Рассмотрим множество Suv^W всех графов из S(n)3 в которых окружение вершины щ совпадает с U3 а вершина и не смежна ни с какой вершиной из U. Для графов из этого множества есть г обязательных ребер и п — 1 запрещенных. Согласно утверждению 12.3
| еУ UD^D J
Для выбора вершины и в множестве W есть п — г — 1 возможностей. Если теперь
$u«AA = и З^А^
T£\V 1
ТО
|^и»х («)!<(« — ?’ — l)|^vM| =
Пусть, далее,
и Sim И,1 и 1
где в качестве U фигурирует каждое из подмножеств множества У, удовлетворяющее указанным выше условиям 1) и 2). При фиксированном r= \U\ для выбора множества U есть ^ ^ вариантов, поэтому
|g^(ft)|< г у | ^ Uv1 (ft) | <
П— 2 //n\
/ у M — 11 n9\2;~r“n+1
/n\, n—2 /. \
2-r. (4) r=l \/
4 в. А. Емеличев и др.49
Далее используем формулу бинома Ньютона: для любых чисел а и Ъ и натурального п верно равенство
(a + bf= 5 Ма^7—0 V '
Согласно этой формулеСогласно этой формуле
Согласно этой формуле
Согласно этой формуле
Поэтому из (4) вытекает
Обозначив
ЗЧп) = U ЗАД^еУ 1
имеем
№|<№|<n\S4^\<n^ n+1n\S4^\<n^ n+1
№|<
№|<
n\S4^\<n^ n+1
n\S4^\<n^ n+1
Далее получаем
НтНтI 9 W II 9 W IТ 2 / 3 \”—1п
Нт
Нт
I 9 W I
I 9 W I
= Нт га2 -т-)= 0
П->оо \ 4 /
В то же время легко видеть, что если 3" (п)— множество графов с диаметром более 2, то 3" (п)^3' (п). Действительно, возьмем произвольный n-вершинный граф G, диаметр которого не менее 3. В нем существуют хотя бы две вершины v\ и и, расстояние между которыми равно трем. Очевидно, что G е Sudd (п), где U = Ng(ja). Поэтому 3" (п)^ ЗАпУ Итак, почти нет графов с диаметром более 2, что и доказывает теорему. <
Следствие 12.4. Радиус почти каждого графа совпадает с диаметром этого графа и равен 2.
> Очевидно, что r^G^^d^G^ для любого графа G. Поэтому достаточно показать, что почти нет графов радиуса 1. Рассмотрим множество ЗАп) графов из З^п), в которых степень фиксированной вершины и равна п — 1. Имеем
|^'(м)| = 2^2^ = 2^) ”+\
откуда получаем, что число графов из ^(п), максимальная степень вершин которых равна п — 1, не превосходит
n^)-^1 ттУ
числа п2?. Но это означает, что почти нет графов,
среди вершин которых есть хотя бы одна доминирующая. Поэтому почти нет графов радиуса 1, так как всякий граф радиуса 1 содержит хотя бы одну доминирующую вершину. <
Теорема 12.5. Почти все графы имеют единственную вершину максимальной (минимальной) степени.
Теорема 12.6. Группа автоморфизмов почти каждого графа совпадает с единичной группой.
Доказательства этих теорем можно найти, например, в обзоре [21].
УПРАЖНЕНИЯ
Пусть G и II — два графа. Докажите, что если G ^ Н, то и II ^ G.
Найдите все попарно пеизоморфпые графы пятого порядка.
Докажите, что три графа, изображенные па рис. 1.10, изоморфны, а графы па рис. 1.11 не изоморфны.
Найдите число помеченных (та, таг)-графов.
Докажите, что если порядок самодополпитсльпого графа равен та, то п = 0 (mod 4) или п = 1 (mod 4).
Докажите, что не все графы с тремя ребрами реберпо реконструируемы.
Найдите самодополнительный граф с минимальным отличным от 1 числом вершин.
Докажите, что для любых натуральных чисел та, таг и &, удовлетворяющих условиям
(п — к 4-1\1^^^и, п —2 Ь
существует (та, таг)-граф, имеющий ровно к компонент.
Докажите, что если число ребер графа порядка та 2> 2 боль- /та-!\
ше, чем I 2 I > то он связен.
Докажите, что в связном графе любые две простые цепи максимальной длины имеют общую вершину.
И. Докажите, что не существует графа, степени всех вершин которого попарно различны.
Докажите, что если 6(G) ^ (та — 1)/2, то граф G связен.
Нарисуйте все попарно неизоморфные кубические графы восьмого порядка.
Пусть Gn — граф, множество вершин которого совпадает с отрезком натурального ряда {1, 2, ..., та}, а множество ребер определяется следующим условием: несовпадающие вершины и и v смежны тогда, когда числа и и и взаимно просты.
Запишите матрицу смежности графа G^.
Является ли граф GH связным?
Докажите, что при т < п граф Gm является порожденным подграфом графа Gn.
Докажите, что элемент матрицы (A(G))k, занимающий позицию (г, 7), равен числу (ц /)-маршрутов длины к в графе G.
Постройте граф, центр которого:
состоит ровно из одной вершины;
состоит ровно из трех вершин и не совпадает с множеством всех вершин;
совпадает с множеством всех вершин.
Докажите, что два графа, изображенные на рис. 6.2, ко- спектральпы.
Матрица называется вполне унимодулярной, если каждый ее минор равен 1, —1 или 0. Докажите, что матрицы ипцидентпо-
Рис. 1.1Рис. 1.2
сти двудольного графа и ориентированного графа вполне упимо- дулярпы.
Докажите, что диаметр графа не превосходит его удвоенного радиуса.
Приведите пример графа, диаметр и радиус которого равны.
Докажите, что (и, т)-граф связен, если в нем отсутствуют циклы нечетной длины и т *> (п— 1)2/4.
Является ли граф, изображенный па рис. 1.1, двудольным?
Найдите расстояние d(u, и) в графе, изображенном па рис. 1.2.
Докажите, что при п > 2 звезда А^п пе является реберным графом.
Найдите группы автоморфизмов графа, изображенного на рис. 11.5, простой цепи Рп, простого цикла Сп и графа Петерсена. Докажите, что группа автоморфизмов графа Петерсена изоморфна симметрической группе 5s.
Найдите граф минимального порядка, отличного от 1, с тождественной группой автоморфизмов.
Докажите, что число помеченных графов, изоморфных некоторому графу G порядка п, равно n!/|AutC|.
Сколько помеченных графов порождают простая цепь Рп и простой цикл Сп?
Глава II
Деревья
Как показано в § 4, среди графов с фиксированными порядком и числом компонент лишь один имеет максимальное число ребер. Другой крайний случай — минимальное число ребер — приводит к большому классу графов. Наиболее важными среди них являются связные графы, которые называются деревьями. Класс деревьев занимает в теории графов особое положение. С одной стороны, это достаточно просто устроенные графы, и многие задачи, весьма сложные в общей ситуации, для деревьев решаются легко. Доказано, например, что все деревья реконструируемы; несложно распознается изоморфизм деревьев. С другой стороны, деревья часто встречаются в областях, на первый взгляд не имеющих отношения к теории графов.
Деревья открывались независимо несколько раз. Еще в прошлом веке Г. Кирхгоф ввел деревья и применил их к исследованию электрических цепей, а А. Кэли, перечисляя изомеры насыщенных углеводоров, еще раз открыл деревья и первым исследовал их свойства. Тогда же деревья были введены и исследованы К. Жорданом как чисто математический объект.
Определение дерева
Деревом называется связный граф, не содержащий циклов. Любой граф без циклов называется ациклическим (или лесом^. Таким образом, компонентами леса являются деревья. На рис. 13.1 изображены все деревья шестого порядка.
Существует несколько вариантов определения дерева; некоторые из них отражены в следующей теореме.
Теорема 13.1. Для ^п, т}-графа G следующие утверждения эквивалентны*.
G — дерево;
G — связный граф и m = п — 1;
^ G — ациклический граф и т = п — 1;
любые Эве несовпадающие вершины графа G соединяет единственная простая цепь;
G— ациклический граф, обладающий тем свойством, что если какую-либо пару его несмежных вершин соединить ребром, то полученный граф будет содержать ровно один цикл.
> 1) => 2) Воспользуемся индукцией по п. При п = 1 утверждение тривиально. Пусть п>1, e^EG, В дереве G пет циклов, следовательно, согласно лемме 4.8, граф
Рис. 13.1
G — е имеет ровно две компоненты. Ti и Т^ каждая из которых есть дерево. Пусть дерево Тг является (т^г, тп^- графом, г = 1, 2. По индуктивному предположению верно равенство
Шг = Пг — 1.(1)
Далее имеем
m = ш\ + m2 + 1 =(П1 — 1) + (п2 — 1)+ 1 =
= (^1 + п^) — 1 = п — 1.
=> 3) Граф G связен и m = п — 1. Нужно доказать, что в G нет циклов. Пусть, напротив, в графе G есть цикл и пусть е — ребро этого цикла. Тогда граф G — е связен (лемма 4.8) и имеет п — 2 ребра, что противоречит теореме 4.9. Следовательно, G — ациклический граф.
=> 4) Пусть к — число компонент графа G. Пусть, далее, компонента Тг является (nt, тпг)-графом. Так как Тг —дерево, то верно равенство (1). Теперь имеем
п— 1 = m = тп\ + ТП2 + ... + тк =
= (^i - 1) + (^2 ~ 1)+ ... +(пк - 1) =
= (п! + .. . + nk) — к = п — к, т. е. к ^ 1. Итак, G — связный граф и потому любые не- 54
совпадающие вершины и и v соединены в нем простой цепью. Если бы в G были две несовпадающие простые ^и, у)-цепи, то согласно утверждению 4.3 их объединение содержало бы цикл. Следовательно, каждые две вершины соединены единственной простой цепью.
=> 5) Пара несовпадающих вершин, принадлежащих одному циклу, соединена по меньшей мере двумя простыми цепями. Следовательно, граф G ациклический. Пусть и и v — две его несмежные вершины. Присоединим к графу G ребро е = ии. В G есть простая (и, у)-цепь, которая в G + е дополняется до цикла. В силу утверждения 4.4 этот цикл единственный.
=> 1) Нужно доказать, что граф G связен. Если бы вершины и и и принадлежали разным компонентам графа G, то граф G + ии не имел бы циклов, что противоречит утверждению 5). Итак, G связен и потому является деревом. <
Следствие 13.2. В любом дереве порядка п>2 имеется не менее двух концевых вершин.
> Пусть
с?ь Й2, .... du (2)
— степенная последовательность дерева. Тогда
2 d^ = 2(n —1)
(лемма о рукопожатиях) и все dt > 0. Следовательно, хотя бы два числа из последовательности (2) равны 1. <
Пусть Н — остовный подграф произвольного графа G. Если на каждой области связности графа G графом Н порождается дерево, то Н называется остовом (или каркасом) графа G. Очевидно, что в каждом графе существует остов: разрушая в каждой компоненте циклы, т. е. удаляя лишние ребра, придем к остову. Остов в графе легко найти с помощью поиска в ширину.
Следствие 13.3. Число ребер произвольного графа G, которые необходимо удалить для получения остова, не зависит от последовательности их удаления и равно m^G) — |G| + k(G). где m^G) и k(G)— число ребер и число компонент графа G соответственно.
> Если (^i, Шу)-граф Н является одной из компонент графа G. то для превращения ее в остовное дерево нужно удалить Шу — ^пу — 1) подходящих ребер. Суммируя по всем k^G) компонентам, получим требуемое. <
Число v(G) = m{G) — IGI + k(G) называется циклическим рангом (или цикломатическим числом) графа G. Число v*(G) = |G| — k^G) ребер любого остова графа G называется коциклическим рангом графа G. Таким образом, v(G) + v*(G) = m^G).
Очевидны три следствия 13.4—13.6.
Следствие 13.4. Граф G является лесом тогда и только тогда, когда v(G) = 0.
Следствие 13.5. Граф G имеет единственный цикл тогда и только тогда, когда v(G) = 1.
Следствие 13.6. Граф, в котором число ребер не меньше, чем число вершин, содержит цикл.
В гл. III окажутся полезными утверждения 13.7, 13.8.
Утверждение 13.7. Всякий ациклический подграф произвольного графа G содержится в некотором остове графа G.
Пусть Н — ациклический подграф в G. Очевидно, что достаточно рассмотреть ситуацию, в которой Н — ос- товный подграф и G связен. Если теперь Н не является остовом, то он несвязен. Пусть А — одна из областей связности графа Н. В графе G есть такое ребро аЪ, что а е А, Ъ е VH\A. Граф Н + ab — ациклический остовный подграф графа G, имеющий меньше, чем И, компонент. Повторяя аналогичное построение, доберемся до дерева, т. е. до остова, содержащего граф Н. <
Утверждение 13.8. Если S и Т—два остова графа G, то для любого ребра е\ графа S существует такое ребро е^ графа Т, что граф S— щ + вг также является остовом.
Не ограничивая общности, будем считать граф G связным. Граф S — в\ имеет ровно две области связности; пусть это будут А и В. Поскольку граф Т связен, то в нем существует ребро е^ один из концов которого входит в Л, а другой — в В. Граф Н = S — ei + е^ связен и число ребер в нем такое же, как в дереве S. Следовательно, он сам является деревом. Итак, Н — остов графа G. <
Очевидно, что два предыдущих утверждения об остовах (13.7 и 13.8) сохраняются для произвольного псевдографа.
Докажем еще следующую теорему.
Теорема 13.9. Центр любого дерева состоит из одной или из двух смежных вершин.
Очевидно, что концевые вершины дерева Т являются центральными только для Т = К\ или Т = К^.
Пусть Т — дерево порядка п > 2. Удалив из Т все концевые вершины, получим дерево Т'. Очевидно, что эксцентриситет Т' на единицу меньше эксцентриситета дерева Т и что центры деревьев Т и Т' совпадают. Далее доказательство легко проводится индукцией по числу вершин. <
14. Матричная теорема Кирхгофа
Как уже отмечалось, в каждом графе имеется остов. В общем случае остов определен неоднозначно. Естественно возникает вопрос: как много остовов в графе? Очевидно, что при ответе на этот вопрос достаточно ограничиться случаем связного графа. В связном графе остовом служит любое остовное дерево, т. е. остовный подграф, являющийся деревом. Число остовов в связном графе определяется в неявной форме следующей теоремой.
Теорема Кирхгофа (1847 г.). Число остовных деревьев в связном графе G порядка п^ 2 равно алгебраическому дополнению любого элемента матрицы Кирхгофа B(G).
Доказательство опирается на следующую лемму.
Лемма 14.1. Пусть Н — (рп+1, ш^-граф, I — матрица инцидентности какой-либо его ориентации, М — произвольный минор порядка m матрицы I. Тогда:
если Н — дерево, то М = ± 1;
если Н не является деревом, то М = 0.
> Доказательство леммы. Прежде всего заметим, что можно произвольно менять нумерации вершин и ребер графа Н, от этого рассматриваемый минор может лишь изменить знак.
Пусть а — вершина, соответствующая строке матрицы I, не вошедшей в минор М. Если граф Н не является деревом, то он несвязен. Пусть Х = {1, 2, . . ., к^— его область связности, не содержащая вершины а. С помощью подходящей перенумерации ребер графа Н матрицу I приведем к клеточно-диагональному виду / = diag [/i, 1<Д, где Zi — матрица инцидентности компоненты Н(К). Минор М содержит все первые к строк матрицы I, сумма которых равна нулевой строке. Следовательно, М = 0.
Пусть теперь Н — дерево. Заново перенумеруем вершины и ребра графа Н следующим образом. Одной из концевых вершин и, отличных от вершины а, а также ребру, инцидентному вершине и, присвоим номер 1. Далее рассмотрим дерево Т\ = Н—и. Если его порядок больше 1,
то одной из его концевых вершин и, отличных от а^ а также инцидентному ей ребру присвоим номер 2. Рассмотрим дерево Т^ = Т\--и. Итерируя этот процесс, получим новые нумерации вершин и ребер дерева Я, причем вершина а будет иметь номер тп + 1. Матрица I при этом примет вид
-±10...о“
+ 1 ... о
* ...+1
** . . .*_’
(Здесь и в дальнейшем символом * будут обозначаться те элементы или блоки матрицы, значения которых не влияют на ход рассуждений.) Минор Мп остающийся после удаления последней строки этой матрицы, равен ±1. <
Еще один факт, используемый при доказательстве теоремы Кирхгофа,— формула Бинэ — Коши, которую мы приведем без доказательства. Пусть А и В — п X тп- и m X n-матрицы соответственно, С = АВ и п^ тп. Минор порядка п матрицы В назовем соответствующим минору порядка п матрицы А, если множества номеров строк первого из них и номеров столбцов второго совпадают.
Формула Бинэ — Коши. Определитель матрицы С равен сумме произведений каждого минора порядка п матрицы А на соответствующий минор матрицы В.
Доказательство теоремы Кирхгофа. Пусть I — матрица инцидентности какой-либо ориентации (п, тп)-графа G. Согласно утверждению 6.4 верно равенство
В^ = ПТ.(1)
Поскольку G — связный граф, то тп > п — 1. Если В — подматрица, остающаяся после удаления из B(G) последних строки и столбца, а С — подматрица, остающаяся после удаления из I последней строки, то в силу (1) В — = ССТ. Алгебраическое дополнение А™ элемента, занимающего в матрице B(G) позицию (п, п), равно det В. Из формулы Бинэ — Коши теперь следует, что Апп равно сумме квадратов всех миноров порядка п — 1 матрицы С. Согласно лемме 14.1 каждый такой минор М равен ±1, если остовный подграф графа G, ребра которого соответствуют столбцам, вошедшим в М, является деревом, и нулю в противном случае. Следовательно, Апп равно числу остовных деревьев в графе G. Поскольку алгебраические дополнения всех элементов матрицы B(G) равны (утверждение 6.2), то теорема доказана. < 58
Следствие 14.2. Для числа компонент п-вершин- ного графа G верно равенство
k(G) = п — rank B(G).
Если граф G связен, то в нем есть остовное дерево. Согласно предыдущей теореме rank B(G) ^ п — 1. С другой стороны, всегда det5(G)=O. Следовательно, rank B(G) = п— 1.
Пусть теперь граф G имеет ровно к компонент. Тогда при подходящей нумерации вершин матрицей B(G) служит клеточно-диагональная матрица diag[Si, Bs, ..., В^, диагональные клетки которой Вг являются матрицами Кирхгофа соответствующих компонент. Учитывая уже доказанное, имеем rank В (G) = п — к. <
Следствие 14.3. При п> 1 число остовов в полном графе Кп равно пп~2.
мента матрицымента матрицыРассмотрим алгебраическое дополнение Ли эле
мента матрицы
мента матрицы
п — 1— 1 ...— Г
— 1 и — 1 ...— 1
_ — 1— 1 п — 1
занимающего позицию (1, 1). Оно равно определителю п — 1— 1 ...— 1
— 1 п — 1 ...— 1
— 1— 1 и — 1
порядка п — 1. Далее имеем
1 1 ... 1О п ... ОО 0 ... тг1 1 ... 1О п ... ОО 0 ... тг-пп"\ <-пп"\ <1 ...1
1 1 ... 1
О п ... О
О 0 ... тг
1 1 ... 1
О п ... О
О 0 ... тг
-пп"\ <
-пп"\ <
— 1 п — 1— 1
— 1— 1 ... 71 — 1
Очевидно, что число остовов в Кп равно числу помеченных деревьев порядка п. Поэтому предыдущее следствие можно сформулировать в виде следующей теоремы, впервые полученной А. Кэли в 1897 году.
Теорема Кэли. Число помеченных деревьев порядка п равно п71-2.
§ 15. Остов минимального веса
Рассмотрим следующую задачу: во взвешенном связном графе требуется найти остов минимального веса. Эта задача возникает при проектировании линий электропередачи, трубопроводов, дорог и т. и., когда требуется за-
59
данные центры соединить некоторой системой каналов связи так, чтобы любые два центра были связаны либо непосредственно соединяющим их каналом, либо через другие центры и каналы, и чтобы общая длина (или, например, стоимость) каналов связи была минимальной. В этой ситуации заданные центры можно считать вершинами полного графа с весами ребер, равными длинам (стоимости) соединяющих эти центры каналов. Тогда искомая сеть будет кратчайшим остовным подграфом полного графа. Очевидно, что этот кратчайший остовный подграф должен быть деревом. Поскольку полный граф Кп содержит пп~2 различных остовных деревьев, то решение этой задачи «слепым» перебором вариантов потребовало бы чрезвычайно больших вычислений даже при относительно малых п. Однако для ее решения имеются эффективные алгоритмы. Опишем два из них — алгоритмы Дж. Краскала (1956 г.) и Р. Прима (1957 г.), применимые к произвольному связному графу.
Задача об остове минимального веса (о кратчайшем остове): в связном взвешенном графе (G, гр) порядка п найти остов минимального веса.
Алгоритм Краскала, решающий эту задачу, заключается в следующем.
Строим граф T\ = Ou-Ve\, присоединяя к пустому графу па множестве вершин VG ребро е\ ^ EG минимального веса.
Если граф Тг уже построен и К п — 1, то строим граф Т-цл = Ti. + Сг+1, где ^+1” ребро графа G, имеющее минимальный вес среди ребер, не входящих в Тг и не составляющих циклов с ребрами из Тг.
Следующая теорема утверждает, что алгоритм Краскала всегда приводит к остову минимального веса.
Теорема 15.1. При Кп — 1 граф Ti+\ можно построить. Граф Тп-\ является остовом минимального веса в графе (G, wy
Граф Тг имеет ровно г ребер и потому при г < п — 1 является несвязным. А так как граф G связен, то в нем есть по меньшей мере одно ребро, не составляющее циклов с ребрами графа Тг. Итак, нужное ребро ei+i существует и граф Тг+1 можно построить.
Рассмотрим граф Гп-ь Поскольку Ти-\ является (п, п — 1)-графом без циклов, то согласно теореме 13.1 это дерево. Остается доказать, что вес дерева Тп-\ минимален. Предположим, что это не так, и среди всех остовов графа G минимального веса выберем такой остов Т, ко- 60
торый имеет с деревом TVi максимальное число общих ребер. Пусть е.^аЪ — ребро дерева Тп-ь не содержащееся в Т и имеющее минимальный номер среди ребер дерева Тп-Ь не входящих в Т (напомним, что в процессе построения дерева Тп-х его ребра получили номера 1, 2 ,.. ..., п— 1). В дереве Т есть простая (а, 6)-цепь. Присоединив к ней ребро е^ получим цикл. В этом цикле есть ребро е, не входящее в дерево Тп-у. Заменив в дереве Т ребро е на ein получим новый остов Т' = Т — е + вг. По Т—остов минимального веса, следовательно, w^T'^ = — w?(T) + и?^) — w^^ w^T), т. e.
(1)
С другой стороны, присоединяя ребро е к Тг-х (при i = 1 полагаем Tt-х^О^^ мы не получим цикла, поскольку ребра в\1 ^2, ..., вг-х^ е входят в дерево Тп и потому, если бы вес w^e?) был больше, чем w^e^ мы взяли бы при построении дерева Тг ребро е вместо вг. Из (1) теперь следует, что w^e^^w^e), w(T')= w(T).
Итак, Т' — остов минимального веса. Число ребер, общих для деревьев Т' и Т^-х, больше, чем число ребер, общих для Т и Т^-х, что противоречит выбору дерева Т. Полученное противоречие и доказывает теорему. <
В качестве иллюстрации рассмотрим взвешенный граф, изображенный на рис. 15.1, а. Полагаем еу — (1, 4}, С2 = = {4, 5}. Среди оставшихся ребер минимальный вес имеет, например, ребро {1, 5}. Однако оно не пригодно для построения, поскольку составляет цикл с двумя предыду
щими ребрами. Можно взять вз = {2, 3}, 64 = {2, 5}. Итак, ребра {1, 4}, {4, 5}, {2, 3}, {2, 5} составляют остов минимального веса (рис. 15.1,6)).
Алгоритм Прима отличается от алгоритма Краскала только тем, что на каждом этапе строится не просто ациклический граф, но дерево. Именно:
Выбираем ребро еу = ab минимального веса и строим дерево Ту, полагая VTy = Va, 6}, ETy = (ei).
Если дерево Tt порядка г + 1 уже построено и Кп — 1, то среди ребер, соединяющих вершины этого дерева с вершинами графа G, не входящими в 1\ выбираем ребро вг+1 минимального веса. Строим дерево Т^, присоединяя к Тг ребро е,+1 вместе с его не входящим в Т< концом.
Для этого алгоритма также верна теорема 15.1, доказательство которой аналогично приведенному выше.
В некоторых ситуациях требуется построить остов не минимального, а максимального веса. К этой задаче также применимы и алгоритм Краскала, и алгоритм Прима. Следует только всюду минимальный вес заменить максимальным.
С задачей об остове минимального веса тесно связана задача Штейнера. Первоначально она формулировалась как следующая
Евклидова задача Штейнера: произвольное множество U точек евклидовой плоскости требуется соединить непрерывными линиями так, чтобы любые две точки были связаны либо непосредственно соединяющей их линией, либо через другие точки и соединяющие их линии, и чтобы сумма длин линий была минимальной.
Множеству точек U можно поставить в соответствие полный граф К^Щ, вершинами которого будут элементы U, а вес каждого ребра будет равен расстоянию между соответствующими точками.
Евклидова задача Штейнера отличается от задачи построения остова минимального веса в графе К\Щ тем, что в этот граф разрешается вносить новые вершины — точки Штейнера. Их можно добавлять столько, сколько потребуется, чтобы дерево, их соединяющее, имело минимальный вес.
Если в предыдущей задаче в качестве расстояния между точками (^i, yi) и (^2, у^ взять величину ki — ^1 + + lyi ~ У21 ? то получится прямоугольная задача Штейнера. Эта задача сводится к следующей широко известной задаче.
Задача Штейнера па графах. В связном взвешенном графе G с выделенным подмножеством вершин U ^ VG требуется найти связный подграф Т, удовлетворяющий следующим двум условиям:
множество У71 содержит заданное подмножество U;
граф Т имеет минимальный вес среди всех подграфов, удовлетворяющих условию 1).
Очевидно, что искомый подграф является деревом. Он называется деревом Штейнера.
Очевидно также, что задача построения дерева Штейнера эквивалентна задаче нахождения остова минимального веса в порожденных подграфах графа G, множества вершин которых содержат U.
Какие-либо эффективные алгоритмы, решающие задачу Штейнера, неизвестны.
УПРАЖНЕНИЯ
Нарисуйте все попарно пеизоморфпые деревья седьмого порядка.
Найдите дерево минимального порядка п ^ 2 с тождественной группой автоморфизмов.
Докажите, что центр дерева состоит из одной вершины в случае, когда диаметр этого дерева является четным числом, и из двух смежных вершин, когда диаметр — число нечетное.
Докажите, что радиус r(G) и диаметр d^G) любого дерева G связаны соотношением
r(G) =]d(G)/2[.
Верно ли, что если диаметр связного графа G равен к (к > 2), то в G существует остовпое дерево, диаметр которого также равен /с?
(п, тп)-граф называется сбалансированным, если никакой его подграф не имеет вершин степени большей, чем 2ml п. Покажите, что всякое дерево при п > 2 — несбалансированный граф.
Найдите остовные деревья в К5, А3,3 и в графе Петерсена.
Докажите, что подграф Н графа G является в G остовом тогда и только тогда, когда верны равенства |Я| = |G|, т^Щ = = |G| -к^, к(Н) = ЦС}.
Используя матричную теорему Кирхгофа, найдите число остовных деревьев в полном двудольном графе Кт,п.
Докажите, что число помеченных двудольных деревьев с числами вершин в долях т и п равно тп-хпт-х.
И. Покажите, как найти остов графа с помощью поиска в ширину.
Постройте такое множество U точек на плоскости, для которого вес дерева Штейнера был бы меньше веса любого остовпого дерева графа К(Щ.
Глава III
Матроиды и трансверсали
В этой главе вводится новый комбинаторный объект — матроид, появляющийся в результате обобщения хорошо известного читателю понятия линейной зависимости. Хотя понятие «матроид» возникло относительно давно,— в 30-е годы нашего столетия (впервые это понятие ввел X. Уитни)—место теории матроидов в математике и, тем более, в математическом образовании первоначально не было осознано. Теперь же, когда открываются все новые и новые классы матроидов, объединяющая роль идеи мат- роида, позволяющая с возрастающим успехом применять к решению комбинаторных проблем методы алгебры, становится все более ясной.
Для пас матроиды интересны, прежде всего, по двум причинам. Первая — их связь с теорией графов. Фактически, именно соответствие между некоторыми теоретикографовыми и алгебраическими понятиями привело к созданию теории матроидов. Вторая причина состоит в том, что задачи оптимизации па матроидных структурах решаются с помощью простого, так называемого «жадного» алгоритма, который является обобщением алгоритма Краскала для нахождения остовпого дерева минимального веса в связном взвешенном графе (§ 15). «Жадный» алгоритм изучается в этой главе.
Азбука теории матроидов
Известно несколько эквивалентных друг другу определений матроида. Эти определения различаются тем, что учитывают различные свойства независимости. Начнем с определения, основанного па свойствах максимальных независимых множеств — баз.
Матроидом М называется пара (Я, ^), где Е — конечное непустое множество, а ^ (или Я^М^—непустое множество его подмножеств (называемых базами^ удовлетворяющее следующим двум условиям ^аксиомы баз^. 64
Никакая из баз не содержится в другой базе.
Если 51 и 52 — базы, то для любого элемента Ъ^В\ существует такой элемент с^В^ что (5i\6)Uc— также база.
Элементы множества Е называются элементами мат- роида М. Число |5| называется порядком матроида М.
Понятие матроида является естественным обобщением понятия линейной независимости. А именно, если Е — конечная система векторов некоторого линейного пространства, содержащая ненулевой вектор, то в Е существует максимальная линейно независимая подсистема — база системы Е. Напомним, что все базы системы Е удовлетворяют аксиомам баз В.1 и В.2. Следовательно, всякая такая система вместе с ее базами является матроидом. Этот матроид называется векторным.
Очевидно, что в обозначениях аксиомы В.2 либо ЬеВ2 и тогда можно взять с = Ь, либо с^52\51, иное противоречило бы аксиоме В.1. Поэтому совокупность аксиом В.1 и В.2 равносильна совокупности аксиом В.1 и
В\2. Если 5i, В2 ^^ и Ъ^В]\В2, то в 82X61 существует такой элемент с, что (5Д&)и с е ^.
Утверждение 16.1. Все базы матроида равномощны.
> Пусть Si и 52 - базы, |5j ^ |52| и В\ = {61, Ьг,... ..., bpV Согласно аксиоме В.2 в базе В2 существует такой элемент ci, что
В' =(5Л61)и d = {cb b2l ..., бр}^.
Далее, существует такой элемент С2 е 52, что
В" = (5'\Ь2) U с2 = (ci, с2, Ъ^ ..., Ьр} е $.
Итерируя этот процесс, получим базу 5 = {ci, с2, ..., ср}, являющуюся подмножеством в 52 и потому совпадающую с 52 в силу В.1. Следовательно, |521 = р. <
Мощность базы матроида М назовем его рангом и обозначим через р(Л/).
Любое подмножество базы матроида называется независимым. В частности, пустое множество независимо. Совокупность всех независимых подмножеств элементов матроида М обозначим через В/(М) (или просто ^Х). Ниже множество 3 (Л/) называется набором независимых множеств матроида М.
Очевидно, что ^(М) совпадает с множеством элементов из 3(М), максимальных относительно включения, так что множества ^(М) и 3 (М^ определяют друг друга.
5 в. А. Емеличев и др.65
Теорема 16.2. Набор 3 {М} независимых множеств матроида удовлетворяет следующим двум условиям {аксиомы независимости).
Если Х^З{М), ¥^Х,то ¥^3{Му
Если Х,¥^3{М) и \Х\<\¥\, то в YXX существует такой элемент у, что XU у^З{М).
Справедливость условия 1.1 очевидна; рассмотрим условие 1.2. Пусть X, ¥ ^ 3{М) и |Х|<|У|. Пусть, далее, Вх^ ^{Му ¥^В\. Среди баз, содержащих X, выберем такую базу Bs, чтобы пересечение В\ А В^ содержало наибольшее число элементов. Докажем, что В^ХХ^Ву. Действительно, если бы существовал элемент Ъ е В^ХХ, Ъ^В\, то по аксиоме В.2 в базе By нашелся бы такой элемент и, что C = (52\&)U z^.$(M). Но тогда IC П SJ > > |52 А 511, что невозможно. Следовательно, В^ХХ и ¥ содержатся в 51, причем |52\Х| + |У| = р (21/) — |Х| + + IУI >р{М) = I5J. Тем самым существует y^BsXX)^ А У. Поскольку X U у ^ Вз, то элемент у — искомый. <
Очевидно, что аксиома 1.2 эквивалентна следующей аксиоме.
Г.2. Если X, ¥^3(М) и 1X1 <|У|, то в ¥ существует такое подмножество Z, что X^Z^3(M), |XUZ| = = |У|.
Следующая теорема показывает, что в основу определения матроида можно положить не базы, а независимые множества.
Теорема 16.3. Пусть Е—конечное непустое множество, 3 — непустая совокупность его подмножеств, удовлетворяющая аксиомам независимости 1.1 и 1.2, % — множество всех элементов из 3, максимальных относительно включения. Тогда ^ удовлетворяет аксиомам баз ВЛ и В.2.
Очевидно, что $ есть множество всех элементов из 3 максимальной мощности. Пусть теперь В\, В^^^. еу^Ву. Тогда SA^i^^, ISiVi1 = |52I — 1. Следовательно, существует такой элемент е^ е 52, что
{Bv\ex)^e2 = B^3, |53| = |52|.
Из последнего равенства вытекает, что 5з^^. Тем самым доказано, что выполняется условие В.2. Справедливость условия В.1 очевидна. <
Предыдущая теорема дает основание для нового определения матроида. Матроидом назовем пару {Е, 3), где Е — множество, а 3 — непустая совокупность его подмножеств (называемых независимыми), удовлетворяю- 66
щих аксиомам независимости 1.1 и 1.2. Множество 3 назовем набором независимых множеств матроида. Максимальные относительно включения независимые подмножества назовем теперь базами матроида. Аксиомы баз при этом действительно будут выполняться. В этом смысле приведенные два определения матроида эквивалентны.
Определим ранговую функцию (функцию ранга) матроида М. ставящую в соответствие каждому подмножеству А е Е число, равное максимальной из мощностей входящих в А независимых подмножеств и называемое рангом множества А*. р(А) = max {|Х|: Хг А. Х^ 3 (М)\
Очевидно, что р(В) совпадает с определенным выше рангом р (М). Очевидно также, что подмножество АгЕ независимо тогда и только тогда, когда р(А)=|А|.
Теорема 16.4. Ранговая функция матроида удовлетворяет следующим трем условиям (аксиомы ранга):
р.1. 0^р(А)^|А| для каждого Аг Е;
р.2. р(А)^р(В), если А г В г Е;
р.З. р(А U В)+р(А А В)^ р(А)+р(В) для любых А.ВгЕ.
Первые два условия очевидны, рассмотрим третье. Пусть А.ВгЕ. а X— наибольшее по числу элементов независимое подмножество в А А В. Согласно условию Г.2 в Ли В существует наибольшее по числу элементов независимое подмножество У, содержащее X. Представим У в виде У = X U V U W. где V гА\В, W г В\А. Независимое подмножество X U V содержится в А, поэтому р(А)> IX U 7|. Аналогично р(В)^ IX U WL Следовательно, р(А) + р(В)> |XU Fl + |XU WL Поскольку ХАГ = = XnW = 0) то далее имеем р(А) +р(В)^ |Х|+(|Х|+ + IFI + IWI). Но |Х| = р(А АВ), |Х1 + IFI + UVl = = |У| =р(А UB).
Итак, p(A) + p(B)>p(AUB) + p(A АВ). <
Подмножество Л из £ называется зависимым. если оно не является независимым. Минимальное относительно включения зависимое множество называется циклом. Очевидно, что подмножество множества Е независимо тогда и только тогда, когда оно не содержит циклов.
Множество циклов матроида М обозначим через ^ (М) (или просто <37).
Теорема 16.5. Если М — матроид. то множество % (М) удовлетворяет следующим двум условиям (аксиомы циклов).
С.1. Ни один из циклов не содержится в другом цикле.
С.2. Если С\ и С2 — несовпадающие циклы и е^С\Г\ В Сг, то множество (GUC^Xe также содержит цикл.
О Выполнимость условия С.1 очевидна, рассмотрим условие С.2. Пусть D = (Ci U С2^\е. Достаточно доказать, что множество D зависимо. Прибегнем к помощи ранговой функции; в ее терминах нужно доказать неравенство р(Д)<|2)|. Но D е Сх U C2l и потому p(D)^ p(G U С2). Согласно аксиоме р.З
р (Ci U С2) < р (G) + р (С2) - р (^ Л С2).
Очевидно, что p(Ct) = Id — 1 для цикла С<. Так как множество Сх Л С2 независимо, то p(Ci Л С2)== ICi Л С2|. Итак,
р(Д)^р(С! UC2)^ ICJ - 1+ IC2I - 1- ICi Л С2| =
= IC! и С21 — 2
и \D\ = ICi U С21 — 1, а значит, р(£)< \D\. <
Заметим, что совокупность аксиом р.1 — р.З (как и С.1, С.2) можно использовать для еще одного определения матроида.
Следствие 16.6. Если М = ^Е. 3^— матроид с набором независимых множеств 3\ Х^ 3. у^Е. то множество XU у содержит не более одного цикла.
О Пусть, напротив, в X U у есть два несовпадающих цикла Сх и С2. Элемент у содержится в каждом из них, и, согласно предыдущей теореме, существует третий цикл С в множестве D =ДСХ U С2^\у. Следовательно, D — зависимое множество. Но D £ X и потому независимо. Полученное противоречие доказывает нужное утверждение. <1
Очевидно, что из предыдущего следствия вытекает
Следствие 16.7. Для любой базы В матроида и любого его элемента е. не входящего в эту базу. множество В U е содержит ровно один цикл.
Двойственный матроид
Пусть М = (Е. &) — матроид £ множеством баз ^. Для произвольного X е Е положим X = Е\Х. Если В^ ^. то множество В назовем кобазой матроида М. Пусть ^* = = VB: Be:® — множество всех кобаз.
Теорема 17.1. Множество Ж* удовлетворяет аксиомам баз В.1 и В'.2.
> Справедливость условия В.1 очевидна, рассмотрим условие В'.2. Пусть By и В2 — две кобазы, х^ВхХВ^.
Нужно доказать существование в В^ХВу такого элемента у, что
А = ^Вх\х^у^^*. (1)
Так как х^Вх, то согласно следствию 16.7 множество Вх U х содержит цикл С. Поскольку цикл не может содержаться в базе, то существует у^ СП В^. Так как xj= ^В^, то у^х. Следовательно, у^Вх. Итак, у^В2\Вх.
Теперь докажем, что верно (1). С этой целью рассмотрим множество А = (JBX U х)\у. В силу следствия 16.7 С является единственным циклом, содержащимся в Вх U х. Поэтому А не содержит циклов и, следовательно, является независимым множеством. Далее |Л| = I5J, так что А — база и потому А — кобаза. <
Из предыдущей теоремы вытекает, что пара (Е, ^*^ является матроидом с множеством баз ^*. Этот матроид называется двойственным к матроиду М и обозначается через М*. Очевидно, что М** = М.
Зависимое (независимое) множество элементов мат- роида М* называется козависимым ^конезависимым^ в М. Цикл матроида М* называется коциклом матроида М. Ранговая функция матроида М* называется коранговой функцией матроида М и обозначается через р*. Очевидно, что р*(Л/) = |£| — р(М).
Поскольку кобазы, коциклы и т. д. являются базами, циклами и т. д. двойственного матроида, то для любого утверждения о циклах, базах и т. д. матроида существует аналогичное двойственное утверждение о двойственных объектах — коциклах, кобазах и т. д. Если одно из этих утверждений верно для всех матроидов, то верно и двойственное утверждение.
Очевидно, что в терминах кобаз можно следующим образом определить зависимые множества.
Утверждение 17.2. Произвольное подмножество элементов матроида является зависимым тогда и только тогда, когда оно имеет непустое пересечение с каждой кобазой.
Теорема 17.3. Непустое подмножество X элементов матроида является циклом тогда и только тогда, когда оно удовлетворяет следующим двум условиям;
IX П С\ Ф 1 для каждого коцикла С;
X— минимальное относительно включения непустое подмножество, удовлетворяющее условию 1).
Доказательство этой теоремы основано на следующих двух леммах.
Лемма 17,4. Для любого непустого независимого подмножества X элементов матроида существует такой коцикл С, что |Х П Cl = 1.
Множество X содержится в некоторой _базе В. Пусть х^Х. В силу следствия 16.7 множество В U х содержит некоторый коцикл С. Очевидно, что С А В = (х) — -САХ. <
Лемма 17.5. Для всякого цикла X и любого коцикла С матроида верно соотношение |Х A Cl ¥= 1.
Пусть, напротив, ХАС = (а;}. Согласно утверждению 17.2 коцикл С — минимальное подмножество в Е, имеющее непустое пересечение с каждой базой. Следовательно, С — максимальное подмножество в Е, не содержащее баз, и потому С U х содержит некоторую базу В. Множество Х\х независимо и содержится в С U х. Из аксиомы 1.2 теперь получаем, что существует база D, удовлетворяющая условию Х\ж ^ D s С U х. Но С не содержит баз, поэтому х^ D, X^D. Последнее противоречит аксиоме 1.1. <
Доказательство теоремы 17.3. Необходимость. Пусть X — цикл. Тогда па основании леммы 17.5 |Х А С\ т^1 для каждого коцикла С. Любое подмножество из X независимо и, в силу леммы 17.4, не удовлетворяет условию 1).
Достаточность. Пусть X—непустое подмножество элементов матроида, удовлетворяющее условиям 1) и 2). Согласно лемме 17.4 множество X зависимо. Все его собственные подмножества не удовлетворяют условию 1) п независимы в силу леммы 17.5. <1
18. Примеры матроидов
Рассмотрим некоторые примеры матроидов.
Пара (Е, {S}), где Е — конечное непустое множество, является матроидом, единственной базой которого служит само множество Е. Этот матроид называется свободным (или дискретным^. Циклов свободный матроид не имеет, всякое подмножество X ^ Е независимо, р(Х)- 1X1.
Двойственный к свободному — тривиальный матроид (5, {0}), единственной базой которого является пустое множество. Очевидно, что 0 служит единственным независимым множеством тривиального матроида; его циклы— все одноэлементные подмножества множества Е; р (X) — 0 для любого X Е.
Пусть L — линейное пространство над произвольным полем F, Е ^ L — конечное непустое подмножество, 3 — множество, элементами которого служат все линейно независимые над F системы векторов из Е и пустое множество. Тогда пара (Е, 3) является матроидом с набором независимых множеств 3 (этот факт вытекает из известной в линейной алгебре теоремы Штейница о замене). Такой матроид называется векторным матроидом, порожденным множеством векторов Е. Базами этого мат- роида служат все базы множества Е. Если же в Е нет баз, т. е. если Е = {0}, то единственной базой векторного матроида является пустое множество, т. е. он тривиален. Ранг векторного матроида равен рангу множества Е, т. е. размерности подпространства, порожденного множеством Е.
В частности, взяв в качестве Е множество векторов, являющихся столбцами (строками) какой-либо матрицы Л, получим матричный матроид, или матроид столбцов {строк) матрицы А. Ранг этого матроида равен рангу матрицы А.
В качестве иллюстрации рассмотрим матроид М столбцов матрицы
Г1Г1А -А -01011 1 0“0 1 10 1 11 1 0“0 1 10 1 1
Г1
Г1
А -
А -
0
1
0
1
1 1 0“
0 1 1
0 1 1
1 1 0“
0 1 1
0 1 1
Обозначив г-й столбец этой матрицы через е< {i=h, 4), получим Е = {ех, е^ ез, е4}, р (М) = rank А = 3. Перебирая все максимальные линейно независимые системы столбцов матрицы А, обнаружим, что матроид М имеет ровно 3 базы: 5i = {^i, е2, e3L 52 = {ei, е^, е4}, Вз = {в1, вз, е4). Зависимых множеств 2: Е и {вг, ез, е4}, причем последнее множество^ служит —единственным циклом матроида М. Кобазы: В\ = {еД ^2 = {е3}, Вз — {е^. Козависимые множества: {^1} и каждое подмножество в Е, содержащее более одного элемента. Коциклы: {ej, {в2, ез), {в2, е4}, (е3, е4}.
Пусть G — произвольный граф. Определим матроид M{G) = {E, $) на множестве E = EG, объявив базами множества ребер всех остовов графа G, т. е. ^ = {ЕН: Н — остов GL Из утверждения 13.8 вытекает, что аксиомы баз в этой ситуации действительно выполняются. Поскольку каждый подграф графа G, являющийся лесом, содержится в некотором остове (утверждение 13.7), то независимыми множествами в M{G) служат множества
ребер подграфов в G, являющихся лесами, и только они. Циклы матроида M(G) — это множества ребер простых циклов графа G. Если n{G), m^G), к(G) — числа вершин, ребер и компонент графа G соответственно, то
p(M(G)) = n{G)-k(G) = ^(G)1
p*(J/(G)) = m(G)-p(7l/(G)) = v(^
т. е. ранг и коранг матроида М (G) равны, соответственно, коциклическому рангу и циклическому рангу графа G.
Если В — множество всех ребер какого-либо остова графа G, то множество EG\B называется коостовом. Подмножество U^EG называется разделяющим множеством графа G, если число компонент графа G — U больше, чем число компонент G. Минимальное относительно включения разделяющее множество называется разрезом. Коба- зами в M{G) служат коостовы графа G. Из утверждения
17.2 непосредственно вытекает, ечт0 козависимые множества в
/ х”M{G) — это разделяющие множе-
^——V——е ства графа G, а коциклы — это
3разрезы. Поэтому между свойст-
Рис. 18.1вами простых циклов и разрезов
графа существует большая аналогия. Эта аналогия и явилась одной из причин возникновения понятия «матроид».
Матроиды M{G) и М* (G) называются матроидом циклов {циклическим матроидом) и матроидом разрезов {ко- циклическим матроидом) графа G соответственно.
Рассмотрим, например, циклический матроид М (G) графа G, изображенного на рис. 18.1. Для этого матроида Е = {^i, е2, ез, ^4). Он имеет ровно три базы: В\ = (щ, е^ ^4}, В2 = (щ, е3, е^, В^ = {е2, ез, cj. Единственным его циклом служит множество {ci, е2, ез). Кобазы: В\ = {вз), В2 = {с2^ 5з = {е1}; коциклы: {ei, е2}, (щ, ^зЛ {^2, ^зЬ {^4).
Очевидно, что для любого дерева Т циклический матроид М{Т) свободен, а М*{Т) тривиален.
Вернемся к произвольным графам. Применяя установленные выше утверждения о свойствах баз, независимых множеств и циклов матроида к матроидам M{G) и M*{G), получим следующие утверждения о графах. Каждое из них несложно доказать непосредственно, однако здесь вскрывается их общая сущность.
Утверждение 18.1. Пусть F и Н—ациклические подграфы графа G и |£7П < \ЕН\. Тогда существует та- 72
кое подмножество Х^ЕЙ. что граф Е* = Е + Х также является ациклическим и \EF'\ = \ЕН\.
Утверждение 18.2. Если Dy и D2— несовпадающие разрезы в графе G. имеющие общее ребро е. то множество ребер {Dy UZ)2)V является разделяющим.
Утверждение 18.3. Для любого непустого ациклического подграфа F графа G существует разрез в G. имеющий с F ровно одно общее ребро.
Утверждение 18.4. Число общих ребер любого простого цикла и любого разреза графа отлично от 1.
Замечание. Очевидно, что в формулировках утверждений 18.1 —18.4 может фигурировать произвольный псевдограф, а не только простой граф.
§19. Изоморфизм матроидов
Пусть Afi =(^1, ^1) и М2 = {£2, ^2) —два матроида с множествами баз ^ и ^2, ср: Еу Е2— биекция. Для Х^Еу положим ср(Х) = {ср(я): х^Х¥ Если для любого X^jE'i имеем ф(Х)^^2 тогда и только тогда, когда Х^ e^i, то биекция ф называется изоморфизмом матроида Му на матроид М2.
В этой ситуации будем писать
ф:Л/1 + Ж(1)
Для изоморфизма ф существует обратная биекция Ф-1, причем очевидно, что для любого ¥^£2 имеем ф-^У)^^! тогда и только тогда, когда У ^ ^2. Следовательно, если (1)—изоморфизм матроидов, то и ф-1: М2 М1 — также изоморфизм.
Если существует изоморфизм (1), то будем называть матроиды Му и М2 изоморфными и писать Му =М2.
У т в е р ж д е п и е 19.1. Если ф: Му -^М2— изоморфизм матроидов. то*.
ф(Х)—независимое множество матроида М2 тогда и только тогда, когда X является независимым множеством матроида Му*.
ф(Х)—цикл матроида, М2 тогда и только тогда, когда X является циклом матроида Му;
ф(Х)—кобаза матроида М2 тогда и только тогда, когда X является кобазой матроида Му;
ф(Х)—коцикл матроида М2 тогда и только тогда, когда X является коциклом в Му.
1) Пусть X—независимое множество матроида Му. Тогда X содержится в некоторой базе В^^у. Множество
ср(Х) содержится в базе ф(Д)е^2 и потому независимо в матроиде М2. Поскольку множество ф(Х) отображается на X обратным изоморфизмом ф-*1, то из независимости множества ф(Х) в свою очередь следует независимость множества X.
Пусть X — цикл матроида Му, т. е. минимальное относительно включения зависимое множество. Применяя уже доказанное утверждение 1), заключаем, что ф(Х)— минимальное относительно включения зависимое множество матроида М2._
Положим Х=Е\Х. Множество _Х— кобаза матроида Л/\_тогда и только тогда, когда X — база Му, т. е. когда ф(Х) — база матроида М2. Последнее равносильно тому, что ф(Х)—кобаза в М2. Но ф(Х) = ф(Х).
Коциклы матроида — это минимальные козависи- мые множества. Подмножество X элементов матроида Му козависимо тогда и только тогда, когда оно пересекается
GН
Рис. 19.1
с любой базой этого матроида. Последнее равносильно тому, что множество ф(Х) пересекается с любой базой матроида Л/2, т. е. ф(Х) козависимо в матроиде М2. <1
Из предыдущего утверждения непосредственно вытекает
Следствие 19.2. Если матроиды изоморфны, то двойственные матроиды также изоморфны, т. е. если ф: МуМ2 — изоморфизм матроидов, то ф: Мх-^Мй также является изоморфизмом матроидов.
Итак, изоморфные матроиды «одинаково устроены», что дает основание их не различать. Поэтому любой матроид, изоморфный векторному, также назовем векторным. Матроид назовем графическим, если он изоморфен матроиду циклов M^G^ некоторого графа G, и ко- графическим, если он изоморфен матроиду разрезов M^Gy
На рис. 19.1 изображены два графа G и Н, циклические матроиды которых изоморфны.
Представление матроида
Стремление попять строение тех матроидов, которые близки к векторным, т. е. если и не являются векторными, то отличаются от последних лишь незначительно, приводит к понятию представления матроида, в определенном смысле близкому к понятию изоморфизма.
Пусть М — матроид с множеством элементов Е, Fn —- линейное пространство столбцов высоты п над полем F. Отображение ср: ЕFn называется представлением матроида М над полем F, если оно удовлетворяет следующему условию: для любого подмножества X = Ui, е^ ... ..., еА множества Е система векторов cp(ei), ф(е2), ... ..., ф(^) линейно независима над полем F тогда и только тогда, когда X является независимым множеством матроида М.
Пусть ф: Е Fn — представление матроида М, Е = = {^i, ^2, ..., е,А. Построим п X т-матрицу
ф(£,) = [ф(е,)ф(е2)... q)(em)],
столбцами которой являются образы элементов матроида М в представлении ср. Эта матрица также называется представлением матроида М.
Утверждение 20.1. Пусть М — матроид с множеством элементов Е = {ei, е^ ..., ет\ А— произвольная п X т-матрица над полем F. Для того чтобы матрица А была представлением матроида М, необходимо и достаточно выпс гнениз следующих двух условий*.
rank Л = р(Л7);
система любых р = р(М) столбцов матрицы А с номерами ц, 1^ ..., ip линейно независима тогда и только тогда, когда множество ^Щ^ е^, . .., е^ является базой матроида М.
> Очевидно, что Л=ф(£) удовлетворяет условиям 1) и 2). С другой стороны, пусть п X m-матрица А удовлетворяет этим условиям и пусть Ль Лг, ..., Ат — ее столбцы. Тот да, положив ф(^) = Л/, получим представление ф: Е Fn матроида М. <
Матроид называется представимым над полем F, если он имеет представление над F. Как подтверждают следующие примеры, одни матроиды представимы над любым полем, другие — не над любым.
Пусть М — матроид с множеством элементов £ = {1, 2, 3}, базами которого служат все двухэлементные подмножества множества Е. Очевидно, что этот матроид
представим над произвольным полем, поскольку матрица "1 0 1" .0 1 1.
служит представлением матроида М.
С другой стороны, возьмем в качестве М матроид с множеством элементов Е = {1, 2, 3, 4}, базами которого, как и выше, служат все двухэлементные подмножества множества Е. Пусть матрица А является представлением этого матроида над полем F из двух элементов. Тогда rank А = 2 и, следовательно, столбцы этой матрицы принадлежат двумерному линейному пространству над F. Двумерное линейное пространство над полем из двух элементов — это четырехэлементное множество {а, 6, а + Ь, 0}. Следовательно, столбцами матрицы А являются а, Ь, а + Ъ, 0. Но поскольку любое двухэлементное подмножество множества Е является базой матроида М, то любые два столбца матрицы А должны быть линейно независимы. Полученное противоречие доказывает, что матроид М не представим над полем из двух элементов.
Если же F — произвольное поле, содержащее более двух элементов, то, например, матрица
^Н]’ b^F’ ь*0’ ь^^
является представлением матроида М над F. Итак, рассматриваемый матроид представим над любым полем, кроме поля из двух элементов.
Очевидно, что свободный матроид представим над любым полем — его представлением служит, например, единичная матрица. Двойственный ему тривиальный матроид также представим, его представление — нулевая матрица.
Заметим, что существуют матроиды, не представимые ни над каким полем.
Из определения представления вытекает, что оно действует инъективно на каждом независимом множестве элементов матроида. Однако в целом оно может оказаться и не инъективным. Рассмотрим, например, матроид М-ЦЕ, ^) с множеством элементов Е = М, 2, 3, 4, 5} и множеством баз ^ = {(3, 4}, {3, 5), {4, 5}}. Его циклами служат множества Ш, {2} и {3, 4, 5}. Положив
ф(^) =ф(^) =0 0 10 10 0 0 1 10 0 10 10 0 0 1 1
ф(^) =
ф(^) =
0 0 10 1
0 0 0 1 1
0 0 10 1
0 0 0 1 1
получим представление ср матроида М над произвольным полем. Это представление не является инъективным. Очевидно, что рассматриваемый матроид не имеет инъективных представлений ни над каким полем, поскольку ф(1) = ф(2) = 0 для любого представления ф этого матроида.
Легко понять, что матроид, для которого существует инъективное представление, является векторным. В самом деле, для произвольного представления ср некоторого матроида М = (£\ ^) рассмотрим множество столбцов (ф(е): e^EY Это множество порождает векторный матроид, который обозначим через ср (М). Если отображение ф инъективно, то оно естественно индуцирует изоморфизм ф' матроидов М и ф(М): ф'(е) = ф(г) для любого элемента е матроида М. Итак, верно
Утверждение 20.2. Если представление ф матроида М инъективно, то М .
С другой стороны, пусть L — n-мерное линейное пространство над произвольным полем F. Е ^ L — конечное непустое подмножество, М — векторный матроид, порожденный множеством векторов Е. Зафиксируем в пространстве L произвольный базис. Поставив в соответствие каждому вектору из Е его координатный столбец в отмеченном базисе, получим представление Е -^ Fn матроида М. являющееся инъективным.
Итак, инъективные представления существуют у всех векторных матроидов и только у них.
Теорема 20.3. Если матроид представим над полем F. то двойственный ему матроид также представим над F.
> Для свободного и тривиального матроидов утверждение теоремы очевидно. Пусть М — нетривиальный матроид, не являющийся свободным, р = р(Л/), п X ттг-матри- ца А — представление над полем F матроида М. Тогда rank А = р, 0 < р < т.
Рассмотрим однородную систему
(1)(1)ИХ-0
(1)
(1)
линейных уравнений с матрицей А (здесь X — столбец неизвестных ^i, ^, ..., я™, 0 — нулевой столбец высоты п). Пусть У— множество всех столбцов из Fm. являющихся решениями системы (1). Как известно из алгебры, У — подпространство пространства Fm размерности т — р. Выберем какой-либо базис
Уь У2, ..., ¥т_рУь У2, ..., ¥т_р(2)(2)
Уь У2, ..., ¥т_р
Уь У2, ..., ¥т_р
(2)
(2)
подпространства У и составим из столбцов (2) тпХ Х(т —р)-матрицу 5 = [У1 У2 ... Ут-р].
Теперь докажем, что транспонированная матрица Вт является представлением матроида М*, для чего используем утверждение 20.1. Имеем
rank В1 = rank В = m — р = р (Л/*).
Далее вспомним, что базами матроида М* являются дополнения до баз матроида М. Поэтому достаточно установить следующее: система каких-либо р столбцов матрицы А линейно независима тогда и только тогда, когда линейно независима дополняющая система m — р столбцов матрицы Вт (или строк матрицы В). Слово «дополняющая» означает, что номера столбцов второй системы отличны от номеров столбцов первой.
Выделим какую-либо систему р столбцов матрицы А. Пусть, для определенности, это первые р столбцов, и пусть С—подматрица в А, составленная из взятых столбцов. Теперь рассмотрим однородную систему линейных уравнений
CZ = 0 (3)
с матрицей С (Z — столбец неизвестных zi, z2, ..., zp).
Если столбцы матрицы С линейно зависимы, то система (3) имеет ненулевое решение Z. Рассмотрим столбец
высоты тп, полученный добавлением ш — р нулей к столбцу Z. Очевидно, что U — решение системы (1), т. е. С7е е У. Поскольку (2)— базис пространства У, то
U = «1У1 + а2У2 + ... + ат-рУги-р.(4)
Введем столбцы
Ур У21 •••1 Ут—р(5)
высоты т — р, отбросив из каждого столбца (2) первые р координат, и рассмотрим матрицу D = [У^ Y^ ... ... Ут_р], столбцами которой являются векторы (5). Это квадратная матрица, строки которой суть последние
78
т — р строк матрицы В. Из равенства (4) следует
а1У1 + а2^2 + • • • + ^т-рУ ш-р = 0.(6)
Среди коэффициентов ai в последнем равенстве есть отличные от нуля, поскольку U =#0. Следовательно, система столбцов (5) линейно зависима.
Обратно, пусть система каких-либо, например, последних т — р строк матрицы В линейно зависима. Тогда (5) — линейно зависимая система векторов, и потому верно равенство вида (6), среди коэффициентов а< которого есть отличные от нуля. Определим столбец U формулой (4). Поскольку система векторов (2) линейно независима, то £7¥=0, и U — решение системы (1). Итак, система (1) имеет ненулевое решение вида U. Но тогда столбец Z, который получается из U в результате удаления последних т — р координат, является ненулевым решением системы (3). Следовательно, столбцы матрицы С линейно зависимы.
Доказано, что из линейной зависимости каких-либо т — р строк матрицы В вытекает линейная зависимость дополняющей системы р столбцов матрицы Л. Тем самым доказана теорема. <1
Бинарные матроиды
Рассмотрим более детально матроиды, представимые над полем из двух элементов,— бинарные матроиды.
Бинарным является, например, матроид М = (Е, ^ с множеством элементов Е = {1, 2, 3, 4}, множество баз которого составляют все трехэлементные подмножества в Е, содержащие 1. В самом деле, положив ф(1) = = (1, 1, 0, 0), ф(2) = (0, 1, 1, 0), Ф(3) = (0,0,1,1), ф(4) = = (0, 1, 0, 1), получим представление матроида М над полем из двух элементов 0 и 1.
Пусть F = {0, 1} = Z2 — поле классов целых чисел по модулю 2, М — матроид с множеством элементов Е, т — порядок матроида М^ т. е. число элементов в Е, 2В — бу- леан множества Е (совокупность всех подмножеств множества Е). Превратим этот булеап в линейное пространство над Z2, определив подходящим образом сложение подмножеств и их умножение на 0 и 1. Именно, для X, Y 2е положим X + Y = (X U У) \ (X А У) — сумма множеств по модулю 2 (симметрическая разность), 1-Х = = X, 0 • X = 0. Прямая проверка подтверждает, что в 2я
внесена структура линейного пространства над Z2, нулевым вектором которого служит 0.
Пусть L — подмножество пространства 2К, состоящее из пустого множества, всех циклов матроида М и объединений попарно пепересекающихся циклов. Фиксируем какую-либо базу В матроида М. Согласно следствию 16.7 для любого е^В в множестве В U е существует ровно один цикл. Обозначим этот цикл через Се.
Теорема 21.1. Если исходный матроид М является бинарным, то L — подпространство пространства 2Е размерности р*(Л7), базис которого составляют все циклы из множества
{Се\ е^В}, (1)
где В — произвольная база матроида М.
> Пусть п X /тг-матрица А является представлением матроида М над Z2. Для произвольного непустого подмножества X множества Е обозначим через S (X) сумму (по модулю 2) всех столбцов матрицы А, соответствующих элементам из X.
Заметим, что непустое подмножество X ^ Е является элементом множества L тогда и только тогда, когда 5(Х) = 0. Действительно, пусть вначале X— цикл. Тогда система столбцов, соответствующих элементам из X, линейно зависима над Z2, и потому для какого-либо подмножества У в X 5(У) = 0. Но всякая часть рассматриваемой системы столбцов линейно независима, следовательно, Y = X. Итак, 5(Х) = 0 для цикла X. Очевидно, что то же верно, если X — объединение попарно непере- секающихся циклов.
Обратно, пусть X ^ Е и S (X) = 0. Тогда система столбцов матрицы А, соответствующих элементам подмножества X, линейно зависима над Z2 и, следовательно, X— зависимое множество. Поэтому оно содержит цикл Хь Если Y = X\X\*^0, то 5(У) = 0, поскольку 5(Х) = = 5(Xi) = 0 и 5(X) = 5(Xi)+ S(Y). Следовательно, У содержит цикл Х2. Через несколько подобных шагов мы разобьем множество X па непересекающиеся циклы.
Пусть X и У — произвольные элементы множества L, Z = XRY, X' = X\Z, Y'-Y\Z. Тогда Х+У-Х'иУ7, г П Г = 0, S(X + У) = S(X') + S(Y'). Но S(X) = 0 = = 5(Х') + S(Z), поэтому S(X') = S(Z). Аналогично S(Y') = S^Zy Следовательно, 5(Х + У) = 5(Z)+5(Z) = 0.
Тем самым доказано, что L — подпространство пространства 2s.
80
Теперь докажем, что (1) —базис пространства L. Если бы система векторов (1) была линейно зависимой над Z2, то сумма каких-либо из них была бы равна нулевому вектору пространства 2£, т. е. пустому множеству. Но если ^1, ^2, ..., eh— попарно различные элементы из В, то
Сег + Сег + . . . + Сек = {^ е2, . . . , 6к}.
Следовательно, система (1) линейно независима.
Остается доказать, что произвольный элемент X пространства L является суммой по модулю 2 каких-либо циклов из (1). Это очевидно для Х = 0. Пусть x^L и X ^ 0. Согласно утверждению 17.2 X П В ^ 0. Если X П В = {^i, ^2, ..., ej, то
X = Се^ + Се2 + . . . +
В самом деле, это равенство равносильно равенству
Сег + Се2 + . . . + Сек + X = 0 (= 0). (2)
Левую часть последнего обозначим через D. Так как Cei П В = {^J и вг^ X, то D П В = $. Следовательно, D — независимое множество. С другой стороны, D^L, а каждый элемент пространства L, отличный от пустого множества, является зависимым множеством. Итак, D = = 0, т. е. верно равенство (2). <
Заметим, что условие бинарности в формулировке теоремы 2.1 существенно. Пусть, например, М = (Еп &)— матроид с множеством элементов Е = {1, 2, 3, 4}, базами которого служат все двухэлементные подмножества множества Е. Тогда {1, 2, 3} и {1, 2, 4) — циклы, а {1, 2, 3}+ + И, 2, 4} = {3, 4} — база. Следовательно, множество/) не является в этом случае подпространством.
Возвратимся к бинарным матроидам. Пространство L называется пространством циклов матроида М, а его базис (1)—базисом циклов этого матроида (относительно базы В).
Так как двойственный матроид М* также является бинарным (теорема 20.3), то верна теорема, двойственная предыдущей, и возникают понятия пространства коциклов и базиса коциклов. Именно, пусть L* — подмножество булеана 2Е, элементами которого служат все коциклы матроида М, объединения попарно непересекаю- щихся коциклов и пустое множество. Фиксируем в М базу В. Тогда для любого элемента е ^ В множество 6 В. А_. Емеличев и др. 81
В W е содержит ровно один коцикл С*. В этих обозначениях верно
Следствие 21.2. Множество L* является подпространством пространства 2Е размерности p(Af). Множество коциклов
{Се*: ееВ\,(3)
где В — фиксированная база матроида М, служит базисом этого пространства.
Базисы циклов (1) и коциклов (3) легко определяются друг через друга. Верна следующая
Теорема 21.3. Пусть f^B, [Се^ Се^ ..., Се^\ — множество всех циклов из базиса (1), содержащих j, X, = {/, eb е2, ..., ej. Тогда X, = С*.
Согласно следствию 16.7 множество В U / содержит ровно один коцикл. Очевидно, что Xf^BUf. Поэтому достаточно доказать, что Х} является коциклом. По теореме 17.3 множество Xt— коцикл, если выполняются следующие условия:
IX/ А СЧ.тМ для каждого цикла С;
Х# — минимальное непустое множество, удовлетворяющее условию 1).
Пусть С — цикл, В — С ^Хь Так как (1)—базис пространства циклов, то С однозначно представляется в виде суммы циклов из (1):
С = С^ + . . . + Сец.(4)
Если / е С, то / принадлежит хотя бы одному слагаемому в (4), например, f^Cei- Тогда
eit^Xh ^e^cD, |Z>j>l.
Пусть / ^ С. Тогда либо / не входит ни в одно из слагаемых (4), либо / входит по меньшей мере в два из этих слагаемых. В первом случае D = 0. Во втором пусть, например,
f ^Cei , f е Се . .
Тогда {^ е^ ^D, |Л1 > 1. Тем самым доказано, что выполняется условие 1).
Пусть теперь Y<^Xb Если J^Y, то Y содержится в кобазе и потому конезависимо. Согласно лемме 17.4 существует такой цикл С, что 1УАС1 = 1. Если же /^У, 82
но, например, et^ У, то | У П С^ | = 1. Тем самым доказано, что Х} — коцикл. <
Ниже окажется полезным следующее
Утверждение 21.4. Если ф— изоморфизм бинарного матроида М\ на матроид М^ а (1)—базис циклов матроида М\ относительно базы В, то система
^(СеУ. е^В}(5)
является базисом циклов матроида М2 относительно базы ф(В).
По определению изоморфизма матроидов множество ф(5) является базой матроида М2. Для любого цикла С матроида М\ множество ф (С)— цикл матроида М2. Если теперь е — элемент матроида М\ и еФВ, то ф(е)^ф(В). Согласно следствию 17.7 множество 5 = ф(5)иф(е) содержит ровно один цикл. Этот цикл совпадает с ф(Се), поскольку Се ^ В U е и, следовательно, ф(Се) S. Итак, доказано, что (5)—базис циклов матроида М2 относительно базы Ц)(Ву <
Теперь обратимся к графам. Графический и, следовательно, кографический матроиды бинарны, о чем свидетельствует
Теорема 21.5. Для любого непустого графа G матрица инцидентности I = I(G) является представлением циклического матроида M(G) над Z2.
Для произвольного подмножества ребер X обозначим через ЦХ) подматрицу матрицы 7, составленную из столбцов, соответствующих ребрам, входящим в X. Достаточно доказать, что rank7(X)<IXl тогда и только тогда, когда подграф G(Xy порожденный множеством ребер X, содержит цикл. Но ЦХ)—матрица инцидентности графа G(Xy При изменении нумерации вершин или ребер ранг этой матрицы, понятно, не изменится. Пусть граф G(X) содержит цикл С. Перенумеруем вершины и ребра графа G(X') так, чтобы элементы, входящие в цикл С, имели меньшие номера. Теперь матрица ЦХ') принимает вид
А *
О *]’
где А — матрица инцидентности графа С. В каждом столбце матрицы А ровно две единицы, поэтому сумма ее строк по модулю 2 равна нулевой строке. Следовательно, det Л = 0, и столбцы матрицы А, а вместе с ними и столбцы матрицы ЦХ) линейно зависимы.
Пусть теперь граф G(X)—ациклический. Очевидно, что достаточно считать его деревом. Снова изменим нумерацию вершин и ребер графа G(X). Одной из концевых вершин дерева G(X) и инцидентному ей ребру припишем номер 1. Теперь обратимся к дереву G(X)—1. Одной из его концевых вершин и инцидентному ей ребру припишем номер 2 и т. д. В этой нумерации матрица инцидентности примет вид
-10 ... 0”
/w =/w =1 ... 0
/w =
/w =
* ... 1
* * ... *
ранг ее равен числу столбцов. <
Обратимся еще раз к представлениям циклического матроида M(G) над Z2. Пусть EG = E и ф: Е-^Z^— представление. Поскольку длина цикла в графе не менее трех, то все двухэлементные множества ребер независимы. В этой ситуации, как отмечалось выше, представление ф индуцирует изоморфизм матроидов. Поэтому из предыдущей теоремы непосредственно вытекает
Следствие 21.6. Циклический матроид M(G) непустого графа G изоморфен векторному матроиду над Z2, порожденному столбцами матрицы инцидентности 1(G).
К бинарному матроиду M(G) применима также теорема 21.1, т. е. верно
Следствие 21.7. Все циклы графа G, объединения циклов, не имеющих общих ребер, и пустое множество относительно сложения по модулю 2 и умножения на числа по формулам 1 • X = X, 0 • X = 0 составляют линейное пространство над Z2 — пространство циклов графа G, размерность которого равна циклическому рангу v(G). Аналогичное утверждение верно для разрезов.
Базисы циклов и коциклов матроида M(G) называются базисами циклов и, соответственно, разрезов графа G.
Следствие 21.8. Каждый цикл графа однозначно представляется в виде суммы по модулю 2 циклов, взятых из какого-либо фиксированного базиса циклов. Аналогичное утверждение верно для разрезов.
Следствие 21.9. Любой граф G содержит не более чем 2V(G) — 1 циклов.
Как правило, число циклов в графе значительно меньше, чем число, указанное в предыдущем следствии. Од- 84
нако приведенная оценка точна в том смысле, что существуют графы, число циклов в которых равно 2V(G) — 1. Таковы, например, все леса и граф, изображенный на рис. 21.1.
Следствие 21.10. Любой граф имеет не более чем 2v*(G) — I разрезов.
Следствие 21.11. Пусть G — граф, Н — его остов, / е ЕН, {Се1? Се^ . . • 1 Се^ — множество всех циклов,
Рис. 21.1Рис. 21.1
Рис. 21.1
Рис. 21.1
входящих в базис циклов относительно Н и содержащих f, С* = (^ ev е2, ..., еА). Тогда (С*: / е ЕН} — базис разре- зов графа G относительно остова Н.
Рассмотрим примеры.
Пусть G— граф, изображенный на рис. 21.2. Множество ребер {1, 2, 6, 8} порождает в G остов. Базис циклов относительно этого остова: 63 = 6(2, 3, 8), С^ = = 6(1, 2, 4), 65 = 6(1, 5, 6), 67 = 6(2, 1, 6, 7), С9 = = 6(6, 1, 2, 8, 9). Каждый другой цикл однозначно разлагается в сумму каких-либо из этих пяти. Например, G(3, 5, 9) = С3 + С5 + С9. Множество {С*, С*, Се, С*|, где С* = {1, 4, 5, 7, 9}, С* = {2, 3, 4, 7, 9}, С*6 = {6, 5, 7, 9}, 6* = {8, 3, 9}, является базисом разрезов графа G.
Найдем базис циклов графа G, заданного своей матрицей инцидентности I. Пусть
"1 0 1 00 О'1101000 10 0 10000111
_0 О 1 0 О 1_
Этот граф изображен на рис. 21.3, однако при отыскании базиса циклов рисунок использоваться не будет.
Рис. 21.3Рис. 21.3В силу следствия 21.6 базы системы столбцов этой матрицы соответствуют ребрам остовов, а минимальные линейно зависимые системы столбцов — простым циклам.
Рис. 21.3
Рис. 21.3
Используем два следующих утверждения из линейной алгебры:
Пусть А' — матрица, полученная из матрицы А в результате элементарных преобразований строк. Если какой-либо столбец матрицы А линейно выражается через другие ее столбцы, то точно такое же соотношение (с теми же коэффициентами и номерами столбцов) верно и для столбцов матрицы А'.
Всякую невырожденную матрицу с помощью элементарных преобразований строк можно превратить в единичную.
(по модулю 2) поочередно ко второй строке первую, к третьей — вторую, к пятой — третью и четвертую, по-(по модулю 2) поочередно ко второй строке первую, к третьей — вторую, к пятой — третью и четвертую, по-Превратим базисную подматрицу матрицы I (т. е. подматрицу максимального порядка с отличным от пуля определителем) в единичную, после чего совсем просто будет найти в графе G остов и базис циклов. Прибавляя
(по модулю 2) поочередно ко второй строке первую, к третьей — вторую, к пятой — третью и четвертую, по-
(по модулю 2) поочередно ко второй строке первую, к третьей — вторую, к пятой — третью и четвертую, по-
Итак, rank / = 4, первые четыре столбца составляют базу системы столбцов. Соответствующие им ребра е\, е^, е^, е4 порождают в графе G остов.
Далее к первой строке прибавляем третью п четвер
третьей — четвертую: г! 0 0 0 0 1-010010 0 0 1 0 0 1 * 000111третьей — четвертую: г! 0 0 0 0 1-010010 0 0 1 0 0 1 * 000111тую, ко второй — третью, г! 0 1 О О О 011100 001110 0 0 0 1 1 1
третьей — четвертую: г! 0 0 0 0 1-
010010 0 0 1 0 0 1 * 000111
третьей — четвертую: г! 0 0 0 0 1-
010010 0 0 1 0 0 1 * 000111
Линейные соотношения между столбцами последней матрицы те же, что и между столбцами исходной матрицы L Если Ак (к = 1, 6)—столбцы матрицы 7, то Аз = Аг + А4, Лб = Л1+Лз + Л4, столбцы А2, А^ А5 линейно зависимы над Z2, причем это — единственная минимальная линейно зависимая система столбцов, содержащаяся в {Ai, А2, Аз, А^ Ask Аналогично {Ai, Аз, А4, А б) — единственная минимальная линейно зависимая система столбцов, содержащаяся в {'Л 1, Л2, Лз, А4, Лб}. Ребра графа G, соответствующие столбцам матрицы 7, входящим в эти минимальные линейно зависимые системы, образуют в G простые циклы, составляющие базис системы циклов:
Се5 = G^e^ е^ еьк Се^ = ^(^1? ^3’ ^4» ^в)
(см. рис. 21.3).
§ 22. Трансверсали
Пусть Е — конечное непустое множество, a 5 = = (5i, 52,..., 5m)— m-членное семейство его подмножеств, т. е. последовательность длины т, составленная из непустых (не обязательно различных) подмножеств множества Е. Подмножество Т ^Е называется трансверсалью (или системой различных представителей) семейства 5, если существует биективное отображение ср: Т-*{1,2,... ..., ml, при котором для каждого t^T выполняется условие ^5ф(/). Это означает, другими словами, что существует такая нумерация элементов множества Т, при которой ti^Si (t = l, m).
Подмножество Т ^Е называется частичной трансверсалью семейства S, если существует инъективное отображение ф: Т->{1, 2, ..., т}, при котором для каждого t^T выполняется условие ^5ф(/). Тем самым, частичные трансверсали семейства 5 — это трансверсали его подсемейств.
Вопрос о существовании трансверсали часто возникает на практике. В шуточной форме его можно сформулировать как следующую задачу о свадьбах: известно некоторое множество юношей, каждый из которых знаком с несколькими девушками. При каких условиях можно женить юношей так, чтобы каждый из них женился на знакомой ему девушке?
Например, если есть четверо юношей х^ Х2, х3, Х4 и пять девушек z/i, у 2, уз, У4, у 5, а отношение знакомства между ними задается таблицей 22.1, то возможно сле-
дующее решение: яд женится па у4, #2 —на yi, #з —на уз, ^4 —на уг. Если теперь Е = {yi, уг, уз, У4, Уб), то рассмотренной таблице соответствует семейство подмножеств S = (Si, 82, S3, AS4) множества Е, где Si — множество девушек, с которыми знаком юноша х^, т. е. Si = (у 1, у4, уз), S2 = {yi}, S3 = {y2, уз, У4>, S4 = (y2, У4}. Задача о свадьбах имеет решение, когда для соответствующего семейст-
Таблица 22.1
Юноша
Девушки, с которыми знаком юноша
^1
У1, У 4, Уь
^2
У1
У^ Уз, У4
^4
У^ У4
ва подмножеств S существует трансверсаль. В нашей си
туации трансверсалью служит, например, множество Vyi, Уг, Уз, У^, при этом y4GSt, yi^S2, уз^Зз, y2eSA.
Трансверсали семейства множеств может и не существовать. Пусть, например, S = (Si, S2, S3, S4), Si = {1, 2}, 4
S2 = (l, 2, 3}, S3 = (2, 3}, S4 = (l, 3}. Тогда U й = 3,
а в трансверсали должно быть четыре элемента. Следо
вательно, трансверсали нет.
Задача о существовании трансверсали решена Ф. Холлом.
Теорема Холла (1935 г.). Пусть Е — непустое конечное множество, S = (Si, S2, ..., Sm)—семейство его подмножеств. Для существования трансверсали семейства S необходимо и достаточно, чтобы для каждого k = 1, тп объединение S^ U S^2 U • • • U ^гк любых к подмножеств St содержало не менее к различных элементов.
Теорема Холла является отправным моментом теории трднсверсалей. Известно несколько доказательств этой теоремы. Ниже приводится доказательство более общей теоремы, принадлежащей Р. Радо.
Часто возникает ситуация, когда вместе с семейством подмножеств S па множестве Е определена структура матроида М, и нужно решить вопрос о существовании трансверсали семейства S, независимой относительно матроида М, т. е. являющейся независимым подмножеством
элементов этого матроида. На этот вопрос отвечает следующая
Теорема Радо (1942 г.). Пусть М — матроид с множеством элементов Е, 5 = (51, 5г, ..., 8 m)—семейство непустых подмножеств множества Е. Для существования трансверсали семейства 8, независимой относительно матроида М, необходимо и достаточно, чтобы для каждого к = 1, тп объединение любых к подмножеств St имело ранг, не меньший чем к.
Теоремы Холла — частный случай теоремы Радо. Действительно, если М — свободный матроид, то ранг любого подмножества Х^Е равен |Х|.
> Доказательство теоремы Радо. Необходимость условия теоремы очевидна; если существует независимая трансверсаль семейства 8, то ее пересечение с объединением любых к подмножеств St содержит fc-элс- ментное независимое подмножество. Следовательно, ранг этого объединения не менее к.
Достаточность. Вначале докажем, что при выполнении условий теоремы ни одно из множеств 8^ не может содержать более одного такого элемента, удаление которого нарушает условие теоремы. Пусть, напротив, множество 51 содержит два таких элемента х и у. Это значит, что существуют такие множества индексов Л и В в {2, ..., пЛ, что
Pf и ^ и (ЗА^^И, \геА/
р(.ув^ и <5А<|51,
где р — ранговая функция матроида М. Положив и ^ U №М = С, и ^ U М = D, геА1GB
имеем
|Л| + 151 >р(С) + р(Д)>р(СиД) + р(СПД) (см. аксиому р.З). Но
С U D = U Si, С П D г U S^leAVjBLiгеАПВ
Поэтому
AI + IS|>pf и 5Д + рГ и 5?.
UeAUBUi / и^АПВ )
В то же время по условию теоремы
р( и 5а^|Ли5| + 1,
ViGAUBUl /
pf иП 5|.
ХгеАПВ /
Итак, |Л | + \В\ ^ 1/1 U 5| + 1 + М П 51 - U1 + 151 + 1. Последнее противоречие доказывает нужное утверждение.
Пусть теперь какое-либо из подмножеств St содержит более одного элемента. Тогда из St можно удалить некоторый элемент, не нарушив справедливости условия теоремы. Итерируя этот процесс, придем к ситуации, в которой I5J = 1 (г = 1, пг) и выполняются условия теоремы. Но тогда все St попарно различны и их объединение и есть нужная трансверсаль. <1
Понятие трансверсали можно обобщить следующим образом. Пусть Е — конечное непустое множество, S = = (Si, S^ . . ., S'™) — семейство его непустых подмножеств, (&1, к^ ..., к™)—последовательность целых положительных чисел. Семейство Р=(РЬ Р^ ..., Рт) подмножеств из Е назовем (к^ к^ ..., кт)-трансверсалью семейства 5, если
P^St, i==l, пг;
|Pj = kt, г = 1, пг;
Pt ?\ Pj = 0 при г j.
Очевидно, что введенная выше трансверсаль является (1, ..., 1)-трансверсалью. Поэтому задача о свадьбах (о существовании трансверсали) естественным образом обобщается теперь в виде задачи о гаремах. Решение этой задачи, т. е. условия существования (к\, к^,.. .,kmV трансверсали, легко получить непосредственно из теоремы Холла. Заменим семейство S другим семейством
S' — (S1 1k 1 SО1) S22? • • • 1 S^ , . . .
у 11777 ис^ ? 2 17 Да"7 ак^Д
• • • 7 S^, Sm2, . . . , ^mA^),
где Sij = Si (i = l, m, j = 1, kt, ^ = 1, m). Очевидно, что семейство S имеет (k\, k^ ..., km)-трансверсаль тогда и только тогда, когда существует трансверсаль семейства S'. Таким образом, верно
Следствие 22.1. Для существования (к^ к^..., кД)- трансверсали семейства S = (S\, S^ ..., Sm) необходимо и достаточно, чтобы для любого /г{1, 2, ..., пг} выполнялось неравенство
|и^|>2^.(1)
I iez I гет
Аналогично из теоремы Радо можно получить критерий существования независимой (ki, к^ ..., кт)-трансверсали.
Йз теоремы Радо вытекает также следующий критерий существования независимой частичной трансверсали фиксированной мощности.
Следствие 22.2. В обозначениях теоремы Радо семейство S имеет независимую частичную трансверсаль мощности l^m тогда и только тогда, когда для каждого k = 1, m ранг объединения любых к подмножеств St не меньше, чем к + t — m.
> Пусть D — такое множество, что \D\ = m — t и I) П Е = 0. Построим новый матроид М' на множестве Е U D, объявив его базами все подмножества В U D, где В — база матропда М (очевидно, что аксиомы баз действительно выполняются), и рассмотрим семейство
ТТту T^S^D, i = l, т.
Очевидно, что исходное семейство S имеет независимую частичную трансверсаль мощности t тогда и только тогда, когда семейство Т имеет трансверсаль, независимую относительно матроида М'. Согласно предыдущему следствию, для существования такой трансверсали необходимо и достаточно, чтобы объединение любых к подмножеств Ti содержало независимое относительно матропда М' подмножество мощности к. По последнее условие равносильно условию следствия. <
Взяв в качестве М свободный матроид, получим
Следствие 22.3. Семейство подмножеств S имеет частичную трансверсаль мощности t^m тогда и только тогда, когда для каждого к = 1, m объединение любых к подмножеств Si имеет мощность не меньше, чем k-V t — тп.
Произвольное семейство S = (Si, S2, ..., Sm) непустых подмножеств множества Е определяет на Е структуру матроида, независимыми множествами которого являются частичные трансверсали этого семейства и пустое множество. Об этом свидетельствует следующая
Теорема 22.4 (Дж. Эдмондс, Д. Фалкерсон, 1965 г.). Множество 3, элементами которого служат все частичные трансверсали семейства подмножеств S и пустое множество, удовлетворяет аксиомам независимости 1.1 и 1.2.
> В доказательстве нуждается только справедливость условия 1.2. Произвольную частичную трансверсаль X = = 1x1, ^2, ..., ^1 семейства S, представляющую подсемейство (S^, S^ .. ., S^, т. е. такую, что Хр^ Stp, запишем в виде
(2)91(2)91{(^Ь М> (^2, ?*2), • (Xk, ik)^.
(2)
91
(2)
91
Пусть
<(У1, /1), (У2, /2), • • Uh, jl^(3)
— еще одна частичная трансверсаль и I > к. Нужно доказать существование среди yi, у2, ..., yt такого у, что XU у^З.
Если в (3) есть такая пара (у, ]), что у не совпадает пи с одним из х в (2), а / — пи с одним из I, то, очевидно, что X U у 3.
Пусть теперь в (3) нет такой пары. Но так как 1>к, то существует индекс 7, пусть это 7*1, отличный от всех индексов i в (2). При этом у\ совпадает с каким-либо из х, например, у\ = хь Теперь можно написать
{(a;i, /1), (х2, Z2), ..., (^ ik)),
т. е. трансверсаль X представляет и подсемейство (5^ t Si2i •••Аку при этом х\ = у\. Среди индексов 7*2, ..., ji существует индекс, отличный от каждого /2, ..., 1^ пусть это будет 7'2. Тогда ^2 совпадает с каким-либо из x2l.. .,^h, например, у2 = х2. Теперь имеем
{(^ь /О. (^2, 7'2)7 (^з, 1з), ..., <3^ ^)L
^1=УЬ Х2 = у2.
Итерируя этот процесс, получим х< = уг (/ = 1, к^ (с точностью до перенумерации элементов уг). Следовательно, X - ^У\^ Z/2, ..уА, х и yh+x ^3. <
Итак, (Е, 3)—матроид с набором независимых множеств 3. Этот матроид называется матроидом трансверсалей семейства S. Матроид, изоморфный матроиду трансверсалей какого-либо семейства подмножеств, называется трансверсальным.
В важном частном случае, когда исходное семейство
S является разбиением множества Е, т. е. U5i = £', г
и подмножества Si попарно не пересекаются, матроид трансверсалей семейства S называется матроидом разбиения S. Очевидно, что подмножество Х^Е независимо относительно матроида разбиения S тогда и только тогда, когда IX П Sj 1 (Z = 1, т).
Жадный алгоритм
Рассмотрим следующую задачу дискретной оптимизации. Пусть Е — непустое конечное множество, w. Е
R+ — функция, ставящая в соответствие каждому эле-
мепту е этого множества неотрицательное действительное число w(e) — вес элемента е. Для Х^Е вес w(X) определим как сумму весов всех элементов множества X:
хеХ
Пусть, далее, 3 — некоторый набор подмножеств множества Е, т. е. ^ ^ 2Е. Задача состоит в выборе в 3 подмножества максимального веса.
Оказывается, что в случае, когда 3 является набором независимых множеств матроида, эта оптимизационная задача решается с помощью следующего простого алгоритма.
Жадный (градиентный) алгоритм.
1-й шаг. Находим такой элемент ei е Е, что
zr(^1) = max w(ey{е}^3
к-и шаг (к >2). Находим такой элемент ек^Е, что w(^e^ = max w^ey
е^ег,г=1,к—1
Если такого элемента нет, то конец.
Примером жадного алгоритма служит алгоритм Краскала нахождения остова максимального веса во взвешенном графе (см. § 15).
Очевидно, что выходом жадного алгоритма всегда является элемент множества 3, максимальный относительно включения. Однако он может оказаться не максимального веса. Чтобы убедиться в этом, рассмотрим пример: £ = {1, 2, 3), 3 = {{!}, {1, 2), {2, 3}},= w^ = 2,
w(3) = 4. Наш алгоритм найдет множество {1, 2}, хотя множество {2, 3} имеет больший вес.
Возникает вопрос: когда же можно гарантировать получение подмножества максимального веса, решая задачу с помощью жадного алгоритма? На этот вопрос отвечает следующая
Теорема 23.1. Если 3 — набор независимых множеств матроида М — ^Е, 3^ элементам которого приписаны неотрицательные веса, то жадный алгоритм находит в 3 множество максимального веса.
> Очевидно, что жадный алгоритм строит базу; пусть это база
Во = {eh е2, ..., ер), w(ei) ^ w(е^ > ... > w(ep).
Остается показать, что вес базы До максимален. Пусть это не так. Среди всех баз максимального веса выберем такую базу S, которая имеет наибольшее число общих элементов с Во. Так как B^Bq и |В| = |В0|, то BqXB^ =^$. Выберем в Во\В элемент Ct с минимальным номером I. Множество Ди ct содержит цикл С. Так как база матроида циклов не содержит, то существует е^С\В^. Пусть В' = (B\e)U Ci. Множество В' не содержит циклов, поскольку С — единственный цикл в В U et (следствие 16.7). Кроме того, |В'| = |В|. Следовательно, В' является базой. Далее имеем
В' А Во = (В А Во) U е^ \В' А Во! > |В А Во1.
Поэтому w^B'^w^Y (1)
иное противоречило бы выбору базы В.
С другой стороны, w (Bz) = w(В) — w(е) + w(е^, поэтому из (1) вытекает, что w(e)> w^Y Но последнее неравенство неверно, поскольку на Z-м шаге алгоритм выбрал е^ а не е. Полученное противоречие доказывает теорему. <1
Из приведенного выше доказательства вытекает, что жадный алгоритм можно трактовать как следующую процедуру получения базы максимального веса в матроиде: выбираем элементы матроида в порядке невозрастания весов, отвергая лишь те элементы, добавление которых нарушает условие независимости получаемых множеств.
Аналогично работает жадный алгоритм и для получения базы минимального веса, только при этом элементы матроида выбираются в порядке неубывания весов.
Заметим, что приведенное здесь доказательство предыдущей теоремы буквально то же, что и доказательство теоремы 15.1, обосновывающей алгоритм Краскала.
Оказывается, верна теорема, в некотором смысле обратная предыдущей.
Теорема 23.2. Пусть F — набор подмножеств конечного множества Е, обладающий тем свойством, что если X^F, У cz X, то YeF. Тогда, если F не является набором независимых множеств матроида, то применение к F жадного алгоритма не гарантирует получения подмножества максимального веса.
> Пусть для набора F не выполняется аксиома 1.2, т. е. в F есть такие X = {xi, хг, ..., ^л+Д, Y = ly\, у2, ... ..., yhY что*не существует х^ е Х\у^ для которого У U ^ ^ ^F. Покажем, что в этом случае можно так подобрать
веса, что жадный алгоритм построит множество не максимального веса.
Пусть w(,yt)=l (t=l, к), iv(xi}==t, если Xt^X\Y, где 0<£< 1, н;(е) = 0, если e^EX^XUY). Тогда жадный алгоритм построит сперва множество Y. Так как отсутствует такой элемент х^ что Y U Xi ^ F, то далее алгоритм выберет элементы из E\(XU У) и закончит работу, получив в результате множество Хо, вес которого равен весу множества Y.
Пусть |ХАУ|=р. Тогда w(X) = p — (к + 1 — p^t. Поэтому, учитывая, что ш(Хо) = ^, можно выбрать 0<£<1 таким, чтобы было w^X^<w^XY Тем самым жадный алгоритм не находит в F множества максимального веса. <
Объединение и пересечение матроидов
Пусть Mi и М2 — два матроида на множестве элементов Е с наборами независимых множеств 3\ и З2 соответственно. Положим
5< = {ХиУ: Х^Зх, УеМ
Как показывает прямая проверка, множество 3 удовлетворяет аксиомам независимости. Следовательно, (Е, 3)— матроид, для которого 3 служит набором независимых множеств. Этот матроид называется объединением матроидов М\ и М2 и обозначается через М\ U М2.
Очевидно, что операция объединения матроидов ассоциативна, и можно говорить об объединении нескольких матроидов.
Теорема 24.1. Пусть Шр. г = 1, к} — семейство матроидов, определенных на одном и том же множестве Е, с ранговыми функциями р^ соответственно, к>1, М— объединение всех этих матроидов. Тогда ранговая функция р матроида М определяется для любого подмножества Х^Е равенством
р (X) = min {Р1 (Л) + Р2 (Л) + ... + pft (Л) + I Х\Л |). (1)
АсХ
смотрим отдельно два случая.
р(Х)=|Х|. В этом случае р(Л)=[Л| для любого подмножества А г X. Очевидно, что
р(Л)<р1(Л)+р2(Л) + ... + рДЛ),
поэтому
Pl(Л) + р2(Л)+ ... + рА(Л) + 1Х\ЛI >р(4) + |Х\Л| =
= 1Л| + |Х\Л| = |Х|=р(Х).
При Л = 0 получаем
Р1(Л) + р2(Л) + ... + рь(Л)+ IXW = |Х| = р(Х).
Равенство (1) доказано.
р(Х)< 1X1. Воспользуемся индукцией по к. Вначале пусть к = 2. По определению р(Х)= |5|, где В — максимальное независимое подмножество в X. Очевидно, что В — (В А Л) U (В А (Х\Л)) для любого А X. Так как
ISA А\<р(Л)<Р1(Л)+р2(Л),
15 А(Х\Л)| < |Х\Л|,
то для любого А ^ X
р(Х)= 151 = |5 А Л| + 15 А (Х\Л) I
<Р1(Л) + р2(Л)+|Х\Л|.(2)
Теперь получим нижнюю оценку для р(Х). Пусть М^ — копия матроида М^ определенная на множестве Е', имеющем пустое пересечение с Е. Более точно: Е = = {е1? е2, ..., en), Er = Vv е^ . . .» ^nL Е А Е' = 0, множество 1^, ..., е^ независимо относительно матроида М2 тогда и только тогда, когда {^» ---’^т} независимо относительно М2. Очевидно, что можно определить матроид на множестве Е U 5', объявив его независимыми множествами объединения X U У, где Х^Е независимо относительно матроида М\, Y^E' — относительно М2. Обозначим этот матроид и его ранговую функцию через Мх U М2 и р' соответственно.
Пусть теперь X — произвольное подмножество множества Е. Положив 5i={^i,^J, S = ^Si*. е^Х^ получим семейство S подмножеств множества Е U Е'. Согласно следствию 22.2 для любого ^ |Х| частичная трансверсаль мощности t семейства 5, независимая относительно матроида Мг (J М2, существует тогда и только тогда, когда для любых г подмножеств Si выполняется условие
(^ и и s^r + t-^xv r = T7jxT. (3) Объединение множеств, заключенное в скобки, предста- 96
вим в виде Л U Л', где Л^Е^ А' ^Е'. Ясно, что р'(Л иЛ') = Р1(Л) + р2(Л)\ 1X1 -г = |Х\Л|, поэтому условие (3) можно переписать так:
Р1(Л) + р2(Л)>^|Х\Л|.(4)
G другой стороны, легко понять, что следующие два утверждения равносильны:
существует частичная трансверсаль мощности t семейства подмножеств 5, независимая относительно матроида Мг и
p(X)>t
В самом деле, пусть Т — такая трансверсаль и пусть, для определенности,
Г = U1? .. ., ^р, 4+ь • * •, ^1, е^Е. е^Е\ ^ Тогда
{^, .. ., ер) е 314+1, -^t\e3
{^р+ь • • *1 еА е 2/ (Л/2) и, следовательно,
{^, еР, вр+ь eJ^^U^),(6)
т. е. выполняется условие (2).
Обратно, если выполняются условия (2) и (6), причем
{^i, ..., вр} s 3 (Л/1),
{^р+ь ..., еЛ е «^(ЛГг),
то множество Г, определяемое условиями (5), является частичной трансверсалью мощности t семейства подмножеств 5, независимой относительно матроида Mt U М^.
Равносильность утверждений 1) и 2) доказана.
Из предыдущего вытекает, что р(Х)^М тогда и только тогда, когда для любого подмножества А множества X верно неравенство (4). Следовательно, при £ = р(Х)+1 в X существует такое подмножество Ло, которое не удовлетворяет неравенству (4), т. е.
PI (Ло) + Р2 (Ло) < Р (X) + 1 - IХ\ЛоI, откуда
р(Х)>Р1(Ло) + р2(Ло)+1Х\Ло1.(7)
Из (7) и (2) вытекает
р(Х) = р1(Ло) + р2(Ло)+1Х\Ло1.
7 в. А. Емеличев и др.97
Последнее равенство в сочетании с неравенством (2) приводит к формуле
р (X) - min (Р1 (Л) + р2 (/1) + | Х\Л I}-
АсХ
Для к = 2 теорема доказана.
Пусть теперь к > 2 и теорема верна для объединения менее чем к матроидов. Если р' — ранговая функция объединения М\ U М2 U ... U Mh_\, то в силу доказанного выше и индуктивного предположения имеем
р (X) = min (р' (5) + рк (5) + | Х\51} =
Вс.Х
= min (min {р^Л) + .. . + рЛ-1(Л) + | 5\Л |) +
ВсХ \ЛсВ
ШВ№\в\У
Поскольку А В и |2ЛЛ | + |Х\В| = |Х\Л |, то рассматриваемый минимум достигается лишь при А = В, и потому получаем
р (X) = min {р2 (Л) + . . . + р^ (Л) + | Х\Л ]}. о АсХ
Ниже через (Е, р) обозначается матроид с множеством элементов Е и ранговой функцией р.
Следствие 24.2. Матроид (Е, р) имеет I попарно иепересекающихся баз тогда и только тогда, когда для любого А^Е верно неравенство
/р(Л)+ |Л1 >WY^
Пусть Ш — объединение I экземпляров матроида /I/, р' — ранговая функция этого объединения. Очевидно, что р' {IM} С l^^M^ и М имеет I попарно непересекаю- щихся баз только при условии р' (IM) = Zp (М). Теперь нужное утверждение непосредственно вытекает из предыдущей теоремы. <
Следствие 24.3. Для представимости множества Е в виде объединения нс более чем I независимых подмножеств матроида М =ДЕ, р) необходимо и достаточно, чтобы любое подмножество Л^Е -удовлетворяло условию
|Л| М(Л).(9)
Множество Е представимо в виде указанного объединения только тогда, когда р'(1М)= \Е\. Согласно теореме 24.1 _последнее равносильно неравенству Ш ^ ^р(Л)+|Л|, в свою очередь равносильному неравенству (9). <
98
Применим два предыдущих следствия к циклическому матроиду M(^G) непустого графа G. В рассматриваемой ситуации независимыми множествами матроида служат множества ребер ациклических подграфов. Объединим каждый такой подграф со всеми не входящими в него вершинами G и будем считать подграф остовным. Для любого остовного подграфа Н верно равенство р(Л/(Я)) = = n(G) — к(Н). Если Н — остовный подграф с множеством ребер А, то неравенства (8) и (9) превращаются в неравенства
m(G) —т^> l(k(H)- k[G))(10)
и, соответственно,
т^Н^Цп^-к^).(11)
Поэтому верны следующие два утверждения.
Следствие 24.4. В непустом графе G имеется I реберно непер ссекающихся остовов тогда и только тогда, когда любой его остовный подграф удовлетворяет неравенству (10).
Следствие 24.5. Для того чтобы непустой граф G был объединением не более чем I своих остовов, не имеющих общих ребер, необходимо и достаточно выполнение условия (11) для любого его остова Н.
Аналогично введенному выше понятию объединения матроидов можно ввести понятие их пересечения. Пусть М;=ЦЕ, 3^ (/ = 1, к)—к матроидов на множестве элементов Е с наборами независимых множеств ^. Пару к
М = (Е, 3^, где^ = П Уv назовем пересечением матрои- 5—i к
дов Мд (]*= 1, к) и обозначим М = П М^.
Разумеется, пересечение матроидов также может оказаться матроидом. Например, пересечение тривиального матроида и любого матроида с тем же множеством элементов есть тривиальный матроид. Но, как правило, пересечение матроидов М не является матроидом с набором независимых множеств 3, поскольку 3 может не удовлетворять аксиоме независимости 1.2. Например, пересечение двух матроидов Мх = (Е, Зх) и М2 = (Е, Зо), где Е = {1, 2, 3, 4), Зх = {^, {II, {2}, {3}, {4}, {1, 3}, {1, 4}, (2, 3}, (2, 4}}, 32-^, {1}, {2}, {3}, {41, {1, 2}, {1, 4}, {2, 3}, {3, 4}}, не есть матроид, так как множество 7*99
3\ П«72 = {0, {!), {2}, {3}, {4}, {1, 4}, {2, 3}} не удовлетворяет условию 1.2.
В § 28 читатель столкнется со следующей задачей:
Задача о пересечении к матроидов. Даны к матроидов на одном и том же множестве элементов Е. Требуется найти в Е наибольшее по числу элементов подмножество, являющееся независимым множеством каждого из заданных матроидов.
Пусть, например, заданы два графа G и Н, причем |EG| = \ЕН\ = т. Пусть ребра этих графов занумерованы с помощью одних п тех же меток: EG = ЕН = {1, 2, ... ..., mV Очевидно, что задача нахождения в Е наибольшего по числу элементов подмножества, не содержащего циклов ни первого, ни второго графов, и есть задача о пересечении двух графических матроидов M(G) и М(Н}.
Задача о пересечении лишь двух матроидов стоит особняком: она эффективно решается методом чередующихся последовательностей (см., например, [25]). Идея этого метода демонстрируется в § 77.
При к > 2 задача о пересечении к матроидов становится очень трудоемкой. Даже для решения ее простейшего варианта — задачи о пересечении трех матроидов разбиений — не найдено, и скорей всего не существует, эффективных алгоритмов.
УПРАЖНЕНИЯ
Пусть М — матроид порядка п. Покажите, что число его баз (п \
а числ0 сго Диклов HG превосходит
/ п \
\VW +lf
Пусть М = ^Е, 3) — матроид с набором независимых множеств ^, 0 ^ А^Е. Пусть, далее, 3' = ^Х^^' X П А = 0}. Докажите, что М' = ^Е, 3'^ — матроид с набором независимых множеств 3'. Матроид М' называется сужением матроида М посредством А.
Пусть в обозначениях предыдущего упражнения 3” = = {X П А: Хе 3}. Докажите, что М" = (Е, 3") — матроид с набором независимых множеств 3". Матроид М" называется ограничением матроида М на А.
Пусть Е— непустое конечное множество, к ^ |£|. Докажите, что множество ^ всех /с-элементпых подмножеств множества Е удовлетворяет аксиомам баз и, следовательно, (Е, ^)— матроид. Его называют однородным матроидом ранга к.
Пусть D — ориентированный граф, и пусть Е и Y — два не- пересекающихся подмножества его вершин. Подмножество А ^ Е называется независимым, если существует |А| вершипно непе- 100
ресекающихся простых орцепей из Л в У. Докажите, что эти независимые множества задают некоторый матроид.
Пусть М — матроид с ранговой функцией р. Докажите, что для любого подмножества Л его элементов
. р*(Л) = |Л| + р(Л)-р(М),
где р* — корапговая функция матроида М.
Для каких к и п существуют однородные матроиды порядка п и ранга к, являющиеся матроидами циклов некоторого графа?
Исследуйте циклические матроиды М^К^ и М(Е313). Докажите, что они не являются кографическими.
Покажите, что с точностью до изоморфизма число матрои- дов порядка п не превосходит 22 .
Охарактеризуйте графы, матроиды циклов и разрезов которых изоморфны.
И. Покажите, что с точностью до изоморфизма существует ровно 4 матроида порядка 2 и 8 матроидов порядка 3. Сколько среди них представимых над каким-либо полем?
Пусть Му и М2 — матроиды на множестве Е с ранговыми функциями pi и р2. Докажите, что М\ и М2 имеют общее независимое множество мощности к тогда и только тогда, когда pi (Л) + + рг(Л) ^ к для любого Л с Е,
Докажите, что каждый однородный матроид является трансверсальным.
Докажите, что трансверсальные матроиды и только они представимы в виде объединений матроидов ранга 1.
Докажите, что циклический матроид М(К^ не является трансверсальным.
Докажите, что матроид, двойственный к трансверсальному, не обязательно является трансверсальным.
Докажите, что с точностью до изоморфизма число трапс- нереальных матроидов порядка п но превосходит 2 .
Необходимо выполнить на ЭВМ множество заданий. Все задания требуют для выполнения одинакового времени. Каждому из заданий присвоен крайний срок выполнения.
Покажите, что набор всех подмножеств заданий, которые можно выполнить с соблюдением сроков выполнения, образует набор независимых подмножеств некоторого матроида.
Допустим, что за каждое не выполненное в срок задание необходимо заплатить штраф, величина которого одинакова для всех заданий. В каком порядке следует выполнять задания, чтобы общий штраф был минимальным?
. Пусть М — матроид, элементам е которого приписаны неотрицательные веса w(e). Докажите, что
min max w (б) = max minw(e), XG$eeXУе^* eeY
где ^—-множество баз матроида М, ^* — множество коциклов матроида М.
Глава IV
Независимость и покрытия
Во многих прикладных задачах требуется найти в конечном множестве объектов максимальную систему объектов, попарно не связанных друг с другом, или же выбрать минимальную систему объектов, связанных со всеми другими. Формулировки подобных задач на языке теории графов приводят к понятиям независимости и покрытия.
Независимые множества и покрытия
Множество вершин графа называется независимым (пли внутренне устойчивым), если никакие две вершины из этого множества не смежны. Иными словами, если S ^VG и S независимо в графе G, то порожденный подграф G(S) является пустым. Очевидно, что если при этом S' cz 5, то 8' — также независимое множество.
Независимое множество называется максимальным, если оно нс является собственным подмножеством некоторого другого независимого множества. Наибольшее по мощности независимое множество называется наибольшим. Ясно, что наибольшее независимое множество является максимальным. Обратное, вообще говоря, неверно.
К отысканию наибольшего независимого множества вершин в графе сводится, например, известная задача о восьми ферзях, которую связывают с именем К. Гаусса.
Задала о восьми ферзях: требуется так расставить па шахматной доске наибольшее число ферзей, чтобы они по атаковали друг друга.
Таких ферзей, очевидно, может быть не более восьми, так как никакие два из них нс должны находиться на одной вертикали или горизонтали. Рассмотрим граф, вершины которого соответствуют клеткам доски, а ребра — парам клеток, лежащих на одной вертикали, горизонтали или диагонали. Ясно, что требуемой в задаче расстановке ферзей соответствует наибольшее независимое множество 102
в этом графе. Одно из решений задачи о восьми ферзях показано на рис. 25.1.
Число вершин в наибольшем независимом множестве графа G называется числом независимости ^числом внутренней устойчивости, неплотностью) этого графа и обозначается через ao(G).
Например, для графа G, изображенного па рис. 25.2, cto(G) = 4, множества вершин {1, 2, 3, 7), {1, 2, 3, 8}, {2, 3, 5, 7} и {2, 3, 5, 8} являются наибольшими независимыми, а {4, 7} — максимальное независимое множество, не являющееся наибольшим.
Содержанием большинства задач, связанных с понятием независимости, являются определение числа неза
висимости и отыскание наибольшего независимого множества. Эти задачи, как правило, очень трудны, и потому для их решения оказываются полезными оценки числа независимости.
Теорема 25.1. Для любого графа G верно неравенство
(1)(1)®o(G)> X (1 + degy)-1- va VG
(1)
(1)
> Если G— полный граф, то в (1) имеет место равенство. Поэтому не теряя общности будем считать, что G^KU.
Воспользуемся индукцией по числу вершин графа G. В справедливости неравенства (1) для графов порядка 72 2 легко убедиться непосредственно. Пусть теперь \VG\=n>2 и для всех графов порядка, меньшего чем п, неравенство (1) верно. Выберем в графе G вершину х минимальной степени. Так как G^K^, то х U N(x)^ VG. Пусть G' = G — (х U N(x)). Согласно индуктивному пред-
положению для графа G' верно неравенство, аналогичное неравенству (1). Пусть М'— наибольшее независимое множество вершин графа G'. Ясно, что множество М = = М' U х независимо в графе G, и для доказательства теоремы достаточно показать, что
5г = 2 (1 + degc, 52 = 2 (1 + deg^ z;)1 + 1.
veVGv^VG'
Обозначим через Q множество вершин графа G', каждая из которых смежна в G с какой-либо вершиной из N^x) (см. рис. 25.3). Очевидно, что слагаемые в 51, соответствующие вершинам и из Q, меньше аналогичных слагаемых в 5г, а слагаемые в 51 и 5г, соответствующие вершинам и из VG'XQ, совпадают. Стало быть, достаточно показать, что 1р
1 + degGх
+ 2 (1 + degQi;)”^ 1- vs^x)
(2)
Согласно выбору вершины х для любой вершины I/ из N(x") имеем degG х ^ degG у.
Поэтому левая часть неравенства (2) является суммой (1 + degG х^ слагаемых, не превосходящих (1 + degG х^-1 и, следовательно, не превосходит 1. <
ПустьПустьd = ^ 2 deg^11 dgVGd = ^ 2 deg^11 dgVG— среднее арифметическое степеней графа G.
Пусть
Пусть
d = ^ 2 deg^
11 dgVG
d = ^ 2 deg^
11 dgVG
пп> Известно неравенство Коши -- Буняковского:> Известно неравенство Коши -- Буняковского:Следствие 25.2. Для любого графа G порядка п верно неравенство
п
п
> Известно неравенство Коши -- Буняковского:
> Известно неравенство Коши -- Буняковского:
для любых щ, bi ^ 0. Полагая
tti = 1 + deg ?;г-, Ьг = (1 + deg v^"^ Vi^VG,
получим
2 (1 + deg o') ( 2 (1 + deg р)-1) > /ЛceVG/ W'VG/
Последнее неравенство вместе с неравенством (1) приводит к соотношениям
“°(G) >Sg^ + ^^ 2 « + dog О 1 + ^ <
veVG
По существу, доказательство теоремы 25.1 дает простой алгоритм построения независимого множества М такого, что
\М\> 2 (1 + deg у)-1.
esVG
Это множество строится следующим образом: каждый раз в графе выбирается вершина минимальной степени и заносится в множество М. Затем эта вершина и все смежные с ней удаляются из графа и процесс продолжается.
Как уже отмечалось, задача отыскания наибольшего независимого множества вершин в графе очень трудна для алгоритмического решения. Поэтому множество М, построенное описанным выше способом, иногда принимают в качестве ее приближенного решения. Что можно сказать о точности такого решения, или, иначе говоря, как далеко величина 2 (l + degp)”1 может отстоять от
DeVG
a^{G}^ Ниже показано, что отношение первой из этих величин ко второй может быть сколь угодно малым числом, т. с. такое решение может оказаться плохим.
Рассмотрим граф G = Gmi для которого множества Pi, Р2, Рз, {^}, (^ образуют разбиение VG^ |Pj==zn б
(^ = 1, 3), EG = U Ег, Ex-W x^Vx\ E2-Uy: x^VXl y^V^X Es-Uy^y^ y^yj, E^ux-.xeVxUM E^ = Uy. x e P2, у G V^ x^ у} (см. рис. 25.4, где изображен граф G^). Легко видеть, что при любом т ^ 2 верно равенство a^Gm) = 2т. В то же время мощность множества М в графе Gm равна трем.
Пусть снова G— произвольный граф, A = A(G)—максимум степеней его вершин. Тогда из теоремы 25.1 очевидно следует неравенство
(3)105(3)105a0(G)>n/(A + l), n=lGl,
(3)
105
(3)
105
которое, впрочем, нетрудно получить непосредственно. Теорема Брукса (см. § 54) дает более точную оценку: если G — связный граф, А Д (G) > 3 и G ¥= Кп, то
(4)(4)ao(G)> п/Д.
(4)
(4)
Эта оценка предпочтительнее оценки (1) в случае, когда граф G — регулярный или близкий к регулярному. Так,
если G — кубический граф, то из неравенства (4) получаем сео(^)^и/3, в то время как (1) дает только ао(С)^ > тг/4. Легко, однако, привести примеры, в которых более точна оценка (1).
Дальнейшее уточнение нижней оценки числа ao(G) связано с использованием, помимо степенной последовательности, дополнительной информации о графе и сужением класса рассматриваемых графов. Следующая теорема, приводимая без доказательства, усиливает оценки (1) и (3) для рассматриваемых в ней классов графов.
Теорема 25.3 (Д. Григгс, 1983 г.). Пусть G— связный граф порядка ^ ^ 3, не содержащий треугольников и не являющийся цепью либо циклом нечетной длины. Тогда
“О (О >WfiF + 2 с + deg О-1, а = А ^. (5) veVG
Приведенное неравенство превращается в равенство тогда и только тогда, когда граф G является циклом четной длины или совпадает с одним из графов, изображенных на рис. 25.5.
Независимое множество вершин графа имеет естественную матричную интерпретацию. Пусть Х = {щ, Р2, ... ..., 14} — независимое множество вершин графа G, Л = = Л (G) — матрица смежности. Множеству X в матрице А соответствует подматрица, элементы которой, расположенные в строках и столбцах, соответствующих элементам
Рис. 25.5Рис. 25.5
Рис. 25.5
Рис. 25.5
множества X, равны нулю. Такое представление позволяет получить верхнюю оценку числа ao(G) с помощью характеристических чисел матрицы А.
Обозначим через р+, р- и р° число положительных, отрицательных и нулевых собственных значений матрицы смежности графа соответственно.
Теорема 25.4 (Д. Цветкович, 1973 г.). Для всякого графа G справедливо неравенство
a0(G)р° + minVp", р+}. (6)
> Пусть ao(G) = Tn. В графе G есть порожденный пустой подграф порядка т. При подходящей нумерации вершин этому подграфу соответствует подматрица А' матрицы А, занимающая строки и столбцы с номерами 1, 2, ..., т, все элементы которой равны нулю. Пусть Xi ^ ^ ^2 ^ ... ^ Хп и щ ^ Ц2 ^ ... ^ Щп — собственные значения матриц А и А' соответственно. Эти числа связаны известными неравенствами Коши
^п — т+г ^ Цг ^ ^г?t 1» ТП
(см. [23]). Поскольку А'— нулевая матрица, то все щ = 0. Отсюда получаем неравенства
0 < X/, Xn-m+г ^ 0, г = 1, т.
Из этих неравенств следует, что р^ + р° ^ т и р" + р° > т, т. е. т ^ р° + min Vp", p+L Неравенство (6) доказано. < Независимые множества вершин графа имеют самые разнообразные применения. Оставляя в стороне голово- ломки и задачи развлекательного характера, рассмотрим одно из применений независимости в теории информа-
ции. Возникающую здесь ситуацию можно упрощенно описать следующим образом. Источник информации посылает сообщения, являющиеся последовательностями сигналов из множества Х = ^х\, х^ ..., хт). При передаче возникают (например, вследствие помех) искажения сигналов. Поэтому на принимающей станции некоторые сигналы могут быть поняты как другие, т. е. перепутаны. Рассмотрим граф G, у которого VG — X и x^x^EG^ если и только если Хг и Xj могут быть перепутаны. Тогда, чтобы получить безошибочный код, т. е. исключить перепутывания, следует пользоваться сигналами из независимого подмножества вершин графа G. Стремление получить максимальное количество таких сигналов приводит к задаче отыскания наибольшего независимого множества вершин в графе G.
Обычно одним сигналом не ограничиваются, а посылают тексты в виде слов. Если все передаваемые слова имеют длину к, то очевидно, что рассматриваемый код содержит по меньшей мере (ao(G))ft слов, различаемых при приеме. Но фактически их может быть больше. Рассмотрим пример, принадлежащий К. Шеннону. Пусть G = Cs — простой цикл длины 5 с вершинами, пронумерованными числами 1, 2, ..., 5 в порядке следования по циклу. Тогда ao(G) = 2, {1, 3) — наибольшее независимое множество вершин графа G. Это множество дает 4 слова (1, 1), (1, 3), (3, 1), (3, 3) длины 2, которые различимы, т. о. при приеме не могут быть приняты одно в качестве другого. Однако 5 слов (1, 1), (2, 3), (3, 5), (4, 2), (5, 4) также различимы. Максимальное число различимых слов удобно описывается с помощью вводимых ниже терминов.
Пусть G — произвольный граф, к — натуральное число. Следующим образом
Рис. 25.6 определим граф Gk — сильную степень графа G. Множество вершин графа Gk совпадает с декартовой степенью (VG)k; несовпадающие вершины (hi, ^2,..., ин) и (щ, v^ ..., ^) смежны в графе 6к тогда и только тогда, когда для каждого индекса г = = 1, к выполняется условие щ = иг или UtV; ^ EG. На рис. 25.6 изображен граф G2, где G = P^.
Очевидно, что если графу G придается тот же смысл, что и в описанной выше задаче из теории информации, то наибольшее число различимых слов длины к равно 108
числу независимости ao(Gft). Очевидно также, что ao(GR)^ >(ao(G))\
К. Шеннон ввел параметр
Vгг 0(G) = sup V
называемый теперь шенноновской емкостью графа G. Из предыдущего следует, что 0(G) > ao(G) и что в общем случае это неравенство не превращается в равенство.
Вычисление шенноновской емкости является очень трудной задачей даже для графов с небольшим числом вершин. Шенноном доказано, что если число кликового покрытия c(G) (см. § 26) удовлетворяет равенству c(G) = ao(G), то 0(G) = ao(G). Таковы, например, все совершенные графы (см. § 61). Однако последнее равенство неверно уже для простейшего графа, не являющегося совершенным, а именно для цикла С5. Л. Ловас доказал, что 0(С5) = Т5. Получение этого частного результата потребовало немалых ухищрений, развитая при этом техника позволяет находить шенноновские емкости ряда других графов.
С понятием независимости в графе связано понятие доминирования. Подмножество V' вершин графа G называется доминирующим (или внешне устойчивым^ если каждая вершина из VGW' смежна с некоторой вершиной из V'. Иначе говоря, каждая вершина графа находится на расстоянии не более 1 от доминирующего множества. Доминирующее множество называется минимальным. если никакое его собственное подмножество не является доминирующим. Доминирующее множество, имеющее наименьшую мощность, называется наименьшим.
Иллюстрацией к только что введенным понятиям может служить следующая занимательная
Задача о пяти ферзях: требуется расставить на шахматной доске наименьшее число ферзей так, чтобы каждая клетка доски была под боем.
Очевидно, что всякой такой расстановке ферзей соответствует наименьшее доминирующее множество в графе, введенном выше в связи с задачей о восьми ферзях.
Одно из решений задачи о пяти ферзях приведено на рис. 25.7.
Подмножество вершин графа, являющееся как независимым, так и доминирующим, называется ядром.
Очевидно, что независимое множество является максимальным (не обязательно наибольшим) тогда и только тогда, когда оно доминирующее. Таким образом, ядра графа — это максимальные независимые множества вершин. С другой стороны, доминирующее множество не обязательно независимо. Например, множества вершин {1, 2, 3, 7}, (1, 2, 3, 8), {2, 3, 5, 7}, {2, 3, 5, 8}, {4, 7} являются ядрами графа, изображенного на рис. 25.2. Наименьшее
Рис. 25.7Рис. 25.7доминирующее множество вершин цепи Р^ состоит из двух смежных вершин.
Рис. 25.7
Рис. 25.7
Понятия доминирующего множества и ядра естественным образом переносятся и на случай ориентированных графов. Получаемые при этом результаты более интересны, чем в случае неориентированных графов (см. §67).
Отыскание в графе наименьшего доминирующего множества явля
ется содержанием многих прикладных задач. Типичная ситуация, в которой возникает подобная задача, такова. Имеется множество населенных пунктов, связанных дорожной сетью. В некоторых из них надо разместить предприятия обслуживания так, чтобы расстояние от каждого из населенных пунктов до какого-либо из предприятий не превосходило заданной величины. Размещение следует выполнить так, чтобы обойтись минимальным количеством предприятий. Если поставить в соответствие населенным пунктам вершины графа, в котором две вершины смежны тогда и только тогда, когда расстояние между соответствующими пунктами не превышает заданной величины, то задача очевидно сводится к построению в графе наименьшего доминирующего множества.
Введем еще одно понятие, связанное с понятием независимости. Будем говорить, что вершина и ребро графа покрывают друг друга, если они инцидентны. Таким образом, ребро е = аЪ покрывает вершины а и Ъ, а каждая из этих вершин покрывает ребро в. Подмножество V' е VG НО
называется покрытием {вершинным покрытием, опорой) графа G, если каждое ребро из EG инцидентно хотя бы одной вершине из V'. Покрытие графа G называется минимальным, если оно не содержит покрытия с меньшим числом вершин, и наименьшим, если число вершин в нем наименьшее среди всех покрытий графа G. Число вершин в наименьшем покрытии графа G называется числом покрытия (или числом вершинного покрытия) графа G и обозначается через ^o(G).
Например, на рис. 25.2 каждое из множеств Xi = {4, 5, 6, 8}, Х2 = {4, 5, 6, 7), Х3 = {1, 2, 3, 5, 6, 8} является покрытием, причем Xi и Х2 — наименьшие покрытия, а Х3 — минимальное покрытие.
Следующая теорема указывает на тесную связь между покрытиями и независимыми множествами графа.
Теорема 25.5. Множество U вершин графа G является {наименьшим, минимальным,) покрытием тогда и только тогда, когда U = VG\U — {наибольшее, максимальное) независимое множество. Следовательно,
a0(G)+p0(G)=lG|.
> По определению множество U независимо тогда и только тогда, когда в графе нет ребра, оба конца которого содержатся в U, т. е. когда хотя бы один из концов каждого ребра принадлежит U. Последнее означает, что U — вершинное покрытие. _
_ Поскольку IU\ + |G| = IGI, то, очевидно, наибольшим U соответствуют наименьшие U и наоборот. <
С помощью этой теоремы все приведенные выше оценки числа ao(G) очевидным образом преобразуются в оценки для ₽o(G).
Клика
Антиподом понятия независимого множества является понятие клики. Подмножество V' вершин графа G называется кликой, если любые две входящие в него вершины смежны, т. е. если порожденный подграф G{V') является полным. Клика называется максимальной, если она не содержится в клике с большим числом вершин, и наибольшей, если число вершин в ней наибольшее среди всех клик. Число вершин в наибольшей клике графа G называется его плотностью (или клиновым числом) и обозначается через ф(С). Как и в случае независимых
множеств, максимальная клика графа может оказаться не наибольшей, и это обстоятельство делает задачи нахождения числа ф(С) и наибольшей клики для произвольного графа G крайне трудными.
Очевидно следующее
Утверждение 26.1. Подмножество вершин графа G является кликой тогда и только тогда, когда оно независимо в дополнительном графе G. Следовательно, ^{G} — = аДСУ
С помощью этого утверждения и приведенных в § 25 оценок числа czo(G) просто получаются соответствующие оценки числа ф(6).
Очевидно, что все клики графа, как и все максимальные клики, составляют покрытие множества вершин.
Наименьшее число клик графа G, покрывающих множество VG, называется числом кликового покрытия и обозначается через
Очевидно, что c(G)^ &o(G) для любого графа G.
О взаимном расположении клик в графе можно судить по свойствам вводимого ниже графа клик.
Граф пересечений максимальных клик графа G назовем графом клик и обозначим через Q(G). Таким образом, вершины графа Q(G) биективно соответствуют максимальным кликам графа G и две вершины смежны тогда и только тогда, когда соответствующие клики пересекаются. Если для некоторого графа И существует такой граф G, что H^Q{G), то Н также называется графом клик.
Очевидно, что граф <?(G) может быть как «большим», так и «малым». Например, Q(On) = Оп, Q(Kn) = Кх, =Q^-P.-x, Q(C^ = CU. Для графа G,
изображенного на рис. 26.1, Q(G) = K4.
Известно, что существуют графы, не являющиеся графами клик. Таков, например, граф, представленный на рис. 26.1. Тем не менее следующая теорема свидетельствует о том, что расположение клик в произвольном графе достаточно произвольно.
Теорема 26.2. Для любого (п, тп)-графа Н существует такой граф G порядка п + пг, что Н изоморфен некоторому порожденному подграфу графа клик Q{G). Если
при этом Я не содержит треугольников, то граф G можно выбрать так, что H~Q^G).
> Пусть
VH = {1, 2, ..., п\ ЕН = {щ, e2l ..., ej.
Описанным ниже способом построим граф G с множеством вершин
VG = {щ, и2, ..., vn, Ei, Е2, ..., Е^.
Если Е^ = |^ai? е^ ..., еаку — множество всех ребер графа Я, инцидентных вершине ц то положим
7г = {щ, Е^, Еа^ . . Еа,к^у
Gi = К( 7г) — полный граф с множеством вершин 7г,
G = G\ U G2 U ... U Gn.
Рассмотрим граф клик Q(G^. Очевидно, что каждое из множеств 7г служит максимальной кликой графа G. Кроме этого, возможны еще максимальные клики, нс содержащие вершин вида Ui. Пусть X— одна из них,
Еа, Ер е X, Еа^ 7Д7;, Ер 7Д7{.(1)
Заметим, что £аЕр ^ EG тогда и только тогда, когда ребра еа и Ср графа Я смежны. Поэтому из (1) следует, что существует вершина к, инцидентная каждому из ребер
Рис. 26.2Рис. 26.2е^ п ер, и потому Еа ^ Vh, Е^ ^ Vh. Таким образом, |Х| >2 и любые две вершины, принадлежащие клике X, вместе входят в какое-либо из множеств Vt. Поскольку клика X не совпадает ни с одним из 7г, то в ней есть три вершины Е«, Ер, Е^ такие, что Еа, Ер е Vh, Eai Е^ е 7г, Ер, Etg 7j и индексы г, ], к попарно различны. Тогда ребра еа, ер,
Рис. 26.2
Рис. 26.2
еч составляют в графе Я треугольник (рис. 26.2). Поскольку в графе Я нет четвертого ребра, смежного с каждым из ребер еа, ер, ет, то Ш = 3, Х = Харт=ТЕа, Ер, Ет}.
Очевидно и обратное: если ребра еа, е^ е^ составляют
треугольник в графе Я, то множество Харт является мак
симальной кликой графа G.
Таким образом, если в Я нет треугольников, то 7()(G) = {7i, 72, ..., 7П}. Если в графе Я есть треугольники, то вершинами графа (?(G) служат все множества 7г и все клики графа G вида Харт.
ИЗИЗ8 В. Л. Емеличев и др.
ИЗ
ИЗ
В любой ситуации обозначим через F подграф графа Q^GY порожденный множеством вершин F = {Fi, V^ ... ..., VJ. Очевидно, что отображение VH-^V, при котором i^V^ является изоморфизмом графов Н и F. Итак, если в Н нет треугольников, то II~Q(GY В противном случае граф Н изоморфен порожденному подграфу F графа Q<GY <
На рис. 26.3 изображен граф G, описанный в доказательстве предыдущей теоремы; в качестве Н взят граф,
Рис. 26.4
представленный на рпс. 26.1, а на рис. 26.4 показан граф клик Q<GY
Следствие 26.3. Всякий граф^ не содержащий тре- уголъиаков, является графом клик.
Иногда полезно понятие матрицы клик. Пусть G — произвольный граф, Q = VQ\, Q^ ..., Qp\ — множество всех его максимальных клик, VG=^U\, V2, ..., ип). Следующим образом определим бинарную р X n-матрицу С — = C(G), строки которой соответствуют кликам из множества Q, а столбцы — вершинам графа G;
О — если U3^Qiiгз (0 в противном случае.
Матрица C(G") называется матрицей клик графа G.
Очевидно, что матрица клик определяется с точностью до перестановок строк и столбцов.
Например, для графа G, изображенного на рис. 26.1,
ri 1 1 О О О'
г /Гх 0 10 110
G W “ 0 110 10е
0 0 10 11
Проблемы клики, изоморфной вложимости и изоморфного подграфа
Пусть G и G' — два графа. Требуется установить, существует ли в графе G' подграф, изоморфный графу G. Эта проблема изоморфного подграфа является одной из труднейших алгоритмических проблем теории графов.
Другой вариант этой проблемы — проблема изоморфной вложимости: требуется установить, существует ли в графе G' порожденный подграф, изоморфный графу G.
Проблема изоморфного подграфа превратится в проблему изоморфизма графов, если дополнительно положить IGI = |G'| и \EG\ = \EG'\. Аналогично проблема изоморфной вложимости превратится в проблему изоморфизма, если положить |G| = IG'I.
Проблему клики часто рассматривают в таком виде: заданы граф G и натуральное число с; установить, верно ли неравенство q)(G)^c?
Очевидно, что проблема клики является частным случаем как проблемы изоморфного подграфа, так и проблемы изоморфной вложимости: требуется установить, является ли полный граф Кс подграфом графа G. На самом деле эти три проблемы эквивалентны, т. е. и проблема изоморфной вложимости, и проблема изоморфного подграфа могут рассматриваться, в свою очередь, как частные случаи проблемы клики. Этот факт первым доказал
В. Г. Визинг, использовав свою конструкцию модульного произведения графов. Удобнее рассматривать не само произведение Визинга, а дополнительный к нему граф. Именно эта конструкция ния^е названа модульным произведением.
Модульным произведением GoG' графов G и G' называется граф, определяемый следующими условиями:
V (G<> G'^ = VG X VG'— декартово произведение множеств VG и. VG';
вершины (и, и') и (к, и') графа GOG' смежны тогда и только тогда, когда одновременно u^v, и ^1/ и
Рис. 27.1
либо uv^EG, uv'eEG', либо uv^EG, uv'^EG' (рис. 27.1).
Теорема 27.1 (В. Г. Визинг, 1975 г.). Граф G изоморфно вкладывается в граф G' тогда и только тогда, когда ф (G О G') | G |.
> Положим |Gl=n. Пусть в графе G' существует порожденный подграф И, изоморфный графу G, ф: VG ->- -^VH— изоморфизм графов, УС = {1, 2, ..., п\ ^(j?) = Vi (1 = 1, пУ Из определения модульного произведения непосредственно вытекает, что вершины (1, щ), (2, v^, ... ..., (п, vn) попарно смежны в графе G<>G' и, следовательно, ^G<>G'Y^tl
Обратно, пусть ф (£?О G') ^ п, С — клика в графе GOG', содержащая ровно п вершин. Тогда С = {(1, оху (2, к2), • •., (я, v^, причем вершины Кг (1=1, п^ попарно различны. Положим H = G'{v\, v^ .. ., z^n). Очевидно, что соответствие г >-> Нг является изоморфизмом графов G и Н. <
Заметим, что вершины (t, Vi) с равными одноименными координатами не смежны, поэтому Ф (G О ^Э ^ Пе 116
Следовательно, неравенство из формулировки предыдущей теоремы на самом деле является равенством.
Перейдем к проблеме изоморфного подграфа. Здесь требуется слегка изменить конструкцию модульного произведения.
Большим модульным произведением GoG1 графов G и G' назовем граф, определяемый следующими условиями:
7(GoG') = VG XVG';
вершины (и, и^ и (щ р') графа G<>G' смежны тогда и только тогда, когда и ^ и, и Фи1 и либо ио ^ EG, uv ^EG\ либо uv^EG.
Теорема 27.2. В графе О есть подграф, изоморфный графу G, тогда и только тогда, когда ф(0о^') = -\G\.
Доказательство аналогично доказательству предыдущей теоремы.
28. Интерпретации независимых множеств
Независимые множества вершин графа связаны с самыми разными вопросами, на первый взгляд кажущимися далекими от теории графов. Рассмотрим некоторые из этих связей. Поскольку клики графа суть независимые множества вершин его дополнения, то все сказанное ниже о независимых множествах в равной мере относится к кликам.
Связь с многогранниками.
Пусть А — бинарная m X ^-матрица без нулевых столбцов. Рассмотрим многогранник
Р(А) = (а;: Ах ^ 1, х^ 0}
— множество всех n-мерных векторов х с неотрицательными вещественными координатами, удовлетворяющих системе линейных неравенств
Ax^L(1)
Здесь 1 (0)—столбец соответствующей высоты, каждая компонента которого равна 1 (0). Нас будут интересовать целые точки многогранника Р^А), т. е. такие решения системы (1), координаты которых — целые неотрицательные числа. Поскольку все столбцы матрицы А ненулевые, то очевидно, что все решения системы (1) удовлетворяют и системе неравенств х ^ 1. Следовательно,
целыми точками многогранника В (Л) служат все (0, 1)- решения системы (1) и только они.
Определим граф G = GA — граф пересечений столбцов матрицы А— положив VG = {1, 2, ..., п) и объявив вершины г и / смежными тогда и только тогда, когда неизвестные Хг и Хз вместе входят в какое-либо из неравенств (1), т. е. хотя бы в одной из строк матрицы А позиции г и / занимают 1.
Для произвольного подмножества U s VG следующим образом введем характеристический вектор хи = (^i, х^ ... ..., хп^:
_ (1, если г е U,Хг (О, если г ^ U.
Очевидно, что U ^ ху — биективное соответствие между подмножествами множества VG и п-мерными бинарными векторами.
Набор всех независимых подмножеств вершин графа G обозначим через 3G. Удобно считать, что ^^3G, т. е. что пустое множество вершин независимо.
Теперь очевидно, что подмножество U г VG является элементом множества 3G тогда и только тогда, когда вектор Хи является решением системы (1). Следовательно, целые точки многогранника Р(А) можно трактовать как характеристические векторы независимых подмножеств вершин графа GA.
С другой стороны, легко видеть, что для произвольного графа G существует такая матрица А, что GA^G. В самом деле, в качестве А можно взять матрицу клик C^Gy Заметим, что матрица А определяется графом G неоднозначно. Так, при непустом G в качестве А можно еще взять транспонированную матрицу инцидентности ЦС")7. В общей ситуации одному графу соответствует несколько матриц А. их многогранники Р^А^ могут быть различны, но множества целых точек этих многогранников совпадают.
Связь с булевыми функциями.
Другая интерпретация независимых множеств связана с булевыми функциями. Пусть В = {0, 1), Вп — множество всех бинарных векторов длины п. Произвольное отображение из Вп в В называется булевой функцией п переменных. Положив х^у для х = ^х\1 х^ ...^ х^, у = = (^Ь У2, . .., ут?^ если xt ^ у г для всех t = 1, п, определим на множестве Вп частичный порядок ^. Булева функция 118
/ называется монотонной, если истинна импликация (ж^у)=^(/(ж)^/(у)).
Пусть / — булева функция п переменных, х ^ Вп. Если f(x) — 1, то х называется единицей функции /. Если, к тому же, истинна импликация (^^^^(/(z/^O), то х называется нижней единицей функции /. Аналогично определяются нуль и верхний нуль: если f(x) = O, то х называется нулем функции /; если при этом истинна импликация (у > х) (/(у) = 1), то х называется верхним нулем.
Очевидно, что монотонная булева функция определяется множеством всех своих нижних единиц (верхних нулей), причем роль множества нижних единиц монотонной булевой функции может играть любая система попарно не сравнимых элементов из Вп.
Число координат бинарного вектора, равных единице, называется его нормой. Монотонная булева функция называется графической, если норма каждой ее нижней единицы равна 2, либо если эта функция тождественно равна нулю.
Пусть / — графическая булева функция п переменных. Следующим образом определим граф Gf. Его множество вершин VG/ = ll, 2, ..., пУ, вершины г и / смежны тогда и только тогда, когда бинарный вектор нормы 2, /-я и /-я координаты которого равны единице, является единицей функции /. Очевидно, что если хп — характеристический вектор подмножества U^VGh то /(^и) = 0 тогда и только тогда, когда U^9Gt. Следовательно, нули графической булевой функции / можно трактовать как характеристические векторы независимых подмножеств вершин графа Gf.
С другой стороны, легко видеть, что для каждого графа G существует графическая булева функция /, удовлетворяющая условию Gf^G. В самом деле, /М для 0^ если же G Ф Оп, то нижними единицами подходящей графической булевой функции / служат все характеристические векторы ребер этого графа.
Связь с пересечением матроидов.
Пусть G — граф. В определенных ситуациях удобно, чтобы множество ^G оказалось набором независимых множеств матроида. Тогда с помощью «жадного» алгоритма легко найти наибольшее независимое множество вершин графа G. К сожалению, такие графы редки.
Граф, каждая компонента которого является полным графом, назовем М-графом.
Утверждение 28.1. Пара (VG, JG) является мат- роидом с набором независимых множеств 3G тогда и только тогда. когда граф G есть М-граф.
Пусть M = ^VG. «^G) — матроид с набором независимых множеств 3G. Очевидно, что циклами матроида М служат двухэлементные подмножества смежных вершин. Пусть теперь ab. Ъс е g EG. Тогда (а. Ь) и {Ь, с) — циклы матроида М. Согласно аксиоме С.2, множество ta. с} б также является циклом и, следовательно, ас е EG. Доказано, что каждая связная компонента графа G — пол-
7ный граф.
Рис. 28.1Обратное очевидно: если
G является Л/-графом, то 3G — набор независимых множеств матроида разбиения множества VG на области связности графа G. <
Поскольку граф с одним ребром является М-графом, то очевидно, что любой граф G можно представить в виде объединения
G = Gx U G2 U ... U Gu(2)
Af-графов Gt с совпадающими множествами вершин. Назовем такое представление графа G его матроидным разложением. Минимальное число ц компонент в матроидных разложениях графа G обозначим через ц(£) и назовем его матроидным числом.
Рассмотрим, например, граф G. изображенный на рис. 28.1. Этот граф можно представить в виде объединения G = Gy U G2 двух Л^-графов Gi и G2. каждый из которых является дизъюнктным объединением двух полных графов:
Gi = G(l, 2, 3, 4)UG(5, 6, 7),
G2 = G(1, 2, 5, 6)UG(3, 4, 7).
Очевидно, что G не является М-графом, поэтому p,(G) = 2.
Если (2)—матроидное разложение графа G, тов^G= П STGaia=i
где У Ga — набор независимых множеств матроида Ма = = (FG, ^Ga), являющегося матроидом разбиения множе- 120
ства VG на области связности графа Ga. Другими словами, непустые элементы множества ^Ga — это все частичные трансверсали разбиения множества VG на области связности графа Ga.
Верно и обратное. Пусть дано ц разбиений
V к. и ^2 и ... и Vkh - vg, к = ГК (3)
множества VG. Если ^—объединение гк полных графов с множествами вершин УК^ Vr2, . .., Vk^ a G— объединение всех графов Gk, то независимыми подмножествами вершин графа G служат частичные трансверсали, общие для всех разбиений (3), и только они.
Итак, набор всех независимых подмножеств вершин произвольного графа G при ц(С)^ц можно трактовать как набор всех частичных трансверсалей, общих для ц разбиений вида (3). В частности, нахождение в графе наибольшего независимого множества вершин есть в точности задача о пересечении нескольких матроидов разбиений.
Задача определения числа p(G) для произвольного графа G, по-видимому, очень сложна. Тем более сложно построение соответствующего матроидного разложения. Определенный интерес имеет характеризация графов, для
vvw4~e
Рис. 28.2
которых ц(С) = 2. Задача определения числа независимости ao(G) для графов этого класса может формулироваться как задача о наибольшей мощности трансверсали разбиения, независимой относительно матроида некоторого разбиения.
Приведем без доказательства характеризацию графов с матроидным числом, равным 2, в терминах запрещенных порожденных подграфов.
Теорема 28.2. Для связного графа G, не являющегося полным, следующие два утверждения равносильны*.
Ц(С) = 2;
граф G не содержит простых циклов нечетной длины 1^5, звезды К\^ колеса W4 и графа П^ —е {рис. 28.2) как порожденных подграфов.
Некоторые оценки числа 11(G) см. в § 57.
Паросочетания
Не менее важным, чем понятие вершинной независимости, является понятие реберной независимости.
Произвольное подмножество попарно несмежных ребер графа называется паросочетанием (или независимым множеством реберУ В качестве иллюстрации рассмотрим граф, изображенный на рис. 29.1. В нем паросочетаниями являются, например, Ve^, {ej, 1^2, вб\ {^1, £3, £5, е?}.
Паросочетапие графа G на- е7 зывается максимальным, если оно не содержится в паросоче- тании с большим числом ребер, и наибольшим, если число ребер в нем наибольшее среди всех паросочетаний графа G. Число ребер в наибольшем па-
росочетании графа G называется числом паросочетания и обозначается через ai(G).
Ясно, что независимые множества ребер графа G на
ходятся во взаимно однозначном соответствии с независимыми множествами вершин реберного графа L(G), и, следовательно, ai (G) = ao(L(G)). Тем не менее для нахождения наибольшего паросочетания в произвольном графе существуют эффективные алгоритмы.
С понятием паросочетания тесно связано понятие реберного покрытия. Реберным покрытием графа G называется такое подмножество ребер Е' ^ EG, которое покрывает все вершины графа, т. е. такое, что каждая вершина в G инцидентна по крайней мере одному ребру из Ег. Из этого определения следует, что лишь графы с изолированными вершинами не имеют реберных покрытий. Реберное покрытие графа называется минимальным, если в нем не содержится покрытий с меньшим числом ребер, и наименьшим, если число ребер в нем наименьшее среди всех покрытий. Число ребер в наименьшем реберном покрытии графа G называется числом реберного покрытия и обозначается через £i(G).
Очевидно, что Pi (G) ^ IGI/2. Например, в графе, изображенном на рис. 29.2, множество из пяти ребер {{1, 9), {2, 8), {3, 7), {4, 5), {5, 6}} является реберным покрытием, а поскольку Pi(G)>4,5, то оно наименьшее.
Паросочетание называется совершенным (или 1-фактором), если оно одновременно является реберным покрытием. Иногда сам граф называют паросочетанием — тогда, когда все ребра графа составляют одно паросочетание.
Так, граф тК^ является совершенным паросочетанием. В графе, изображенном на рис. 29.1, {ei, ез, вб, 6?) — совершенное паросочетание. Очевидно, что если в графе есть совершенное паросочетание, то оно является наименьшим реберным покрытием.
Читатель помнит, что число вершин в наибольшем независи
мом множестве и число вершин в наименьшем покрытии графа G порядка п связаны соотношением
ao(G)+ ^o(G) = п.
Аналогичное верно и для соответствующих реберных параметров, т. е. справедлива следующая
Теорема 29.1 (Т. Галлаи, 1959 г.). Для любого графа G порядка п без изолированных вершин верно равенство
ai(G)+^(G) = 7z.
> Положим ai=ai(G), Pi = Pi (G) и докажем два неравенства
ai + ^i^^,(1)
<Х1+р1^и,(2)
объединение которых и означает гарантируемое теоремой равенство.
Пусть 71/ — наибольшее паросочетание в графе G. Рассмотрим подмножество V' всех вершин этого графа, не покрываемых ребрами из М. Очевидно, что либо У7 — независимое множество вершин, либо Vх = 0, иначе паросочетание М не было бы наибольшим. Кроме того, |У'| = = п — 2аь При Vх #= 0 для каждой вершины u^V' выберем в графе G ребро, ей инцидентное. Множество выбранных ребер обозначим через Е'. При V' = 0 положим Е' = 0. Поскольку в графе G нет изолированных
вершин и множество V независимо, то |5'| = |7'| = = я —2&ь Очевидно, что множество Е' U М является реберным покрытием, следовательно,
Pi \EZ U М\ = \Е' \ + \МI = (^ — 2ai) + ai = п — ai;
неравенство (1) доказано.
Перейдем к доказательству неравенства (2). Пусть Р — наименьшее реберное покрытие графа G. Рассмотрим подграф G' — GtJP), порожденный ребрами покрытия Р. Поскольку Р является наименьшим покрытием, то в графе G? всякое ребро инцидентно вершине степени 1, т. е. каждая связная компонента графа G' является звездой. Пусть t — число этих звезд и ^ — число ребер в f-й компоненте, г = 1, I. Выбрав в каждой компоненте по одному ребру, получим некоторое паросочетание Р? мощности t. Следовательно, ^^аь Поскольку в графе Gz нет изолированных вершин, то
tt
= 2 № + 1) = 2 кг + t = \P\ + t = Pl + ^ ^ Pl + ai* i=lг=1
Неравенство (2) доказано. <
Паросочетания в двудольном графе
При изучении паросочетаний основное внимание будет уделяться двудольным графам. Для поиска паросочетаний в произвольном графе используются те же идеи, что и в случае двудольных, только реализация их усложняется.
Самые разные задачи связаны с построением паросочетаний в двудольных графах. Приведем только два примера. Первый из них — задача о свадьбах, упоминавшаяся в § 22 в связи с теорией трансверсалей. Существова- вание решения этой задачи равносильно существованию в специально построенном двудольном графе (X, У, Е) паросочетания, покрывающего X. В этом графе вершины из X соответствуют юношам, из У — девушкам, а ребро соединяет вершины, соответствующие знакомым юноше и девушке. На рис. 30.1 изображен граф для задачи о свадьбах, заданной таблицей 22.1. Жирными линиями выделены ребра паросочетания, решающего задачу.
Второй пример —задача о назначениях. Имеется конечное множество исполнителей Vx\. х^, ..., xj, каждый из которых может выполнять некоторые из ра- 124
бот (yi, ys, • • -i УтУ Стоимость выполнения работ yi исполнителем х5 равна Юц. Нужно распределить исполнителей по работам, т. е. назначить по одному исполнителю на каждую работу, так, чтобы, во-первых, выполнить все работы и, во-вторых, минимизировать общие затраты. Как и в случае задачи о свадьбах, строится двудольный граф, каждому ребру которого приписывается вес, равный стоимости выполнения исполнителем соответствующей работы. Возможность выполнения всех работ равносильна существованию в графе совершенного паросочетания, а на
значение, минимизирующее все затраты, соответствует
Рис. 30.1Рис. 30.1наибольшему паросочетанию с минимальным суммарным весом.
Рис. 30.1
Рис. 30.1
Рассмотрим условия существования паросочетаний. Для произвольного подмножества А в VG положим
=и -Х(р)М.
G = (X, У, Е) сущест- X, то для любого подG = (X, У, Е) сущест- X, то для любого подНазовем Ng(A') окружением подмножества А в графе G.
G = (X, У, Е) сущест- X, то для любого под
G = (X, У, Е) сущест- X, то для любого под
Очевидно, что если для графа вует паросочетание, покрывающее
множества А в X число вершин, смежных с элементами из А, не меньше, чем число вершин в А, т. е.
|Х(4)| > 141.
Оказывается, что это условие является и достаточным для существования такого паросочетания.
Теорема 30.1. Для существования в двудольном графе G =(Х, У, £) паросочетания, покрывающего X, необходимо и достаточно, чтобы любое подмножество А множества X удовлетворяло условию
|4|^|Х(4)|.
Ниже показано, что эта теорема является переформулированной теоремой Холла о трансверсалях и потому не нуждается в дополнительном доказательстве. Однако для того, чтобы сделать эту главу независимой от предыдущей, приведем прямое доказательство теоремы о паросо- четаниях.
> Доказательство теоремы 30.1. Необходимость утверждения теоремы очевидна.
Достаточность докажем индукцией. Пусть G = (X, Y, Е) — двудольный граф с Ш = иг > 0, удовлетворяющий условию теоремы. При т = 1 единственная вершина из X инцидентна хотя бы одному ребру, которое и является нужным паросочетанием.
Пусть т > 1 и теорема верна для графов, у которых 1X1 < т. Отдельно рассмотрим два возможных случая.
Для каждого собственного подмножества А в X верно строгое неравенство \А I < |Хе(Л) I. Выберем в G произвольное ребро ху. Если Gz = G — х — у, Xх = Х\х^ Y' = Y\y, Е' = E\Uu vy: u^Y. X}, то (Xх, Ух, £х)~ двудольный граф, |ХХ| =т— 1. Пусть А* — произвольное подмножество множества Xх. Так как |ЛХ| < \NG(A') I, а из У удалена только одна вершина, то | А* | ^ |Л^' (Л')|. По индуктивному предположению в графе G' существует паросочетание М, покрывающее Xх. Добавив к М ребро ху^ получим нужное паросочетание графа G.
В множестве X существует такое собственное подмножество Ло, что верно равенство
|Л0| = |ХС(ЛО) I.(1)
Пусть Gz и G" — подграфы графа G, порожденные множествами вершин ЛоиХс(Ло) и 7б\(Л0 U Nq^Aq^ соответственно. Рассмотрим подграф Gz. Для любого под- мпожества А^А0 имеем NG(A) = NG, (Л), и, следовательно, | А | ^ | NG/(A) [. По индуктивному предположению в Gz существует паросочетание, покрывающее Ло.
Обратимся к подграфу Gzz. Для любого подмножества А — Х\Л0 выполняются соотношения
Mo I + I I Mo U ^ I ^ I ^о (A U А I =
= |^(Л0)| + |^(Л)|
и верно равенство (1). Следовательно, | А | ^ | NG„ (Л)| и по индуктивному предположению в графе Gzz существует паросочетание, покрывающее Х\Ло. Объединяя это паросочетание с построенным выше, получим паросочетание в графе G, покрывающее X. <
Следствие 30.2. В любом регулярном непустом двудольном графе существует совершенное паросочетание.
> Пусть G=(X, У, Е)—регулярный двудольный граф, deg G = тп > О, Л X. Тогда число ребер, инцидентных вершинам из Л, равно ml Al. Степени концов этих ребер все равны пг^ поэтому
IX(Л) | тп\А \!т = |Л1.
Согласно теореме 30.1 существует паросочетание, покрывающее X. Поскольку для регулярного двудольного графа G = (X, У, £) всегда |Х| = |У|, то в нем всякое паросочетание, покрывающее X, является совершенным. <
Следствие 30.3. Регулярный двудольный граф ненулевой степени является реберно непересекающимся объединением ^-факторов.
> Пусть G — регулярный двудольный граф степени m > 0. При m = 1 он является 1-фактором. Пусть m > 1. Согласно предыдущему следствию в G существует совершенное паросочетание М. G — М — регулярный двудольный граф степени m — 1. Проведя эту процедуру несколько раз, придем к объединению 1-факторов. <
Заметим, что утверждение следствия 30.3 перестает быть верным, если не требовать двудольности графа. В частности, граф Петерсена (рис. 1.7) был впервые введен в качестве примера кубического графа, не являющегося объединением 1-факторов.
Следствие 30.4. Пусть G = (X, У, Е") — двудольный граф, t—натуральное число, £^|Х|. Для существования в графе G паросочетания мощности t необходимо и достаточно, чтобы любое подмножество А ^ X удовлетворяло условию
|Х4Л)| > \A\+t-\X\. (2)
> Построим новый двудольный граф G' ~ (X, У', Е'^ добавив |Х| — t новых вершин к доле У и соединив ребром каждую из них с каждой вершиной из X. Очевидно, что существование в графе G паросочетания мощности t равносильно существованию в графе G' паросочетания, покрывающего X, для чего должно выполняться условие А ^|ХС,(Л)|. Последнее равносильно условию (2), поскольку | Nq' (-4) I = I Ng (Л) | + | X | — Л <
Для полноты картины отметим без доказательства следующую теорему.
Теорема 30.5. В произвольном графе G совершенное паросочетание существует тогда и только тогда, когда для любого подмножества S £ VG верно неравенство 1^1 ^ р0(^), где ро(£)—число компонент нечетного порядка графа G — S.
Возвратимся к двудольным графам. Пусть G = = (Х, У, Е) — двудольный граф с непустыми долями. Для любого подмножества А X положим
(М| — ^(Л)!, если Л^0,
W (0, если А = 0.
Величину
б0 = б0(Х, Y, Е) = тахб(Л)
назовем дефицитом графа G=(X, Y, Е^. Очевидно, что О < б0 ^ 1X1.
Те ор ем а 30.6. Для произвольного двудольного графа G ^(Х, У, Е) с непустыми долями верно равенство ai(G)= |Х| -60.
Перепишем неравенство (2) в виде
6(Л) = |Л| - |Х(Л)| < |Х| -t.(3)
Согласно следствию 30.4 для существования паросочета- ния мощности t необходимо и достаточно, чтобы для каждого Л ^ X выполнялось условие (3). При t = IXI — бо имеем б(Л)^ |Х| — t = бо, и, следовательно, неравенство (3) верно. Поэтому граф G имеет паросочетапие мощности IXI — бо.
Если же t = IXI — бо + 1, то неравенство (3) принимает вид б(Л)^ |Х| — t = бо — 1 и нарушается для тех подмножеств Ло, для которых б (Ло) =60. Следовательно, граф G не содержит паросочетания мощности |Х1 — -бо+1. <
Следствие 30.7. Для любого двудольного графа G=(X, Y, Е) верно равенство
X! - б0(Х, У, Е)- |у| — бо(У, X, ЕУ (4)
В частности, при |Х1 = IУI
б0(Х, У, Е)-б0(У, X, Е).
Для доказательства достаточно заметить, что каждая часть равенства (4) совпадает с ai(G). <
Двудольные графы и семейства подмножеств
Обсудим связь между двудольными графами и их паросочетапиями, с одной стороны, и семействами подмножеств и их трансверсалями — с другой.
Пусть G=(X, У, Е)—двудольный граф без изолированных вершин. Будем считать, что X = {1, 2, ..., тп}, и определим семейство 5G = (Si, 82, ..., Sm) непустых подмножеств множества У условием ^ = Х(^) (Z = l, пг).
С другой стороны, пусть S = (8Ь 82, ..., Sm)—-семейство непустых подмножеств произвольного конечного множества У. Определим двудольный граф Gs = (Х, У, Е), 128
положив X = {1, 2, ..., nA, N(i) = S{ (t — 1, m). Очевидно, что Sqs = S и соответствие G ^ Sg является биекцией между классом всех двудольных графов (X, У, Е) с фиксированными долями X = {1, 2, ..., nA и У и классом всех ттг-членных семейств непустых подмножеств множества У.
Если М — паросочетание двудольного графа G = — (X, Y, Е^ то обозначим через YM множество вершин из доли У, покрываемых ребрами этого паросочетания, а через 1(G) — множество, элементами которого служат все YM, где М — произвольное паросочетание графа G, и пустое множество. Как подтверждает очевидная проверка, верно следующее
Утверждение 31.1. Если G = (Х, У, Е) — двудольный граф без изолированных вершин и 0 Z ^ У, то Z^ Т(G) тогда и только тогда, когда множество Z является частичной трансверсалью семейства подмножеств SG.
Поскольку все частичные трансверсали произвольного семейства непустых подмножеств и 0 составляют набор независимых множеств матроида трансверсалей, то верно
Следствие 31.2. Для любого двудольного графа G =(Х, Y, Е) без изолированных вершин пара (У, У(С))—матроид, совпадающий с матроидом трансверсалей семейства SG. При этом число паросочетания ai(G) равно рангу р(У, T(G)).
Итак, условие существования в графе G паросочетания фиксированной мощности t совпадает с условием существования соответствующей трансверсали. Поскольку в рассматриваемой ситуации
и S,= иieA ieA
для любого подмножества А г X, то теорема Холла превращается в теорему 30.1, а следствие 22.3 — в следствие 30.4.
Как показывают примеры, максимальное паросочетание в графе может оказаться не наибольшим, и это свидетельствует о том, что совокупность всех паросочетаний произвольного графа, вообще говоря, нельзя принять в качестве набора независимых множеств матроида. Тем не менее задача нахождения в двудольном графе наибольшего паросочетания связана с матроидами. Ее можно сформулировать как задачу о пересечении двух мат- роидов разбиения, или, что то же, как задачу о выборе
1291299 в. А. Емеличев и др.
129
129
трансверсали максимальной мощности, общей для двух разбиений некоторого множества. В самом деле, разобьем множество ребер двудольного графа G=(X1 Y, Е) на классы, отнеся в один класс все ребра, покрывающие одну и ту же вершину из X. Пусть Мх — матроид этого разбиения. Аналогично определим матроид МУ. Очевидно,, что подмножество ребер графа G является паросочетани- ем тогда и только тогда, когда оно независимо как относительно матроида MXl так и относительно Му. Следовательно, наибольшее паросочетание в графе G — это наибольшее по мощности множество ребер, независимое как относительно матроида МХ1 так и относительно матроида Му. Именно на последнем обстоятельстве основан успех процедуры построения наибольшего паросочетания в двудольном графе, приведенной в § 77.
Паросочетания и покрытия
Как отмечалось в § 25, определение числа М^) и? тем более, построение наименьшего вершинного покрытия для произвольного графа G — сложные алгоритмические задачи. Эффективных алгоритмов для их решения, видимо, не существует.
Очевидно, что для каждого графа G число вершин в любом покрытии не меньше числа ребер в произвольном паросочетании, в частности,
MG)^MG).
Последние два числа могут как совпадать, так и не совпадать. Например, М^з)= 2 =# ai(K3) = 1. Для двудольного же графа эти числа всегда равны, т. е. верна следующая
Теорема 32.1. Для любого двудольного графа G число вершин в наименьшем вершинном покрытии равно числу ребер в наибольшем паросочетании*.
MG)=«i(G).
> Пусть G = (Х, У, Е) — двудольный граф. Вначале предположим, что в G нет изолированных вершин. Очевидно, что для любого подмножества А ^ X множество
C = A(A)U(X\A) (1)
является покрытием графа G. С другой стороны, пусть D — произвольное минимальное покрытие. Представим 130
множество D в виде
Z) = XiU7h Ху^Х, Yy^Y,
и положим А = Х\Ху. Тогда N(A)^ Уь Но как замечено выше, множество Ху U N(A") само является покрытием. Поскольку покрытие D минимально, то D = Ху иУ(Л). Итак, всякое минимальное покрытие графа G имеет вид (1), и потому
P0(G) = min|G| = min(|X\^| + \Х(А)\) = СAc X
= шт(|Х|-|Л] + 1^)|) =
АсХ
= | X | - max (| А | - ] N (Л) |) = | X | - 60 (X, У, Е) = a, (G). А^Х
Для графов без изолированных вершин теорема доказана.
Очевидно, что при добавлении к графу G изолированной вершины не меняется ни ?o(G), ни <zl(G), так что теорема верна и для графов с изолированными вершинами. <
Поскольку для любого графа G верны равенства ao(G) + ^(G)^ IG] (теорема 25.5) и ai(G)+Pi(G)= |G| (теорема 29.1), то из теоремы 32.1 вытекает
Следствие 32.2 (Д. Кёниг, 1916). Для любого двудольного графа G верны равенства
a0(G)+ai(G)= IG1, a0(G) = ^(G).
Как показано в § 77, для построения наибольшего паросочетания и наименьшего вершинного покрытия в двудольном графе существуют эффективные алгоритмы. Следовательно, и сложнейшая в общей ситуации задача нахождения наибольшего независимого множества в классе двудольных графов решается эффективно.
Как следствие из теоремы 32.1 получим один важный факт из теории бинарных матриц, доказанный Д. Кёнигом в 1931 году. Под линией матрицы будем понимать ее строку или столбец. Два элемента матрицы назовем независимыми, если они не лежат на одной линии.
Теорема Кёнига. Максимальное число попарно независимых единиц бинарной матрицы равно минимальному числу ее линий, содержащих все единицы матрицы.
> С одной стороны, произвольная бинарная матрица А может истолковываться как приведенная матрица смежности некоторого двудольного графа G =(Х, У, Е). Тогда независимость двух единиц матрицы означает, что 9*131
соответствующая им пара ребер графа G несмежна. Поэтому максимальное число независимых единиц матрицы А равно числу паросочетания ai(G).
С другой стороны, каждой строке матрицы А соответствует вершина из X, каждому столбцу — вершина из У, а единицам линии — ребра, инцидентные соответствующим вершинам. При этом множеству линий матрицы А, содержащих все ее единицы, соответствует множество вершин графа G, являющееся покрытием. Следовательно, минимальное число элементов в покрытиях графа G равно минимальному количеству линий матрицы А, содержащих все ее единицы. Но согласно теореме 32.1 число вершин в наименьшем покрытии графа G также равно ai(G). <
УПРАЖНЕНИЯ
Найдите наибольшее независимое множество вершин в графе Петерсена.
Докажите, что если G — дерево, то a0(G) ^ тг/2.
Докажите, что если Oq(G) = a0(G3), то граф G является М-графом.
Приведите пример графа, в котором наименьшее доминирующее множество не является независимым.
Пусть G — граф без изолированных вершин. Докажите, что G содержит такое доминирующее множество D^ что VG\D—тоже доминирующее.
Пусть e(G) —мощность наименьшего доминирующего множества в графе G. Покажите, что если в G нет изолированных вершин, то 8(G) ^ п/2. В случае, когда п— произвольное четное число, приведите пример связного графа порядка п, для которого 8(G) = тг/2.
Приведите пример связного /г-вершипного графа G, у которого число pi(G) максимально среди всех графов порядка п.
Верно ли, что любое паросочетание графа содержится в наибольшем паросочетапии?
Покажите, что дерево Т имеет совершенное паросочетание тогда и только тогда, когда poW = 1 для всех вершин из Т\ где ро(^) —число компонент нечетного порядка графа Т— и.
Пусть М и N — непересекающиеся паросочетания графа G, причем |Л/| > |А|. Покажите, что в графе G существуют непересекающиеся паросочетания М' и М^ удовлетворяющие условиям \М'\ = \М| — 1, | А'| = | А| + 1, М' U А7 = М U N.
Докажите, что бинарную матрицу, в каждой строке и в каждом столбце которой ровно к единиц, можно представить в виде суммы к бинарных матриц, в каждой строке и в каждом столбце которых ровно одна единица.
Глава V
Связность
Связный граф был определен как граф, у которого любые две вершины соединены цепью. Так, оба графа Ки и Си связны, однако интуитивно ясно, что при п > 3 граф Ки «сильнее» связен, чем Сп. В этой главе вводятся и исследуются понятия, характеризующие степень связности графа.
§ 33. Вершинная связность и реберная связность
Прежде чем ввести понятия вершинной и реберной связности, рассмотрим одну математическую модель, возникающую, в частности, при проектировании и анализе сетей ЭВМ. Имеется сеть, состоящая из центров хранения и переработки информации. Некоторые пары центров соединены каналами. Обмен информацией между любыми двумя центрами осуществляется либо непосредственно по соединяющему их каналу, если он есть, либо через другие каналы и центры. Сеть считается исправной, если каждая пара центров в состоянии обмениваться информацией. Такой сети естественно сопоставить граф: вершины — центры, ребра — каналы сети. Тогда исправной сети будет соответствовать связный граф. Важным понятием является надежность (живучесть) сети, под которой обычно подразумевают способность сети функционировать при выходе из строя одного или нескольких центров или (и) каналов. Ясно, что менее надежной следует считать ту сеть, исправность которой нарушается при повреждении меньшего количества элементов. Оказывается, надежность сети можно измерять на основе вводимых ниже определений.
Числом вершинной связности (или просто числом связности') %{G) графа G называется наименьшее число вершин, удаление которых приводит к несвязному или одновершинному графу.
Т/ч, например, x(7£i)=0, x(7?n)=^— 1, x(Cn)=2. Это вполне согласуется с интуитивным представлением о том, что при п > 3 граф Кп сильнее связен, чем Сп.
Граф G, представленный на рис. 33.1, связен, но его связность можно нарушить, удалив вершину 4. Поэтому x(G)= 1. Если же попытаться нарушить связность этого графа путем удаления ребер (а не вершин), то придется удалить не менее трех ребер. Например, G распадается
на две компоненты при удалении ребер {4, 5), {4, 6), {4, 7}. Чтобы учесть это обстоятельство, введем еще одно определение.
Пусть G — граф порядка п > 1. Числом реберной связности X(G) графа G назовем наименьшее число ребер, удаление которых приводит к несвязному графу. Число реберной связности графа будем считать равным нулю, если этот граф одновершинный.
В качестве иллюстрации снова обратимся к графу G на рис. 33.1. Здесь K(G)—3 и, следовательно, X(G)> >x(G). Ниже будет показано, что противоположное неравенство невозможно ни для какого графа.
Определим некоторые элементы графа, играющие особую роль в дальнейших рассмотрениях.
Вершина v графа G называется точкой сочленения (или разделяющей вершиной^ если граф G — и имеет больше компонент, чем G. В частности, если G связен и и — точка сочленения, то G — и не связен. Аналогично ребро графа называется мостом, если его удаление увеличивает число компонент.
Таким образом, точки сочленения и мосты — это своего рода «узкие места» графа. Граф, изображенный на рис. 33.2, имеет три точки сочленения а, 6, с и один мост ab.
Понятно, что концевая вершина моста является точкой сочленения, если в графе есть другие ребра, инцидентные этой вершине.
Возвращаясь к рассмотренной в начале параграфа сети, нетрудно заметить, что число вершинной связности и число реберной связности ее графа отражают чувствительность сети к разрушению центров и каналов соответственно, а мостам и точкам сочленения отвечают наиболее уязвимые места сети.
Если 6(G)—минимальная степень вершин графа G, то очевидно, что X(G)<6(G), поскольку удаление всех ребер, инцидентных данной вершине, приводит к увеличению числа компонент графа.
Выясним теперь соотношение между числами x(G) и Л(6). Если граф G не связен или имеет мост, то очевидно, что x(G) = X(G). Пусть G — связный граф без мостов. Выберем в этом графе множество Е\, состоящее из X = Z(G) ребер, удаление которых приводит к несвязному графу. Пусть Е2^ЕХ, l^l =Х — 1. Граф G — Е^ связен и имеет мост, который обозначим через ни. Для каждого ребра из множества Е^ выберем какую-либо инцидентную ему вершину, отличную от и и и. Удалим теперь выбранные вершины из графа. Этим самым будут удалены, в числе прочих, и все ребра, входящие в Е^. Если оставшийся граф не связен, то x = x(G)<X. Если же он связен, то ребро uv является мостом. Поэтому удаление одной из вершин и или v приводит к несвязному или одновершинному графу, а это означает, что х X. Таким образом, доказана
Теорема 33.1. Для любого графа G верны неравенства
x(G)^X(G)^6(G).
Следующее утверждение показывает, что эти неравенства нельзя усилить.
Утверждение 33.2. Для любых натуральных чисел р, q, г, таких, что р ^ q ^ г, существует граф G, у которого x(G) — р1 X(G) = q, 6(G) = г.
> Рассмотрим граф G порядка 2(г+1), у которого VG = 71 U V2, где Vi=^v v^ ..., ^+1} (i = 1, 2). В мне- жество ребер этого графа включим, во-первых, все ребра вида и1^ (i = 1, 2; k,l = 1, г + 1, k I). Таким образом, каждое из множеств Vt (i = 1, 2) является кликой в G. Во-вторых, в множество EG включим все ребра вида v^ (k = 1, р) и вида VpVp^h (к = i, q — р)(строение графа G схематично показано на рис. 33.3). Учитывая равенство Х(Кп)= п — 1, легко убедиться в том, что построен-
ный граф обладает нужными свойствами, т. е. что x(G)== = р, X^-q, 6(G)- г. <
Тем не менее верна следующая теорема, приводимая здесь без доказательства (см. обзор [21]).
Теорема 33.3. Для почти каждого графа G верно равенство
x(G) = X(G).
Граф G называется k-связным, если x(G)^/c, и ре- берно-к-связным, если X(G^^ к. Таким образом, отличный от К\ граф 1-связен (односвязен) тогда и только
Рис. 33.3Рис. 33.3тогда, когда он связен, а 2-связные (двусвязные) графы — это связные графы без точек сочленения, не являющиеся одновершинными.
Рис. 33.3
Рис. 33.3
Граф G, изображенный на рис. 33.1, 1-связен и ре- берно-3-связен. Легко видеть, что этот граф содержит подграфы, являющиеся «более связными», чем сам граф. Таков, например, подграф, порожденный множеством вершин {1, 2, 3, 4, 8). Он 3-связен.
Чтобы учесть эту и
подобные ей ситуации, естественно ввести следующее определение: максимальный /с-связный подграф графа называется его к-связной компонентой, или просто к-ком- понентой.
Это определение иллюстрируется на рис. 33.4. На этом рисунке граф G\ имеет две 2-компоненты, a G2 —
две 3-компоненты. Сами графы G\ и G^ являются 1-компонентами графа G\ U G2. Легко заметить, что 2-компоненты графа Gi имеют одну общую вершину, а 3-компо-
ненты графа G2 — две общие вершины. Следующая теорема показывает, что это обстоятельство не случайно.
Теорема 33.4. Две различные к-компоненты графа имеют не более чем к 1 общих вершин.
> Пусть Gi и G2 — различные ^-компоненты графа G и VG\ П VG2 = X. Предположим, что |Х| > к, и докажем, что тогда граф Gi U G2 должен быть fc-связным. Для этого в данном случае достаточно показать, что он остается связным после удаления любых к — 1 вершин, т. е. если yc=F(GiUG2), |У|=й—1, то граф (GiUG2)-y связен. Положим
у. = (УСАХ) ПУ, г = 1, 2, Уз = X П У.
Ясно, что
IУ,| ^к-1, i = 1, 2, 3, У-У1 U У2и Уз.
Поскольку
IУ, и У31 ^к- 1, i = 1, 2,
и графы Gi и G2 fr-связны, то графы
Hi = G< — (YiU Уз), i = 1, 2,
связны. Так как по предположению |Х| > к, то Х\У3^ = 0, т. е. связные графы Ну и Я2 имеют хотя бы одну общую вершину. Следовательно, связен граф Н\ U Н2 = = (Gx U G2)— Y. Последнее означает, что граф Gi U G2 /с-связен. Поэтому, вопреки предположению, ни Gi, ни G2 не являются /^-компонентами графа G. <
Двусвязные графы
Случаям, когда к = 2 или к = 3, в теории графов отведена особая роль. Это объясняется следующими причинами. Во-первых, 2- и 3-связные графы фигурируют во многих теоретических и прикладных вопросах, в частности, ряд задач достаточно уметь решать для 2-связных компонент. Во-вторых, при к = 3 и, особенно, при к = 2 удается дать в некоторой степени обозримое описание соответствующих графов.
Рассмотрим вначале некоторые простые свойства 2-связных графов, вытекающие непосредственно из определений:
степени вершин 2-связного графа больше единицы;
если графы Gi и G2 2-связны и имеют не менее двух общих вершин, то граф Gi U G2 также 2-связен;
если граф G 2-связен и Р — простая цепь, соединяющая две его вершины, то граф G U Р также 2-связен;
если вершина и не является точкой сочленения связного графа, то любые две его вершины соединены цепью, не содержащей и; в частности, в 2-связном графе для любых трех несовпадающих вершин а, Ъ, v имеется ^а, ЬУцепъ, не проходящая через и.
Этими свойствами мы будем пользоваться без каких- либо пояснений и дополнительных ссылок на них.
Теорема 34.1. Пусть G— связный граф и |G!>2. Тогда следующие утверждения эквивалентны*.
граф 2-связен;
любые две вершины графа принадлежат простому циклу,
любая вершина и любое ребро принадлежат простому циклу;
любые два ребра принадлежат простому циклу;
для любых двух вершин а и Ъ и любого ребра е существует простая {а, Ъ}-цепь, содержащая е;
для любых трех вершин а, Ъ, с существует простая (а, ЬУцепь, проходящая через с.
1) => 2). Пусть а и Ъ — две вершины графа G. Рассмотрим множество всех простых циклов графа G, содержащих а. Обозначим через U множество всех вершин, входящих в эти циклы. Ясно, что U Ф 0. Действительно, простой цикл, содержащий а, можно получить, объединив два ребра ах и ау (х^у) и простую (х, у)-цепь, не проходящую через а (существующую согласно свойству 4)). Предположим, что Ъ ^ U, и положим U = VG\U. Поскольку граф С_связен, то в нем найдется такое ребро 2,t, ЧТО 2^[/, t^U (рис. 34.1). Пусть S— простой цикл, содержащий а и z. Так как G — 2-связный граф, то в нем имеется простая (а, £)-цепь Р, не содержащая z. Пусть и — первая, считая от I, вершина, входящая в 5, т. е. (£, и)-подцепь цепи Р ие имеет с S общих вершин, отличных от и. Теперь легко построить простой цикл, со- держатций а и t. Он получается объединением (и, ^)-цепи, проходящей через а- и являющейся частью S, с ребром zt и (t, v)-подцепью цепи Р (на рис. 34.1 этот цикл показан пунктирной линией). Следовательно, t^U; но это противоречит выбору ребра гЛ Таким образом, U = 0, т. е. а и b лежат на общем простом цикле.
=> 3). Пусть а — вершина и ^ — ребро графа G. По условию G содержит цикл S, проходящий через вершины а и z. Не теряя общности будем считать, что zt ^ 138
^S. Если при этом окажется, что S проходит через вершину t, то требуемый цикл строится очевидным образом. Пусть S не проходит через t. Тогда рассмотрим простой цикл 8', проходящий через вершины t и а. Такой цикл, по условию, существует. Частью этого цикла является простая цепь Р, соединяющая t с некоторой вершиной v е 8. Цепь Р можно выбрать так, чтобы VP Л
Л VS = {р}. Искомый цикл теперь строится точно также, как в предыдущем пункте.
3)=>4). Пусть ab и tz — два ребра графа G. По условию G имеет простые циклы 8 и 8', первый из которых содержит аЪ и z, а второй — аЪ и t. Далее искомый цикл строится так же, как в предыдущих пунктах.
4)=^ 5). Пусть a. b^VG, tz^EG. Будучи связным, граф G содержит простую цепь Р = (а1 х, .. ., Ь). Согласно утверждению 4) в графе G есть простой цикл 5, содержащий ребра ах и tz. Легко видеть, что в объединении SUP имеется требуемая цепь.
5)=^ 6). Пусть сцКсе VG, cd^EG. По условию в графе имеется простая (а, Ь)-цепь, проходящая через cd и, следовательно, содержащая с.
6)=> 1). Пусть v^VG. Покажем, что граф G — v связен, т. е. любая пара а, b его вершин соединена цепью. Действительно, согласно утверждению 6) в графе G имеется простая (у, Ь)-цепь, проходящая через вершину а. Эта цепь содержит (а, &)-подцепь, которая, очевидно, не проходит через v и, следовательно, является {а, Ь)- цепью и в графе G — v. <
Если в формулировке теоремы 34.1 заменить всюду слова «простая цепь» и «простой цикл» соответственно на слова «цепь» и «цикл», то получим аналогичную теорему о 2-реберно-связных графах.
Как отмечалось выше, при решении многих задач на графах достаточно уметь решать эти задачи для каждой
2-связной компоненты графа. Поэтому представляет интерес взаимное расположение 2-компонент в графе.
Максимальные относительно включения элементы множества связных подграфов графа G, не имеющих точек сочленения, называются его блоками. Таким образом, каждый блок графа либо 2-связен, либо совпадает с Ks или с Кд (граф Ky — блок тогда и только тогда, когда он является связной компонентой). Связный граф без точек
сочленения также называют блоком. Множество вершин блока будем называть блоковым множеством.
Например, граф, изображенный на рис. 34.2, содержит пять блоков Bt (1= 1, 5) (они обведены пунктирными линиями). Среди этих блоков By, В2 и В^ — 2-связные графы, а каждый из двух оставшихся является ребром.
Утверждение 34.2. Любые Эва блока графа имеют не более одной общей вершины. В частности, всякое ребро графа входит только в один его блок.
Утверждение 34.3. Если блок графа содержит вершины а и Ъ, то он содержит и всякую простую (а, Ь)-цепъ этого графа.
Утверждение 34.4. Если вершина и входит более чем в один блок графа G, то v — точка сочленения этого графа.
Эти утверждения непосредственно следуют из перечисленных в начале параграфа простейших свойств 2-связных графов и теоремы 34.1.
Следствие 34.5. Система блоковых множеств графа является покрытием множества его вершин. Каждая пара блоковых множеств либо не пересекается, либо имеет единственную общую вершину, и эта вершина является точкой сочленения графа.
Следующая конструкция дает представление о структуре графа «с точностью до блоков». Пусть В = VB^ и С = {cj — соответственно множества блоков и точек сочленения графа G. Сопоставим с G граф Ъс (G), у которого В U С — множество вершин и VBiCp Bi ^ В, q е С, 140
Cj e 5J — множество ребер. Тем самым, ребра двудольного графа bc(G^ указывают на принадлежность точек сочленения блокам. На рис. 34.3 представлены графы G и bc^G).
Утверждение 34.6. Если граф G связен, то bc(G) — дерево.
Очевидно, что из связности графа G вытекает связность графа bc(^Gy Предположим, что be(G) содержит
Рис. 34.3
цикл С. Пусть этот цикл имеет вид С = (е^, Ь^, с^ bj^ .. ., Cjr b^p с^. Каждый из блоков В^ содержит ^Cjk, с^^-цепь и объединение этих цепей дает простой цикл в графе G. Обозначим этот цикл через С'. Ясно, что С содержит по крайней мере две вершины каждого из блоков В^к. Поэтому из утверждения 34.3 следует, что цикл С' должен содержаться в каждом из этих блоков. Последнее означает, что каждая пара блоков Вгк имеет не менее IСz I >3 общих вершин. Получаем противоречие с утверждением 34.2. <
Граф be (G) называется be-деревом связного графа G. Блоки графа G, соответствующие концевым вершинам его Ьс-дерева, называются концевыми блоками.
Похожее представление графа можно получить, положив в основу его максимальные реберно-2-связные подграфы, т. е. максимальные связные подграфы, не содержащие мостов. Такие подграфы называют листами. Не останавливаясь на деталях, заметим следующее. Каждая вершина графа порядка п > 1 принадлежит в точности одному листу и каждое ребро, не являющееся мостом, входит только в один лист. Таким образом, граф состоит из листов и мостов, соединяющих некоторые из них. Для описания строения графа «с точностью до листов» можно ввести граф, аналогичный графу be (G). Вершины такого графа биективно соответствуют листам
графа G и две его вершины соединены ребром в том и только в том случае, когда соответствующая пара листов в G соединена мостом. Можно показать, что введенный таким образом граф является деревом, если исходный граф связен.
На рис. 34.4 граф G имеет 5 листов Lx, L2, L^ L^ L5 и 4 моста, а граф G' показывает, как связаны между собой листы графа G.
Приведем некоторые результаты о трехсвязных графах, которые будут использованы в главе «Планарность».
Пусть G — связный граф, Н — некоторый его подграф. Простую открытую цепь щ, ^2, . .., vk1 А: ^ 3, графа G назовем Я-цепью, если выполняются условия
Vx е VH, vk е VH, и. ^VH, 1 = 2, к-1.
Ребро е = uv графа G также будем называть Я-цепью, если и РЯ, v <= РЯ, е ^ ЕН.
Лемма 34.7. Пусть G— двусвязный граф. Тогда для всякого его подграфа Н, содержащего более одной вершины и отличного от G, существует Н-цепъ графа G.
Если Я — остовный подграф, то любое ребро графа G, не входящее в ЕН, служит Я-цепью.
Пусть подграф Я не является остовным. Рассмотрим три попарно различные вершины и е VH, v е VH, w ^ ^ VH. По теореме 34.1 в графе G есть простая (и, v)- цепь, проходящая через w. Очевидно существование подцепи этой цепи, являющейся Я-цепью графа G. <
Ниже для и, и е VG положим G^ = G — и — и.
Теорема 34.8. Во всяком 3-связном графе G есть такое ребро ищ что граф Guv не имеет точек сочленения.
Если \G\=n = 4, то утверждение теоремы очевидно. Поэтому будем считать, что п > 5. Предположим противное, т. е. что для любого ребра uv е EG граф Gu* 142
имеет хотя бы одну точку сочленения. Тогда из 3-связности графа G следует, что при любом выборе ребра uv е е EG граф Guv обладает следующими свойствами (рис. 34.5):
если а —- висячая вершина графа GUV1 то av^EG, <iu EG;
всякий висячий блок графа GUd1 не являющийся ребром, содержит такую пару вершин с и d, отличных от точек сочленения графа Guyi что ис е EG, vd s EG;
всякий блок графа GUU1 имею-//
щий ровно две точки сочленения и //-
отличный от ребра, содержит такуюу
вершину Z, не являющуюся точкой сочленения графа Guy, что ul^EG или ul EG.g—
Обозначим через Ви1) максималь-
ный по числу вершин блок графаI | Их
GU1), а через tu1) — число вершин в этом блоке. Теперь выберем ребро рис ^^ ии так, чтобы число tu„ было наибольшим.
Покажем, что в этом случае tul) > 3. Пусть tUD = 2 и а — висячая вершина графа GUd (являющегося деревом). Так как п > 5, то существует ребро cd е EGUV, с^ а, d^ а. Из свойства 1) вытекает, что в графе Gcd существует цикл (и, a, v, и), т. е. tcd>tuv. Получено противоречие, следовательно, tu» > 3.
Через DU1) обозначим бс-дерево графа G™ и рассмотрим следующие случаи.
Дерево Ви13 не является цепью. Выберем в этом дереве цепь, соединяющую пару висячих вершин и проходящую через вершину, соответствующую блоку Вш,. Этой цепи соответствует последовательность Bi, .. ., Вр блоков графа GUV1 среди которых содержится блок 5иу, причем блоки В\ и Вр являются висячими (рис. 34.6).
Пусть В' — произвольный висячий блок графа G™, отличный от Bi и Вр. Из свойств 1) и 2) вытекает существование таких отличных от точек сочленения графа GUu вершин a е VB\, b е VBP, с е VB\ что ис е EG, va е EG, vb s EG. Тогда в графе Guc вершины множества р (J VBi J v входят в один блок и, следовательно, tuv< г=1 < tuc. Последнее противоречит выбору ребра ии.
Дерево Buv — цепь и Buv — блок графа СиУ1 не яв-
ляющийся висячим. Пусть 5Ь ..., 5Р — последовательность всех блоков графа G, причем блоки 51 и Вр — висячие, В г П 5i+1 0 (i = 1, р — 1), Suv = Вк (\<к <р) (рис. 34.7). Согласно свойству 3) найдется вершина Ье е VBUP, отличная от точек сочленения графа GU1), смежная с и или с v. Пусть ub е EG. Согласно свойствам 1) и 2) существуют такие отличные от точек сочленения
графа GU1) вершины а е VBi, с s VBP, что иа е EG, vc е ^ EG. Легко видеть, что в графе G^ имеется блок, содер- к
жащий все вершины множества U VB^ U и* Поэтому 1=1
^с > к^ и снова получаем противоречие.
Дерево DU1) — цепь и Ви1) — висячий блок графа GUT. Если граф GUP содержит такое ребро зд, что VBU1) П Г1 {я, у} = 0, то, используя свойство 2), легко показать, что в графе G^ есть блок, содержащий множество вершин VBuy U {щ р}, а, значит tup < txy Так как Ви1) — висячий блок графа Gu^ то последнее означает, что граф GU1) состоит из блока Ви„ и ребер abin ab^ ..., abt (рис. 34.8). Из 3-связности графа G следует, что граф G — а не имеет точек сочленения. Поскольку в графе G — а вершина Ъ\ смежна только с вершинами и и щ a uv е EG, то граф Gab также не имеет точек сочленения, что противоречит предположению.
Таким образом, показано, что во всяком 3-связном графе G существует такое ребро ии, что граф Guv не имеет точек сочленения. <
Следствие 34.9. Всякий 3-связный граф с числом
вершин п^ 5 содержит ребро, стягивание которого приводит к 3-связному графу.
Gx, для которогоGx, для которогоРис. 34.8Рис. 34.8> Доказательство также проведем от противного. Пусть, стягивая некоторое ребро х = uv 3-связного графа G в вершину х, получаем г и(СУ = 2. (Равенство %(GX)“1 невозможно в силу 3-связности графа G.) Тогда в графе Gx существуют две вершины, удаление которых делает его несвязным. Одной из них должна быть х (в противном случае x(G)=2). Удалению вершины х из Gx соответствует удаление вершин и и v из графа G. Поэтому для любого ребра х = uv е EG граф G имеет такую вершину ш, что граф G — — и — v — w несвязен. Вершина
Gx, для которого
Gx, для которого
Рис. 34.8
Рис. 34.8
ш является точкой сочленения графа Gue, что противоречит предыдущей теореме. <
Отметим еще без доказательства следующую теорему (см. обзор [21]).
Теорема 34.10. Почти все графы двусвязны.
Поскольку каждый мост инцидентен точкам сочлене-
ния графа, то из этой теоремы вытекает Следствие 34.11. Почти все графы не содержат
мостов.
Теорема Менгера
Из теоремы 34.1 следует, что граф 2-связен тогда и только тогда, когда любые две его несовпадающие вершины а и Ъ соединены парой простых (а, Ь)-цепей, не имеющих общих вершин, за исключением а и Ь. Аналогичный критерий /с-связности справедлив при произвольном к.
Говорят, что множество вершин S разделяет несмеяс- ные вершины а и Ъ связного графа G, если в графе G — S вершины а и Ъ принадлежат различным связным компонентам. В этой ситуации множество S называют также сепаратором или (а, Ъ)-сепаратором. Две (а, Ь)-цепи графа G называют непересекаюи^имися, если у них нет общих вершин, за исключением а и Ъ, и реберно-непересе- кающимися, если у них нет общих ребер. Очевидно, не-
145145Ю в. А. Емеличев и др.
145
145
пересекающиеся цепи являются и реберно-непересекаю- щимися, а обратное, вообще говоря, неверно.
К. Менгер доказал в 1927 году следующую теорему, устанавливающую соотношение между числом непересе- кающихся простых цепей, соединяющих две несмежные вершины графа, и его связностью.
Теорема Менг ер а. Наименьшее число вершин, разделяющих две несмежные вершины графа а и Ь, равно наибольшему числу попарно непересекающихся простых (а, ЪУцепей этого графа.
Приведем доказательство, принадлежащее В. Маквай- гу (1982 г.).
> Ясно, что если к вершин разделяют а и Ъ, то существует не более к попарно непересекающихся (а, 6)- цепей. Остается показать, что если в графе G нет множества, содержащего менее чем к вершин, разделяющих несмежные вершины а и Ъ, то в нем имеются к попарно непересекающихся цепей. Используем индукцию по к. Утверждение правильно при к = 1. Предположим, что оно верно для некоторого й>1. Рассмотрим граф G, в котором несмежные вершины а и Ъ нельзя разделить множеством, содержащим менее чем к + 1 вершин. По предположению индукции в G имеется к попарно непересекающихся (а, 6)-цепей Pi, Р2, ..., Рк- Рассмотрим множество вторых (считая а первой) вершин в этих цепях. Это множество состоит из к вершин и, следовательно, юно не разделяет вершины а и Ъ. Значит, имеется (а, 6)- цепь Р, первое ребро которой не принадлежит ни одной из цепей Pt (i — 1, к). Пусть v — первая, считая от а, вершина Р, принадлежащая одной из Р< (i = 1, к), и пусть Р^х обозначает (a, v) -подцепь цепи Р. Цепи Р\, . . ., Рк, Рк+х могут быть выбраны, вообще говоря, многими различными способами. Выберем их так, чтобы в графе G — а расстояние от и до Ъ было минимально. Если окажется, что v = Ъ, то Рх, Р^ . . ., Рк+х будет требуемым набором из к + 1 цепей. Допустим, что и^Ь. Тогда в графе G — v вершины а и Ъ нельзя разделить множеством, содержащим менее чем к вершин. По индуктивному предположению в этом графе имеется к непересекающихся (а, 6)-цепей Q\, Q^, ..., Qk, которые могут быть выбраны разными способами. Выберем их так, чтобы множество
L = EG\ U ЕР г
включало минимальное число ребер этих цепей. Иначе- говоря, цепи Qi должны состоять «в основном» из ребер цепей Pi. Рассмотрим теперь граф Я, состоящий из вершин и ребер цепей @i, Q2, .. ., Qh и вершины v (эта вершина будет в графе Н изолированной). Пусть Рт — одна из цепей Pi Ц = 1, к + 1), у которой ребро, инцидентное вершине а, не принадлежит ЕН. Ясно, что такая цепь среди Р4 Ц = 1, к + 1) найдется, поскольку число их равно кА- 1, а цепей Qtl составляющих Н, только к. Пусть, далее, ос — первая, считая от а, вершина Рг, входящая в VH.
Если х = 6, то, добавив цепь Рт к Q\s Q^1 .. ., Qk1 получим требуемый набор из к + 1 (а, Ь)-цепей. Допустим, что х ^ Ь, и рассмотрим другие возможности для х.
Если х = щ то обозначим через R кратчайшую (и, Ь)-цепь в G — а. Пусть 2—первая, считая от и, вершина цепи R, лежащая на некоторой Q5 (/=1, к). Объединим цепь Рт с (v, z) -подцепью цепи R и обозначим полученную (а, 2)-цепь через <2а+ь Цепи ()i, Q^1 . . ., Q^ Qk+i обладают тем свойством, что расстояние в графе G — а от z до Ъ меньше, чем расстояние от v до 6, а это противоречит выбору Pi, Р2, . .., Рк1 Рд+ь
Рассмотрим теперь последнюю возможность: х принадлежит некоторой цепи Qi ^i= 1, к). В этом случае (а, х) -подцепь цепи Qt имеет ребра в L, иначе бы две цепи в {Pi, Р2, . . ., Рк1 Рк+\} пересекались в вершинах, отличных от a, b, v. Заменив теперь (а, х) -подцепь Qi на (я, х)-подцепь Рг, получим непересекающиеся (а, 6)-цепи в графе G — v, и эти цепи будут использовать меньше ребер из L, чем ^1, . . ., Qk. Снова получаем противоречие, которое и завершает доказательство теоремы. <
Из теоремы Менгера непосредственно вытекает
Теорема 35.1 (X. Уитни, 1932 г.). Граф к-связен тогда и только тогда1 когда любая пара его несовпадающих вершин соединена по крайней мере к непересекаю- щимися цепями.
Имеется несколько аналогов и обобщений теоремы Менгера. Здесь мы остановимся на реберном варианте этой теоремы.
Во многих прикладных задачах приходится рассматривать множество ребер (а не вершин, как ранее), разделяющих вершины а и Ъ графа G, т. е. такое множество ребер Я, что а и Ъ входят в различные компоненты графа G — R. Минимальное относительно включения мно-
жество R с этими свойствами называется (а, Ъ)-разрезом графа G.
Теорема 35.2. Наибольшее число реберно-непересе- кающихся цепей, соединяющих две вершины графа, равно наименьшему числу ребер, разделяющих эти вершины.
> Доказательство этой теоремы легко получить, используя теорему Менгера. С этой целью сопоставим графу G граф G', который получается из G следующим образом. Каждая вершина v г VG заменяется группой из
deg и попарно смежных вершин, а ребра графа G', соединяющие вершины из разных групп, находятся в биективном соответствии с ребрами графа G (рис. 35.1). Если в графе G нет (а, Ь)-разреза, содержащего менее чем к ребер, то в G' нет множества, имеющего менее чем к вершин, разделяющего какую-либо пару вершин а , Ъ' из групп, соответствующих а и Ъ. Тогда по теореме Менгера вершины а и Ъ' соединены в G' по крайней мере к вер- шинно-пепересекающимися цепями, которым соответствует столько же реберпо-пепересекающпхся (а, 6)-цепей графа G.
С другой стороны, ясно, что граф, имеющий (а, Ь)-разрез из к ребер, может содержать не более к реберно-непе- ресекающихся (а, 6)-цепей. <
УПРАЖНЕНИЯ
Докажите, что Х^К^ = п— 1.
Докажите, что для всякого кубического графа G справедливо равенство x(G) = X(G').
Докажите, что кубический двудольный граф не имеет мостов.
148
Пусть [G| ^4 и G —- минимально 2-связный граф, т. е. такой, который перестает быть 2-связным при удалении любого ребра. Покажите, что G не содержит треугольников.
Покажите, что в минимально 2-связном графе любая вершина смежна с вершиной степени 2.
Пусть G— связный граф и |G| > к. Покажите, Sto граф Gh является /с-связным.
Покажите, что реберный граф L(G') любого /с-связного графа G также является ^-связным.
Докажите, что в 3-связном графе через любые три вершины проходит простой цикл.
Докажите или опровергните утверждение: всякий 2-связный граф G, для которого 6(G) ^4, содержит два реберно-непересе- кающихся остовных дерева.
Докажите или опровергните утверждение: граф, являющийся объединением двух реберно-непересекающихся остовных деревьев, 2-связен.
Какое наибольшее число точек сочленения может быть в графе порядка п?
Докажите, что граф, полученный из /с-связного графа удалением s ребер (з < к'), является (к — з)-связным.
Докажите, что для любого ^-связного графа G число па- росочетания ai(G) удовлетворяет неравенству
«1(G) > [(^ + D/2]
([а] обозначает наибольшее целое число, не превосходящее а).
Пусть X — минимальное разделяющее множество вершин графа G и GXl G^ ..., Gk — компоненты графа G — X. Докажите, что для любых хеХ и г = 1, к найдется такая вершина у е VG^ что ху е EG.
Глава VI
Планарность
§ 36. Плоские и планарные графы
Во многих случаях не имеет значения, как изобразить граф, поскольку изоморфные графы несут одну и ту же информацию. Однако встречаются ситуации, когда важно выяснить, возможно ли нарисовать граф на плоскости так, чтобы его изображение удовлетворяло определенным требованиям. Например, в радиоэлектронике при изготовлении микросхем печатным способом электрические цепи наносятся на плоскую поверхность изоляционного материала. А так как проводники не изолированы, то они не должны пересекаться. Аналогичная задача возникает при проектировании железнодорожных и других путещ где нежелательны переезды.
Таким образом возникает понятие плоского графа. Плоским графом назовем граф, вершины которого являются точками плоскости, а ребра — непрерывными плоскими линиями без самопересечений, соединяющими соответствующие вершины так, что никакие два ребра не
Рис. 36.1Рис. 36.1
Рис. 36.1
Рис. 36.1
имеют общих точек, кроме инцидентной им обоим вершины. Примеры плоских графов даны на рис. 36.1.
Любой граф, изоморфный плоскому графу, будем называть планарным. Граф К^, изображенный на рис. 36.2, является планарным, так как он изоморфен графам на 150
рис. 36.1, б, в. На том же основании граф на рис. 36.3, а планарен, поскольку графы, представленные на рис. 36.3, л, б, изоморфны.
Очевидны следующие утверждения;
всякий подграф планарного графа планарен\
граф планарен тогда и только тогда, когда каждая ^го связная компонента — планарный граф.
Рис. 36.2Рис. 36.2О планарных графах говорят, что они укладываются на плоскости (имеют плоскую укладку). В дальнейшем будут рассматриваться укладки графов не только на
Рис. 36.2
Рис. 36.2
Рис. 36.3
плоскости, но и на других поверхностях и в пространстве. Поэтому дадим определение укладки графа в произвольное пространство.
Прежде всего введем понятие эхордановой кривой, под которой будем понимать непрерывную спрямляемую линию, не имеющую самопересечений.
Будем говорить, что граф G укладывается в пространство L, если существует такое отображение вершин и ребер графа G соответственно в точки и жордановы кривые этого пространства, что различным вершинам соответствуют различные точки, а кривые, соответствующие различным ребрам, пересекаются только в инцидентных этим ребрам вершинах. Изображенный таким образом граф называется укладкой графа G в пространство L.
Теорема 36.1. Каждый граф укладывается в трехмерное пространство Е\
Все вершины графа G помещаем в различные точки оси ОХ. Из пучка плоскостей, проходящих через эту ось, выберем IS’GI различных плоскостей. Далее, каждое ребро uv е EG изображаем в соответствующей плоскости полуокружностью, проходящей через вершины и и v. Понятно, что в результате получаем укладку графа G в Е\ так как все ребра лежат в разных плоскостях и потому не пересекаются во внутренних точках. <
Теорема 36.2. Граф укладывается на сфере тогда и только тогда, когда он планарен.
> Для доказательства этой теоремы достаточно рассмотреть стереографическую проекцию (рис. 36.4) ► Пусть граф G уложен на сфере. Проведем плоскость Q, касательную к сфере, так, чтобы северный полюс N (точка, диаметрально противоположная точке касания) не лежал на ребре и не совпадал с вершиной графа G. Теперь рассмотрим граф G', полученный стереографической проекцией графа G из точки N на плоскость Q. Поскольку существует биективное соответствие между точками сферы, отличными от N, и их стереографическими проекциями, то граф G' плоский и изоморфен графу G. Следовательно, G —- планарный граф.
Обратное утверждение доказывается аналогично с учетом установленной биекции. <
Определения плоского и планарного графов, так же как и теоремы 36.1, 36.2 и многие другие утверждения
этой главы, сохраняются и применительно к мульти- и псевдографам.
Следующая классическая головоломка наводит на мысль, что существуют не только планарные графы.
Задача о трех домах и трех колодцах. Имеются три дома 1, 2, 3 и три колодца 4, 5, 6 (рис. 36.5). Каждый хозяин пользуется любым из трех колодцев. В некоторый момент обитатели домов решили проложить дорожки до колодцев так, чтобы исключить встречи на дорожках, т. е. чтобы дорожки не пересекались. Возникает вопрос: возможно ли это, т. е. возможно ли построить плоскую укладку графа Т^з.з? Все попытки нарисовать девять непере- секающихся дорожек, соединяющих дома с колодцами, заканчиваются неудачей. При этом легко нарисовать восемь непересекающихся дорожек, но девятая обязательно пересечет хотя бы одну из этих восьми. Оказывается, что неудачи не случайны. Ниже будет доказано, что граф Т^з.з не укладывается на плоскости, т. е. не является планарным.
На самом деле не только существуют непланарные графы, но верно утверждение, приводимое ниже без доказательства (см. [21]).
Утверждение 36.3. Почти все графы не являются планарными.
§ 37. Грани плоского графа. Формула Эйлера
Рис. 37.1Рис. 37.1самым каждая точкаодной грани плоскогосамым каждая точкаодной грани плоскогоГранью плоского графа называется максимальное по включению множество точек плоскости, каждая пара которых может быть соединена жордановой кривой, не пересекающей ребра графа. Тем плоскости принадлежит хотя бы графа. Границей грани будем считать множество вершин и ребер, принадлежащих этой грани.
Рис. 37.1
Рис. 37.1
самым каждая точкаодной грани плоского
самым каждая точкаодной грани плоского
На рис. 37.1 изображен граф с четырьмя гранями. Отметим, что всякий плоский граф имеет одну, и притом единственную, неограниченную грань (на рис. 37.1 грань 4).
Такая грань называется внешней, а остальные грани —- внутренними.
Легко видеть, что всякую внутреннюю грань плоского графа G можно преобразовать во внешнюю с помощью стереографической проекции. Для этого, воспользовавшись теоремой 36.1, уложим граф G на сфере так, чтобы северный полюс оказался внутри выбранной грани. Далее рассмотрим стереографическую проекцию G' графа G на плоскость, касающуюся сферы в южном полюсе, т. е. в точке, диаметрально противоположной северному полюсу. Очевидно, что выбранная грань графа G станет при этом внешней в С', а внешняя грань графа G — внутренней гранью графа G', который изоморфен графу G. На рис. 37.2 представлен граф, получающийся из графа, изображенного на рис. 37.1, путем такого преобразования. При этом внутренняя грань 1 стала внешней.
Понятие грани естественным образом распространяется на псевдо- и мультиграфы (рис. 37.3).
Сформулируем несколько очевидных свойств плоских укладок графа, которые в дальнейшем будем неоднократно использовать, порой и не ссылаясь на них.
Свойство 1. Всякий планарный граф допускает такую плоскую укладку, в которой любая выбранная вершина (ребро) графа будет принадлежать внешней грани.
Свойство 2. Пусть граф G состоит из двух связных компонент G\ и G^ являющихся плоскими графами*
Рис. 37.2Рис. 37.2Рис. 37.3Рис. 37.3
Рис. 37.2
Рис. 37.2
Рис. 37.3
Рис. 37.3
и произвольным образом выбраны вершины и\ ^ VG\ и v^VG^. Тогда граф G, полученный из G слиянием вершин и\ и V2 в вершину и, имеет плоскую укладку. При этом вершина v является точкой сочленения графа G (рис. 37.4).
Аналогично можно «склеивать» два плоских графа и по ребру.
Свойство 3. Всякие две вершины, принадлежащие границе некоторой грани плоского графа, можно соеди-
Рис. 37.4Рис. 37.4
Рис. 37.4
Рис. 37.4
нить простой цепью произвольной длины так, что выбранная грань разобьется на две грани.
Отметим, что это свойство является следствием известной теоремы Жордана о кривой.
Свойство 4. Для любого плоского графа каждая точка плоскости, не лежащая на ребре, входит только в одну грань, а каждая точка ребра, не являющаяся вершиной, входит только в одну грань, если это ребро является мостом, и точно в две грани, если оно не мост.
Далее будем пользоваться следующими обозначения-
ми: п, т, /—соответственно число вершин, ребер и граней плоского графа.
Теорема Эйлера (1758 г.). Для всякого связного плоского графа верно равенство
n-m + f = 2.(1)
Равенство (1) называется формулой Эйлера.
Пусть G — связный плоский гг-вершинный граф. Рассмотрим некоторый остов Т этого графа. Очевидно, что дерево Т имеет одну грань (внешнюю) и п вершин. В то же время известно (см. теорему 13.1), что число ребер дерева Т равно ft—1. Поэтому для графа Т формула (1) верна. Теперь будем поочередно добавлять к Т недостающие ребра графа G. При этом на каждом шаге число вершин, естественно, не меняется, а число ребер и число граней увеличивается на единицу на основании свойства 3. Следовательно, формула (1) будет верна для всякого графа, получающегося в результате таких операций (шагов), а поэтому она верна и для графа G, которым заканчивается вся эта процедура. <
Из теоремы Эйлера вытекает ряд интересных следствий.
Прежде всего, рассмотрим в трехмерном пространстве выпуклый многогранник с п вершинами, ш ребрами и / гранями. Очевидно, что спроектировав этот многогранник на описанную около него сферу, далее уложив его так, чтобы северный полюс находился внутри одной из граней, и произведя затем стереографическую проекцию, получим связный плоский граф. Поэтому справедливо
Следствие 37. 1. У всякого выпуклого многогранника сумма числа вершин п и числа граней / без числа ребер m равна двум; n + f—m = 2.
Доказательство именно этой формулы и было впервые опубликовано Л. Эйлером в 1758 г. в «Записках Петербургской академии наук».
Следствие 37.2. Число граней любой плоской укладки связного планарного (п, m^-графа постоянно и равно m — п + 2.
Другими словами, число / является инвариантом планарного (ft, тгг)-графа, т. е. не зависит от способа укладки этого графа на плоскости.
Следствие 37.3. Для связного планарного (п,т)- графа m ^ Зп — 6 при ft > 3.
1 Не теряя общности, будем считать, что G — плоский граф. Прежде всего заметим, что всякое ребро
плоского графа либо разделяет две различные грани, либо является мостом (см. свойство 4). Поскольку G — граф без петель и кратных ребер, то всякая грань ограничена по крайней мере тремя ребрами (исключение составляет лишь случай, когда G — дерево с тремя вершинами, но для такого графа неравенство Зп — 6 ^ т справедливо)» Поэтому число 3/ является оценкой снизу удвоенного числа ребер графа G, т. е. 3/ ^ 2т. Отсюда, учитывая, что по формуле Эйлера / = т — п + 2, приходим к требуемому неравенству. <
Из этого следствия сразу же получаем Утверждение 37.4. Граф К^ не планарен.
Действительно, для графа As /г = 5, m=W Поэтому неравенство Зп — 6 ^ т превращается в неверное: 9 ^ 10, т. е. граф К^ не может быть планарным. <
Утверждение 37.5. Граф Кз,з не планарен.
Для рассматриваемого графа п = 6, т = 9. Поэтому, если бы он был планарным, то для любой его плоской укладки выполнялось бы / = 5 согласно следствию 37.2. В то же время всякая грань двудольного графа Кз^ должна быть ограничена по меньшей мере четырьмя ребрами. Следовательно, 2т ^ 4/, т. е. 18 > 20. Полученное противоречие доказывает утверждение 37.5. <
Мы особо останавливаемся на графах К^ и К^ поскольку, как мы увидим в § 39, эти графы являются минимальными непланарными графами и играют важную роль во многих критериях планарности.
Из теоремы Эйлера вытекает также
Следствие 37.6. Если в связном плоском (п,т)- графе граница каждой грани является r-циклом, г^З, то
m^r — 2) = т^п — 2).
Так как каждая грань графа ограничена г-циклом, то каждое ребро принадлежит ровно двум граням, т. е. fr — 2m. Подставляя сюда / из формулы Эйлера, получаем искомый результат. <
Очевидно, что не всегда граница грани плоского графа является простым циклом (см., например, грань 2 на рис. 37.1). Однако для 2-связных графов это так. А именно, верна следующая
Теорема 37.7. Плоский граф двусвязен тогда и только тогда, когда границей всякой его грани является простой цикл.
Необходимость. Доказательство проведем от противного. Пусть существует плоский 2-связный граф G, в котором некоторая грань ограничена не простым циклом. Поскольку граф G содержит хотя бы один простой цикл, то существует такой максимальный 2-связный подграф Н графа G, что граница каждой его играни является простым циклом. При этом Н ^ G. По лемме 34.7 в G существует Я-цепь. Эта простая цепь должна разбивать некоторую грань плоского графа Я на две грани» Очевидно, что каждая из этих граней ограничена простым циклом. Однако это противоречит выбору подграфа Я.
Достаточность. Допустим, что плоский граф^ каждая грань которого ограничена простым циклом, не является 2-связным. Тогда граф имеет точку сочленения. Но это значит, что существует грань, ограниченная не простым циклом. <
Теорема 37.8. Связный граф планарен тогда и только тогда, когда каждый его блок планарен.
Необходимость очевидна.
Достаточность докажем индукцией по числу блоков к. Если к = 1, то утверждение очевидно. Пусть граф G состоит из к > 1 планарных блоков. Согласно утверждению 34.6 существует хотя бы один концевой блок В, имеющий точку сочленения и. Поскольку подграф G — — (Я — v) содержит к — 1 блоков, то по предположению индукции он планарен. Следовательно, существует такая его плоская укладка, что вершина и находится на внешней грани. Точно так же граф В имеет плоскую укладку с вершиной и на внешней грани. Поэтому объединение (G — (В — у)) U В, изоморфное графу G, имеет плоскую укладку па основании свойства 2. <
Из теоремы 37.8 следует, в частности, что для выяснения вопросов, связанных с планарностью, достаточна рассматривать лишь 2-связные графы.
38. Плоские триангуляции
В этом параграфе изучается особый класс графов — плоские триангуляции. Такие графы интересны тем, что всякий планарный граф порядка п изоморфен подграфу некоторой плоской триангуляции с п вершинами.
Грань плоского графа, ограниченную треугольником (3-циклом), также будем называть треугольником.
Связный плоский граф называется плоской триангуляцией, если каждая его грань (в том числе и внешняя)
является треугольником. Тем самым, плоская триангуляция содержит не менее трех вершин.
Максимальным плоским (планарным) графом называется n-вершинный (п > 3) граф, который перестает быть плоским (планарным) при добавлении любого ребра. На рис. 38.1 приведены максимальный и не максимальный плоские графы. Разумеется, что от добавления
Рис. 38.1Рис. 38.1
Рис. 38.1
Рис. 38.1
Рис. 38.2Рис. 38.2
Рис. 38.2
Рис. 38.2
кратных ребер планарность графа не нарушается. Однако мы условились рассматривать лишь простые графы.
Теорема 38.1. Граф является максимальным плоским графом тогда и только тогда, когда он представляет собой плоскую триангуляцию.
> Необходимость. Пусть G— максимальный плоский граф. Прежде всего заметим, что граф G является 2-связным. Поэтому по теореме 37.7 всякая грань Г такого графа, не являющаяся треугольником, ограничена простым циклом (щ, ^2, ^з, щ, . . ., щ), содержащим не менее четырех вершин. Так как G — плоский граф, то он
не может одновременно содержать ребра и 1^3 и ^2^4 (ведь эти ребра должны быть изображены вне грани Г, см. рис. 38.2). Предположим, например, что VyUs^EG. Тогда после добавления ребра v\va в грань Г граф G остается плоским, что противоречит его максимальности (рис. 38.2).
Достаточность. Пусть G — плоская триангуляция. Так как G — связный граф, то очевидно, что вся
кое ребро, после добавления которого граф G остается плоским, должно разбивать некоторую грань графа G на две грани. Однако в плоской триангуляции всякая грань — треугольник и, следовательно, разбить ее на две путем добавления ребра невозможно. <1
Теорема 38.1 дает следующее важное
Следствие 38.2. Всякий плоский граф является остовным подграфом некоторой плоской триангуляции.
Иными словами, каждый плоский граф можно дополнить ребрами так, что он станет плоской триангуляцией»
Из теоремы 38.1 и следствия 37.6 (при г = 3) вытекает
Следствие 38.3. Для всякого максимального планарного (п, т)-графа т = Зп — 6.
Утверждение 38.4. Если число вершин плоской триангуляции не меньше четырех, то степень каждой вершины не менее трех.
Возьмем произвольную вершину и. Пусть ш — смежная с ней вершина. Ребро vw принадлежит двум граням— треугольникам (р, ш, их) и (р, ш, U2^ причем и\ ^ U2, так как число вершин графа не меньше четырех» Таким образом, v смежна по крайней мере с тремя вершинами W, Ux, U2. <1
Утверждение 38.5. Всякий планарный граф с п^ 4 вершинами имеет по крайней мере 4 вершины со степенями, не превосходящими 5.
Без потери общности будем считать граф G плоским. Добавляя ребра, сделаем граф G максимальным плоским графом G', каждая вершина которого в силу утверждения 38.4 имеет степень не меньше 3. Поэтомуу принимая во внимание следствие 38.3 и лемму о рукопожатиях (утверждение 5.1), получаем
2 (Зп — 6) = 2m = Зп3 + 4п4 + 5пь + . -. ^
> 3 (и3 + п4 + п5) + 6 S "ir i^6
где п — число вершин графа G', m — число его реберу а щ — число вершин степени ъ в этом графе. Отсюда, учитывая, что п = Vj п^ легко получаем
1^3
П^ + П^ + П^ > 4,
т. е. в графе G', а тем более в графе G, имеется по крайней мере 4 вершины со степенями, не превышающими 5. <
Критерии планарности
Имеется несколько критериев планарности графа. Мы рассмотрим характеризации планарности графов, данныо Л. С. Понтрягиным, К. Куратовским, К. Вагнером и С. Маклейном. Следует заметить, что практическая проверка условий, которыми ниже характеризуются планарные графы, не всегда является простой. Однако разрабо-
159
таны эффективные алгоритмы, позволяющие для любого заданного графа или найти его плоскую укладку, или установить, что граф непланарен. Один из таких алгоритмов приведен в § 41.
Для того чтобы сформулировать широко известный критерий Понтрягина — Куратовского, введем понятие гомеоморфизма графов. Нам понадобится операция подразбиения ребра е = ab графа. Она состоит в следующем: из графа удаляется ребро е и до- бавляются два новых ребра е\ = аи, / I ) L т €2 = vb, где v — новая вершина.
Ч/ Два графа называются гомео-
\/у /морфными, если оба они могут
\ /\ /быть получены из одного и того
\ /\/же графа подразбиением его ре-
VVбер.
Рис. 39.1На рис. 39.1 изображены гомео
морфные графы.
Если граф планарный, то очевидно, что любой граф, гомеоморфный ему, также является планарным.
Исторически первым критерием планарности графов является следующий критерий, доказанный Л. С. Понтрягиным (1927 г.) и К. Куратовским (1930 г.) независимо друг от друга.
Теорема Понтрягина — Куратовского. Граф планарен тогда и только тогда, когда он не содержит подграфов, гомеоморфных Кз или Кз^.
Тем самым можно утверждать, что многие графы пе- планарны и независимо от того, как они изображены на плоскости, некоторые их ребра обязательно пересекаются.
Необходимость условий теоремы уже доказана, поскольку доказана непланарность графов Кз и Кз,з (следствия 37.4 и 37.5). Для доказательства достаточности требуются новые понятия и теоремы. Попутно будет доказано, что всякий планарный граф можно уложить на плоскости так, что каждое его ребро будет отрезком прямой.
Ранее было показано (см. теорему 37.8), что граф планарен тогда и только тогда, когда планарны его двусвязные компоненты. Оказывается, будет достаточно, если мы, касаясь вопросов, связанных с плоской укладкой 2-связного графа G, рассмотрим лишь 3-связные графы, полученные из G специальным образом.
Пусть x(G) = 2, 1GI ^4. Из определения двусвязности вытекает существование вершин a, b ^ VG, таких что 160
граф Н = G — а — Ъ не связен. Рассмотрим следующее преобразование А графа G. Пусть Я1, Я2, ..., Нт — связные компоненты графа Н. Для каждой такой компоненты Нг рассмотрим граф Gi, порожденный в G множеством VHi U a U Ъ и дополненный ребром ab, если аЪ ^ ^ EG. В результате преобразования А получаем семейство графов Gi, G^ ..., Gr, причем |GJ 3, x(Gi)^2 (f = 1, г) (рис. 39.2).
Теорема 39.1. Пусть %(G)=2, |G|>4. Граф G планарен тогда и только тогда, когда планарен каждый граф Gi, полученный в результате преобразования А.
> Необходимость. Если G— планарный граф, то любой его подграф, в том числе Gi = G^VG^, планарен. Если Gi содержит ребро аЪ, то Gi = Gi. В противном
Рис. 39.2Рис. 39.2
Рис. 39.2
Рис. 39.2
случае по лемме 34.7 в G существует Gi-цепь L, соединяющая вершины а и Ъ. Подграф Gi U L планарен, но он гомеоморфен графу Gt.
161161Достаточность. Пусть все графы Gi, G2, ..., Gr планарны. Пусть Р\, Рэ, ..., Рт — соответствующие им плоские укладки, у которых ребро аЪ лежит па внешней грани. Будем последовательно объединять графы Р\, Р^ ..., Рт* Сначала построим такую укладку объединения Я12 графов Р\ и Р2, в которых имеется общее ребро ab, что граф Р2 лежит на внешней грани графа Pi. Затем изобразим Р\ 2 так, чтобы ребро ab оказалось на внешней грани, и используя прежний прием, построим объединение Pi^^ графов Р\ 2 и Р3 (рис. 39.3) и т. д., пока не объединим все графы Ру, Р2, .. ., Рг. Полученный в резуль-
161
161
11 В. А. Емеличев и др.
тате плоский граф ^1,2,..., г может отличаться от исходного графа G только ребром ab. <
Следствие 39.2. Всякая плоская триангуляция, имеющая более трех вершин, 3-связна.
> Доказательство проведем от противного. Предположим, что G — плоская триангуляция и x(G)=32. Пусть
а и Ъ — такие вершины, что граф G — а — Ъ не связен. Совершив преобразование А графа G, получим, согласно теореме 39.1, планарные графы G\, G^ .. GT. Пусть Р\, Р^ ..., Рт — соответствующие им плоские укладки, в которых ребро ab лежит на внешней грани. Объединим их
последовательно, как это делалось при доказательстве теоремы 39.1. При этом па последнем шаге, объединив & графы Р\дг-1 и РТ1 получаем граф Р\ 2, ...,г, внешняя грань которого содержит (поскольку1Л1 ^ 3) не
смежные вершины с е VP\ 2 . r-i и d^VPT, c.d^U. Ы(рис/ 39.4),
\т. е. Pi,2г, а, следовательно, и G
)не является плоскойтриангуляци-
Vей. <
Вернемся к графу G, для которо- Рис. 39.4го x(G) = 2, |G| > 4.Если среди
графов Gb G2, ..., GT, полученных с помощью преобразования А, есть граф Gin для которого х(Сг) = 2, IGJ > 4,то к нему вновь можно применить преобразование А и т. д. до тех пор, пока это преобразование будет возможным. Поэтому справедливо
Утверждение 39.3. Пусть ^^G^= 2, |Gl ^ 4. Тогда в результате многократного применения преобразования А к графу G будет получено такое семейство графов
G^G^, .. e1GR, что для любого i = 1, R либо G^=K3, либо х(бЭ>3.
Поскольку Т^з — планарный граф, то пз теоремы 39.1 и утверждения 39.3 следует, что вопрос о планарности 2-связных графов свелся к вопросу о планарности 3-связных графов.
Прежде чем формулировать критерий планарности 3-связпых графов, докажем лемму.
Лемма 39.4. Пусть u^G^=2, |G|^4. Пусть, далее, G^ Gs, .. ., Gr — графы, полученные в результате преобразования А, и аЪ — ребро этих графов, не принадлежащее графу G. Тогда для любого г = 1, т существует Gi-цепь графа G, соединяющая вершины а и Ъ.
Поскольку x(Gh)^2 для любого к = 1, г, то по теореме 34.1 ребро аЪ принадлежит некоторому простому циклу графа Gk. При любом к =т^ г часть этого цикла, пе содержащая ребра ab, и служит искомой Gi-цепыо. <
Плоский граф назовем выпуклым прямолинейным графом, если границей каждой его грани является выпуклый многоугольник. Напомним, что многоугольник называется выпуклым, если оп целиком расположен по одну сторону от любой прямой, на которой лежит сторона многоугольника, и никакие две его стороны пе лежат на од- ной прямой.
Теорема 39.5. Если граф 3-связный, то он либо изоморфен выпуклому прямолинейному графу, либо содержит подграф, гомеоморфный Кь или Кз^.
Доказательство проведем индукцией по числу п вершин графа. Для п^ 4 утверждение теоремы верно, так как граф К^ изоморфен выпуклому прямолинейному графу (см. рис. 36.1, б), а других 3-связных четырехвер- шинпых графов не существует.
Пусть G — 3-связный граф, Ю1 = п > 5 и для всех графов с меньшим числом вершин теорема верна. Согласно следствию 34.9 в графе G есть такое ребро х = ии, что граф Gx, полученный из G в результате стягивания этого ребра, является 3-связпым. Пусть Gx содержит подграф И, гомеоморфный К^ (рис. 39.5, а). Покажем, что тогда граф G содержит подграф, гомеоморфный К^ или К^^. Это очевидно в случае, когда И не содержит вершины х, полученной в результате стягивания ребра х, или содержит ее в качество вершины степени 2. Пусть теперь степень каждой из вершин a, b, с, d, х в Н равна четырем. Тогда вершина х соединена простыми непересекаю- 11* 163
щимися цепями Е^ Е^ Е^ Е^ с вершинами а, Ь, с, d соответственно. В графе G этим цепям соответствуют пе- пересекающиеся простые цепи Lx, L^n Ьз, L^ соединяющие каждую из вершин a, b, с, d с одной из вершин и или v. Если одна из этих вершин, например и, принадлежит трем или четырем цепям, то в G существует подграф, гомеоморфный Кг (рис. 39.5, б). А если каждая из
вершин м и к принадлежит ровно двум цепям, то в G су* ществует подграф, гомеоморфный К33 (рис. 39.5, в, г).
Аналогично можно показать, что если Gx содержит подграф, гомеоморфный К^^ то и G содержит подграф, гомеоморфный Кз^.
Пусть теперь в Gx нет подграфов, гомеоморфных графам Кз или Кз,з. По индуктивному предположению существует выпуклый прямолинейный граф GX1 изоморфный графу Gx. Тогда Gx — х — 2-связпый плоский граф, каждая грань которого, по теореме 37.7, ограничена простым циклом.
Как обычно, через NG(v) обозначим окружение вершины к в графе G. Пусть С — простой цикл, ограничивающий грань графа Gx — х, которая содержит N^^Y
Вершины из Nq^Xu, делят цикл С па простые цепи Lx = (аь ..., а2), L2 = («2, ...» 0з), ..., Lk = («ft, .... ai).
(1)
Далее рассмотрим отдельно два случая.
Случай 1. Все вершины из Ng^Xv принадлежат одной из цепей (1). Тогда, удалив из 6Х все ребра вида (х, &), где Ь^сц (i = 1, 7с), получим граф G\ изоморфный графу G — и. Ребрами графа G' являются отрезки, и все его грани, кроме, возможно, грани, содержащей вершины из Ng(u^ будут выпуклыми многоугольниками.
Пусть вершина х принадлежит внутренней грани графа Gx. Очевидно, что всякий выпуклый многоугольник обладает следующим свойством: для любой его вершины
существует такая се окрестность, в которой можно перемещать эту вершину (при неподвижных остальных), не нарушая выпуклости многоугольника. Поэтому в графе Gx существует такая окрестность О (Ж) точки х, что при перемещении х в О (Ж) будет сохраняться выпуклость всех многоугольников, находящихся внутри цикла С.
Будем считать, что вершины из Ng^Xv находятся па цепи Lk и разбивают ее на части: (ai, ..., bx^ (61, ... ..., 62), ..., (^z-b • • •> ^z), (^ • •ctky Обозначим через Т точки плоскости, лежащие внутри кривой (цикла) (х, Ьь ..., Ъ2п ..., bt, $). Из определения выпуклого многоугольника следует, что, поместив вершину и в любую точку области О(^)П Т и соединив и со всеми вершинами из NG (и) (считая х — и), получим выпуклый прямолинейный граф, изоморфный графу G (рис. 39.6).
Подобным образом поступаем и тогда, когда вершина х принадлежит внешней грани графа Gx. (На рис. 39.7 а, б
изображен случай, когда вершина и принадлежит внутренней грани графа G', а па рис, 39.7 в, г — внешней.)
Случай 2. Не существует цепи (1), содержащей все вершины из множества NG^\v. В этой ситуации
Рпс. 39.7Рпс. 39.7
Рпс. 39.7
Рпс. 39.7
множество всех ребер, инцидентных и и V, нельзя изобразить без пересечений.
В самом деле, если
М- I(Wg(^)MA(Wg(p)\w)|3,
т. е. число вершин цикла С, смежных и с и, и с и, не меньше трех, то в G существует подграф, гомеоморфный графу Кь (рис. 39.8).
Если же М С 2, то в G есть подграф, гомеоморфный графу Т^з.з. На рис. 39.9—39.11 изображены случаи, когда М = 2, 1, 0 соответственно.<
Следствие 39.6 (теорема Понтрягина —Куратове к ого). Граф планарен тогда и только тогда, когда он не содержит подграфов, гомеоморфных графам К$ или К^^.
> Осталось доказать достаточность условий теоремы.
Пусть в графе G пет подграфов, гомеоморфных Кь или /<з з. Если G — 3-связный граф, то по теореме 39.5 он планарен.
167
Пусть x(G) = 2, |G|^5. Далее доказательство проведем от противного. Предположим, что граф G не планарный. Тогда в результате многократного применения к нему преобразования А (см. утверждение 39.3) получим семейство графов Gi, G^ GR, среди которых согласно теореме 39.1 имеется 3-связный граф Gb не являющийся планарным. В силу теоремы 39.5 в G; есть подграф К, гомеоморфный К^ или К^^. Если все ребра графа К принадлежат G, то К — подграф графа G, т. е. получено противоречие. Если же некоторое ребро ab е ЕК не входит
Рис. 39.12
в G, то по лемме 39.4 существует Gi-цепь графа G, соединяющая вершины а и Ъ. Нетрудно показать, что Gj-цепи, соответствующие различным таким ребрам, не имеют общих вершин, кроме, возможно, концевых. Заменив каждое такое ребро соответствующей Сгцепыо, получим подграф графа G, гомеоморфный графу К. Вновь имеем противоречие. <
В качестве иллюстрации рассмотрим граф Петерсена. Он содержит подграф, гомеоморфный графу Хз,з(рис. 39.12, где Vax, а2, а^ и {bi, b2, Ь3} —доли). Следовательно, этот граф не является планарным.
Следствие 39.7 (К. Вагнер, 1936 г.). Для любого планарного графа существует плоская укладка, в которой все ребра изображены в виде отрезков прямых линий.
> Пусть G — связный планарный граф, имеющий не менее четырех вершин. На основании следствия 38.2 граф G является остовным подграфом плоской триангуляции Т, которая согласно следствию 39.2 есть 3-связный граф. Поэтому в силу теоремы 39.5 существует прямолинейный граф Т, изоморфный графу Т. Очевидно, что исходный граф G получается из Т путем удаления ранее добавленных к G ребер. <1
Помимо критерия Понтрягина — Куратовского есть и другие критерии планарности графа. Приведем некоторые из них без доказательств.
Теорема 39.8 (К. Вагнер, 1937 г.). Граф планарен тогда и только тогда, когда в нем нет подграфов, стягиваемых к графам К$ или Кг,г-
Поскольку граф Петерсена очевидным образом стягивается к Кг (для этого нужно стянуть пять ребер, соединяющих вершины внутреннего и внешнего циклов), то пепланарность графа Петерсена с помощью критерия Вагнера доказывается совсем просто.
Отметим здесь, что стягивая любое ребро планарного графа, получаем вновь планарный граф.
Очевидно, что все ациклические графы планарны. Поэтому вполне естественна формулировка критерия планарности, исключающая этот тривиальный случай. Таким критерием является следующая
Теорема 39.9 (С. Маклейн, 1937 г.). Граф планарен тогда и только тогда, когда в каждом его нетривиальном блоке есть такой базис циклов Ci, Сг, ..., Chu такой один дополнительный цикл Со, что любое ребро блока принадлежит ровно двум из этих k + 1 циклов.
§ 40. Двойственность и планарность
Целью этого параграфа является получение еще одного критерия планарности графа, основанного на понятии двойственности.
Условимся, что всюду в этом параграфе слово «граф» означает «псевдограф». Кроме того, видоизменим здесь использованную выше (см. § 3) операцию стягивания ребра в = uv ^ EG, под которой теперь будем понимать удаление ребра е и отождествление вершин и и и в новую вершину, инцидентную тем ребрам графа G, которые были инцидентны вершинам и и и, за исключением ребра е (рис. 40.1). Тем самым теперь появляющиеся при стягивании ребра кратные ребра не отождествляются, как ранее.
Для плоского графа G построим новый плоский граф G*, который назовем геометрически двойственным к G. Для этого внутри каждой грани Гг графа G выберем по одной точке и*. Эти точки — вершины будущего графа G*. Далее, каждому ребру е ^ EG поставим в соответствие жорданову кривую е*, которая пересекает лишь одно ребро е графа G и соединяет вершины z^, лежащие в гра-
нях, границы которых содержат ребро е (таких граней может быть две или одна). Кривые е*— ребра графа G*. Очевидно, что ребра графа G* можно провести так, чтобы они не пересекались. На рис. 40.2 сплошной линией изображен граф G, а пунктирной — граф G*. Заметим, что петлю в G* порождает всякий мост в G, а кратные
ребра появляются в G* тогда и только тогда, когда две грани графа G имеют более одного общего ребра.
Из этого построения очевидно, что граф G*, геометрически двойственный к плоскому графу G, определяется однозначно с точностью до изоморфизма, причем граф G*
всегда связен. Последнее утверждение легко доказать индукцией по числу вершин графа G* (т. е. по числу граней графа G) путем стягивания ребра с* графа G*, что, очевидно, соответствует удалению ребра е в графе G. При этом, если ребро е — граница двух граней, то упомянутые операции приводят к уменьшению числа вершин графа G* (числа граней графа G) на единицу.
Применяя формулу Эйлера, легко получить
Утверждение 40.1. Если G— плоский связный (п, т^-граф с / гранями, a G*— (тг*, пг*^-граф, геометрически двойственный к нему, с ^ гранями, то п* = /, т* = т, /* = п.
Поскольку граф G* — плоский, то можно построить граф, геометрически двойственный к G*, который естест- 170
венно обозначить через G**. Связь между графами G и G** устанавливает следующая теорема.
Теорема 40.2. Если G —плоский связный граф, то граф G** изоморфен графу G.
Из утверждения 40.1 следует, что n** = j* = n, где и**=|С**|. Следовательно, каждая грань графа G* содержит одну вершину графа G (G**). Поэтому построение, при помощи которого граф G* получен из G, можно обратить, т. е. получить G из G*. <
Граф, двойственный к планарному графу, определяется следующим образом: рассмотрим любую укладку этого графа и построим геометрически двойственный граф. Здесь уместно отметить, что планарный граф, допускающий несколько укладок на плоскости, может иметь не изоморфные двойственные графы (см. упр. 25).
Теорема 40.3. Пусть G—планарный граф, G* — граф, геометрически двойственный к G. Подмножество ребер из G образует простой цикл в G тогда и только тогда, когда соответствующее множество ребер из G* образует разрез в G*.
Для доказательства этой теоремы потребуется одна очевидная лемма.
Лемма 40.4. Пусть Н — связный граф, множество VH вершин которого разбито на два подмножества У1 и У2. Множество ребер
М(V1, Уг) ™ (в = 1ЛУ2 ЕН • щV2G V2^
является разрезом тогда и только тогда, когда графы Я(У1) и Н(У2} связны.
Доказательство теоремы 40.3. Не исключая общности, будем считать, что G — плоский граф.
Пусть С — простой цикл в G. Тогда он ограничивает одну или несколько внутренних граней графа G, т. е. ограничивает часть плоскости, содержащую непустое множество W вершин графа G*. Поэтому ребра из G*, пересекающие ребра цикла С, образуют множество М в G*, удаление которого разделяет связный граф G* на два подграфа с множествами вершин W и yG*\VT (рис. 40.3). Индукцией по числу вершин легко доказать связность каждого из этих подграфов. Следовательно, на основании леммы 40.4 М — разрез в графе G*.
Путем обращения приведенного выше рассуждения доказывается обратное утверждение о том, что разрезу в G* соответствует простой цикл в G. <
Теорема 40.3 естественным образом приводит к следующему комбинаторному определению двойственности графов, которое обобщает геометрическую двойственность и позволяет сформулировать еще один критерий планарности графов.
Граф G* называется абстрактно двойственным к графу G, если между множествами EG и EG* существует биекция, обладающая тем свойством, что подмножество ребер из G образует простой цикл в G тогда и только тогда, когда соответствующее ему подмножество ребер из G* об- -- разует разрез в G*.
На рис. 40.4 изображены граф и абстрактно двойственный к нему |граф. Соответствующие ребра обо-
Рис 40 3 значепы одной и той же буквой. Другой пример графов G и G* приведен па рис. 40.5.
Понятие абстрактной двойственности обобщает понятие геометрической двойственности, так как согласно теореме 40.3 справедливо
Утверждение 40.5. Граф, геометрически двойственный к плоскому графу, является абстрактно двойст
венным к нему.
Непосредственно из определения вытекает следующее утверждение.
Утверждение 40.6. Граф Н является абстрактно двойственным к графу G тогда и только тогда, когда ма-
Рис. 40.4
троид M^G^ циклов графа G изоморфен матроиду М*(Н) разрезов графа Н.
Теорема 40.7. Если граф) G* — абстрактно двойственный к G, то G—граф, абстрактно двойственный к G*.
Отметим, что здесь, в отличие от теоремы 40.2, не требуется связность графа G.
На основании утверждения 40.6 матроид М(G) изоморфен матровду М* (G*). Поэтому в силу следствия 20.2 матроиды M*(G) и М**^*) также изоморфны. Но д/**(С*) = M(G*). Следовательно, матроид M(G*) циклов графа G* изоморфен матроиду M*(G) разрезов гра-
Рис. 40.5
фа G, т. е. на основании утверждения 40.6 граф G является абстрактно двойственным к G*. <
Таким образом, учитывая теорему 40.7, графы G и G* можно называть двойственными.
На вопрос о том, каждый ли подграф графа, имеющего двойственный граф, обладает двойственным графом, отвечает
Теорема 40.8. Пусть G и G* — двойственные графы, е — uxv2 е EG, е* = p*z22 — соответствующее ребро графа G*. Если Н—граф, полученный из графа G удалением ребра е, а Р — граф, полученный стягиванием ребра е* в G*, то Н и Р— двойственные графы, причем биекция между множествами ЕН и ЕР остается такой же, как и между EG и EG*.
Любой простой цикл С графа Н = G — е является простым циклом и в графе G. Поэтому соответствующее множество ребер С* — разрез в G*, разделяющий множество вершин VG* на два множества Fi и У2. Поскольку е* ^ С*, то вершины щ и р2 находятся одновременно либо в И*, либо в У*. Поэтому С* — разрез и в Р. Итак, каждому простому циклу графа Н соответствует разрез графа Р.
Пусть теперь С* — разрез в Р. Так как е*^С*, то С* —разрез и в G*. Поэтому С — простой цикл графа G. Поскольку е^С, то С — простой цикл и в Н. Следовательно, всякому разрезу в Р соответствует простой цикл в Н. <
Принимая во внимание, что всякий подграф Н графа G можно получить из G удалением ребер, не принадлежащих подграфу Я, из теоремы 40.8 выводим
Следствие 40.9. Если граф имеет абстрактно двойственный граф, то всякий его подграф также имеет абстрактно двойственный граф.
Поскольку на основании теоремы 40.7 двум ребрам графа G, инцидентным вершине степени 2 (т. е. разрезу, отделяющему эту вершину), соответствуют два кратных ребра (2-цикл) графа G^, то получаем еще одно следствие теоремы 40.8.
Следствие 40.10. Если граф G имеет абстрактно двойственный граф, то любой граф, гомеоморфный графу G, также имеет абстрактно двойственный.
Теорема 40.11. Всякий планарный граф имеет абстрактно двойственный к себе граф.
Для доказательства достаточно рассмотреть любую плоскую укладку G исходного планарного графа и граф G*, геометрически двойственный к G. На основании ут- верждеппя 40.5 граф G^ —- абстрактно двойственный к G. <
Оказывается, не всякий граф имеет абстрактно двойственный граф.
Утверждение 40.12. Граф Кз^ не имеет абстрактно двойственного графа.
Доказательство проведем от противного. Допустим, что граф Кз.з имеет двойственный граф G. Поскольку Кз.з имеет лишь 4-циклы и 6-циклы, то граф G не имеет разрезов с менее чем четырьмя ребрами. Поэтому deg и >4 для всякой вершины v^ VG. А из того, что граф Кз.з не имеет разрезов, состоящих из двух ребер, следует, что в графе G нет 2-циклов, т. е. он не содержит кратных ребер. Следовательно, |G| ^5. Суммируя все полученное и принимая во внимание лемму о рукопожатиях, выводим, что \EG\ > 10. Но \EG\ = Ifiks.sl =9. Полученное противоречие доказывает утверждение 40.12. <
Утверждение 40.13. Граф К$ не имеет абстрактно двойственного графа.
Допустим, что граф Кз имеет двойственный граф G. Так как граф Кз не имеет циклов длины один или два, то степень каждой вершины графа G не менее 3. В то же время из того, что граф Кз имеет лишь разрезы, состоящие пз 4 или 6 ребер, следует, что все простые циклы графа G имеют четную длину, т. е. G — двудольный граф. Если бы было IGI 6, то получилось бы \EG\ С 9. но \EG\ = |ДА51 -10. Итак, |G|^7. Поэтому граф G должен иметь по крайней мере 1/2 X 7 X 3 > 10 ребер. Однако это противоречит условию ISG1 = 10. <
Теперь мы можем доказать еще один критерий планарности графов.
Теорема 40.14 (X. Уитни, 1932 г.). Граф планарен тогда и только тогда, когда он имеет абстрактно двойственный граф.
Необходимость установлена теоремой 40.11.
Достаточность докажем, показав, что неплапарный граф G не имеет абстрактно двойственного. Согласно теореме Понтрягина — Куратовского граф G содержит подграф Я, гомеоморфный Яз.з или К^. Если бы граф G имел абстрактно двойственный граф, то по следствию 40.9 и подграф Я имел бы абстрактно двойственный граф. Но согласно следствию 40.10 это означало бы, что граф Яз.з или Яз должен был иметь абстрактно двойственный. Однако это противоречит утверждениям 40.12 и 40.13. Поэтому граф G не имеет абстрактно двойственного графа. <
Из теорем 40.14 и 40.7 и утверждения 40.6 получаем
Следствие 40.15. Следующие утверждения эквивалентны*.
граф G планарен-,
матроид циклов M(G) кографичен-,
матроид разрезов M^(G) графичен.
Алгоритм укладки графа на плоскости
Рассмотренные в предыдущих параграфах критерии планарности таковы, что если даже удалось установить планарность графа, то нет информации о том, как строить его укладку на плоскости. В то же время при решении практических задач, о которых говорилось в начале этой главы, недостаточно знать, что граф планарен, а необходимо, как правило, построить его плоское изображение. Все это вызвало появление алгоритмов, которые не только проверяют граф на планарность, но и одновременно строят его плоскую укладку, если это возможно. Один из таких алгоритмов (алгоритм 7) рассмотрим в этом параграфе.
Алгоритм ц укладки графа G представляет собой процесс последовательного присоединения к некоторому уложенному подграфу ^графа G повой цепи, оба конца которой принадлежат G. Тем самым эта цепь разбивает одну из граней графа G н^две. При этом в качестве начального плоского графа G выбирается любой простой
цикл графа G. Процесс продолжается до тех пор, пока не будет построен плоский граф, изоморфный графу G, или присоединение некоторой цепи окажется невозможным. В последнем случае граф G не является планарным.
Поскольку связный граф планарен тогда и только тогда, когда планарны все его блоки (теорема 37.8), а граф К2 планарен, то будем предполагать не теряя общности, что укладываемый граф 2-связеп.
Введем ряд определений. Пусть построена некоторая укладка подграфа G графа G. Сегментом S относительно G (иногда просто сегментом^ будем называть подграф графа G одного из следующих двух видов:
ребро e = uu^EG такое, что e^EG, u,v^VG;
связную компоненту графа G — G, дополненную всеми ребрами графа G, инцидентными вершинам взятой компоненты, и концами этих ребер.
Очевидно, что в случае, когда граф G планарный, всякий сегмент, как подграф графа G, планарен, а в случае, когда G не является планарным, сегмент может быть как планарным, так и не планарным.
Вершину v сегмента 8 относительно G будем называть контактной, если ue VG. Так как в графе G пет точек сочленения, то легко доказать, что в случае, когда граф G является 2-связным, каждый сегмент содержит не менее двух контактных вершин.
На рис. 41.1 изображены граф G, его уложенный подграф G и все сегменты относительно G. Контактные вершины сегментов обведены кружками.
Поскольку граф G плоский, то он разбивает плоскость на грани. Допустимой гранью Эля сегмента 8 относительно G называется грань Г графа G, содержащая все контактные вершины сегмента 8. Через Г (8) будем обозначать множество допустимых граней для 8. Может оказаться, что Г (8) = 0.
Простую цепь L сегмента 8, соединяющую две различные контактные вершины и не содержащую других контактных вершин, назовем а-цепью. Очевидно, что всякая a-цепь, принадлежащая сегменту, может быть уложена в любую грань, допустимую для этого сегмента.
Два сегмента Si и 82 относительно G назовем конфликтующими, если 1) 6 = Г(51) П Г(52)^ 0, 2) существуют две a-цепи L\^S\, L2^S2, которые без пересечений нельзя уложить одновременно ни в какую грань Г 0. В противном случае будем говорить, что сегменты не конфликтуют.
Для графа, изображенного на рис. 41.1, конфликтующими являются, например, сегменты Si и S2, S3 и S4, S2 и Sg.
Вернемся к обсуждению алгоритма у.
Итак, на первом шаге этого алгоритма уложим произвольный простой цикл графа G.
Пусть, далее, G — построенная па предыдущем шаге укладка некоторого подграфа графа G. Для каждого
Рис. 41.1
сегмента относительно С находим множество допустимых граней. Теперь могут представиться только следующие три случая.
Существует сегмент, для которого нет допустимой грани. Как мы покажем в дальнейшем, граф G в этом случае не планарен.
Для некоторого сегмента S существует единственная допустимая грань Г. Тогда очередной шаг состоит в расположении любой a-цепи сегмента S в грани Г. При этом, как уже отмечалось, a-цепь разбивает грань Г на две грани.
F(S)>2 для всякого сегмента S. Тогда появляется несколько вариантов продолжения построения укладки графа, поскольку любой сегмент можно размещать в любую допустимую для этого сегмента грань. Поэтому возникают опасения, что неудачный выбор сегмента и гра-
ни может помешать процессу построения укладки па следующих шагах и плоская укладка планарного графа не будет построена. Это могло бы привести пас к неверному заключению о том, что планарный граф непланарен. В дальнейшем мы покажем, что в этом случае Эля продолжения алгоритма у можно выбирать а-щепь в любом сегменте и помещать ее в любую допустимую грань.
Теперь формально опишем алгоритм ^, а затем займемся его обоснованием.
Алгоритм у.
0. Выберем некоторый простой ^икл С графа G и уложим его на плоскости; положим G = С.
Найдем грани графа G и сегменты относительно G. Если множество сегментов пусто, то перейдем к п. 7.
Для каждого сегмента S определим множество Г (5).
Если существует сегмент 5, для которого Г (5) = = 0^ то граф G пепланарен. Конец. Иначе перейдем к п. 4.
Если существует сегмент 5, для которого имеется единственная допустимая грань Г, то перейдем к п. 6. Иначе — к п. 5.
Для некоторого сегмента S (Г(5)>1) выбираем произвольную допустимую грань Г.
Поместим произвольную a-цепь L^S в грань Г; заменим G на G U L и перейдем к п. 1.
Построена укладка G графа G на плоскости. Конец.
Шагом алгоритма у будем считать присоединение к G a-цепи L.
Дальнейшее изложение посвящено обоснованию алгоритма у. Сначала докажем, что для планарного графа алгоритм у строит плоскую укладку графа. Для этого нам понадобятся две леммы.
Лемма 41.1. Если конфликтующие сегменты S\ и 82 относительно G таковы, что |Г(51)|>2, 1Г(52)1^2, то Г(51)=Г(52), 1Г(51)|=2.
Сначала докажем, что Г(51) = Г(/>2). Допустим противное. Тогда по условию леммы существуют три различных грани: Г1^Г(51),Г2еГ(52),Г3^0 = Г(51)П
АГ(52)^^. Поэтому всякая a-цепь L^S; укладывается в Г], а всякая a-цепь L^^S^ укладывается в Г2. Но это значит, что всякая пара a-цепей L\^S\, L^S^ одновременно укладывается вне Гз. Тогда они укладываются и внутри грани Гз. Но это противоречит тому, что 51 и S2 - конфликтующие сегменты.
Итак, r(S1) = r(S2) = 6.
От противного легко показать, что |0| =2. Пусть |0| >3. Тогда существует по крайней мере три различных грани Г1, Г2, Гз ^ 6. Поэтому, повторяя предыдущие рас- суждения, получаем противоречие. <
Построим вспомогательный граф S(C) по следующему правилу: каждому сегменту относительно G поставим в соответствие вершину графа 5(G), причем будем считать,
что две вершины смежны тогда и ^ только тогда, когда соответствующие Гч^. /J^5
им сегменты конфликтующие.
На рис. 41.2 изображен вспомо- гательный граф 5(G), соответствую- щий сегментам ранее рассмотренного 255
графа G (рис. 41.1) относительно G. Рис. 41.2 При этом вершины графа 5(G) обозначены так же, как и соответствующие им сегменты.
Частичной укладкой планарного графа G называется такой граф, который можно получить из какой-либо укладки графа G на плоскости путем удаления некоторых ребер и вершин. Тем самым во всякую частичную укладку планарного графа G можно уложить оставшуюся часть, т. е. недостающие вершины и ребра графа G.
Лемма 41.2. Если результатом некоторого шага алгоритма у является частичная укладка G планарного графа G такая.) что |Г(5) I >2 для всякого сегмента S относительно С, то S(G) — двудольный граф.
Доказательство проведем от противного. Пусть граф 5(G) не двудольный. Тогда на основании теоремы Кёнига в 5(G) есть r-цикл нечетной длины. Этому циклу соответствует последовательность Р сегментов Si, S2, ... ..., Sr, Si относительно Gi, в которой каждые соседние сегменты конфликтующие. Поэтому на основании леммы 41.1 Г(5г)= {Г1, Г2} (г = 1, г). Поскольку G —частичная укладка графа G, то все сегменты Si, S2, ..., ST могут быть уложены, а так как соседние сегменты последовательности Р конфликтуют, то они должны быть уложены в различные грани (Г1 и Г2). Но это невозможно в силу нечетности числа сегментов г. <
Теорема 41.3. Если G— планарный граф, то результатом каждого шага алгоритма ^ является частичная укладка G графа G.
Доказательство проведем индукцией по числу
шагов.
Полученный па начальном этапе работы алгоритма у граф G является простым циклом, который присутствует в любой укладке графа G. Следовательно, G — частичная укладка.
Пусть граф G, построенный на предыдущем шаге работы алгоритма у, является частичной укладкой. Покажем, что граф G U L. полученный па очередном шаге присоединением к G a-цепи L, также является частичной укладкой.
Прежде всего заметим, что не существует сегмента 5 относительно G, для которого Г(5)=0. Действительно, если бы такой сегмент S существовал, то существовала бы и a-цепь этого сегмента, обе контактные вершины которой не принадлежат одной грани. Поэтому укладка такой цепи (и тем более сегмента 5) невозможна.
Итак, могут представиться лишь следующие два случая.
Случай 1. Для некоторого сегмента S относительно G существует единственная допустимая грань Г. Пусть G' — укладка графа G, из которой путем удаления вершин и ребер можно получить граф G. В этой укладке сегмент S находится в грани Г, так как только этой грани принадлежат все его контактные вершины. Это значит, что, помещая любую os-цепь L е S в грань Г, снова получим частичную укладку графа G.
Случай 2. IГ(5)1 ^2 для всякого сегмента S относительно G. Рассмотрим связную компоненту Н двудольного (по лемме 41.2) графа S(G^ содержащую не менее двух вершин. Эта компонента также является двудольным графом, и в силу леммы 41.1 P(S) = {Pi, Г2} для всякого S е Н.
Пусть G' — укладка графа G, из которой путем удаления вершин и ребер можно получить граф G. Так как все контактные вершины каждого сегмента принадлежат только граням Pi и Г2, то каждый из сегментов относительно G находится в одной из этих граней. При этом сегменты, соответствующие вершинам каждой доли графа 5(ff), по конфликтуют. Поэтому в графе G' сегменты, соответствующие одной доле, находятся в грани Pi, а сегменты, соответствующие вершинам другой доли,— в грани Г2. Если теперь сегменты, находящиеся в Pi, поменять местами с сегментами, находящимися в Г2, то получим граф G", который также является укладкой графа G. Это значит, что всякая a-цепь любого сегмента 5 е Я в любой плоской укладке графа G может быть рас- 180
положена и в Г1, и в Г2. Иными словами, помещая сс-цепь L ^ S в любую грань, допустимую для сегмента S, получаем частичную укладку графа G.
Если для некоторого сегмента S пет конфликтующих сегментов, т. е. вершина S^S(G) является изолированной, то наше утверждение очевидно. <
Замечание. Если граф G не является циклом, то в процессе работы алгоритма ц встретится случай, когда
|Г(5)|^2, и поэтому существуют различные укладки графа G. На рис. 41.3 показаны две возможные укладки графа G, изображенного на рис. 41.1.
Следствие 41.4. Если граф G планарный, то алгоритм у строит его плоскую укладку.
Следствие 41.5. Если в процессе работы алгоритма у встретится сегмент S, для которого нет допустимой грани, то граф G непланарный.
Проиллюстрируем работу алгоритма у на примерах.
Пример 1. Пусть граф G изображен па рис. 41.4. Уложим сначала цикл С = (1, 2, 3, 4, 1), который разбивает плоскость на две грани Г1 и Гг. На рис. 41.5 изображены граф G = C и сегменты Si, S2, S3 относительно 5 с контактным вершинами, обведенными кружками. Так как Г(5г) = {Г1, Г2) (£ = 1, 2, 3), то любую сс-цепь произвольного сегмента можно укладывать в любую допустимую для пего грань. Поместим, например, сс-цепь L = = (2, 5, 4) в Гь Возникает новый граф G и его сегменты (рис. 41.6). При этом Г(51)={Гз), Г(52)={Г1, Гг), Г(5з) = {Г1, Г2, Г3}. Укладываем цепь L = (l, 5) в Г3 (рис. 41.7). Тогда Г(51) = {Г1, Г2), Г(52)-{Г1, Г2). Далее, уложим a-цепь L=(2, 6, 4) сегмента Si в Г1 (рис. 41.8). В результате имеем Г (Si) = №5}, Г(52) = = {Гь Г2, Г3}. Наконец, уложив ребро (6, 3) в Гз, а ребро
Рис. 41.8
Рис. 41.4
(2, 4) —например, в Г1, получаем укладку графа G па плоскости (рис. 41.9).
Пример 2. Пусть G = К^^ (рис. 41.10).
Цикл G и сегменты относительно этого цикла изображены на рис. 41.11. При этом Г(5г) = {Г1, Г2} Ц = 1,2,3),
Рис. 41.12Рис. 41.12
Рис. 41.12
Рис. 41.12
5
А
5
Помещаем Si в грань Г2. Тогда S2 необходимо поместить в грань Г1 (рис. 41.12). Поскольку T(Si) = 0, то Яз,з — неплапарный граф.
§ 42. Характеристики непланарных графов
Приводимые ниже характеристики графов представляют ту или иную меру неллапарности.
Род графа. Мы уже знаем, что планарные графы и только они укладываются как па плоскости, так и па сфе-
ре. Возникает вопрос: можно ли уложить пеплапарыый граф на какой-либо другой поверхности?
Утвердительный ответ па этот вопрос получаем сразу же, если нарисуем граф на плоскости и для каждого пересечения двух ребер, добавив к плоскости ручку, проведем одно ребро по ручке, а другое — под ней. На рис. 42.1 изображена укладка графа /<5 па плоскости, к которой добавлена одна ручка, т. е. построен «мост». Тем самым очевидно, что граф К^ (и Кз,з) можно уложить па торс, т. е. на сфере с одной ручкой (рис. 42.2).
Графы, которые нельзя уложить на плоскости, по можно уложить на торе, называются тороидальными.
На рис. 42.3 изображена укладка графа Кз.з на торе.
Укладку тороидального графа на торе удобно изобразить с помощью прямоугольника, в котором отождествлены обе пары противоположных сторон. На рис. 42.4—42.7 изображены такие укладки тороидальных графов 7^5, Т^з, Кт, К^л соответственно.
Определим теперь род ^{G) графа G как наименьшее число ручек, которые необходимо добавить к сфере, чтобы можно было граф G уложить на полученной таким образом поверхности.
Тем самым, поскольку графы К^ К^^ Кт, К^а пепла- парны, то 7(^5) = 7 (^3,3) = 7(^7) = 7 (7^4,4) =1. Очевидно, что 1) y(G) = O тогда и только тогда, когда граф G планарный; 2) 7((?)=1 тогда и только тогда, когда граф G тороидальный.
Приведем без доказательств некоторые известные результаты о роде графа (см., например, [7], [28]):
Т(5)>] (m-3^)/6+l[, п^З,
если G— связный (п, тп)-граф (здесь и далее ]я[— наименьшее целое число t^x);
если 51, 52, ..., Bh— система всех блоков графа G, то к
1=1
Ч №)=](«-ЗНп-4)/12 [,п>3;
Т (KP,q) = К? —2)/4[,
Y ((?«)= 1 + (п — 4) 2П~3,
где Qu — ^г-мерпый куб.
Число скрещиваний. Числом скрещиваний cr(G) графа G называется наименьшее число пересечений, 184
Рис. 42.1
Рис. 42.5
Рис. 42.6
получаемых при изображении графа на плоскости (понятие пересечения относится к пересечению ровно двух ребер). Очевидно, что cr(G) = 0 тогда и только тогда, когда G — планарный граф.
Приведем здесь следующие известные оценки для числа скрещиваний:
п — 3п — 3/ тпу \1 Г 7171 — 171 — 2
п — 3
п — 3
cr(^P,g)< |cr(^P,g)< |р-12р-12q.2q.29 — 112 J9 — 112 J
cr(^P,g)< |
cr(^P,g)< |
р-12
р-12
q.
2
q.
2
9 — 11
2 J
9 — 11
2 J
причем при ^ 6 и любом q
СГ (Kp>q)СГ (Kp>q)
СГ (Kp>q)
СГ (Kp>q)
Толщина графа. При изготовлении печатных схем соединительные провода наносятся на одну сторону непроводящей пластинки. Поскольку печатные проводники не изолированы, то они не должны пересекаться. Поэтому важно знать, является ли планарным граф, в котором роль вершин играют приборы, а ребрами являются соединения. Если такой граф непланарный, то возникает вопрос: какое наименьшее число пластинок необходимо для комплектования всей схемы (сети)? Таким образом, мы приходим к понятию толщины графа. Толщиной t(G) графа G называется наименьшее число его планарных подграфов, объединение которых дает граф G. Очевидно, что толщина планарного графа равна 1. Для толщины связного (п, т)-графа справедливы оценки
t^>t^>тЗтг — 6тЗтг — 6Z(G)>[Z(G)>[т -{- Зтг — 7Зтг — 6т -{- Зтг — 7Зтг — 6
t^>
t^>
т
Зтг — 6
т
Зтг — 6
Z(G)>[
Z(G)>[
т -{- Зтг — 7
Зтг — 6
т -{- Зтг — 7
Зтг — 6
Действительно, первое неравенство сразу вытекает из следствия 37.3, а второе следует из первого, если учесть легко доказываемое равенство
]а)Ъ [=[(« + Ъ -1)/Ь],(1)
где а, Ъ — положительные целые числа.
Непосредственным следствием первого неравенства является следующая оценка толщины полного графа
(ввиду того, что ^ ^ (2) — целое число):
ЦК^>ЦК^>лг + 76лг + 76п^п — 1)/2 + 3(тг — 2) — 13(тг— 2)
ЦК^>
ЦК^>
лг + 76
лг + 76
Оказывается, что
n-Vl6n-Vl6
n-Vl
6
n-Vl
6
если п^4 (mod 6) и п^9.
Известны также следующие формулы для толщины (доказательство можно найти в [28]):
t (Qn)t (Qn)n + 14n + 14
t (Qn)
t (Qn)
n + 1
4
n + 1
4
где Qn — тг-мерпый куб;
t (-^w) = ]2 (р + g — 2) /
за исключением, возможно, тех случаев, когда р < q, pq — нечетное и существует такое целое число /с, что q=VMP-^KP-^\.
Из последней формулы, используя равенство (1), получаем формулу
Искаженность графа. Искаженностъю sk(G) графа G называется наименьшее число ребер, удаление которых приводит к планарному графу. Для искаженпости полного графа справедлива формула
sk(Kn) = Q-3n + 6,п>3,
которая непосредственно вытекает из следствия 38.3.
УПРАЖНЕНИЯ
При каких значениях п графы Gn (определение см. в упр. 14 гл. I) планарны?
Докажите, что любой граф можно уложить в трехмерном пространстве так, что все его ребра будут изображены прямолинейными отрезками.
Всегда ли плапароп реберный граф L^G^ планарного графа G?
Нарисуйте граф, изоморфный графу, изображенному на рис. 37.1, так, чтобы внешней стала грань а) 2; б) 3.
Скольким граням может принадлежать вершина степени d 1 плоского графа?
Покажите, что формула Эйлера следующим образом обобщается на случай несвязного плоского графа: п — тп + / = & + 1, где к — число связных компонент графа, а остальные символы имеют прежний смысл.
Нарисуйте плоский граф (та >5), среди вершин которого ровно 4 вершины со степенями, не превышающими 5.
Существуют ли 6-связные планарные графы?
Докажите, что для связного плоского (та, т)-графа с та ^ 3, грани которого но являются треугольниками, верно неравенство тп << 2/2 — 4.
Покажите, что всякая плоская триангуляция с та ^ 3 вершинами имеет 2та — 4 грани.
Все вершины плоской триангуляции раскрашены произвольным образом в три цвета. Грань будем называть правильной,
Рис. VI. 1
если ее вершины окрашены в три различных цвета. Покажите, что число правильных граней четно.
Пусть в плоской триангуляции G существуют такие три вершины та, Ь, с, что граф G — {а, Ь, с} не является связным. Докажите, что тогда граф G содержит 3-цикл (та, Ъ, с), не являющийся границей грани.
Для всякого связного планарного (та, таг)-графа с та ^ 3, обхват которого равен /2^3, верно неравенство таг(/2 — 2) ^ ^ /2(22 — 2). Используя это соотношение, докажите, что граф Петерсена непланарен.
Убедитесь, что реберные графы графов А"5 и ^3,3 непланарны.
Какие из графов, изображенных па рис. VI. 1, являются планарными?
При каких та графы порядка 2та, изображенные па рис. VI.2, являются планарными?
а
Гис. VL2
Изобразите стереографические проекции пяти Платоновых тел.
Докажите, что по существует плоского графа с пятью гранями, обладающего тем свойством, что любые две его грани имеют общее ребро.
Пусть G — плоский двусвязный граф. Докажите, что множество всех простых циклов, каждый из которых ограничивает внутреннюю грань графа G (см. теорему 37.7), образует базис циклов графа G.
Планарный граф называется внешне планарным, если его можно уложить на плоскости так, что все его вершины будут лежать на границе одной грани (удобно в качестве такой грани брать внешнюю грань). Докажите, что следующие утверждения эквивалентны:
граф G впешпеплапареп;
граф G', полученный из G добавлением повой вершины и соединением ее новыми ребрами со всеми вершинами графа G, планарен;
каждый блок графа G внешнепланарен.
Внешпепланарный граф называется максимальным внешнепланарным, если он перестает быть внешнепланарпым при добавлении любого ребра. Пусть в таком графе число вершин и ^ 3 и
аб
Рис. VI.3
все они лежат па границе внешней грани. Покажите, что тогда граф имеет п — 2 внутренние грани.
Докажите, что любой максимальный внешпепланарный граф G с п ^ 3 вершинами имеет а) 2п — 3 ребра; б) по крайней мере две вершины степени 2; в) x(G) =2.
Какое минимальное число ребер (вершин) необходимо удалить из куба Q^ чтобы полученный граф стал планарным?
Докажите изоморфизм графов, изобраясенпых па рис. VI.3. Изоморфны ли графы, геометрически двойственные к ним?
Пусть плоский граф G не связен. Покажите, что тогда его «второй геометрически двойственный» граф G** не изоморфен графу G.
Покажите, что граф, геометрически двойственный к колесу Wn, является колесом.
Пусть планарный (п, т)-граф G таков, что двойственный к нему изоморфен графу G. Покажите, что тогда т = 2п — 2.
Покажите, что планарный граф (без петель) является 2-связным тогда и только тогда, когда двойственный к нему 2-связен.
Найдите графы, геометрически двойственные к стереографическим проекциям платоновых тел.
Воспользовавшись алгоритмом у укладки графа па плоскости, покажите, что граф К^ не планарный.
С помощью алгоритма у постройте плоские укладки или установите непланарность графов, изображенных на рис. VI.4.
Чему равна искаженность графов К^, К^^ и графа Петерсена?
Чему равно число скрещиваний графов К^, К^ и графа Петерсена?
Докажите или опровергните утверждение: ст (5) = 1 для
РЧРЧнепланарного графа G тогда и только тогда, когда существует такое ребро е, что граф G — е планарен.
РЧ
РЧ
2(р+^~2) ’2(р+^~2) ’44Покажите, что t (^К ду
2(р+^~2) ’
2(р+^~2) ’
4
4
Найдите толщину графов K5l К3.3 и графа Петерсена.
Покажите, что всякий непланарпый граф гомеоморфен некоторому графу толщины 2.
Уложите куб Q^ на торе.
Найдите род графа Петерсепа.
Приведите пример графа рода 2.
Рис. VI.4Рис. VI.4
Рис. VI.4
Рис. VI.4
Покажите, что род графа не превосходит числа скрещиваний, т. е. 4(G) ^cr(G!). Приведите примеры графов G, для которых 1) 4(G) < cr(G), 2) 4(G) = cr(G).
Покажите, что не существует полного графа рода 7.
Можно ли уложить графы К^ и ^3,з па листе Мёбиуса?
Глава VII
Обходы
Основные положения этой главы связаны с существованием в графе эйлеровых или гамильтоновых цепей и циклов. Подобные вопросы возникли в значительной мере под влиянием головоломок и игр. Тем не менее задачи, касающиеся эйлеровых и, в особенности, гамильтоновых цепей и циклов, чрезвычайно часто встречаются на практике. Это случается, например, в ситуациях, когда качество выполнения некоторого комплекса операций (работ, мероприятий) существенно зависит от порядка, в котором они выполняются.
§ 43. Эйлеровы графы
Все сказанное в этом параграфе о графах в равной степени относится к мультиграфам.
Начало теории графов как раздела математики связывают с так называемой задачей о кёнигсбергских мостах. Эта знаменитая в свое время задача состоит в следующем. Семь мостов города Кёнигсберга (ныне Калининград) были расположены на реке Прегель так, как изображено
Рис. 43.1Рис. 43.1ВРис. 43.2ВРис. 43.2
Рис. 43.1
Рис. 43.1
В
Рис. 43.2
В
Рис. 43.2
па рис. 43.1. Спрашивается, можно ли, выйдя из дома, вернуться обратно, пройдя в точности один раз по каждому мосту?
Сопоставим плану города граф G, вершины которого соответствуют четырем разделяемым рекой участкам суши Л, S, С и D, а ребра — мостам. Этот граф (точнее, мультиграф) изображен на рис. 43.2. Таким образом, за-
дачу о кёнигсбергских мостах можно на языке теории графов сформулировать так: есть ли в мультиграфе G цикл, содержащий все ребра этого мультиграфа?
Эйлер доказал неразрешимость задачи о кёнигсбергских мостах. В своей работе, опубликованной в 1736 году, он сформулировал и решил следующую общую проблему
Рис. 43.3Рис. 43.3
Рис. 43.3
Рис. 43.3
теории графов: при каких условиях связный граф содержит цикл, проходящий через каждое его ребро?
Цикл в графе называется эйлеровым, если он содержит все ребра графа. Связный граф, в котором есть эйлеров цикл, называется эйлеровым графом. Такой граф можно нарисовать, не отрывая карандаша от бумаги и не повторяя линий.
Например, граф, изображенный на рис. 43.3, является эйлеровым, поскольку он содержит эйлеров цикл (1, 2, 3, 4, 5, 6, 4, 2, 6, 1). В этом графе есть и другие эйлеровы циклы. Ясно, что любые два таких цикла отличаются друг от друга только порядком обхода ребер.
Помимо задачи о кёнигсбергских мостах известен ряд других старинных занимательных задач (головоломок), решение которых сводится к выяснению вопроса «является ли граф эйлеровым?». В одной из них требуется обрисовать фигуру, именуемую саблями, (знаком) Магомета (рис. 43.4), не отрывая карандаша от бумаги и не повторяя линий.
Теорема 43.1 (Л. Эйлер, 1736 г.). Связный граф является эйлеровым тогда и только тогда, когда степени всех его вершин четны.
> Необходимость. Пусть G — эйлеров граф. Эйлеров цикл этого графа, проходя через каждую его вершину, входит в нее по одному ребру, а выходит по другому. Это означает, что каждая вершина инцидентна четному числу ребер эйлерова цикла, а поскольку такой цикл содержит все ребра графа G, то отсюда следует четность степеней всех его вершин.
Достаточность. Предположим теперь, что степени вершин графа G четны. Начнем цепь Pi из произвольной вершины щ и будем продолжать ее, насколько возможно, выбирая каждый раз новое ребро. Так как степени всех вершин четны, то попав в очередную отличную от vi вершину, мы всегда будем иметь в распоряжении еще не пройденное ребро. Поэтому цепь Р\ можно продолжить путем добавления этого ребра. Таким образом, построение цепи Р\ закончится в вершине щ, т. е. Pi непременно будет циклом. Если окажется, что Pi содержит все ребра графа G, то это будет требуемый эйлеров цикл. В противном случае, удалив из G все ребра цикла Pi, рассмотрим граф G\. полученный в результате такой операции. Поскольку Pi и G имели вершины только четных степеней, то, очевидно, и Gi будет обладать тем же свойством. Кроме того, в силу связности графа G графы Pi и Gi должны иметь хотя бы одну общую вершину из. Теперь, начиная с вершины Рг, построим цикл А в графе Gi подобно тому, как строили цикл Pi. Обозначим через Рг и Рг части цикла Pi от щ до г>2 и от П2 до щ соответственно. Получим новый цикл
Р3 — Рх [J Р2 U ^13
который, начиная с щ, проходит по ребрам цепи Рг до из, затем обходит все ребра цикла Р2 и, наконец, возвращается в щ по ребрам цепи Рт (рис. 43.5).
Если цикл Рз не эйлеров, то проделав аналогичные построения, получим еще большой цикл и т. д. Этот процесс закончится построением эйлерова цикла. '<1/1 р
Будем говорить, что набор ребер-J 2
но пепересекающихся цепей (не обя- р' зательно простых) покрывает граф G, если каждое ребро графа G входит /)
в одну из этих цепей. Пусть связный V7
граф G содержит к вершин нечетной——е
степени. По лемме о рукопожатиях к четно. Рассмотрим граф G', полу- Рис* 43,5 ченный добавлением к G новой вершины и и ребер, соединяющих и с вершинами графа G нечетной степени. Поскольку степени всех вершин графа G' четны, то G' содержит эйлеров цикл. Если теперь выбросить и из этого цикла, то получится к(2 цепей, содержащих все ребра графа G, т. е. покрывающих G.
13 в. А. Емеличев и др.193
С другой стороны, граф, являющийся объединением г ре- берно-непересекающихся цепей, имеет самое большее 2г вершин нечетной степени. Поэтому меньшим числом цепей граф G покрыть нельзя. Тем самым доказано
Следствие 43.2. Если связный граф содержит ровно к вершин нечетной степени, то минимальное число покрывающих его реберно-непересекающихся цепей равно kj2.
В частности, когда к = 2, граф имеет цепь, которая соединяет вершины нечетной степени и содержит все ребра графа. Цепь, содержащую все ребра графа, называют эйлеровой.
Из доказательства теоремы 43.1 видно, что эйлеров граф содержит, как правило, несколько эйлеровых циклов. Зная один такой цикл, получить новый можно следующим простым приемом.
Пусть С — исходный эйлеров цикл, и вершина v проходится в этом цикле более одного раза. Рассмотрим часть (подцикл) цикла С, состоящую из ребер и вершин, проходимых между к-м. и Z-м (к < Z) посещениями вершины и. Это будет некоторый цикл Сх. Цикл С, как и всякий эйлеров цикл, задает некоторый порядок обхода ребер графа и индуцирует порядок прохождения ребер цикла Сх. Если теперь порядок обхода ребер Сх изменить на обратный, а на остальных ребрах оставить его таким, каким он был в С, то, очевидно, получим новый эйлеров цикл С'. Например, в графе, изображенном на рис. 43.3, можно получить новый цикл С’ = (1, 2, 6, 5, 4, 3, 2, 4, 6, 1), полагая С = (1, 2, 3, 4, 5, 6, 2, 4, 6, 1) и Сх = (2, 3, 4, 5, 6, 2). В этом примере цикл Сх составлен из ребер, проходимых в С между первым и вторым посещениями вершины 2.
Итак, изменив указанным способом эйлеров цикл, получаем новый эйлеров цикл. Следующая теорема, приводимая здесь без доказательства, утверждает, что последовательности таких изменений достаточно для получения всех эйлеровых циклов из данного.
Теорема 43.3 (А. Коциг, 1980 г.). Если С и С' — эйлеровы циклы графа G, то в G существует такая последовательность эйлеровых циклов С = СХ, С^ ..., Ск = = С', что Ci+X получается из Ct путем изменения порядка обхода ребер некоторого подцикла на обратный.
Естественно возникает вопрос: как найти хотя бы один эйлеров цикл в эйлеровом графе G, т. е. как занумеровать ребра графа числами 1, 2, ..., ISGI с тем, чтобы номер, присвоенный ребру, указывал, каким по счету 194
это ребро проходится в эйлеровом цикле? Оказывается, это можно сделать, если нумеровать ребра, придерживаясь следующих двух правил:
Начиная с произвольной вершины и, присваиваем произвольному ребру uv номер 1. Затем вычеркиваем ребро uv и переходим в вершину v.
Пусть w — вершина, в которую мы пришли в результате выполнения предыдущего шага, и к — номер, присвоенный некоторому ребру на этом шаге. Выбираем любое ребро, инцидентное вершине w, причем мост выбираем только в том случае, когда нет других возможностей; присваиваем выбранному ребру номер Н1и вычеркиваем его.
Этот процесс, называемый алгоритмом Флёри, заканчивается, когда все ребра графа вычеркнуты, т. е. занумерованы.
Дадим теперь обоснование алгоритма. Прежде всего заметим, что поскольку степень каждой вершины графа G четна, то алгоритм может закончить работу только в той вершине, с которой начал. Поэтому он строит некоторый цикл С, и надо только доказать, что этот цикл включает все ребра графа G. Предположим, что это не так, и пусть G'— связная компонента графа G — EC, не являющаяся изолированной вершиной. Рассмотрим множество А ребер цикла С, инцидентных вершинам, вошедшим в G'. Ясно, что А Ф 0. Пусть а — ребро из А, получившее в процессе работы алгоритма наибольший номер, т. е. вычеркнутое последним среди ребер А. Тогда, как легко видеть, ребро а к моменту вычеркивания было мостом в графе. Однако это противоречит правилу выбора очередного ребра. <
Заметим, что эйлеровы графы достаточно редки. Верна следующая
Теорема 43.4 (Р. Рейд, 1962 г.). Почти нет эйлеровых графов.
(1)(1)> Пусть ^i(n) —множество всех эйлеровых графов из 3(п) (см. § 12), а ^(н)— множество всех графов из З^, степени всех вершин которых четны. Согласно теореме 43.1 имеем
(1)
(1)
Очевидно, что все графы из ^2^ можно получить, добавляя к некоторому графу из S(n — 1) новую вершину и соединяя ее со всеми вершинами нечетной степени.
Так как
/п-П
| ^ (га - 1) | ='2^ 2 <
то
I ^2 (га) I < 2^"2^ = 2^-п+1 = о (2^) = о (I 3 А I)-
Поэтому па основании (1) имеем l^i (п) I = о( \9 ^ I), что и доказывает теорему. <
Замечание. Запись }(п) = o(g(n)) означает, что
lim = 0.
П-*оо ^ (^)
Гамильтоновы графы
Граф называется гамильтоновым, если в нем имеется простой цикл, содержащий каждую вершину этого графа. Сам этот цикл также называется гамильтоновым. Гамильтоновой называют и простую цепь, содержащую каждую вершину графа. Слово «гамильтонов» в этих определениях связано с именем известного ирландского математика У. Гамильтона, которым в 1859 году предложена следующая игра «Кругосветное путешествие». Каждой из двадцати вершин додекаэдра приписано название одного из крупных городов мира. Требуется, переходя от одного города к другому по ребрам додекаэдра, посетить каждый город в точности один раз и вернуться в исходный город.
Рис. 44.2Рис. 44.2
Рис. 44.2
Рис. 44.2
Эта задача, очевидно, сводится к отысканию в графе додекаэдра (рис. 44.1) простого цикла, проходящего через каждую вершину этого графа.
Не все связные графы гамильтоновы хотя бы потому, что такой граф должен быть двусвязным. Однако пример графа, представленный на рис. 44.2, показывает, что для гамильтоновости графа двусвязности недостаточно.
Любой граф, содержащий две вершины степени 3, со
единенные тремя простыми попарно пепересекающпмися цепями длины не менее двух, называется тэта-графом (рис. 44.2).
Теорема 44.1. Каждый иегамилътоиов двусвязный граф содержит тэта-подграф.
Пусть G — негамильтопов двусвязный граф it С — простой цикл максимальной длины в этом графе. По условию теоремы множество S = VGWC непусто. Как подтверждает прямая проверка, среди двусвязных графов
порядка меньше пяти нет негамильтоновых, поэтому |G|>5. Из двусвязности графа G и теоремы 34.1 следует, что IVCI ^4.
Пусть оси — такое ребро графа G, что х е VC, v^S, а и Ъ — вершины цикла С, смежные с х (рис. 44.3). Поскольку С — максимальный цикл,
то вершина и не смежна
ни с а, ни с 6 (иначе можно было бы построить больший цикл). Рассмотрим теперь граф G — x, который, оче
видно, связен.
В этом графе для каждой вершины у ^ VC имеется (и, у)-цепь. Выберем из этих цепей кратчайшую (р, у*)- цепь Р*. Учитывая, что С — максимальный цикл, имеем у* =^ а, у* ^ Ъ. Кроме того, Р* не содержит вершин цикла С, отличных от у*, так как иначе можно было бы построить более короткую цепь. Объединив цикл С и цепь Р*, получим искомый тэта-подграф. <1
Несмотря на внешнее сходство постановок, задачи распознавания эйлеровости и гамильтоновости графа принципиально различны. Используя теорему 43.1, легко узнать, является ли граф эйлеровым. В случае положительного ответа алгоритм Флёри позволяет достаточно быстро построить один из эйлеровых циклов.
Что касается гамильтоновости, то ситуация здесь существенно иная. Ответить на вопрос, является ли данный граф гамильтоновым, как правило, очень трудно. Очевидно, что проблема распознавания гамильтоновости графа есть частный случай проблемы изоморфного подграфа.
Изучение условий гамильтоновости графов — одно из весьма популярных направлений теории графов. Основ-
нал масса доказанных здесь теорем утверждает, что при выполнении определенных условий граф содержит гамильтонов цикл, причем метод доказательства таких теорем обычно дает и эффективный алгоритм построения самого гамильтонова цикла. В этом параграфе мы рассмотрим несколько теорем такого рода (достаточных условий гамильтоповости).
Интуитивно ясно, что если граф содержит много ребер и эти ребра к тому же достаточно равномерно распределены, то граф «предрасположен» быть гамильтоновым. В трех приводимых ниже теоремах можно усмотреть подтверждение этому.
Напомним, что степенной последовательностью графа называется список степеней его вершин.
Теорема 44.2 (В. Хватал, 1972 г.). Граф со степенной последовательностью dY ^ d2 ^ ... ^ dn является гамильтоновым, если для всякого к, удовлетворяющего неравенствам 1 < к < п/2, истинна импликация
(А ^ к") =^ (d^k ^п-ку
Теорему докажем от противного. Пусть существует негамильтопов граф, последовательность степеней вершин которого удовлетворяет условиям теоремы. Соединив две несмежные вершины такого графа ребром, получим, как легко видеть, граф со степенной последовательностью, снова удовлетворяющей условиям теоремы. Так как полный граф гамильтонов, то отсюда следует, что существует максимальный негамильтонов граф, степенная последовательность которого обладает таким же свойством. Этот граф будем обозначать через G. Таким образом, добавление любого нового ребра к графу G приводит к появлению в нем гамильтонова цикла. Поэтому любые две его несмежные вершины соединены гамильтоновой цепью.
Выберем в графе G пару несмежных вершин Uy и ип так, чтобы величина deg vx + deg ип была максимальной. Пусть их, V2, ..., vn— гамильтонова цепь, соединяющая эти вершины.
Если в графе G вершины и\ и щ смежны, то вершина ип не может быть смежной с ^._ь поскольку в противном случае граф G содержал бы гамильтонов цикл
^1, V2l Vj-b Vni Vn-Y, Vn-2, . .., Vj+Y, V^ Uy)
(рис. 44.4). Таким образом, вершина v^ не смежна по крайней мере с deg Uy вершинами, и поэтому deg ип ^
< п — 1 — deg v\. Отсюда получаем
deg i)\ + deg vn ^ n — 1 < n.
Для определенности будем предполагать, что deg v\ ^ < deg ип. Это вместе с предыдущим неравенством дает deg щ < п]2. Поскольку величина deg щ + deg ип максимальна, то степень каждой вершины, не смежной с иП1 не
Рис. 44.4
превосходит deg щ. При этом таких вершин, как уже отмечалось, не менее чем deg щ. Поэтому выбрав /c = degz;i, получим dk^k<n]2. Следовательно, по условию теоремы du-k ^ п — к. Последнее означает, что имеется по крайней мере /с+1 вершин степени не меньше чем п — к. Такими вершинами являются, например, вершины со степенями dn, dn-h ..., dn-h. Поскольку degPi = /c, то щ не может быть смежной со всеми этими вершинами, и, значит, найдется такая вершина vh не смежная с щ, что degyz> ^п — к. Но тогда
deg v\ + deg vt > к + (n — /с) > deg V\ + deg pn,
что противоречит выбору вершин щ и vn. <
С помощью только что доказанной теоремы можно получить ряд других достаточных условий гамильтоно- вости. Эти условия проще и, естественно, слабее теоремы 44.2.
Теорема 44.3 (О. Оре, 1960 г.). Если, для любой пары и и v несмежных вершин графа G порядка п^З выполняется неравенство deg и + deg и > п, то G — гамильтонов граф.
Пусть
VG = {щ, U2n ..., Vn\ di = deg v^ i =• 1, n,
и d\ ^ d^ ^ ... ^ dn — степенная последовательность графа G. Согласно теореме 44.2 достаточно показать, что условие нашей теоремы обеспечивает выполнение неравенств
dk>k.
Доказательство проведем от противного. Пусть для некоторого ^ {1, ..., [п/2 — 1]} выполняется неравенство
dt C t. Существование индексов г и / таких, что Z, / <1 и ViVj^EG, привело бы к неравенствам
d; + dj 2dt ^2t < п^
противоречащим условию теоремы. Следовательно, вершины щ, ^2, ..., Vt попарно смежны. Это вместе с неравенствами dt^t (Z = 1, 0 означает, что каждая вершина vL (1=1, t) смежна не более чем с одной вершиной vmi t + 1 ^ тп ^ п. Далее, поскольку К п/2, то п — t>t. Поэтому найдется вершина щ, t + 1 С j ^ и, не смежная ни с одной из вершин Vi (Z = 1, 0- Следовательно, deg щ ^ ^п — t — 1. Но тогда для пары несмежных вершин vt и и5 имеем неравенство deg vt + deg и5 < и, которое противоречит условию теоремы. <
Из этой теоремы непосредственно вытекает следующая Теорема 44.4 (Г. Дирак, 1952 г.). Если 1GI = п ^ 3 и для любой вершины и графа G выполняется неравенство deg и ^ п/2, то G — гамильтонов граф.
Нетрудно заметить, что во всяком ^-вершинном графе, удовлетворяющем условиям любой из рассмотренных выше теорем 44.2—44.4, число ребер не меньше чем (^—1)2/4. С другой стороны, n-вершинный планарный граф, как мы знаем, содержит не более Зп — 6 ребер. Поэтому рассмотренные выше достаточные условия заведомо неприменимы к планарным графам.
Легко указать 2-связный негамильтонов планарный граф. Таким графом является, например, тэта-граф. При-
вести пример 3-связного планарного графа без гамильтонова цикла уже не столь просто. Такой граф, оказывается, должен содержать не менее 11 вершин. Этот факт был установлен Д. Барнеттом и Е. Юковичем (1970 г.). Найденный ими негамильтонов планарный 3-связный граф с минимальным числом вершин изображен на рис. 44.5. В том, что этот граф не содержит гамильтонова цикла, можно убедиться, проделав не слишком большой в данном случае перебор вариантов. Проще, однако, заметить, что он — двудольный и, следовательно, не содержит циклов нечетной длины, в частности, гамильтоновых циклов.
Следующая теорема — один из наиболее сильных результатов, касающихся гамильтоновых графов.
Теорема 44.5 (У. Татт, 1946 г.). Всякий 4-связный планарный граф является гамильтоновым.
Весьма сложное доказательство этой теоремы здесь
опускается.
Следствие 44.6 (X. Уитни, 1932 г.). Если в максимальном плоском графе G каждый 3-цикл является границей некоторой грани, то G — гамильтонов граф.
ляется 4-связным, то он необходимо содержит 3-цикл, не являющийся границей никакой грани (см. упр. 12 гл. VI). <Пример максимального планарного негамильтонова графа G с 11 вершинами приведен па рис. 44.6. От-ляется 4-связным, то он необходимо содержит 3-цикл, не являющийся границей никакой грани (см. упр. 12 гл. VI). <Пример максимального планарного негамильтонова графа G с 11 вершинами приведен па рис. 44.6. От-явявКак известно (следствие 39.2), всякий максимальный плоский граф 3-связеп. Если же такой граф не
ляется 4-связным, то он необходимо содержит 3-цикл, не являющийся границей никакой грани (см. упр. 12 гл. VI). <
Пример максимального планарного негамильтонова графа G с 11 вершинами приведен па рис. 44.6. От-
ляется 4-связным, то он необходимо содержит 3-цикл, не являющийся границей никакой грани (см. упр. 12 гл. VI). <
Пример максимального планарного негамильтонова графа G с 11 вершинами приведен па рис. 44.6. От-
яв
яв
сутствие гамильтонова
цикла следует из того, что шесть вершин графа G, помеченных знаком «+», попарно не смежны, а на цикле длины 11 могут лежать не более пяти таких вершин. Согласно следствию 44.6, этот граф должен содержать 3-цикл, не являющийся границей никакой грани. Такими 3-циклами являются, например, (а, Ь, с) и (а, с, cty
Если в тг-вершиппом графе G фиксировать одну вершину и обход всегда начинать с нее, то всякому гамиль
тонову циклу очевидным образом будет соответствовать перестановка элементов множества VG. Тем самым най
ти гамильтонов цикл либо убедиться в отсутствии такого цикла можно путем перебора (п — 1)! перестановок. Если граф G гамильтонов, то проделать этот перебор в полном объеме придется только в случае крайнего неве
зения — когда нужная, т. е. отвечающая гамильтонову циклу перестановка встретится последней в этом процессе. Если же G — негамильтопов граф, то действуя подобным образом, придется в любом случае проверить все (п — 1)! перестановок.
На практике не пользуются столь бесхитростным способом распознавания гамильтоновости, а применяют различные алгоритмы частичного перебора. Однако и там наблюдается такой же эффект — т. е. негамильтоновость
установить, как правило, труднее, чем гамильтоновостъ. В этой ситуации были бы полезны необходимые условия гамильтоновости. Такие условия нужны и для построения примеров негамильтоновых графов с заданными свойствами. К сожалению, для графов общего вида необходимые условия гамильтоновости неизвестны, за исключением уже упоминавшегося банального факта, что гамильтонов граф должен быть 2-связпым. Иначе обстоит дело с планарными графами.
Всякую грань плоского графа, граница которой содержит ровно к ребер, назовем ^-гранью.
Теорема 44.7 (Э. Я. Гринберг, 1968 г.). Пусть fh— число к-граней плоского графа G. Если G — гамильтонов граф, то для каждого к^ 3 существуют такие целые неотрицательные числа f^fk^ чтпо
А + fk = fki
2Д(&-2)= ^f>-^Y(1)
Пусть граф G содержит гамильтонов цикл С. Этот цикл делит плоскость на две части — ограниченную — D\ и неограниченную — D2. Тем самым граф G представляется в виде объединения двух графов G\ и G2l содержащихся в Di и D2 соответственно. Ясно, что D\ — грань
графа G2i ТА — грань графа Gy и EGy П EG2 — ЕС. Пусть А—число Л-граней графа GXl отличных от D2l а А— число ^-граней графа G2) отличных от Dy. Очевидно, что
А + А = А-
В графе G, изображенном на рис. 44.7, ребра гамильтонова цикла С обведены жирными линиями. Граф G\ включает, помимо цикла С, ребра щг?9, z?2^8, v^vi, идР^ Удив, а граф G2 — ребра V7V9 и 225^10- В этом примере /з = 5, А = 2, /5 = А = 1, А = 4, А = 2, А ■ А = А = А а остальные A, fk) fl равны 0.
202
Возвращаясь к доказательству, установим теперь справедливость равенства (1). С этой целью заметим, что удвоенное число ребер графа Gi равно 2 Л& + ^, а чис- к>3
ло всех его граней — 2 /д + 1- Поэтому, согласно фор- к^З
муле Эйлера, можем написать
2 fk^ + п — 2f2 fk + М " 2 (^ — 2).
к>3U^3/
После очевидных упрощений имеем
^^к-2) = п-2.
к>3
Аналогичное соотношение верно и для графа G2, т. е. ^^к-2) = п-2. к>3
Объединив два последних равенства, получим (1). <1
Установление негамильтоновости графа путем перебора всех разбиений чисел fk и последующей проверки выполнения равенства (1) едва ли проще полного перебора перестановок, о котором упоминалось выше. Польза теоремы 44.7 в другом — иногда удается, проанализировав числа fh, сразу сделать вывод об отсутствии подходящего разбиения, т. е. вывод о негамильтоновости графа. Рассмотрим в качестве примера граф, изображенный
на рис. 44.8. Для этого графа /4 = 1, /5 = 18, /8 = 4, а остальные fh равны 0. Поэтому соотношение (1) должно иметь вид
2/4 + З/5 + 6/8 = 2/4 + 3/5 + 6/8,
откуда следует, что /4 = /4(mod3). Это, однако, невозможно, поскольку /4 + /4 = f^ = 1. Таким образом,
203
нужного разбиения чисел fh не существует, и значит, граф негамильтонов.
Рассмотрим еще один класс теорем о гамильтоновых графах. В этих теоремах утверждается, что если граф G удовлетворяет определенным условиям, то граф, получаемый из G с помощью некоторой операции, гамильтонов.
Теорема 44.8 (Ф. Харари, С. Нэш-Вильямс, 1965 г.). Реберный граф L(G) гамильтонов тогда и только тогда, когда в графе G имеется цикл, содержащий хотя бы по одной вершине из каждого его ребра.
Из этой теоремы, приводимой здесь без доказательства, вытекает, в частности, что если граф G является эйлеровым или гамильтоновым, то реберный граф L(G) гамильтонов.
Интуитивно ясно, что если граф G порядка п ^ 3 связен, то при достаточно большом к граф Gk гамильтонов (определение графа Gk см. в § 8). Кроме того, из гамильтоновости графа Gk очевидно следует гамиль- тоновость графа Gk+i. В связи с этим представляет интерес наименьшее к, при котором граф Gk гамильтонов.
Теорема 44.9 (Д. Караганис, 1968 г.). Если граф G порядка п^ 3 связен, то G^ — гамильтонов граф.
> Теорему достаточно доказать для случая, когда G — дерево. Будем доказывать следующее, несколько более сильное утверждение: для любого фиксированного ребра аЪ дерева G граф G3 содержит гамильтонов цикл, проходящий через аЪ. Это утверждение легко проверить непосредственно для деревьев с числом вершин не более четырех. Предположим, что существуют деревья с большим числом вершин, для которых оно не верно. Выберем из них дерево Go с минимальным числом вершин. Пусть ab — некоторое ребро дерева Go. При удалении этого ребра Go распадается на два дерева Gi и G2 таких, что ае VGi, be VG2. По крайней мере одно из них, например Gi, содержит не менее трех вершин. Выберем вершину и е VG\ так, чтобы ребро иа принадлежало EG\. Поскольку I VG\I < I FGol, то G^ содержит гамильтонов цикл Яь проходящий через ребро иа.
Теперь рассмотрим дерево G2. Сначала допустим, что U7G2l^3, и пусть Ъх — ребро графа G^, инцидентное вершине Ь. Поскольку IVG21 < I T^Go I, то G^ содержит гамильтонов цикл Я2, проходящий через ребро Ьх. Используя циклы Н\ и Я2, легко построить цикл Н в графе 204
Go, проходящий через ab. Для этого достаточно удалить ребра аи и Ьх из Я1 й Я2 соответственно и добавить ребра ab и хи, т. е. положить
Н = (Я1 — va) U (Я2 — Ьх') + хи + ab.
Пусть теперь 1T7G2I =2, т. е. G2 состоит из одного ребра Ьс. Тогда положим
Я = (Я1 — va) + аЪ + Ъс + ис.
Наконец, если G2 содержит единственную вершину 6, то
Я = (Я1 — va) + ab + bv.
Итак, во всех случаях граф Gq содержит гамильтонов цикл Я, проходящий через ребро ab дерева Go, что противоречит выбору Go. <
Легко указать граф, квадрат которого негамильтонов. Таков, например, граф, получающийся из звезды Я1,з подразбиением каждого ребра.
Следующая теорема, приводимая без доказательства, является наиболее значительным результатом среди всех, касающихся гамильтоновых циклов в степенях графов.
Теорема 44.10 (Г. Флейшнер, 1971 г.). Если G — двусвязный граф порядка п^ 3, то G2 — гамильтонов граф.
Во многих прикладных задачах требуется строить гамильтонову цепь, а не цикл. Граф, содержащий такую цепь, называется трассируемым. Задачи о гамильтоновой цепи и гамильтоновом цикле эквивалентны в том смысле, что, умея решать одну из них, мы смогли бы решить и другую. Эту эквивалентность можно установить с помощью очень простых конструкций. Вместе с исходным графом G, для которого надо решать обсуждаемые задачи, рассмотрим новые графы Gz и G"(ab). Граф G' получается добавлением к графу G новой доминирующей вершины, a G" (ab) — добавлением к G двух вершин 2 и у и пары ребер з,а и yb (a, b^VG). Теперь легко видеть, что граф G является трассируемым тогда и только тогда, когда граф Gz гамильтонов. С другой стороны, очевидно, что гамильтоновость графа G эквивалентна существованию гамильтоновой цепи хотя бы в одном из графов G" ^аЪ), ab^EG. Приведенные конструкции иллюстрируются на рис. 44.9.
Практические применения только что рассмотренного раздела теории графов связаны прежде всего с широко
известной задачей коммивояжера. Она состоит в следующем: коммивояжер должен посетить каждый из заданных п городов по одному разу, выехав из некоторого из этих городов и вернувшись в него же. Требуется найти кратчайший маршрут, зная расстояния между каждой парой городов.
Математическая постановка этой задачи выглядит так: в полном взвешенном графе требуется найти гамильтонов цикл (или цепь) минимального веса. Под весом цикла понимается сумма весов составляющих его ребер.
Например, при производстве печатных плат сверлильный станок с числовым программным управлением должен сделать большое количество отверстий в заданных
Рис. 44. 9
точках платы, переходя от одной точки к другой. Время работы такого станка складывается из суммарного времени сверления, которое не зависит от порядка обхода точек, и из суммарного времени переходов от одной точки к другой. Требуется задать такую последовательность обхода точек, чтобы общее время работы станка было минимально. Легко видеть, что это — задача коммивояжера.
Представление о непосредственных применениях гамильтоновых цепей дает следующая ситуация: имеется машина (станок, компьютер) и п заданий, каждое из которых она способна выполнить после соответствующей настройки. При этом необходимо затратить на переналадку tn единиц времени для того, чтобы после выполнения i-ro задания выполнить /-е. В предположении, что tn " t^ требуется найти последовательность выполнения заданий, при которой время каждой переналадки не превосходит величины I. Если построить граф G, у которого
VG {1, 2, ..., и\ EG Uh tn ^ i},
то наша задача сведется к отысканию гамильтоновой цепи в этом графе.
В заключение отметим без доказательства теорему, отражающую типичный случай.
Теорема 44.11 (В. А. Перепелица, 1969 г.). Почти все графы гамильтоновы.
УПРАЖНЕНИЯ
Докажите, что граф является эйлеровым тогда и только тогда, когда каждый его блок эйлеров.
Докажите, что эйлеров граф является объединением ребер- но-непересекающихся простых циклов.
Пусть G — дерево. Когда граф G2 эйлеров?
Каким должен быть граф G, чтобы реберный граф L(G^ был эйлеровым?
Покажите, что граф Петерсена пегамильтонов.
Найдите связный граф G с минимальным числом вершин, большим 2, для которого граф G2 негамильтонов.
Приведите пример такого реберно-2-связного графа G, что граф G2 негамильтонов.
Граф называется гамильтоново-связным, если любые две его вершины соединены гамильтоновой цепью. Является ли трехмерный куб (?з гамильтоново-связным?
Негамильтонов граф G называется гипо гамильтоновым, если граф G — х гамильтонов для любой вершины х. Покажите, что граф Петерсена гипогамильтонов.
Докажите, что всякий гамильтоново-связный граф порядка п ^ 3 является 3-связным.
Пусть тп и п— натуральные числа, G — граф решетки, т. е. VG = {(ж, у): х = 1, т, у = 1, п) и ab е EG тогда и только тогда, когда а = (ж, у^, b = (z, t) и | х — z | = 1 или | у — i| = 1. При каких ш и п граф G гамильтонов?
Пусть в плоском 3-связном графе G существует грань, имеющая с любой другой его гранью хотя бы одно общее ребро. Покажите, что граф G гамильтонов.
Покажите, что связный граф является гамильтоновым, если его группа автоморфизмов содержит полный цикл.
Покажите, что регулярный граф степени 4, окружение каждой вершины которого связно, является гамильтоновым.
Для каждого п ^ 4 приведите пример негамильтопова ([м/2] — 1)-связного ^-вершинного графа.
Приведите пример графа, для которого выполняются условия теоремы 44.2, но не выполняются условия теоремы 44.3.
Пусть ^-вершинный граф G удовлетворяет условиям теоремы 44.2. Докажите, что тогда |2?G| ^ (п — 1)2/4.
Найдите гамильтонов цикл в графе, изображенном на рис. 44.1.
Покажите, что всякий связный граф содержит маршрут, в котором каждое ребро графа повторяется не более двух раз.
Задача Эйлера о шахматном коне. Найдите такую последовательность ходов шахматного коня, чтобы, начав с произвольной клетки, пройти через каждую клетку шахматной доски один раз и вернуться в исходную.
Глава VIII
Степенные
последовательности
Эта глава посвящена теории степенных последовательностей. Напомним, что степенной последовательностью графа называется список степеней его вершин.
Часто по степеням вершин графа можно судить о его строении. Например, граф, в котором полусумма степеней вершин (т. е. число ребер) не меньше числа вершин, содержит цикл (следствие 13.6); граф, степень каждой вершины которого равна двум, есть дизъюнктное объединение циклов; граф, степень каждой вершины которого — четное число, пе равное нулю, является объединением циклов (теорема 43.1) и т. д. В предыдущих главах есть и другие факты, поддающиеся интерпретации подобного рода.
Естественно возникают следующие вопросы. Как связаны между собой степени вершин графа? Как по списку степеней вершин судить о свойствах графа? Какова связь между графами с совпадающими списками степеней вершин? Можно ли построить граф с заданным списком степеней вершин и предписанными теоретикографовыми свойствами и как это сделать?
Подобные вопросы особенно интенсивно изучаются в настоящее время. Это не только продиктовано внутренней логикой развития теории графов, но имеет и практическое значение. Если в виде графа представляется коммуникационная схема, узлам которой соответствуют вершины графа, а ребрам — каналы связей между вершинами, то возникает задача построения графа с заданными степенями вершин и, например, максимально воз- можной связностью. Такой граф соответствовал бы схеме с заданными пропускными способностями узлов и максимальной надежностью. Одна из исторически первых задач теории графов также относится к этому кругу проблем. Именно, в 1857 году А. Кэли, изучая насыщенные углеводороды, пришел к задаче перечисления деревьев, степени вершин которых равны 1 и 4.
§ 45. Графическая последовательность
Последовательность (di, d2, ..., dn) целых неотрицательных чисел ниже называется п-последовательностью и обозначается одной буквой d. ^-носледователыюсть d называется графической, если существует граф, степенная последовательность которого совпадает с d. Этот граф называется реализацией последовательности d.
Очевидно, что порядок членов в графической тг-после- довательпости d несуществен, а каждый ее член di удовлетворяет неравенствам O^di^n— 1. Часто удобно эти последовательности считать невозрастающими. Согласно лемме о рукопожатиях сумма всех членов графической последовательности является четным числом.
Назовем /г-последовательность d правильной, если выполняются два следующих условия:
п — 1 > d\ > d2 > ... > dn, п
2 ^1— четное число.
Без ограничения общности графическую последовательность можно считать правильной.
Иногда последовательность d удобно записывать в ви- 7/ ^1^2
де d = ^сг, с2 л ..., ср ), где числа Сг попарно различны, а показатель kt означает количество повторений числа Ct в последовательности d. Так, (5, 2, 16) = (5, 2, 1, 1, 1, 1, 1, 1).
Рассмотрим последовательность d—^, I4). Существуют ровно пять графов, являющихся реализациями последовательности d. Они имеют следующие компоненты: 1) С^ К2 и К2, 2) /?з, Рз и К2, 3) Р6 и К2, 4) Р5 и Рз, 5) Р4 и Р4.
В общем случае графическая последовательность имеет много реализаций и их число определить сложно. В установлении связи между этими реализациями важную роль играет вводимое ниже понятие переключения. Пусть G — граф, а, Ъ, с, d — четыре его попарно различные вершины, причем ab^EG, cd^EG, но ac^EG, bd^EG. Тогда говорят, что граф G допускает переключение s = (ab, cd). Полученный в результате переключения s граф обозначается через sG; граф G превращается в sG в результате удаления ребер ab и cd и присоединения ребер ас и bd: sG = G — ab — cd + ас + bd. Обратное переключение s^^ac, bd) применимо к графу sG.
14 в, А, Емеличев и др.209
Тождественное преобразование ребер графа также по определению является переключением.
Например, па рис. 45.1 изображены графы G и sG, где s = ({1, 3), {4, 2}).
Очевидно, что переключение не меняет степеней вершин графа. Роль переключений определяется следующей теоремой.
141453 2G53 2GТеорема 45.1. Любая реализация графической последовательности получается из любой другой ее реали- 14зации посредством примене-
14
14
53 2
G
53 2
G
•ния подходящей цепочки переключений.
Доказательство этой тео- 53 2 ремы основано на следую-
5 в щей лемме.
Рис.занумерованыния степеней:Рис.занумерованыния степеней:45дЛемма 45.2. Пусть G—
Рис.
занумерованыния степеней:
Рис.
занумерованыния степеней:
граф, вершины которого числами 1, 2, ..., п в порядке невозраста-
VG = {1, 2, ..., п}, deg i = di, di^ d^x, t=l, и— 1.
Тогда для любой его вершины I существует такая последовательность переключений si, ..., st, что в графе Н = = st...SxG окружение вершины г совпадает с множеством из di вершин наибольших степеней, т. е.
({1, 2, .. ., di),если Z> di,
^я^^= 10,2,.,i-l, i + 1, ...,di + 1}, если i^di.
Рис. 45.2Рис. 45.2Пусть г, /, k VG, / > k, ij EG, ik EG. Так как dk > d), то существует четвертая вершина l, смежная с k, но не смежная с / (рис. 45.2, где, как и всюду в этой главе, пунктирными линиями обозначены ребра, отсутствующие в графе). Следовательно, граф G допускает переключение s = (ij, kl). Если Gr = sG, то ik^EG', ij^EG'. Сделав несколько подобных переключений, придем к нужному гра- фу Н. <
Рис. 45.2
Рис. 45.2
Доказательство теоремы 45.1. Пусть d — правильная графическая ^-последовательность. Воспользуемся индукцией по п. Как подтверждает прямая проверка, при п ^ 4 каждая графическая последовательность имеет только одну реализацию. Следовательно, для п < 4 ут- 210
верждение теоремы тривиально. Пусть п > 4 и это утверждение верно для всех графических (п — ^-последовательностей. Пусть, далее, Gj и G2 — две реализации последовательности d. Для каждого из графов G\ и G2 обозначим через v какую-либо вершину степени d\. Согласно лемме 45.2 существуют такие цепочки переключений 51, ..., st и sv ..., sr, что в графах Н[ = st... s^Gi и II ^ = sr . .. s^G^ окружения вершины и состоят из вершин степеней d^ d^ . .., d^v Поэтому степенные последовательности графов Н\ — и и H2 — v совпадают. По индуктивному предположению существует такая цепочка переключений 5Ь ..., sk, что
HY~v^sh...s1(H2-vy
Эти переключения не затрагивают вершины у, поэтому Hi — sh... s\H2. Далее имеем
Gt = SxV sT1H1 = sV ... sTXsh . .. 8^3 =
= s?1 ■ • • 8?Х . . . SjSr . .. s^2.<
Иногда, хотя и редко, граф определяется своей степенной последовательностью однозначно. Если все реализации графической последовательности изоморфны, то эта последовательность называется униграфической, а ее реализация — униграфом. Строение униграфов известно, однако его описание слишком сложно. Униграфом является, например, простой цикл С^.
§ 46. Критерии графичности последовательности
Как отмечалось выше, графическую последовательность всегда можно считать правильной. Кроме того, в ней должны быть равные члены (если длина ее п > 1), поскольку не существует графа, степени всех вершин которого попарно различны (см. упражнение И в гл. I).
Однако указанные условия отнюдь не являются достаточными для графичности последовательности. Очевидно, например, что последовательность (З2, I2) не является графической, хотя и удовлетворяет упомянутым условиям.
Известно несколько критериев графичности последовательности. Одной из важнейших теорем такого рода является критерий Гавела — Какими^ к изложению которого мы приступим.
14*211
Пусть d—правильная ^-последовательность, п>*1. Зафиксируем индекс I, 1 ^ i ^ п, и через сг обозначим (^-^-последовательность, которая получается из последовательности d вычеркиванием t-ro члена. Тем самым
г (dk, если k<Zi,
Х 1 2 R (dk+1, если k^i.
Пусть, далее, последовательность d^^fx, /2, ..., /n-i) получается из последовательности сг в результате уменьшения на единицу каждого из первых dt членов:
(сь,— 1, если k^d^^к — если к^> d{.
Тогда d1 называется производной последовательностью.
Например, если cZ = (3, 3, 1, 1), то а6=(2, 0, 0)=d2, d^=^ 3, ^-d\
Теорема 46.1 (В. Гавел, 1955 г., С. Хакими, 1962 г.). Пусть d— правильная п-последовательность, п> 1. Если для какого-либо индекса I, 1 С I ^ п, производная последовательность dz является графической, то и d — графическая последовательность. Если последовательность d графическая, то каждая последовательность d1 (i = 1, п) является графической.
> Пусть d1 — графическая последовательность, Н — ее реализация. Добавив к графу Н новую вершину и соединив ее ребрами с dt вершинами наибольших степеней, получим реализацию последовательности d. Следовательно, d — графическая последовательность.
Обратно, пусть последовательность d является графической. Согласно лемме 45.2 существует такая реализация G этой последовательности, в которой некоторая вершина и степени dt смежна с d; вершинами, степени которых наибольшие. Очевидно, что граф G — и является реализацией последовательности d\ <
Предыдущий критерий вместе с леммой 45.2 подсказывают алгоритм распознавания графичности правильной последовательности и построения одной из ее реализаций. Назовем этот алгоритм 1-процедурой. Пусть d — правильная ^-последовательность, V — ^-элементное множество вершин (будущего графа), каждому элементу v которого приписано неотрицательное целое число d(v^—метка, причем d^<n. Пусть, далее, S^—под- множество V, составленное из d(u) отличных от вершины и вершин с максимальными метками (S^v) оп- 212
ределено не однозначно). Шаг 1-процедуры заключается в следующем:
фиксировать произвольную вершину и с положительной меткой (далее эта вершина называется ве- дущей];
фиксировать одно из подмножеств 5(f);
вершину и соединить ребром с каждой вершиной из S(^);
изменить метки вершины и и каждой из вершин и, входящих в S(v^ положив б/(у):=О, d(u): = d(u) — 1.
Если в результате применения шага /-процедуры какая-либо из меток становится отрицательной, то говорят, что этот шаг проваливается.
шагов.
Берем
F = {1, :
1 • (3)
• (О)
• (О)
2е(ЗЦ
I ( (2)
л(^
• Ш)
3 • (2)
♦ (0)
е (0)
4 *(2)
11) \
• (1)
f ID)
Зе (2)
• (2)
1 (0)
ьепииьепии2, ..., п} и первоначально2, ..., п} и первоначально55/-процедура применяется к правильной п-последова- тельности d и заключается в последовательном выпол-
ьепии
ьепии
2, ..., п} и первоначально
2, ..., п} и первоначально
5
5
Рис. 46.1
полагаем d^ = dt. Из леммы 45.2 и критерия 46.1 вытекает, что возможно одно из двух: либо мы приходим к нулевой последовательности меток и одновременно получаем реализацию последовательности d, либо очередной шаг проваливается, т. е. последовательность d не является графической.
На рис. 46.1 /-процедура демонстрируется на примере последовательности (З2, 23). Каждый столбец на этом рисунке соответствует одному шагу /-процедуры.
Отметим еще один критерий графичности последовательности.
Теорема 46.2 (П. Эрдёш, Т. Галлаи, 1960 г.). Правильная п-последователъность d является графической тогда и только тогда, когда для каждого k = 1, п — 1 верно неравенство
(1)(1)кп
(1)
(1)
2^г^^(^—1) + 2 min {A:, dj.
г—1г^кЛ!
> Необходимость неравенства (1) проверяется легко. Пусть G — реализация последовательности d1
к
VG = {1,2, ..., тг}, deg i = d^ г = Sk = ^ dt-
г=1
Разобьем сумму 8к на две части: 8к = А + В, где А— сумма степеней вершин порожденного подграфа G(l,
2, ..., Л), а В — вклад, вносимый в сумму 8к ребрами вида ij, где i^k, j > к. Очевидно, что
А^к^к-!^ 5< 5 min^,^},i^+l
откуда и вытекает неравенство (1).
Приведем доказательство достаточности условий теоремы, принадлежащее С. А. Чоудаму (1986 г.). Пусть d — правильная ^-последовательность, причем неравенство (1) верно для каждого к = 1, п — 1. Если di = г (г=1, ^), то хотя бы одно из чисел г и п четное, поскольку сумма членов последовательности d — четное число. Кроме того, г См — 1. При этих условиях существует ^-вершинный регулярный граф степени г (утверждение 7.1). Стало быть, d—графическая последовательность.
Пусть теперь среди членов di последовательности d есть различные. Не ограничивая общности, рассмотрим случай, когда dn ^ 0. Воспользуемся индукцией по сумме
2 = 5 йг=1
членов последовательности d. При 5 = 2 условиям теоремы удовлетворяет только одна ^-последовательность (1, 1, 0, ..., 0); эта последовательность, очевидно, графическая. Возьмем теперь 5 > 2 и предположим, что условия теоремы достаточны для графичности любой правильной ^-последовательности с меньшей чем 5 суммой членов. Пусть £ = minK: di>di+^. Тогда l^^zz—1. Положим
(d^ i -A- t^ Tt)
C = (^1» C2' * * * ’ C^1 Ci = J 1; / „
и докажем, что последовательность с также удовлетворяет условиям теоремы. Пусть
кк
Sk ™ Sk = 2i—1i=l
Заметим, что S'k = Sh (й = 1,1 — 1). Нужно доказать неравенства
Sk<.k(k — 1) + У min{&, с,}, i = l,n — l. (2) i=h+l
Это совсем просто при к ^ t. Имеем
Sk = 8к — 1 к (к — 1) + 2 min {к, d^ — 1 ^
i—&+1п
<Л^к — 1) + 2 minf/c, сД, i=fe+l
и неравенство (2) верно.
Пусть теперь к < t — 1. В этой ситуации sk=sk=kdk.(3)
Если, к тому же, dh^k — 1, то из равенств (3) непосредственно вытекает
S&< к {к — 1)^ к {к — 1) + 2 min^cj, i=fc + l
т. е. неравенство (2) верно.
Далее отдельно рассмотрим две возможности: 1) dk = = к,^ dh>k+i.
Заметим, что в рассматриваемом случае
2 ^ — 2^0.(4)
г=&+2
Это очевидно при к+2^п— 1. Если же к + 2 = п, то t = n—V и, следовательно, d = ((п — 2)n-1, dn). Далее, имеем S = (п — 2) (п — 1) + dn. Так как S — четное число и dn > 0, то dn ^ 2, откуда и следует неравенство (4).
Согласно (3) и (4)
Sk = к2 ^ к2 — к + d^y ^
^ к" — к + d^-y + ^+2 + • • • + dn — 2. (5)
Для i> к имеем
di — min Vk, dx\ dx— 1 = min Uc, dx-i\
поэтому из (5) следует, что
Sk^.k(k—1)+ 2 min {fc, Ci},i=fe+l
т. e. неравенство (2) верно.
Если dn ^ к + 1, то
min {/+ d} = min Ik, dt-\A = k.
Поэтому
^ = ^<^-1)4- 2 min {Mi} = i=fe+l
= k(k — 1) + 2 min {Zf,eJ,
и неравенство (2) верно.
Пусть теперь dn<k+l. В этом случае верно неравенство
Sh^k(k— 1) + 2 min{&, di} — 1.(6)
г=й+1
Действительно, если, напротив, (6) неверно, то
8к = к (к — 1) + 5 min {&,di}.i=R+l
Положив r = min{i: di+i+i^k^ и учитывая (3), получим
kdh = Sk = к (к — 1) + (( + г — к) к + 2 ^г = l=t + r+l
= к (^ + Т — 1) + 2 ^г
Ы+г+1 и, далее,
5fe+i = (к + 1) d^ — к (t + г — 1) +
4-^—2 dt">k(t + r—1) + 2 ^г—
i=f+r+iг=НЖ
= (/г + 1) к + (Zl + 1) (t + г — к — 1) +2 di =
г—t+r + l
= (Jt + 1) к + 2 min (7г + 1, di}. г—/1+2
Последнее противоречит тому, что последовательность d удовлетворяет неравенствам (1). Неравенство (6) доказано.
С учетом (6) и (3) получаем
S'h^k(k— 1) + 2 min{7с, dj — 1.(7)
i=A+l
В рассматриваемом случае I ^ к + 1, dt = dh ^ к + 1, min {к, dA = min {Л, cj = к, min {к, cj = си = dn — 1, min U, d1^ = dn, поэтому из (7) вытекает
Sk<. к (к — 1) + 2 min{&, cj.
г=ь+1
Тем самым доказано, что в любой ситуации последовательность с удовлетворяет условиям теоремы. Так как сумма членов этой последовательности равна 5 — 2, то она графическая по индуктивному предположению. Возьмем произвольную реализацию G последовательности с. Пусть a, be VG, deg а = ct, deg b = сп. Если вершины а и 6 не смежны, то граф G + ab является реализацией последовательности d и, следовательно, d — графическая последовательность.
Пусть ab ^ EG. Так как deg а = dt — 1 ^ ^ — 2, то существует вершина e^VG, не смежная с а. Но deg е ^ ^deg6, поэтому существует вершина ^VGn смежная с е и не смежная с Ь. Итак, граф G допускает переключение s = (ab, etY Граф sG = G — ab — ef + ае + bf также служит реализацией последовательности с, причем в нем вершины а и Ъ не смежны. Но тогда, как доказано выше, последовательность d является графической. <1
При тестировании последовательности с помощью критерия Эрдёша — Галлаи нет необходимости проверять все п — 1 неравенств (1). Пусть d — правильная ^-последовательность, k(d) = max {i: d^ti. Тогда верно следующее
Утверждение 46.3. Если последовательность d ■удовлетворяет каждому из неравенств (1) при к — = 1, к^п то она удовлетворяет и каждому из оставшихся неравенств (1).
Доказательство опускается.
Реализация графической последовательности
с максимальной связностью
В зависимости от выбора ведущих вершин /-процедура может строить различные реализации графической последовательности. Ее можно организовать так, чтобы она строила реализации с некоторыми предписанными свойствами, если, конечно, такие реализации существуют. Ниже показано, как с помощью /-процедуры построить такую реализацию G графической последовательно-
сти, число Z(G) реберной связности которой максимально среди всех реализаций.
Пусть d — правильная графическая тг-последователь- ность. Поскольку Л(G)^ 6(G) для любого графа G (6(G)—минимальная степень вершин), то мы стремимся построить реализацию G последовательности d с X(G^=dn.
Вначале построим просто связную реализацию.
Теорема 47.1. Правильная графическая п-последо- вательность d может быть реализована связным графом тогда и только тогда, когда dn > О и верно неравенство
п 2^>2(тг-1).(1)
г=1
Если указанные условия выполняются, то 1-процедура, на каждом шаге которой ведущей является вершина с минимальной положительной меткой, приводит к связному графу.
Замечание. При dn > 1 неравенство (1) выполняется автоматически.
> Необходимость условий теоремы очевидна. В самом деле, связный граф порядка п не имеет изолированных вершин и число ребер в нем не менее п— 1. Из леммы о рукопожатиях вытекает неравенство (1).
Достаточность докажем индукцией по длине последовательности d. При п = 2 условиям теоремы удовлетворяет только одна последовательность d=(l2). Реализацией этой последовательности служит связный граф К2, стало быть, для п = 2 теорема верпа. Пусть теперь п > 2 и доказываемое утверждение верно для графических последовательностей, длины которых меньше п. Отдельно рассмотрим два случая: 1) dn = 1, 2) dn> 1.
dn~ 1. Так как п > 2, то из неравенства (1) вытекает, что d\ > 1. Рассмотрим производную последовательность
^п = (/ь А, A-i), h = dx-i, к=^,i-2, п — 1,
Поскольку
n—1n
2А = 2^-2>2(л-2),A>0,
2=12=1
то последовательность d4 удовлетворяет условиям теоремы.
218
dn>\. Снова будем различать две ситуации: a) 4, = 2и б) ddn>2.
В ситуации а) из условий теоремы следует, что ^-2, ^2 = 2, d = (m, 2n-1),m^2.
Для производной последовательности dn имеем
d"=Ui, /2, ..., /n-i) = (m-l, 1, 2"-3),
2 А = т + 2(п-3)>2(п-2),Л>0. г=1
В ситуации б) для производной последовательности d? получаем
= (/i,/2, • • •,/п-1), А> 1, i = 1,га-1,
А >2 (га —2).
Итак, в любой ситуации производная последовательность dn удовлетворяет условиям теоремы и по индуктивному предположению имеет связную реализацию Я, получаемую в результате описанной в формулировке теоремы /-процедуры. Добавив к графу Н новую вершину, смея^ную с вершинами степеней /1, /2> • • -dd^ получим связную реализацию последовательности d. <
Аналогично доказывается
Теорема 47.2. п-последователъностъ d может быть реализована деревом тогда и только тогда, когда она не содержит нулей и верно равенство
2 А = 2(и-1). г=1
При выполнении указанных условий 1-процедура построит реализацию последовательности d деревом, если на каждом шаге выбирать в качестве ведущей вершину с минимальной положительной меткой.
На рис. 47.1 показана /-процедура, строящая дерево, которое является реализацией последовательности d = = (32, 2, I4).
Перейдем к графам с более высоким числом реберной связности. Приведем без доказательства следующую теорему.
Теорема 47.3 (Д. Уэнг, 1976 г.). Каждая правильная графическая п-последователъностъ d с dn> 1 имеет
реализацию, число реберной связности которой равно dn. Такая реализация строится 1-процедурой, на каждом шаге которой ведущей является вершина с минимальной положительной меткой.
С числом вершинной связности дело обстоит сложнее. Известно, что правильная графическая ^-последовательность d может быть реализована графом с числом вершинной связности du или dn — 1, причем соответствующую реализацию также можно получить посредством
Я (2)
• (2)
• (1)
ЯШ)
• (0)
5'
2»(3)
•(3)
> (2)
/ • (2)
Я(1)
I • (1)
Я (О)
h
3 • (2)
• (2)
♦ (2)
•(2)
• (2)
* (1)
V (0)
3*
4*(1)
•(1)
• (1)
Ут
я (О)
• (D)
• (О)
5 •())
• (1)
У(п
>• (0)
• (0)
•(D)
• (О)
2'
б • (()
• (1)
^(0)
•(О)
• (О)
• (О)
• (О)
7 ^т
• (0)
•(О)
•(D)
•(D)
•(D)
•(О)
4^
Рис. 47.1
/-процедуры. Однако доказательство этого факта и описание выбора ведущих вершин достаточно громоздки и потому здесь не приводятся.
§ 48. Гамильтонова реализация графической последовательности
В этом параграфе будет показано, как с помощью /-процедуры построить реализацию графической последовательности, обладающую гамильтоновой цепью или гамильтоновым циклом, если такие реализации существуют.
В формулировке следующего утверждения используется обозначение S^v), введенное в § 46.
Теорема 48.1 (В. Чангфейзен, 1978 г.). Если существует реализация правильной п-последовательности d, имеющая гамильтонову цепь с началом в вершине степени dt, то к такой реализации приведет 1-процедура, на первом шаге которой ведущей является вершина степени di, а на каждом из последующих — вершина с минимальной положительной меткой из множества 8 (и), где v— вершина, ведущая на предыдущем шаге.
Доказательство этой теоремы требует перебора возможных вариантов и потому громоздко; здесь оно опускается.
Перейдем к построению гамильтоновой реализации. Оно основано на следующей теореме.
Теорема 48.2 (В. Чангфейзен, 1978 г.). Для того чтобы правильная п-последователъностъ d имела реализацию в виде гамильтонова графа, необходимо и достаточно выполнение следующих двух условий*.
di>l,
существует реализация последовательности d, имеющая гамильтонову цепь с началом в вершине степени dx.
Необходимость условия теоремы тривиальна, докажем достаточность. Пусть G — реализация последовательности d, имеющая гамильтонову цепь (щ, и^ • •., vu) с началом в вершине щ степени dx. Если vxVn^EG, то (v\, ^2, ..., ип, щ)—гамильтонов цикл.
Пусть v\vn^EG. Тогда вершина щ смежна с какой- либо вершиной Vt, где 1<1<п—1. Рассмотрим вершину Если щгл+1 ^EG, то
(рь н2, ..., Ui, vn, vn_h ..., um, Pl)
скольку вершина Vt смежна как с v^a^ так и с ии, а верскольку вершина Vt смежна как с v^a^ так и с ии, а вер— гамильтонов цикл. Пусть теперь vxV^x^EG. По
скольку вершина Vt смежна как с v^a^ так и с ии, а вер
скольку вершина Vt смежна как с v^a^ так и с ии, а вер
Рис. 48.1Рис. 48.1vn, хотя•to 4о) 40) <о) •(0) ЧО) ЧП ЛФ) 40)UW ЧП \(о)vn, хотя•to 4о) 40) <о) •(0) ЧО) ЧП ЛФ) 40)UW ЧП \(о)deg ихdeg ихшина их не смежна пи с иил, ни с
Рис. 48.1
Рис. 48.1
vn, хотя
•to 4о) 40) <о) •(0) ЧО) ЧП ЛФ) 40)UW ЧП \(о)
vn, хотя
•to 4о) 40) <о) •(0) ЧО) ЧП ЛФ) 40)UW ЧП \(о)
deg их
deg их
/•to л (о) Чо) Чо) ?^)fW2) ЧП Г№ 342ЮЧ1) Чо) Ae^^U) ЧП \ЧП 5 42) 42) \(/) 6^(2) 42) ЧП 42)
Рис. 48.2
> deg и^ то существует такая вершина vh, что к ^ 2, vxVk^EG, ViVh^EG. Но тогда граф G допускает переключение s = (vxvk, Ui^xUtY Граф sG имеет гамильтонов цикл
(Vx, V2, .... Vi, Щ, Vn-x, .... ^-м, Р1)
(рис. 48.1). <
На рис. 48.2 показана процедура построения гамильтоновой реализации последовательности (З2, 24). Получен граф G с гамильтоновой цепью (1, 3, 2, 5, 6, 4); (1, 3, 2, 5, 6, 4, 1)— гамильтонов цикл.
Расщепляемые графы
Некоторые свойства графов полностью определяются степенными последовательностями, т. е. либо присущи всем реализациям степенной последовательности, либо пи одной из них. Одно из таких свойств — расщепляемость.
Граф G называется расщепляемым, если существует разбиение множества его вершин па клику и независимое множество, т. е. такое разбиение
A\}B = VG,(1)
что порожденный подграф С(Л) является полным, a G(S)—пустым. Это разбиение называется полярным. Множество А называется верхней долей графа G, а В — нижней; одна из этих долей может быть пустой.
Как подтверждает простая проверка, все графы порядка п ^ 3 расщепляемы, по уже среди четырехвершин- пых графов есть и расщепляемые и пе расщепляемые.
Для правильной графической последовательности d введем параметр т^, положив
m(d) = max U: di^i—O.
Например, m^d)=3 для d = ^, 2, I2).
Теорема 49.1 (П. Хаммер, Б. Симеоне, 1981 г.). Пусть d — правильная графическая п-последовательность, G — ее произвольная реализация. Граф G расщепляем тогда и только тогда, когда верно равенство
2 di = m^m — 1) + 2 йц(2)
1=1i==m+l
где m = m(d).
> Пусть G — расщепляемый граф. Среди всех полярных разбиений множества VG выберем разбиение (1) с максимальным числом вершин в верхней доле. Очевидно, что если а ^ А, b е В и IАI = к, то deg а ^ к — 1, deg b < < к. Следовательно, m = к. Поскольку G (А) = Kmi G(B) = On_m, то верно равенство (2).
Обратно, пусть для некоторого графа G VG = И, 2, ... ..., п), deg i = di. Положим А = {1, 2, ..., нА, В = = VmA-\, ..., п) и сумму степеней вершин из А разобьем па две части:
где С — вклад, вносимый в эту сумму ребрами вида «Щ2, at^A, a D — тот вклад, который вносят ребра вида ab, ([еА, Ъ^В. Очевидно, что верны неравенства
С ^ т(т — 1), J9^ ^ d^ (3)
г=m+1
Равенство (2) верно только тогда, когда оба неравенства (3) являются равенствами. Но это и означает, что С(Л) = — Кт, G^-On_m. <
Очевидно
Следствие 49.2. Если одна из реализаций графической последовательности расщепляема, то и все ее реализации расщепляемы.
Графическая последовательность называется расщепляемой, если она имеет расщепляемую реализацию.
При доказательстве достаточности выполнения условия (2) для расщепляемости графической последовательности d не были использованы ни смысл параметра тп^, ни то, что последовательность d не возрастает. Поэтому верно
Утверждение 49.3. Для расщепляемости графической п-последовательности d необходимо и достаточно, чтобы для какого-либо m, 1 ^ т < п, выполнялось равенство (2).
Расщепляемые графы составляют важный и содержательный класс графов. В частности, он включает в себя все пороговые графы, рассматриваемые в следующем параграфе. Некоторые задачи, сложные в общей ситуации (например, задача построения наибольшего независимого множества), становятся тривиальными в классе расщепляемых графов. Другие задачи для этого класса графов столь же сложны, как и для произвольных графов. Известно, например, что проблема изоморфизма произвольных графов просто сводится к аналогичной проблеме для расщепляемых графов (см. [18]).
Характеризация расщепляемых графов в терминах запрещенных порожденных подграфов приведена в § 62.
Пороговые графы
Среди расщепляемых графов важный класс составляют пороговые графы. Вершины произвольного графа G порядка п занумеруем числами 1, 2, ..., п, т. с. положим 7G = {1, 2, ..., nk Как и в § 28, обозначим через JG
множество, элементами которого служат все независимые подмножества вершин графа G и пустое множество. Если существуют такие неотрицательные вещественные числа ai, аг, ..., ап, ₽, что множество всех (0, 1)-решений неравенства
aiXi + аг^г + • • • +an^n ^ Р (1)
совпадает с множеством характеристических векторов элементов множества 3G, то граф G называется пороговым, а неравенство (1) — разделяющим неравенством.
Например, граф, изображенный па рис. 50.1, является пороговым, 3^1 + 2^2 + ^з + 2^4 ^ 3 — разделяющее нера-
Рис. 50.1Рис. 50.1Рис. 50.2Рис. 50.2
Рис. 50.1
Рис. 50.1
Рис. 50.2
Рис. 50.2
венство. Очевидно, что полный и пустой графы также являются пороговыми.
Отметим некоторые свойства пороговых графов.
Очевидно следующее
Утверждение 50.1. Любой порожденный подграф порогового графа также является пороговым.
Лемма 50.2. Графы 2К2, Р^ и С^ не являются пороговыми.
> В самом деле, изобразим схематично все три рассматриваемых графа на одном рисунке 50.2. Пусть теперь какой-либо из этих графов пороговый и
ai^i + cl2x2 + аз^з + а4#4 ^ £
— разделяющее неравенство. Тогда
ai + аг > Р,ai + аз ^ Р,
аг + а4 ^ Р,аз + а4 > р.
Но последняя система неравенств противоречива. Тем самым лемма доказана. <
Непосредственно из предыдущего вытекает
Следствие 50.3. Любой пороговый граф не имеет порожденных подграфов вида 2К2, Р^ и С^.
Обозначим через К ° G и О ° G графы, полученные из графа G присоединением новой доминирующей и, соответственно, изолированной вершины.
Лемма 50.4. Если G — пороговый граф, то оба гра- фа K°G и О °G также являются пороговыми.
> Пусть G — пороговый граф порядка п, (^ — разделяющее неравенство. Рассмотрим граф К ° G. Пусть а — минимальное число среди коэффициентов си в неравенстве (1); Ъ — минимальное число среди всех таких сумм
S = ai^i + «2^2 + ... + an^n, xt = 0, 1, i = l, п, что 5>Р; би у — произвольные числа, удовлетворяющие неравенствам
Р<б<Ь, б-а<у^6.(2)
(В случае, когда G = On, указанного b не существует и в (2) соответствующее неравенство опускается.) Прямая проверка подтверждает, что неравенство
ai^i + а2^2 + ... + апхп + p?n+i ^ 6(3)
является разделяющим для графа К ° G.
Аналогично, взяв в (3) у и б, удовлетворяющие условиям р < 6 < 6, у ^ б — ^, получим разделяющее неравенство для графа О ° G. <
Как отмечалось выше, некоторые графы являются униграфами, т. е. с точностью до изоморфизма определяются своими степенными последовательностями.
Из того факта, что любые две реализации графической последовательности получаются одна из другой с помощью цепочки переключений (теорема 45.1), вытекает
Следствие 50.5. Граф G является униграфом тогда и только тогда, когда для любого переключения s графы G и sG изоморфны.
Ниже доказано, что пороговые графы и только они составляют простейший класс Ж униграфов — графов, вовсе не допускающих переключений, отличных от тождественного. Непосредственно из определения переключения вытекает следующая характеризация этого класса в терминах запрещенных порожденных подграфов.
Утверждение 50.6. Граф принадлежит классу Ж тогда и только тогда, когда ни один из трех графов 2^, Р^ и С^ не является его порожденным подграфом.
Следствие 50.3 означает, что любой пороговый граф принадлежит классу 2№.
Лемма 50.7. Если G^3f, то в графе G есть либо доминирующая, либо изолированная вершина.
> Пусть, напротив, G ^ Ж ив графе G нет ни доминирующих, пи изолированных вершин, и пусть и — его вершина максимальной степени. Тогда в этом графе существуют две такие вершины и и w, что uv е EG, uw^EG.
Если при этом vw^EG, то, поскольку степень вершины и максимальна, существует четвертая вершина ж, смежная с и и не смежная с и (см. рис. 50.3). Порожденный подграф G (и, и, w, х) входит в список подграфов, запрещенных для класса JJf утверждением 50.6 (он совпадает с Рд или с С 4).
Пусть vw^EG. Так как в графе G пет изолированных вершин, то существует четвертая вершина х, смежная с w. Вершины и и и смежны с х, иначе порожденный
Рис. 50.3Рис. 50.3
Рис. 50.3
Рис. 50.3
подграф G^u, v, w,x^ имел бы вид, запрещенный утверждением 50.6. Так как и — вершина максимальной степени, то существует пятая вершина у, смежная с и, но не смежная с х. Подграф G^u, w, х, у^ снова запрещенный (рис. 50.4).
Полученное противоречие доказывает лемму. <
Очевидны следующие два свойства графов из класса Ж.
Порожденный подграф любого графа из класса ЗЕ также принадлежит этому классу.
Если G е J^, то оба графа К ° G и О ° G также принадлежат классу ЗЕ.
Для п > 2 положим
G\ ° G^ °... ° Gn — G[ ° ^G^ ° (... ° Gn)),
где Gn^K^ Gi = К или Gt = О (i = 1, n— 1). Очевидно, что из вышесказанного вытекает следующее
Утверждение 50.8. Класс ЗЕ есть класс всех графов, имеющих вид
G\ ° G20... °Gn,
где Gn = K\, п^1, а для i= i, п — 1 компоненты Gt независимо друг от друга принимают значения К или О.
Теорема 50.9. Граф является пороговым тогда и только тогда, когда он имеет вид, описанный в утверждении 50.8.
Требуется доказать, что класс пороговых графов совпадает с классом ЗЕ. Выше отмечалось, что любой пороговый граф принадлежит классу «у^. С другой стороны, 226
согласно утверждению 50.8 любой граф из класса ^ можно построить, исходя из одной вершины, присоединяя на каждом шаге к уже полученному графу либо доминирующую, либо изолированную вершину. Одновершинный граф является пороговым. Согласно лемме 50.4 свойство пороговости графа сохраняется при присоединении к графу новой доминирующей или изолированной вершины. Следовательно, любой граф из класса Ж является пороговым. <
Следствие 50.10. Любой пороговый граф является расщепляемым.
Пусть пороговый граф G получается из вершины а в результате присоединения на каждом шаге к уже полученному графу либо доминирующей, либо изолированной
(1Д1)(0,1,1)(1,01)(1,1,0)(0,0,1) (ОДО) (1,0,0) (0,0,0)
Рис. 50.5
вершины. Отнеся к верхней доле вершину а и все вершины, присоединенные как доминирующие, а к нижней доле — все остальные вершины, получим полярное разбиение множества VG. Следовательно, граф G расщепляем. <
Следствие 50.11. Для любого натурального числа п существует ровно 2П-1 попарно неизоморфных пороговых графюв порядка п.
Очевидно, что два графа
^i ° G2 о ... о Gn, Gxo G2o ... о Gm
вида, описанного в утверждении 50.8, изоморфны тогда и только тогда, когда
п = пг, Gi = G^ г = 1, п — 1.
Каждая из компонент Gi может принимать два значения. Следовательно, число неизоморфных среди таких графов равно 2П-1. <
На рис. 50.5 показаны все 8 пороговых графов порядка 4. Из теоремы 50.9 следует, что каждый из них определяется (0, 1)-вектором (со, р,
Непосредственно из теоремы 50.9 вытекает
Следствие 50.12^ Если G— пороговый граф, то и дополнительный граф G также является пороговым.
Графическая последовательность, имеющая пороговую реализацию, называется пороговой. Все реализации пороговой последовательности изоморфны, поскольку пороговый граф является униграфом. Очевидно, что из теоремы 50.9 вытекает следующий критерий пороговости последовательности целых неотрицательных чисел.
Следствие 50.13. При п>1 правильная п-последо- вательность d является пороговой тогда и только тогда, когда верно одно из следующих двух утверждений*.
di = n—1 и производная последовательность dx = = (ds— 1, ..., dn— 1) пороговая*,
dn = 0 и производная последовательность dn = = (^h ^2, ..., йп-i) пороговая.
51. Пороговое разложение графа
Поскольку граф с одним ребром является пороговым, то любой граф G можно представить в виде объединения
G = Gi U G2 U ... U Gt
пороговых графов Gt с совпадающими множествами вершин. Назовем такое представление пороговым разложением графа G. Минимальное число t компонент в пороговых разложениях графа G назовем пороговым числом графа G и обозначим через th(G).
Параметр th(G) связан с минимизацией числа линейных неравенств, задающих булеву функцию. Рассмотрим эту связь. Пусть
aii^i + ai2^2 + ... +ain^n ^ Рь
«21^1 + a22^2 + . •. +a2n^n ^2,
(1)
ан^1 + 0,12X2 + ... +atnxn ^ ^t
— система линейных неравенств с вещественными коэффициентами и правыми частями, В = {0, 1), Вп — множество всех бинарных векторов (^х\, Х2, ..., хп) длины п. Определим булеву функцию /: Вп-+В, положив Нх\, ^2, ... ..., яп) = 0 тогда и только тогда, когда вектор (^i, ^2, .•• ..., жп) удовлетворяет системе (1). Будем говорить, что функция / определяется системой неравенств (1). Тем самым множество нулей булевой функции, определяемой системой линейных неравенств, совпадает с множеством (О, 1)-решений этой системы.
Теорема 51.1. Любая булева функция определяется некоторой системой линейных неравенств.
> Известно, что всякая булева функция / от п переменных может быть задана своей совершенной дизъюнктивной нормальной формой (совершенной д. н. ф.):
/ (ж^ Ху ...,x^=\j х^х^8 • • •
где (сщ 02, . •., оп) пробегает множество всех единиц функции /,
Ол (Xi При Oi=l,
х • — { —
2(^i при Oj = О
(см., например, [32]).
Легко видеть, что каждая конъюнкция g вида
g (Ху х2, . хп) = х^2 . Хпп определяется одним линейным неравенством. В самом деле, пусть, для определенности,
g (#i, х^ ..., ^п) = ^1^2 ...хи.
Рассмотрим неравенство
Х\ + х2 + ... + хГ1 ^ п —■ 1.
Бинарный вектор x = ^x\s х^ ..., х^ не удовлетворяет этому неравенству только при условиях
Х\ = Х2 = . . . = Хп = 1.
Но эти же условия необходимы и достаточны для того, чтобы вектор х был единицей функции /.
Аналогично, конъюнкция
X1 . . . Х^Х 1 ... X п
определяется неравенством
Xi + ...+ xk — xh+i — ... — хп ^ к — 1.
Итак, каждая элементарная конъюнкция, входящая в совершенную д. н. ф. функции /, определяется одним линейным неравенством. Очевидно, что функция / определяется системой этих неравенств. <
Минимальное число t неравенств в системах, задающих функцию /, называется пороговым числом функции / и обозначается через £(/). Если функция / графическая, т. е. / = О или / — монотонная булева функция, все нижние единицы которой имеют норму 2, то, как показано в
§ 28, этой функции соответствует граф Gh множество характеристических векторов независимых подмножеств вершин которого совпадает с множеством нулей функции /.
Теорема 51.2. Для любой графической функции / верно равенство
=(2)
Пусть / — графическая функция,
Gj = G\ U G2 U ... U Gt
— пороговое разложение графа Gh Тогда система 3G^ всех независимых подмножеств вершин графа Gf есть пересечение
^ = П^а(3)
a
аналогичных систем для пороговых графов Ga. Множество характеристических векторов элементов системы 3Ga совпадает с множеством бинарных решений линейного неравенства, являющегося разделяющим для графа Ga. Из равенства (3) следует, что множество бинарных решений системы из t таких неравенств есть множество характеристических векторов элементов из S(Gh т. е. множество нулей функции /. Следовательно, эта система неравенств задает функцию /, и потому t(f)^t. Итак, 4/)^th(Gz).
Обратно, пусть функция / задается некоторой системой линейных неравенств (1). Следующим образом построим t графов Gk (k = 1, ^) : VGk = {1,2, ..., и}, ij е EGk тогда и только тогда, когда i ¥= 7 и ahi + ам > pft. Очевидно, что
с;и^и...и^ = ^.(з')
Предположим, что какой-либо из графов Gk не является пороговым. Тогда в нем есть порожденный подграф, запрещенный следствием 50.3; пусть это подграф, показанный на рис. 50.2, где пунктирные линии означают отсутствие соответствующих ребер. Из определения графа Gk следует, что
ам + czft2 > Ph, <xki + «ьз Ph,
'«h2 + «h4 ^Ph, <%h3 + «h4 > Ph.
Но последняя система неравенств противоречива, следовательно, Gk— пороговый граф. Итак, (3')—пороговое 230
разложение графа Gb Поэтому th(G/)^^ и, следователь^ но, th(G/)^^(/)- Равенство (2) доказано. <
Вычисление порогового числа произвольного графа G и, тем более, построение соответствующего порогового разложения графа — крайне трудные задачи. Пороговое число можно оценить с помощью числа независимости ao(G), однако последнее так же трудно вычислимо.
Теорема 51.3 (В. Хватал, П. Хаммер, 1977 г.). Для любого непустого графа G порядка п верно неравенство
th(G)+a0(G)^n,(4)
а если в G нет треугольников, то
(5)
Пусть S — наибольшее независимое множество вершин графа G,
VG\S = {щ, и2, ..., икА.
Обозначим через Et множество ребер графа G, инцидент^ пых вершине Ut (1 = 1, к). Поскольку ребра, входящие в Е^ составляют звезду, являющуюся согласно теореме 50.9 пороговым графом, то и граф Gi^VG, Е^ пороговый. Но к
U Gi = G.(6)
i=l
Следовательно, (6) — пороговое разложение графа G. Поэтому th(G) ^ к = п — ao(G), т. е. верно неравенство (4).
Пусть теперь в графе G нет треугольников и пусть
G = Gi UG2U...UG,
— пороговое разложение с минимальным числом компонент. В пороговом графе G, также нет треугольников. Из теоремы 50.9 следует поэтому, что граф Gt является звездой или получается из звезды в результате присоединения изолированных вершин. В любом случае в графе Gi есть вершина и^ инцидентная всем его ребрам. Так t
как U EG^EG, то множество VGWui, и^, ..., иА не-
зависимо в графе G. Следовательно, ao(G)^ п — th(G), что вместе с неравенством (4) приводит к равенству (5). <
Заметим, что равенство (5) может быть верным и для графа с треугольниками. Таков, например, граф па рис. 51.1.
Поскольку для любого ^-вершинного графа G верно равенство czo(G) + p0(G) =/г (теорема 25.5), где Po(G) — о число покрытия графа G, то из предыдущей теоремы вытекает
АСледствие 51.4. Для любого графа G,
/ \ не содержащего треугольников, верно ра- V-X.венет во th (G) = Po(G).
/^13 частности, любой двудольный граф не
Рис. 51.1 содержит треугольников. Кроме того, для двудольного графа G верно равенство Po(G)= ezi (G), где czi(G)— число паросочетания (теорема 32.1). Поэтому из теоремы 51.3 вытекает
Следствие 51.5. Для любого двудольного графа G верно равенство th(G) = cci (G).
Таким образом, в классе двудольных графов параметр th(G) вычисляется несложно.
Степенное множество графа
Степенным множеством графа называется множество степеней его вершин. От степенной последовательности это множество отличается тем, что в нем не учитывается число вершин, имеющих заданную степень, тогда как в степенной последовательности каждое число фигурирует столько раз, степенью скольких вершин оно является.
Степенное множество графа G обозначим через S^GY Так, для графа G, изображенного на рис. 52.1, 5(G) = = {1, 2, 3).
Хотя степенная последовательность
Рис. 52.1 графа удовлетворяет определенным условиям, однако степенным множеством графа может быть произвольное множество. Об этом свидетельствует следующая
Теорема 52.1. Любое конечное множество S натуральных чисел является степенным множеством некоторого порогового графа. Минимальный порядок таких графов равен s +1, где s — максимальное число из множества S.
Очевидно, что из этой теоремы вытекает
Следствие 52.2. Любое копенное множество целых неотрицательных чисел является степенным множеством некоторого графа.
> Доказательство теоремы 52.1. Если 5(G) = = 5, то |G|^s+l, так что нужно только доказать существование подходящего графа G. Утверждение тривиально для одноэлементного множества 5, поскольку 5(^п)={/г — 1). Пусть теперь
8 = {db с?2, ..., dn\ di> d2> .. .> dni п > 1,
и пусть, для определенности, п = 2р — четное число. Нужный граф будем искать в виде
G = Кх оОг. оКх о О. о ...оКх о О7. ,(1)
где Кх° Н — граф, полученный из графа Н добавлением х доминирующих вершин, а ОУ°Н — граф, полученный из графа Н добавлением у изолированных вершин. Любой граф вида (1) является пороговым. Попытаемся подобрать числа ха и у^ в выражении (1) так, чтобы выполнялось равенство 8(G) = 8. Для этого должно быть -1+^+^+. • .+^_1+^р+^_1+. - .+^^г
-1 +^2+ - • .+z/p-1+^+^-1+.• -+4^2’
— i+^P-i+v^V-i+-‘e+'Ti^
^р+^р-!-!-* • -+'Г1"^р+1»
Очевидно, что система уравнений (2) относительно неизвестных xh Уз (/=!,/?, / = 1, т?) имеет решение, все координаты которого положительны:
х\ dn,У\ й\ 6^2»
Х2 = du_\ — dUly^ — d^-d^(3)
Хр — ^p+i dp.^ Ур dp dP+\ 4 1.
Подставив в выражение (1) числа, определяемые равенствами (3), получим граф G^ для которого 5(G) =5. Число его вершин равно
Xi + Х2 + ... + Хр + у\ +у2 + ... + Ур = di + 1.
Для нечетного п = 2р + 1 построение аналогично, только вместо формулы (1) используется формула
G = КХ1 о Оуг о к$г = Оуа = ... о КХр о ОУр = ^р+г <1
УПРАЖНЕНИЯ
Докажите, что при п ^ 4 все графы порядка п являются униграфами, а при п > 4 среди графов порядка тг есть как униграфы, так и не униграфы.
Найдите последовательность переключений, переводящую один из графов, представленных на рис. VIII.1, в другой.
Рис. VIII.1
Докажите что последовательность (44, З2, 23) является графической и постройте какую-либо ее реализацию.
Постройте связную реализацию последовательности (6, 4, 3, 24, 1). Есть ли у этой последовательности реализации, не являющиеся связными?
Постройте реализацию G последовательности (6, З4, 22) с X(G) = 2.
Докажите, что при тг ^ 3 все графы порядка п расщепляемы, а при п > 3 среди графов порядка п есть и расщепляемые, и не расщепляемые.
Является ли последовательность (5, З2, 23) расщепляемой?
Найдите все реализации последовательности (6, 5, 43, 2, 1).
Рис. VIII.2
Докажите, что граф, изображенный на рис. VIII.2, является пороговым. Найдите для него разделяющее неравенство.
Постройте какой-либо граф, степенное множество которого совпадает с S = {1, 3, 5}.
Докажите, что любое конечное множество натуральных чисел, содержащее 1, является степенным множеством некоторого дерева. Постройте дерево 7, степенное множество которого 5(7) = = {1, 2, 3}.
Докажите, что если два пороговых графа G и Н пе имеют изолированных вершин и 5(G) = 8(11^ то эти графы изоморфны.
Глава IX
Раскраски
Задачи раскраски вершин или ребер графа занимают важное место в теории графов. К построению раскрасок сводится целый ряд практических задач. Характерной особенностью этих задач является существование объектов, которые по каким-либо причинам не могут быть объединены в одну группу.
Правильная раскраска
Пусть G — некоторый граф, к — натуральное число. Произвольная функция вида j : VG VI, 2, ..., /с} называется вершинной к-раскраской, или просто к-раскраской, графа G. Если позволяет контекст, то к в этом определении опускается. Раскраска называется правильной, если iV^^lk"0^ Для любых смежных вершин и и и. Граф, для которого существует правильная ^-раскраска, называется к-раскрашиваемым (или раскрашиваемым к цветами). В определении раскраски вместо множества {1, 2, ..., к) можно взять произвольное ^-элементное множество.
Правильную ^-раскраску графа можно трактовать как окрашивание каждой его вершины в один из к цветов, при этом смежные вершины должны получать различные цвета. Поскольку функция / не обязательно сюрьек- тивна, то при /с-раскраске фактически может быть использовано менее к цветов. Таким образом, правильную /с-раскраску графа G можно рассматривать как разбиение
Vx U П2 U ... U Г, = VG, l^k, множества вершин VG на не более чем к непустых классов, каждый из которых является независимым множеством. Классы этого разбиения называются цветными классами.
Минимальное число к, при котором граф G является /с-раскрашиваемым, называется хроматическим числом этого графа и обозначается х(^)- Если x(G) = A, то граф
G называется к-хроматическим. Правильная ^-раскраска
графа G при k = ^(G) называется минимальной.
В качестве иллюстрации рассмотрим граф G, изобра
женный на рис. 53.1, где указана одна из правильных
4-раскрасок. Меньшим числом цветов этот граф раскра
сить правильно нельзя. Действительно, граф содержит
цикл (щ, V2, Vs, v^, vs, vy), для правильной раскраски которого нужно не менее трех цветов, а для вершины vs требуется новый цвет. Итак, %(G) = 4.
Рассмотрим некоторые практические задачи, сводящиеся к правильной раскраске графов.
Задача составления расписаний. Предположим, что нужно прочесть несколько лекций за кратчайшее время. Чтение каждой лекции в отдельности занимает один
час, по некоторые лекции не могут читаться одновременно (например, их читает один и тот же лектор). Построим граф G, вершины которого би
ективно соответствуют лекциям, и две вершины смежны тогда и только тогда, когда соответствующие лекции нельзя читать одновременно. Очевидно, что любая правильная раскраска этого графа определяет допустимое расписание: лекции, соответствующие вершинам графа, составляющим цветной класс, читаются одновременно. И, обратно, любое допустимое расписание определяет правильную раскраску графа G. Оптимальные расписания соответствуют минимальным раскраскам, а число часов, необходимое для прочтения всех лекций, равно /(G).
Задача распределения оборудования. Заданы множества F = {щ, V2, ..., v^ и S={si, 82, ..., 5m} работ и механизмов соответственно. Для выполнения каждой из работ требуется некоторое время, одинаковое для всех работ, и некоторые механизмы. При этом никакой из механизмов не может быть одновременно занят в нескольких работах. Нужно распределить механизмы так, чтобы общее время выполнения всех работ было минимальным.
Построим граф G, положив VG = V и объявив вершины Vt и Vj (i^j) смежными тогда и только тогда, когда для выполнения работ v< и v5 требуется хотя бы один общий механизм. При правильной раскраске графа G работы, соответствующие вершинам одного цвета, можно
выполнять одновременно, а наименьшее время выполнения всех работ достигается при минимальной раскраске.
Задача о проектировании, коробки скоростей. Коробка скоростей — механизм для. изменения частоты вращения ведомого вала при постоянной частоте вращения ведущего. Это изменение происходит за счет того, что находящиеся внутри коробки шестерни (зубчатые колеса) вводятся в зацепление специальным образом. Одна из задач, стоящая перед конструктором коробки, заключается в минимизации ее размеров, а это часто сводится к минимизации числа валов, на которых размещаются шестерни.
Построим граф G, вершины которого биективно соответствуют шестерням. Если по какой-то причине две шестерни не должны находиться на одном валу (например, они могут быть в зацеплении, или их общий вес велик для одного вала и т. д.), то соответствующие вершины графа соединим ребром. Вершины, имеющие один цвет при правильной раскраске этого графа, определяют шестерни, которые могут находиться на одном валу, а хроматическое число х(^) равно минимальному количеству валов, нужных для проектируемой коробки.
Для некоторых графов хроматические числа найти несложно. Например, ^Ки^ = п, ^Ки — е^п — 1, x(Knm) = =.2, х(С2п) = 2, х(С2п+1) = 3.
Очевидно, что граф является 1-хроматическим тогда и только тогда, когда он пустой, а 2-хроматическим — когда он двудольный и непустой. Обычно 2-хроматичес- кий граф называют бихроматическим. Поэтому теорему Кёнига о двудольных графах можно сформулировать в следующем виде:
Теорема 53.1. Непустой граф является бихроматическим тогда и только тогда, когда он не содержит циклов нечетной длины.
Задачи определения хроматического числа и построения минимальной раскраски произвольного графа являются очень сложными, эффективные алгоритмы их решения неизвестны. Рассмотрим простой алгоритм построения правильной раскраски, в ряде случаев приводящий к раскраскам, близким к минимальным.
Алгоритм последовательной раскраски.
Произвольной вершине щ графа G припишем цвет 1.
Если вершины Vi, v2, ..., V; раскрашены I цветами 1, 2, ..., I, I ^ г, то новой произвольно взятой вершине
pf+i припишем минимальный цвет, не использованный при раскраске вершин из ее окружения.
Раскраска, к которой приводит описанный алгоритм, называется последовательной. Очевидно, что это — правильная раскраска. Для некоторых классов графов (например, полных Л-дольных) последовательная раскраска является минимальной. В общем случае это не так.
Следующая теорема сводит задачу построения правильной раскраски графов к аналогичной задаче для двухсвязных графов.
Теорема 53.2. Если каждый блок графа к-раскра- шиваем, то и сам граф также к-раскрашиваем.
Воспользуемся индукцией по числу блоков рассматриваемого графа. Для графа, являющегося блоком, утверждение тривиально. Предположим, что теорема верна для графов, состоящих из m ^ 1 блоков. Пусть теперь G — граф, имеющий ровно m + 1 блоков, В — один из его концевых блоков, // — объединение всех остальных блоков. По индуктивному предположению оба графа В и Н являются ^-раскрашиваемыми. Зафиксируем для каждого из них правильную ^-раскраску.
Графы В и Н имеют ровно одну общую вершину и. Если ее цвета в обеих фиксированных /с-раскрасках совпадают, то получена правильная ^-раскраска графа G. В противном случае нужно очевидным образом переставить цвета в одной из фиксированных раскрасок. <
Оценки хроматического числа
Поскольку задачу правильной раскраски точно решить трудно, то актуальны оценки хроматического числа, выражаемые в терминах более или менее просто вычислимых параметров графа. Рассмотрим несколько оценок хроматического числа, связанных со степенями вершин графа.
Обозначим через $ множество всех порожденных подграфов графа G, а через 6(G), как обычно,—минимальную из степеней вершин графа G.
Теорема 54.1. Для любого графта G верно неравенство
X(G)< 1 + max 6 (Я).
> Утверждение теоремы очевидно для пустых графов. Пусть G — произвольный %-хроматический граф, х ^ 2, 238
a H — его минимальный порожденный подграф, удовлетворяющий условию х^)”/- В этом случае ^Н — и^^ ^ X — 1 для любой вершины и графа Н.
Предположим, что degH р < % — 1. Граф Н —и правильно раскрасим х ~ 1 цветами. Окрасив затем вершину и в один из этих цветов, не использованный при окраске смежных с пей вершин, получим правильную (х~ 1)-раскраску графа Н. Следовательно, degH у ^ х ~ 1 и
X — 1 < б (Я) ^ шах 6 (Я). <не^
Как и ранее, через A(G) обозначим наибольшую из степеней вершин графа G.
Следствие 54.2. Для любого графа G верно неравенство
X(GK1 + A(G).
Некоторое улучшение последней оценки дает следующая
Теорема Брукса (1941 г.). Если G —связный граф не являющийся полным, и A(G)> 3, то х(^)^ A(G).
О Пусть A (С) = m ^ 3. Очевидно, что максимальная степень вершин каждого блока графа G не превосходит т. Поэтому, с учетом теоремы 53.2, достаточно, не теряя общности, провести доказательство для двусвязных графов.
Пусть G — двусвязный граф. Сначала покажем существование в графе G таких вершин и и и, что расстояние (Ци, v) равно 2 и граф G — и — v связен. Это очевидно, если x(G)> 3.
Допустим, что x(G)=-2. Пусть D — множество всех доминирующих вершин графа G. Поскольку G не является полным графом, то I УС\Я| > 2. Если О ^ 0, то в качестве вершин и и v можно взять любые две несмежные вершины из VG\D.
Пусть D =- 0. Выберем в графе G вершину 2 степени не менее трех. Если граф G — z 2-связный, то^ в качестве вершины и возьмем 2, а в качестве и — любую вершину, находящуюся от 2 на расстоянии 2.
Пусть x(G — 2)=1, А и В — два концевых блока графа G — 2. Существуют две вершины и ^ А и v е В, не являющиеся точками сочленения графа G — 2 и смежные с вершиной 2, иначе оказалось бы, что x(G) — l.
Легко видеть, что граф G — u — v связен. Действительно, удаление вершин и и и не нарушает связности бло-*
Рис. 54.1Рис. 54.1
Рис. 54.1
Рис. 54.1
ков А и В, поэтому граф G — и — v — z связен. Из того, что deg z ^ 3, следует теперь связность графа G — и — и.
Итак, показано существование нужных вершин и и р, смежных с некоторой вершиной z'. Поскольку граф G — и — и связен, то его вершины можно так занумеровать числами 1, 2, ..., п — 2, что каждая вершина, кроме zi =*z\ будет смежна по крайней мере с одной вершиной, имеющей меньший номер.
Теперь окрасим несмежные вершины и и и в цвет 1. Затем будем последовательно приписывать вершинам zn-2, ^п-з, ..., ^1 один из цветов 1, 2, ..., т по следующе
му правилу. Пусть к > 1 и вершины и, V, zn_2l яп-з, .. ., z^i уже окрашены. Так как zh смежна хотя бы с одной из вершин с меньшим номером, то степень вершины zh в порожденном подграфе G (п, у, zn-2,..., zA+i, zj меньше пи Вершине zh присвоим любой цвет, не использованный при раскраске смежных с ней вершин. Так же поступим и с вершиной Zi. Так как degzi^zn и хотя бы две вершины из окружения вер-
шины zi (и и р) окрашены в один цвет, то в множестве цветов {1, 2, ..., тп} существует цвет, не использованный при раскраске вершин из этого окружения. Этот цвет и припишем вершине zi. Очевидно, что получена правильная тп-раскраска графа G. <
Оценка, устанавливаемая теоремой Брукса, достижима. Так, для кубического графа G, изображенного на рис. 54.1, существует правильная 3-раскраска, а правильная 2-раскраска невозможна, ибо это не двудольный граф. Следовательно, %((?) = 3 =■ А ((?).
Однако теорема может дать и завышенную оценку хроматического числа. Например, из этой теоремы следует, что %(Лл>п)^п, в то время как %(Лл>п)='2.
Две вершины графа называются соцветными относительно некоторой правильной раскраски, если при этой раскраске они имеют один цвет.
Следствие 54.3. При любой минимальной раскраске связного неполного графа существуют две соцветные относительно этой раскраски вершины, расстояние между которыми равно 2.
> Пусть G — связный неполный граф. При х = X (^) =*
= 2 утверждение тривиально, так как в этом случае G является связным двудольным графом, имеющим не менее трех вершин.
Если х ^ 3, то из предыдущей теоремы следует, что граф содержит хотя бы одну вершину у, для которой deg у ^ X- Поэтому среди смежных с и вершин найдутся по крайней мере две вершины, имеющие один цвет. <
Следующая теорема связывает хроматическое число графа с числами его вершин и ребер.
Теорема 54.4 (А. П. Ершов, Г. И. Кожухин, 1962г.). Для любого связного (п, туграфа G верны неравенства
3 + "1/9 + 8 (т — и)23 + "1/9 + 8 (т — и)2
3 + "1/9 + 8 (т — и)
2
3 + "1/9 + 8 (т — и)
2
(Напомним, что пара [ ] квадратных скобок означает целую часть числа, а пара { } фигурных скобок — дробную часть.),
> Докажем только правое неравенство (доказательство левого громоздко).
Если G — полный граф, то неравенство проверяется непосредственно.
Пусть граф G не является полным и ^G^=*^. Согласно следствию 54.3 при любой минимальной раскраске граф имеет пару соцветных вершин v\ и ^2, для которых ^(^1, ^2) = 2. Построим граф Gi, слив щ и l^ в вершину v. Граф Gi имеет на одну вершину и по крайней мере па одно ребро меньше, чем граф G. Очевидно, что X(Gi) = x* В противном случае, правильно раскрасив Xi цветами (х^х) граф Gi, можно было бы построить и Xi-раскраску графа G. Для этого нужно было бы окрасить вершины щ и ^2 в цвет вершины и, а для остальных вершин сохранить их цвета в графе Gi.
Операции слияния соцветных вершин будем производить до тех пор, пока не получим полный граф Кь Пусть таких слияний потребуется s. Так как по-прежнему X (Az) = х» то Z = X = ™ s-
Граф Kt имеет 1(1 —1)/2 = х(х ~ 1)/2 ребер, т. е. па т — х(х~"1)/2 ребер меньше, чем граф G. Поскольку после каждого слияния число ребер графа уменьшалось хотя бы па единицу, то имеем
?n-x(x-l)/2^s.
Поэтому, учитывая, что % = п — 8, получаем т-%(%-1)/2^и-х.
Из последнего неравенства следует
%($)= Х<у(3 + /9 + 8(т —«)). о
Существуют графы, для которых оценки, установленные предыдущей теоремой, достигаются. Таковы, например, полные графы.
Ниже рассматриваются оценки хроматического числа, имеющие скорее теоретический интерес, поскольку параметры графа, с которыми они связаны, вычисляются столь же сложно, как и само хроматическое число.
Тривиальной нижней границей для хроматического числа является плотность. Очевидно, что х(^)^ф(^) для любого графа G. На первый взгляд может показаться, что плотность графа тесно связана с его хроматическим числом, и если плотность ф(С) невелика, то невелико и %(G). Однако па самом деле разность /(G)—ф(С) может быть сколь угодно большим числом. А именно, верна следующая
Теорема 54.5 (А. А. Зыков, 1949 г.). Существуют графы без треугольников с произвольно большим хроматическим числом.
> Для доказательства индуктивно построим последовательность S = (G2l G3, ..., G^ ... ) графов Gt без треугольников, таких, что X^G^ — i. Положим G2 = А2. Если граф Gt уже построен, 0 2 и VGi — Vvi, v2l ..., ^nL то граф Gi+i определим по следующему правилу: VGi+i = ^VGiU V' U и, У'- .. i;^, VG^ Е' = 0, и^ ^EGiUF'; каждую вершину р7- соединим ребрами с теми вершинами из VG^ с которыми смежна п, в графе Сг; вершину и соединим ребрами с каждой вершиной из И' (см. рис. 54.2 и 54.3, где изображены графы Сз и G4). Полученный таким образом граф имеет 2п + 1 вершин.
Покажем, что б?<+1 — искомый граф. Так как вершина и не смежна ни с одной вершиной из множества VG^ а вершины из V' попарно не смежны, то никакой треугольник в G/+i не может содержать вершину и. По той же причине треугольник не может содержать более одной вершины из V'. Если же треугольник образовывали бы вершины Vj, Dkl Dh то в графе Gt вершины щ, vk1 щ также составляли бы треугольник. Поскольку в графе 242
Gt треугольники отсутствуют, отсюда следует, что в графе Сг-+1 их также нет.
Теперь докажем, что x(Gi+i)= i+1. В самом деле, любую правильную Z-раскраску графа Gi легко продолжить до правильной (Z+ 1)-раскраски графа Gi+i, положив / (^-) = / (^;) для / = 1, п и приписав вершине и некоторый новый цвет. С другой стороны, если бы существовала правильная Z-раскраска графа Сцл, то па
Рис. 54.3Рис. 54.3
Рис. 54.3
Рис. 54.3
раскраску вершин из V' понадобилось бы не более i — 1 цветов (отличных от цвета вершины нУ Изменив окраску вершин графа Gi так, чтобы каждая вершина щ получила тот же цвет, что и и^ можно было бы построить правильную (Z— 1)-раскраску графа G^ в то время как %(бг) = /.
Таким образом, доказано, что граф G^\ не содержит треугольников и %(Gt+i) = i + 1. <1
Заметим, что графы, существование которых гарантируется предыдущей теоремой, являются экзотическими, поскольку для почти каждого графа G верно следующее утверждение: если q(G)^k, то и ^G^^k (Ф. Колай- тис, X. Прёмель, В. Ротшильд, 1987 г.).
Как показывает теорема 54.5, графы с плотностью, равной 2, могут иметь сколь угодно большое хроматическое число. Следующая теорема, приводимая здесь без доказательства, свидетельствует об отсутствии связей между хроматическим числом и обхватом графа.
Теорема 54.6 (П. Эрдёш, 1961 г.). Для любых натуральных чисел I и х существует ^-хроматический граф, обхват которого превосходит I.
Оцепим хроматическое число в терминах числа независимости.
Теорема 54.7. Для любого графа G верно ^/oto ^ X ^ п ” ао + 1,(1)
где п = ЮI, ао = ao(G), х = х(^)-
16*243
При любой минимальной раскраске множество VG разбивается на % цветных классов Fi, F2, ..., VX) каждый из которых является независимым множеством. Поэтому если I FJ = nh то Нг ^ <хо для всех i = 1, %, и
1—1
откуда следует левое из неравенств (1).
Перейдем к доказательству правого неравенства. В графе G есть независимое множество вершин 5, содержащее ровно оо элементов. Так как IG — 51 = п — оо, то X (G — 5) ^ п — оо и, следовательно, х ^ п — &о + 1. <
Следствие 54.8. Если G — связный граф, не являющийся полным, и A(G)^ 3, то
a0(G)^ IG|/A(G).
Рассмотрим последовательность неравенств
a0(G)> |G|/x(G)> |G|/A(G).
Первое из неравенств вытекает из предыдущей теоремы, а второе — из теоремы Брукса. <1
Дополнением теоремы 54.7 является
Теорема 54.9. Для любых натуральных чисел п, оо и х, удовлетворяющих неравенствам (1), существует граф порядка п с числом вершинной независимости оо и хроматическим числом х-
Рассмотрим отдельно три случая: 1) czo = 1; 2) ссо > 1 и n = ool, где I— целое число; 3) п не кратно «о.
Из (1) следует, что х = ^ и Кн— нужный граф, так как oo(K^= 1 = a0, x(^n)=^ = X-
Пусть G— полный Z-дольный граф, в каждой доле которого ровно ао вершин. Тогда х(^) = ^= п1^- Фиксируем некоторую долю U и каждую из не входящих в эту долю вершин будем последовательно превращать в доминирующую, добавляя недостающие ребра. На каждом таком шаге хроматическое число возрастает на 1. В результате придем к полному (п — оо + 1) -дольному графу F, все доли которого, кроме доли U, одновершинные. Очевидно, что х СП = ^ — ао + 1.
Если п не кратно оо, то в качестве исходного графа берется ^-вершинный полный ([n/tzo] + 1)-дольный граф, [zt/ao] долей которого содержат по схо вершин.
244
Выбрав в качестве U одну из таких долей, дальнейшие рассуждения проведем так же, как в случае 2. <
Естественный интерес вызывает стремление уточнить оценку хроматического числа, устанавливаемую теоремой Брукса. О. В. Бородин и А. В. Косточка в 1977 году выдвинули следующую гипотезу, пока по доказанную и не опровергнутую:
Гипотеза. Если A(G)^9 и (p(G)^A(G), то X(G)^A(G)-1.
Приведем без доказательства теорему, дающую асимптотику хроматического числа.
Теорема 54.10 (А. Д. Коршунов, 1980 г.). Хроматическое число почти каждого графа G порядка п удовлетворяет соотношению
^G^Tt^ log2 п.
55. Хроматический полином
Поскольку Z-раскраской графа G является произвольное отображение вида VG-^И, 2, ..., И, то число попарно различных ^-раскрасок этого графа равно числу всех таких отображений, т. е. tn, где n=\VG\. Но если ограничиться только правильными раскрасками, то вопрос о числе различных среди них становится сложным. Количество попарно различных правильных ^-раскрасок графа G называется хроматической функцией графа G и обозначается через /(G, f).
Очевидно, что наименьшее из чисел t, для которых /(G, f)#=0, есть %(G).
Для некоторых графов хроматическая функция определяется совсем легко. Например, f(On, t) = tn, так как цвета всех вершин пустого графа можно выбирать независимо друг от друга. При правильной раскраске полного графа Кп первая вершина может иметь любой из t заданных цветов, а для окраски каждой из последующих вершин разрешается использовать на один цвет меньше, чем для предыдущей. Поэтому f(Kni t) = t (t — 1)... ...(t — n+1). Итак, имеем
U (t — 1) .. . (I — п + 1), если п, если/<и.
В общем случае, как отмечалось выше, вычисление хроматической функции сопряжено с большими трудностями. Приведем несколько утверждений, позволяющих упрощать ее вычисление.
Утверждение 55.1. Если G = Gi U G2 U ... U Gk — дизъюнктное объединение графов, то
k
Ж 9 = П1Мi l
Это утверждение вытекает из того, что раскраска каждой из компонент Gi может выбираться независимо. <1
Утверждение 55.2. Если G = G\U G2 и графы G^ и G2 имеют только одну общую вершину, то
Ж^т^^ЖА (1)
Фиксируем какую-либо правильную раскраску /1 графа Gi. Для продолжения ее до правильной раскраски графа G нужно взять такую правильную раскраску /2 графа G2, при которой цвет 12^ вершины и, общей для графов G\ и G2, равен цвету k^uY Поскольку число правильных 2-раскрасок графа G2, при которых цвет вершины и фиксирован, не зависит от этого цвета, то для выбора раскраски /2 имеется f(G2, t^U возможностей, откуда и следует равенство (1). <
Утверждение 55.3. Пусть и и v — две несмежные вершины графа G. Если Gi = G + uv, a G2 получается из графа G в результате слияния вершин и и щ то f(G, t) = RGb t^f(.G2l tY
Число правильных 2-раскрасок графа G, при которых цвета вершин и и и различны, не изменится, если к G присоединить ребро ии. Следовательно, это число равно f^G^ tY Аналогично, число правильных 2-раскрасок графа G, при которых цвета вершин и и и совпадают, равно /(G2, tY Складывая эти два числа, получим число всех правильных 2-раскрасок графа G, т. е. /(G,2). <
Предыдущее утверждение позволяет свести вычисление функции /(G, 2) произвольного графа G к вычислению хроматических функций графов с большим числом ребер или с меньшим числом вершин, и следовательно, в конце концов,— хроматических функций полных графов. К сожалению, число этих графов может оказаться катастрофически большим.
Очевидно
Следствие 55.4. Хроматическая функция любого графа G равна сумме хроматических функций некоторого 246
числа полных графой порядки которых не больше, чем IGL
Поскольку /(.Кп, ^ — полином от t, то верно
Следствие 55.5. Хроматическая функция f(G, f)
любого графа является полиномом от t.
Поэтому хроматическую функцию j^G, I) обычно называют хроматическим полиномом графа. G.
Найдем с помощью утверждения 55.3 хроматический
полипом графа G, изображенного на рис. 55.1. При этом
Рис. 55.1Рис. 55.1Рис. 55.2Рис. 55.2
Рис. 55.1
Рис. 55.1
Рис. 55.2
Рис. 55.2
вместо f(G, £) = /(Gh t)A-f(G2, t) будем писать G = = G\^ G^ или рисовать соответствующие графы. На первом шаге получим ситуацию, представленную на рис. 55.2. Далее см. рис. 55.3. Итак,
/(G, п = 1(к5,;)+ 3№, 0 + 2/№, 0 =
= Z(^-1)(^2)(^3)(^~4) +
+ 3^-1) (£-2) (t-3) + 2t(t- 1) (£-2) =
= Z5 ~ 7Z4 + 19£3 - 23Z2 + 10t
Используя утверждение 55.3, можно уточнить вид хроматического полинома. Следующую теорему предлагаем доказать самостоятельно.
Рис. 55.3Рис. 55.3
Рис. 55.3
Рис. 55.3
Теорема 55.6. Хроматический полином любого (рг, т)-графа G, содержащего ровно к связных компонент, имеет вид
j{G, t^ = r — mtn~x + au-2tn-2 — аи_^п-^ + ... + (—Vy-hakt\ где аг — целые неотрицательные числа.
Несомненный интерес представляет следующий вопрос, ответ па который пока пе получен: каким условиям должен удовлетворять полином, чтобы он был хроматическим полиномом некоторого графа? Любопытно было бы найти условия, при которых хроматические полиномы графов совпадают. Примерами таких графов являются деревья, которые можно определить в терминах хроматических полиномов.
Теорема 55.7. Граф G порядка п является деревом тогда и только тогда, когда
Ж t) = t{t-iy-\(2)
> Докажем только необходимость условия теоремы, а достаточность оставим читателю в качестве упражнения. Пусть G — дерево порядка п. Воспользуемся индукцией по п. При п = 1 имеем G = KX, f{G, t) = t, при п = = 2 — G = K2, f(G, t) = t(t — 1). Следовательно, при п = = 1,2 равенство (2) верно. Предположим теперь, что это равенство верно для любого дерева G порядка тп, 2^пг< п, и рассмотрим дерево Т порядка п. Если и — концевая, а и— смежная с ней вершины дерева Т, 1\ = = Т{и, v), Т2 — Т — и, то
ТХ=К2, f(Tx,t) = t(t-l), Т = Тх№, и по индуктивному предположению j{T2, t) — t^t — l)n-2. Применяя затем утверждение 57.2, получаем
/(T,Z) =-t^-l^-l)"-2^^-!)"-1. <1
§ 56. Раскраска ребер
Реберной k-раскраской графа G называется функция Ф, ставящая в соответствие каждому его ребру е число ср(е) из множества {1, 2, ..., М. Если ф— реберная раскраска и ф(е) = с, то говорят, что ребро е окрашено в цвет с. Множество всех ребер, окрашенных в фиксированный цвет, называют реберным цветным классом. Реберная раскраска называется правильной, если смежные ребра имеют разные цвета. Граф, допускающий правильную реберную к -раскраску, называется реберно к-рас- крашиваемым. Минимальное число к, при котором граф G является реберно /с-раскрашиваемым, называется хроматическим индексом {хроматическим классом, реберным хроматическим числом) графа G и обозначается через 248
^'(G). Если %'(G) = A:? то граф G называется реберно к-хроматическим.
Поскольку ребра любого графа G смежны тогда, когда смежны соответствующие вершины реберного графа L(G), то х(^) можно определить как хроматическое число графа т. е. x'^G^xU^V)-
Рис. 56.1Рис. 56.1При правильной реберной раскраске каждое множество ребер одного цвета является паросочетанпем. Поэтому число x'(G) можно рассматривать как наименьшее число паросоче- таний, на которые разбивается множество ребер графа G.
Рис. 56.1
Рис. 56.1
Поскольку при любой правильной раскраске графа G ребра, инцидентные одной вершине, имеют различные цвета, то x(G)^A(G). Легко привести примеры, когда %'(G)>A(G) (см. рис. 56.1).
Следующая теорема, принадлежащая В. Г. Визингу (1964 г.), дает
поразительно точные оценки хроматического индекса графа.
Теорема 56.1. Для любого графа G верны неравенства
A(G)^x'(G)^A(G)+1.
> Как отмечалось выше, левое из этих неравенств очевидно, остается доказать правое. Оно верно для К^. Предположим, что в общей ситуации правое неравенство не выполняется. Среди всех графов, ему не удовлетворяющих, выберем граф G с минимальным числом ребер. Пусть е\ <= EG, И = G— еь Имеем
x'(G)>A(G)+1,(1)
но
х'(Я)^А(Я)+1^А(С)+1.
Пусть A = A(G). Зафиксируем правильную расцраску ср: ЕП-^ И, 2, ..., А+1} ребер графа И и скажем, что цвет д^И, 2, ..., А + 1} отсутствует в вершине v^VH, если ф(с)=+ q для любого ребра е, инцидентного вершине и. Так как число возможных цветов больше чем А, то в каждой вершине отсутствует хотя бы один цвет.
Пусть е\=ху\, a s и t\ — цвета, отсутствующие в вершине х и в вершине у\ соответственно. Исходя из пары т/1, fb построим индуктивно две последовательности —
249
вершин yXl у^, ..., ук и цветов tx, t^ ..., ^—удовлетворяющие следующим трем условиям:
хуг = e^EG (i =!,&);
цвет it отсутствует в вершине Ut U— 1,/с):
ф(^+1) = ^ (^ = 2^-1).
Пусть последовательности ух, ..., yt и fb ..., ti уже построены. Если существует такое ребро е = ху ^ ЕН, инцидентное вершине х, что y^lyi, ..., у J, ^(e^ = ti, то полагаем уг^\=У и берем в качестве t^x один из цветов, отсутствующих в вершине у. Если же описанного ребра е не существует, то полагаем k = i. Нужные последовательности построены.
Далее возможны две ситуации.
Не существует ребра ху^ЕН, для которого ф(^) = ^. Переопределим функцию ср, положив ф(^-) = ^ (1=1, к) и оставив значения на других ребрах неизменными. Получена правильная раскраска ф: EG ^ (1, 2, ... ..., А + 1} ребер графа G.
Существует ребро ху^ЕН, для которого ф(^?/) = = tk. Тогда это ребро совпадает с каким-либо из вг (1 = = 2, к). Пусть, скажем, ху = е^ Снова переопределим функцию ф, полагая ф(ег)==^ (i=lj — 1). Ребро е, пока не окрашено, значения функции ф па всех остальных ребрах не меняются.
Рассмотрим остовный подграф F графа G, ребрами которого служат все ребра графа G, имеющие цвет s или tk. Очевидно, что степень каждой вершины графа F не более двух, и потому каждая его связная компонента является либо простой цепью, либо простым циклом, либо Кх. Степени вершин х, yj и ук в F не более единицы, следовательно, эти три вершины не могут входить в одну компоненту. Рассмотрим отдельно два случая.
Вершины х и Уз находятся в разных компонентах графа F. В этом случае в компоненте, содержащей вершину у,, переставим цвета s и tk, т. е. положим ф(е) = £, если было ф(е) = ^, и наоборот. Тогда цвет s будет отсутствовать и в вершине х, и в вершине Уз, что позволит положить Ф^)^5' Вновь получается правильная (А + 1)-раскраска ребер графа G.
Вершины х и ук находятся в разных компонентах графа F. Положим ф(^0 = ^ (I = Ь к— 1), а ребро ек оставим пока не окрашенным. Это действие не затрагивает ребер графа F. Переставим теперь цвета $ и ^ в 250
компоненте графа F, содержащей вершину ук. Теперь цвет s отсутствует и в вершине #, и в вершине ук. Полагаем далее ф(ек) = $. Построена правильная (Д + 1)- раскраска ребер графа G.
Итак, в любой ситуации строится правильная (А + 1)-раскраска ребер графа G, что противоречит неравенству (1). Это противоречие и доказывает теорему. <
В частности, теорема Визинга свидетельствует о том, что теорема 54.5 о существовании графов без треугольников с произвольно большим хроматическим числом перестает быть верной в классе реберных графов, где хроматическое число и плотность графа различаются не более чем на 1. Тем не менее даже в этом случае, т. е. в узком классе реберных графов, хроматическое число определяется сложно: несмотря на то, что величина х'(G) может принимать только два значения — A(G) или A(G)+1 — ее определение является весьма трудной задачей.
Найдем хроматический индекс для некоторых классов графов.
Теорема 56.2. Справедливы равенства
xW+i) = A(7£2„+i)+^^^
Х,(^2п) = Д(^2п) = 2^-1.
Докажем первое равенство. Пусть
Е\ U Е2 U ... U Ei = ЕК^п^х
— разбиение множества EKzn+\ на цветные классы. Так как ребра одного класса не смежны, то
|EJ ^[№п+11/2] = л, / = 1Д откуда получаем
I ^ | EK2n+i I / max | £{ | > | EKan+1 |/n = 2п + 1.
/ 1<г<1
Из теоремы 56.1 теперь следует, что x'№n+i) = Z = = 2^+1.
Перейдем ко второму соотношению. Пусть и -— произвольная вершина графа К^п. Рассмотрим граф G = = К^п — и = ICzn-i. По доказанному выше ребра графа G можно раскрасить 2^ — 1 цветами. Так как степень любой вершины и графа G равна 2п — 2, то некоторый цвет не будет представлен в вершине и. С другой стороны, множество всех ребер цвета Ct образует паросочетание в графе G. Поэтому вследствие нечетности IPGI найдется
такая вершина и^ что цвет Ct будет отсутствовать в щ. Отсюда следует, что цвета, отсутствующие в вершинах графа G, попарно различны. Для получения требуемой раскраски ребер графа К^ нужно приписать каждому ребру vut цвет, не представленный в вершине щ. <
Теорема 56.3 (Д. Кёниг, 1931). Для любого двудольного графа G верно равенство % (G) = A(G).
Пусть, напротив, утверждение теоремы неверно, и G — двудольный граф с минимальным числом ребер, для которого %4G) = A(G) + 1. Тогда для любого ребра e^EG справедливо равенство %'(G — е) = A (G — е) ^ ^A(G). Зафиксируем ребро e = uv^EG и правильную реберную A (G)-раскраску ф графа G — е и обозначим через Мш множество цветов, отсутствующих в некоторой вершине w. Очевидно, что Ми 0, Mv^ 0. Если Ми П fl ¥= 0, то ребро е можно окрасить в цвет, принадлежащий этому пересечению. Поэтому Ми П Mv = 0. Пусть s ^ MU1 t ^ Mv. Рассмотрим цепь L, начинающуюся в вершине р, ребра которой попеременно окрашены в цвета s и £ и которая имеет наибольшую длину среди таких цепей. Вершина и не входит в L, иначе (р, и)-подцепь цепи L вместе с ребром е образовала бы в графе G цикл нечетной длины, что невозможно в двудольном графе. Переставив цвета 5 и / в цепи L, можно затем окрасить ребро е в цвет s, что противоречит исходному предположению. <
Типичная ситуация отражается следующей теоремой, приводимой без доказательства (см. обзор [21]).
Теорема 56.4. Для почти каждого графа G верно равенство
= A(G).
Связь матроидных разложений графов с раскрасками
Отметим простые связи, существующие между матро- идными разложениями графов и раскрасками. Напомним, что матроидным разложением графа G называется представление его в виде объединения
G = Gx U G2 U ... U G»
Л-графов, т. е. графов, все связные компоненты которых суть полные графы; минимальное число ц компонент в матроидных разложениях графа G — матроидное число ц(С).
Зафиксируем правильную раскраску ребер графа G и рассмотрим разбиение множества ребер на цветные классы:
ЕХ^Е^ ...^Ek = EG.(1)
Очевидно, что граф Gi, для которого VGi = VG1 EGi = E^ является Af-графом, и
G==G1UG2U...UG/l(2)
— матроидное разложение. Итак, разбиение на цветные классы (1) определяет матроидное разложение (2) графа G. Тем самым доказано
Утверждение 57.1. Для любого графа G верно неравенство
^G)^x'{G).
Учитывая это неравенство и теорему 56.3, получаем Утверждение 57.2. Если граф G не содержит треугольников, то
Для любого двудольного графа G верно равенство
^G) = MG).
> Если граф G пе содержит треугольников, то его реберный граф A(G) и граф клик Q^G^ могут различаться только изолированными вершинами. Следовательно, если Xq(G)—хроматическое число графа Q(G), то %Q^G) = x4^h так что для графа G без треугольников H'(G) = Xq(G) = x4G). Применяя теорему 56.3, получим второе равенство. <
Для матроидного числа произвольного графа хроматическое число его графа клик является верхней границей. А именно, верно
У тв ер ждение 57.3. Для любого графа G справедливо неравенство
MG)^Xq(G).(3)
> Подграф, порожденный в G объединением клик, входящих в один цветной класс при правильной вершинной раскраске графа клик (?(G), является Л-графом, поскольку все его связные компоненты — полные графы. Следовательно, если
7iU72U...U7/l==yy(G)
— разбиение на цветные классы множества вершин графа клик, a G< получается из порожденного подграфа
253
G^V^ в результате присоединения всех вершин из VG\Vt как изолированных, то G = Gy U G2 U . . . U Gk — матроид- ное разложение. Тем самым неравенство (3) доказано. <
В качестве иллюстрации рассмотрим граф G, изображенный на рис. 57.1; для него Q^G^ = К^ %q(G) = = х№ = 4, p(G) = 3.
Утверждение 57.4. Для произвольного графа G равенства p(G) = 2 и Xq(G) = 2 равносильны.
> Если Xq(G) = 2, то ц(С)^2. Но при p(G)=l никакие две максимальные клики графа G не пересекаются, и потому Q(G)— пустой граф, Xq^^I- Итак, при XqR = 2 и p(G) = 2.
Остается доказать истинность импликации
H(G) = 2=>Xq(G) = 2.(4)
Доказательство основано на следующей очевидной комбинаторной лемме.
Лемма 57.5. Пусть S — конечное множество, каждому из элементов которого приписан один из двух фиксированных цветов или оба эти цвета. Если для любой пары элементов множества S существует общий приписанный им цвет, то тогда и все элементы множества имеют общий приписанный им цвет.
Пусть теперь
G = GiUG2(5)
— матроидпое разложение графа G. Достаточно доказать, что любой полный подграф графа G целиком содержится
в каком-либо из G/, если это так, то разложение (5) определяет правильную 2-раскраску графа клик и истинность импликации (4) доказана.
Каждому из ребер графа G следующим образом припишем один из цве-
Рис. 57.1 тов {1, 2} или оба эти цвета. Именно, всем ребрам графа Gt (i = 1, 2) приписывается цвет I. Пусть теперь Q — клика графа G, е2^ EG (^).
Если ребра ех и е2 смежны, то в порожденном подграфе G^Q^ существует третье ребро е, смежное с ними обоими. Какие-то два из этой тройки ребер имеют общий цвет, поскольку цветов только два. Но концы этих трех ребер вместе входят в одну из связных компонент графа Gf, являющихся полными графами, следовательно, и третье ребро имеет тот же цвет. Итак, для любой пары 254
смежных ребер графа G(Q) существует общий приписанный им цвет.
Если же ребра e\ = U\V\ и С2 = U2V2 не смежны, то в графе G^Q") есть еще четыре ребра вз = Н1Н2, ^4 = ^1^2, es = u\V21 e^ = V\U2. Для каждой пары смежных из этих ребер существует общий цвет, откуда очевидно вытекает, что существует цвет, общий для ребер ej и е^.
Доказано, что любые два ребра графа G(Q) имеют общий цвет. В силу леммы 57.5 существует общин цвет, например 1, приписанный всем ребрам графа G^Qy Последнее означает, что G^Q) содержится в одной из компонент графа G\. <1
Из утверждения 57.4 вытекает
Следствие 57.6. Если %(G) = 3, то и ц(б) = 3.
Раскраска планарных графов
Проблема раскраски планарных графов является одной из самых знаменитых проблем теории графов. Возникшая в середине прошлого века, она до сих пор привлекает внимание специалистов и любителей.
Первоначально вопрос формулировался в следующем виде: достаточно ли четырех красок для такой раскраски произвольной географической карты, при которой любые две соседние страны окрашены в различные цвета? При этом рассматриваются лишь те карты, в которых граница любой страны состоит из одной замкнутой линии, а соседними считаются страны, имеющие общую границу ненулевой длины.
Позднее понятия карты и ее раскраски были формализованы следующим образом. Связный плоский мультиграф без мостов называется картой. Грани карты, имеющие общее ребро, называются смежными. Функция /, ставящая в соответствие каждой грани еГ карты натуральное число /(Г)^ {1, 2, ..., /с) — цвет грани Г,— называется k-раскраской, если цвета смежных граней различны. Карта называется k-раскрашиваемой, если для нее существует к-раскраска.
В 1879 году британский математик А. Кэли опубликовал в первом томе Трудов Лондонского географического общества статью, посвященную проблеме раскраски карт, в которой сформулировал гипотезу четырех красок (сама задача была известна и ранее).
Гипотеза четырех красок: всякая карта 4- рискрашиваема.
Часто пользуются другой формулировкой гипотезы четырех красок: всякий планарный граф 4-раскрашиваем.
Поскольку планарный граф по определению изоморфен некоторому плоскому, то эквивалентность этих двух формулировок гипотезы четырех красок вытекает из следующей теоремы.
Теорема 58.1. Карта G является к-раскрашиваемой тогда и только тогда, когда геометрически двойственный граф G* вершинно к-раскрашиваем.
О Поскольку граф G плоский и не имеет мостов, то двойственный граф G*— плоский граф (без петель). Пусть задана некоторая правильная Л-раскраска карты G. Построим /с-раскраску графа G*, приписав каждой его вершине цвет той грани, в которой находится эта вершина. Так как вершины графа G* смежны тогда и только тогда, когда смежны содержащие их грани, то полученная раскраска оказывается правильной.
Аналогичным образом можно перейти от правильной раскраски графа G* к правильной раскраске карты G. <
Заметим, что существуют плоские графы, которые нельзя раскрасить правильно менее чем четырьмя цветами. Таков, например, граф К^.
Первоначально гипотеза четырех красок не показалась слишком сложной и появилось несколько ее «доказательств», в которых позднее были обнаружены пробелы. В дальнейшем эту проблему, сбивающую с толку простотой формулировки, пытались решить многие известные математики. Большой интерес к теории графов, возникший в связи с гипотезой четырех красок, способствовал открытию многих важных результатов, поскольку они казались полезными для решения проблемы. До сих пор эта проблема остается мощным стимулом исследования различных свойств графов.
Сначала рассмотрим раскраски планарных графов двумя и тремя цветами.
Согласно теореме Кёнига %(G) = 2 для непустого графа G тогда и только тогда, когда он не содержит циклов нечетной длины, откуда несложно получить следующее утверждение.
Утверждение 58.2. Плоский двусвязный граф является дихроматическим тогда и только тогда, когда граница каждой его грани содержит четное число ребер.
Достаточно доказать, что плоский двусвязный граф, граница каждой грани которого состоит из четного числа ребер, является двудольным. Рассмотрим произвольный 256
простой цикл С такого графа. Этот цикл делит плоскость на две части — внутреннюю (по отношению к циклу) и внешнюю. Считаем, что сам цикл принадлежит каждой из частей.
Пусть внутренняя часть плоскости содержит грани Г1, Гг, ..., 1\ с числом ребер в их границах Zi, /2, ..., lh соответственно. Так как любое из чисел Zi четное, то их сумма также четная. Но каждое ребро, не принадлежащее циклу С, входит в эту сумму дважды, откуда следует, что длина цикла С четная. Из теоремы 9.1 следует, что рассматриваемый граф является двудольным. <
Аналогичное утверждение верно и для односвязных графов, только в этой ситуации каждый мост, входящий в границу грани, учитывается дважды.
Утверждение 58.3. Карта G является ^-раскраши- ваемой тогда и только тогда, когда граф G эйлеров.
Учитывая теорему 58.1, нужно лишь доказать, что геометрически двойственный граф G* является двудольным тогда и лишь тогда, когда граф G эйлеров. Последнее оставлено читателю. <
Теорема 58.4 (М. Крол, 1973 г.). Плоский граф 3-раскрашиваем тогда и только тогда, когда он является подграфом плоской триангуляции с четными степенями вершин.
Необходимость. Будем считать, что порядок рассматриваемого графа более трех (для К^ утверждение тривиально). Пусть вершины плоского графа G правильно раскрашены тремя цветами 1, 2, 3. Рассмотрим произвольную отличную от треугольника грань Г этого графа. Возможны следующие случаи.
Границей грани Г является цикл четной длины, вершины которого окрашены в два цвета, например, 1 и 2. Тогда поместим внутри Г вершину ш, соединив ее ребрами с каждой из вершин этого цикла, и окрасим эту вершину в третий цвет 3 (рис. 58.1, а).
Границей грани Г является 4-цикл С = ^оу, кг, к3, щ, щ), вершины которого окрашены в три цвета, например, щ— в цвет 1, V2 — в 2, и^ — в 3, тц— в 2. В этом случае поместим внутри грани Г цепь L = (vy, Wy, W2, р3), связывающую несмежные вершины цикла С, имеющие различные цвета. Соединим Шу и W2 с вершинами этого цикла, окрашенными в один цвет. Для получения правильной раскраски остается каждой из вершин Шу и W2 приписать цвет 1 или 3, однозначно определенный (см. рис. 58.1, б).
17 В. А. Емеличев и др. 257
Границей грани Г является Z-цикл, / > 4, вершины которого окрашены в три цвета. Поместим в Г вершину w, припишем ей цвет 3 и соединим ее со всеми вершинами цикла, имеющими цвета 1 и 2. Грань Г при этом разобьется на несколько граней, границами которых
Рис. 58.1
будут треугольники и 4-циклы (рис. 58.1, в). С последними поступим так же, как в предыдущих случаях.
Проделав описанные построения для выбранной грани Г, отличной от треугольника, получим новый правильно 3-раскрашенный граф, в котором Г уже разбита на треугольники. Выполнив эти операции для всех таких граней, придем к правильно 3-раскрашенной плоской триангуляции, подграфом которой и будет исходный граф. Покажем, что степени всех вершин этой триангуляции четны. Пусть и — произвольная вершина, имеющая, для определенности, цвет 1. Поскольку G #= К^ то вершины, смежные с у, образуют цикл. Так как для их раскраски достаточно двух цветов 2 и 3, то этот цикл имеет четную длину и, следовательно, степень вершины у четная.
Достаточность. Пусть граф G является подграфом плоской триангуляции Г с четными степенями вершин. Покажем, что он 3-раскрашиваем.
Поскольку Т — эйлеров граф, то согласно утверждению 58.3 его грани можно раскрасить двумя цветами, например, красным и синим. Ориентируем ребра, ограничивающие каждую красную грань, так, чтобы при движении по ориентированному ребру грань оставалась справа. Произвольную вершину и графа Т окрасим в цвет 1 и для каждой вершины w рассмотрим любую простую (у, гу)-цепь Р. Пусть а(Р) и р(Р) —числа ребер этой цепи, ориентация которых совпадает и, соответственно, не совпадает с направлением цепи от у к w. Припишем вершине w цвет c(zy) = 1 + а(Р)— £(Р) (mod3). 258
Покажем, что выполненная таким образом раскраска окажется правильной. Сперва докажем, что окраска любой вершины w не зависит от выбора цепи Р. Рассмотрим произвольный простой цикл С в графе 1\ ограничивающий некоторую область F. Если при движении по ориентированному ребру,р
принадлежащему С, от его начала к концу область на- /к\хС ходится справа от ребра, то -\к/ с
назовем это ребро а-ребром, с |К
в противном случае—b-реб-\
ром. Пусть а и р — числа
а-ребер и, соответственно, -
Ь-ребер в С, а Л и s — числаРис. 58.2
красных и синих внутренних граней в области F. Каждое а-ребро принадлежит красной внутренней грани, а Ь-ребро — синей внутренней грани.
Вычислим число р ребер, находящихся внутри цикла. С одной стороны, они принадлежат красным граням, поэтому р = 3k — а. С другой стороны, эти ребра принадлежат синим граням, так что р = 3s — р. Отсюда 3k — а = = 3s — р, или а — ^> = 3k — 3s = О (mod 3).
Пусть Pi и Ръ — две различные простые (и, ^)-цепи. Покажем, что ci(zz?) = C2(w), где
Ci(w) = 1 + а(Р<) — Р(Р<) (mod3), г = 1, 2.
Вначале рассмотрим случай, когда цепи Pi и Р2 не имеют общих вершин, отличных от и и w (см. рис. 58.2, на котором красные грани обозначены буквой К, а синие — С).
Пусть С — цикл, полученный объединением цепей Pi и Р2. Для определенности считаем, что ориентация а-ре- бер совпадает с направлением цепи Р\. Тогда С содержит a(Pi)+p(P2) а-ребер и а(Р2)+р(Р1) Ь-ребер. По доказанному выше
(a(Pi) + р(Р2)) -(a(P2) + р (Pi)) = О (mod3),
a (Pi) - р (Pi) ^ a (Р2) - р (Р2) (mod 3), откуда вытекает, что ci(w) = c2(w).
Если цепи Pi и Р2 имеют общие вершины, отличные от и и w, то объединение этих цепей разбиваем на простые циклы и цепи, а далее проводим доказательство так, как для случая одного цикла.
Таким образом доказано, что после выбора цвета вершины и остальные вершины графа Т однозначно раскрашиваются тремя цветами. Покажем, что эта раскраска является правильной. Рассмотрим любые две смежные вершины и и w графа Т, отличные от вершины и. Из простых (и, и)- и (у, w)-цепей выберем кратчайшую. Пусть ею окажется (у, гр)-цепь Р. Рассмотрим также (у, и)-цепь, полученную при присоединении к цепи Р ребра ши. Тогда
е И = 1 + ct (Р) - Р (Р) (mod 3),
с (и) = 1 + а (Р) - р (Р) ± 1 (mod 3)
(знак последнего слагаемого зависит от ориентации ребра ши). В случае, когда v = w, последнее соотношение принимает вид c(u) = 1 ± 1.
Отсюда следует, что с^ш^с^и), и раскраска графа Т является правильной.
Поскольку G — подграф 3-раскрашиваемого графа Т, то он также 3-раскрашиваем. <
Утверждение 58.2 и теорема 58.4 дают необходимые и достаточные условия существования правильной раскраски вершин плоского графа двумя и тремя цветами. Однако между этими утверждениями есть принципиальная разница: условие утверждения 58.2 легко проверяемо, но не известно эффективных способов проверки условий теоремы 58.4. Приведем без доказательства одно легко проверяемое достаточное условие 3-раскрашивае- мости плоского графа.
Теорема 58.5. Любой плоский граф, содержащий менее четырех 3-циклов, 3-раскрашиваем.
Проблема четырех красок
Гипотеза четырех красок привлекала внимание многих исследователей. Уже в 1880 году появилось первое доказательство А. Кемпе. Ошибка в этом доказательстве была обнаружена Р. Хивудом в 1890 году. Одновременно он показал, что если в формулировке гипотезы слово «четыре» заменить на «пять», то она легко доказывается.
Теорема 59.1 (Р. Хивуд, 1890 г.). Каждый планарный граф 3-раскрашиваем.
> По-прежнему, не теряя общности, будем рассматривать плоские графы. Проведем доказательство индукцией по числу вершин графа. Теорема справедлива для гра-
фов с не более чем пятью вершинами. Предположим, что она верна для графов порядка, не превосходящего п, п^Ь.
Рассмотрим произвольный плоский граф G порядка и+1. Согласно утверждению 38.5 этот граф содержит вершину Ро, степень которой но превосходит пяти. Пусть N = N(vQ) — окружение вершины Ро в графе G. Отдельно рассмотрим два случая.
,^1^4. По индуктивному предположению граф G — vo 5-раскрашиваем; раскрасим его вершины пятью
цветами. Затем окрасим вершину ио в тот из пяти цветов, который не использован при раскраске вершин из N.
I7VI = 5. В множестве N существуют две несмежные вершины v\ и V2, иначе G(N) = Ks и граф G не планарен. Граф G', полученный из G — vQ слиянием этих вершин в вершину и (см. рис. 59.1), является плоским и по индуктивному предположению 5-раскрашиваемым. Фиксируем какую-либо из его правильных 5-раскрасок. В графе G окрасим вершины v\ и V2 в цвет вершины и, а остальные отличные от v вершины — в те же цвета, что и соответствующие вершины графа G'. Затем припишем вершине Vo цвет, не использованный при раскраске вершин из N.
Таким образом, получена правильная 5-раскраска графа G. <
Трудность проблемы четырех красок привела к появлению большого числа равносильных ей формулировок. Изучая эквивалентные задачи, исследователи пытались доказать гипотезу четырех красок.
Теорема 59.2. Следующие три утверждения эквивалентны'.
произвольный плоский граф 4-раскрашиваем;
любая кубическая карта 4-раскрашиваема;
хроматический индекс произвольной кубической карты равен 3.
Вначале докажем истинность импликации 2)=^1). Согласно теореме 58.1 достаточно показать, что 4-раскраска произвольной карты определяется 4-раскраской некоторой кубической карты.
Пусть G — произвольная карта, и — ее вершина степени 2. Замена ребер ио и uw, инцидентных вершине и, ребром ow приводит к новой карте 6. Легко видеть, что правильная раскраска одной карты очевидным образом переносится на вторую. Поэтому без ограничения общности можно считать, что в графе G нет вершин второй степени.
Пусть и—произвольная вершина степени Z>4, N(u) = tvxi V2, ..., и} — окружение вершины и, причем вершины в N(u) так занумерованы, что обход ребер в последовательности иох^ ии^^ • •., uvt происходит в направлении движения часовой стрелки. Заменим вершину и простым циклом С = (их, U2t ..., uh Ui) и соединим щ и Ui ребром, i = l, I (рис. 59.2). Проводя аналогичную процедуру для каждой вершины графа G, степень которой больше трех, получим кубическую карту, которая,
по предположению, 4-раскрашиваема. Искомая 4-раскраска граней карты G получается стягиванием каждого добавленного цикла в точку.
Теперь докажем, что 1)=^3). Пусть произвольный плоский граф 4-раскрашиваем. Рассмотрим некоторую кубическую карту G. Согласно теореме 58.1 эта карта также является 4-раскрашиваемой. Фиксируем одну из ее 4-раскрасок и будем считать, что выбранные 4 цвета составляют абелеву группу А = (0, а, 6, а+М»^-^
+ (6) — прямую сумму двух циклических групп второго порядка. (Это коммутативная группа, в которой а + а = = 6 + 6 = 0.) Определив теперь цвет каждого ребра графа G как сумму цветов двух разделяемых этим ребром граней, получим правильную раскраску ребер тремя цветами а, Ь, а + Ь.
Наконец, докажем, что 3)=>2). Пусть G —кубическая карта и %'(G) = 3. Фиксируем правильную реберную 3-раскраску графа G цветами а, 6 и с. Рассмотрим подграф графа G, порожденный ребрами, окрашенными в цвета а и 6. Очевидно, что этот подграф является объединением простых циклов. Припишем точкам плоскости, лежащим внутри циклов, цвет 1, а вне — цвет 2. Аналогично, точкам плоскости, лежащим внутри циклов, индуцированных ребрами, имеющими цвета а и с, припишем цвет 3, а вне таких циклов — цвет 4. Таким образом, каждой грани карты G окажется приписанной одна из следующих пар цветов: (1, 3), (1, 4), (2, 3), (2, 4). Эти пары определяют раскраску карты четырьмя цветами, поскольку смежным граням соответствуют разные пары. <
В связи с проблемой четырех красок Г. Биркгоф в начале века поставил вопрос: какими свойствами должны обладать минимальные плоские графы, вершины которых нельзя правильно раскрасить четырьмя цветами? Такие графы называются неприводимыми. Далее изучались графы, их называли приводимыми конфигурациями, которые не являются подграфами неприводимых графов.
В дальнейшем многие математики изучали гипотетические неприводимые графы и приводимые конфигурации. Эти исследования позволили довести число вершин в графах, для которых доказана их 4-раскрашиваемость, до 96.
В 1969 году X. Хееш свел проблему четырех красок к исследованию большого, но конечного множества U так называемых неустранимых конфигураций. Им было показано, что для любого максимального плоского графа G найдется подграф G, изоморфный некоторой конфигурации из U и такой, что если граф G является 4-раскра- шиваемым, то 4-раскрашиваем и граф G. Позже число таких неустранимых конфигураций было уменьшено до 1482. В 1976 году коллективу математиков и программистов, возглавляемому К. Аппелем и В. Хейкеном, удалось правильно раскрасить все графы из множества U
четырьмя цветами, затратив на это около 2000 часов работы мощной ЭВМ, что позволило им заявить о доказательстве гипотезы четырех красок. Тем не менее трудно согласиться с таким доказательством, поскольку и сведение общего случая к неустранимым конфигурациям, и раскраску последних очень сложно повторить.
Понятия (плоской) карты и ее раскраски естественно распространяются на другие поверхности.
Пусть 5 — некоторая поверхность, любая карта на которой допускает раскраску х(^) цветами, и существует карта на 5, не допускающая раскраски х^)—1 цветами. Тогда х(^) называется хроматическим числом поверхности S.
Теорема 59.3 (Г. Рипгель, Д. Янгс, 1968 г.). Если Sp — сфера с р> 0 ручками, то
Х^р) =Х^р) =7 + ]/Т + 48р
Х^р) =
Х^р) =
2
Подробно о раскраске карт, расположенных на произвольных поверхностях, см. в [26].
Другие подходы к раскраске графов
В 1943 г. Г. Хадвигер выдвинул гипотезу, тесно связанную с проблемой четырех красок.
Гипотеза Хадвигер а. Любой связный п-хрома- тический граф стягиваем к Кп.
Для п С 4 гипотеза подтверждается. В самом деле, при п = 1 утверждение тривиально. При п = 2 каждый связный граф стягивается к ребру, а при п = 3 — содержит цикл и потому стягивается к К^. Следующая теорема доказывает гипотезу для п = 4.
Теорема 60.1. Каждый связный 4-хроматический граф стягиваем к К^.
> Пусть G — связный 4-хроматический граф. Если в G есть точки сочленения, то некоторый его блок должен быть 4-хроматическим, иначе из теоремы 53.3 следовало бы, что х(^)<4. Стянем G к этому блоку. По той же причине блок останется 4-хроматическим после стягивания ребер, инцидентных вершине степени 2. Таким образом, не теряя общности, можно считать G блоком со степенями вершин не менее трех. .
Пусть C = (vi, V2, ..., Up, щ)—простой цикл максимальной длины р в G. Очевидно, что р> 4. Простую цепь, связывающую две несоседние вершины цикла С и 264
не содержащую других вершин этого цикла, назовем С-хордой. Покажем, что для любой вершины V\ цикла С существует С-хорда, которой принадлежит эта вершина. Так как deg v\ > 3, то имеется ребро е = щщ не принадлежащее С. Если и е VC, то ребро е является С-хордой. Пусть u^VC. Тогда по теореме 34.1 существует простой цикл С1=(щ, и, ..., V2, . •-, щ), содержащий ребро е и
аб
Рис. 60.1
вершину V2- Цепь L = (v\1 и, ..., Рг) должна иметь некоторую вершину ръ отличную от Рг и принадлежащую циклу С, иначе С не был бы простым циклом максимальной длины. Часть цепи L от и\ до первой вершины, принадлежащей циклу С, и будет искомой С-хордой.
Предположим, что существуют две С-хорды Т\ = = (^, ..., ^) и Т2 = (ик1 ..., vz) с общей вершиной t вне С. Тогда часть графа, состоящая из С, Т\ и T2l стягивается к К^. Один из вариантов стягивания изображен па рис. 60.1, а.
Теперь рассмотрим случай, когда не существует пересекающихся С-хорд. Любая С-хорда делит цикл С на две простые цепи. Выберем такую С-хорду Т\, чтобы одна из этих цепей С' = (vh ..., Vj) была кратчайшей, и возьмем вершину vk па этой цепи (такая вершина существует, поскольку С-хорда соединяет две несоседпие вершины цикла). Рассмотрим некоторую С-хорду Т2 = = (vk1 ..., v^. Если при этом вершина vt будет расположена па С', то цепь (vk1 ..., uz), принадлежащая циклу С, будет короче, чем С'. Следовательно, vt не лежит на цепи С'. В этом случае часть графа, состоящая из С, Т\ и T2l стягивается к К^. Один из вариантов стягивания показан на рис. 60.1, б.
После того как будет получен граф К^ оставшуюся часть исходного графа стянем к К^. <
Известно, что утверждение гипотезы Хадвигера при и = 5 эквивалентно гипотезе четырех красок. А именно, верна следующая
Теорема 60.2. Следующие два утверждения эквивалентны;
гипотеза четырех красок верна;
любой связный ^-хроматический граф стягиваем к Ks.
В заключение этого параграфа рассмотрим один алгебраический подход к проблеме раскраски плоских графов. Детально об этом см. [14].
Пусть G — плоский граф, и ip: VG Л (где А — = (О, а, 6, а + Ъ} = (а) 4- (6) — прямая сумма двух циклических групп второго порядка)—его раскраска. Тогда условием правильности выбранной раскраски окажется следующее условие: у 15 = *^^ + ^(pj)^ О для любого ребра ViV5 графа G. Поэтому для произвольного цикла С = = (^1, ^2, •.., Vn, Уп+1), l^!®^ ДОЛЖНЫ ВЫПОЛНЯТЬСЯ условия
71
Z/M4-1 ^ ®1 ^ ^ ^гп1 S z/i,i+l ^ 0* G) г=1
Пусть теперь G — произвольный связный граф, каждому ребру UiUj которого поставлена в соответствие переменная уц* Получим систему уравнений 3(G), записав соотношения вида (1) для каждого цикла графа G, и систему 3(G)—для каждого цикла из некоторого фиксированного базиса циклов.
Лемма 60.3. Каждому решению системы S(G} при фиксированной окраске i|)(po) некоторой вершины Vq однозначно соответствует правильная раскраска графа G четырьмя цветами.
Е> Для заданной вершины va^VG рассмотрим произвольную цепь Pa = (^Q, ^Ь ...» Va^ И ПрИМвМ
а—1
Ф (^а) = Ф (^о) + 5 УЛ,Л+И(2)
h=0
где у 15 составляют решение системы S(G].
В силу (1) значение 'ф(ка) не зависит от выбора цепи Ра, поэтому оно определяет цвет вершины иа. Так как Уа^О для и^и^ЕС. то любые смежные вершины имеют различные цвета. Таким образом, раскраска, задаваемая формулой (2), правильная. <
Так как граф может содержать большое число циклов, то перейдем от системы уравнений 5(G) к систе
ме S (G).
Теорема 60.4. Каждому решению системы S(G]
ip(vo) некоторой вершиныip(vo) некоторой вершиныпростой циклпростой циклпри фиксированной окраске
ip(vo) некоторой вершины
ip(vo) некоторой вершины
простой цикл
простой цикл
Ро однозначно соответствует правильная раскраска графа G четырьмя цветами.
произвольныйпроизвольный> В силу леммы 60.3 достаточно показать, что решение системы 5(G) является и решением системы 5(G). Для этого вначале рассмотрим
произвольный
произвольный
0 = ^, Рх. .... Pt-x. vh Pi+x. ..., рр-х. рр. Рр+ь • ., vni уоу,
не принадлежащий базису циклов С графа G. Известно (§ 21), что С можно представить в виде суммы по модулю 2 нескольких циклов из С. Пусть С = Сх® С2. Сх. С^^ С.
Gi=(z;o, Рх. .... Pi. Рп^. vP. рр+х. ..., рп. у0)\
C2 = (vh Pi+x, .... Рр-Х, vp, pn+k, .... Рп+х. Pi)
(рис. 60.2). Тогда
2 Угз " 2 Угз + 5 Угз '
гз^ЕС гзеЕС^ i^EC2
— ^(У^пЛ-! + Z/n+l,n+2 + . . • + Уп-Vk/p) = 0.
Аналогичные рассуждения можно привести и в том случае, когда цикл С является суммой не двух, а большего числа циклов из базиса циклов С. Значит, соотношение (1) выполняется для любого простого цикла. Если же цикл С не простой, то необходимо представить его в виде объединения нескольких простых циклов, для каждого из которых выполняется (1). <
§ 61. Совершенные графы
Как отмечалось выше, хроматическое число и плотность любого графа удовлетворяют очевидному неравенству x(G)>cp(G). При этом, как свидетельствует теорема 54.5, разность %(G) —qp(G) может быть как угодно
267
велика. В этом параграфе изучаются графы, обладающие тем свойством, что хроматическое число и плотность не только самого графа, но и каждого его порожденного подграфа, равны.
Граф называется совершенным, если
%(Я) = ф(Я)(1)
для любого его порожденного подграфа Н.
Из этого определения непосредственно вытекает, что всякий порожденный подграф любого совершенного графа является совершенным.
Очевидно, что все полные и пустые графы совершенны. Примером совершенного графа может служить также каждый двудольный граф, поскольку для любого его подграфа II либо %(Я) = ф(Я) = 2 (если Я непустой), либо % (Я) = ф (Я) = 1 (при пустом Я).
Совершенные графы введены К. Бержем в 1960 году. Интерес к этим графам связан прежде всего с двумя обстоятельствами. Во-первых, многие трудно разрешимые в общем случае задачи теории графов успешно решаются для совершенных графов. Во-вторых, ряд широко известных классов графов содержится в классе совершенных. Таковы, например, все двудольные, пороговые, расщепляемые и триангулированные (см. § 62) графы. Исследования, посвященные совершенным графам и, в частности, связанной с ними гипотезе Бержа, речь о которой пойдет ниже, во многом определяют лицо современной теории графов.
Теорема 61.1. Граф, дополнительный к совершенному графу, также является совершенным.
Эту теорему в виде гипотезы сформулировал К. Берж в 1961 г. Позже ее независимо доказали Д. Р. Фалкер- сон (1971 г.) и Л. Ловас (1972 г.). Ниже приводится доказательство Л. Ловаса.
Лемма 61.2. Следующие два утверждения равносильны*.
граф G является совершенным;
в любом непустом порожденном подграфе G' графа G есть такое независимое множество вершин Л, что
ф(6'-Л)<ф((Г).(2)
Пусть G — совершенный граф, G* — его непустой порожденный подграф. Тогда х(С') = ф(С'). Следовательно, существует правильная ф(С')-раскраска графа G'. Если А — какой-либо цветной класс при этой раскраске, 268
то множество А независимо и %(G'— Л)^ф(С')—1. Из последнего неравенства вытекает (2), поскольку ф(//)^
X (Я) для любого графа Н.
Пусть теперь для некоторого графа G верно утверждение 2). Нужно доказать, что для любого порожденного подграфа G' графа G выполняется неравенство
x(G')<<p(G')'.(ЗУ
Из неравенства (3) следует равенство плотности и хроматического числа, ибо противоположное неравенство всегда верно. Воспользуемся индукцией по |G'I. Если G' — пустой граф, то (3) тривиально. Пусть G' непуст, \G'\ = к> V и для каждого порожденного подграфа меньшего чем к порядка верно неравенство, аналогичное неравенству (3). Для независимого множества А вершин графа G', удовлетворяющего неравенству (2), имеем по индуктивному предположению:
^G'-A^^^-A^<^G'Y
Но так как множество А независимо, то
Х^^х^ -Л)+Кф(6')+1, х(Д'^^,
и равенство (3) доказано. <1
Пусть G и Н — произвольные графы. Будем считать их множества вершин не пересекающимися и следующим образом определим новый граф F. Отметим произвольную вершину и графа G и положим VF = (VG U VH)\v. Вершины а и Ъ графа F будем считать смежными, если выполняется одно из следующих трех условий:
ab^EG,
ab^EH,
a^VG, b^VH, av ^ EG пли Ъ^ VG, a^VH, bv^EG.
Скажем, что граф F получается из графа G в результате замены вершины и графом Н.
Лемма 61.3. Граф, полученный из совершенного графа в результате замены вершин совершенными графами, также является совершенным.
Очевидно, что достаточно рассмотреть лишь одну замену вершины. Пусть G и Н — совершенные графы, a F получается из G в результате замены вершины и графом Н. Учитывая лемму 61.2, достаточно показать, что в любом порожденном подграфе F' графа F есть независимое множество вершин А, пересекающееся с каждой
наибольшей кликой графа F'. Вначале пусть F' = F. Зафиксируем какую-либо правильную ф(С)-раскраску графа G. Пусть В — цветной класс, содержащий вершину и. Выберем в графе Н такое независимое множество вершин С, что ф(Я — С)<ф(С). Теперь покажем, что множество (SUC)\v = X удовлетворяет нужным условиям. В самом деле, В независимо в G, С независимо в Н. Если же 6 е ^ВХи, с^С, то вершины Ь и и не смежны в G, а потому b и с не смежны в F. Итак, А — независимое множество вершин графа F.
Остается показать, что А пересекается с каждой наибольшей кликой графа F. Пусть К — одна из таких клик, L = Kf\ VH. Если ЬФ 0, то L содержит какую-либо наибольшую клику D графа Я, поскольку любая вершина графа G — и либо смежна в F с каждой вершиной графа Я, либо ни с одной из них. Так как D П С Ф 0, то КА ПЛ^0. Если же L = 0, то К^ VG\v, ф(Л = |Я| < ^^(G — u^^^G). Но очевидно, что ф^У^ф^). Следовательно, 1Я| =ф(С), клика К пересекается с каждым цветным классом любой правильной ф(£) -раскраски графа G, КП (Я\р) Ф 0, значит, К П А Ф 0. Доказано, что в графе F есть независимое множество вершин, которое пересекается с каждой наибольшей кликой этого графа.
Теперь заметим, что аналогичное свойство имеет любой порожденный подграф F' графа F, поскольку F' либо получается из некоторого порожденного подграфа G' графа G в результате замены вершины и порожденным подграфом Я' графа Я, либо является порожденным подграфом графа G. <1
Лемма 61.4. В любом совершенном графе G есть клика, пересекающая каждое наибольшее независимое множество вершин графа G.
> Проведем доказательство от противного. Пусть G — совершенный граф, для каждой клики В которого существует такое наибольшее независимое множество вершин А, что В П А = 0. Пусть, далее, Bi, ..., Вт — список всех клик графа G, At — наибольшее независимое множество вершин, такое что А^В1Ф0 (г = 1, г). Для произвольной вершины и графа G обозначим через w^ число всех множеств At, содержащих эту вершину. Заменив в G каждую вершину и полным графом KwW, получим граф G\ который по лемме 61.3 окажется совершенным. Оценим число ф(С'). Очевидно, что всякая клика графа G' есть объединение клик графов, заменивших в G вершины 270
какой-либо клики. Поэтому
ф ^G^ = max 2 w М»
Ki^r VGB^
Поскольку каждое из множеств А, вносит единицу в те и только те из чисел w^v), для которых и^А^ то
2 w^ = у ISiMI-
Но очевидно, что
Btf\A< = 0, IS, ПЛ,!^1.
Следовательно,
ф(С')^г-1.(4)
Далее,
%(£')>\G'\MGZ)(5)
(теорема 54.7). Построим последовательность, выписав поочередно все элементы множества Л1, все элементы множества Л 2, ..., все элементы множества Аг. Пусть I — длина этой последовательности. Очевидно, что
I = £ ГА | ='ra0 (G).
i=l '
С другой стороны, каждая вершина и графа G фигурирует в этой последовательности ровно w(v) раз, поэтому
1 = 2 w(p) = |G'|.
veVG
Наконец, очевидно, ao(G') = ao(G).
Неравенство (5) теперь принимает вид
%(G')>r.(6)
Но t(G,) = %(G'), что противоречит совокупности неравенств (4) и (6). Полученное противоречие и доказывает лемму. <1
> Доказательство теоремы 61.1. Пусть G — совершенный граф, Н —_непустой порожденный подграф дополнительного графа G. Тогда Н — порожденный подграф графа G. Согласно лемме 61.4 в графе Н есть клика 5, пересекающаяся с каждым наибольшим независимым подмножеством вершин. В графе Н множество В независимо и пересекается с каждой наибольшей кликой. Следовательно, в силу леммы 61.2 граф G является совершенным. <
Напомним читателю, что c(G^ означает число клико- вого покрытия графа G. Очевидно, что ао(С) = ф(С), c(G) = x(G), поэтому из теоремы 61.1 вытекает
Следствие 61.5. Граф является совершенным тогда и только тогда, когда ао(Н} = с (Н} для любого его порожденного подграфа Н.
Приведем без доказательства теорему, характеризующую совершенные графы в терминах многогранников. С каждой бинарной матрицей А без нулевых столбцов можно связать два многогранника: многогранник Р(Л) = = {^: Л^^1, я^О), введенный в § 28, и многогранник РС(А}—выпуклую оболочку множества целых точек многогранника Р(А). Очевидно, что РС(Л)^Р(Л).
Теорема 61.6. (В. Хватал, 1975 г.). Пусть А— матрица клик графа G. Тогда для того, чтобы граф G был совершенным, необходимо и достаточно выполнение равенства Рс (А) = Р (А).
Легко видеть, что условием, необходимым для того, чтобы граф был совершенным, является отсутствие в нем порожденных простых циклов нечетной длины Z ^ 5. В самом деле, если С — такой цикл, то ср(С) = 2< <Х(С) = 3. Из теоремы 61.1 вытекает, что таких циклов не должен содержать и граф, дополнительный к совершенному. В 1962 году К. Берж высказал предположение, что эти два условия не только необходимы, но и достаточны для того, чтобы граф был совершенным.
Сильная гипотеза Б ер ж а. Граф G является совершенным тогда и только тогда, когда ни он, ни его дополнение G не содержат порожденных подграфов вида Сг^+ь & 2.
Эта гипотеза, не доказанная и не опровергнутая до сего времени, инициировала исследование совершенных графов и привела ко многим интересным результатам.
Триангулированные графы
Граф G называется триангулированным (или хордальным}, если ни один из его порожденных подграфов не является простым циклом длины Z ^ 4. Это означает, что в триангулированном графе для любого его простого цикла длины Z ^ 4 есть ребро, соединяющее две несоседние вершины этого цикла. Такое ребро называется хордой.
На рис. 62.1 изображены два графа G и Н, из которых G является триангулированным, а Н не является.
Очевидно, что граф является триангулированным, если все его компоненты — триангулированные графы. Следую
щая характеризация связных триангулированных графов принадлежит Г. Дираку. В ней используется понятие разделяющего множества вершин. Множество S вершин графа G называется разделяющим множеством вершин, если граф G — S имеет больше компонент, чем граф G.Если при этом Gi (i = l, Z)—компоненты графа G — S, то порожденные подграфы G(VGi U S) называются частями графа G относительно S.
Теорема 62.1. Связ
ный граф является триангулированным тогда и только тогда, когда любое его разделяющее множество вершин,
минимальное относительно включения, есть клика.
> Необходимость. Пусть G — триангулированный связный граф, S — одно из его минимальных по включению разделяющих множеств вершин, G\, ..., Gp— компоненты графа G — S, v — некоторая вершина, принадлежа- щая множеству S. Тогда для любого индекса i= 1, р вершина и смежна с некоторой вершиной графа G^ иначе множество 8\и было бы также разделяющим.
Пусть щ и Z22 — две произвольные вершины из S, a Li=(vi, ui, и2, ..., иг, и2), ^2 = (^ь ^ь ^2, ..., wt, и^ — такие цепи минимальной длины, что (^и\, и2, ..., и^— цепь графа G\, a (гщ, н?2, . •., wt) — цепь графа G2. Поскольку граф G является триангулированным, то цикл С = L\ U Ь2 имеет хорду. Так как длины цепей L\ и Ь2
минимальны, то эта хорда не может иметь ни один из следующих видов:^^, ^zr^, и^и^ wkwk^i= \, 2, Д =^ = 1, Z, 72=1, I, ki = l, t, k2 = i, t). А так как вершины графов G\ и G2 друг с другом не смежны, то она также не может иметь вид и5шк (/ = 1, I, k = l, ^). Таким обра
зом, эта хорда совпадает с viv2 и, следовательно, вершины и\ и и2 смежны. Тем самым доказано, что множество S является кликой.
Достаточность. Пусть в графе G любое минимальное разделяющее множество вершин является кликой. Рассмотрим произвольный простой цикл С графа G
27327318 в. А. Емеличев и др.
273
273
длины, большей трех:
С = (121, и, 122, ^1, • •., шк1 121), к ^ 1.
Любой минимальный (щ, 122)-сепаратор S (см. § 35) должен содержать вершину и и хотя бы одну из вершин Юг. Так как G(S) — полный граф, то для этой вершины Шг ребро itWi является хордой цикла С. <
Теорема 62.2. Каждый триангулированный граф является совершенным.
Доказательство теоремы основано на следующей лемме.
Лемма 62.3. Пусть S — разделяющее множество вершин графа G, являющееся кликой. Тогда если каждая часть графа G относительно S — совершенный граф, то и сам граф G — также совершенный.
> Пусть G' — произвольный порожденный подграф графа G, ф(С') = ф, 5' = 5П VG\ Если S' = EG', то G'- полный и потому совершенный граф. Если S' Ф VG' и граф G' — S' связен, то G' — порожденный подграф некоторой части графа G относительно множества S. Поскольку всякая такая часть совершенна, то и G' — совершенный граф. Остается случай, когда множество S' является разделяющим для графа G'. Если Оъ ...,GP— части графа G' относительно S', то любая из них является порожденным подграфом некоторого совершенного графа — соответствующей части графа G относительно множества S. Поэтому она сама — совершенный граф. Следовательно, % (Gi) = ф (G|)^ ф. Вершины графа G', не входящие в S' и принадлежащие различным частям G", не смежны. Поэтому, раскрасив ф цветами вершины каждого из графов G^ так, чтобы любая вершина из множества S' имела при всех этих раскрасках один и тот же цвет, получим правильную ф-раскраску графа G'. Следовательно, х(С') = ф = ф(С/). <
Доказательство теоремы 62.2. Воспользуемся индукцией по числу вершин графа. Для графов порядка п < 3 утверждение очевидно. Пусть G — триангулированный граф, |G| = п>3, и пусть теорема верна для графов с меньшим числом вершин.
Полный граф является совершенным. Если же граф G не будет полным, то из теоремы 62.1 вытекает, что в G существует разделяющее множество вершин S, являющееся кликой. По индуктивному предположению все части графа G относительно S — совершенные графы. Но тогда 274
по предыдущей лемме и сам граф G является совершенным. <
Следующая теорема проливает свет на строение триангулированных графов и окажется полезной в дальнейшем.
Вершина графа называется симплициальной, если ее окружение — клика.
Теорема 62.4. Любой триангулированный граф имеет симплициальную вершину. Более того, если этот граф отличен от полного, то в нем есть по меньшей мере две несмежные симплициальные вершины.
Утверждение теоремы очевидно для полных графов и легко проверяемо для графов, имеющих не более трех вершин. Пусть G — триангулированный граф порядка п > 3, отличный от полного, и пусть теорема верна для графов, порядки которых меньше чем п. Пусть, далее, и и и — две несмежные вершины графа G и 8 — минимальный (и, и)-сепаратор. Обозначим через Gu и Gv части графа G относительно 8, содержащие, соответственно, вершины и и v. Покажем, что графы Gu и G^ имеют симплициалъные вершины, не принадлежащие множеству 8. Если Gu — полный граф, то симплициальной является любая его вершина. В противном случае по индуктивному предположению граф Gu имеет две симплициальные вершины. Поскольку по теореме 62.1 граф G(S)— полный, то хотя бы одна из них пе принадлежит 8. Аналогично показывается существование симплициальной вершины, пе принадлежащей множеству 8, в графе Ge. Очевидно, что эти две симплициалъные вершины не смежны. <
Легко показать, что триангулированным является всякий расщепляемый граф. Связь между классами триангулированных и расщепляемых графов устанавливается следующей теоремой, полученной С. Фолдесом и П. Хаммером в 1977 году и содержащей характеризацию расщепляемых графов в терминах запрещенных порожденных подграфов.
Теорема 62.5. Для графа G следующие утверждения эквивалентны:
граф G расщепляем*,
оба графа G и G являются триангулированными*,
граф G не содержит порожденных подграфов вида ^К^, С^ и Сь.
1)=^2). Пусть G — расщепляемый граф. Тогда, по определению, существует разбиение A U В = VG на клику 48*273
А л независимое множество В. Пусть в G есть порожденный простой цикл Ср длины р. По меньшей мере одна из двух соседних вершин этого цикла должна быть в А. Но в А любые две вершины смежны, поэтому р ^ 3. Тем самым доказано, что любой расщепляемый граф является триангулированным. Поскольку дополнительный к расщепляемому граф также расщепляем, то истинность импликации 1)=>2) доказана.
Импликация 2)=^3) очевидна, поскольку порожденный подграф триангулированного графа также должен быть триангулированным, а графы 27^, C^ и С^ или их дополнения не такие.
Остается доказать истинность импликации З)^!). Пусть граф G не имеет порожденных подграфов вида 2К2, С 4 и С г. Среди всех наибольших клик графа G выберем такую клику А, чтобы граф G — А имел наименьшее число ребер, и положим В = VG\A. Докажем, что либо В = = 0 (и тогда граф G расщепляем, поскольку он полный), либо В — независимое множество. Пусть, напротив, существует ребро ху, оба конца которого х и у принадлежат множеству В. Каждая из вершин х и у не смежна хотя бы с одной вершиной из клики А, поскольку последняя максимальна. Если бы каждая вершина, входящая в А, кроме некоторой вершины z, была смежна и с х, и с у, то множество (A\z) U х U у было бы кликой, что противоречит выбору клики А. Следовательно, в А существуют две несовпадающие вершины и и и такие, что хи ^ EG и yv^EG.
Так как граф G не имеет порожденных подграфов 2^2 и С^ то из двух возможных ребер хи и уи ровно одно действительно есть в G. Пусть, например, хи ^ EG, yu^EG.
Если |Л|>2, то рассмотрим произвольную вершину w е Л\(и и и). Пусть вначале yw^EG. Тогда, если xw^ ^EG, то G(x, у, и, w) = 2K2. Если же xw^EG, то G^x, у, и, w^ = C^. Следовательно, yw^EG и, таким образом, у смежна с каждой вершиной из множества Л\р. Поэтому множество А' = A\v U у является наибольшей кликой. Если же вершины w не существует, т. е. |Л| =2, то множество А' также является наибольшей кликой.
С другой стороны, \E(G — A') I > |E(G — Л) I, ху ^ EG, xv^EG. Поэтому в УС\Л существует такая вершина I, что t^y, tv^EG, ty^EG. Тогда в G должно быть ребро xt, иначе G^t, х, у, v)=2K2. Аналогично tu^EG, иначе G(C х, у, и) = С\ (см. рис. 62.2, на котором отсутст-
вующие ребра обозначены пунктиром). Но тогда G(^ х, у, и, v) = C^ что противоречит условию. Полученное противоречие доказывает, что множество В независимо и, следовательно, G — расщепляемый граф. <
Как показывают примеры, граф, дополнительный к триангулированному, не обязательно сам является триангулированным (например, граф 27^2 = С4 не является триангулированным). Следовательно, класс всех расщепляемых графов уже класса триангулированных графов.
УПРАЖНЕНИЯ
Определите хроматические числа и хроматические индексы графов платоновых тел (рис. 1.7).
Приведите пример двух графов с совпадающими степенными множествами (степенными последовательностями) и различными хроматическими числами.
Покажите, что для множества вершин любого непустого графа G существует такое разбиение Fi U У2 = VG, что верно равенство х(^(^)) + х(^(И2)) = х№.
Опишите графы, хроматический индекс которых равен 2.
Граф называется критическим, если удаление любой из его вершин приводит к графу с меньшим хроматическим числом. Покажите, что Кп является критическим графом при п > 1, а Си — тогда и только тогда, когда п нечетно.
Докажите, что всякий критический граф, являющийся ^-хроматическим:
связен,
не имеет точек сочленения,
степень каждой его вершины не меньше чем к — 1.
Докажите, что любая последовательная раскраска полного Л-дольпого графа есть й-раскраска.
Приведите пример графа, последовательная раскраска вершин которого не является минимальной.
Докажите, что при последовательной раскраске графа используется не более чем 1 + max 6 (7/)^ цветов.
пе^
Покажите, что для раскраски карты, получающейся при пересечении окружностей па плоскости, достаточно двух цветов.
Докажите, что при любой правильной раскраске реберного графа каждая вершина смежна не более чем с двумя вершинами одного и того же цвета.
Докажите, что для любого графа порядка п верны неравенства
2Уп^Х(£)+х(£)^ + 1,^x(G)x(G)^(>*+l)2/4.
Приведите примеры графов, для которых указанные границы достижимы.
Покажите, что для связного графа G порядка п верно неравенство
/(G, 0 ^f(< — l)n-i.
Докажите теорему 55.6.
Приведите пример полинома, удовлетворяющего условиям теоремы 55.6, но не являющегося хроматическим.
Докажите теорему 55.7.
Предложите алгоритм для раскраски х'(^п) цветами ребер графа Кп.
Используя упражнение 14 в главе IV, докажите, что для любого двудольного графа G хроматический индекс хЧ^ равен A(G).
Докажите, что всякая карта, не содержащая вершин степени 2, имеет грань, граница которой содержит не более пяти ребер.
Докажите, что реберный граф двудольного графа является совершенным.
Докажите, что теорема 56.3 о двудольных графах является следствием теоремы 61.1.
Не используя теоремы 62.5, докажите, что любой расщепляемый граф является совершенным.
Докажите, что в любом триагулированном графе есть две симплициальные вершины, расстояние между которыми равно диаметру графа.
Глава X
Ориентированные графы
В приложениях часто приходится рассматривать графы с ориентированными ребрами, т. е. ребрами, для которых указаны начало и конец. Примерами таких графов являются сети автомобильных дорог с односторонним движением или схемы программ для ЭВМ. Недостаточно простых (неориентированных) графов и для описания несимметричных отношений. Примерами подобных отношений могут служить порядок выполнения комплекса работ, задаваемый с помощью сетевого графика, или турнирная ситуация в спортивных соревнованиях.
В этой главе изучаются ориентированные графы.
Основные определения
Пусть V — конечное непустое множество, V2 — его декартов квадрат. Ориентированный граф {орграф} — это пара (У, Л), где A eV2. Элементы множества У называются вершинами орграфа С = (У, Л), а элементы множества А — его дугами. Таким образом, дуга — это упорядоченная пара вершин. Множества вершин и дуг орграфа G обозначаются через VG и AG соответственно. Число |УС| называется порядном орграфа G и обозначается через IGI.
Если х = {и, и} — дуга, то вершины и и v называются ее концевыми вершинами, причем и называется началом дуги ж, а р - концом. Говорят, что дуга инцидентна каждой из своих концевых вершин. Говорят также, что дуга исходит из своего начала и заходит в свой конец. Дуга с совпадающими началом и концом, т. е. дуга вида (у, у), называется петлей. Можно определить ориентированные графы с несколькими дугами, имеющими общее начало и общий конец (мультиграфы). Такие дуги называются параллельными.
На рисунке дуга изображается направленной линией, идущей от начала дуги к концу. Направление линии обозначается стрелкой. Например, для графа G, представ-
лепного на рис. 63.1, VG = b1, у2, р3, р4, уД ЛС = Bi, ж2, Жз, ^4, л?з, жд, ж?}, причем ^i и ^2 — параллель- ные дуги, а ^7 — петля.
Вершины орграфа называются смежными, если они являются концевыми для некоторой дуги. Дуги называются смежными, если они имеют общую концевую вершину.1
ми {внутренними).ми {внутренними).Пусть G некоторый орграф. Ориентированным марих - рутом (или просто маршрутом) в графе G называется такая последовательность
ми {внутренними).
ми {внутренними).
8 = ^0, жь рь х2, ..., ж„, р„) (1) его чередующихся вершин и^ и ДУГ X), что Xi = (Vi_Vl v^ (i = 7= 1, n). Такой маршрут назо
вем (i?o, vu)-маршрутом. Вершины ио и vn назовем крайними, а остальные вершины маршрута (1) — промежуточны- Длиной маршрута называется число
входящих в него дуг. Маршрут называется цепью, если все входящие в него дуги различны, и путем, если все входящие в него вершины, кроме, возможно, крайних, различны.
Если в орграфе G нет параллельных дуг, то маршрут (1) может быть задан последовательностью входящих в него вершин: S = (z2o,• • •> ип). В любом случае марш
рут можно задать последовательностью входящих в него дуг: S = (a?i, х^, ..., хн).
Маршрут называется циклическим, если его первая и последняя вершины совпадают. Циклический путь называется контуром. Очевидно, что любой (и, и)-маршрут при и^и содержит (и, и)-путь, а при u = v—контур.
Последовательность (1) чередующихся вершин и дуг орграфа G, таких что ^ = (^-1, Ui) или Xi = {Vi, Vi-\), называется полумаршрутом. Аналогично определяются полуцепь, полупутъ и полуконтур.
Если в орграфе существует {и, v) -маршрут, то говорят, что вершина v достижима из вершины и. Любая вершина считается достижимой из себя самой.
Орграф называется сильным (или сильносвязным), если любые две его вершины достижимы друг из друга. Орграф называется односторонним (или одностороннесвязным), если для любой пары его вершин по меньшей
мере одна достижима из другой. Орграф называется слабым (слабосвязным, связным), если любые две его вершины соединены полупутем.
Поскольку любая вершина графа достижима из себя, то одновершинный граф одновременно и сильный, и односторонний, и слабый.
Очевидно, что каждый сильный граф является односторонним, а каждый односторонний — слабым. Очевидно
Рис. 63.2Рис. 63.2
Рис. 63.2
Рис. 63.2
также, что любые две несовпадающие вершины сильного орграфа принадлежат некоторому циклическому маршруту.
На рис. 63.2, а изображен сильный орграф, на рис. 63.2, б — односторонний, а на рис. 63.2, в — слабый.
Маршрут, содержащий все вершины орграфа G, называется остовным.
Утверждение 63.1. Орграф является сильным тогда и только тогда, когда в нем есть остовный циклический маршрут.
> И е о б х о д и м о с т ь. Пусть G — сильный орграф и Т = (vo, жу, Vy, ..., жн, Vo)—его циклический маршрут, проходящий через максимально возможное число вершин. Если этот маршрут пе является остовным, то возьмем вне его вершину v. Так как G — сильный орграф, то существуют маршруты
Ту — (^о, У\. .... и), T2 = (v, zy, ..., Vo) .
Но тогда циклический маршрут
T' = (vo. жу, Vy, . .., Жи, Vo. У У. .... V, Zj, . .., Vo)
содержит большее, чем Т, число вершин, что противоречит выбору маршрута Т. Следовательно, Т — остовный маршрут.
Достаточность. Пусть и и v— две произвольные вершины орграфа G, а
Т = (^0, Ж, . . ., V, у, . . ., и, X, . . ., Vo)
— циклический маршрут. Тогда и достижима из v с помощью маршрута (и, у, ..., и) — части маршрута Т,— а и из и — с помощью маршрута (и, z, ..., vo. ж, ..., v). <1
Аналогично доказывается
Утверждение 63.2. Орграф является односторонним тогда и только тогда, когда в нем есть остовный маршрут. Орграф является слабым тогда и только тогда, когда в нем есть остовный полумаршрут.
Подграфы и порожденные подграфы ориентированного графа определяются так же, как и для неориентированного. Так же определяются и операции над орграфами.
Введем важное понятие сильной компоненты орграфа. Сильной (или сильносвязнои) компонентой ориентированного графа называется любой его максимальный относи- тольно включения сильный подграф.
Очевидно, что отношение взаимной достижимости вершин ориентированного графа G рефлексивно, симметрично и транзитивно. Следовательно, мы получим разбиение
множества VG на классы, объединив в один класс все вершины, достижимые друг из друга. Подграфы, порожденные классами этого разбиения, и только они, служат сильными компонентами орграфа G.
В орграфе могут быть дуги, нс входящие ни в одну из его сильных компонент.
Орграф G, изображенный на рис. 63.3, имеет четыре сильные компоненты с множествами вершин {щ, ^2, Уз, ^4^, {^5, Уб, Уз), {^7} и {у9}.
Пусть (51, 52, ..., 5т} — множество всех сильных компонент ориентированного графа G. Конденсацией орграфа G называется орграф G*, вершины si, 82, ..., sm которого соответствуют сильным компонентам орграфа G, и пара (st, Sj) является дугой в G* тогда и только тогда, когда в G есть дуга, начало которой принадлежит компоненте 5г, а конец — Sj.
На рис. 63.3 представлены орграф G и его конденсация G*.
Утверждение 63.3. Конденсация G* любого орграфа G не имеет контуров.
> Проведем доказательство от противного. Пусть Т = = (^0, ^ь $ь • • ? so)—контур в G*. Тогда каждая вершина, входящая в компоненту 8^ достижима из любой вершины, входящей в компоненту 8р Но это противоречит максимальности сильных компонент. <
Неориентированный мультиграф, получающийся в результате снятия ориентации с дуг орграфа G. называется основанием орграфа G и обозначается через Gb.
Очевидно, что орграф является слабым тогда и только тогда, когда его основание — связный мультиграф.
Орграф называется несвязным. если его основание — несвязный мультиграф.
Ориентированный граф называется турниром, если его основание является полным графом. Этот класс графов получил свое название в связи со спортивными турнирами без ничьих, проводимыми по круговой системе. Результаты встреч можно описать ориентированным графом, вершины которого соответствуют участникам соревнований, а дуга (щ р) есть в орграфе, если участник и победил участника и.
Полустепени исхода и полустепени захода
Пусть G — ориентированный граф и v^VG. Множество концов всех дуг, исходящих из вершины и. обозначается через Г(р), а множество начал всех дуг, заходящих в и — через Г'1 (и).
Полустепенью исхода tZ+(p) вершины и называется число дуг, исходящих из и, т. е. d+(p)= |Г(р) I. Аналогично определяется полу степень захода d~(v] вершины и; ^-(р)= [Г”1 (р) I.
Степень deg и вершины и орграфа — это число инцидентных ей дуг:
deg и = d+ (р) + d“ (р).
Для произвольной бинарной m X n-матрицы А вектор сА = (с1, С2, ..., CmV i-я координата с^, которого равна числу единиц в Z-й строке этой матрицы, называется вектором строчных сумм. Аналогично определяется вектор столбцевых сумм dA = (d\. d^ ..., dn): координата di равна числу единиц в Z-м столбце. Очевидно, что
mп
2 = 2 d^(i)
поскольку каждая из этих сумм равна числу всех единиц матрицы Л.
Если А = A (G) — матрица смежности орграфа G, то
^АЧ = Г^
т. е. число единиц в Z-й строке матрицы Л(С) равно полустепени исхода Z-й вершины, а число единиц в /-м столбце равно полустепени захода /-й вершины. Таким образом, для Л=Л(С) имеем
сА = (й+(1), ач^... ацп^,aA=(a~(i), ^-(2),d-M).
Поэтому верно следующее утверждение, являющееся аналогом леммы о рукопожатиях.
Утверждение 64.1. Сумма полу степеней исхода всех вершин орграфа равна сумме полустепеней захода и равна числу его дуг*.
2 а*^ = 2(;;) = , ле |.
vtrVGvee VX?
Нетрудно убедиться в том, что равенство (1) не является достаточным условием для существования бинарной п X m-матрицы А с векторами строчных сумм сА и столбцевых сумм dA. Например, нет матрицы Л, для которой cA = ^ 0), dA = (2, 1).
Пара векторов с = (ci, е2, ..., cm), a = ^ax, d2, ..., dn) с целыми неотрицательными координатами называется графической, если существует бинарная тХ ^-матрица Л, для которой сА = с, dA = d. Если истолковывать эту матрицу как приведенную матрицу смежности двудольного графа, то вектор сА окажется списком степеней вершин этого графа, принадлежащих одной доле, а вектор дА — списком степеней вершин другой доли, так что условия графичпости пары векторов являются условиями существования соответствующего двудольного графа — реализации этой пары. Этим и объясняется термин «графическая пара векторов».
При тп = п ту же матрицу А можно истолковывать как матрицу смежности орграфа, и тогда условия графично- сти пары векторов станут условиями существования ориентированного графа с заданными списками полустепеней исхода и полустепеней захода вершин.
Критерий графичности пары векторов устанавливается следующей теоремой.
Теорема 64.2. Пара векторов
С ^^ (щ, С2^ • • *ч Ст^) d (^1, ^2> • • •) ^п)(2)
является графической тогда и только тогда, когда выполняются следующие два условия:
последовательность
(щ + m— 1, С2 + т — 1, ..., ст + тп — 1, d\, d2, ..., dn) (3)
графическая*, т п
2 ^ = 2 Si-г=1 г=1
> Очевидно, что пара векторов (2) реализуется двудольным графом тогда и только тогда, когда последовательность (3) реализуется расщепляемым графом, для которого (щ + т — 1, сг + т— 1, ..., ст+т— 1) и (db d2, ..., d^ — списки степеней вершин верхней и нижней долой соответственно. Поэтому доказываемое непосредственно вытекает из критерия расщепляемости графической последовательности (утверждение 49.3). <1
Коснемся вопроса о реконструируемости орграфов. Гипотезу Келли — Улама для ориентированных графов можно попытаться сформулировать так же, как и для неориентированных. По для орграфов эта гипотеза не верна.
Рис. 64.1
П. Стокмейер (1977, 1981 гг.) нашел несколько семейств переконструируемых орграфов. Одно из них состоит из сильных турниров специального вида. Два переконструируемых турнира изображены на рис. 64.1. Ф. Харари и Е. Палмер доказали (1967 г.), что любой турнир, не являющийся сильным, реконструируем.
А. Рамачандран предложил новый вариант гипотезы реконструируемости для орграфов. Пусть G — ориентированный граф. Вместе с каждым подграфом Gv = G — и, v^VG, будем рассматривать упорядоченную пару (d^^v), d~(v)) полустепеней исхода и захода вершины и. Орграф G назовем N-реконструируемым, если он определяется с точностью до изоморфизма набором UG^, d^vV d"^):VG}.
Гипотеза Рамачандрана (1981 г.). Любой орграф М-реконструируем.
Эта гипотеза пока не доказана и не опровергнута.
Обходы
Определения эйлеровых и гамильтоновых ориентированных графов сходны с аналогичными определениями для неориентированных.
Цепь, содержащая каждую дугу орграфа, называется эйлеровой. Связный орграф называется эйлеровым, если в нем есть замкнутая эйлерова цепь.
Следующие две теоремы, характеризующие эйлеровы орграфы, доказываются так же, как и в неориентированном случае.
Теорема G5.1. Для связного ориентированного графа G следующие утверждения равносильны*.
граф G эйлеров*,
для любой вершины и ^ VG верно равенство d^(v) = d-(v)*,
граф) G является объединением контуров, попарно не имеющих общих ребер.
Теорема 65.2. Связный орграф G содержит открытую эйлерову цепь тогда и только тогда, когда в нем есть две такие вершины v\ и V2, что
^+(щ) = ^(щ)+1, d^^^d’^-l
и d+(v) = d~(v) для любой вершины v, отличной от Щ U V2-
Контур (путь) орграфа G называется гамильтоновым, если он содержит все вершины G. Гамильтонов орграф — это орграф, имеющий гамильтонов контур.
Вопросы, связанные с распознаванием гамильтоново- сти орграфа и построением гамильтоновых контуров или путей, являются столь же сложными, как и аналогичные вопросы для неориентированных графов. Докажем одно достаточное условие гамильтоновости орграфа.
Теорема 65.3 (М. Мейниел, 1973 г.). Пусть G — сильный орграф порядка п > 1 без петель и параллельных дуг. Если для любой пары и и и его несовпадающих несмежных вершин справедливо неравенство degn + + deg v > 2п — 1, то в G есть гамильтонов контур.
Для доказательства этой теоремы проделаем некоторую предварительную работу.
Если v^VG, S^VG, то через E(v-^S) обозначим множество дуг орграфа G с началом и и концом в 5,
Рис. 65.1
а через Е(щ 8) — множество дуг между и и 5, т. е. дуг вида (и, s) или (s, и), где s^S.
Как и выше, множество вершин произвольного пути Р будем обозначать через VP.
Лемма 65.4. Пусть Р=Цр\. v^ .... и^—путъ в орграфе G, и ^VGWP, и пусть в G нет (иь и^-пути, множество вершин которого совпадает с VPMv. Тогда |£(р, VP)\^k+l.
> Для любого I, 1 ^ i < к — 1, положим
А = \Е^ Ы) I + |Я(^ {^1)) I.
Очевидно, что
A^l, ъ-^к-^(1)
иначе в G существовал бы путь, запрещенный условием леммы (рис. 65.1). Суммируя неравенства (1) по всем i = 1, к — 1 и учитывая при этом возможность существования каждой из дуг (р, Pi) и (ик1 и). получим
к-1
| £(р, FP)|^2 + 5 Л^^ + 1- <1
Пусть U ^ VG. Путь Р в орграфе G назовем U-путем, если он удовлетворяет следующим трем условиям:
длина пути Р не меньше чем 2;
начальная и конечная вершины пути Р принадлежат множеству U;
никакая из других вершин, входящих в Р, не принадлежит множеству U.
> Теперь перейдем к доказательству теоремы 65.3, которое проведем от противного. Пусть орграф G удовлетворяет условиям теоремы и не является гамильтоновым и пусть S = (di, i?2, .. ., Vh, щ)—такой контур в G, множество вершин которого не является собственным под- множеством множества вершин другого контура. Рассмотрим отдельно два случая.
В G нет 75-путей. Возьмем какие-либо две вершины — одну в 5, а другую — вне S. В сильном орграфе G есть контур S', содержащий эти две вершины и потому
Рис. 65.2Рис. 65.3
отличающийся от S. Эти два контура имеют ровно одну общую вершину, скажем, уа, иначе в G был бы 75-путь. Пусть теперь pa+i и и — вершины, непосредственно следующие за Da в контурах 5 и S' соответственно (рис. 65.2). Так как в орграфе G нет 75-путей, то вершина d не смежна ни с одной из вершин, входящих в 5 и отличных от уа. По той же причине для любой вершины и е ^VGX(VSUd) верно неравенство \Е^и, {pa+i, у}) 1^2. Следовательно, для несмежных вершин d и ya+i имеем deg у + deg ya+1 =2| Е (и, {уа+ь у}) | +
uevswa+1
+2\Е<Н, {Уа+1, У}) К
uGVG\(VS^v)
< (2 + 2 (к - 1)) + 2 (п - к - 1) = 2и - 2,
что противоречит условию теоремы (здесь первая сумма учитывает дуги, соединяющие вершины ya+i и d с вершинами из 75, а вторая — дуги, соединяющие pa+i и d с остальными вершинами графа).
В орграфе G есть 75-пути. Выберем среди них путь
P = (Va, Ui, U2,U8, Ha+T)
с минимальным ч (см. рис. 65.3). Из максимальности контура 5 следует, что у>1. Определим ^ как максимальное среди таких чисел I, что 1 ^ г ^ у и в G есть (^а+Т) ^а)-ПуТЬ Р\ ДЛЯ КОТОРОГО
VP'-VSMv^ .... па+т-1)
(возможно, р = 1 и тогда Pf =(иа^1 г^+т+ь . ., ^а)). Та- ким образом, IVP4 = к — у + р. Так как Р U Р' также является контуром, из максимальности контура S вытекает, что Р < Y- Из выбора числа ^ следует, что в G нет (^а + т, ^а)-ИуТИ С МНОЖвСТВОМ ВврШИН VP' U {па+р}, ТНК что в силу леммы 65.4 вершина уа4_р соединена с Р' не более чем к — у + ^ + 1 дугами.
Пусть Р" = (i;a+T, Уам+ь • •., v»Y Так как контур S максимален, то в G нет (па+т, па)-пути с множеством вершин VP" U и\. Из леммы 65.4 теперь следует, что вершина ^i соединена с Р" не более чем к — 7 + 2 дугами.
Из минимальности числа у вытекает, что и\ не смежна ни с какой вершиной pa+i, 1 ^ г < у, и что для любой вершины и = ИС\(И5и uY) выполняется неравенство
\Е(и, tub ра+Р}) 1 < 2.
Учитывая вышесказанное, получаем для несмежных вершин zzi и ра+р
deg иг + deg г?а+р =2 I Е (и, {w1? У«+р}) | +
+2| Е(и, ^uv у«+р})| =
tceVGX^VSUu^
= \E(uv VP'^ | + | E (uv VS \7П | + | E (Уа+р, VP'^ | +
+ | E (зд, VS\VP'^ | +2| E (u, <uv v«+^ |.
ueVGX^VSUn^)
Учитывая полученные выше соотношения, а также то, что
|HG\(FSU щ)| =n-k-Y 1И5\7Р'1 = т — ^ — 1
и в графе могут существовать дуги вида (^а+₽, va^Y (^а+ь ра+р), 1 < i < *у, получаем
deg Ui + deg fa+p (k — + 2) + 0 + (k — 7 + ^+!) +
+ 2(-y — p — 1)+2(лг — А — 1)=2тг — 1 — p.
что противоречит условию теоремы. < 19 в. А. Емеличев и др.
Очевидно
Следствие 65.5. Сильный орграф порядка п без петель и параллельных дуг, степень каждой вершины которого не менее п, имеет гамильтонов контур.
Пути
Пусть
М = {РЬ Р2, .... Л)(1)
— какое-либо множество путей орграфа G, попарно не имеющих общих вершин. Если множества VPx вершин этих путей составляют разбиение для VG, т. е.
VG = VPX U VP2 U ... U VPh
то множество путей М называется разбиением орграфа G на пути. Минимальное число I путей, составляющих разбиение орграфа G, обозначим через /(G).
Ниже фигурируют понятия числа независимости ao(G) и хроматического числа x(G) орграфа G, которые для ориентированных графов определяются так же, как и для неориентированных, т. е. ao(G) = ao(Gb), %(G) = = X(G6).
Теорема 66.1 (T. Галлаи и А. Милгрэм, 1960 г.). Для любого орграфа G верно неравенство Z(G)^ao(G).
Фиксируем некоторое разбиение (1) орграфа G на пути. Пусть N(М) = {ab а2, ..аА, аг^Рг.— множество начальных вершин этих путей. Докажем более сильное ут- верждение:
существует такое разбиение М' орграфа G на пути, что А(ЛГ)^ A(Af), \М'\ ^^Gy
> Доказательство последнего утверждения проведем индукцией по n=|Gl. Утверждение очевидно при п = = 1, 2. Пусть ^>2 и утверждение верно для орграфов, порядки которых меньше п.
Вначале покажем, что, не ограничивая общности, можно считать \М\ ^ao(G)+l. В самом деле, пусть |М| > ^ao(G)+2. Рассмотрим орграф Gx — G—VPx. Очевидно, что ao(Gi)^ ao(G). По индуктивному предположению существует разбиение Мх орграфа Gx на пути с N^Mx^N^M^ и IAfJ ao(Gi)^ ao(G). Но тогда М'= = Mx U Рх — разбиение орграфа G с N^M'^N^M) и |ЛГ I ^ ao(G)+1. Поэтому всегда можно считать, что \М\ ^a0(G)+l.
Пусть теперь |М| = a0(G) +1. Тогда множество N(M) = Ui, а^ .... ай не является независимым, т. е. в нем есть хотя бы одна пара смежных вершин. Предположим, что (ai, a^^AG. Если путь Р\ состоит из единственной вершины аь то объединив Pi и Р2 в путь (ai, ^2, . • •), получим нужное разбиение.
Если же путь Pi=(^i, 61, ...) имеет более чем одну вершину, то рассмотрим орграф G\=G — a\. По индуктивному предположению существует такое разбиение М\ орграфа G\ на пути, что IMil ^ ao(Gi) < a^(G) и N(Мх)^ (b\n a2l а^ ..., ай. Если b\^N(M\). то М' получим из М\. добавив вершину а\ к пути, начинающемуся в Ь\. Аналогично можно поступить и тогда, когда а^^ ^N(M\). Если же bi^A(Afi) и а^ N(Mx), то М'= = МХ U {(ai)}. <
Из теоремы 66.1 вытекают два важных следствия.
Орграф G называется транзитивным^ если истинна импликация
((я, y^AG и (z/, z)^ AG)^- (х, z) = AG.
Следствие 66.2 (теорема Дилворта, 1950 г.). Если орграф G транзитивен, то 1(G) = ao(G).
Согласно предыдущей теореме Z(G)^ao(G). Но две вершины транзитивного орграфа, принадлежащие одной цепи, смежны, поэтому ao(G)^ 1(G). Итак, 1(G) = = ао (G). <1
Следствие 66.3. В каждом турнире существует гамильтонов путь.
Поскольку любые две вершины произвольного турнира Т смежны, то ссо(Г)=1. Поэтому существует цепь Р, содержащая все вершины турнира Т. <
Для сильных турниров верно следующее более общее утверждение.
Теорема 66.4. Пусть Т — сильный турнир порядка п. Тогда для любой его вершины и и для любого числа к, 3 < к ^ п, в Т есть контур длины к, содержащий вершину и.
Пусть 8 (и) и Р(и) — множество всех тех вершин и и, соответственно, w турнира Т, для которых (и, v)s = АТ и (w, и)^АТ. Оба эти множества не являются пустыми, поскольку орграф Т сильный. По той же причине существует хотя бы одна дуга (и, ш), идущая из 8 (и) в Р(и) (рис. 66.1). Следовательно, вершина и лежит на контуре длины 3.
Далее воспользуемся индукцией по к. Пусть вершина и входит в контуры всех длин от 3 до к, где к < п. Покажем, что она входит в контур длины к + 1.
Пусть С = (170, V[, . . ., V^, Vo = vh = и — контур длины к. Предположим, что для некоторой вершины w. не
входящей в этот контур, существуют такие дуги (гг, х) и (у, w^ что x^VC и у ^ VC. Тогда в С есть такие две смежные вершины Vt и v^x, что (v^ w^ и (w, Vi+x)— дуги турнира Т (рис. 66.2). Следовательно, вершина и входит в контур
С' =(Z20, V\1 . . ., Vi, Wt
Vi+X, . . ., щ), Vo = Vk = u, длины к + 1.
Если же указанной выше вершины w нет, то множество вершин турнира Т, не входящих в контур С, можно разбить на две части 5 (С) и Р(С) так, чтобы для любых вершин а е S'(С), Ъ = Р(С) и v ^ С выполнялись условия (у, a^AG и (Ь, v)^ AG. Так как орграф Т сильный, то 8(C) и Р(С) не пусты и существует дуга, идущая из
некоторой вершины a^S^C) в некоторую вершину be ^Р(С) (рис. 66.3). Таким образом, вершина и входит в контур
С7 = (vOl а, Ь, v^ ..., v^, vo = vk = и,
длины к + 1. <
Очевидно
Следствие 66.5. Сильный турнир гамильтонов. Заметим, что предыдущее следствие вытекает также из теоремы 66.3.
292
Теорема 66.6 (Т. Галлаи и Б. Руа, 1967 г.). Если к—максимальная длина путей в орграфе G, то %(£)< к + 1.
> Обозначим через В такое минимальное относительно включения подмножество в AG, что орграф G\ = G — В не имеет контуров. Для любой вершины и определим t(v) как число вершин пути в орграфе Gy с началом в и, имеющем максимальную длину. Приписав каждой вершине v цвет Цо), получим раскраску орграфа G не более чем к + 1 цветами. Остается доказать, что эта раскраска правильная, т. е. что t (и) V= t (и^) для любых двух смежных вершин и и и. Но если ^и, v)^AG\, то t(u^> t(vy Если же (и, v) = B, то G\ + (гг, и) имеет контур. Поэтому в Gi существует (и, п)-путь и, следовательно, Цо)> t(u).
Итак, доказано, что х(^)^ & + 1. <
§ 67. База и ядро
Пусть G — ориентированный граф, а В — такое подмножество его вершин, что любая вершина из VG\B достижима из какой-либо вершины, принадлежащей В. Если, к тому же, множество В минимально относительно включения среди всех подмножеств вершин с описанным свойством, то оно называется базой орграфа С.
Очевидно, что в любом орграфе существует база и что никакие две вершины базы не соединены маршрутом.
Поскольку вершины с нулевыми полуступенями захода не достижимы ни из каких вершин, то все они принадлежат базе. В бесконтурном орграфе база состоит только из таких вершин.
Для поиска базы в орграфе G, содержащем контуры, рассмотрим его конденсацию G*, не имеющую контуров согласно утверждению 63.3. Сильные компоненты орграфа G, в которые не входят дуги из других сильных компонент, соответствуют в орграфе G* вершинам с нулевыми полустепенями захода. Назовем такие сильные компоненты базовыми. Все вершины каждой сильной компоненты взаимно достижимы и любая вершина небазовой компоненты достижима из любой вершины некоторой базовой компоненты. Таким образом, доказана
Теорема 67.1. Подмножество вершин В орграфа является базой тогда и только тогда, когда В состоит из вершин, принадлежащих базовым компонентам, причем в каждую базовую компоненту входит ровно одна вершина из В.
Понятие ядра для ориентированных графов вводится так же, как и для неориентированных.
Множество 5 вершин орграфа G называется доминирующим, если для любой вершины w^ VG\S существует такая вершина ^=5, что (у, w^AG. Напомним, что множество 5 называется независимым, если никакие две
Рис. 67.2Рис. 67.2^В2
Рис. 67.2
Рис. 67.2
Рис. 67.1
вершины из S не смежны. Множество вершин 8, являющееся одновременно и независимым, и доминирующим, называется ядром орграфа.
Орграф, изображенный на рис. 67.1, имеет два ядра: 51 — {pi, Уз^ 5г = {^2, pJ.
Не в каждом орграфе есть ядро, в чем нетрудно убедиться, рассмотрев орграф, изображенный на рис. 67.2.
Рассмотрим одно достаточное условие существования ядра.
Теорема 67.2. Каждый орграф, не имеющий контуров нечетной длины, обладает ядром.
> Пусть G — орграф, в котором нет контуров нечетной длины. Для любого подмножества вершин W s VG положим
Г(Ж)= и ги\ж.
toEW
Определим рекуррентно две системы подмножеств Во, Si, В^ ... и Vo, V\, V2, ... множества VG. В качестве Во возьмем любую из баз орграфа G и положим
Vo = 0,Р1=50иГ(50).
Пусть уже определены Вг-\ и V<. В качестве В г возьмем какую-либо базу подграфа Gi = G — V,, удовлетворяющую условию и положим
К+1 = ^и5,иГ(50.
Покажем, что нужная база действительно существует. Пусть В — база в Gb содержащая вершину и ^ ^r^r^Bt-i^Wi-i). Поскольку Вг-х — база в G^-x, то вершина и достижима из какой-либо вершины w = Bi-x, и в графе Gi-x существует (w, р)-путь L (рис. 67.3). Этот путь содержит по меньшей мере по одной вершине из
Г(Уг-1) и из Г(Г(5г-1)\Р^1). Пусть и — последняя вершина пути L, принадлежащая можеству Г(Г(Вг-1)\У^1). Тогда все вершины, достижимые из вершины р, достижимы и из и, т. е. В' = (B\v}W и — также база. Будем проводить такие замены вершин до тех пор, пока не получим нужную базу Вг.
Поскольку
70<=И1<= ... cz^c^c: ...
и множество! VG конечно, то для некоторого индекса т верно равенство Vm = VG. Положим
771—1
и Si = 51=0
и покажем, что 8 — ядро орграфа G. Из построения множества 8 вытекает, что оно доминирующее, ибо если v^ ^8, то и = Г^Вк)\Ук для некоторого индекса к.
Осталось показать, что множество 8 независимо. Пусть, напротив, в 8 есть две смежные вершины и и и. и '= BPl v ^ Bq. Так как в базе смежных вершин нет, то р ^ q. Будем считать, что р < q. Из правила построения множеств В5 следует, что (u, v^AG, (v, u\=AG. По этой же причине существует путь
S (^р, Урч *£p+b Z/p+b • • •> ^q-b Уз-Ь ^q? ^
(рис. 67.4), где xq = v, х^ = В^ у^ е Г (Sj) W, (7 = р, q — 1). Из минимальности базы Вр следует равенство и = хр. Но тогда путь L оказывается контуром нечетной длины, что
противоречит условию теоремы. Тем самым доказана независимость множества S.
Итак, множество 8 является независимым и доминирующим одновременно, т. е. 8 — ядро. <
УПРАЖНЕНИЯ
Докажите теоремы 65.1 и 65.2.
Покажите, что в орграфе без контуров всегда есть вершина с нулевой полустепенью захода и вершина с нулевой полустепенью исхода.
Докажите, что пара векторов (З2, 2) и( 3, 22, 1) является графической, и постройте ее реализацию.
Постройте ориентированный граф, для которого вектор (З3, 22) является как списком полустепеней исхода вершин, так и списком полустепеней захода вершин.
Докажите, что следующие свойства орграфа G эквивалентны:
G — бесконтурный граф;
граф G и его конденсация G* изоморфны;
каждый маршрут орграфа G является путем;
вершины орграфа G можно упорядочить так, что его матрица смежности будет верхней треугольной матрицей.
Полустепень исхода вершины турнира называется количеством очков вершины. Докажите, что в любом турнире расстояние от вершины с максимальным количеством очков до любой другой вершины равно 1 или 2.
Докажите, что в транзитивном турнире существует ровно один гамильтонов путь.
Докажите, что ребра любого неориентированного графа можно так ориентировать, что в полученном орграфе И+(у) — d^W | <С ^ 1 для любой вершины и.
Покажите, что любой турнир либо является сильным, либо может быть превращен в сильный сменой ориентации только одной дуги.
Докажите, что неориентированный граф G является основанием некоторого сильного орграфа тогда и только тогда, когда G связен и не имеет мостов.
И. Транзитивным замыканием орграфа G называется орграф G, для которого VG = VGn а (и, у) е AG тогда и только тогда, когда в орграфе G вершина и достижима из и. Транзитивная редукция орграфа G определяется как орграф с наименьшим числом дуг, транзитивное замыкание которого совпадает с транзитивным замыканием орграфа G. Покажите, что если орграф не имеет контуров, то его транзитивная редукция единственна.
Пусть G — орграф без петель с п вершинами и m дугами. Докажите, что если G является связным, но не сильным орграфом, то п — 1 ^ m (п — I)2, а если G— сильный орграф, то п ^ m ^ п^п — 1).
Докажите, что в орграфе порядка п, для любых двух несмежных вершин и и v которого верно неравенство d(u) + d(v) ^ ^ 2п — 3, существует гамильтонов путь.
Орграф L(G^ вершины которого соответствуют дугам орграфа G и (и, у) ^AL^G^ тогда и только тогда, когда соответствующие дуги порождают в G маршрут, называется реберным орграфом. Выразите число вершин и число дуг реберного орграфа L(G) через аналогичные параметры орграфа G.
Целочисленная функция g(y)^0, и е VG, называется функцией Гранди орграфа G, если для любой вершины и значение g(y) совпадает с минимальным из тех неотрицательных целых чисел, которые не принадлежат множеству {g(u): и е Г(у)}. Покажите, что если каждый подграф орграфа G обладает ядром, то существует функция Гранди орграфа G.
Глава XI
Гаперграфы
Гиперграф — это такое обобщение простого графа, когда ребрами могут быть не только двухэлементные, но и любые подмножества вершин. Подобные объекты в математике известны давно, однако введение термина «гиперграф» связано с успешным распространением на них ряда важных понятий и методов теории графов.
Отметим, что понятиями, близкими понятию «гкпер- граф», являются понятия сети (см. [32]) и блок-схемы (см. [30]). Матроиды, которым посвящена гл. III, представляют собой специальный класс гиперграфов.
§ 68. Основные определения и свойства
Пусть V — конечное непустое множество, $ — некоторое семейство непустых (необязательно различных) подмножеств множества V. Пара (V, ^) называется ги- перграфом с множеством вершин V и множеством ребер S. Заметим, что матроид естественно рассматривать как гиперграф, ребрами которого служат циклы этого матрои- да и только они. Свободный матроид превращается при этом в пустой, т. е. не имеющий ребер гиперграф. Тривиальный матроид оказывается гиперграфом, ребра которого — все одноэлементные подмножества вершин.
Равные подмножества в S называются кратными ребрами гиперграфа. Множество вершин и семейство ребер гиперграфа II обозначаются символами VH и ^Н соответственно. Число |ЕЯ| вершин гиперграфа Н называется его порядком и обозначается через \Н\. Если \Н\=п1 \(9Н\—пг (с учетом кратности ребер), то Н называется ^п, тп)-гиперграфом.
Если вершина v ^ V принадлежит ребру е е^, то будем говорить, что они инцидентны. Каждой вершине v^ V гиперграфа Н сопоставим множество 3*(и) всех ин* 308
цидентных ей ребер. Число \8(у) I называется степенью вершины и. а |е| — степенью ребра е. Поскольку ребрами гиперграфа могут быть лишь непустые подмножества вершин, то степень любого ребра не меньше единицы, т. е. |е| > 1. Вершина гиперграфа, не инцидентная никакому ребру, называется изолированной»
Две вершины и' и и" гиперграфа Н назовем смежными. если существует ребро е=8Н. которое содержит обе эти
вершины. Два ребра е и е" гиперграфа Я назовем смежными. если е П е" Ф 0.
На рисунке ребро е удобно изображать сплошной линией, окружающей все вершины из е. если |е| >2 или |е| =1. Если же |е| =2, то такое ребро е будем изображать линией, соединяющей две вершины этого ребра, как и в случае обычных графов. На рис. 68.1 изображен гиперграф с множеством вершин У = {vi, и2. ..., и^ множеством ребер 8 = lei = {vi, и2. из). е2 = Vv2. ^4, иг, и6). е3 = {ие, и7. и8). 64=^3. V3). вз = {уД, е6 = {vgH.
Если в гиперграфе Я нет кратных ребер и степень любого ребра е равна h (Iе| = /^), то гиперграф Я называется h-однородным (h-униформным). Ясно, что всякий простой граф является 2-однородным гиперграфом. Тем самым граф — частный случай гиперграфа.
Любому (п. тп)-гиперграфу Я=(У, <F) без изолированных вершин можно сопоставить (тп, тг)-гиперграф Я* = (У*, ^*), в котором V* = 8. а 8* — семейство всех множеств ^(р), v = V. Гиперграф Я* называется двойственным к Я. На рис. 68.2 изображен гиперграф, двойственный к гиперграфу рис. 68.1.
Очевидно, что (Я*)* = Я для любого гиперграфа Я, не имеющего изолированных вершин.
Для любого гиперграфа Я = (У, ^) определим граф инциденций — двудольный граф К(Н) с множеством вершин У U ^ и множеством ребер Ци, е)Ци, е\= V X &, v г е\ Граф К(Н) называется кёниговым представлением гиперграфа Н. На рис. 68.3 изображено кёнигово представление К^Н) гиперграфа Н, приведенного на рис. 68.1.
Рис. 68.3Рис. 68.3
Рис. 68.3
Рис. 68.3
Очевидно, что К(Н*) получается из К^Н^ лишь переменой множеств У и ^ местами, причем все ребра сохраняются; таким образом, Я(Я*)=Я(Я).
В гиперграфе Я = (У, ^) цепью длины Z>0 или (щ, Pi+i^-цепью называется такая последовательность щ, ei, Р2, е^ ..., eh vi+i, что:
все вершины Vi, V2, ..., Vi+h кроме, возможно, крайних, различны;
ex, в2, . •., Ci — различные ребра Я;
У г, Уг+1 е 61 ДЛЯ ЛЮбоГО Z = 1, I.
Здесь и далее под различными ребрами гиперграфа Я подразумеваются различные члены семейства ^Я (как подмножества они могут совпадать; например, на рис. 68.4 е\ и в2 — различные ребра).
Если Z > 1 и vl+\ = щ, то цепь называется циклом.
Заметим, что для соответствующих понятий графа мы добавили слово «простой» (простой цикл, простая цепь).
На рис. 68.4 ^2, е^ vs, е^ vi, ез, vs и Ух, ei, У2, £2, из — цепи, a V2, еь щ, ез, Ут, е^ у^ ^5, ^2 и z;i, еь У2. е^, у^ е^ Ут, вз, Уд, 62, У\ — ЦИКЛЫ.
Очевидно, что существует биекция между цепями (циклами) гиперграфа Я=(У, ^) и простыми цепями (простыми циклами) его кёнигова представления, концы которых принадлежат множеству У.
Пусть H = (V, (S’)—гиперграф, 0^V'^V. Подгипер- графом, порожденным множеством вершин У', называется гиперграф H'=(V', S'), где S' = Ve': е = в П У' =# 0, е (S’).
Вершины и и v гиперграфа Н называются связанными, если и = v или в Н существует (и, р)-цепь. Легко
видеть, что отношение связанности есть отношение эквивалентности на множестве вершин гиперграфа. Классы этого отношения называются областями связности гиперграфа Я, а порожденные областями связности подгиперграфы называются компонентами (связными компонентами) гиперграфа Н. Количество компонент гиперграфа Я обозначается через к(Н). Если к(Н)=1, то гиперграф Я называется связным. Очевидно, что к(Н) = к(К(Н)), где к (К (Я)) — число компонент графа К(Н).
Утверждение 68.1. (п, т)-гиперграф Я не содержит циклов тогда и только тогда, когда
2 (|е|-1) = п-/г(Я).
> Очевидно, что гиперграф Я пе содержит циклов тогда и только тогда, когда его кёнигово представление Я (Я) является лесом. Но граф К (II) имеет k (II) компонент, m + п вершин и 2 | 61 ребер. Поэтому на осно-
е^Н
ванип следствия 13.4 имеем
2 | е| = m + п — ее^н
т. е.
2 (\е\ —1) = п—к^Ну < ее^Н
Утверждение 68.2. Гиперграф II не содержит циклов тогда и только тогда, когда для любого непустого
подмножества S’ ^^Н выполняется неравенство
> Достаточность. Предположим, что Н содержит цикл щ, ei, V2, в2, ..., vh eh v\. Тогда, положив S' = = ki, в2, ..еА, имеем
I иI еЕ^'I иI еЕ^'ееU ^г 1=1U ^г 1=1ZU ki\^i) 1=1ZU ki\^i) 1=1
I и
I еЕ^'
I и
I еЕ^'
е
е
U ^г 1=1
U ^г 1=1
Z
U ki\^i) 1=1
Z
U ki\^i) 1=1
Z
<S kiVi| = 2 (Ы-V, 1=11=1
что противоречит неравенству (1).
Необходимость. Если гиперграф Я=(У, ^) не содержит цикла, то для любого S’ s S гиперграф Н' = = (V,1 S'^ с множеством вершин У'= U е также не
содержит цикла. Поэтому на основании утверждения 68.1 имеем
2 (р| — l) = l U <И — k(H')C\ (J е|. <
•Е^'I ее^ II eeS" I
Поскольку всякому циклу гиперграфа соответствует цикл в двойственном гиперграфе, то, применяя только что доказанный критерий к двойственному гиперграфу (разумеется, предварительно удалив изолированные вершины из исходного гиперграфа), получаем
Утверждение 68.3. Гиперграф Н не содержит циклов тогда и только тогда, когда для любого непустого подмножества У' с= У выполняется неравенство
I и ^М1> 2 (|^(р)|-1).
| DEV' I DEV' 1
Приведем без доказательства (его можно найти в [20] ) еще один результат.
Теорема 68.4 (Л. Ловас, 1968). Если гиперграф Н порядка п не имеет циклов длины 1^3, а kl ^ 2 и к Л е'\ ^ 2 для любых различных е, е' ■= ^Н, то
2 (|е|-2)<п-/с(Я).
ее^Н
Циклическим рангом v(Я) гиперграфа Н называется циклический ранг его кёнигова представления К(Н):
v(H) — v(K(H)) = 2 \е\-(\Н\А-\$Я\Нк(К(Н)У eG^H
Из этого определения в силу следствия 13.5 вытекает, что гиперграф имеет единственный цикл тогда и только тогда, когда v(Я)=l, т. е. когда 2 (Н| —l) = w — ее^н
-к(Н} + 1.
Кроме того, очевидно, что v(Я*) = v(Я).
Паросочетанием в гиперграфе Я называется подмножество S' ^S, для любых двух различных ребер е и е" которого е' П е” = 0; таким образом, любые два ребра из ^' не смежны.
Паросочетание называется наибольшим, если число ребер в нем максимально среди всех паросочетаний в Я. Число ребер в наибольшем паросочетании гиперграфа Я называется числом паросочетания и обозначается через а1(Я).
Пусть задано семейство Si, S2, ..., 8Ь непустых подмножеств конечного множества S. Трансверсальным множеством этого семейства будем называть любое множество T^S, такое что TC\Si^0 (£ = 1, к). Трансверсальным множеством гиперграфа Я будем называть трансверсальное множество семейства его ребер. Таким образом, множество Т ^ VH является трансверсальным множеством гиперграфа Н, если для любого ребра е ^ SH справедливо соотношение Т Л е ^= 0.
Очевидно, что в случае, когда $' — наибольшее паросочетание в Я, множество U * является трансверсальным
множеством гиперграфа Я.
Минимальное число вершин трансверсального множества называется числом трансверсальности гиперграфа Я и обозначается т(Я).
Утверждение 68.5. Для любого гиперграфа Я справедливо неравенство
«1(Я)^т(Я).
Если Р — паросочетание в гиперграфе Я, а Т — трансверсальное множество этого гиперграфа, то |Т| > > |Р|. Отсюда имеем
т(Я)= min \Т\^ max |^| = at,те^н Ре^н
где STH — семейство всех трансверсальных множеств гиперграфа Н, SPH — множество всех паросочетаний в Я. <1
Число г (Я) = max | е | называется рангом гипер-
графа Нм
Утверждение 68.6. Для любого гиперграфа Я т(Я)^г(Я)а1(Я).
Пусть Ро^§Н— наибольшее паросочетание. Тогда IjPqI = <Х1 (Я), a U ^ —трансверсальное множество
гиперграфа Н. Поэтому
т(Я)<| 1М = 2 И^г(Я)|/>0| = г(Я)а^ < | ееро
69. Независимые множества
Множество^ вершин гиперграфа называется независимым, если оно не содержит ребер. Пустое множество вершин по определению независимо. Как и в случае графов, наибольшее по мощности независимое множество вершин гиперграфа Я называется наибольшим, а число вершин в этом множестве называется числом независимости гиперграфа Я и обозначается через ао(Я). Через Р/Н обозначается множество, элементами которого служат все независимые множества вершин гиперграфа Н.
Очевидно, что изучая независимые множества вершин в гиперграфе, естественно рассматривать гиперграфы без кратных ребер. Опишем, как каждому такому гиперграфу поставить в соответствие монотонную булеву функцию. Пусть Я — гиперграф, УЯ = {1, 2, ..., nA, Хи =VxVi Х2, ..., ^п) — характеристический вектор произвольного подмножества U ^ VH. Определим булеву функцию /н, положив /н(^) = 0 для п-мерного (0, 1)-вектора х = Хи тогда и только тогда, когда U^SfH. Поскольку любое подмножество независимого множества также независимо, то функция /я монотонна и /и (0, 0, ..., 0) = 0.
Соответствие Н ^ fH не является, вообще говоря, инъективным, поскольку ребра гиперграфа могут содержаться одно в другом. Поэтому определенный интерес представляют гиперграфы специального вида — антицепи. Гиперграф называется антицепью, если никакое из его ребер не является подмножеством другого ребра. Очевидно, что все /с-однородные гиперграфы и, в частности, все простые графы — антицепи.
Пусть Н — произвольная антицепь с непустым множеством ребер, ЙЯ = {1, 2, ..., nV Очевидно, что характеристические векторы ребер гиперграфа Н попарно несравнимы относительно порядка ^\ х = (^i, £2, ..., х^^ ^У={Уъ У^ ••, У^^^^уг, i = l, ну Поэтому существует единственная монотонная булева функция п переменных, множество нижних единиц которой совпадает с множеством всех характеристических векторов ребер гиперграфа Н. Очевидно, что /н и есть такая функция. Для антицепи, не имеющей ребер, jH = 0.
С другой стороны, пусть / — монотонная булева функция п переменных, /^ 1. Определим гиперграф Я/, положив VHf = M, 2, ..., п) и объявив ребрами все подмножества в VHf, характеристические векторы которых служат нижними единицами функции /. Поскольку эта функция монотонна, то гиперграф Я/ окажется антицепью. Очевидно, что /йу = /.
Итак, соответствие / -* Яу — биекция между множеством монотонных булевых функций, отличных от тождественно равной 1, и множеством антицепей.
Пусть теперь А — произвольная т X ^-матрица без нулевых столбцов, элементы которой — неотрицательные вещественные числа. Рассмотрим систему линейных неравенств
АХ^В. (1)
Здесь X — столбец неизвестных Xi, Х2, ..., х^ В — столбец высоты т с неотрицательными элементами. Нас будут интересовать (0, 1)-решения этой системы. Определим булеву функцию / п переменных, положив /(^i, х^, ... ..., жп)=0 тогда и только тогда, когда (^i, ^2, ..., ^п) — решение системы (1). Очевидно, что / — монотонная функция и /(0, 0, ..., 0) = 0. Скажем, что функция / задается системой неравенств (1).
Легко понять, что любая монотонная булева функция,, отличная от тождественно равной 1, задается некоторой системой линейных неравенств вида (1) с неотрицательными коэффициентами и правыми частями. В самом деле, пусть / — такая функция, Я/ — соответствующая антицепь, VHf — {1, 2, ..., n}, EHf = {еь вг, .... em\ kJ = = п^г =1, ту Рассмотрим систему неравенств
. -V х^.^пг — !, 1 = 1,т. (2)
Очевидно, что вектор х = хи=^х\1 #2, ..., ж») — решение этой системы тогда и только тогда, когда U ^ 3Hf. По-
30530520 в. А. Емеличев и др.
305
305
бледнее означает, что /ну = 0. Но /^ = /, следовательно, функция / задается системой (2).
Если же антицепь Н} не имеет ребер, т. е. если / — 0, то в качестве системы неравенств (2) можно взять систему Xi ^1 (t = 1, п).
Очевидно, что система неравенств, задающая монотонную булеву функцию, определяется неоднозначно.
Из всего сказанного выше очевидно вытекает следующее
Утверждение 69.1. Пусть / — монотонная булева функция, отличная от тождественно равной 1, (1)—задающая эту функцию система линейных неравенств, Hf — соответствующая антицепь, VH^ — Vi, 2, ..., п), U^VHf, xv — характеристический вектор подмножества U. Тогда следующие высказывания эквивалентны:
/Ы = 0;
вектор Хи является решением системы (1);
U^3fHt.
Для того частного случая, когда все нижние единицы «функции / имеют норму 2 (функция / графическая), указанная связь между функциями, системами неравенств и антицепями отмечалась ранее в § 28. В этой и только в этой ситуации антицепь Ht является простым графом.
В точности так же, как и для графов, определяется пороговое число th (Я) произвольной антицепи Н. Но в общем случае этот важный параметр изучался мало.
. Раскраски
Так же, как для графов, вводится понятие вершинной раскраски гиперграфов. Раскраска вершин гиперграфа Н называется правильной, если любое ребро е ^ SH содержит две вершины, окрашенные в различные цвета. Ясно, что правильную раскраску могут допускать лишь гиперграфы, каждое ребро которых имеет степень не меньше чем 2. В этом параграфе рассматриваются только такие гиперграфы. Кроме того, будем считать, что изолированных вершин гиперграф не содержит.
Гиперграф называется k-раскрашиваемым (к-цвет- ным), если для него существует правильная раскраска в к цветов.
Хроматическое число х(^)—это наименьшее число цветов, достаточное для правильной раскраски гиперграфа Н. Если %(Я)=А:, то гиперграф Я называется к-хро- матическим.
Очевидно, что разбиению множества VH на независимые множества Si, S2, ..., Sh соответствует правильная раскраска вершин гиперграфа Н к цветами. Верно, конечно, и обратное утверждение.
Теорема 70.1. Для любого гиперграфа Н порядка п справедливы неравенства
2Гп^Х(^) + ао(Я)^п+1,
где ао^Н")— число независимости гиперграфа Н.
Рассмотрим разбиение множества VH на независимые множества Si, S2, ..., SA, где к = ^Ну Тогда будем иметь
к
n=IL |^|<^0(Я) = х(Я)а0(Я). 2=1
Отсюда сразу получаем %(Я) + ао(Я)> 21 п.
Далее, пусть S— наибольшее независимое множество вершин гиперграфа Н. Окрасим все вершины из S в один цвет и используем п — ISI = п — ао(Н) других цветов для окрашивания всех вершин из V\S в разные цвета» В результате получаем %(Я) + ао(Я) ^ п + 1. <
Важное место в теории графов занимают верхние оценки хроматического числа в терминах степеней вершин» При естественном определении степени вершин сохраняет силу теорема Брукса. При другом определении, которое мы дадим ниже, получается более тонкая оценка хроматического числа, полученная И. Томеску.
Так же, как и для графов, через А (Я) будем обозначать наибольшую из степеней вершин гиперграфа Я:
А (Я) = max \^^\.
VGVH
Абсолютным гиперграфом будем называть гиперграф» для любых двух вершин и ^ о которого существует ребро е = ио. Оказывается, справедлива следующая теорема, являющаяся обобщением теоремы Брукса (§ 54).
Теорема 70.2 (Л. Ловас, 1968 г.). Если Н — связный гиперграф, отличный от абсолютного, и ^(Н)^ 3,т& ^Н)^А(Н).
Порядком dH(y) вершины о гиперграфа Я называется мощность наибольшего подмножества S' ^SH, \Sf\ >2» для любых двух различных ребер е' и е” которого ег П 20*307
Пе"={г}. Если такого подмножества не существует, то по определению dH^v) = 1.
Теорема 70.3 (И. Томеску, 1968 г.). Пусть Si, S2, ..., Sh — разбиение множества VH на независимые множества. Тогда
^(Я)^ max min{f, di + 1}, где
d; = max dHkyY i = 1, k.
Доказательства двух предыдущих теорем опускаем.
Если ISJ = 1 (i = 1, к), то учитывая очевидное неравенство А(Я)^ d(H), где d^H^= max dH^), получаем
Следствие 70.4. Для любого гиперграфа Н верно неравенство
Отсюда сразу имеем (ср. со следствием 54.2)
Следствие 70.5. Для любого гиперграфа Н верно неравенство
Х(Я)^А(Я)+1.
На первый взгляд кажется, что наличие ребер высокой степени должно способствовать снижению хроматического числа гиперграфа. Однако это не так, как показывает следующая
Теорема 70.6. Для любых целых чисел к> 1 и Л^2 существует такой гиперграф Н, что ^(Н)^ к и И ^ h для любого ребра е = ^Н.
В качестве такого гиперграфа можно взять Л-одно- родный гиперграф Я, построенный по следующему правилу: ЕЯ={г;1, к2, ..., uj, где n"^k(h— 1), ^Я — семейство всевозможных подмножеств множества VH мощности Н. Поскольку (Хо(Я)^Л—1, то на основании теоремы 70.1 %(Я)> пДк — 1), т. е. %(Я)^ к. <
Более сильный результат приведем без доказательства.
Теорема 70.7 (П. Эрдёш, А. Хайнал, 1966 г.). Для любых целых чисел h, к, /> 2 существует h-однородный к-хроматический гиперграф, который не содержит циклов длины меньше I.
Известно, какую роль в теории графов играют бихрома- тические графы, т. е. графы, хроматическое число которых не превосходит 2. Простой, но очень важный критерий би- 308
хроматичности графа дал Д. Кёниг: граф не должен содержать циклов нечетной длины.
Гиперграф Н тоже будем называть дихроматическим, ^сли % (Я) ^ 2. Для гиперграфа пока не найдено критерия бихроматичности в терминах его структуры.
Утверждение 70.8. Если гиперграф не содержит циклов нечетной длины, то он является дихроматическим.
D> Доказательство проводим по той же схеме, что и доказательство теоремы 9.1, предполагая, что гиперграф
связен. А именно, сначала окрасим произвольную вершину и гиперграфа Н в красный цвет, затем произвольную вершину и, отличную от и, окрасим в красный цвет, если расстояние й^и, у) — четное число, и в синий цвет, если это расстояние нечетно. Если И — не бихроматический гиперграф, то найдутся две смежные вершины и и w, окрашенные в один цвет, а тогда легко обнаруживается цикл нечетной длины. <
Как показывает пример гиперграфа, изображенного на рис. 70.1, условие утверждения 70.8 не являются необходимыми.
Более широкий класс бихроматических графов нашли Фурнье и Лас Верньяс. Этот результат приведем без доказательства.
Теорема 70.9 (Ж. Фурнье, М. Лас Верньяс, 1972). Если в каждом цикле нечетной длины гиперграфа Н есть три ребра, имеющие общую инцидентную вершину, то гиперграф Н является дихроматическим.
Пример гиперграфа на рис. 70.1 показывает, что это достаточное условие также не является необходимым.
Непосредственно из теоремы Кёнига следует
Утверждение 70.10. Если гиперграф является бихроматическим, то он не содержит ни одного цикла нечетной длины, состоящего лишь из редер степени 2.
Пример гиперграфа, изображенного на рис. 70.2, показывает, что обратное утверждение неверно.
Доказательства теорем, опущенные в этом параграфе, можно найти в [20].
§ 71. Реализации гиперграфа
Пусть задан гиперграф Я=(У, Sy Реализацией гиперграфа Н называется любой граф G, удовлетворяющий следующим условиям:
vg^VH;
любое ребро графа G содержится в некотором ребре гиперграфа Я;
для любого ребра е ^8 порожденный подграф G^e^ является связным.
Реализацией ребра e^S гиперграфа Я является любой связный граф Ge, для которого VGe = в. Поэтому
~з
Рис. 71.1
всякая реализация гиперграфа является объединением некоторых реализаций всех его ребер.
На рис. 71.1 изображены гиперграф Я и две его реализации Gz и Gzz.
Задачи построения реализации гиперграфов часто возникают в электронике при проектировании и изготовлении
интегральных схем. Элементы такой схемы, как правило, разбиты на группы. При изготовлении схемы элементы каждой группы должны быть соединены проводниками. Таким образом, можно считать, что спроектированная схема задается с помощью гиперграфа, а изготовленная — с помощью графа, являющегося реализацией заданного гиперграфа. При этом соединять элементы можно произвольным способом, лишь бы получающийся в результате граф обладал заданными свойствами, например, был деревом, планарным или гамильтоновым графом и т. д. Следует отметить, что, как правило, задачи построения подобных реализаций являются очень сложными для алгоритмического решения.
Сначала рассмотрим реализацию гиперграфа деревом. Для этого введем определения.
Реберным графом гиперграфа H=^V, 8) называется граф L(H>) = (3>1 Е), множество вершин которого совпадает с множеством ребер 8 гиперграфа Я, при этом две вершины графа ЦН) смежны тогда и только тогда, когда смежны соответствующие им ребра гиперграфа Н. Таким образом, L(H)—граф пересечений ребер гиперграфа Я.
Говорят, что множество {ei, 62, ..., ej попарно смежных ребер удовлетворяет условию Хелли, если
к П 6^0. г=1
яли, другими словами, если существует по крайней мере одна общая вершина, инцидентная каждому ребру вь
Если любое множество попарно смежных ребер гипер- трафа Я удовлетворяет условию Хелли, то говорят, что гиперграф Я удовлетворяет условию Хелли.
Теорема 71.1. Реализация связного гиперграфа Я деревом существует тогда и только тогда, когда Я удовлетворяет условию Хелли, а реберный граф L(H) триангулированный.
> Необходимость. Пусть для гиперграфа Я существует его реализация деревом Т. Сначала покажем, что Я удовлетворяет условию Хелли. Доказательство проведем индукцией по мощности множества попарно смежных ребер гиперграфа Я.
Два смежных ребра, конечно, удовлетворяют условию Хелли. Преположим, что любое множество попарно смежных ребер в количестве к — 1 > 2 удовлетворяет условию Хелли, и рассмотрим множество {ei, е^ .... ек^ попарно
смежных ребер гиперграфа Н. По индуктивному предположению
к-1к
^1 = А 04 V2 = П ег ^ 0 1 V3 = ^i А ^к^' 0 • г=12—2
Очевидно, что если хотя бы одно из пересечений к
ViVW^t^i, i, 7 = 1, 3) непусто, то непусто и А ^ь 2=1 а значит, любые к попарно смежных ребер удовлетворяют условию Хелли. Поэтому остается рассмотреть случай, когда существуют три различные вершины и = Pi, z;^ F2, w^V^. Введем следующие обозначения: Р\ — (и, 1;)-цепь, Ps—^v, 1^)-цепь, Р3—(щ ш)-цепь в графе Т. Так как Т — дерево, то VP\ П VP2 A VP^ ¥= 0 (иначе граф Т содержал бы цикл). В то же время всякое ребро вг (f=l, к^ содержит не менее двух вершин из {щ у, w\ и реализа- цией вг является дерево Тг. Поэтому всякое дерево Т^1 = = 1, к") содержит все вершины одной из цепей Pi, Р2, Р3. Отсюда имеем к
А ^2 VPX A Р 2 A VP3 01 2 = 1
т. е. множество {^1, е^ ..., еД удовлетворяет условию Хелли. Следовательно, гиперграф удовлетворяет условию Хелли.
Теперь методом от противного покажем, что реберный граф L(H) = ^^ Е) является триангулированным. Пусть в L(H) существует порожденный простой цикл C=(eiv е3^2, . •., еР1 щ), р^4. Тогда этому
циклу в Н соответствуют ребра щт
/>\w ^2, ..., еР, такие, что смежными сре-
ег /у\ ди них являются лишь пары ребер
(/61 и ^ ^2 и ^з, ..., ер и щ (рис. 71.2),
) а это значит, что при реализации k V-—hx 1 ребер ^1, в2, ..., вр появится цикл. е1 XjM 3/ Однако это противоречит тому, что реализация Т гиперграфа Н являет- р ся деревом.
Рис. 71.2Достаточность. Рассмотрим
класс 36 связных гиперграфов Я, каждый из которых удовлетворяет условию Хелли, а реберный граф L(H) является триангулированным. Докажем, что существует реализация любого гиперграфа Н ^ 36 деревом.
Доказательство проведем индукцией по числу ребер гиперграфа. Для гиперграфов с одним ребром утверждение очевидно. Пусть6 гиперграф Я = (У, ^)е^ имеет т ^ 2 ребер (1^1 = т) и реализация деревом любого гиперграфа из 36 с меньшим числом ребер существует. Поскольку граф Е(^Щ = ^1 Е) триангулированный, то в нем по теореме 62.4 существует симплициальная вершина во, т. е. множество вершин во U N(eo) является кликой в L(H). Этой вершине в гиперграфе Н соответствует ребро е^ все смежные ребра которого обозначим через ei, е^ ..., ек. Так как они соответствуют вершинам N ^е^ графа L^HY то для любых г = 1, к, / = 1, к справедливо соотношение ^г П С) т^ 0.
Поскольку гиперграф Н удовлетворяет условию Хел- к
ли, то существует вершина ^ое П ^г- Теперь рассмотрим г=1
новый гиперграф Я/=(У/, $'Y где У'= lA(eo\vo), S' = = {е': е'= e\(eo\^o), e^S, е^е^Е Итак, \S'\ = \S\ — — 1 = m — 1. Поскольку ребра еп е27 • • • 7 ^ содержат вершину Р07 а остальные ребра гиперграфа Н' остались прежними ^е' = е^ то гиперграф Н' также удовлетворяет условию Хелли. По той же причине граф L(H') изоморфен графу, полученному из ЦН) путем удаления вершины, соответствующей ребру во, т. е. L(H')—триангулированный граф. Следовательно, Н' е 36.
Поскольку \S'\ = т— 1, то по индуктивному предположению существует реализация гиперграфа Н' = (У', ^') деревом Т'. Очевидно, что реализация гиперграфа Н деревом Т получается из дерева Т' путем добавления ко\го1 новых вершин и соединения их с вершиной Vq. <
Гиперграф Н, изображенный на рис. 71.1, удовлетворяет условиям теоремы 71.1, поэтому существует его реализация деревом; это дерево G' представлено на том же ри- оунке.
Говорят, что гиперграф Н удовлетворяет ослабленному условию Хелли, если для любого множества попарно смежных ребер {^i, est ..., ej гиперграфа Н существуют две такие вершины и, и е VH, что et П Vu, vY^ 0 для каждого i = 1, к.
Следующие две теоремы приведем без доказательства.
Теорема 71.2. Если гиперграф Н удовлетворяет ослабленному условию Хелли и его реберный граф L(H)
триангулированный, то существует реализация Н планарным графом.
Теорема 71.3. Если реберный граф гиперграфа Н является планарным, то существует реализация Н планарным графом.
В рассмотренных выше реализациях одно и то же ребро реализующего графа может участвовать в реализации нескольких ребер гиперграфа. Естественно возникают задачи построения таких реализаций гиперграфа, в которых это запрещено.
Пусть задан гиперграф
Н-^У, SV S = {eb е2, ..., ej.
Строгой реализацией гиперграфа Н называется любой граф G, удовлетворяющий следующим условиям:
VG = VH;
существует такое разбиение множества EG ребер графа G на подмножества Е\, Е2, ..., Emi что граф, индуцированный множеством Еь является реализацией ребра Ct гиперграфа Н.
Конечно, всякая строгая реализация гиперграфа является его реализацией.
На рис. 71.1 граф G" является строгой реализацией гиперграфа Н, а граф G' не является такой реализацией (почему?). Следующий пример показывает, что гиперграф может не иметь строгой реализации.
Пример. Рассмотрим гиперграф Я = (V, S), где У = {иь и2, из, уЛ S = l{vb v2, vaV (щ, Уг, VaV {уь Уз, У^г Vv2l Уз, yJ)- Если бы существовала строгая реализация этого гиперграфа, то она должна была бы иметь не менее 2-4 = 8 ребер, что невозможно для графа с четырьмя вершинами.
Чтобы сформулировать критерий существования строгой реализации гиперграфа Н = (V,SV^ (еь 62, ..., ет}7 воспользуемся одним фактом из теории матроидов.
Обозначим через G; полный граф с множеством вершин вг и положим Е = Е^Щ= U EG^. Рассмотрим г=1
на множестве Е m таких матроидов Mb M2l ..., Mm, что Mt — циклический матроид графа Gt. Пусть рг- — ранговая функция матроида Mi(j = V ш). Ясно, что р<(Я)=к;| — — 1. Очевидно, что существование строгой реализации гиперграфа Н =(У, S^ равносильно существованию попарно непересекающихся баз Вг^ М^ъ = 1, ш). Последнее усло- 314
вне, в свою очередь, выполняется тогда и только тогда,
т
когда ранг матроида М = U Мг не меньше, чем г=1
тт
2 Рг(^) = S (| вг | — 1). Теперь, применив теорему 24.1,
г=1г=1
получим следующий критерий существования строгой реализации.
Теорема 71.4. Строгая реализация гиперграфа Н = = (Т, ^) с т ребрами существует тогда и только тогда, когда для любого 'множества А^Е выполняется неравенство
mm
Ml> 2 ki|-m-S Рг(5\Л).
г=1г=1
Отметим, что для построения строгой реализации гиперграфа существует эффективный алгоритм.
УПРАЖНЕНИЯ
Покрытием гиперграфа Н называется такое множество вершин U г УН, что U П е 0 для любого ребра е ^^Н. Покрытие называется наименьшим, если число вершин в нем наименьшее «среди всех покрытий гиперграфа. Число вершин в наименьшем покрытии гиперграфа Н обозначается через р0(Я).
Покажите, что:
для гиперграфа Н порядка п справедливо равенство <х0(Я) +к(Я) =
множество вершин U с УН является покрытием гиперграфа Н тогда и только тогда, когда множество УН\и независимо;
множество вершин U с УН является наименьшим покрытием гиперграфа Н тогда и только тогда, когда множество VH\U является наибольшим независимым множеством в Н.
Докажите, что реализация гиперграфа Н планарным графом существует, если кёнигово представление К(Н) этого гиперграфа является планарным графом. Приведите пример, когда такая реализация гиперграфа существует, хотя его кёнигово представление — не планарный граф.
Пусть Н — (7, с?)—гипеграф. Удалением ребра ео^& типерграфа Н назовем операцию перехода к гиперграфу Н' = = (7, ^z), где S' = S\eo. Стягиванием ребра е0^^ гиперграфа Я назовем операцию перехода к гиперграфу Н" = (7Z/, ^"V где 7" = (7\е0) U ^о, Уо—новая вершина (у0^7),= ^ j
! = {е': е'= (е\е0) U ^0, е^&\ео, е П е0 Ф 0}, <^2={е: еП П во= 0, ее ^\е0}. Введением вершины l’oe 7в ребро е0 гиперграфа Н назовем операцию перехода от Я к гиперграфу Н' = (У', S^, где 7' = 7 |J v0, ^' = (^\е0) U е*, е* = е0 U ^о.
Пусть существует такая вершина и0 е 7, что ^ (у0) = е ^S*, |е0| > 1. Тогда удалением вершины и0 назовем переход от гиперграфа Я к Я" = (V", ^), где У" = V\vOt = ^\во^ U е*, е* = = ео\Уо.
Докажите следующие утверждения:
если существует реализация гиперграфа Н планарным графом, то существует такая же реализация и гиперграфа Я, полученного из Я
удалением любого ребра,
стягиванием любого ребра,
введением вершины в любое ребро,
удалением вершины;
если существует планарный граф, который является реализацией гиперграфа Я, полученного из Я стягиванием каждого ребра некоторого подмножества ребер (о' с^Н, то существует реализация планарным графом гиперграфа, полученного из Я стягиванием любого подмножества ребер ^" zd S', ^" ^SH.
В предыдущей задаче определены операции введения и удаления вершины степени 1. Пусть г0 — вершина гиперграфа Я = = (У, ^) степени большей, чем 1, т. е. со (^о) = {ci, е^ ..., еь}г к > 1, причем |ег-| > 1 (i = 1, ку Определим операцию удаления такой вершины г0 из Я как переход от гиперграфа Я к гиперграфу Н = (У,>), где У = V\vOl § = (^\^(р0)) U = U ^,=
1=1
= еДио (i = 1, ку Приведите пример гиперграфа Я, для которого существует реализация планарным графом, но не существует такой реализации гиперграфа, полученного из Я удалением вершины степени более чем 1.
Покажите, что из существования реализации гиперграфа Я планарным графом не следует существование таких реализаций всех его порожденных подгиперграфов.
Докажите утверждение: для того чтобы гипеграф Я был ^-раскрашиваемым, необходимо и достаточно, чтобы существовала реализация гиперграфа Я, являющаяся /с-раскрашиваемым графом.
Докажите утверждение: если существует строгая реализация гиперграфа Я= (У, ^у то для всякого подмножествавы
полняется неравенство
где Я^') —объединение полных графов, построенных на каждом из множеств е е
Докажите, что обратное утверждение
неверно;
верно, если |е| ^3 для любого ребра е гиперграфа Н»
Докажите, что строгая реализация связного гиперграфа деревом существует тогда и только тогда, когда гиперграф не содержит циклов.
Найдите необходимое и достаточное условие существования строгой реализации гиперграфа простым циклом.
Глава XII
Алгоритмы
В предыдущих главах упоминались задачи теории гра- фов, имеющие важное практическое значение. Особый интерес для приложений представляют алгоритмические аспекты таких задач. На практике важно уметь с помощью ЭВМ находить в графе наибольшее паросочетание и наибольшее независимое множество, строить гамильтонов цикл или гамильтонову цепь, выделять связные или дву- связные компоненты и т. п. Иначе говоря, надо иметь соответствующие алгоритмы, а в конечном счете и программы для ЭВМ.
Нетрудно (хотя порой и это требует некоторых усилий) для каждой из упомянутых задач разработать алгоритм, реализующий перебор всех возможных вариантов. Такой подход, однако, как правило, неприемлем из-за чрезвычайно большого числа этих вариантов. Поэтому нужен не просто алгоритм, а алгоритм, в некотором смысле эффективный, причем эффективность алгоритма важно уметь оценивать a priori. Этой цели служит анализ алгоритма.
Итак, под решением задачи «в алгоритмической постановке» мы будем понимать разработку и анализ соответствующего алгоритма.
. Предварительные сведения
При анализе алгоритма решения какой-либо задачи нас в первую очередь будет интересовать его трудоемкость, под которой мы понимаем время выполнения соответствующей программы на ЭВМ. Ясно, что этот показатель существенно зависит от типа используемой ЭВМ.
Чтобы сделать наши выводы о трудоемкости алгоритмов в достаточной мере универсальными, будем считать, что все вычисления производятся на некой абстрактной вычислительной машине. Такая машина в состоянии выполнять арифметические операции, сравнения, пересылки и операции условной и безусловной передачи управ-
ления. Эти операции считаются элементарными. Каждая из элементарных операций выполняется за единицу времени и, следовательно, время работы алгоритма равно числу выполненных им элементарных операций.
Память абстрактной вычислительной машины состоят из неограниченного числа ячеек, имеющих адреса 1, 2, 3, ..., /г, .. . Ко всем ячейкам есть прямой доступ.
Остановимся особо на представлении чисел в памяти машины. При анализе алгоритмов наибольший интерес представляет зависимость времени работы алгоритма от числа вершин и (или) ребер графа. Выяснение этой зависимости удобнее проводить, если отвлечься от величины таких числовых параметров, как веса ребер взвешенного графа. Поэтому будем считать, что любое число, независимо от его величины, можно разместить в одной ячейке и каждая ячейка может содержать только одно число. Сделанное допущение будет оставаться в силе на протяжении этого и следующих пяти параграфов, в которых анализируется трудоемкость конкретных алгоритмов. В последнем параграфе этой главы мы несколько изменим модель вычислительной машины, приняв, в частности, иной способ представления чисел.
Алгоритмы можно описывать в терминах элементарных операций. Однако такая запись была бы перегружена непринципиальными деталями, заслоняющими основные идеи алгоритма.
Поэтому записывать алгоритмы будем в виде последовательности пунктов. Каждый пункт содержит один или несколько операторов (инструкций, правил), которые следует выполнить. Внутри пункта эти инструкции выполняются последовательно в том порядке, как они записаны. Если некоторый пункт не содержит указаний на переход к другому пункту, то после выполнения всех его инструкций следует перейти к следующему по порядку пункту. Единственное требование, предъявляемое к инструкциям, состоит в том, чтобы каждая из них легко выражалась через элементарные операции.
В записи алгоритма некоторые его фрагменты будут сопровождаться комментариями. Комментируемый фрагмент может быть отдельным оператором или пунктом, а также группой последовательно расположенных операторов либо пунктов. Комментарии будем писать в квадратных скобках и помещать в начале или в конце комментируемого фрагмента.
Хотя мы и условились при описании алгоритмов не
ограничивать себя каким-либо набором стандартных операторов, все же два таких оператора будут использоваться постоянно. Во-первых — это оператор присваивания а: =В. В результате его выполнения переменная а получает новое значение, равное В. Во-вторых — оператор «конец», выполнение которого означает прекращение вычислений.
Рассмотрим теперь представление информации в памяти машины. Всякую конечную последовательность элементов произвольной природы будем называть списком^ а число элементов списка — его длиной. Элементами могут быть числа, буквы алфавита, векторы, матрицы и т. п. В той ситуации, когда каждый элемент списка 8 помещается в одной ячейке (например, является числом)г этот список будем размещать в п последовательных ячейках памяти, где п— длина списка. Через S^k) будем обозначать k-и элемент списка 8. Аналогично список 8 длины п будем размещать в nd последовательных ячейках, если для размещения каждого его элемента достаточно d ячеек. Такое представление списка обычно называется последовательным, и ниже используется только это представление.
Пусть А = ИА^'Н — матрица порядка п и А = = (Ац, А12, ..., Ain, А21, А^ ..., А^щ ..., Anh ИП2, .•• . . ., Апп)—список ее элементов «по строкам». Принятый нами принцип «одно число — одна ячейка» означает, что матрица порядка п занимает п^ ячеек памяти.
Рассмотрим теперь представление графа G в памяти машины. Пусть VG = {pj, vs, ..., vnV Будем пользоваться тремя способами представления.
Первый — задание графа матрицей смежности. Если граф G взвешенный и w^x, у) обозначает вес ребра ху, то вместо матрицы смежности используется матрица весов W^G^—W. У этой матрицы W^ = w(ut, i;,-), если v^ е е EG. Если же и^з Ф EG, то полагаем W^ = 0 или Wa =■ = 00 в зависимости от задачи, которую предстоит решить. Из сказанного выше о представлении матрицы в машино следует, что такой способ задания графа требует IGI2 ячеек памяти. В предыдущих главах веса предполагались неотрицательными. Теперь снимем это ограничение и будем считать, что весами ребер могут быть любые вещественные числа.
Второй способ — задание графа списком ребер Ё =- = (ei, ^2, . .., е™), где m= ISGI, e^EG. Поскольку ребро графа можно хранить, используя две ячейки (по од-
ной на каждую концевую вершину), то для хранения всего списка Е достаточно 2т ячеек. Если граф взвешенный, то под каждый элемент списка Е можно отвести три ячейки — две для ребра и одну для его веса, т. е. всего потребуется 3m ячеек.
И, наконец, последний способ, который будет использоваться,— представление графа списками, смежности. При таком способе каждой вершине Di ставится в соответствие список N^ вершин, смежных с vt. Под этот список достаточно отвести deg Vt + 1 ячеек — по одной на каждый элемент и одну ячейку для обозначения конца списка. Кроме того, формируется список N = (Л^, N^ ... ..., N^ где Nt — номер ячейки, в которой хранится первый элемент списка Nvv Следовательно, такой способ представления графа требует 2 (deg ^ + 1) + п = veVG
= 2m + 2п ячеек памяти. Если граф G взвешенный, то для каждой вершины и5 списка N^ отводится дополнительно одна ячейка, содержащая число w^u^ о?).
Хотя представление графа списком ребер является наиболее экономным «по памяти», оно имеет существенный недостаток. Чтобы определить, содержит ли граф данное ребро, надо просматривать поочередно элементы этого списка, а это может потребовать около 2m элементарных операций. Если же граф задан списками смежности, вычислительные затраты составят не более п + 1 таких операций. Представление графа матрицей смежности, требующее наибольших затрат памяти, обеспечивает, как принято говорить, «прямой доступ» к ребрам графа. Узнать, содержит ли граф ребро ViV^ можно, вычислив ядрес к — tn+] и сравнив М (к) с нулем, где М — массив, в котором построчно размещена матрица смежности графа. Сказанное с очевидными изменениями переносится на случай взвешенных и ориентированных графов.
Выбор того или иного задания графа зависит от конкретной задачи, которую предстоит решать.
Во всех рассматриваемых в этой главе задачах главной частью исходной информации служит граф. Кроме этого, исходные данные могут включить номера одной или нескольких выделенных вершин. Если, например, задача состоит в отыскании цепи, соединяющей две заданные вершины графа, то помимо графа необходимо задать номера этих двух вершин.
После того как всем исходным данным задачи при-
своены конкретные значения и они размещены в памяти ЭВМ, будем называть их входом задачи. Размером (или длиною) входа считается число ячеек, занятых входом.
При анализе алгоритма решения любой задачи нас в первую очередь будет интересовать зависимость времени его работы от размера задачи, т. е. от размера входа. Однако, как правило, это время зависит не только от размера входа, но и от других параметров задачи, т. е. время работы алгоритма на входах одинаковой длины может быть не одинаковым. Поясним сказанное па простейшем примере. Пусть элементами списка 5 = (si, s^ ..., sm) являются натуральные числа и требуется определить, содержит ли S число, кратное трем. Очевидный алгоритм решения этой простой задачи состоит в следующем: проверяем поочередно делимость элементов списка S на 3 до тех пор, пока не встретится число sPl кратное трем, или же не будут проверены все элементы S. Время выполнения р таких проверок равно t = 2р (р делений и р изменений адреса). Следовательно, при неизменной длине входа т время работы алгоритма будет изменяться в пределах 2 ^ £ ^ 2т в зависимости от расположения подходящего элемента sp в списке 5. Наихудшим, очевидно, будет случай, когда S не содержит чисел, кратных трем, либо когда sm — единственное такое число. Один из основных подходов к определению понятия «трудоемкость алгоритма» ориентируется именно на такого рода наихудший случай.
Определим трудоемкость (или сложность) алгоритма решения данной задачи как функцию /, ставящую в соответствие каждому натуральному числу п время работы /(п) алгоритма в худшем случае на входах длины п. Иначе говоря, f(n)—максимальное время работы алгоритма по всем входам данной задачи длины п. Анализ эффективности каждого из представленных в последующих параграфах алгоритмов заключается в выяснении вопроса: как быстро растет функция /(п) с ростом п? При ответе на этот вопрос обычно используют О-символику.
Будем говорить, что неотрицательная функция ^п) не превосходит по порядку функцию g(n), если существует такая константа с, что /(тг)^ cg^n) для всех п^О; при этом будем писать f(n) = О (g(n)). Часто встречающемуся далее выражению «трудоемкость (сложность) алгоритма есть (равна, составляет) O(g(n))» придается именно этот смысл. В частности, трудоемкость 0(1) означает, что время работы соответствующего алгоритма
не зависит от длины входа. Иногда вместо «трудоемкость алгоритма есть O(g(n))» будем говорить «алгоритм решает задачу за время O^g(n))».
Алгоритм с трудоемкостью О(^), где п — длина входа, называют линейным. Линейный алгоритм ограниченное (константой) число раз просматривает входную информацию и для подавляющего большинства «естественных» задач является пеулучшаемым (по порядку) в смысле трудоемкости. Поэтому отыскание линейного алгоритма для некоторой задачи часто является своего рода «последней точкой» в се алгоритмическом решении.
Алгоритм, сложность которого равна О^п^, где с — константа, называется полиномиальным. Особая роль полиномиальных алгоритмов выяснится в § 78. Здесь заметим, что все задачи, считающиеся трудными для алгоритмического решения, не имеют в настоящее время полиномиальных алгоритмов. Более того, понятие «полиномиальный алгоритм» является сейчас наиболее распространенной формализацией интуитивного представления об эффективном алгоритме. Эта формализация, как и любая другая, не свободна от недостатков. Так, например, едва ли кто решится назвать эффективным алгоритм, время работы которого на входе длины п составляет п100. Тем не менее отмеченный недостаток не столь серьезен, как это может показаться на первый взгляд. На практике дело обстоит таким образом, что появление полиномиального алгоритма решения какой-либо задачи приводит в конце концов к алгоритму, трудоемкость которого оценивается сверху полиномом небольшой степени. В большинстве случаев эта степень не превосходит трех и оценка, как правило, имеет один из следующих видов: О(п3), О(п2), О^пу O^nXogn^ О(п).
Представленные в последующих параграфах алгоритмы используют две важные структуры данных. Это — списки, в которых удаление элементов и включение новых элементов производится специальным образом.
Список 8 назовем стеком, если удаление и добавление элементов производится с одного конца. Выполнение этих операций осуществляется с помощью переменной t — адреса (указателя) первой ячейки, занятой последним элементом списка 8. Если каждый элемент занимает d ячеек, то для удаления элемента из стека достаточно «передвинуть указатель», т. е. выполнить одну элементарную операцию t~t — d. Включение какого-либо элемента а в стек 8 — это выполнение двух элементарных
операций: t ;=! + (!, Stty^a. Стек S пуст, если К I, где I — адрес первой ячейки S.
Пусть, например, каждый элемент стека 5 = (si, s^ S3, S4, S5) занимает одну ячейку. Рассмотрим последовательность операций (*, *, s7, ss, *, s9), где «*» означает удаление элемента из S', a «s^»— добавление элемента 8; к 5. Тогда S изменяется следующим образом: (sb s^ s^ s4y t = 4; (sb s2, S3), ^ = 3; (sb s2, s3, s7), t = 4; (sb s2, s3, s7, s8), 2 = 5; (sb s2, s3, s7), t = 4; (sb s2, s3, s7, s9), t = 5.
Список Q называется очередью, если все удаления элементов из этого списка производятся с одного конца Q, а добавления — с другого. Эти операции выполняются с помощью двух указателей I и t. Переменная t имеет тот же смысл, что и в предыдущем случае, а переменная I — это адрес первой ячейки очереди Q. Удаление элемента заключается в выполнении операции l^l + d, а добавление производится точно так же, как и в случае стека. Пусть, например, Q=(qh q^ qs, q^ qs) и последовательность производимых над Q операций имеет вид (*, ^6, *, *, qi, *). Тогда результаты выполнения этих операций выглядят так: (^2, qs, q^ qs), 1 = 2, t = 5; (q2, q^, q^ qs, qe), 1 = 2, ^ = 6; (qs, q^ qs, q^y 1 = 3, t = 6; (q4, qs, q^y 1 = 4, £=6; (q4, qs, ^6, q^y 1 = 4, t=7; (q5, ge, q?y
Описывая алгоритмы, мы, как правило, не указываем в явном виде механизм изменения стека или очереди. Вместо этого просто пишем «занести х в стек S (в очередь Q)» или «исключить х из стека S (из очереди Qy>. Очевидно, что каждая из перечисленных операций выполняется за время 0(1).
Будем считать, наконец, что вершины графа G, к которому применяется алгоритм, занумерованы числами 1, 2, ..., |0|. Это — имена вершин, и в процессе работы алгоритма они не меняются, хотя при этом вершинам могут присваиваться и другие, дополнительные номера (метки).
. Поиск в глубину
В этом параграфе рассматривается один из методов обхода всех вершин и ребер графа. Этот метод, именуемый поиском в глубину (сокращенно ПГ), послужил основой для разработки ряда быстрых алгоритмов на графах. Один из таких алгоритмов — алгоритм выделения двусвязных компонент графа — приводится в § 74.
Дадим вначале некоторые определения. Ориентированный граф 2? = (И, Л) назовем ориентированным деревом с корнем г е V, если каждая его вершина достижима из г и основание графа D — граф Db — является деревом. В тех случаях, когда недоразумение исключено, ориентированное дерево с корнем г будем называть просто деревом.
Пусть G — неориентированный связный граф. В процессе поиска в глубину вершинам графа G присваиваются номера (ПГ-номера), а его ребра помечаются. В начале ребра не помечены, вершины не имеют ПГ-номеров. Начинаем с произвольной вершины vq. Присваиваем ей ПГ-номер ПГ(уо)=1 и выбираем произвольное ребро Vow. Ребро v^w помечается как «прямое», а вершина w получает (из г»о) ПГ-номер ПГ(ш)=2. После этого переходим в вершину w. Пусть в результате выполнения нескольких шагов этого процесса пришли в вершину ж, и пусть к — последний присвоенный ПГ-номер. Далее действуем в зависимости от ситуации следующим образом.
Имеется непомеченное ребро ху. Если у вершины у уже есть ПГ-номер, то ребро ху помечаем как «обратное» и продолжаем поиск непомеченного ребра, инцидентного вершине х. Если же вершина у ПГ-номера не имеет, то полагаем ПГ(у) = к + 1, ребро ху помечаем как «прямое» и переходим в вершину у. Вершина у считается получившей свой ПГ-номер из вершины х. На следующем шаге будем просматривать ребра, инцидентные вершине у.
Все ребра, инцидентные вершине х, помечены. В этом случае возвращаемся в вершину, из которой х получила свой ПГ-номер.
Процесс закончится, когда все ребра будут помечены и произойдет возвращение в вершину vo.
Описанный процесс можно реализовать так, чтобы время работы соответствующего алгоритма составляло O(|£G| + |G|).
Такой алгоритм (алгоритм ^i) мы сейчас рассмотрим. Пусть граф G задан списками смежности, т. е. Nv — список вершин, инцидентных вершине и, и и^ — исходная вершина, с которой начинается поиск. В процессе работы алгоритма каждая вершина графа ровно один раз включается в список Q и исключается из него. Вершина включается в этот список сразу после получения ПГ-номера, и исключается, как только произойдет возвращение из этой вершины. Включение и исключение вершин производятся всегда с конца списка, т. е. Q — стек. Результат 324
работы алгоритма — четыре списка ПГ, F, Т и В: ПГ(у)—ПГ-номер вершины v; F(v)—имя вершины, из которой вершина и получила свой ПГ-номер; Т и В — соответственно списки ориентированных «прямых» и «обратных» ребер графа G. Эти ребра получают ориентацию в процессе работы алгоритма ^ь Именно, если ребро ху помечается из вершины х как «прямое», то в Т заносится дуга (х, у), а если — как «обратное», то эта дуга заносится в В.
Алгоритм ^i поиска в глубину в неориентированном связном графе.
ПГ(р0):=1, 9(1):=^ F^y-O, Т--0, В=0, & := 1, р:=1 [^ — последний присвоенный ПГ-номер, р — указатель конца стека Q, т. е. ^(р) — имя последней вершины стека (2].
v : = Q (р) [у — исследуемая вершина].
Просматривая список NV1 найти такую вершину w, что ребро vw не помечено, и перейти к п. 4. Если таких вершин нет, то перейти к п. 5.
Если вершина w имеет ПГ-номер, то пометить ребро vw как «обратное» и занести дугу (у, w) в список В. Перейти к и. 3 и продолжить просмотр списка Ау. Иначе к:—к+У ПГИ-=к, F(wy=v, ребро vw пометить как «прямое» и дугу (v, w) занести в список Т, р := р + 1, Q(py.= w [вершина w получила ПГ-номер и занесена в стек 2] • Перейти к п. 2.
р := р — 1 [вершина v вычеркнута из ^]. Если р = = 0, то конец. Иначе перейти к п. 2.
Корректность алгоритма очевидна. Оценим его трудоемкость. Каждое включение и исключение вершины из стека Q выполняется за время 0(1). Поэтому для всей работы, связанной с изменением стека Q, достаточно времени 0(|0|). Каждое выполнение п. 4 требует 0(1) времени, и для каждой вершины v^VG этот пункт выполняется deg v раз. Поэтому затраты на его выполнение в целом составят О, 5! deg v) = О (| EG\ ). Суммарное вре-
\reVG /
мя выполнения п. 3 также составит O^\EG\y если позаботиться о том, чтобы каждая вершина списка Nv просматривалась только один раз при всех выполнениях данного пункта. Этого легко добиться, если, например, ввести такую новую функцию (массив) t, что Ци) — номер первой непросмотренной вершины в списке Ау. Тогда следующий просмотр п. 3 следует начинать с вершины z = -КДЦи».
Итак, трудоемкость алгоритма s£\ составляет O(\EG\-V + Id). Ясно, что это время является наилучшим возможным по порядку, так как каждая вершина и каждое ребро графа G должны быть просмотрены хотя бы один раз.
Легко видеть, что требуемый для реализации алгоритма ^i объем памяти также составляет O(\EG\ + |G|).
На рис. 73.1 слева изображены граф G и списки смежности, которыми он задан. Справа представлены результаты применения к этому графу поиска в глубину из
N^ (3,2,5)
М2^ (4,1,5)
N5~ (1,5)
N,-(2,5)
N5-(2,1,34 7,6)
^(5,7)
N7-(5,6)
Рис. 73.1
вершины Vo = 1. «Прямые» ребра проведены сплошными линиями, а «обратные» пунктирными. Каждой вершине приписан ее ПГ-номер.
Из способа построения множеств Т и В непосредственно вытекают следующие утверждения.
Утверждение 73.1. Дуги множества Т образуют ориентированное остовное дерево с корнем в вершине и^.
Это остовное дерево часто называют остовным глубинным деревом (ОГД). Обозначать его будем также через Т.
Утверждение 73.2. Если ориентированное ребро (х, у) принадлежит В, то ПГ(^)>ПГ(у), т. е. «обратные» ребра всегда ведут к ранее пройденным вершинам.
Поиск в глубину используется в качестве составной части во многих алгоритмах. Отметим одну задачу, решение которой можно получить с помощью алгоритма <s^i сразу, почти без дополнительных вычислительных затрат. Это — задача выделения связных компонент графа. Чтобы решить ее за время O(JEG\ + Id), достаточно один раз просмотреть список вершин графа, выполняя следующие действия. Если просматриваемая вершина vz имеет ПГ-номер, то перейти к следующей. Иначе — положить Vo = vh nr(vo)=A + l, где k—последний при- 326
своенный ПГ-номер, и применить поиск в глубину. После его окончания (т. е. выделения компоненты, содержащей yz) продолжить просмотр списка, перейти к вершине ицл. Различать вершины разных компонент мояшо, например, по их ПГ-номерам, если для каждой компоненты запомнить последний ПГ-номер.
74. Отыскание двусвязных компонент
В этом параграфе мы рассмотрим применение поиска в глубину к выделению 2-связных компонент графа. Здесь дело обстоит не так просто, как в предыдущей задаче. Конечно, можно было бы, удаляя поочередно вершины графа и каждый раз выделяя связные компоненты, найти его точки сочленения и блоки. Такой подход, однако, приводит к алгоритму сложности по крайней мере O(|G| • |№|). Использование более глубоких свойств НГ позволяет получить линейный по сложности алгоритм решения этой задачи.
В дальнейшем удобно использовать следующие термины. Пусть Z)=(F, Л)—ориентированное дерево, х, у г V. Назовем х отцом вершины у, а у — сыном вершины х, если дуга (я, у) принадлежит А. Будем говорить, что вершины х и у сравнимы, если одна из них достижима из другой. Если при этом у достижима из х, то х — предок вершины у, а у — потомок вершины х. Подграф графа D, порожденный множеством, состоящим из вершины у и всех ее потомков, будем обозначать через Dy и называть поддеревом с корнем у.
Пусть в графе G проделан поиск в глубину из вершины vo и получены остовное глубинное дерево Т и множество обратных ребер В.
Следующие три утверждения дают теоретическую основу для разработки эффективного алгоритма выделения двусвязных компонент.
Утверждение 74.1. Если дуга (х, у) принадлежит В, то х является потомком вершины у в Т.
Надо доказать, что вершина х принадлежит поддереву Ту. Предположим противное. Согласно утверждению 73.2 вершина х получает свой ПГ-номер позже, чем у. Поэтому присвоение вершине х ПГ-номера произойдет не раньше, чем будут посещены все вершины дерева Ту и произойдет возвращение в вершину s = F(y). Но возвращение в s не может произойти прежде, чем все вершины множества Nv получат ПГ-номера. Поскольку х е Nv и
ПГ-номера к этому моменту не имеет, то получаем противоречие. <
Следующие два утверждения показывают, каким образом поиск в глубину «реагирует» на точки сочленения графа.
Утверждение 74.2. Вершина и0 является точкой сочленения графа G тогда и только тогда, когда она имеет не менее двух сыновей.
Пусть ио — точка сочленения графа G. Ясно, что каждый блок графа, включающий вершину vo, содержит по крайней мере одного из ее сыновей.
Пусть теперь 5Ь §2, .. ., sk—сыновья вершины v^. Рассмотрим поддеревья T4(i = 1, к). Ясно, что VG— v0 = к
= U VTsv Для доказательства несвязности графа G — г=1
— z;0 достаточно показать, что в этом графе нет ребер, связывающих вершины различных Тч. Но это сразу следует из утверждения 74.1. <
Будем говорить, что х — собственный предок (потомок) вершины у, если х— предок (потомок) у и х Ф у.
Утверждение 74.3. Вершина v ^ vQ является точкой сочленения графа G тогда и только тогда, когда для некоторого сына s этой вершины не существует дуги (х, у)^В такой, что х—потомок (не обязательно собственный) вершины s, а у — собственный предок вершины и.
> Пусть и — точка сочленения графа G и Gi, G^, ... ..., Gm, m ^ 2,— блоки этого графа, содержащие вершину V. Пусть, далее, v' — F(v), т. е. v' — отец вершины и. Не теряя общности считаем, что вершина v' содержится в блоке Gi. Каждый из остальных блоков Gi (i = 2, тп) должен, очевидно, содержать хотя бы одну вершину, являющуюся сыном вершины v. Пусть, например, s — сын вершины р и s е G2. Если теперь допустить существование «обратного» ребра ab (т. е. дуги (а, Ь)^ В) такого, что а — потомок s, а Ъ — собственный предок вершины v, то придем к существованию в графе G простого цикла, содержащего вершины v' и s. Этот цикл образован простой (а, Ь) -цепью, состоящей из «прямых» ребер и «обратного» ребра ab. Это означает (согласно утверждению 36.3), что вершины s и vr принадлежат одному блоку. Получили противоречие.
Докажем теперь вторую часть утверждения. Пусть вершина s является сыном вершины и, для которого вы- 328
полняется условие, фигурирующее в формулировке утверждения. Это условие вместе с утверждением 74.1 означает, что если ab—«обратное» ребро и а ^ TS1 то либо Ъ е TS1 либо Ъ — и. Последнее означает, что все ребра графа G, связывающие вершины множества VTS с вершинами VG\VTS1 инцидентны вершине и, т. е. и — точка сочленения графа G. <
Перейдем теперь непосредственно к разработке алгоритма выделения блоков графа. Чтобы уяснить схему
применения ПГ к решению этой задачи, обратимся к примеру. На рис. 74.1 изображен граф «с точностью до блоков». ПГ начинается в вершине vq. После нескольких шагов придем в одну из точек сочленения графа, например, в С2. Пусть, далее, выбирается и помечается как «прямое» ребро С2Х блока В4. После этого дальнейшая работа ПГ вплоть до возвращения в С2 происходит точно так, как если бы было Уо = ^2 и блоков 51, 52, 5з в графе G не было бы вовсе. Поэтому возвращение в С2 из х будет означать, что пройдены все ребра блоков 54, В^ В^ Вт. Таким образом, возвращение в С2 произойдет позже, чем возвращения в Сз и с4 из висячих блоков 5s, 5б, 5?. Эти рассмотрения приводят к следующему важному выводу. Самое первое возвращение в точку сочленения произойдет сразу же после завершения обхода всех ребер некоторого висячего блока Вк. Это же справедливо и по отношению к дальнейшему поведению ПГ в графе, полученном из графа G удалением блока Вк.
Покажем, как использовать сказанное выше в предположении, что у нас есть способ, позволяющий при
каждом возвращении из вершины и в F(v) определять, является ли F^ точкой сочленения. С этой целью заведем стек 5, в который будем заносить всякое ребро графа G сразу после получения им пометки «прямое» или «обратное». Таким образом, все ребра добавляются в конец списка 5. Пусть в пашем примере возвращение из вершины у в С4 (см. рис. 74.1) является самым первым возвращением в точку сочленения. Тогда к моменту возвращения в С4 ребра блока Вб будут занимать все t последних мест в стеке 5, где t — число ребер этого блока. Важно при этом, что ребро с^у занимает первое среди t указанных мест. Это позволяет, просматривая стек S справа налево, выделить (т. е., например, переместить в отдельный список) все ребра блока Вб. Затем эти ребра удаляются из 8.
Итак, учитывая сказанное, необходимо уметь в процессе ПГ быстро определять возвращение в вершину, являющуюся точкой сочленения. Утверждения 74.2 и 74.3 дают соответствующие критерии, и нам надо их «алгоритмизировать». С этой целью для каждой вершины v е VG определим множество Р(иУ В это множество включим вершину и и каждого ее предка w, для которого существует «обратное» ребро xw такое, что х — потомок вершины у в остовном глубинном дереве Т. Иными словами, множество В (у) состоит из всех предков вершины и, которых можно достичь из г, проходя сначала несколько (возможно, ни одной) дуг дерева Т, а затем одну дугу множества В.
Введем теперь функцию Ци^ v е УС, полагая Z(v) = = min ПГ(х). Например, в графе на рис. 73.1 Z(l)= 1, хе P(v)
Z(2)= 1, Z(3)= 1, Z(4)= 3, Z(5)= 1, Z(6)= 3, Z(7)=3.
Используя функцию Z(i2), сформулируем утверждение 74.3 в следующем виде, более удобном для организации вычислений.
Утверждение 74.4. Вершина изъявляется точкой сочленения графа G тогда и только тогда, когда существует такой сын s этой вершины, что Z(s)>nr(p).
Вычислить значение Ци) нетрудно, если известны значения функции Z для всех сыновей вершины и. Именно, если Si, $2, ..., sm — сыновья вершины и, то имеет место формула
1^ = min Ш(81), Z($2), . •Z(sm), ПГ(12)} U
и<ПГ(м)1 (12, w^BH. (1)
Справедливость этого соотношения становится очевидной, если заметить следующее. Множество предков вершины у, достижимых из нее с использованием дуг дерева Т и не более одной дуги из В, состоит из предков у, достижимых таким же способом из вершин sb s^ ..., sm, и множества вершин, к которым ведут обратные ребра от вершины и.
Используя соотношение (1), функцию I можно вычислять попутно с выполнением обычных операций поиска в глубину. При первом посещении вершины у вместе с присвоением ПГ-номера полагаем Ци) = ПГ(р). В дальнейшем это значение корректируется в соответствии с формулой (1) следующим образом. Всякий раз, когда происходит возвращение в вершину v из некоторого ее сына s, полагаем Z(p) := min {Z(s), Z(p)}. Кроме того, когда некоторое ребро vw помечается как «обратное», полагаем Ци) := min U(v), ПГ(м?)}. К моменту возвращения из и в вершину x^F^ будет вычислено истинное значение Ци), которое в дальнейшем используется для корректировки Цх). Существенно, что каждая из этих корректировок требует только 0(1) дополнительного времени. Поэтому ПГ вместе с вычислением функции I по-прежнему будет выполняться за время O(\EG\ + |0|).
Еще одна добавка к «стандартному» поиску в глубину связана с точками сочленения. Для обнаружения точки сочленения достаточно после каждого возвращения в вершину и из некоторого ее сына s сравнить величины Z(s) и ПГ(р). Если окажется, что Z(s)^nr(p), то все ребра стека 5, начиная с последнего и кончая sv, удаляются из этого списка. Удаленные ребра составляют один из блоков графа G. Согласно утверждению 74.4 неравенство Z(s)>nr(y) означает, что либо вершина v — точка сочленения, либо и = Уо и v не является точкой сочленения. Заметим, что второй случай не требует особого рассмотрения. В этом случае удаленные из стека S ребра соответствуют единственному блоку графа, содержащему Vo. И, наконец, последняя деталь. Выделение блока графа G мы понимаем как удаление всех ребер этого блока из стека В. Можно считать, что одновременно с удалением из S каждое такое ребро заносится в некоторый другой список, причем множество ребер разных блоков разделены в этом списке, например, символом 0. Процедура построения этого нового списка очевидна, и чтобы не загромождать описания алгоритма, мы не приводим ее в явном виде.
Сравнение Цз) с ПГ(р) производится IGI — 1 раз, и, следовательно, суммарное время, затраченное на выполнение сравнений, составляет O(IG|). Каждое ребро графа один раз включается в стек 8 и один раз исключается из него. Поэтому вся работа, связанная с изменением S, выполняется за время O(\EG\y Таким образом, поиск в глубину вместе с выделением блоков будет выполняться за время O(\EG\ + |G1).
Алгоритм ^2 поиска в глубину с выделением двусвязных компонент.
ПГ(г0):=1, Циоу=1, S~0, Е(иоу=О, Т:=0, В-^^.к™^. р:=1, <?(!):= ^о.
v-Q^p).
Просматривая список N^ найти такую вершину п?, что ребро vw не помечено, и перейти к п. 4. Если таких вершин нет, то перейти к п. 5.
Если вершина w имеет ПГ-номер, то поместить ребро vw как «обратное», занести ребро dw в стек S', Циу = :=min{Z(p), ПГ(ш)} [выполнена корректировка ЦиП- Перейти к п. 3 и продолжить просмотр списка N^. Иначе ребро vw пометить как «прямое», к \=к + 1, ПГ(ш): = к, Ци2у. = к, F (w):— и, р := р + 1, Q (р) := w. Перейти к п. 2.
р := р — 1. Если р = 0, то конец. Иначе перейти к п. 6.
Пусть x = F(vy Если 1^^ ПГ(.г), то перейти к п. 7. Иначе l(x) : = min ^ЦхУ Z(^)) [выполнена корректировка Z(^)] и перейти к п. 2.
Удалить из стека S все ребра вплоть до хи [удаленные ребра составляют блок графа G]. Перейти к п. 2.
Пример. На рис. 74.2 изображен граф G и приведены списки смежности его вершин. Этот граф имеет четыре блока 51, В2, Вз, В4 и две точки сочленения d и х. Поиск в глубину начинается с вершины а. т. е. vq = а. На рис. 74.3 отражена ситуация, сложившаяся непосредственно перед выделением блока В4. К этому моменту шесть ребер помечены как «прямые» и одно как «обратное». Прямые ребра проведены жирными линиями, а обратное — пунктирной. Тем и другим придана соответствующая ориентация. Помеченные ребра расположены в стеке 8 в том порядке, в котором они получали пометки. Пара чисел (а, р), приписанная вершине и, имеет следующий смысл: а = ПГ(р), а р— значение Циу вычисленное к рассматриваемому моменту.
После того, как ребро tx получило пометку «обратное», произошло возвращение в вершину z. При этом сравне- 332
ние величин ПГ(2)=6 и Z(Z) = 5 показало, что вершинам не является точкой сочленения. Далее при возвращении
Рис. 74.2
из вершины 2 в ж обнаруживается, что l(z) = 5 = ПГ(я). Следовательно, все ребра от tx до xz в стеке 5 составляют блок графа G. Эти ребра —tx, tz, xz — удаляются из 5, и тем самым выделен блок В^
После этого алгоритм работает так, как если бы блока S4 в графе G не было вообще. Ключевые моменты
дальнейшей работы алгоритма иллюстрируются на рис. 74.4. Каждый из трех графов (вместе с их пометками и стеком 5), изображенных на этом рисунке, отражает ситуацию, создавшуюся непосредственно перед удалением очередного блока. Выделение последнего блока,
333
т. е. удаление его ребер из стека S, произойдет при возвращении в вершину Vo = а, для которой ПГ(а)=1 = = Z(c). Таким образом, на вершину vo = а алгоритм «реагирует» точно так же, как на точку сочленения.
Рис. 74.4
В заключение отметим, что поиск в глубину оказывается полезным и при отыскании 3-связных компонент графа. Известен основанный на поиске в глубину алгоритм, решающий эту задачу за время O(|£G| + |G|).
§75. Минимальный остов
Задача о минимальном остове состоит в отыскании остова минимального веса во взвешенном графе (6?, w). Она считается одной из самых «легких» оптимизационных задач па графах. Решение этой задачи можно получить с помощью «жадного» алгоритма, если указать процедуру, которая по любому ациклическому множеству ребер X с: EG и ребру е е EG определяет, содержит ли множество ребер X U е цикл графа G. В качестве такой 334
процедуры можно использовать, например, поиск в глубину, поскольку выявление цикла в множестве X U е, где е = ab, равнозначно отысканию (а, 6)-цепи в порожденном подграфе G(^(?). В процессе работы «жадного» алгоритма эта процедура выполняется не более \Е\ раз, и, следовательно, затраты времени составят O(\EG\ • IG1). Для упорядочения множества EG по неубыванию весов известны алгоритмы сложности O(\EG\log ISGI). Таким образом, даже бесхитростная реализация «жадной» стратегии поиска минимального остова приводит (независимо от способа задания графа G) к алгоритму сложности O(|£'G| • |G|), т. е. к полиномиальному алгоритму. С этой точки зрения задача о минимальном остове действительно является легкой.
Мы сейчас рассмотрим два алгоритма решения этой задачи, имеющие лучшие оценки быстродействия.
Пусть Т = {(7Ь Л), (72, Т^, .... (7А, 7\)}-остов- ный лес взвешенного графа G, ¥< и Тг — множества вершин и ребер Z-й компоненты леса Т, w(x, у)—вес ребра ху графа G. Оба алгоритма построения минимального остова опираются на следующую простую теорему.
Теорема 75.1. Пусть ребро ab имеет минимальный вес среди всех ребер, у которых ровно один конец содержится в VT\. Тогда среди остовов графа G, содержащих Т U ab, найдется такой, вес которого не более веса любого остова, содержащего Т.
> Пусть Т' — произвольный остов графа G, содержащий Т и не содержащий ребра ab. Добавим это ребро к Т'. Полученный граф будет содержать цикл S (теорема 13.1). Этот цикл включает ребро ab и по крайней мере еще одно ребро ah', у которого ровно один конец содержится в 7ь По условию w^a, b^^w^a', 6'). Следовательно,
w(T' + ab — a'b'} = w(T') + w(ab) — w^a'b'^ w(T').
С другой стороны, граф T' + ab — а'Ъ' является остовом графа G, содержащим Т U аЪ. <
Замечание. Легко показать, что каждый минимальный остов должен содержать по крайней мере одно из ребер минимального веса графа G. Следовательно, всякий алгоритм построения минимального остова должен хотя бы раз просмотреть всю входную информацию, будь то матрица весов, список ребер или списки смежности графа. В противном случае непросмотренное ребро может оказаться единственным ребром минимального ве-
са графа, и это ребро не сможет войти в минимальный остов.
Теорема сразу подсказывает следующую стратегию построения минимального остова. На первом шаге рассмотрим остовный лес Тх с n=\G\ компонентами. Каждая его компонента состоит из одной вершины, т. е. У) = = {^}. Этот лес, очевидно, содержится в любом остове графа G. Среди ребер, инцидентных z?i, выберем ребро минимального веса и^^ и присоединим его к Т1. Согласно теореме 75.1 существует минимальный остов, содержащий лес Т2 = 74 [J {zv^J, у которого компонента (У2, У2) содержит две вершины щ и vk и ребро и^к^. а остальные компоненты одновершинные. На следующем шаге будет выбрано и добавлено к Т2 ребро минимального веса среди ребер, соединяющих^, z^J с VG\^vv vk^ и т. д.
Итак, стратегия построения минимального остова совершенно ясна: на каждом шаге присоединяется ребро, минимальное по весу среди ребер, соединяющих уже построенный фрагмент минимального остова с вершинами, еще не включенными во фрагмент. Нам остается только позаботиться об экономной реализации шагов этого процесса. С этой целью свяжем с каждой вершиной х е VG две метки а (а;) и Р(^), смысл которых заключается в следующем. Пусть проделано к шагов и (Уп ^)— фрагмент минимального остова, построенный к этому моменту, т. е. это компонента леса, к которой на предыдущих шагах присоединялись ребра минимального веса. Тогда
а (а;) = min w (х, у) = и* (х, г*), р (а:) = v*.
Таким образом, а (а;)—вес минимального по весу ребра, соединяющего вершину х с построенным фрагментом минимального остова, а р(а;)—имя второй вершины этого ребра. Метки а (а;) и р(а;) позволяют быстро находить на каждом шаге ребро минимального веса. Кроме того, после присоединения очередной вершины г; к фрагменту метки легко подкорректировать. Для этого достаточно сравнить «старое» значение а (а;) с zz?(v, х^ и выбрать из них меньшее в качестве «нового» значения а (а;).
В приводимом ниже описании алгоритма построения минимального остова помимо а^ и ^(а;) использованы следующие обозначения: VT, ЕТ — множества вершин и ребер строящегося фрагмента минимального остова; Nx— 336
окружение вершины ж; |G|=n. Граф G задан матрицей весов.
Алгоритм ^з построения минимального остова.
Положить ЕТ:=01 VT := {а}, где а — любая вершина из VG. Каждой вершине х Ф а приписать метки а(^)=ш(^, а), если xeNai и сх,(х)=оо, если х Ф Na, £(#) = а.
[отыскание вершины, «ближайшей» к фрагменту]. Выбрать вершину у* s VGWT согласно условию
а(у*) = min а (у).
deVGWT
[увеличение фрагмента]. Пусть и' = Р(у*). Изменить VT и ЕТ, полагая VT := FT1 U {у*}, ЕТ : = \= ЕТ U v'v*.
Если |FT| = п, то конец. Ребра, находящиеся в множестве ЕТ, составляют минимальный остов.
Для каждой вершины v е Nv* fl (VG\VT) изменить метки следующим образом. Если а(у)> w(v*, у), то а(^): = w(v*, у), Р(^):= d*. Если же a(z;)^ w(v*, у), то метку вершины и не менять. Перейти к п. 2.
Утверждение 75.2. Алгоритм ^^ строит минимальный остов за время O(|G|2).
Так как всякий раз к ЕТ добавляется ребро, один конец которого принадлежит VT, а другой нет, то граф Т = (VT, ЕТ) на каждом шаге является деревом. После завершения работы алгоритма это дерево будет остовным, поскольку алгоритм прекращает работу только если VT = VG.
Докажем минимальность остова Т. Для этого достаточно доказать, что после &-го (к = 1, п— 1) выполнения п. 3 алгоритма граф Tk = (VTk, ЕТк) содержится в некотором минимальном остове. Доказывать будем индукцией по к. При к = 1 наше утверждение непосредственно следует из теоремы 75.1. Предположим, что оно справедливо для некоторого к > 1, т. е. граф Тк, построенный в результате к выполнений п. 3, содержится в некотором минимальном остове. Учитывая правило выбора ребра е для присоединения к Тк, применим теорему 75.1. Получим, что граф Тмх = ТА U е, построенный в результату (& + 1)-го выполнения п. 3, также содержится в некотором минимальном остове.
Выясним теперь быстродействие алгоритма. Однократное выполнение п. 2 требует времени не более O(|G|). Столько же времени достаточно для обновления меток в
33733722 в. А. Емеличев и др.
337
337
п. 5, а п. 3 и п. 4 выполняются за время 0(1). Поскольку каждый из пп. 2—5 выполняется п — 1 раз, то оценка трудоемкости алгоритма — 0(|G|2). <
Пример 1. На рис. 75.1 изображены граф G и по
следовательность Тг (I = 1, п— 1) фрагментов минимального остова, получающихся после каждой итерации алго-
веса этих ребер. Каждой вершине ж, еще не вошедшей в Т\ приписана пара чисел [а(ж), Р(я)], которыми она помечена в результате i-ro выполнения п. 5 алгоритма.
Если граф G задан матрицей весов, то всякий алгоритм построения минимального остова в таком графе будет иметь сложность не менее чем O(|G|2), поскольку он, согласно замечанию 1, должен просматривать все элементы матрицы весов. Следовательно, в этой ситуации алгоритм ^з имеет неуменьшаемую по порядку трудоемкость. Если же граф G задан списком ребер либо списками смежности и |5G| существенно меньше чем IGI2, то быстродействие алгоритма ^з далеко от оптимального. Другими словами, алгоритм з^з недостаточно эффективен в применении к «редким» графам, т. е. к графам, слабо насыщенным ребрами.
Рассмотрим еще один алгоритм построения минимального остова, ориентированный на работу именно с такими графами. Этот алгоритм (алгоритм ^4), как и предыдущий, опирается на теорему 75.1, однако более полно ис- 338
пользует предоставляемые ею возможности. Именно, если в алгоритме ^з ребро присоединяется всякий раз к одной и той же компоненте леса, то в алгоритме ^4 ребра присоединяются к каждой компоненте.
Пусть Т = {(Ti, 71), ..., (Гр, 7Р)} — остовный лес графа G. Назовем ребро аЪ минимальным по весу для компоненты (7Z, 7Z), 1 < Z < р, если а ^ 7г, Ъ Й 7Z и ш(а, Ь)= min w(x, р). Будем говорить, что М = x^V^ygVi
= М{Т} — множество минимальных по весу ребер для леса 7, если для каждого I = 1, р множество М содержит хотя бы одно минимальное по весу ребро для компоненты (7Z, 7Z) и, кроме того, М — минимальное по включению множество, обладающее этим свойством.
Утверждение 75.3. Если М — множество минимальных по весу ребер для 7={(7Ь 71), ..., (7Р, 7Р)}, то граф Г' = Т + М не содержит циклов,
> Доказываем от противного. Предположим, что 7 содержит цикл 5, который не теряя общности будем считать простым. Пусть а\Ъ\п а^Ь^ ..., atbi— ребра множества S А М, выписанные в той последовательности, как они расположены в цикле 5. Этой последовательности соответствует последовательность компонент (^» 7^), (У^ Т^у ._(Укр Т\^ леса 7, такая, что «^7^, Ъхг е 7д2, а^ ее Уч. Ъ2 е7^, ..., az е Vkp Ъг ее Vk.. Выберем среди ребер atbt (^ = 1, Z) максимальное повесу. Пусть это будет ребро а\Ъ\. Ясно, что а\Ъ\ является минимальным по весу ребром по крайней мере для одной из компонент (7^, TkJ или (Vкр ^2)‘ Не теряя общности считаем, что ребро ахЪ\ — минимальное по весу для (7^, Тк^. Тогда w^ay, b\)=w(ah bi) и, следовательно, множество М\ауЬ\ содержит хотя бы одно минимальное по весу ребро для каждой компоненты леса 7. Последнее противоречит минимальности множества М. <
Перейдем теперь к изложению алгоритма ^4. Этот алгоритм, так же, как и ^з, на первой итерации имеет дело с остовным лесом графа G, состоящим из п = |G| одновершинных компонент. Каждая итерация алгоритма состоит в следующем. Вначале строится множество М минимальных по весу ребер для леса 7, полученного в результате предыдущих итераций. (Важно отметить, что сделать это можно за один просмотр элементов множества EG?} Затем с помощью поиска в глубину выделяются 22*339
связные компоненты графа Т' = Т + М, который согласно утверждению 75.2 является лесом. После этого начинается следующая итерация с новым лесом Т\ имеющим, очевидно, меньше компонент, чем Т.
В приводимом ниже описании алгоритма ^4 используются следующие обозначения. Ребра графа G содержатся в списке Е, т. е. E(i) — пара номеров концевых вершин i-ro ребра. Список W содержит веса ребер графа G, т. е. W(i)—вес i-ro ребра. Чтобы каждый раз строить множество минимальных по весу ребер для текущего леса за один просмотр списка Е, используются списки НМР, BMP и КОМП:
НМР (0— номер минимального по весу ребра для г-й компоненты текущего леса;
BMP (к)—вес этого ребра;
КОМП (/)—номер компоненты текущего леса, содержащей вершину /.
Пусть, далее, ЕТ — множество ребер текущего леса Т, а р — число его компонент; Ех — множество минимальных по весу ребер для текущего леса Т.
Алгоритм ^4 построения минимального остова.
ET:=0, KOMH(0:=t, BMP(t):=oo для t = 17^ р:=п. [Пп. 2—8 — построение множества Ех минимальных по весу ребер для леса 7].
д := J.
Пусть* Е(к) = uv; г:=КОМП(н), /:=КОМП(у) [i и 7 — номера компонент леса, содержащих вершины и и и соответственно].
Если г ^ ]\ то перейти к п. 5, иначе перейти к п. 7.
Если w^ v) = Ж(*)<ВМР(7), то ВМР(/): = 12), НМР(7):=*.
Если UD^u. р)=Т7(А:)<ВМР(0, то ВМР(0~ x-w^ v), НМР(0:=й.
Если к = 1EGI, то перейти к и. 8. Иначе к := к +1 и перейти к п. 3. [К моменту выполнения п. 8 первые р элементов НМР содержат номера ребер, составляющих множество минимальных по весу ребер для 7.]
Просмотреть первые р элементов массива НМР и сформировать множество Ех минимальных по весу ребер для леса Т.
ЕТ := ЕТ U Ех [ЕТ — множество ребер «нового» леса Г'].
Выделить с помощью алгоритма поиска в глубину связные компоненты графа Т' = Т + Ех [обновлен список КОМП, получено новое значение р].
340
Если р = 1, то конец [S77 — множество ребер минимального остова]. Иначе перейти к п. 2.
Утверждение 75.4. Алгоритм si^ строит минимальный остов за время 0(1501 log |0|).
Нетрудно убедиться, что после каждого выполнения п. 8 множество Е\ является множеством минимальных по весу ребер для леса Т7, рассматриваемого в этот момент. Поэтому согласно утверждению 75.2 граф Т' = = T + 5i снова является остовным лесом. Это означает,
Q1Q3Q6^9
1**
Рис. 75.3
что алгоритм строит некоторый остов графа G. Минимальность этого остова доказывается с помощью теоремы 75.1 точно так же, как при обосновании предыдущего алгоритма.
341
Выясним теперь быстродействие алгоритма ^4. Для однократного выполнения каждого из пп. 3—6 достаточно времени 0(1) и, следовательно, построение Е\ осуществляется за время 0(|5G|). Таких же затрат достаточно и для однократного выполнения пп. 8—11. Таким образом, затраты на переход от Т к Т' = Т + Е\ (т. е. на выполнение одной итерации) составляют O(|5G|) операций. Оценим теперь число итераций алгоритма. Поскольку одно ребро может быть минимальным по весу не более чем для двух компонент леса Т. то на каждой итерации I5J >р(7)/2. А так как Т + Е\ — лес,тор(7 + 51) ^р(7)/2, т. е. на каждой итерации число компонент уменьшается по крайней мере вдвое. Это означает, что число итераций алгоритма не превосходит log |G|, следовательно, он строит минимальный остов за время O(ISGlloglGl). <1
Пример 2. Применим алгоритм ^4 к графу, изображенному на рис. 75.2. На первой итерации будет найдено множество 51 = {^1^2, а^з, ^4^7, а^а^ а^ад, ад^ы) минимальных по весу ребер для леса, имеющего одновершинные компоненты. Остовпые леса, полученные в результате выполнения 1-й, 2-й и 3-й итераций, изображены на рис. 75.3. Последний из них является минимальным остовом.
§76. Кратчайшие пути
Пусть G=(V, А)—ориентированный взвешенный граф. Задача о кратчайшем пути состоит в отыскании пути минимального веса, соединяющего заданные начальную и конечную вершины графа G при условии, что хотя бы один такой путь существует. Начальную и конечную вершины обозначим соответственно через s и I; (s, £)-путь минимального веса будем называть кратчайшим (s, f)-путем.
Вначале рассмотрим случай, когда веса всех дуг графа неотрицательны, т. е. w(e^ 0 для каждой дуги е^А. В этом случае решение задачи о кратчайшем пути является существенно менее трудоемким, чем в общем случае. Первый эффективный алгоритм построения кратчайшего пути в графе с неотрицательными весами дуг предложил Е. Дийкстра в 1959 г.
На каждой итерации этого алгоритма всякая вершина v графа G имеет метку Ци), которая может быть постоянной либо временной. В первом случае Г(р)-«вес крат- 342
чайшего (s, р)-пути. Если же метка Ци) временная, то Z(y)—вес кратчайшего (s, v)-пути, проходящего только через вершины с постоянными метками. Таким образом, временная метка Z(y) является оценкой сверху для веса кратчайшего (s, у)-пути, и став на некоторой итерации постоянной, опа остается такой до конца работы алгоритма. Кроме Ци^ с каждой вершиной v графа G, за исключением s, связывается еще одна метка — 9(у). На каждой итерации 0(р) является номером вершины, предшествующей у в (s, у)-пути, имеющем минимальный вес среди всех (s, у)-путей, проходящих через вершины, получившие к данному моменту постоянные метки. После того как вершина t получила постоянную метку, с помощью меток 0(р) легко указать последовательность вершин, составляющих кратчайший (s, £)-путь.
Перед началом первой итерации алгоритма вершина s имеет постоянную метку Z(s)=O, а метки Z всех остальных вершин равны оо и эти метки временные. Общая итерация алгоритма состоит в следующем. Пусть р — вершина, получившая постоянную метку Z(p) на предыдущей итерации. Просматриваем все вершины уеГ(р), имеющие временные метки, с целью уменьшения (если это возможно) этих меток. Метка 1^ вершины Г(р) заменяется на Цр^+ю^р, у), если оказалось, что Ци)> > l(p) + w(p, у). В этом случае говорим, что вершина и получила свою метку Z из вершины р, и полагаем ©(р) — = р. Если же Z(y)^ l(p)+ w(p, z;), то метки 0 и Z вершины у не изменяются на данной итерации. Алгоритм заканчивает работу, когда метка Z(Z) становится постоянной. Как уже говорилось выше, Z(Z)—вес кратчайшего (s, £)-пути, который будем обозначать через Р*. Этот путь определяется с помощью меток 0 так:
Р*=(з, 03(£), 02(Z), 0(0, О,
где 6к = 0 (0 (... 0 (у) . ..)) для любой вершины у е VG. к раз
Будем считать, что граф G задан матрицей весов либо списками смежности.
Алгоритм ^5 Дийкстры поиска кратчайшего пути. /
Положить Z(s):=O и считать эту метку постоянной. Положить Z(y):=oo для всех у е VG, d^s, и считать эти метки временными. Положить р :=s.
Для всех р^Г(р) с временными метками выполнить: если Z(v)> Z(p) + w^p, v), то Цр):= Z(p)+ w(p, v) и 0(p):=p. Иначе Z(p) и 0(y) не менять.
Пусть V' — множество вершин с временными метками I. Найти вершину и*, такую что
I (z;*) = min I (и)*те?'
Считать метку Z(y*) постоянной меткой вершины и*.
р := и*. Если p = t, то перейти к п. 5 [Z(Z)—вес кратчайшего пути]. Иначе перейти к п. 2.
Р*:=($, ..., 03(О, 62(^)> 6(^)> О Р* — кратчайший путь]. Конец.
Прежде чем перейти к обоснованию алгоритма, сделаем три полезных замечания.
Замечание 1. Как легко видеть, алгоритм ^5 применим к смешанным и, в частности, к неориентированным графам. Для этого достаточно каждое неориентированное ребро ии графа, имеющее вес w(u, к), рассматривать как пару дуг (и, и) и (и, zz) того же веса.
Замечание 2. Если п. 4 модифицировать так, чтобы алгоритм заканчивал работу только после получения всеми вершинами постоянных меток, то он будет строить кратчайшие пути из s в каждую из остальных вершин. Если к тому же вместе с превращением метки вершины v* в постоянную (п. 3 алгоритма) заносить дугу (6(у*), v*) в множество Л*, то после окончания работы алгоритма граф D=(VG, Л*) будет корневым ориентированным остовным деревом. Это дерево называют деревом кратчайших путей из s графа G. Для любой вершины v^VG единственный (s, у)-путь в дереве D является кратчайшим (s, v) -путем в графе G.
Замечание 3. Алгоритм ^5, модифицированный так, как указано в замечании 2, можно рассматривать как алгоритм построения дерева D кратчайших путей из вершины s графа G. С этой точки зрения алгоритм ^5 аналогичен алгоритму ^з построения минимального остова. Действительно, построение дерева D состоит в последовательном увеличении уже построенного фрагмента путем добавления некоторой дуги, «выходящей» из этого фрагмента. При этом метки Z и 6 играют такую же роль, как и метки а и р в алгоритме ^3.
Утверждение 76.1. Алгоритм ^ъ строит в графе G кратчайший (s, t^-путъ за время O(|G|2).
> Заметим вначале, что метка вершины и (Z (12)7^00) равна весу (s, 12)-пути, который построен алгоритмом к этому моменту. Он определяется метками 6, имеющимися на заданный момент. Поэтому для доказательства опти- 344
мальности (s, £)-пути, соответствующего постоянной метке ЦЦ, достаточно доказать, что постоянная метка Z(p) каждой вершины у равна весу кратчайшего (s, р)-пути. Это утверждение будем доказывать по индукции. Пусть вершина у получила свою постоянную метку на /с-й итерации, т. е. после /с-го выполнения п. 3. При к = 1 справедливость утверждения очевидна. Предположим, что оно верно для вершин, получивших свои постоянные метки на итерациях 2, 3, . . ., к — 1. Обозначим через Р° (s, р)- путь, построенный алгоритмом в результате к итераций, а через Р*— кратчайший (s, р)-путь. По условию w(PQ) = Цу). Пусть V\ и У2 — множества вершин, имеющих соответственно постоянные и временные метки перед началом к-и. итерации. Рассмотрим две возможные ситуации:
Путь Р* содержит вершины из Рг. Пусть у— первая (считая от s) такая вершина, принадлежащая Р*, а вершина у' предшествует у на пути Р*, т. е. (у\ у)^ ^АР*. Согласно выбору г; имеем у' ^ V\, Обозначим через Рг часть пути Р* от s до у. По предположению индукции Цу')—вес кратчайшего (s, г/)-пути. Поэтому
w(P*) = l(v') + (1)
Поскольку Цу)—временная метка, а постоянная метка Цу) вершины и выбирается на к-й итерации как наименьшая из временных, то Цу)^Цу). Объединив это неравенство с (1), получим
w (Р*) > w (Р*) > I (у) = w (Р°),
т. е. /90— кратчайший (s, р)-путь.
Все вершимы пути Р* входят в Уь Пусть у' и у"— такие вершины, что (у', у)^АР* и (у" , v)^APQ. Обозначив через Р' часть пути Р* от s до и', согласно предположению индукции имеем иЦР')^ Цу'). Поэтому, если у' = у", то сразу получаем неравенство
W^P*) = W^P') + w(y's у)^ Цу') + w(u\ у) = иЦР°).
Допустим теперь, что у' ^ у". Поскольку у получает постоянную метку Цу) из у" 1 а не из и', то
у(Р*) = Цу') + w^y^ у)^ Цу") + w(y", у) = w(P°).
Таким образом, и в случае б) верно неравенство иЦР0)^ ^иЦР*), т. е. Р° — кратчайший (s, р)-путь.
Оценим теперь трудоемкость алгоритма. Вычислительные затраты максимальны, когда вершина t получает по-
стоянную метку последней и граф G является полным. В этом случае число итераций алгоритма равно |G| — 1, т. е. каждый из пп. 2—4 выполняется |G| — 1 раз. Очевидно, что п. 4 выполняется за время 0(1), а для выполнения каждого из пп. 2, 3 достаточно времени O(|G|).
Рис. 76.1Рис. 76.1
Рис. 76.1
Рис. 76.1
Построение пути с помощью меток 0 можно осуществить, затратив не более O(|G|) операций. Таким образом, в целом время построения кратчайшего (s, £)-пути не превосходят 0(|G|2). <
346
Пример 1. На рис. 76.1 изображены пять копий Gk (& = 1, 5) графа G, каждая из которых отражает ситуацию, сложившуюся после очередной итерации алгоритма. Около каждой дуги написан ее вес. Вершинам копии Gh (к = 1, 5) приписаны метки, полученные ими в резуль^ тате выполнения первых к итераций. Некоторые дуги обведены жирными линиями, т. е. отмечены. Добавление такой дуги (а, Ь) при переходе от Gk к Ga+i означает, что вершина Ъ получила свою метку Z(6) из а и эта метка стала постоянной на (А+1)-й итерации. Вершина t в нашем примере получает постоянную метку последней, и отмеченные дуги Gs образуют дерево кратчайших путей из 5.
При решении многих задач возникает необходимость отыскания в невзвешенном графе (s, £)-пути с минимальным количеством дуг. Такой путь, очевидно, можно найти с помощью алгоритма Дийкстры. Для этого достаточно присвоить всем дугам графа G веса, равные 1, и применить алгоритм ^5. Проследим работу алгоритма в этой ситуации, обращая особое внимание на последовательность, в которой вершины графа G получают постоянные метки. Очевидно, что вначале постоянные метки Z = 1 получат все вершины множества P(s). Затем метка Z = 2 будет присвоена концам дуг, выходящих из Г($). Вообще, постоянную метку Z = к получают еще не помеченные вершины, являющиеся концами дуг, исходящих из вершин с метками Z = к — 1. Этот процесс обхода (и присвоения меток) вершин графа называют поиском в ширину в графе (на интуитивном уровне поиск в ширину описан в § 9). По окончании поиска в ширину метка Цх) вершины х равна минимальному числу дуг в (s, х^- пути. Как и ранее, сам этот путь определяется метками 0. Осуществление поиска в ширину с помощью алгоритма Дийкстры связано, как мы знаем, с вычислительными затратами G(|G|2).
Рассмотрим алгоритм ^6, осуществляющий поиск в ширину за время O(|£'G|). В этом алгоритме метки Z и О играют ту же роль, что и в предыдущем, с той, однако, разницей, что метки Z не делятся на временные и постоянные. Как только вершина х получает метку Z(^)=t^oo7 эта метка сразу становится постоянной (т. е. окончательной). За счет этого, в частности, достигается экономия времени вычислений по сравнению с алгоритмом Дийкстры.
Особую роль в алгоритме «5^6 играет список Q. Каждая вершина графа один раз заносится в этот список и один раз из него вычеркивается. При этом вычеркивается все время первая (на данный момент) вершина этого списка, а только что добавленная вершина всегда является последней в списке, т. е. Q — очередь. Вначале в Q находится единственная вершина s, Z(s)=O, а все остальные вершины меток не имеют. Общая итерация состоит в следующем. Выбирается первая вершина х в списке Q. Каждой непомеченной вершине у ^ Г (ж) присваиваются метки Цу) = Цх) + 1 и 0(у) = ^, после чего вершина у становится последней в списке Q, а вершина х удаляется из Q. Алгоритм прекращает работу, как только в Q не останется ни одной вершины. При этом вершины, достижимые из $, будут иметь метки, а недостижимые — нет. Для быстрого выполнения операций вычеркивания и включения элементов в Q используются переменные указатели р и q — адреса первой и последней занятых ячеек списка Q соответственно.
Будем считать, что граф G задан списками смежности и Ау — список, содержащий концы всех дуг, исходящих из вершины и.
Алгоритм ^6 поиска в ширину.
^(l):^#, р := 1, 7~1, Z(s):=O.
х := Q(pY т := 1Г(ж) | [выбрана первая вершина х очереди (21 •
[Пн. 3—5 — присвоение меток непомеченным вершинам из Г (я)].
Л:=1.
Если вершина y = Nx(J^ имеет метку, то перейти к п. 5. Иначе Z(y):= Цх) + 1, Q^y.= x, g :=#+!, Q^Y-”^ [вершина у помечена и включена в очередь ^] и перейти к п. 5.
Если к = т, то перейти к п. 6, иначе к := к + 1 и перейти к п. 4.
р := р + 1 [вершина х исключена из (21 •
Если р> q, то конец [^ = 0, т. е. все вершины, достижимые из s, получили метки], иначе перейти к п. 2.
Утверждение 76.2. Алгоритм ^6 присваивает метки Z и 6 всем вершинам графа, достижимым из вершины s за время O(|£'G|). При этом (s, ..., 03(ж), 02(я), 0(^), х) — (s, хупутъ с минимальным числом дуг, а Цх)— число дуг в этом пути.
Основные вычислительные затраты связаны с выполнением п. 3 алгоритма. Суммарное время выполнения 348
этого пункта составляет О 2 | ^ |) = ^ (| EG |), по- VeVG 1
скольку каждый из списков Nv просматривается в точности один раз. Затраты на выполнение других пунктов, очевидно, не превосходят этой величины.
Выше отмечалось, что результаты алгоритма ^6 (т. е. метки I и 0) те же, что и в алгоритме Дийкстры, если каждой дуге графа G приписать вес, равный 1. Поэтому справедливость второго утверждения следует из утверждения 76.1. <
Замечание 4. Иногда требуется искать пути из вершин множества XczVG во все остальные вершины. Для решения этой задачи достаточно слегка модифицировать алгоритм ^е, изменив в нем п. 1. Именно, в список Q следует поместить все вершины множества X и положить Z(^)—О для каждой вершины х^Х. На модифицированный таким образом алгоритм ^6 будем ссылаться как на поиск в ширину из множества X.
Перейдем теперь к рассмотрению общей ситуации. Будем считать, что в графе G допускаются дуги отрицательного веса. Предлагаемый ниже алгоритм ^7 строит в таком графе кратчайшие пути между всеми парами вершин графа при условии, что в графе нет отрицательных контуров (контуров отрицательного веса). Если же такой контур в графе имеется, то алгоритм сообщает об этом и прекращает работу, оставляя задачу отыскания кратчайшего пути нерешенной (см. ниже замечание 6).
Будем считать, что граф G, \G\-n, задан матрицей весов W = llWijll, т. е. Wij=w(i, j), если (Z, ]^ AG, и Wy = оо в противном случае. Кроме того, полагаем РЕгЧ=О для всех Z=l, 2, ..., п. Алгоритм основан на следующих соображениях. Пусть Z, у, к — три любые вершины графа G, и мы хотим получить (Z, у)-путь, кратчайший среди (Z, у)-путей, не содержащих внутренних вершин, отличных от к. Очевидно, что для этого достаточно выбрать меньшую из двух величин Wy и Wik + + Wy, которая и будет весом такого (Z, у)-пути. Если зафиксировать к и проделать эту операцию (назовем ее t-операцией, примененной к индексу к) для всех пар / (г, у), то получим матрицу W = || W^ ||, у которой W^ = = min{PEjj, Wih + Whj}. Оказывается (это будет позднее доказано), имея матрицу Ws весов кратчайших путей, проходящих только через вершины множества S ^VG, можно получить такую же матрицу для путей, проходящих через множество S U (m), m S. Для этого доста-
точно применить ^-операцию к индексу m и всем элементам матрицы Ws. Именно в этом и состоит итерация алгоритма «5^?, который, начиная с W° = W, строит такую последовательность матриц W°, W1, ..., Wn, что Wm получается из Wm-1 применением ^-операции к индексу т и матрице Wm-1. Если в графе G нет отрицательных контуров, то элемент W1^ матрицы Wm при каждом т равен весу кратчайшего (Z, /)-пути, все внутренние вершины которого принадлежат множеству {1, 2, ..., тУ Таким образом, последняя из этих матриц, Wn, содержит веса кратчайших путей между всеми парами вершин графа. Для того чтобы после окончания работы алгоритма иметь возможность быстро найти кратчайший путь между любой парой вершин, будем на к-й итерации вместе с матрицей Wk строить матрицу Рк = || Pkj ||. Вначале полагаем РХ) = 1(1, ] = 1, п\ Далее, на к-й итерации полагаем Pkj = Р^1^ если Wkj = Wif1, и Рк5 = PkJT, если Wkj = W^1 + Why1. Таким образом, Рк^— номер вершины, предшествующей вершине / в текущем (I, /)-пути, т. е. в кратчайшем (Z, /)-пути, все внутренние вершины которого содержатся в множестве {1, 2, ..., кУ Матрица Рп = || Р^ || играет ту же роль, что и метки 0 в предыдущих алгоритмах ^5 и ^6. С помощью этой матрицы кратчайший (г, у)-путь L^ j) определяется следующим образом: L(i, Л = (1, ..., h, h, h, 1), где /i = Pir Ь = Ри , /з - .
Алгоритм «5^7 отыскания кратчайших путей между всеми парами вершин.
W°:=W, *:=1, Р°:=;||Р?Д где Р?з = I, если Wij=£oo, и Ру = 0 в противном случае.
Выполнить для всех i, /=1, пл если WjJ"1«<Wi^'1+ + ^Г\ ТО ^:= WV. PV-PV- Иначе ^: = WV+ + W\ Р^Р»1- .
Если для некоторого Z, 1 ^ Z^n, WA< О, то конец [в графе имеется отрицательный контур]. Иначе перейти к п. 4.
к := к + 1. Если к = п + 1, то конец [Wn = || W^ || — матрица весов кратчайших путей, определяемых с помощью матрицы Рп = || Ptj || ].
Замечание 5. Алгоритм будет применим к смешанным графам, если каждое неориентированное ребро заменить на две дуги того же веса (см. замечание 2). 350
При этом следует учесть, что неориентированное ребро отрицательного веса сразу приводит к отрицательному контуру.
Замечание 6. Алгоритм «отказывается» строить кратчайшие пути, когда в графе G имеются отрицательные контуры. В этом случае задача отыскания кратчайшего пути между двумя вершинами (или между всеми парами вершин) остается корректной, но становится очень трудной. Можно показать, что она не менее трудна, чем, например, задача о коммивояжере.
Перейдем теперь к обоснованию алгоритма ^7 и оценке его трудоемкости.
Утверждение 76.3. Пусть взвешенный ориентированный мультиграф L имеет эйлерову цепь, соединяющую вершины а и Ь. Если в L нет отрицательных кон- туров, то в нем имеется такой (а, Ъ)-путь Р, что
w(L)^ w(P).
Будем считать, что мультиграф L не является путем (иначе утверждение тривиально). Поэтому он содержит некоторый контур S. Удалив из L все дуги этого контура, получим мультиграф L. Поскольку w^S^^O, то w(L)^ w(L'). Кроме того, согласно теореме 65.2 полустепени вершин мультиграфа U удовлетворяют соотношениям
d^ = d-^-V 1, ^(&)-^(Ь) + 1,d+(v) = d~(v), v^a, b.
Поэтому вершины а и b принадлежат одной его слабой компоненте L", и последняя содержит эйлерову (а, Ь)-цепь. Продолжая подобным образом, получим требуемый (а, 6)-путь. <
Утверждение 76.4. Если в графе нет отрицательных контуров, то при всех к, г, ] = 1, и W^— вес кратчайшего (I, ])-пути, все внутренние вершины которого содержатся в множестве {1, 2, . . ., &}.
Доказываем индукцией по к. При к = 1 справедливость утверждения очевидна. Предположим, что оно справедливо для 2, 3, ..., к — 1, и рассмотрим W^. Пусть Р° — кратчайший (f, 7)-путь, все внутренние вершины которого принадлежат множеству (1, 2, ..., к). Если Р° не включает вершину к, то W^ = ТГ^и, согласно предположению индукции, w(P°) = WiJ"1 = W^. Допустим теперь, что Р° содержит вершину к. Обозначим через Pi
и Р® части пути Р° от i до к и от к до / соответственно. Предположим, что один из этих путей, например Р?, пе является кратчайшим, и пусть Р' — кратчайший (г, к) -путь, все вершины которого содержатся в множестве И, 2, . . ., к— 1}. Рассмотрим мультиграф L, получающийся из графа Р' U ^2 заменой каждой дуги, входящей одновременно в Р' и Р^ двумя экземплярами этой дуги. Очевидно, что L не содержит отрицательных контуров. Поэтому, согласно утверждению 76.3, L содержит такой (Z, у)-путь Р, что tz;(P)^^(P) и, следовательно, W {Р°) = W (Р°г) + ш (^) > W (Р') + W (Р°) =w^>w ^Р\ Это неравенство противоречит минимальности Р°.
Таким образом, пути Р? и Р^ являются кратчайшими среди, соответственно, (г, к)- и (к, /)-путей, все внутренние вершины которых принадлежат множеству {1, 2, ..., к— 1). Поэтому, воспользовавшись предположением индукции, получим
w^ = wv + WV = W (Р°х) + w И = w ^ <
Теорема 76.5. Время работы алгоритма ^? не превосходит O(|G|3). Если граф G не содержит отрицательных контуров, то W^— вес кратчайшего (I, ])-пути в графе G для всех г, 7 = 1, п, n=lG|. Если же такие контуры в графе имеются, то существуют такие числа ш и I, что W?i<Q.
> Справедливость первого утверждения теоремы очевидна, поскольку каждая из не более чем |G| итераций выполняется за время GIGI2.
Второе утверждение теоремы непосредственно следует из утверждения 76.4.
Допустим теперь, что граф G содержит отрицательные контуры. Пусть иг — такой наименьший индекс, что для некоторой вершины I в графе G имеется отрицательный контур 8, содержащий только I и некоторые вершины множества (1, 2, . .., ml. Ясно, что контур 8 включает вершину пг. Тогда при любых I, j = 1, п число ТУ^-1 равно весу кратчайшего (Z, 7)-пути, все внутренние вершины которого принадлежат множеству {1, 2, ..., m~ 1). Доказательство этого факта дословно повторяет доказательство утверждения 76.4. Контуру 8 соответствуют (Z, т)-путь Рх и (пг, /)-путь Р2, такие, что Рх U Р2 = 8. Поскольку внутренние вершины путей Pi и Р2 прина д- 352
лежат множеству {1, 2, ..., т — 1), то w^P^^Wmt1' w^P^WTm1. Следовательно, ? И^Г1 + WV< w (Pt) + + w (P2)=ip(S), t. e. Wn = min {0, Wl™ 4 W^x\ < 0. <
Рис. 76.2Рис. 76.2
Рис. 76.2
Рис. 76.2
Пример 2. Ниже приведены результаты выполпе- ния каждой из четырех итераций алгоритма для графа, изображенного на рис. 76.2:
, 0 — 2 3 — 3\ /0 1 1 1\ оо 0 2 оо । / 2 0 2 2 \ оо оо о — 3 Р ^" 1 3 3 0 3 1 А 5 5 0/ 4 4 4 о /
(0- 23- 3\оо02ОО |оооо0— 3 Р4250/(0— 20—3\ОО02оо \оооо0—3 Р4240/(0- 23- 3\оо02ОО |оооо0— 3 Р4250/(0— 20—3\ОО02оо \оооо0—3 Р4240/0 1 1 1х2 0 2 2 ।3 3 0 3 г4 1 4 0//0 12 1хрз 2 0 2 2|3 3 0 3\4 12 0^0 1 1 1х2 0 2 2 ।3 3 0 3 г4 1 4 0//0 12 1хрз 2 0 2 2|3 3 0 3\4 12 0^
(0- 23- 3\
оо02ОО |
оооо0— 3 Р
4250/
(0— 20—3\
ОО02оо \
оооо0—3 Р
4240/
(0- 23- 3\
оо02ОО |
оооо0— 3 Р
4250/
(0— 20—3\
ОО02оо \
оооо0—3 Р
4240/
0 1 1 1х
2 0 2 2 ।
3 3 0 3 г
4 1 4 0/
/0 12 1х
рз 2 0 2 2|
3 3 0 3
\4 12 0^
0 1 1 1х
2 0 2 2 ।
3 3 0 3 г
4 1 4 0/
/0 12 1х
рз 2 0 2 2|
3 3 0 3
\4 12 0^
0 1 2 К0 2 3 \3 0 3 Г U 1 2 0/0 1 2 Ь0 2 3 \1 0 3 Г1 2 0/0 1 2 К0 2 3 \3 0 3 Г U 1 2 0/0 1 2 Ь0 2 3 \1 0 3 Г1 2 0/
0 1 2 К
0 2 3 \
3 0 3 Г U 1 2 0/
0 1 2 Ь
0 2 3 \
1 0 3 Г
1 2 0/
0 1 2 К
0 2 3 \
3 0 3 Г U 1 2 0/
0 1 2 Ь
0 2 3 \
1 0 3 Г
1 2 0/
ш — 2 0 — 3\ / ОО о 2 — I оо оо 0 — 3 г \42 40/
0 - 2 0 - 3\
[ 30 2—11
1 -10-3 ’ \42 40/
Найдем, например, с помощью матрицы Р4 кратчайший (2, 1)-путь:Р21 4, Р24 = 3, Р23 2.Следовательно, (2, 3, 4, 1)—кратчайший (2, 1)-путь.
23 в. а. Емеличев и др« 353
Наибольшие паросочетания и задача о назначениях
Задача построения наибольших паросочетаний в графе широко распространена, и для ее решения имеются эффективные алгоритмы. Эти алгоритмы основаны на методе чередующихся цепей, восходящем к Дж. Петерсену.
Пусть М — паросочетание в графе G. Цепь графа G, ребра которой поочередно входят и не входят в М, называется чередующейся относительно М. Цепь длины 1
Рис. 77.1
по определению также чередующаяся. Ребра цепи называются темными, или светлыми, если они входят или, соответственно, не входят в М. Вершины графа G, инцидентные ребрам из М, называются насыщенными, все другие вершины — ненасыщенными.
Рассмотрим, например, граф на рис. 77.1. Множество ребер
М = Ub е7, ею) (1) ' является в G паросочетанием;
Р = П, 8, 4, 1, 2, 5) (2)
— чередующаяся относительно М цепь; ei = {l, 2}, ею = = {4, 8} — темные ребра Р; вз = {1, 4}, вб = {2, 5}, ei3 = = {7, 8} — светлые ребра Р; (1, 2, 3, 4, 6, 8} и {5, 7, 9, 10} — множества насыщенных и ненасыщенных вершин соответственно.
Очевидно, что если в графе G существует чередующаяся относительно паросочетания М цепь, соединяющая две несовпадающие ненасыщенные вершины, то можно построить в G паросочетание с большим числом ребер, чем в М. В самом деле, в такой цепи число темных ребер на единицу меньше числа светлых. Удалив из М 354
все темные ребра и присоединив все светлые, получим новое паросочетание, в котором число ребер па единицу больше. По этой причине чередующуюся относительно паросочетания М цепь, соединяющую две различные ненасыщенные вершины, будем называть увеличивающей относительно М цепью в графе G.
Итак, отсутствие увеличивающих относительно М цепей необходимо, если паросочетание М наибольшее. Это условие оказывается и достаточным. Именно, верна
Теорема 77.1. Паросочетание М в графе является наибольшим тогда и только тогда, когда в этом графе нет увеличивающих относительно М цепей.
> Необходимость условия теоремы, как выше отмечалось, очевидна. Достаточность докажем от противного. Пусть М\ также является паросочетанием в G и IMJ > > \М\. Рассмотрим граф Я, образованный ребрами, входящими в сумму М и М\ по модулю 2, т. е. в (М UMi)\ \(М Л M\Y Так как произвольная вершина и этого графа инцидентна не более чем одному ребру каждого из паросочетаний М и Mi, то ее степень не больше чем 2. Если deg и = 2, то одно из инцидентных вершине и ребер входит в М. другое — в Мь Поэтому любая связная компонента графа Я является либо циклом, содержащим одно и то же число ребер из М и из Mi, либо чередующейся относительно М цепью. Но IMJ > |М|, следовательно, среди этих компонент обязательно есть чередующаяся относительно М цепь, крайние ребра которой (первое и последнее) входят в Мь Тогда крайние вершины этой цепи не насыщены паросочетанием М, что противоречит условию теоремы. <
Для иллюстрации снова обратимся к графу G на рис. 77.1. Чередующаяся относительно паросочетания (1) цепь (2) соединяет ненасыщенные вершины 5 и 7. Следовательно, можно построить паросочетание М' с большим числом ребер:
М' =(M\{ei, вю})и{ез, 65, в1з} = {^з, в5, ет. 613}.
Паросочетание М' также не является наибольшим: (9, 10)—увеличивающая относительно М' цепь. Паросочетание
М" = М' U {^15} = {бз, 65, 67. 613, 615}
— наибольшее, ai (G) = 5.
Таким образом, теорема 77.1 подсказывает следующую стратегию поиска наибольшего паросочетания: на- 23* 355
чав с произвольного паросочетания М, строить последовательность Mi = М, М^ Мз, ..., в которой паросочета- ние ЛД+1 получается из Мк с помощью только что рассмотренного изменения вдоль некоторой увеличивающей цепп. Поскольку |Mk+il = |Mft| + 1, то для получения наибольшего паросочетания потребуется не более IGI/2 итераций (т. е. переходов от Мк к Мк+\У В качестве М можно взять, например, произвольное ребро графа или, что лучше, некоторое максимальное паросочетание, так что исходное паросочетание всегда имеется в нашем рас- поражении. Поэтому разра- Хл/\/ботка эффективного алгорит-
на, основанного на указан- но^ стратегии, сводится к построению процедуры, кото- // \у/ X рая быстро находит увели-
/\ г > чивающую цепь в графе, ли-
_ бо выявляет ее отсутствие.
GG Ограничимся случаем дву-
Рис. 77.2дольного графа, хотя такая
процедура (а значит, и эффективный алгоритм отыскания наибольшего паросочета- пия) известна и в случае произвольного графа. Итак, пусть G = (X, У, Е)—двудольный граф и М—паросочетание в этом графе. Поставим в соответствие графу G и паросочетапию М вспомогательный ориентированный двудольный граф G=(X, Г, Л), полагая Л=Л1иЛ2, где Л1 — {(у, осу. х^Х, y^Y, ху ^ М), Лг = {(я, уУ ж s еХ, у^ У, хи ^EG\M}. Иными словами, чтобы получить граф G, достаточно придать ориентацию «от У к X» всем ребрам графа G, входящим в паросочетание М, и «от X к У» всем остальным ребрам этого графа. На рис. 77.2 изображены граф G с паросочетанием М (выделено жирными линиями) и граф G.
■ Обозначим через Хм и ¥м множества ненасыщенных вершин, входящих, соответственно, в X и У. Справедливость следукмцего утверждения очевидна.
Утверждение 77.2. В графе G увеличивающая относительно паросочетания М цепь существует тогда и только тогда, когда в графе G существует (s, tynyTb, у которого § сз Хм, t^ YM.
Пусть Р — (s, £)-путь в графе G, se XMl t ^ Ум, Р соответствующая увеличивающая цепь в графе G и Mi — паросочетание, полученное изменением М вдоль цепи Р. Тогда вспомогательный граф Gi для графа G и паросо- четания М\ можно получить из графа G заменой каждой дуги пути Р на обратную. Эта операция вместе с поиском пути Р составляет итерацию приводимого алгоритма. Предполагается, что граф G задан списками смежности.
Алгоритм ^8 построения наибольшего паросочетания в двудольном графе.
Построить какое-либо максимальное паросочетание М в графе G.
По графу G и паросочетанию М построить граф G.
Пусть в графе G X" = Vx: хеХ, d~(x)~ 0}, У+ = = (у: у е У, d+(y)=O} [в графе G Х~ U У+ — множество вершин, не насыщенных текущим паросочетанием]. Выполнить в графе G поиск в ширину (алгоритм Л) из множества X-.
Если в результате поиска в ширину ни одна из вершин множества У+ не получила метки, то перейти к п. 5. Иначе перейти к п. 6.
Пусть Z = {(yi, £1), (у2, х^, .... (ук1 ^ — множество всех дуг, выходящих из множества У. Положить Л/* == {yi^i, уг-^г, ..., УкХ^ [М* — наибольшее паросочетание]. Конец.
Пусть Р — ^з, £)-путь в графе G такой, что s^X*, t s У+. Изменить граф G, заменив в нем каждую дугу (а, 6) пути Р на дугу (6, а). Перейти к п. 2.
Утверждение 77.3. Алгоритм б^з строит наибольшее паросочетание в двудольном графе G=(X1 У, EG) за время O(|£'Gl min {|Х|, |У|}).
То, что алгоритм корректен и построенное им паросочетание является наибольшим, следует из теоремы 77.1 и утверждения 77.2. Очевидно также, что число итераций алгоритма (т. е. выполнений п. 2—5) не превосходит величины min{|X|, |У|}, поскольку на каждой итерации, кроме последней, величины |X~i и |У+| уменьшаются на единицу.
Согласно утверждению 76.2 п. 3 выполняется за время G(|£'G|). Легко показать, что эта же оценка трудо-
емкости справедлива и для остальных шагов алгоритма. Таким образом, время выполнения отдельной итерации составляет O(\EGM а алгоритма в целом — O(\EG\пип{|Х|, |У|}). <1
Вместе с наибольшим паросочетанием алгоритм ^8 фактически находит и наименьшее вершинное покрытие в графе G. В результате последнего выполнения п. 3 алгоритма будет установлено отсутствие пути из X™ в У+ в графе G. Следовательно, только часть вершин этого графа будет иметь метки после окончания поиска в ширину из X-. Обозначим через X* и У', соответственно, множества непомеченных вершин доли X и помеченных вершин доли У. Положим Z = X' U У'. Будем считать, что в графе G пет изолированных вершин.
Утверждение 77.4. Множество Z является наименьшим вершинным покрытием графа G.
Утверждение достаточно доказать для связных графов. Пусть (а, Ь)—произвольная дуга графа G. Если а е У, b е X, то эти вершины либо обе помечены, либо пет. В обоих случаях дуга (я, 6) инцидентна вершине множества Z. Пусть а ^ X, b ^Y. Тогда, если вершина а не помечена, то a^Z. Если же а помечена, то и вершина b помечена и, следовательно, Ъ ^ Z. Итак, всякая дуга графа G инцидентна некоторой вершине множества Z, т. е. Z — покрытие графа G. Кроме того, легко видеть, что |Z1 = MV где Т — множество всех дуг графа G, ведущих из множества Y. Множеству Т в графе G соответствует наибольшее паросочетапие. Поэтому из теоремы 32.2 следует, что вершинное покрытие Z является наименьшим. <
Использованный здесь метод чередующихся цепей играет важную роль и при решении более общих задач. Одну из них мы сейчас рассмотрим.
Пусть G = (X, У, EG^—полный двудольный взвешенный граф, ]Х] = |У|=п. Требуется найти в графе G совершенное паросочетапие, вес которого минимален. Легко видеть, что это — упоминавшаяся ранее задача о назначениях (см. гл. IV, § 30).
Совершенное паросочетапие минимального веса назовем для краткости оптимальным решением.
Задача о назначениях обладает двумя простыми свойствами:
Поскольку для каждой вершины любое совершенное паросочетапие содержит в точности одно ребро, ин- 358
цидентное этой вершине, то множество оптимальных решений не изменится, если веса всех ребер, инцидентных какой-либо вершине, увеличить (уменьшить) на одно и то же число.
Если веса всех ребер графа неотрицательны и вес некоторого совершенного паросочетания равен пулю, то оно является оптимальным решением.
Пусть, как обычно, w^x, у)—вес ребра ху. Будем считать, что w(x, у)^0 для каждого ребра xy^EG. Из первого свойства следует, что случай, когда имеются ребра отрицательного веса, сводится к нашему. Кроме того, это свойство позволяет, затратив О^п2^ операций, перейти к взвешенному графу, у которого каждой вершине инцидентно ребро нулевого веса и веса всех ребер неотрицательны. Для этого достаточно изменить матрицу весов графа G следующим образом: сначала вычесть из всех элементов каждой строки минимальный элемент этой строки, а затем то же самое проделать со столбцами. Будем считать, что эта операция уже проделана и граф G обладает требуемыми свойствами.
Пусть А с X, В <= У и а — некоторое число. Будем говорить, что к графу G применяется операция (Л, В, а), если сначала из веса каждого ребра, инцидентного вершине из множества А, вычитается а, а затем к весу каждого ребра, инцидентного вершине из В, прибавляется а. Согласно свойству 1 получившийся в результате взвешенный граф имеет то же множество оптимальных решений, что и граф G. Кроме того, ребра вида аЪ, где а^ Л, Ъ е В, в преобразованном графе будут иметь то же веса, что и в исходном. Пусть Т = (Х1 У, U)— двудольный граф и М — паросочетание в этом графе. Будем, как и ранее, обозначать через Т = Т(Т, М) ориентированный двудольный граф, полученный из графа Т путем ориентаций «от У к X» всех ребер паросочетания М и «от X к У» остальных ребер этого графа.
Будем считать, что граф G задан матрицей весов.
Алгоритм ^9 построения совершенного паросочетания минимального веса в двудольном взвешенном графе.
Построить граф Т=(Х1 У, U), U = {ху: w(x, y)=0L
Найти в графе Т максимальное паросочетание М. Пусть Хм я Ум — множества вершин, не насыщенных паросочетанием М и входящих, соответственно, в доли X и У.
Если Хм = Ум = &, то конец \М — оптимальное решение задачи]. Иначе построить граф Т = Т(Т\ M^j.
Применить к графу Т поиск в ширину (алгоритм ^б) из множества Хм. Если найден (х, у)-путь Р, х^ е Хм, у^ Ум, то перейти к п. 5. Иначе перейти к п. 7.
Преобразовать граф Г, заменив в нем каждую дугу пути Р па обратную. Пусть Хм = (я: х^Х. d~{x) = = 0), Ум = {у: у ^ У, d+(y) = 0} [путем изменения М вдоль увеличивающей цепи найдено повое паросочетание в графе Т^^Х, У, U), Хм^Х, Ум <= У — подмножества вершин графа Т, не насыщенных новым паросочетанием].
Если Хм = Ум = $, то конец [множество всех таких ребер ху, что х ^ X, у^У и (у, х) —дуга графа Т, составляет совершенное паросочетание минимального веса в исходном графе G]. Иначе перейти к п. 4.
Пусть X' <= X и У' ^ У — подмножества вершин графа Т.) получивших пометки в результате поиска в ширину (в п. 4). Среди ребер графа G, имеющих вид ху, х е X' п у ^ У —У', найти ребро минимального веса. Пусть а — вес этого ребра.
Модифицировать веса дуг графа G, применив к нему операцию (Х\ У', а).
Модифицировать граф Т, добавив к нему все такие дуги (х, у), что х^Х, у е У — Y\ w(x, у)= 0, и удалив все такие дуги (х, у), что х^Х — Х^ у^У'. Перейти к п. 4.
Займемся теперь обоснованием алгоритма <5^9. Корректность пн. 1—3 не вызывает сомнений. Легко видеть также, что каждый из этих пунктов можно выполнить за время О(п2). Остальные пункты алгоритма рассмотрим более подробно.
Каждое выполнение п. 5 увеличивает на единицу число вершин у ^ У, для которых ^+(у) = 1. Следовательно, этот пункт выполняется не более п раз. Наша ближайшая цель — показать, что после выполнения пн. 4, 6—9 не более чем п раз подряд обязательно произойдет переход к п. 5, т. е. очередное выполнение п. 4 закончится отысканием пути Р. Рассмотрим подробнее пп. 7—9. После окончания п. 4 и перехода к п. 7 каждая дуга графа Т инцидентна по крайней мере одной вершине множества (X —X')U У'. Это сразу следует из утверждения 77.4. Таким образом, каждое ребро нулевого 360
веса в графе G инцидентно одной из вершин этого множества. С другой стороны, поскольку Хм^^, YM=^^. то X' V= X, ¥' ^ Y. Поэтому из правила выбора величины а в п. 7 следует, что а > 0. После модификации графа G в п. 8 веса всех его ребер останутся неотрицательными (это следует из правила выбора сс). В результате последующей модификации графа Т (п. 9) его дуги по-прежнему будут соответствовать ребрам нулевого веса в графе G, причем дуги вида (у, х), х^Х, у г Y, будут соответствовать па- росочетанию нулевого веса в графе G. Модификация гра- фа Т в п. 9 обладает двумя важными свойствами. Во-первых, удаленные дуги этого графа направлены от непомеченных вершин доли X. Поэтому все вершины, достижимые из Хм в «старом» графе Т, достижимы из этого множества и в «новом» графе Т. Во-вторых, добавленные дуги направлены от помеченных вершин доли X к непомеченным вершинам доли У. Таким образом, применение поиска в ширину к модифицированному графу Т (п. 4) приведет к тому, что дополнительно будет помечена по крайней мере одна вершина доли У. Поскольку |У|=А2, то после выполнения пп. 4, 7—9 не более чем п раз подряд помеченной окажется некоторая вершина множества YMl т. е. будет найден путь Р, и затем последует выполнение п. 5. Как уже было показано, и. 5 (а значит, и п. 6) выполняется не более п раз. Поэтому каждый из пп. 4, 7—9 выполняется не более п2 раз.
Легко видеть, что трудоемкость каждого из пп. 1—-9 не превосходит O^Y Поэтому время работы алгоритма в целом оценивается сверху величиной О(п4).
Как отмечалось выше, после выполнения п. 8 веса всех ребер графа G остаются неотрицательными, и, следовательно, множество оптимальных решений не меняется. Условие окончания Хм = ¥м = ^ означает, что в «последнем» графе Т имеется п дуг, направленных от X \ к У, которым соответствует совершенное паросочетание нулевого веса в «последнем» графе G. Согласно свойству 2 оно является оптимальным решением исходной задачи.
Резюмируем все выше изложенное в виде теоремы.
Теорема 77.5. Алгоритм Л9 строит совершенное паросочетание минимального веса в двудольном взвешенном графе G = (X, У, EG^ |Х[ = |У|=п, за время О(п4).
Замечание. Известен алгоритм, решающий эту задачу за время О(п3). В алгоритме «^9 оценка (Цп^ возникает, по существу, из-за того, что приходится О (я2) раз выполнять операцию (Xх, У7, а), которая сама требует времени О^п2у Снижение оценки до О^п^ достигается за счет того, что результат этой операции удается получить за время О(п).
Недавно опубликован алгоритм, оценка трудоемкости которого во многих случаях предпочтительнее О^у Эта
Рис. 77.3
оценка имеет вид <Э(тг2,5 log^T1)), где Т— наибольший из весов ребер графа.
Пример. На рис. 77.3 представлена матрица весов УК = ПРИ^И двудольного графа G=(X, У, EG^ у которой Wij=w(xil х^, Xi^X, у5^У. Там же изображен граф Т, построенный по максимальному паросочетанию М = = {^2У1, ^1^2} нулевого веса в графе G. Соответствующие этому паросочетанию дуги графа Т обведены жирными линиями, а элементы матрицы W отмечены звездочками.
Перед первым выполнением п. 4 имеем Хм = = Vx^ Х^ £5}, Ум = {уз, ^4, Уб^ Поиск в ширину ИЗ Хм дает Xх = {^2, х^ х^ х^\ Y' = (yi). Вершины множества Xх U У' будем отмечать значком «+». Поскольку пути из Хм в Ум нет, то переходим к пи. 7—9. Находим а = = ^32 = 1 и выполняем операцию ({^2, х^ Х4, #б\ (z/J, 1), т. е. вычитаем 1 из всех элементов в строках 2, 3, 4, 5 и прибавляем это число ко всем элементам первого столбца. В результате к графу Т добавится дуга (ггз, ^2). Модифицированная матрица W (т. е. граф G) и граф Т представлены на рис. 77.4.
Применение поиска в ширину к графу Т дает путь ^=(^3, У2, ^ь уз) из Хм в Ум. Заменим (выполнение п. 5) в графе Т дуги (^з, У2), (У2, #i), (xi, у5) соответ- 362
ственпо на дуги (^2, ^з), (^1, #2), (#5, ^1). Новый граф Т также изображен на рис. 77.4. В нем Хм = {^4, ^sL YM = = {#з, У^.
Снова выполнив поиск в ширину из Хм, получим X7 = {^2, £4, X5V У' = {z/i). Среди элементов матрицы W, лежащих на пересечении строк с номерами 2, 4, 5 и столбцов с номерами 2, 3, 4, 5, находим минимальный.
Рис. 77.6
Получим а = W55 = 2. Результаты последующего применения к графу G операции ({^2, ^4, ^5}, Vy\\ 2) и модифицированный граф Т представлены на рис. 77.5. В этом графе имеется путь Р=(х^ у^ х\. у^ из Хм в Ум. «Новый» граф Т, полученный в результате выполнения п. 5, также изображен на рис. 77.5. Поиск в ширину в этом графе из множества Хм = {^4? дает X7 = {^2, xj, У7 = {?/i). Находим а = PF45 = 1. Результаты последующего выполнения пн. 8, 9 представлены на рис. 77.6. Поиск в ширину из Х4 дает X7 = U2, х^ х5), У7 = Vy\, у^.
Находим а = W44 = 2. Получаем новые матрицу и граф Т (рис. 77.7). В графе Т имеется (^4, уз)-путь Р = = (^4, У4, ^ь #з). Изменив этот граф в соответствии с п. 5, получим новый (рис. 77.7), в котором Хм = Ум = 0. Пять его дуг, ведущих «от X к У», соответствуют ребрам
совершенного паросочетаиия минимального веса в исходном графе G. Вес этого паросочетаиия равен 0 + 0 + 1 + + 6 + 3 = 10.
. Труднорешаемые задачи
Как уже говорилось выше, общепринятой является точка зрения, согласно которой алгоритм считается эффективным, если он имеет полиномиальную сложность. Именно таковы все алгоритмы, рассмотренные в предыдущих параграфах. Заметим, однако, что за пределами этих рассмотрений осталась большая часть важных задач. Это, в частности, задачи отыскания в графе наибольшего независимого множества, гамильтонова цикла, /f-раскраски и ряд других. Все они характеризовались нами как очень трудные еще до того, как мы приступили к обсуждению алгоритмов. Дело в том, что, несмотря на усилия многих специалистов, для решения подобных задач до сих пор не найдено полиномиальных алгоритмов. Более того, имеются веские доводы, позволяющие предположить, что таких алгоритмов не существует. Обсуждению этих доводов и посвящен данный параграф.
Начнем с внесения изменений в вычислительную модель. Будем считать, что каждая ячейка абстрактной вычислительной машины может содержать только 0 или 1, и целые числа рассматриваются в двоичной системе счисления. В соответствии с этим всякое целое число а ^ 0, 1 займет ]loglcd[ ячеек машинной памяти (]я[ — наименьшее целое, не меньшее чем ж). Рациональное 364
число, не являющееся целым, будем рассматривать в виде несократимой дроби и представлять в машине как упорядоченную пару целых чисел — числитель и знаменатель этой дроби. Время выполнения югж.кш элементарной операции примем равным сумме длин записей ее операндов в двоичной системе счисления.
Далее будем рассматривать каждую задачу в так называемом распознавательном варианте. когда решение задачи заключается в получении ответа «да» или «нет». Всякий алгоритм решения такой задачи, будучи примененным к соответствующему входу, работает какое-то время и затем, сообщив ответ «да» либо «нет», останавливается. Для некоторых задач их «естественные» постановки уже являются распознавательными. Таковы, например, задачи распознавания изоморфизма, изоморфной вложимости, гамильтоновости, планарности, эйлеровости графов. Однако чаще (а на практике — как правило) исходная постановка задачи является оптимизационной. В оптимизационной задаче требуется выбрать из множества допустимых решений X такое решение х, вес (или стоимость) которого w^x) минимален. В рассмотренных нами оптимизационных задачах в качестве X фигурировали множества остовов, путей с заданной начальной вершиной или паросочетаний данного графа. Каждой оптимизационной задаче сопоставим ее распознавательный вариант, который выглядит следующим образом. По заданным множеству X, весовой функции w и числу к требуется определить, существует ли элемент х ^ X такой, что w(x^)^k. Очевидно, что имея полиномиальный алгоритм решения оптимизационной задачи, легко получить полиномиальный алгоритм решения соответствующей ей распознавательной задачи. Можно показать, что при довольно необременительных предположениях относительно функции w верно и обратное. Мы не будем на этом останавливаться, поскольку для дальнейшего нам доста- у точно только знать, что оптимизационная задача «не проще» соответствующей распознавательной.
Итак, далее рассматриваются только распознавательные задачи. Определим Р как класс распознавательных задач, каждая из которых может быть решена некоторым алгоритмом за полиномиальное время. Мы уже знаем, что в этот класс входят задачи о минимальных остовах, кратчайших путях и наибольших паросочетаниях (имеются в виду распознавательные постановки этих задач, как было условлено). В то же время было названо не-
сколько задач, принадлежность которых к классу Р не установлена и считается сомнительной.
Теперь сделаем следующее важное наблюдение. Все задачи, с которыми мы сталкивались до сих пор, независимо от того, установлена их принадлежность классу Р или пет, обладают одним общим свойством: если вход задачи таков, что имеет место ответ «да», то существует полиномиальный алгоритм, доказывающий этот факт. Поясним сказанное на примере. Пусть задача состоит в выяснении, является ли граф гамильтоновым, и пусть поступающий на вход граф G гамильтонов, т. е. в графе G имеется гамильтонов цикл С. Тогда доказательство гамильтоновости графа G заключалось бы в проверке включения С ^G. Если, например, граф G задан матрицей смежности, то эту проверку можно выполнить с помощью очевидного алгоритма, затратив О(п^ операций. Подчеркнем, что речь идет лишь о существовании полиномиального доказательства — чтобы иметь это доказательство в своем распоряжении, надо знать цикл С. Положение иное, если граф G не является гамильтоновым. В этом случае нельзя утверждать даже, что полиномиальное доказательство этого факта существует. Можно, конечно, перебрать все (1GI — 1)! простых циклов длины IGI полного графа, проверяя каждый раз, содержится ли цикл в графе G. Однако подобное доказательство требует времени по крайней мере O((|G| —1)!), и, следовательно, не является полиномиальным.
Теперь мы хотим определить еще один класс распознавательных задач, включив в него все задачи, обладающие тем свойством, что если вход задачи имеет ответ «да», то существует полиномиальный алгоритм, проверяющий (доказывающий) этот факт. С этой целью дополним множество обычных операторов, из которых мы составляли алгоритмы, одним особым. Пусть ^ = АЬ Л2, ..., Ат — последовательность, элементами которой служат обычные операторы и один особый, запись которого имеет вид 5(Zi, "UY Zi, 7г ^ fl, 2, ..., mY Пусть, далее, Q=q^ q^, ..., qP— такой список, что q{ = l\ либо qt — U (f = 1, pY После того как ^ и Q заданы, действие особого оператора B(Zi, Z2) определим так: в результате й-го (к С р) выполнения этого оператора управление передается оператору А^, если qK = lTl и А^ если qk = Z2, а при к> р вычисления прекращаются. Итак, последовательности операторов ^ и списку Q ста-
вится в соответствии обычный (детерминированный) алгоритм. Этот алгоритм будем обозначать через ^q, чтобы подчеркнуть наличие двух компонент ^ и Q. Список Q будем при этом называть угадывающей последовательностью, а последовательность ^ — недетерминированным алгоритмом. Подчеркнем особо, что недетерминированный алгоритм не является алгоритмом, а представляет собой чисто абстрактную конструкцию.
Будем говорить, что недетерминированный алгоритм ^ решает распознавательную задачу за полиномиальное время, если найдется такой полином р(п), что выполняется следующее условие: каждый вход длины п этой задачи имеет ответ «да» тогда и только тогда, когда для него существует такая угадывающая последовательность Q, что алгоритм ^Q, будучи примененным к этому входу, останавливается, сообщив ответ «да», и время его работы не превосходит р(п). Заметим, что согласно этому определению каждому входу с ответом «да» должен ставиться в соответствие свой алгоритм ^Q. От этого алгоритма не требуется ничего иного, кроме правильной реакции на свой вход. Поведение алгоритма на всех других входах для нас безразлично.
Задача недетерминированно разрешима за полиномиальное время, если существует недетерминированный алгоритм, решающий ее за это время.
Определим теперь NP как класс всех распознавательных задач, недетерминированно разрешимых за полиномиальное время.
Нетрудно видеть, что Р s NP. Действительно, полиномиальный алгоритм решения всякой задачи из Р можно превратить в полиномиальный алгоритм вида s&Q, добавив оператор В(1\, 1%) так, чтобы он ни разу не срабатывал. При этом в качестве Q можно взять произвольную последовательность, например, состоящую из одного элемента. Класс NP чрезвычайно широк. Например, большинству задач, встречающихся в предыдущих главам, можно «естественным» образом сопоставить распознавательные задачи. При этом окажется, что почти все они принадлежат NP.
В качестве примера доказательства принадлежности задачи к NP рассмотрим задачу об изоморфном подграфе, которую здесь сформулируем в следующем виде.
Даны два графа G\ и G^ причем VG\ = VG2 = V. Установить, существует ли такая подстановка s: У -> V,
для которой истинна импликация
(uv EGy\=> (s (и)s (v^ EG2).
Очевидно, что ограничение VGy = VG2, которого нет в определении, приведенном в § 27, несущественно. Удобно рассматривать эту задачу в матричной постановке. Пусть У™{1, 2, ..., п^ Hi и А2— матрицы смежности графов Gi и G2 соответственно. Обозначим через S матрицу подстановки s (см. § 6). Теперь задачу об изоморфном подграфе можно сформулировать так: определить, существует ли такая матрица подстановки 5, что все единицы матрицы SAyS-1 содержатся среди единиц матрицы A2l т. е. что матрица (А2 — SAyS-1) неотрицательна.
Недетерминированный алгоритм ^ для решения этой задачи выглядит следующим образом.
Выполнить пп. 2—4 для всех & = 1,тг2 и перейти к п. 5.
5(3,4).
tk-^ 0.
/А:-1.
8ц ^-ьы Для всех г, / = 1, п.
Л'^Ш"1.
Если матрица А2 — А' неотрицательна, то конец и ответ «да». Иначе —конец.
Напомним, что S^ — элемент матрицы 5, занимающий позицию (ц /).
Покажем теперь, как выбирать угадывающую последовательность Q. Рассмотрим произвольный вход задачи, имеющий ответ «да». Это—пара симметрических (0,1)- матриц А у и До, для которой существует такая матрица подстановки S, что А2 — ^Д^**1 — неотрицательная матрица. Заменим в матрице 50наЗи1на4ив качестве Q возьмем последовательность элементов этой новой матрицы, выписанных по строкам.
Работа алгоритма j^g состоит из двух этапов. На первом этапе (пп. 1—5) с помощью Q строится матрица подстановки, обеспечивающая изоморфное вложение. Содержанием второго этапа (пп. 6, 7) является проверка того, что матрица S обладает нужным свойством. Полиномиальность алгоритма stq очевидна.
Напомним, что частными случаями задачи об изоморфном подграфе являются задачи об изоморфизме графов. о существовании в графе гамильтонова цикла или клики заданного размера и ряд других. Таким образом, 368
попутно установлена принадлежность всех этих задач к классу NP. Доказательство этого свойства для других графовых задач проводится, как правило, столь же просто. При этом работа алгоритма ^Ql так же как и в предыдущем случае, распадается на два этапа: 1) построение некоторого варианта, 2) проверка того, что этот вариант подходящий. Например, в задаче о /с-раскраске вершин графа такой алгоритм сначала припишет вершинам графа нужные цвета, а затем проверит, что любые две вершины одного цвета не смежны.
Тот факт, что большинство «естественных» задач входит в класс NP^ свидетельствует о чрезвычайной важности вопроса: совпадают ли классы Р и NP*? Эта не решенная до сих пор проблема считается важнейшей в науке о вычислениях. Большинство исследователей склоняется к мнению, что P^NP. На первый взгляд ситуация P=£NP не лишает нас возможности получить в будущем полиномиальный алгоритм решения какой-либо из задач, названных нами «трудными». Однако это не так. Как оказалось, из P^NP следует, что ни одна из этих «трудных» задач не имеет полиномиального алгоритма, а из существования такого алгоритма для одной из них следует, что Р = NP.
Изложение соответствующих результатов опирается на понятие сводимости одной задачи к другой. Предложение «задача А сводится к задаче В» означает, в общепринятом смысле, что из решения задачи В можно получить решение задачи А. Нам необходимо уточнить это понятие так, чтобы оно учитывало вычислительные затраты, связанные с получением решения одной задачи из решения другой.
Пусть существует полиномиальный алгоритм F, который, будучи примененным ко всякому входу I задачи А, строит некоторый вход F(/) задачи В. Если при этом вход 7 имеет ответ «да» тогда и только тогда, когда ответ «да» имеет вход F(I), то говорят, что задача А полиномиально сводится к задаче В, и пишут А ос В. Поскольку сводимостей, отличных от полиномиальной, мы не рассматриваем, то слово «полиномиально» в дальнейшем будем опускать и говорить просто «А сводится к В».
Нетрудно показать, что если задача А сводится к задаче В и В ^Р. то и А е Р. Действительно, пусть ^ — алгоритм решения задачи В и полиномы pi^n), P2W таковы, что O(pi(«)) и О (/>2 (я)) —сложности алгоритмов F и ^ соответственно. Рассмотрим теперь алгоритм
24 в. А, Емеличев и др. 369
sT решения задачи Л, состоящей из двух этапов. На первом этапе вход I задачи А преобразуется алгоритмом F во вход F (I) задачи В. На втором этапе алгоритм ^ применяется ко входу F(I). Согласно определению F, алгоритм <5^ сообщит ответ «да» тогда и только тогда, когда вход I имеет ответ «да», т. е. алгоритм ^' действительно решает задачу А. Выясним теперь его сложность. Если длина 1 равна п, то F^ будет построен за время O(pi(n)), и его длина —O(pi(n)). При этом алгоритм *^, будучи примененным ко входу F^P^ затратит время O(p2(pi(^))). Таким образом, сложность алгоритма ^' есть O(pi(^) + p2(pi(^))). Поскольку суперпозиция и сумма полиномов также являются полиномами, то ^' — полиномиальный алгоритм.
Точно так же можно показать, что изЛосВибосС следует А ос С.
Задачу А назовем NP-полной, если А е NP и любая задача из NP сводится к А.
Из этого определения и предыдущих рассмотрений сразу следует, что Р = NP, если хотя бы одна Л^Р-полная задача входит в Р.
Говоря неформально, каждая ЛР-полная задача «не проще», чем любая задача из NP. Поэтому, доказав Л^Р-полноту некоторой задачи, мы получаем веские основания считать ее трудной. Для доказательства NP-нол- ноты задачи достаточно установить ее принадлежность к NP и показать, что к ней сводится некоторая ЛР-пол- ная задача. Чтобы воспользоваться этой схемой, надо иметь в распоряжении хотя бы одну ЛР-полную задачу.
Первой задачей, относительно которой было показано, что она является Л^Р-полной, была задача о выполнимости. Пусть х\, Х2, хз, ...— булевы переменные, принимающие значения «истина» или «ложь», и ^1,^2, ^з, • • •— их отрицания. Те и другие в совокупности называются литералами. Пусть символы V и Д обозначают булевы операции дизъюнкции и конъюнкции соответственно. Формула и\ V U2 V ... V ит называется элементарной дизъюнкцией, если и\, U2, ..., ит — литералы. Пусть С\, С 2, ... ..., Ср — элементарные дизъюнкции. Тогда выражение вида Сг [\С2 /\ ... Д Ср называется булевым выражением в конъюнктивной нормальной форме. Булево выражение называется выполнимым, еесли входящим в него переменным можно так присвоить значения «истина» или «ложь», что значением выражения будет «истина». Не все выражения являются выполнимыми. Например,
булево выражение (^ V ^2) Л (^1 V ^з) Л (^2 V ^з) вьт” полнимо, а выражение (^ V ^2) Л (^1 V ^2) Л (^1 V ^2) Л Д (^ V х^ не выполнимо. Задача о выполнимости (ВЫПОЛНИМОСТЬ) состоит в определении, является ли данное булево выражение в конъюнктивной нормальной форме выполнимым.
Следующая теорема, приводимая здесь без доказательства, лежит в основе теории АР-полноты.
Теорема (С. Кук, 1971 г.). Задача ВЫПОЛНИМОСТЬ является NP-полной.
В настоящее время известен значительный (и интенсивно пополняющийся) список АР-полных задач. В этом списке находятся почти все задачи, получившие ранее репутацию трудных для алгоритмического решения. Ниже приведены только те из них, с которыми мы сталкивались в предыдущих главах.
Некоторые NP-полные задачи.
КЛИКА: Даны граф G и натуральное число к. Определить, содержит ли граф G клику мощности к.
НЕЗАВИСИМОСТЬ: Даны граф G и натуральное число к. Определить, содержит ли граф G независимое /^-элементное множество вершин.
ИЗОМОРФНЫЙ ПОДГРАФ: Даны два графа G{ = = (У, ЕС) и С2 = (У, ЕС). Определить, существует ли подстановка s: У -^ У, для которой истинна импликация (uv ^Ei)=> (s(u)s(v)^ Е2).
ВЕРШИННОЕ ПОКРЫТИЕ: Даны граф G и натуральное число к. Определить, существует ли в графе G вершинное покрытие мощности не более к.
ДОМИНИРУЮЩЕЕ МНОЖЕСТВО: Даны граф G и натуральное число к. Определить, существует ли в графе G доминирующее множество мощности не менее к.
ГАМИЛЬТОНОВ ЦИКЛ: Дан граф G. Определить, содержит ли граф G гамильтонов цикл.
ЯДРО: Дан ориентированный граф G. Определить, содержит ли граф G ядро.
ВЕРШИННАЯ (РЕБЕРНАЯ) РАСКРАСКА: Даны граф G и натуральное число к. Определить, существует ли правильная /с-раскраска вершин (ребер) графа G.
Рассмотрим в качестве примера доказательство NP- полноты задачи КЛИКА. Пусть Lk — граф, у которого некоторые к вершин образуют клику, а остальные п — к — изолированные вершины. Ранее мы установили, что задача ИЗОМОРФНЫЙ ПОДГРАФ принадлежит
NP. Если в этой задаче положить G2 = G, где G — граф, фигурирующий в формулировке задачи КЛИКА, а в качестве Gi выбрать граф Lkl то получим задачу КЛИКА. Следовательно, задача КЛИКА принадлежит NP.
Покажем теперь, что ВЫПОЛНИМОСТЬ ос КЛИКА. Пусть В = С\ V С2 V ... V Ст — произвольное булево выражение в конъюнктивной нормальной форме, Шх, щ, ... ..., ир> — множество входящих в него литералов. Будем обозначать через С< множество литералов, входящих в элементарную дизъюнкцию Ct.
Поставим в соответствие выражению В граф G по следующему правилу:
VG = (ру: щеС-),
EG = {yy^fez* ^t 7 О-
Таким образом, вершины графа G находятся во взаимно однозначном соответствии с вхождениями литералов в элементарные дизъюнкции. Две вершины смежны, если соответствующие вхождения не противоречат друг другу, т. е. элементарные дизъюнкции различны и оба литерала могут одновременно принять значение «истина».
Пусть в графе G имеется клика размера к = т. Этой клике соответствует набор таких т вхождений и^ е С^ и^^С21 ..., Uim^ Ст, что иц^и^ Поэтому после присвоения всем гц. (/=1,т) значения «истина» выражение В также примет это значение, т. е, В — выполнимое выражение.
Наоборот, предположим, что В — выполнимое выражение. Пусть переменным присвоены значения «истина» или «ложь» так, что выражение В получило значение «истина». Тогда каждая элементарная дизъюнкция Ct должна содержать литерал 1Цр имеющий значение «истина». Ясно, что при этом игй Uir Следовательно, т вершин ^н , и^ . • • i vm%m попарно смежны в графе G, т. е. образуют клику размера т. Таким образом, выражение В выполнимо тогда и только тогда, когда в графе G имеется клика размера к = т. Легко видеть, что построение графа G по выражению В можно выполнить за время O^pW), где р(п)—полином, а п — длина записи выражения В (длина входа задачи ВЫПОЛНИМОСТЬ).
Имеется ряд задач, входящих в NP, для решения которых до сих пор не найдено полиномиальных алгорит- 372
мов и относительно которых неизвестно, являются ли они ЛР-полными. Наиболее заметной графовой задачей среди них является задача об изоморфизме графов.
С другой стороны, большинство встречающихся на практике задач не являются распознавательными и, следовательно, не принадлежат классу NP. В то же время ко многим из них удается свести некоторые ЛР-полные задачи. В этой ситуации полезным оказывается следующее определение. Задача называется NP-трудной, если к ней сводится некоторая Д^Р-полная задача. Новый термин позволяет, например, избежать громоздких конструкций типа «распознавательный аналог задачи Л является Д^Р-полной задачей» и дает возможность говорить просто, что «задача А №-трудна».
Теория Д^Р-полноты, помимо теоретического, представляет и чисто практический интерес. Доказав, что задача Д^Р-трудна, разработчик алгоритмов получает достаточные основания, чтобы отказаться от поиска эффективного и точного алгоритма. Дальнейшие его усилия могут быть направлены, например, на получение приближенного решения, либо на получение решения в типичном случае (в большинстве случаев).
УПРАЖНЕНИЯ
Пусть (at, а^ —-любая пара следующих представлений графа:
(<21) — матрица смежности,
(а2)— список ребер,
(а^ — список смежности.
Покажите, что от сц к а; можно перейти за время О(|яг| + + | ^2 j |), где |а&| —-длина представления ан (к = 1, 3).
Покажите, как с помощью поиска в ширину распознать, является ли граф двудольным.
Связный граф, содержащий в точности один цикл, называется 1-деревом. Постройте эффективный алгоритм для отыскания во взвешенном графе остовного 1-дерева минимального веса.
Пусть граф G — дерево. Постройте алгоритмы сложности О (1^1) для отыскания в графе G
центра,
диаметра.
Выясните сложность алгоритма Флёри для построения эйлерова цикла (см. гл. VII, § 43).
Разработайте алгоритм сложности O(|E'G|) для построения эйлерова цикла в эйлеровом графе G.
Постройте алгоритм сложности О (|^|) для отыскания простого цикла в графе G.
Пусть G — связный граф. Постройте полиномиальный алгоритм для отыскания гамильтонова цикла в графе G\
Пусть G — гамильтонов граф. Разработайте алгоритм сложности 0(1^1) для построения гамильтонова цикла в графе L(G^ при условии, что гамильтонов цикл графа G задан.
Постройте алгоритм сложности OdG,) для раскраски вершин планарного графа G в шесть цветов.
И. Пусть взвешенный ориентированный граф G не содержит контуров. Постройте алгоритм сложности <9(|£G|) для поиска кратчайшего (s, d-пути, ПРИ условии, что хотя бы один такой путь в графе имеется.
Разработайте алгоритм сложности O(|EG|) для отыскания в графе G
максимального паросочетания,
максимального независимого множества,
минимального доминирующего множества.
Пусть d^ d^ ..., du — графическая последовательность. Раз- (п \
2 ^г ) Для построения реали-
i=l / зации этой последовательности.
Список литературы
ОСНОВНАЯ
Берж К. Теория графов и ее применения,—М.: ИЛ, 1962.— 319 с.
3 ы к о в А. А. Основы теории графов.— М.: Наука, 1987.— 381 с.
О р е О. Теория графов.— М.: Наука, 1980.— 336 с.
С в ам и М., Тхуласираман К. Графы, сети и алгоритмы.— М.: Мир, 1984.— 454 с.
Татт У. Теория графов.— М.: Мир, 1988.
Уилсоп Р. Введение в теорию графов.— М.: Мир, 1977.— 207 с.
X а р а р и Ф. Теория графов.— М.; Мир, 1973— 300 с.
ДОПОЛНИТЕЛЬНАЯ
А й г н е р М. Комбинаторная теория.— М.: Мир, 1982.— 556 с.
А х о X., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов.— М.: Мир, 1979.— 536 с.
Б ас а кер Р., С а ат и Т. Конечные графы и сети.— М.: Наука, 1974.—368 с.
И. Белов В. В., Воробьев Е. М., Шаталов В. Е. Теория графов.— М.: Высшая школа, 1976.— 392 с.
Гаврилов Г. П., С апо ж енк о А. А. Сборник задач по дискретной математике.— М.: Наука, 1977.— 368 с.
Г э р и М., Джонсон Д. Вычислительные машины и труднорешаемые задачи.— М.: Мир, 1982.— 416 с.
Д о н е ц Г. А., Шор Н. 3. Алгебраический подход к проблеме раскраски плоских графов.— Киев: Наукова думка, 1982.— 143 с.
Евстигнеев В. А. Применение теории графов в программировании.— М.: Наука, 1985.— 352 с.
Евстигнеев В. А., Мельников Л. С. Задачи и упражнения по теории графов и комбинаторике.—Новосибирск, Изд- во НГУ, 1981.— 88 с.
Емеличев В. А., К о в а л е в М. М., Кравцов М. К. Многогранники, графы, оптимизация.— М.: Наука, 1981.— 341 с.
Земляченко В. Н., КорнеенкоН. М., Тышкевич Р. И» Проблема изоморфизма графов / Теория сложности вычислений, I. Записки научных семинаров ЛОМИ.— 1982.— Т. 118.— С. 83-158.
Зыков А. А. Теория конечных графов.— Новосибирск, Нау
ка, 1969.— 543 с.
Зыков А. А. Гиперграфы / УМН.— 1974.— Т, 29, вып. 6.— С. 89-154.
Коршунов А. Д. Основные свойства случайных графов с большим числом вершин и ребер / УМН.— 1985.— Т. 40, вып. 1.—С. 107—173.
К р и с т о ф и д е с Н. Теория графов. Алгоритмический подход.—М.: Мир, 1978.—432 с.
Маркус К., Минк X. Обзор по теории матриц и матричных неравенств.— М.: Наука, 1972.— 232 с.
Пападимитриу X., С т а й г л и ц К. Комбинаторная оптимизация. Алгоритмы и сложность.— М.: 1985.—510 с.
Р е й н г о л ь д Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы. Теория и практика.— М.: Мир, 1980.— 476 с.
Р и н г е л ь Г. Теорема о раскраске карт.—М .: Мир, 1977.— 256 с.
С е р г и е и к о И. В. Математические модели и методы решения задач дискретной оптимизации.— Киев: Наукова думка, 1985.—381 с.
Теория графов: Сборник переводов/Под ред. В. Б. Алексеева, Г. II. Гаврилова, А. А. Сапоженко.— М.: Мир, 1974.— 223 с.
X а р а р и Ф., Палмер Э. Перечисление графов.— М.: Мир, 1977.— 324 с.
Холл М. Комбинаторика.— М.: Мир, 1970.— 424 с.
Цветкович Д., Дуб М., 3 а х с X. Спектры графов. Теория и приложения.— Киев: Наукова думка, 1984.— 381 с.
Яблонский С. В. Введение в дискретную математику.— М.: Наука, 1986.— 384 с.
Предметный указатель
Автоморфизм графа 42
Аксиомы баз 64
— независимости 66
— ранга 67
— циклов 67
Алгоритм детерминированный 367
— Дийкстры 343
— жадный 93
— Краскала 60
— линейный 322
— недетерминированный 367
— отыскания кратчайших путей 350
— поиска в глубину 325, 332
ширину 348
— полиномиальный 322
— построения минимального остова 337, 340
наибольшего паросочетания
357
•совершенного паросочетания
359
— Прима 61
— укладки графа на плоскости 178
— Флёри 195
База матроида 64
— орграфа 293
Базис коциклов матроида 81
— разрезов графа 84
— циклов графа 84
матроида 81
Валентность вершины 26
Вершина висячая 26
— доминирующая 26
— изолированная 26
— концевая 26
— периферийная 35
— центральная 36
Вес подграфа 36
— ребра 36
Вход задачи 321
Гиперграф 298
— абсолютный 307
— бихроматический 309
— двойственный 299
— ^-однородный 299
Л-униформнЫй 299
Гиперграф ^-раскрашиваемый 306
•— А-хроматический 306
— А-цветной 306
— связный 301
■—, удовлетворяющий условию Хел
ли 311, 313
Гипотеза Бержа 272
— Келли — Улама 18
— Рамачандрана 286
— реконструируемости вершинной
18
*реберной 18
— Хадвигера 264
— Харари 18
— четырех красок 255
Грани карты смежные 255
Граница грани плоского графа 153
Грань плоского графа 153
внешняя 153
внутренняя 153
Граф 9
— абстрактный 14
— ациклический 53
—- бихроматический 237
— взвешенный 36
— внешнепланарный 189
максимальный 189
— выпуклый прямолинейный 163
— гамильтонов 196
— гамильтоново связный 207
— двойственный абстрактно 172
геометрически 169
— двудольный 11
— додекаэдра 11
— дополнительный 15
— икосаэдра И
— клик 112
— конечный 9
— куба 11
— кубический 33
— неориентированный 9
— непомеченный 14
— обыкновенный 17
•— однородный 32
— октаэдра 11
— ориентированный 16
— пересечений 38
— Петерсена И
— планарный 150
— плоский 150
максимальный 158
— полный 10
— помеченный 14
.— пороговый 224
— простой 17
‘ пустой 10
Граф раскрашиваемый реберно 248
— расщепляемый 222
— реберный 38, 311
— регулярный 33
— реконструируемый 18
— решетки 207
— самодополнительный 15
— сбалансированный 15
— связный 23
— смешанный 16
— совершенный 268
— тетраэдра И
— тороидальный 184
— триангулированный 272
— эйлеров 192
— й-дольный 11
— /t-раскрашиваемый 235
— ^-связный 136
— /t-хроматический 236
Графы изоморфные 13
— коспектральные 29,
— платоновых тел 11
Группа автоморфизмов графа 43
Дерево 53
— остовное 57
— с корнем ориентированное 324
— Штейнера 62
Дефицит двудольного графа 128
Диаметр 35
Длина входа задачи 321
— маршрута 22
— списка 319
Игра «Кругосветное путешествие» 196
Изоморфизм графов 13
— матроидов 73
Индекс хроматический 248
Искаженность графа 187
Каркас 55
Карта 255
— /t-раскрашиваемая 255
Класс цветной 238, 248
Клика 111
— максимальная 111
— наибольшая 111
Кобаза 68
Колесо 11
Колода графа 18
Компонента 24, 301
— базовая 293
— связная 24, 301
— сильная 282
— сильно связная 282
— /t-связная 136
Конденсация 282
Контур гамильтонов 286
Коостов 72
Коцикл 69
Критерий Гавела — Хакими 211
— Эрдёша — Галлаи 213
Куб п-мерный 20
Лемма о рукопожатиях 26
Лес 53
Лист 141
Емкость графа шенноновская 109
Задание графа списками смежности 320
списком ребер 319
Задача коммивояжера 206
— об остове минимального веса 60
— о восьми ферзях 102
выполнимости 371
гаремах 90
кёнигсбергских мостах 191
кратчайшем остове 60
пути 342
назначениях 124
пересечении матроидов 100
пяти ферзях 109
свадьбах 87
трех домах и трех колодцах 152
— проектирования коробки скоростей 237
— размещения минимаксная 36
— распознавательная 365
— распределения оборудования 236
— составления расписаний 236
— Штейнера евклидова 62
на графах 62
прямоугольная 62
— ЛГ-полная 370
— /VP-трудная 373
Замыкание транзитивное 297
Звезда И
Знак Магомета 192
Маршрут 22
— ориентированный 280
— остовный 281
Матрица весов 319
— инцидентности 31
— Кирхгофа 30
— клик 115
— смежности 27
приведенная 30
Матроид 64
— бинарный 79
— векторный 70, 74
— графический 74
— двойственный 69
— дискретный 70
— матричный 21
— однородный 100
— представимый 75
— разбиения 92
— разрезов графа 72
— свободный 70
— трансверсальный 92*
— тривиальный 70
— циклов графа 72
Множество внутренне устойчивое
102
— графа степенное 232
— доминирующее 109
минимальное 109
наименьшее 109
— независимое 102, 304
максимальное 102
наибольшее 102, 304
Множество ребер графа независимое
122
— трансверсальное гиперграфа 303
— элементов матроида зависимое 67
•независимое 69
конезависимое 69
независимое 66
Мост 134
Мультиграф 15
— ориентированный 16
Набор независимых множеств матроида 65
Неплотность графа 103
Область связности 24, 301
Обхват 22
Объединение графов 19
дизъюнктное 19
— матроидов 95
Окружение 10, 125
Оператор 318
— «конец» 319
— присваивания 319
Операция элементарная 318
Опора 111
Орграф 16
— гамильтонов 286
— односторонне связный 280
— односторонний 280
— реберный 297
— сильно связный 280
— слабо связный 281
— транзитивный 291
— эйлеров 286
Ориентация графа 32
Основание графа 283
Остов 55
Отец вершины ордерева 327
Отождествление вершин графа 21
Очередь 323
Пара векторов графическая 284
Паросочетание 122, 303
— максимальное 122
— наибольшее 122, 303
— совершенное 123
Петля 16
Плотность 111
Подграф 17
— индуцированный 17
— остовный 17
— порожденный 17
Поддерево с корнем 327
Подразбиение ребра 160
Подцепь 22
Поиск в глубину 323
ширину 37
Покрытие вершинное 111
минимальное 111
наименьшее 111
— реберное 122
минимальное 122
наименьшее 122
Полином графа характеристический 29 хроматический 247 Полуконтур 280
Полумаршрут 280
Полупуть 280
Полустепень захода вершины 283
— исхода вершины 283
Полуцепь 280
Порядок гиперграфа 298
— графа 9
— матроида 65
Последовательность графа степенная 26
— графическая 209
— правильная 209
— производная 212
— расщепляемая 223
— угадывающая 367
— униграфическая 211
Потомок вершины ордерева 327
Предок вершины ордерева 327
Представление гиперграфа кёнигово 300
— матроида 75
— списка последовательное 319
Проблема изоморфизма графов 115
— изоморфного подграфа 115
— изоморфной вложимости 115
— Кёнига 47
— клики 115
Произведение графов 20
модульное 116
Пространство коциклов матроида
81
— разрезов графа 84
— циклов графа 84
матроида 81
Псевдограф 16
Путь в орграфе 280
Радиус графа 35
Разложение матроидное 120
— множества вершин полярное 222
— пороговое 228
Размер входа задачи 321
Ранг графа 28
— коциклический 56
— матроида 65
— подмножества элементов матроида 67
— циклический 56, 303
Раскраска вершинная 235, 306
— минимальная 236
— последовательная 238
— правильная 235, 306
— реберная 248
Расстояние между вершинами 34
Расщепление вершины 22
Реализация гиперграфа 310
строгая 314
Реконструкция 18
Род графа 184
Сабли Магомета 192
Сепаратор 145
Система различных представителей
87
Слияние вершин 21
Сложность алгоритма 321
Спектр графа 29
Список 319
Стек 322
Степень вершины 26, 299
Степень графа 34 регулярного 32 сильная 108 — ребра 299
Структура данных 377
Стягивание ребра 21
Сын вершины ордерева 327
Цепь диаметральная 35
— простая 22
Цикл 22
— гамильтонов 196
— матроида 67
— простой 22
— эйлеров 192
Толщина графа 186
Точка сочленения 134
— Штейнера 62
Трансверсаль 87
— независимая 88
— частичная 87
Триангуляция плоская 157
Трудоемкость алгоритма 321
Турнир 283
Тэта-граф 197
Часть графа 17
Число кликовое 111
— матроидное 120
— независимости 103, 304
— паросочетания 122, 303
— покрытия вершинного 111
—кликового 112
реберного 122
— пороговое 228
— связности 133, 134
— скрещиваний 184
— Хадвигера 21
Эксцентриситет вершины 35Эксцентриситет вершины 35
Эксцентриситет вершины 35
Эксцентриситет вершины 35
Укладка графа 151
Униграф 211
Фактор 17
Функция матроида коранговая 69
ранговая 67
Ядро 294
Центр графа 36
Цепь 22, 300
^-компонента 196
/-процедура 212
п-последовательность 209
Оглавление
Предисловие .
9917192226273234363842475199171922262732343638424751Введение .
9
9
17
19
22
26
27
32
34
36
38
42
47
51
9
9
17
19
22
26
27
32
34
36
38
42
47
51
Глава I. НАЧАЛЬНЫЕ ПОНЯТИЯ .......
Определение графа
Подграфы
Операции над графами
Цепи, циклы, компоненты
Степени вершин графа .
Матрицы, ассоциированные с графом
Регулярные графы
Метрические характеристики графа
Критерий двудольности графа
Реберный граф
Группа автоморфизмов графа
«Почти все» графы
Упражнения
Глава И.ДЕРЕВЬЯ53
Определение дерева53
Матричная теорема Кирхгофа57
Остов минимальноговеса60
Упражнения63
Глава Ш. МАТРОИДЫ И ТРАНСВЕРСАЛИ64
Азбука теории матроидов64
Двойственный матроид .68
Примеры матроидов70
Изоморфизм матроидов 73
Представление матроида . 75
Бинарные матроиды .........79
Трансверсали87
Жадный алгоритм .. 92
Объединение и пересечениематроидов...95
Упражнения 100
Глава IV. НЕЗАВИСИМОСТЬ И ПОКРЫТИЯ .102
Независимые множестваипокрытия .102
Клика . 111
Проблемы клики, изоморфной вложимости и изоморфного подграфа.115
Интерпретации независимых множеств...117
Паросочетания ..,.......122
Паросочетания в двудольномграфе....124
Двудольные графы исемействаподмножеств.128
Паросочетания и покрытия130
Упражнения132
Глава V. СВЯЗНОСТЬ133
Вершинная связностьи ребернаясвязность..133
Двусвязные графы137
Теорема Менгера145
Упражнения148
Глава VI. ПЛАНАРНОСТЬ150
Плоские и планарные графы ..150
Грани плоского графа. Формула Эйлера ...153
Плоские триангуляции157
Критерии планарности159
Двойственность и планарность ......169
Алгоритм укладки графа на плоскости ...175
Характеристики непланарных графов ....183
Упражнения .... 187
Глава VII. ОБХОДЫ191
Эйлеровы графы191
Гамильтоновы графы196
Упражнения207
Глава VIII. СТЕПЕННЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ,.208
Графическая последовательность209
Критерии графичности последовательности..211
Реализация графической последовательностис максимальной связностью217
Гамильтонова реализация графической последовательности 220
Расщепляемые графы222
Пороговые графы223
Пороговое разложение графа228
Степенное множество графа232
Упражнения .234
Глава IX. РАСКРАСКИ,235
Правильная раскраска235
Оценки хроматического числа238
Хроматический полином245
Раскраска ребер248
Связь матроидных разложений графов с раскрасками 252
Раскраска планарных графов255
Проблема четырех красок260
Другие подходы к раскраске графов ....264
Совершенные графы .........267
Триангулированные графы272
Упражнения277
Глава X. ОРИЕНТИРОВАННЫЕ ГРАФЫ279
Основные определения279
Полустепени исхода и полустепени захода.,283
Обходы286
Пути290
База и ядро . . 293
Упражнения296
Глава XI. ГИПЕРГРАФЫ298
Основные определения и свойства298
Независимые множества304
Раскраски306
Реализации гиперграфа310
Упражнения315
Глава XII. АЛГОРИТМЫ317
Предварительные сведения317
Поиск в глубину323
Отыскание двусвязных компонент327
Минимальный остов334
Кратчайшие пути342
Наибольшие паросочетания изадача о назначениях 354
Труднорешаемые задачи364
Упражнения373
СПИСОК ЛИТЕРАТУРЫ375
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ 377
Учебное издание
ЕМЕЛИЧЕВ Владимир Алексеевич МЕЛЬНИКОВ Олег Исидорович САРВАНОВ Владимир Иванович ТЫШКЕВИЧ Регина Иосифовна
Лекции по теории графов
Заведующий редакцией Е. Ю. Хобан
Редактор А. Д. Вайнштейн
Художественный редактор Т. Н. Колъченко
Технический редактор С. Я. Шкляр
Корректоры О. А. Бутусова, И. Я. Кришталъ
ИБ Ко 32506
Сдано в набор 10.05.89. Подписано к печати 04.10.90. Формат 84X108/32. Бумага тип. Ks 2. Гарнитура обыкновенная. Печать высокая. Усл. печ. л. 20,16. Усл. кр.-отт. 20,16. Уч-изд. л. 20,99. Тираж 22 000 экз. Заказ № 666. Цена 1 р.
Издательско-производственное и книготорговое объединение «Наука»
Главная редакция физико-математической литературы
117071 Москва В-71, Ленинский проспект, 15
Четвертая типография издательства «Наука» 630077 Новосибирск, 77, Станиславского, 25
Лекции по ТЕОРИИ ГРАфОВ
Допущено Государственным комитетом СССР
по народному образованию в качестве
учебного пособия для студентов, обучающихся
по специальностям «Математика» и «Прикладная математика»
МОСКВА «НАУКА»
ГЛАВНАЯ РЕДАКЦИЯ
ФИЗИКО-МАТЕМАТИЧЕСКОЙ ЛИТЕРАТУРЫ 19 9 0
ББК 22.174
Л 43
УДК 519.17(075.8)
Авторы: В. А. ЕМЕЛИЧЕВ, О. И. МЕЛЬНИКОВ,В. И. САРВАНОВ, Р. И. ТЫШКЕВИЧ
Лекции по теории графов/Е м е л и ч е в В. А., Мельников О. И., С а р в а н о в В. И., Тышкевич Р. И,—М.: Наука. Гл. ред. физ.-мат. лит., 1990.— 384 с,— ISBN 5-02-013992-0.
Излагаются основы теории графов, обсуждаются некоторые* известные проблемы. Приводятся примеры сведения прикладных задач к задачам теории графов и использования аппарата этой теории. Отдельная глава посвящена комбинаторным алгоритмам^ связанным с поиском структурных и числовых характеристик графов. Каждая глава сопровождается упражнениями.
Для студентов вузов, обучающихся по специальностям «Математика» и «Прикладная математика».
Табл. 1. Ил. 211. Библиогр. 32 назв.
Рецензенты:
Кафедра математических методов исследования операций Воронежского государственного университета.
©«Наука».Физматлит, 1990©«Наука».Физматлит, 1990Кафедра теории исследования операций Ленинградского государственного университета.
©«Наука».
Физматлит, 1990
©«Наука».
Физматлит, 1990
л 1602100000—110 35 91053(02)-90
ISBN 5-02-013992-0
Посвящается
Дмитрию Алексеевичу СУПРУНЕНКО