Нижегородский государственный

advertisement
Иорданский М.А.
Введение в теорию графов
Нижний Новгород
2014
Министерство образования и науки Российской федерации
ФГБОУ ВПО «Нижегородский государственный педагогический университет имени Козьмы Минина»
Иорданский М.А.
ВВЕДЕНИЕ В ТЕОРИЮ ГРАФОВ
Учебное пособие
Нижний Новгород
2014 год
УДК 519.17(075)
ББК 22.174.2я73
И756
Введение в теорию графов: учебное пособие /
И756 М.А.Иорданский. – Н.Новгород: НГПУ им. К.Минина, 2014. – 80 с.
В пособии рассматриваются основные понятия теории графов, классические задачи
обхода и раскраски графов, способы задания графов для решения задач на ЭВМ, конструктивные описания графов и их приложения в задачах размещения информации. Приведены
примеры решения соответствующих задач.
Пособие предназначено студентам НГПУ, изучающим дискретную математику, теоретические основы информатики, методы кодирования информации, решающим задачи на
ЭВМ. Материал пособия может быть полезным учителям математики и информатики.
УДК 519.17(075)
ББК22.174.2я73
© Иорданский М.А., 2014
 НГПУ им. К.Минина, 2014
СОДЕРЖАНИЕ
Введение ……………………..…………………………………….4
Глава 1. Основные понятия теории графов……………………....7
1.1. Абстрактные графы и геометрические реализации…….…7
1.2. Подграфы и их свойства……………………...…………....10
1.3. Эйлеровы и гамильтоновы графы………… ………….…12
Глава 2. Задачи раскраски графов………………………………16
2.1. Хроматическое число графа……………………………....16
2.2. Свойства плоских графов………………………………....19
2.3. Раскраска планарных графов……………………………..21
Глава 3. Способы задания графов………………………………23
3.1. Алгоритмические вопросы…………………………….…23
3.2. Матричные формы…………………………………….…..25
3.3. Списковые представления…………………………….….29
3.4. Оптимальное кодирование графов…………………….…32
Глава 4. Конструктивные описания графов……………………37
4.1. Основные понятия и представления………………... …..37
4.2. Классы всех графов, мультиграфов и простых графов...43
4.3. Классы планарных графов………………………………46
4.4. Эйлеровы графы……………………………………….…51
4.5 Гамильтоновы графы……………………………………...55
Глава 5. Приложения конструктивных описаний графов….…61
5.1. Свойства минимальных нумераций……………………..62
5.2. Минимальные плоские размещения………....………….66
5.3. Оценки длин деревьев……….…………………...….74
Литература……………………………….……………….….…78
Предисловие
Учебное пособие разработано на основе лекционных и практических занятий, проводившихся автором в течение ряда лет со студентами факультета
математики, информатики и физики Нижегородского государственного педагогического университета. Кроме того, оно содержит дополнительный материал, позволяющий студентам углубить свои знания по отдельным вопросам.
В пособии излагаются основополагающие факты теории графов. Рассматриваются классические задачи обхода и раскраски графов, входящие в образовательные стандарты по дискретной математике для студентов педвузов. Особенностью пособия является его практическая направленность: значительное
место уделено вопросам задания информации о графах, возникающим при использовании ЭВМ. При этом оценивается степень оптимальности кодирования
с точки зрения «сжатия» информации. Соответствующие знания могут быть
востребованы студентами при изучении таких дисциплин федерального компонента, как «Теоретические основы информатики», «Программирование» и
«Практикум решения задач на ЭВМ», а также некоторых курсов по выбору:
«Методы кодирования информации», «Динамические структуры данных»,
«Введение в математическую кибернетику» и др.
Теория графов имеет многочисленные приложения в различных сферах
человеческой деятельности. В пособии рассматривается задачи оптимального
размещения информации, излагаемые на профессиональном уровне, позволяя
студентам «заглянуть» на передний край науки «Информатика».
Все утверждения – теоремы, леммы и следствия, а также формулы и примеры имеют номера, состоящие из трех чисел. Первое означает номер главы,
второе – номер раздела в этой главе, третье – номер утверждения или примера
в разделе. Символ  используется для обозначения конца доказательства.
Утверждения набраны курсивом, а определяемые слова – жирным курсивом.
Жирным шифром набраны слова «теорема» и «доказательство». Для выделения
заголовков примеров используются прописные буквы.
Введение
При решении многих логических, комбинаторных задач (головоломок)
рука невольно тянется к изображению исходных данных, их структуры в виде
рисунка или диаграммы, состоящей из точек и линий (отрезков), соединяющих
точки между собой соответствующим образом. Эти рисунки (диаграммы) есть
не что иное, как графы решаемых задач.
Само решение сводится при этом к выполнению определенных действий
над соответствующим графом (над его точками и линиями), не являющихся в
общем случае ни арифметическими, ни алгебраическими операциями.
Начало теории графов как математической дисциплины было положено
Леонардом Эйлером в работе, датированной 1736 годом, в которой была решена задача, называемая в литературе задачей о кёнигсбергских мостах.
Жителям Кёнигсберга хотелось пройти по
всем мостам города по одному разу и вернуться
к себе домой. Однако все их попытки оказывались неудачными. Л.Эйлер не только показал, что
желаемый обход существующих мостов невозможен, но и сформулировал необходимое и достаточное условие, когда такой обход возможен. При этом использовались, как
бы мы теперь сказали, методы теории графов.
Интерес к проблемам теории графов возродился в середине 19 века (главным образом в Англии) благодаря достижениям в различных естественных
науках (химия, электротехника, кристаллография). Позднее развитие формальной логики привело к изучению бинарных отношений в форме графов. Граф
может служить математической моделью для любого бинарного отношения.
Большое число популярных головоломок поддаётся формулировке
непосредственно в терминах теории графов. При желании много занимательных задач, решаемых с помощью графов можно найти в [1].Такая наглядность и
кажущаяся понятность теоретико-графовых конструкций породила (и порой
порождает сейчас) весьма поверхностное отношение к возможностям этой тео-
рии. Хотя серьезное отношение ко всей массе «увлекательных» задач уже в позапрошлом веке приводило к пониманию, что многие задачи такого рода содержат математическое ядро, важность которого выходит за рамки конкретных
задач. Наиболее известная из таких задач – проблема четырёх красок, поставленная Де Морганом в середине 19 века: можно ли любую карту на поверхности земного шара раскрасить только четырьмя цветами (красками) таким образом, чтобы никакие две соседние страны не были раскрашены в один цвет? Эту
задачу не удается решить более ста лет, хотя доказательства для случаев 6 и 5
красок были найдены достаточно быстро. В 1976 году было опубликовано сообщение, что американским ученым удалось доказать эту гипотезу, однако их
доказательство, основанное на переборе значительного числа так называемых
неустранимых конфигураций, очень трудоемко и его невозможно провести без
использования ЭВМ. Изначально для этого потребовалось около 1200 часов
машинного времени, которое позднее удалось сократить до 300 часов. Сам
текст доказательства занимает сотни страниц. Неоднократно в нем обнаруживались и исправлялись ошибки. Поэтому многие по-прежнему используют слово «гипотеза», когда говорят об этой задаче.
Приведенный пример иллюстрирует характерную особенность задач теории графов, как и в целом задач дискретной математики, - существенную зависеть сложности решения задачи даже от небольших изменений её параметров.
Возникновение теории графов как самостоятельной математической дисциплины принято относить к 1936 году, когда вышла в свет монография венгерского математика Д. Кёнига «Теория конечных и бесконечных графов». Там
впервые был введён и сам термин «граф». Бурное развитие теории графов началось во второй половине 20 века в связи с практическими запросами математической логики, машинной математики, автоматики, теории информации, теории
игр, исследования операций, математической лингвистики
- всего «букета
наук», тесно связанных с кибернетикой. В них, в отличие от классического анализа непрерывных величин, на первый план выдвигаются рассуждения и построения дискретно-комбинаторного характера. Попытки подвести теорию
графов под какой-либо из сложившихся разделов математики (алгебра, комбинаторная топология, математическая логика) оказались несостоятельными. Аппарат алгебры, правда, удаётся использовать в теории графов не только как вычислительное средство, но и как орудие исследования, однако в изучении графов слишком большую роль играет чисто комбинаторное искусство, недостаточно охваченное алгебраической наукой. После таких неудачных попыток было осознано, что теории графов нужен свой математический аппарат, прочно
опирающийся на алгебру и насквозь пронизанный комбинаторикой.
Глава 1. Основные понятия теории графов
1.1. Абстрактный граф и его геометрическая реализация
Графом (абстрактным) называется совокупность множества N={a1,a2,…}
и семейства M ={(ai,aj)}, ai,aj N (пары рассматриваются неупорядоченными и
не предполагаются различными). Элементы множества N называются вершинами графа, а пары вершин из семейства M – ребрами графа. Ребра вида (ai,ai)
называются петлями. Про ребро (ai,aj) будем говорить, что оно соединяет вершины ai и aj или, что вершины ai и aj являются концами ребра (ai,aj). Вершины
ai и aj называются инцидентными ребру (ai,aj), а ребро – инцидентным этим
вершинам. Вершины, которым не инцидентно ни одно ребро, называются изолированными. Вершины, являющиеся концами некоторого ребра, называются
смежными вершинами.
ПРИМЕР 1.1.1. Абстрактный конечный граф, заданный совокупностью
N ={a1, a2, a3, a4, a5, a6, a7}
M ={(a1, a2), (a2, a2), (a4, a5), (a5, a6), (a5, a6), (a6, a7), (a5, a7)}
В случае, когда множество N и семейство M конечны, говорят, что граф
конечный, в противном случае граф считается бесконечным.
Обычно рассматривают геометрическую реализацию абстрактного графа.
Выделим с этой целью в n-мерном Евклидовом пространстве фигуры определенного вида. Каждая из них состоит из различных точек (вершин): b1, b2, …, и
линий (ребер) – отрезков прямых, дуг окружностей и т.п., соединяющих некоторые пары вершин (bi, bj). Эти линии проведем так, чтобы они не пересекались
и не проходили через другие вершины. Полученные фигуры будем называть
геометрическими реализациями соответствующих абстрактных графов, если
можно установить взаимно-однозначное соответствие между вершинами абстрактного графа и вершинами фигуры, сохраняющее отношение смежности,
то есть если какие-то две вершины графа смежны, то их вершины-образы в фигуре должны быть соединены линией и наоборот, если две вершины графа не
смежны, то их вершины-образы не соединены линией в фигуре.
ПРИМЕР 1.1.2. Абстрактному графу из примера 1.1.1 можно сопоставить
следующую геометрическую реализацию:
b2
b1
b5
b3
b4
b6
b7
Теорема 1.1.1. Каждый конечный граф может быть реализован в трёхмерном Евклидовом пространстве.
Доказательство. Проведем прямую в 3-х мерном Евклидовом пространстве. Разместим вершины графа в произвольном порядке в различных точках
этой прямой. Проведем через прямую столько полуплоскостей, сколько ребер в
графе. Каждое ребро представим в виде дуги, проведенной в соответствующей
полуплоскости. В результате получаем фигуру в трёхмерном пространстве, являющуюся геометрической реализацией графа, поскольку ребра, принадлежащие разным полуплоскостям, попарно не пересекаются и не проходят через
другие вершины.

Два графа называются изоморфными, если можно установить взаимнооднозначное соответствие между их вершинами, сохраняющее отношение
смежности. В дальнейшем будем рассматривать графы с точностью до изоморфизма. Поскольку абстрактный граф и его геометрическая реализация являются
изоморфными графами, то будем далее обращаться с графами как с геометрическими объектами. Поскольку кратным ребрам соответствуют разные линии,
то семейству M будет соответствовать множество ребер.
При рассмотрении графов будем пользоваться обозначениями G=(V,E),
или G(V,E), где V=V(G) – множество вершин графа G, а E=E(G) – множество
рёбер графа G. Граф G   (V , E ) называется подграфом графа G=(V,E), если
V   V(G) и E   E(G) . Разумеется, если некоторое ребро включено в подграф,
то его концевые вершины должны принадлежать подграфу.
Граф G называется полным, если каждая пара вершин соединена ребром.
Для полного графа с n вершинами используется обозначение Kn . Если множество вершин графа можно разбить на два подмножества, таких что каждая вершина одного подмножества смежна с каждой вершиной другого, а вершины
внутри каждого подмножества попарно несмежны, то такие графы называются
полными двудольными. Для полных двудольных графов используется обозначение K n,m , где n и m число вершин в долях графа. Если граф не содержит ребер, то его называют пустым. Пустой n-вершинный граф обозначается как On .
Степень вершины – число рёбер, инцидентных данной вершине. При
наличии петель они учитываются за два ребра.
Два графа называются гомеоморфными друг другу, если они изоморфны
с точностью до вершин степени 2, то есть, если их можно сделать изоморфными после включения некоторого количества вершин второй степени в их рёбра.
ПРИМЕР 1.1.3. Приведенные ниже графы гомеоморфны, поскольку их
можно сделать изоморфными путем включения вершины степени 2 в соответствующие ребра.
Если граф допускает геометрическую реализацию в 2-х мерном Евклидовом пространстве (на плоскости), то он называется планарным. В противном
случае граф называется непланарным.
ПРИМЕР 1.1.4. Непланарные графы с минимальным числом вершин.
K3,3
K5
Убедиться в том, что указанные графы не допускают реализацию на
плоскости можно перебором всех вариантов размещения. Определить, является
ли заданный граф G планарным можно с помощью следующего критерия. установленного советским математиком Понтрягиным и польским Куратовским.
Теорема 1.1.2. Граф планарен тогда и только тогда, когда он не содержит подграфов, гомеоморфных K5 или K3,3 .
Доказательство этой теоремы достаточно сложное, при желании его

можно найти в [2].
1.2. Подграфы и их свойства
Чередующаяся последовательность вершин и рёбер, начинающаяся и заканчивающаяся вершинами, в которой каждое ребро соединяет вершины, одна
из которых непосредственно предшествует данному ребру, а другая непосредственно следует за ним, называется маршрутом.
ПРИМЕР 1.2.1. Пусть граф G(V,E) имеет вид
v3
v2
Маршрутом
v4
в
v1
графе G
будет,
например,
последовательность:
v1(v1,v3)v3(v3,v1)v1(v1,v2)v2. Длина маршрута – число содержащихся в нем рёбер.
Цепь – маршрут, в котором нет повторяющихся ребер. Цепью будет, например,
последовательность: v2(v2,v3)v3(v3,v4)v4(v4,v1)v1(v1,v3)v3. Простая цепь – цепь, в
которой все вершины различны. В качестве примера простой цепи можно привести последовательность v2(v2,v3)v3(v3,v4)v4(v4,v1)v1. Замкнутый маршрут –
маршрут, в котором совпадают концевые вершины. Замкнутым будет, например, такой маршрут: v1(v1,v3)v3(v3,v2)v2(v2,v3)v3(v3,v4)v4(v4,v1)v1. Цикл – цепь, концевые вершины которой совпадают. Простой цикл – простая цепь, концевые
вершины которой совпадают. Простым циклом будет, например, последовательность v1(v1,v3)v3(v3,v4)v4(v4,v1)v1.
При решении некоторых задач удобно бывает иметь дело с графами, ребра которых задаются упорядоченными парами вершин. Такие графы называются ориентированными (орграфами), а ребра, изображаемые линиями со стрелками, - дугами. Для ориентированных графов будем пользоваться обозначением
D(V,X), где X =X(D) – множество дуг графа D.
ПРИМЕР 1.2.2. Пусть орграф D(V,X) имеет вид:
V3
V4
V2
V1
В орграфе аналогично вводятся понятия: ориентированный маршрут,
например: v1(v1,v3)v3(v3,v4)v4(v4,v1)v1(v1,v3)v3;
путь - ориентированная цепь,
например: v1(v1,v3)v3(v3,v4)v4(v4,v1)v1(v1,v2)v2; простой путь – ориентированная
простая цепь, например: v1(v1,v3)v3(v3, v4)v4.
Из замкнутых ориентированных маршрутов обычно выделяют контур –
ориентированный простой цикл, например: v1(v1,v3)v3(v3,v4)v4(v4, v1)v1.
Понятие степени вершины для ориентированных графов расчленяется на
две составляющих: полустепень исхода – число дуг, начинающихся в данной
вершине, и полустепень захода – число дуг, оканчивающихся в данной вершине.
Граф G(V,E) называется связным, если для любой пары его вершин в
графе существует хотя бы одна цепь, соединяющая их. В противном случае
граф называется несвязным и его можно разбить на компоненты связности. Так,
например, граф из примера 1.1.2 содержит 3 компоненты связности. Для орграфов D(V,X) вводится три типа связности. Орграф D(V,X) сильно связен, если
для любой пары вершин существует путь, ведущий из первой вершины во вторую, и из второй в первую; односторонне связан, если для любой пары его
вершин по крайней мере одна из них достижима из другой; слабо связан, когда
связано основание орграфа D – неориентированный граф G, соответствующий
D. В противном случае ориентированный граф называется несвязным.
Ребро графа называется мостом (перешейком), если его удаление приводит к увеличению числа компонент связности графа. Рассмотрим класс связных графов, в которых свойство связности экстремально: каждое ребро графа
является мостом. Связный граф, в котором каждое ребро является мостом,
называется деревом. Другими эквивалентными определениями являются:

дерево – связный граф, не содержащий циклов (ациклический);

дерево – связный граф, в котором любая пара вершин соединяет-
ся единственной простой цепью;

дерево – связный граф, в котором число рёбер на единицу меньше
числа вершин.
Остовное дерево графа – дерево, содержащее все его вершины.
ПРИМЕР 1.2.3. Все неизоморфные остовные деревья графа из примера
1.2.1.:
V3
V3
V4
V2
V1
V4
V2
V1
Используя введенные понятия из теории графов, вернёмся к рассмотрению задачи Эйлера о кёнигсбергских мостах.
1.3. Эйлеровы и гамильтоновы графы
При решении задачи о кёнигсбергских мостах Л.Эйлер сопоставил каждой части суши, включая и острова, вершину, а каждому мосту  ребро, соединяющее соответствующую пару вершин. Получился следующий граф:
Решение исходной задачи эквивалентно нахождению в этом графе цикла,
содержащего все его рёбра. Нетрудно убедиться (перебором), что для данного
графа не существует искомого цикла. Л.Эйлер ответил на вопрос, когда в произвольном связном графе G(V,E) можно выделить цикл, содержащий все его
рёбра. Такие графы и циклы называются для краткости эйлеровыми.
Теорема 1.3.1. Связный граф G является эйлеровым тогда и только тогда, когда каждая вершина в G имеет чётную степень.
Доказательство. Необходимость очевидна, так как при каждом прохождении через вершину используется по два ребра.
Достаточность покажем индукцией по M-числу рёбер в графе G:
. Утверждение справедливо(вклад петли в степень равен 2)
1. M=1:
Утверждение теоремы верно.
M=2:
2. Предположим, что теорема верна и для M=3,4, …, m.
3. Рассмотрим произвольный граф с m+1 ребром, все вершины которого
имеют чётные степени. Покажем сначала, что в таком графе найдется хоть какой-то цикл. Действительно, если это не так, то тогда каждое ребро графа является мостом. Структура графа относительно произвольного ребра-моста (vi,vj)
указана ниже на левом рисунке. Удалим ребро (vi,vj), склеив компоненты связности по вершинам vi и vj. Обозначим новую вершину через v0. При этом получим граф, указанный справа на рис. 1.3.1.
vi
vj
v0
Рисунок.1.3.1.
В построенном графе m рёбер. Вершина v0 имеет чётную степень, равную
сумме двух нечетных чисел; степени всех остальных вершин сохранили свою
четность. Следовательно, по предположению индукции в полученном графе
существует эйлеров цикл и ни одно его ребро не является мостом, что противоречит предположению о том, что все рёбра исходного являются мостами. Следовательно, хотя бы один цикл в графе G найдется. Если цикл содержит все рёбра графа, то теорема доказана.
Если цикл не содержит всех рёбер, рассмотрим подграф G   G , порожденный рёбрами, не вошедшими в цикл. Подграф G  может состоять из одной
или нескольких компонент связности, в каждой из которых степени всех вершин чётны, а число рёбер не больше m. По предположению индукции, в каждой
такой компоненте существует эйлеров цикл. Объединив эти циклы с первоначально выделенным циклом (они попарно пореберно не пересекаются), получаем эйлеров цикл всего графа G.

Из доказательства нетрудно получить
Следствие 1.3.1. Связный граф G является эйлеровым тогда и только
тогда, когда множество его рёбер можно разбить на порёберно непересекающиеся циклы, причём процесс разбиения всегда можно довести до простых
циклов.
Цепь, содержащую все ребра графа, называют эйлеровой цепью, а соответствующий граф – полуэйлеровым.
Следствие 1.3.2. Связный граф G содержит эйлерову цепь (является полуэйлеровым) тогда и только тогда, когда в графе G две вершины нечётной
степени.
Для построения эйлеровой цепи достаточно выделить в графе G некоторую цепь, соединяющую вершины нечётной степени. Если эта цепь содержит
все ребра графа G, то задача решена. В противном случае рассмотрим подграф
G  , порожденный ребрами, не вошедшими в выделенную цепь. Нетрудно ви-
деть, что каждая компонента связности подграфа G  содержит вершины чётной
степени и, следовательно, является эйлеровым графом. Объединение эйлеровых
циклов указанных компонент с цепью, соединяющей вершины нечетной степени, образует эйлерову цепь, соединяющую вершины нечётной степени.
Решая задачу о Кенигсбергских мостах, Эйлер показал, что число вершин
нечётной степени в любом графе всегда чётное число (попробуйте доказать
этот факт самостоятельно).
Приложения эйлеровых графов связаны с построением изображений. Они
встречаются, как в занимательных задачах: можно ли нарисовать какую-либо
фигуру, не отрывая карандаш от бумаги (начиная и заканчивая в одной и той же
точке, в разных точках и т.п.), так и в задачах, связанных с повышением производительности таких периферийных устройств компьютера, как графопостроители, плоттеры и т.д.
Для ориентированных эйлеровых графов справедлива следующая теорема.
Теорема 1.3.2. Связный ориентированный граф D является эйлеровым
тогда и только тогда, когда для каждой вершины графа D выполняется равенство полустепеней захода и исхода.
Доказательство проводится аналогично неориентированному случаю. 
Гамильтоновы графы
Если в рассмотренной выше задаче заменить слово «ребро» на слово
«вершина», то приходим к изучению графов, в которых можно выделить цикл,
содержащий все вершины. В отличие от эйлеровых графов описание класса таких графов оказалось существенно более сложной задачей. Одним из первых
исследователей этой задачи был лорд Гамильтон. Графы, в которых можно выделить цикл, содержащий все вершины, называются поэтому гамильтоновыми.
Классы эйлеровых и гамильтоновых графов имеют пересечение, но ни
один из них не содержится в другом:
Э
Г
В качестве примеров графов, являющихся одновременно эйлеровыми и
гамильтоновыми, можно привести простые циклы Cn, n=1,2,…. Два простых
цикла с общей вершиной образуют эйлеров, но не гамильтонов граф. Два простых цикла с общим ребром образуют гамильтонов граф, не являющийся эйлеровым.
Одной из характерных особенностей дискретной математики и теории
графов, в частности, является возможность существенного изменения сложности решения задачи даже при небольшом её изменении. Постановка задачи о
гамильтоновых графах отличается от задачи эйлеровых графов, как уже указывалось, заменой слова «ребро» на слово «вершина». Однако, сложность задачи
при этом значительно возросла. До сих пор нет характеризации класса гамильтоновых графов, то есть не найдены необходимое и достаточное условие гамильтоновости графа, хотя с со времени постановки задачи прошло уже больше
150 лет. Удалось лишь сформулировать и доказать некоторое количество достаточных условий гамильтоновости.
Очевидно, что полные графы являются гамильтоновыми. Если рассмотреть процесс удаления ребер из полного графа, то его остовный подграф на некотором этапе станет негамильтоновым. Информацию о границах этого перехода содержит следующая теорема..
Теорема 1.3.3. Если в графе G(V,E), |V| = n, степень каждой вершины не
меньше n/2, то граф G гамильтонов.
Доказательство этой теоремы можно найти в [3].

Глава 2. Задачи раскраски графов
2.1. Хроматическое число графа
Во введении приводился пример задачи раскраски карты, при которой
никакая пара соседних стран не была бы окрашена в один цвет. Эту задачу нетрудно свести к задаче на графов. Для этого сопоставим каждой стране вершину графа и соединим пары вершин рёбрами, если соответствующие страны
имеют общую границу. Таким образом, приходим к следующей задаче: необходимо раскрасить вершины графа различными цветами так, чтобы никакое ребро
графа не соединяло вершин одного цвета. Соответствующие раскраски называются допустимыми (правильными).
Вершинная раскраска некорректна для графов, содержащих петли. Ясно
также, что наличие кратных ребер не влияет на раскраску. Поэтому в задачах
раскраски не ограничивая общности будем рассматривать простые (обыкновенные) графы, не содержащие петель и кратных ребер.
Если задача не содержит никаких дополнительных ограничений, то она
имеет тривиальное решение: достаточно раскрасить каждую вершину в свой
уникальный цвет. Поэтому обычно накладываются ограничения на число используемых цветов.
Граф G называется k-раскрашиваемым, если для построения допустимой
раскраски вершин графа G достаточно использования k цветов. Если граф G является k-раскрашиваемым, но не является (k-1)-раскрашиваемым, то он называется k-хроматическим, а само число k называется хроматическим числом.
Для хроматического числа графа G будем использовать обозначение (G). Рассмотрим классы графов, обладающих заданным хроматического числа.
Нетрудно видеть, что класс 1-хроматических графов (с (G)=1) – класс
пустых графов (не содержащих рёбер).
Описание класса 2-хроматических графов дает следующая теорема.
Теорема 2.1.1. Граф G является 2-хроматическим тогда и только тогда,
когда он не содержит циклов нечётной длины.
Доказательство. Выделим в графе G основное дерево. Очевидно, что его
можно раскрасить допустимым образом в два цвета (например, красить по слоям). При этом вершины дерева, соединяемые цепью чётной длины, будут иметь
одинаковые цвета, а вершины, соединяемые цепью нечётной длины,  разные
цвета.
Необходимость. Пусть граф G допускает правильную раскраску в два
цвета, тогда и любое его остовное дерево будет окрашено в два цвета. Если бы
в графе G были циклы нечетной длины, то концевые вершины каждого добавляемого ребра, порождающего цикл нечётной длины, были бы окрашены в
один цвет, так как они соединяются в дереве цепью чётной длины, Приходим к
противоречию, поскольку нам дано, что граф G допускает правильную раскраску в два цвета.
Достаточность. Если граф G не содержит циклов нечётной длины, то допустимая раскраска любого его островного дерева будет допустимой раскраской и всего графа G, так как добавляемые к остову рёбра, порождающие циклы
четной длины, будут соединять вершины, удаленные в остовном дереве на нечётное расстояние и, следовательно, окрашенные в различные цвета.

В качестве примера 2-хроматичских графов можно привести класс двудольных графов K n,m , очевидно, не содержащих циклов нечетной длины.
Для класса 3-хроматичских графов до сих пор не получено описания на
уровне необходимого и достаточного условия.
О хроматическом числе произвольного графа G мало, что можно сказать.
Ясно, что, с одной стороны, оно не превосходит n  числа вершин графа G, а с
другой, не меньше r числа вершин в максимальном полном подграфе графа G,
таким образом, r (G) n.
Для получения более содержательных оценок хроматического числа
необходимо располагать дополнительной информацией о графе. В качестве
примера рассмотрим следующее утверждение.
Теорема 2.1.2. Если наибольшая из степеней вершин графа G равна , то
граф (ρ+1) -раскрашиваемый.
Доказательство проводится индукцией по N - числу вершин графа G.
1. Для N =1 утверждение очевидно, так как ρ=0 и ρ+1=1.
2. Предположим, что утверждение верно и для графов с числом вершин
N=2,3, …, n.
3. Рассмотрим произвольный граф G с числом вершин N=n+1, степень
каждой из которых не превосходит ρ. Удалим некоторую вершину графа вместе
с инцидентными ей рёбрами. В полученном графе будет n вершин, степень
каждой из которых не превосходит ρ. По предположению индукции его можно
раскрасить (ρ+1) цветом. Вершины, которые были смежны с удаленной вершиной, будут окрашены не более чем в ρ цветов, даже если все они будут разно-
цветными. При этом ранее удаленную вершину можно раскрасить (ρ+1)-м цве
том, получив допустимую раскраску всего графа.
Эта теорема информативна для однородных графов  графов с одинаковыми степенями вершин или графов близких к однородным, позволяя получать
результат близкий к хроматическому числу.
2.2. Свойства планарных графов
Граф любой карты на поверхности земного шара является планарным,
учитывая возможность её стереографической проекции на плоскость. Планарный граф, реализованный на плоскости, называется плоским. Для плоского
графа вводится понятие грани – части плоскости, ограниченной со всех сторон
рёбрами и вершинами графа. Обозначим через f число граней плоского графа.
Л.Эйлером была установлена связь между числом вершин, ребер и граней в
плоских графах.
Теорема 2.2.1. Для числа вершин, ребер и граней связного плоского графа
G справедливо равенство
n+f=m+2
(2.2.1)
Доказательство проводится индукцией по M-числу рёбер графа G.
1.Для М=1 возможны 2 случая:
а) одна вершина с петлей: n=1, m=1, f=2;
б) две смежные вершины: n=2, m=1, f=1.
В обоих случаях значения левой и правой частей выражения (2.2.1) совпадают и равны 3.
2. Предположим, что равенство (2.2.1) верно и для любого связного плоского графа с числом ребер M =2,3, …, m.
3. Покажем, что равенство (2.2.1) справедливо для любого связного плоского графа с числом ребер M = m+1. Рассмотрим все возможные способы построения связного плоского графа с числом ребер M = m+1 на основе связного
плоского графа с числом ребер M = m. Добавляемое (m+1)-ое ребро может
быть:
а) петлёй. В этом случае увеличится на 1 число граней f (новая грань расположена внутри петли) и равенство (2.2.1) сохранится.
б) ребром, соединяющим две вершины, принадлежащие границе одной
грани. Добавляемое ребро разобьет эту грань на две, т.е. число граней f увеличится на 1 и равенство (2.2.1) сохранится.
в) ребром, соединяющим некоторую вершину исходного графа с новой
вершиной. В этом случае увеличится на 1 число вершин n, число граней f останется неизменным и равенство (2.2.1) сохранится.
Других способов увеличения числа ребер в плоских графах не существует.

Формулу (2.2.1) называют еще формулой Эйлера для многогранников,
поскольку она связывает число вершин, рёбер и граней выпуклых многогранников. Несмотря на относительно простое доказательство теоремы 2.2.1, формула Эйлера позволяет получать важные свойства планарных графов, на основе
которых эффективно решаются задачи раскраски планарных графов.
Следствие 2.2.1. Если G – простой связный планарный граф с n ≥ 3 вершинами и m рёбрами, то
m ≤ 3n – 6
(2.2.2)
Доказательство. Рассмотрим плоскую укладку графа G. Введем вспомогательную величину Q(G), равную общему числу рёбер вокруг всех граней графа G. Оценим величину Q(G) сверху и снизу. Так как каждая грань простого
плоского графа ограничена не менее чем тремя рёбрами, то Q(G) 3f. С другой
стороны, каждое ребро может входить в границу не более двух граней, учитываясь в Q(G) не более 2 раз. Следовательно, Q(G)≤2m. Сопоставляя оба неравенства, получаем соотношение 3f≤2m. После его подстановки в формулу
(2.2.1) получаем соотношение (2.2.2).

Если выполняется равенство m=3n – 6, то такой планарный граф называется максимальным. Границы всех граней максимального плоского графа содержат по три ребра. Используя свойства максимальных плоских графов, можно доказать, что любой планарный граф допускает плоскую укладку, в которой
каждое ребро является отрезком прямой (попробуйте это доказать).
Теорема 2.2.2. В любом простом планарном графе G существует вершина, степень которой не превосходит 5.
Доказательство. Без потери общности можно считать граф плоским,
связным и содержащим не менее трёх вершин. Предположим, что степени всех
вершин графа больше или равны 6. Нетрудно видеть, что сумма степеней всех
вершин графа равна 2m, поскольку в указанной сумме каждое из m рёбер учитывается дважды. Из предположения следует, что 2m 6n, то есть m 3n. Подставляя это соотношение в (2.2.2), приходим к противоречию 3n≤ 3n-6.

2.3. Раскраска планарных графов
Теорема 2.3.1. Любой планарный граф G с n ≥ 6 вершинами 6-раскрашиваемый.
Доказательство проводится индукцией по N  числу вершин графа G.
1. Для N =6 утверждение очевидно.
2. Предположим, что утверждение верно и для любого планарного графа
с числом вершин N=7,8, …, n.
3. Пусть G – произвольный планарный граф с n+1 вершиной. Не теряя
общности, можно считать G простым графом (добавление кратных рёбер не
влияет на раскраску). По теореме 2.2.2 граф G содержит вершину v, степень
которой не превосходит 5. Если удалить её вместе с инцидентными рёбрами, то
оставшийся граф будет 6-раскрашиваемым по предположению индукции. Требуемая раскраска в 6 цветов для всего графа G получается, если окрасить вершину v цветом, отличным от цветов не более пяти смежных с ней вершин.

Этот результат можно усилить и доказать с помощью более тщательных
рассуждений возможность раскраски любого планарного графа в 5 цветов.
Теорема 2.3.2. Любой планарный граф G с n ≥ 5 вершинами 5-раскрашиваемый.
Доказательство проводится индукцией по N - числу вершин графа G.
1. Для N =5 утверждение очевидно.
2. Предположим, что утверждение верно и для любого планарного графа
с числом вершин N=6,7, …, n.
3. Пусть G – произвольный планарный граф с n+1 вершиной. Не теряя
общности, можно считать G простым графом (добавление кратных рёбер не
влияет на раскраску). По теореме 2.2.2 граф G содержит вершину v0, степень
которой не превосходит 5. Если удалить её вместе с инцидентными рёбрами, то
оставшийся граф будет 5-раскрашиваемым по предположению индукции.
Если степень вершины v0 меньше 5 или если среди вершин, смежных с
вершиной v0, найдутся, по крайней мере, две с одинаковыми цветами, то для
вершины v0 среди 5 цветов найдется свободный цвет без перекраски других
вершин.
Осталось рассмотреть случай, когда все вершины vi  1,5 , смежные с
вершиной v0 имеют разные цвета. Для упрощения обозначений, будем считать,
что каждая вершина vi  1,5 окрашена в i - цвет. Пусть в плоской укладке графа
G вершины vi , i 1,5 расположены вокруг вершины v0 в порядке её кругового
обхода. Выделим в G подграф G1,3, порожденный вершинами 1-го и 3-го цветов.
Вершины v1 и v3 могут принадлежать, как одной компоненте связности подграфа G1,3, так и разным компонентам.
Если вершины v1 и v3 принадлежат разным компонентам связности подграфа G1,3, то в одной из этих компонент перекрасим вершины 1-го цвета на 3ий цвет, а вершины 3-го цвета на 1-ый цвет. После этого обе вершины v1 и v3
станут 1-го цвета или 3-го цвета и для вершины v0 найдется свободный цвет
среди 5 используемых цветов. Заметим, что указанная перекраска сохранит
раскраску всего графа допустимо. Действительно, взаимный обмен 1-го и 3-го
цветов не может привести к появлению ребер с одноцветными концевыми вершинами, как для ребер с концевыми вершинами 1-го и 3-го цветов, так и для
ребер, одна из концевых вершин которых имеет цвет, отличный от 1-го и 3-го.
Если вершины v1 и v3 принадлежат одной компоненте связности подграфа
G1,3, то в плоской укладке графа G можно выделить цикл, содержащий ребра
(v0,v1),…,(v3,v0), вершины которого (кроме вершины v0) окрашены чередующимся способом в 1-й или 3-й цвет. Внутри этого цикла находится вершина v2, а
вершина v4 снаружи. Вершины v2 и v4 должны принадлежать разным компонентам связности подграфа G2,4, поскольку в противном случае в плоской укладке
графа G можно было бы выделить цикл, содержащий ребра (v0,v2),…,(v4,v0),
вершины которого (кроме вершины v0) окрашены чередующимся способом во
2-й или 4-й цвет. Цвет общей вершины указанных двух циклов v, v  v0 должен
быть равен 1 или 3 (в подграфе G1,3), но, с другой стороны, он должен быть равен 2 или 4 (в подграфе G2,4) Пришли к противоречию. Таким образом, к вершинам v2 и v4 можно будет применить перекраску, рассмотренную в предыдущем абзаце.

Вершинная раскраска графов также иллюстрирует возможность существенной зависимости сложности решения задач дискретной математики от незначительного изменения параметров задачи. Так, до сих пор нет приемлемого,
с традиционной точки зрения, доказательства возможности раскраски любого
планарного графа в 4 цвета.
Глава 3. Способы задания графов
3.1. Алгоритмические вопросы
В предыдущих двух главах было рассмотрено несколько задач, в которых
формулировались условия существования в графах тех или иных объектов или
свойств (эйлеров цикл, цепь, раскраска в заданное число цветов). В теории графов, как и в дискретной математике в целом, значительное внимание уделяется
алгоритмическим задачам, связанным с построением конкретных решающих
алгоритмов, их обоснованием и оценкам сложности.
Рассмотрим для примера алгоритм построения эйлерова цикла в графе,
все вершины которого имеют четные степени. Доказательство теоремы 1.3.1
существования эйлерова цикла не содержит описания алгоритма его построения. К настоящему времени сформулировано несколько таких алгоритмов. Рас-
смотрим пошаговое описание одного из алгоритмов построения эйлерова цикла.
Алгоритм построения эйлерова цикла
1. Выбрать в графе произвольную вершину а.
2. Выбрать некоторое ребро u, инцидентное вершине а.
3. Выбранное ребро занести в список ребер эйлерова цикла, перейти по
нему к другой вершине, а ребро удалить из графа.
4. Находясь в некоторой вершине x, не выбирать среди инцидентных ребер те, которые соединяют вершину x с начальной вершиной а, если есть другие возможности.
5. Находясь в некоторой вершине x, не выбирать среди инцидентных ребер то, которое является мостом в оставшемся подграфе.
Обоснование алгоритма
1.Покажем, что предписания алгоритма всегда выполнимы.
Предположим, что в ходе реализации алгоритма достигнута некоторая
вершина b. Если b  a, то текущий оставшийся подграф связен (ребра-мосты не
выбирались) и степени всех его вершин четны, кроме вершин a и b. По следствию 1.3.2. этот подграф содержит эйлерову цепь, соединяющую вершины b и
a. Если b=a, то текущий оставшийся подграф будет эйлеровым пока не все ребра, инцидентные вершине a удалены.
2. Покажем, что предписания алгоритма приводят к построению полного
эйлерова цикла, т.е., что не останется непройденных ребер.
Учитывая предыдущее, после окончания работы алгоритма все ребра, инцидентные начальной вершине a, должны быть пройдены. Если непройденное
ребро имеет общую вершину с ребром, инцидентным вершине a, то это означает, что на некотором этапе выполнения алгоритма было нарушено предписание
п.4. Если непройденное ребро не имеет общей вершины с ребром, инцидентным вершине a, то это означает, что на некотором этапе выполнения алгоритма
было нарушено предписание п.5.

Каждый алгоритм ориентирован на некоторого конкретного исполнителя,
обладающего определенными возможностями (своей системой команд). Так,
например, если исполнитель не знает, как проверить, является ли ребро мостом,
то в алгоритм придется добавить соответствующее разъяснение. Например,
проверять, будет ли связен оставшийся подграф после удаления из него проверяемого ребра. Этот процесс детализации продолжается до тех пор, пока в
предписаниях алгоритма останутся только те действия, которые исполнитель в
состоянии выполнять.
Задачи на графах, содержащих десятки, сотни и тысячи вершин, решаются с помощью ЭВМ, поэтому при выборе алгоритмов решения необходимо
также учитывать способы задания графов.
Информацию о графах можно задавать в двух основных формах: матричных и списковых. Матричные способы позволяют широко использовать при
работе имеющееся программное обеспечение, однако, обладают значительной
избыточностью, поскольку в них указывается не только то, что есть в графе, но
и то, чего в графе нет. Для графов большой размерности это неприемлемо.
Списковые представления позволяют экономить память, но требуют, обычно,
дополнительного программирования.
3.2. Матричные формы
Ограничимся рассмотрением матриц смежности и инцидентности, наиболее часто используемых при задании графов.
Матрицы смежности
Для простого неориентированного графа G(V,E), V=n матрица смежности A=|| ai, j ||, i, j  1, n является бинарной, симметрической с элементами
ai, j =1 тогда и только тогда, когда вершины с номерам i и j смежны.
ПРИМЕР 3.2.1. Матрица смежности графа, изображенного ниже, имеет
следующий вид:
V3
V2
1 2 3 4 5
V4
V1
V5
1 0 1 0 0
1
2 1 0 1 1
0
3 0 1 0 1
0
4 0 1 1 0
1
5 1 0 0 1 0
Из свойств матрицы смежности следует, что для восстановления обыкновенного графа G достаточно задать информацию об элементах, расположенных
над (под) главной диагональю. Каждый двоичный элемент требует 1 бит памяти. Всего потребуется n(n-1)/2 бит памяти.
Если граф G содержит петли и кратные ребра, то элементами ai, j матрицы
смежности A могут быть целые неотрицательные числа, равные числу ребер,
соединяющих i и j вершины. Элементы aii главной диагонали равны числу петель на i-ой вершине.
V3
V2
V1
V4
V5
1 2 3 4
5
1 0 1 0 0
1
2 1 0 1 2
0
3 0 1 0 1
0
4 0 2 1 1
1
5 1 0
0 1 0
Для восстановления графа G, содержащего петли и кратные ребра необходимо добавить к элементам, расположенных над (под) главной диагональю, n
элементов главной диагонали. Каждый из n(n+1)/2 элементов может содержать
число, не превосходящее m, потребует log2m бит памяти. Всего необходимо
n(n+1) log2 m /2 бит памяти.
Для ориентированных графов D(V,X) элемент ai, j матрицы смежности A
равен числу дуг, исходящих из вершины i в вершину j, и матрица A в общем
случае не является симметрической.
V3
1 2 3 4
1 0 1 0 1
V2
V4
2 0 0 1 0
3 2 0 0 1
V1
4 0 0 0 0
Отсутствие симметрии в матрице смежности ориентированного графа
D(V,X) приводит к необходимости задания элементов как над, так и под главной
диагональю, а при наличии дуг-петель - всех элементов матрицы смежности.
Если граф D(V,X) простой, то потребуется n(n-1) бит памяти, в противном случае n2log2 m бит.
Матрицы инцидентности
Для простого неориентированного графа G(V,E), V=n матрица инцидентности B=|| bi, j ||, i  1, n , j  1, m является бинарной с элементами bi, j =1 тогда и только тогда когда i-ой вершине инцидентно j-ое ребро.
ПРИМЕР 3.2.2. Матрица инцидентности
графа, изображенного ниже,
имеет следующий вид
V3
4
V2
1 2 3 4 5 6
1 1 1 0 0 0 0
5
6
2
V4
3
2 0 1 0 1 0 1
3 0 0 0 1 1 0
4 0 0 1 0 1 1
V1
1
V5
5 1 0 1 0 0 0
Поскольку каждый столбец матрицы инцидентности содержит по две
единицы, то для однозначного восстановления обыкновенного графа G достаточно задать информацию о любых n-1 строках матрицы инцидентности. Каждый двоичный элемент требует 1 бит памяти. Всего потребуется (n-1)m бит.
Если граф G содержит петли и кратные ребра, то столбцы бинарной матрицы инцидентности B могут содержать по одной единице и повторяться.
V3
1 2 3 4 5 6 7 8
4
5
V2
6
2
8
7
1 1 1 0 0 0 0 0 0
V4
2 0 1 0 1 0 1 0 1
3 0 0 0 1 1 0 0 0
3
4 0 0 1 0 1 1 1 1
1
V1
V5
5 1 0 1 0 0 0 0 0
Для однозначного восстановления графа G, содержащего петли и кратные
ребра, необходима информация обо всей матрице инцидентности, т.е. nm бит.
Для ориентированных графов D(V,X) элемент bi, j матрицы инцидентности B равен 1, если j-ая дуга исходит из i-ой вершины, и равен -1, если j-ая дуга
заходит в i-ую вершину. Дуги – петли обозначаются особо (например, 1).
1
2
3
4
1
0
0
2 -1
1
3
0
4
0
V3
7
2
V2
4
1
5
1
V4
3
6
V1
5
6
7
-1 -1
1
0
0
0
0
0
0
-1
0
1
1
0
1
0
1
0
0
-1 -1
Поскольку элементы матрицы инцидентности любого ориентированного
графа D принимают не более четырех различных значений, то для задания
каждого элемента матрицы инцидентности необходимо по 2 бит памяти. Учитывая разнообразие элементов матрицы для ориентированных графов однозначное восстановление графа D возможно по любым (n-1) строкам матрицы
инцидентности. Всего потребуется 2(n-1)m бит памяти.
3.3. Списковые представления
Остановимся здесь только на наиболее часто используемых списковых
формах задания.
Список ребер
Этот способ позволяет задавать любой граф, не содержащий изолированных вершин. Простому графу G из примера 3.2.1 соответствует следующий
список ребер:
(v1,v2) (v2,v3) (v3,v4) (v4,v5) (v5,v1) (v2,v4).
Графу с петлями и кратными ребрами из того же примера соответствует
список:
(v1,v2) (v2,v3) (v3,v4) (v4,v4) (v4,v5) (v5,v1) (v2,v4) (v2,v4).
Для орграфов список ребер переходит в список дуг, задаваемых упорядоченными парами вершин. В любом случае список ребер (дуг) требует 2mlog2 n
бит памяти.
Списки смежности
Они соответствуют «отжатой от нулей» матрице смежности. Количество
списков равно числу вершин графа. Список с i-м номером содержит номера
вершин, смежных с i-ой вершиной.
ПРИМЕР 3.3.1. Простому графу из примера 3.2.1 соответствуют следующие списки смежности:
1: 2,5
2: 1,3,4
3: 2,4
4: 2,3,5
5: 1,4.
Графу с петлями и кратными ребрами из того же примера соответствуют
списки смежности:
1: 2,5
2: 1,3,4,4
3: 2,4
4: 2,2,3,5,4
5: 1,4.
Для орграфов каждый список разбивается на два подсписка: вершин на
входе и вершин на выходе. В качестве разделителя используется специальный
символ (например, ноль). Списки смежности для орграфа из примера 3.2.2:
1: 3,3,0,2,4
2: 1,0,3
3: 2,0,1,1,4
4: 1,3,0,4.
Память компьютера имеет линейную структуру, поэтому при вводе информации в компьютер в конце каждого списка (они могут иметь разную длину) необходимо также указывать разделитель - специальный символ (например,
ноль). Поскольку в списках смежности информация о каждом ребре (дуге) задается дважды, то списки смежности занимают (2m+ n)log2(n+1) бит памяти
для неориентированных графов и 2(m+ n)log2(n+1) бит памяти для ориентированных графов.
Сокращенные списки смежности
При использовании данного способа задания информация о каждом ребре
указывается для сокращения избыточности только один раз. В каждом списке
перечисляются номера только тех смежных
вершины, номера которых не
меньше номера списка. Для обозначения пустых списков будем использовать
символ .
ПРИМЕР 3.3.2. Обыкновенному графу из примера 3.2.1 соответствуют
сокращенные списки смежности:
1: 2,5
2: 3,4
3: 4
4: 5
5: .
Графу с петлями и кратными ребрами из того же примера соответствуют
сокращенные списки смежности:
1: 2,5
2: 3,4,4
3: 4
4: 5,4
5: .
Сокращенные списки смежности для орграфа из примера 3.2.2:
1: 3,3,0,2,4
2: 0,3
3: 0,4
4: 0,4.
Поскольку в сокращенных списках смежности информация о каждом
ребре (дуге) указывается один раз, то эти списки занимают (m+ n)log2(n+1)
бит памяти для неориентированных графов и (m+2n)log2(n+1) бит памяти для
ориентированных графов.
Поскольку информация о каждом ребре задается один раз, то дальнейшее
сокращение длины кода возможно лишь за счет более экономного кодирования
разделителей. Рассмотрим случай неориентированных графов. На разделители
отводится nlog2(n+1) бит. Если m nlog2(n+1) , то возможен более экономный способ задания разделителей. К записи номера каждой вершины добавляется контрольный бит, в который заносится ноль, если вершина не является последней в списке, и единица, если соответствующая вершина последняя в данном списке. Всего на разделители потребуется m бит памяти. Сокращенные
списки смежности будут занимать m( log2 n +1) бит памяти. Поскольку теперь
число ноль не используется в качестве разделителя, то можно нумеровать вершины графа, начиная с нуля. Однако, не любая нумерация будет теперь допустимой. Нельзя будет воспользоваться таким нумерациями, при которых возможны пустые списки перед непустыми. Для исключения подобных ситуаций в
первую очередь необходимо нумеровать вершины, у которых есть еще не занумерованные смежные вершины.
ПРИМЕР 3.3.3. Для обыкновенного графа из примера 3.2.1 приведены сокращенные списки для нумерации, не являющейся допустимой
V3
V1
1: 2,3,4
V2
2: 3,5
3: 
4: 5
V4
V5
5: 
При сокращении объема памяти необходимой для записи информации о
графе естественно возникает вопрос, до каких пор возможно без потерь «сжи-
мать» информацию. Для ответа на этот вопрос необходима математическая постановка задачи.
3.4. Оптимальное кодирование графов
Пусть A - некоторый класс графов, A
n,m
– подмножество графов из A ,
содержащих n вершин и m ребер; B={0,1}, B-множество слов в алфавите B.
Кодированием графов из класса A называется семейство взаимно однозначных
отображений  = { n,m : n=1,2,…; m=1,2,… ;}, где  n,m: A
сопоставляемое графу G A
длина кода графа G A
n,m.
n,m,
n,m
 B. Слово из B,
называется кодом графа. Величина |
n,m(G)|
-
При любом способе кодирования имеет место соот-
ношение
log2| A
n,m
|  max(| n,m(G)|, G A
n,m) .
(3.4.1)
Для обоснования приведенного соотношения достаточно заметить, что
если перечислить в двоичной системе счисления графы из множества A
наибольшая длина кодов будет не менее log2| A
n,m
n,m,
то
| бит. Поскольку коды гра-
фов должны обеспечивать еще и возможность их однозначного восстановления,
то это в общем случае потребует дополнительного увеличения длины кода.
Если в соотношении (3.4.1) для любых n и m выполняется равенство, то
соответствующее кодирование называется оптимальным. Если имеет место
max(| n,m (G) |,G  A n,m )
 1,
log
|
A
|
2
n,m
n, m  
lim
(3.4.2)
то кодирование называется асимптотически оптимальным.
Из соотношения (3.4.1) следует, что оценить качество предлагаемого кодирования графов и возможности сокращения длины кода можно, лишь подсчитав или хотя бы оценив мощность множества кодируемых при этом графов.
Подсчет числа (перечисление) графов, обладающих заданными свойствами, представляет собой в общем случае довольно сложную комбинаторную за-
дачу, требующую для своего решения полного изучения структуры перечисляемых графов. С решением этих задач можно познакомиться в [4].
Ограничимся здесь задачами перечисления помеченных графов, вершинам которых приписаны различные метки (например, номера). По всеми рассмотренным выше способам задания графов однозначно восстанавливаются
именно помеченные графы, и по каждому помеченному графу однозначно
строится его задание (код). Таким образом, разнообразие кодов, а, следовательно, и их наибольшая длина определяются числом различных помеченных графов.
Рассмотрим степень оптимальности кодирования простых неориентированных графов с помощью матриц смежности. Подсчитаем число простых неориентированных графов, содержащих по n вершин. В полном n -вершинном
графе n(n-1)/2 ребер. В каждом конкретном графе любое из этих ребер может
отсутствовать или присутствовать независимо от других ребер. Поэтому число
рассматриваемых графов равно числу всех подмножеств множества, содержащего n(n-1)/2 элементов, т.е. 2n(n-1)/2. Значение log22n(n-1)/2 = n(n-1)/2, оно совпадает с длиной кода, формируемого по матрице смежности, позволяющего однозначно восстанавливать граф. Таким образом, кодирование простых неориентированных графов с помощью матриц смежности является оптимальным и не
может быть улучшено на множестве всех таких графов. Если рассматривать не
все простые неориентированные графы, а лишь некоторые подмножества, то
можно сократить длину кода.
В качестве примера оптимального кодирования подмножества множества
всех простых неориентированных n-вершинных графов рассмотрим класс помеченных n- вершинных деревьев. Английским математиком Кэли в середине
19 века была доказана следующая теорема.
Теорема 3.4.1. Число помеченных деревьев с n  2 вершинами равно nn-2.
Доказательство. В задачах подсчета часто используется прием, при котором искомое множество заменяется вспомогательным, число элементов в ко-
тором устанавливается достаточно просто, а затем показывается, что исходное
и вспомогательное множества равномощны.
В качестве вспомогательного множества рассмотрим множество слов nбуквенного алфавита длины n-2, предложенное немецким математиком Прюфером (эти слова называют кодами Прюфера). Поскольку в каждой из n-2 позиций может стоять любая из n букв, то число таких слов равно nn-2.
Установим, что вспомогательное множество равномощно искомому. Для
этого покажем, что каждому помеченному дереву с n вершинами однозначно
соответствует код Прюфера и наоборот.
Переход от деревьев к словам
Для построения кода Прюфера достаточно n-2 раза выполнить следующую процедуру:
1. Выберем в текущем (исходном) дереве висячую вершину с наименьшим номером.
2. Запишем в слово (слева-направо) номер смежной с ней вершины.
3. Удалим висячую вершину вместе с инцидентным ребром.
ПРИМЕР 3.4.1. Помеченное 7- вершинное дерево и его код Прюфера
3
2
1
5
4
 57517
7
6
Переход от слов к деревьям
Запишем вспомогательный массив, содержащий числа от 1 до n и выполним n-2 раза следующую процедуру:
1. Удалим из вспомогательного массива минимальное число, которого нет
в слове (исходном, а затем в текущем).
2.Удалим из текущего (исходного) слова первый элемент.
3. Составим ребро, концевыми вершинами которого являются вершины с
номерами, соответствующими удаленным числам.
Последнее (n-1)-ребро составляется из двух вершин с номерами, оставшимися во вспомогательном массиве после выполнения n-2 раза предыдущей
процедуры. Из всех ребер получаем дерево, отождествляя вершины с одинаковыми номерами.
ПРИМЕР 3.4.2. Код Прюфера и восстановленное по нему дерево.
73442

n=7

6
(1,7)(3,5)(3,4)(4,6)(2,4)(2,7)
5
3
1234567 
2
7
1
4
Для завершения доказательства необходимо показать, что граф, конструируемый из полученного списка ребер, является деревом, т.е. связен и не содержит циклов.
Введем обозначения:
b1b2…bn-2 - код Прюфера;
a1 – минимальное число, не входящее в b1b2…bn-2 , генерируемое ребро (a1,b1)
a2 – минимальное число, не входящее в b2 b3…bn-2 , генерируемое ребро (a2,b2)
...
an-2 – минимальное число, не совпадающее с bn-2 , генерируемое ребро (an-2,bn-2)
(an-1,an) – последнее (n-1)- ребро.
Ацикличность конструируемого графа покажем индукцией по числу ребер, перечисляя ребра в порядке обратном их генерации:
1.Граф с одним ребром (an-1,an), очевидно, не содержит циклов.
2. Предположим, что добавление к графу ребер (an-2,bn-2),…, (an-i,bn-i) не
образует циклов.
3. Покажем, что добавление к графу ребра (an-i-1,bn-i-1) не сможет образовать цикл в текущем графе. Действительно, учитывая способ генерации ребер,
номер an-i-1 не совпадает ни с одним из номеров bn-i-1 , bn-i ,…, bn-2. Кроме того,
числа ai aj при ij. Таким образом, хотя бы одна из концевых вершин добавляемого ребра (an-i-1,bn-i-1) не принадлежит уже построенному графу и цикл при
этом образоваться не может.
Связность графа покажем методом от противного. Пусть граф содержит k
компонент связности. Каждая из них является деревом, поскольку граф не содержит циклов. При этом число вершин ni и ребер mi каждой из k компонент
удовлетворяют соотношениям mi= ni-1. Просуммировав их, имеем следующие
k
k
k
k
равенство  mi   ni  k , где  mi  m и  ni  n . Таким образом, получаем,
i1
i1
i1
i1
что m  n  k . Но в построенном графе m  n  1. Следовательно, k  1 и граф
содержит лишь одну компоненту связности.

Зная число помеченных n- вершинных деревьев, можно оценить степень
оптимальности кода Прюфера. Пусть Tn класс всех n- вершинных деревьев. Для
графов, являющихся деревьями, будем пользоваться обозначением t, учитывая
(3.4.1), получаем для деревьев соотношение
log2|Tn | max(| n(t)|, tTn) .
По теореме 3.4.1 имеем |Tn|=nn-2 и следовательно log2|Tn| (n-2)log2 n .
Так как код Прюфера состоит из (n-2) чисел, каждое из которых принадлежит
диапазону от 1 до n, то его длина | n(t)|  (n-2)log2 n. Объединяя оценки, имеем (n-2)log2 n  log2|Tn | max(| n(t)|, tTn) (n-2)log2 n .
При этом предел (3.4.2) равен единице
max ( | n (t ) | , t  n )
 1.
log
|T
|
2
n
n
lim
Следовательно, рассмотренное кодирование помеченных деревьев является асимптотически оптимальным. На подпоследовательности n=2i, i=1,2,…
кодирование является оптимальным.
Глава 4. Конструктивные описания графов
4.1. Основные понятия и представления
В ходе решения задач на графах к ним применяют различные операции, в
общем случае, не похожие на обычные алгебраические. Остановимся на теоретико-множественных операциях, позволяющих описывать построение одних
графов из других. Примером использования подобных операций служит рассмотренный ранее процесс построения помеченного дерева по коду Прюфера, в
ходе которого ребра склеивались путем отождествления одноименных концевых вершин. Рассмотрим общую постановку задач конструирования графов.
Используется конструктор графов, включающий запас некоторых исходных графов и набор применяемых к ним операций. Рассматриваются бинарные операции склейки, при выполнении которых производится отождествление изоморфных подграфов G1  G1 и G2  G2 графов-операндов G1 и G2 . Операция склейки называется тривиальной, если G1  G1 и (или) G2  G2 . В общем
случае операция склейки не является однозначной. Для результирующих графов G используется обозначение (G1 G2 )G , где G  граф, изоморфный отождествляемым подграфам G1 и G2 , называемый подграфом склейки.
При фиксированных графах-операндах G1 и G2 граф G  (G1 G2 )G может
зависеть от вида подграфа склейки G (рис.4.1.1), выбора отождествляемых под
G  O1
G1  K3
G  ( K3 K3 )O1

G2  K3
G  K2

G  ( K3 K3 ) K 2
Рисунок 4.1.1
G1  L3



G  O2
G2  K3
 G  ( L3 K3 )O2


Рисунок 4.1.2


G1  L3

 G  ( L3 L3 ) K2
G  K2
G2  L3


Рисунок 4.1.3.
графов G1 и G2 в графах-операндах (рис. 4.1.2) и способа их отождествления
(рис. 4.1.3).
Решение задач на графах связано с определением наличия или отсутствия
у графов тех или иных свойств. Результирующий граф любой операции склейки
сохраняет такие свойства графов-операндов как отсутствие изолированных
вершин, петель и ребер. Для сохранения других свойств необходимо введение
соответствующих ограничений. Пусть H  система ограничений на операции
склейки, обеспечивающая сохранение некоторого характеристического свойства графов. В общем случае, H может включать в себя ограничения, как на
вид отождествляемых подграфов, так и на их выбор в подграфах-операндах и
способ отождествления, поскольку все они могут, как было показано выше,
влиять на результирующий граф. Операции, удовлетворяющие системе ограничений H , называются операциями  - склейки.
Пусть  множество графов, обладающих некоторым характеристическим
свойством.. Граф G называется суперпозицией графов из , если G или G
можно получить путем последовательного применения операций H - склейки к
графам из  и к графам, полученным из  с помощью операций H - склейки.
При выполнении каждой операции H - склейки вид отождествляемых подграфов, их выбор в графах-операндах и способ отождествления определяются, в
общем случае, независимо. Процесс построения графа G из графов множества
 с помощью операций
H
- склейки задает операцию  - суперпозиции графов
из  (операцию H - суперпозиции над ). Если в операции H - суперпозиции хотя бы один из графов-операндов каждой операции склейки принадлежит исходному множеству , то операция H - суперпозиции называется канонической.
Приведем достаточное условие реализуемости графов каноническими суперпозициями. Рассмотрим операции склейки по пустым подграфам (операции
H - склейки).
Лемма 4.1.1. Если граф G реализуем некоторой H -суперпозицией над ,
то он реализуем и произвольной канонической H -суперпозицией над .
Доказательство. Любой операции суперпозиции над , реализующей
граф G, можно поставить в соответствие некоторое покрытие G графами из .
Так как элементы покрытия, соответствующие H - суперпозиции, пореберно
не пересекаются, то любое изменение порядка покрытия, то есть порядка сборки графа, может повлиять лишь на число вершин, включаемых в отождествляемые пустые подграфы тех или иных операций склейки, и не выводит из класса
H - суперпозиций. При этом, в частности, можно получить любую каноническую H - суперпозицию над .

Множество всех графов, полученных из  с помощью операций H - суперпозиции, обозначается через []H. Класс  называется  - замкнутым, если []H =. Подмножество графов     образует полную систему графов
H
- замкнутого класса , если [   ]H =. Минимальная по включению полная
система графов Be образует элементный базис H -замкнутого класса .
Операции с изоморфными подграфами склейки G относятся к одному
типу. Множество, содержащее минимальное по включению число типов операций H - склейки, достаточное для построения из Be всех графов H - замкнутого класса  образует его операционный базис Bo. Операционный базис Bo задается множеством графов, изоморфных подграфам склейки G . Элементный и
операционный базисы называются порождающими базисами. Вместе с системой ограничений H они задают конструктивное описание H - замкнутого
класса графов. О порождающих базисах известно [5] следующее.
Теорема 4.1.1. Каждый H – замкнутый класс графов имеет единственный элементный базис (vi , v j ), vi , v j  V (GHP ), i  j
Доказательство. Рассмотрим произвольный H -замкнутый класс графов
P. Сопоставим ему ориентированный граф GHP , вершины которого соответствуют графам из P, а дуга (vi , v j ), vi , v j  V (GHP ), i  j проводится тогда и только
тогда, когда граф Gi , соответствующий вершине vi, является графом-операндом
хотя бы одной нетривиальной операции H - склейки, реализующей граф Gj, со-
ответствующий вершине vj. Так как при проведении дуг графа GHP учитываются только нетривиальные операции H - склейки, то | V (G j ) || V (Gi ) | и (или)
| E (G j ) || E (Gi ) | . Из конечности графов Gi и Gj, соответствующих вершинам гра-
фа GHP , следует, что все пути, ведущие в любую вершину графа GHP , содержат
конечное число разных вершин. В графе GHP не может быть контуров, поскольку графы-операнды любой операции H - склейки изоморфны подграфам результирующего графа и графы, соответствующие вершинам одного контура,
были бы изоморфны друг другу. Таким образом, все пути, ведущие в любую
вершину графа GHP , имеют конечную длину. Отсюда следует, что множество
вершин графа GHP с полустепенями захода равными нулю не пусто и графы. соответствующие таким вершинам, образуют элементный базис H -замкнутого
класса P, поскольку ни один из таких графов не может быть выражен в виде H суперпозиции других графов из P. Отсюда же следует и единственность элементного базиса.

Замечание. Если система ограничений H пуста, т.е. на операции склейки
не накладываются никакие внешние ограничения, то имеем дело с замкнутыми
классами графов.
Из теоремы 4.1.1 получаем
Следствие 4.1.1. Каждый замкнутый класс графов имеет единственный
элементный базис.
Теорема 4.1.2. Существуют замкнутые классы графов со счетными
элементными базисами.
Доказательство. Достаточно выделить бесконечную последовательность
графов, каждый из которых не может быть получен с помощью суперпозиции
из других графов этой последовательности. Замыкание этой последовательности образует искомый класс. Примером такой последовательности может служить последовательность простых циклов Ci, i=1,2,…. Поскольку графыоперанды операций склейки изоморфны подграфам результирующего графа, то
в суперпозиции, реализующей простой цикл Cn, не могут использоваться ни
циклы Ci, i > n, ни циклы Cj, j < n.

Логическим следствием теоремы 4.1.1 является
Теорема 4.1.3. Мощность множества всех замкнутых классов графов
континуальна.
Доказательство. Число замкнутых классов множества всех графов 
оценивается сверху числом всех подмножеств графов из . Так как  содержит
счетное множество графов, то число подмножеств в  имеет мощность континуума.
Для оценки сверху числа замкнутых классов достаточно заметить, что
мощность континуума имеет множество замкнутых классов, элементными базисами которых являются всевозможные подмножества бесконечной последовательности простых циклов Ci, i=1,2,….

Так как каждый замкнутый класс является и H - замкнутым классом, то из
теорем 4.1.2 и 4.1.3 получаем
Следствие 4.1.2. Существуют замкнутые классы графов со счетными
элементными базисами.
Следствие 4.1.3. Мощность множества всех H – замкнутых классов
графов континуальна.
Относительно операционных базисов установлено, что каждый замкнутых классов графов имеет хотя бы один операционный базис конечный или
счетный [6].
4.2. Классы всех графов, мультиграфов и простых графов
Рассмотрим конструктивные описания некоторых замкнутых и H - замкнутых классов графов. Множество всех графов  является, очевидно, замкнутым классом. В работе [5] были получены следующие конструктивные
описания вышеназванных классов.
Теорема 4.2.1. Замкнутый класс всех графов имеет элементный базис
Be  {O1 , C1 , K 2 } и операционный базис Bo  {O0 , O1 , O2 } .
Доказательство. Из определения операций склейки следует, что каждая
из них сохраняет отсутствие в графах-операндах изолированных вершин, петель и ребер. Таким образом, имеем {O1 , C1 , K2 }  Be . Поскольку элементный базис единственный, то для доказательства обратного включения достаточно показать, что любой граф G(V,E) представим в виде суперпозиции графов из
множества {O1 , C1 , K 2 } . Рассмотрим следующую суперпозицию.
1. Построим пустой граф, содержащий |V(G)| вершин. Это можно сделать
с помощью (|V(G)|-1) операций склейки по O0 . Вначале реализуется граф
(O1 O1 )O0 , состоящий из двух изолированных вершин, а затем с помощью опе-
раций склейки текущего графа с O1 по O0 число изолированных вершин доводится до |V(G)|.
2. Дополним пустой граф ребрами и (или) петлями до величины равной
|E(G)| с помощью операций склейки заданных пар вершин текущего графа с K2
по O2 и (или) заданных вершин текущего графа с C1 по O1.
После выполнения всех указанных операций склейки получаем требуемый граф G(V,E). При этом установлена полнота системы {O0 , O1 , O2 } трех типов
операций склейки. Покажем минимальность по включению этой системы. Без
операций склейки по O0 нельзя реализовать несвязные графы, поскольку все
графы элементного базиса связны. Без операций склейки по O1 нельзя построить графы, вершины которых инцидентны нескольким петлям. Без операций
склейки по O2 нельзя построить графы, содержащие кратные ребра.

На основе подмножеств порождающих базисов замкнутого класса всех
графов можно строить конструктивные описания для различных подклассов
всех графов. В [7] построена решетка всех 35 таких нетривиальных замкнутых
подклассов. Ниже приведены конструктивные описания некоторых из них
Графы, не содержащие петель, называются мультиграфами.
Следствие 4.2.1. Замкнутый класс мультиграфов имеет элементный базис Be  {O1 , K 2 } и операционный базис Bo  {O0 , O2 } .
Любая операция склейки по подграфу, содержащему не более одной вершины, очевидно, сохраняет отсутствие циклов. Граф, не содержащий циклы,
образует лес.
Следствие 4.2.2. Замкнутый класс лесов имеет элементный базис
Be  {O1 , K 2 } и операционный базис Bo  {O0 , O1} .
Следствие 4.2.3. Замкнутый класс деревьев имеет элементный базис
Be  {O1 , K 2 } и операционный базис Bo  {O1} .
Для сохранения отсутствия в графах кратных ребер в общем случае
необходимо накладывать ограничение на выбор в графах-операндах отождествляемых подграфов, содержащих не менее двух вершин (см. рис. 4.1.2).
Достаточным условием для этого может быть следующее ограничение: каждой
паре несмежных в подграфе G вершин должна соответствовать пара несмежных вершин хотя бы в одном из графов-операндов G1 или G2 . Соответствующую систему ограничений на операции склейки обозначим через
H
. При
этом из теоремы 4.2.1 получаем
Следствие 4.2.4. Класс простых графов
H
- замкнут с элементным
базисом Be  {O1 , K 2 } и операционным базисом Bo  {O0 , O2 } .
Подграф G’ G называется порожденным, если для каждой пары смежных вершин, включаемых в G’, в подграф включается и соответствующее ребро. Подграф, порожденный вершинами V’ V(G), обозначается через G(V’).
Число вершин связного графа G, удаление которых приводит к несвязному или одновершинному графу, называется числом вершинной связности
(связностью), обозначаемым через (G). Подмножество V’ V(G) называется
разделяющим множеством вершин графа G, если граф G(V\V’) имеет больше
компонент связности, чем граф G.
Если |V(G)|>max {|V(G1)|,|V(G2)|}, то V( G ) является разделяющим множеством вершин связного графа G= (G1 G2 )G . Указанное неравенство имеет место при выполнении любой нетривиальной операции склейки по порожденному
подграфу (операции <H> - склейки). Введенное ограничение на операции
склейки существенно уменьшает «силу» операций, что приводит к увеличению
мощности порождающих базисов.
Теорема 4.2.2. <H> - замкнутый класс простых графов имеет счетные
элементный и операционный базисы.
Доказательство. Бесконечность элементного базиса следует из того, что
каждый полный граф Kn, n  3 не может быть получен в результате выполнения
нетривиальной операции <H> - склейки. Поскольку в противном случае множество V( G ) должно быть разделяющим в графе и его связность (Kn) n-2, но
по определению связность полного графа (Kn)= n-1.
Покажем бесконечность операционного базиса. Рассмотрим счетную последовательность графов G  ( K n K n ) K n1 , n  2,3,... . Каждый граф G этой последовательности имеет связность(G)= n-1 и поэтому G не может быть получен в результате выполнения склейки ( Kn K n ) Kl , l  n  1 , так как при этом
(G)< n-1. Следовательно, в операционный базис должно входить счетное
множество операций <H> - склейки по Kn , n=1,2,….

Следствие 4.2.5. Мощность множества всех <H> – замкнутых классов
простых графов континуальна.
4.3. Классы планарных графов
Выделим в плоском графе G некоторую грань Г, имеющую связную границу. Перечисление без повторения всех вершин грани Г последовательно
вдоль границы грани назовем круговым обходом грани Г. Окружность, все
точки которой принадлежат грани Г или её границе, называется вписанной в
грань Г. Каждый планарный граф G допускает плоскую укладку, в которой все
вершины произвольной грани Г со связной границей расположены на окружности, вписанной в грань Г.
Пусть все вершины подграфов G1 и G2 принадлежат граням со связными
границами Г1 и Г2 соответственно в графах G1 и G2. Преобразуем плоские
укладки графов G1 и G2 таким образом, чтобы все вершины этих граней располагались вдоль окружностей, вписанных соответственно в грани Г1 и Г2. Отож-
дествим подграфы G1 и G2 , выбирая пары отождествляемых вершин в соответствии с круговыми обходами этих окружностей. Операции склейки, удовлетворяющие указанным ограничениям, обозначим как операции H-склейки.
Теорема 4.3.1. Операции H– склейки сохраняют планарность графов.
Доказательство. Рассмотрим плоские укладки графов G1 и G2, в которых
все вершины соответственно граней Г1 и Г2 расположены вдоль вписанных в
них окружностей. Каждую из этих окружностей можно интерпретировать как
линию разреза сферы на две полусферы, на которых размещены рассматриваемые плоские укладки графов G1 и G2.
Для отождествления вершин из V (G1) с вершинами из V (G2 ) в соответствии с круговыми обходами граней Г1 и Г2 достаточно поворота одной полусферы относительно другой вдоль линии разреза с «растяжениями» или «сжатиями» в случае необходимости длин дуг окружностей, соединяющих вершины
из V (G1) или V (G2 ) , а также, быть может, зеркального отображения укладки
графа на одной из полусфер (при несовпадении направлений круговых обходов
граней Г1 и Г2). Каждое из этих преобразований сохраняет плоские укладки
графов-операндов. Поскольку при отождествлении ребер из E (G1) с ребрами из
E (G2 ) новые ребра не появляются, то результирующий граф G планарен.

Конструктивные описания планарных графов с использованием различных модификаций операции H-склейки рассматривались в [5].
Теорема 4.3.2. Класс планарных графов H -замкнут с порождающими
базисами Be  {O1 , C1 , K 2 } и Bo  {O0 , O1 , O2 } .
Доказательство. Планарность графа G, реализуемого H-суперпозицией
над Be  {O1 , C1 , K 2 } , следует из планарности графов элементного базиса и сохранения планарности графов при выполнении над ними операций H-склейки
(теорема 4.3.1).
Реализуемость любого планарного графа G указанной суперпозицией
устанавливается с помощью построений аналогичных тем, что использовались
при доказательстве теоремы 4.2.1. В данном случае при заполнении ребрами
пустого графа они соединяют вершины, принадлежащие границе одной грани в
плоской укладке текущего графа.
Минимальность по включению множеств Be и Bo устанавливается также

как и при доказательстве теоремы 4.2.1.
Переходя к подмножествам порождающих базисов H-замкнутого класса
планарных графов, а, также накладывая дополнительные ограничения на допустимые операции H-склейки, можно получать различные замкнутые подклассы планарных графов.
Если |V( G )| 3, то любой способ отождествления вершин из V (G1) с вершинами из V (G2 ) соответствует круговым обходам граней Г1 и Г2 . Поэтому
для сохранения планарности в этом случае достаточно, чтобы отождествляемые
вершины принадлежали границе одной грани в каждом из графов-операндов
(операции HГ - склейки).
Следствие 4.3.1. Класс планарных графов HГ-замкнут с порождающими
базисами Be  {O1 , C1 , K 2 } и Bo  {O0 , O1 , O2 } .
Следствие 4.3.2. Класс планарных мультиграфов HГ-замкнут с порождающими базисами Be  {O1 , K 2 } и Bo  {O0 , O2 } .
Следствие 4.3.3. Класс простых планарных графов
HГ -замкнут с по-
рождающими базисами Be  {O1 , K 2 } и Bo  {O0 , O2 } .
Если ограничиться использованием операций
H
- склейки, при вы-
полнении которых вершины V( G ) образуют разделяющее множество S в результирующем графе G = (G1 G2 )G (обозначим их как операции
H s
-
склейки), то есть | V (G1) || V (G1 ) | и | V (G2 ) || V (G2 ) | , то получаем следующий результат.
Теорема 4.3.3.
H s
-замкнутый класс простых планарных графов
имеет порождающие базисы Be  {O1 , K 2 , K3 , K 4 } и Bo  {O0 , O1 , O2 , O3 , O4 , O5 } .
Доказательство. Поскольку все графы из элементного базиса Be являются простыми планарными и операции
H s
- склейки сохраняют планарность
и
все
графы,
отсутствие
кратных
ребер,
то
реализуемые
H s
-
суперпозициями графов из Be, также принадлежат этому классу.
Покажем, что каждый простой планарный граф G может быть реализован
H s
- суперпозициями графов из Be.
Если G - полный граф, то он может содержать не более 4 вершин (K5 не
является планарным).
Если граф G не является связным, то достаточно построить все его компоненты связности, объединив их затем с помощью операций склейки по O0.
Если простой связный планарный граф G содержит разделяющую вершину vi, то в G можно выделить два подграфа, объединение которых совпадает с
G, а пересечение – с вершиной vi. Если взять в качестве графов - операндов
графы G1 и G2, изоморфные этим подграфам, то получаем описание
G  (G1 G2 )O1 , в котором, очевидно, используется операция
H s
- склейки.
Если простой связный планарный граф G не содержит разделяющих вершин, то выберем в G вершину vi, смежную не со всеми вершинами (такая вершина найдется, так как граф G не является полным). Обозначим через Vi множество вершин, смежных с вершиной vi. Выделим в графе G связные подграфы
G (V \{vi }) и звезду с центром в вершине vi и с множеством висячих вершин Vi.
Если выбрать графы-операнды G1 и G2 изоморфными соответственно этим подграфам, то получаем для графа G представление G  (G1 G2 )Ok , k = |Vi|. При
этом используется операция
H s
- склейки, поскольку графы G1 и G2 допус-
кают плоские укладки, в которых отождествляемые вершины принадлежат границам связных граней. Кроме того, у звезды G2 отождествляемые вершины попарно не смежны и обладают симметрией вращения, являясь висячими.
Так как G1 и G2 являются простыми связными планарными графами и содержат меньшее число вершин, чем граф G, то, последовательно применяя к
ним все предыдущие рассуждения в итоге, придем к системе полных графов
из Be. Рассматривая этот процесс в обратном направлении, получаем задание
произвольного простого планарного графа G в виде
H s
- суперпозиции
графов из Be.
Минимальность по включению множества графов из Be следует из того,
что ни один из них нельзя получить, используя операции
H s
- склейки.
Минимальность по включению множества графов из Bo обусловлена существованием графов, каждый из которых не может быть построен без использования операций
H s
-склейки соответствующего типа. На рисунке 4.3.1
приведены примеры таких графов с указанием подграфов склейки, без использования которых не обойтись при построении этих графов с помощью операций
H s

- склейки.
Переход от операций
H
- склейки к операциям
H s
- склейки
означает существенное их ослабление. Так, например, используя только операции
H s
- склейки нельзя добавить в граф G ребро, соединяющее несмеж-
ные вершины графа, а с помощью операций
H
- склейки это сделать, воз-
можно.
O0
O1
O2
O3
O4
O5
Рисунок 4.3.1
Если накладывать на операции склейки более жесткие ограничения, требуя, на пример, чтобы отождествляемые подграфы были порожденными, то для
построения простых планарных графов потребуется ещё большее разнообразие
типов операций склейки.
При использовании операций склейки по порожденным подграфам увеличивается избыточность конструктивных описаний. Для ограничения величины избыточности рассматривают процессы сборки простых планарных графов,
когда вершины из V (G ) образуют минимальное разделяющее множество вершин
результирующего графа каждой операции склейки. При использовании таких
операций склейки число необходимых типов операций склейки – мощность
операционного базиса, увеличивается до 16. Если же потребовать, чтобы и число ребер в подграфах склейки было минимальным, то мощность операционного
базиса становится равной 22 [5]. Элементный базис при этом остается неизменным и содержит полные графы.
4.4. Эйлеровы графы
Граф G является эйлеровым тогда и только тогда, когда степени всех его
вершин четны (теорема 1.3.1). Выясним, при каких ограничениях на операции
склейки они сохраняют свойство эйлеровости графов-операндов.
Теорема 4.4.1. Если графы G1 и G2 эйлеровы, то граф G= (G1 G2 )G будет
эйлеровым тогда и только тогда, когда степени всех вершин отождествляемых подграфов G1  G1 и G2  G2 четны.
Доказательство. Рассмотрим любую вершину vi V (G ) . Каждая из них
является результатом отождествления вершин v1i  G1 и vi2  G2 . Из определения
операции склейки следует, что s (vi ) - степень вершины vi в графе G можно подсчитать по формуле
s(vi )  s(vi1 )  s(vi2 )  s (vi ) ,
(4.4.1)
где s(v1i ) - степень вершины v1i в графе G1; s (vi2 ) - степень вершины vi2 в графе
G2; s (vi ) - степень вершины vi в подграфе G .
Необходимость. Если графы G1 и G2 являются эйлеровыми, то степени
s(v1i ) и s (vi2 ) четны. При этом для четности степени s (vi ) в графе G необходимо,
учитывая (4.4.1), чтобы четной была степень s (vi ) вершины vi в подграфе G .
Поскольку G  G1 и G  G2 , то степени всех вершин отождествляемых подграфов четны.
Достаточность. Если степени вершин отождествляемых подграфов G1 и
G2 четны, то четна будет и степень s (vi ) любой вершины подграфа G . Из эй-
леровости графов G1 и G2 следует четность степеней s (vi1 ) и s(vi2 ) . Отсюда, учитывая (4.4.1), получаем четность степеней s (vi ) всех вершин, входящих в подграф G . Четность степеней вершин графа G, не принадлежащих подграфу G ,
следует из эйлеровости графов G1 и G2. 
Следствие 4.4.1. Операции H - склейки сохраняют эйлеровость графов.
Использование операций H - склейки по пустым подграфам упрощает конструктивное описание, минимизируя избыточность задания.
Теорема 4.4.2. Класс эйлеровых графов H - замкнут с порождающими
базисами Be  {C1 , C2 ,...} и Bo  {O1 , O2 ,...} .
Доказательство. Каждый эйлеров граф G может быть разложен на пореберно непересекающиеся простые циклы (следствие 1.3.1). Бесконечность элементного базиса следует из того, что простые циклы Сn , n=1,2,… не содержат
эйлеровых подграфов и поэтому все они входят в Be.
Бесконечность операционного базиса следует из того, что для любого
сколь угодно большого n найдется эйлеров граф G, |V(G)|=n, связность которого(G)>n и обхват g(G) (длина кратчайшего простого цикла) удовлетворяет
условию g(G) > n [8]. Покажем, что такой граф не может быть получен склейкой по Ok , k  n. Если V( G ) разделяющее множество вершин графа G, то поскольку |V( G )| n, получаем связность ( G) n и приходим к противоречию.
Если V( G ) не является разделяющим множеством вершин графа G= (G1 G2 )G ,
то |V( G )|=min {|V(G1)|,|V(G2)|}. Так как G, |V(G)|=n, то min {|V(G1)|,|V(G2)|} n.
Поскольку каждый из графов-операндов G1 и G2 является эйлеровым, то, по
крайней мере, один из них должен содержать простой цикл Ck, k  n. Так как
графы-операнды G1 и G2 изоморфны подграфам результирующего графа
G= (G1 G2 )G , то его обхват g(G) n , что также приводит к противоречию.
Следствие 4.4.2. Класс обыкновенных эйлеровых графов
H


- за-
мкнут с порождающими базисами Be  {C3 , C4 ,...} и Bo  {O1 , O2 ,...} .
Далее ограничимся рассмотрением эйлеровых планарных графов. При
этом операционный базис станет конечным и возможно использование различных базисов. В работе [9] были получены следующие результаты.
Лемма 4.4.1. В каждом эйлеровом планарном графе найдется простой
цикл, содержащий не более трех вершин степени больше двух.
Доказательство. Не ограничивая общности рассмотрения можно считать
граф простым и не содержащим вершин степени два. Действительно, если перейти к топологически эквивалентному (не содержащему вершин второй степени) графу, то из существования в нем требуемого цикла будет следовать существование его и в исходном графе. При наличии в графе петель или кратных ребер утверждение леммы очевидно.
Пусть G произвольный простой эйлеров планарный граф, не содержащий
вершин степени два. Так как в эйлеровом графе не может быть вершин нечетной степени, то степени всех вершин графа G не меньше четырех.
В любом графе G, |V(G)|=n имеет место равенство
n
 s(vi )  2m . Поскольi 1
ку в рассматриваемом графе G степень каждой вершины не меньше 4, то справедливо соотношение
m  2n .
(4.4.2)
Предположим, что утверждение леммы неверно для графа G, то есть все
простые циклы графа G имеют длину не меньше 4. Рассмотрим произвольную
плоскую укладку графа G. Для величины Q(G), равной общему числу рёбер вокруг всех граней графа G, получаем оценки 2m=Q(G) 4f, откуда следует, что
m  2f. Учитывая равенство (2.2.1), получаем утверждение m 2n-4, противоречащее соотношению (4.4.2).

Операции склейки, сохраняющие эйлеровость и планарность графов, обозначим как операции H  - склейки (операции H Г - склейки, если |V( G )| 3).
Теорема 4.4.3. Класс эйлеровых планарных графов H Г - замкнут с порождающими базисами Be  {C1 , C2 ,...} и Bo  {O1 , O2 , O3} .
Доказательство. Поскольку простые циклы Сn , n=1,2,…являются эйлеровыми и планарными, то обоснование Be в качестве элементного базиса проводится аналогично теореме 4.4.2. Покажем, что операции H Г - склейки по
графам из множества {O1 , O2 , O3} образуют операционный базис класса эйлеровых планарных графов. Установим вначале полноту указанного набора типов
операций H Г - склейки, то есть, что этих трех типов операций H Г - склейки
достаточно для построения из графов элементного базиса любого эйлерова
планарного графа. Доказательство проведем индукцией по M - числу ребер рассматриваемых графов.
1. M =1. Таким графом является простой цикл C1  Be .
2. Предположим, что все эйлеровы планарные графы с числом ребер
M =2,3, ..., m можно построить из графов Be , используя операции H Г - склейки по графам из множества {O1 , O2 , O3} .
3. Пусть G произвольный эйлеров планарный граф, содержащий m+1
ребер. Если G является простым циклом, то G Be . В противном случае из леммы 4.4.1 следует, что G содержит простой цикл Ci, пересекающийся с подграфом, порожденным множеством ребер, не принадлежащих Ci не более чем по
трем вершинам. После удаления из графа G ребер цикла Ci и возможно образовавшихся при этом изолированных вершин получим подграф G  , состоящий из
одной или нескольких компонент связности. Каждая из компонент является эйлеровым графом, так как степени их вершин сохранили четность после удаления ребер цикла Ci. Если компонента связности одна, то получаем представле-
ние G  (G  Ci )O j , j  3 , в котором подграф G  , |E( G  )|  m может быть построен по предположению индукции. Если компонент связности больше чем
одна, то среди них обязательно найдется компонента G  , содержащая только
одну вершину из цикла Ci. Тогда G  (G G)O1 , где G  (G( E \ E (G)) G)O1 подграф, порожденный ребрами графа G, не принадлежащими G  . Графы G и G  ,
являются эйлеровыми планарными, содержащими каждый не более чем по m-1
ребру, могут быть построены по предположению индукции.
Покажем минимальность по включению используемых типов операций
H Г - склейки. Без операций склейки по O1 нельзя построить графы, содержа-
щие одну вершину и несколько петель. Для построения графов, содержащих
две вершины, соединенных четным числом кратных ребер, необходимо использование операций склейки по O2. Без операций склейки по O3 не обойтись при
построении октаэдра (рис.4.3.1) с помощью операций H Г - склейки.

Рассмотренный операционный базис не является единственным для класса эйлеровых планарных графов. Справедлива
Теорема 4.4.4. Класс эйлеровых планарных графов H  - замкнут с порождающими базисами Be  {C1 , C2 ,...} и Bo  {O1 , O2 , O4 } .
Доказательство этой теоремы, требующее более тщательного анализа
структуры эйлеровых планарных графов, приведено в [9] .

Различные операционные базисы можно выделить и для некоторых других замкнутых классов графов.
4.5 Гамильтоновы графы
В гамильтоновом графе G можно выделить цепь, содержащую все вершины графа, называемую гамильтоновой цепью графа G. Сформулируем
условия наследования свойства гамильтоновости при выполнении операций
склейки.
~
Лемма 4.5.1. Граф G= (G1  G2 )G сохраняет гамильтоновость графов G1 и
G2 , если |V( G )|=|V(G1)| и (или) |V( G )|=|V(G2)| либо |V( G )|=2 и соответствую-
щие им вершины графов-операндов являются смежными в гамильтоновых циклах графов G1 и G2 .
Доказательство. Действительно, в первом случае гамильтонов цикл результирующего графа соответствует гамильтонову циклу графа-операнда, обладающего не меньшим числом вершин. Во втором случае гамильтонов цикл
результирующего графа соответствует объединению гамильтоновых цепей
графов-операндов, не содержащих ребра, отождествляемого при выполнении

операции склейки.
Операции, удовлетворяющие указанным ограничениям, обозначим как
операции H g - склейки. Поскольку наличие кратных ребер не существенно для
наличия гамильтонова цикла, то будем также пользоваться операциями
Hg
- склейки, сохраняющими и отсутствие кратных ребер. Простая цепь, содержащая n вершин, обозначается как Ln. Нижеследующие результаты получены в
работе [10].
Теорема 4.5.1. Конструктивные описания H g -замкнутого класса гамильтоновых графов имеют элементный базис Be  {C1 , C2 ,...} и один из трех
операционных
базисов
Bo1  {O1 , L2 , C4 , C5 , } ,
Bo2  {O1 , L2 , L3 , }
или
Bo3  {O1, L2 ,(Ln Ln )O0}, n, n  2. .
Доказательство. Поскольку все графы элементного базиса Be являются
гамильтоновыми и операции
Hg
графы, реализуемые операциями
- склейки сохраняют эти свойства, то все
Hg
- суперпозиции, принадлежат классу
гамильтоновых графов.
Покажем, что при этом можно получить любой гамильтонов граф G . Если граф G содержит петли и (или) кратные ребра, то его можно представить
соответственно в виде (G  C1 )O1 или (G  C2 ) L2 , где граф G  G( E \ C1 ) или
G   G ( E \ e)
содержит на одну петлю С1 или на одно кратное ребро e меньше,
чем граф G . Применяя к графу G те же рассуждения, приходим к простому
гамильтонову графу.
Далее, не теряя общности рассуждений, ограничимся рассмотрением простых гамильтоновых графов G  Be , содержащих n  4 вершин. Пусть Cn - гамильтонов цикл (один из гамильтоновых циклов) графа G . Ребра графа G , не
принадлежащие выделенному гамильтонову циклу Cn , называются хордальными. Хордальное ребро является разделяющим, если его концевые вершины
образуют разделяющее множество вершин графа G .
Покажем, что использования операций
Hg
- склейки по графам из
множеств Bo1 или Bo2 или Bo3 достаточно для построения простого гамильтонова
графа G , исходя из циклов Сn , n  3.
1. Подграфы склейки G  Bo1 . При наличии в графе G разделяющего хордального ребра L2 воспользуемся представлением G в виде (G1  G2 )L2 . Применяя далее это представление к гамильтоновым графам G1 и G2 , приходим либо
к графам из Be , либо к графам, не содержащим разделяющих хордальных ребер. В последнем случае у каждого такого графа G должно быть не менее двух
хордальных ребер. Граф G допускает представление в виде (G1 G2 )Cn , в котором указанные два хордальных ребра распределяются между графами G1 и G2 .
При наличии в графе G других хордальных ребер они распределяются между
графами G1 и G2 произвольно. Применяя к графам G1 и G2 все предыдущие
представления, приходим в итоге либо к графам из Be , либо к графам с одним
хордальным ребром, допускающим представление вида (Cn Cn )L2 , n, n  3 ,
n  n  n  2 . Рассматривая этот процесс в обратном направлении, получаем
Hg
- суперпозицию графов из Be по подграфам G  Bo1 , реализующую за-
данный граф G .
~
2. Подграфы склейки G  Bo2 . Выделим в графе G произвольное хордальное ребро e и цепь Ln , 3  n  n  1, принадлежащую гамильтонову циклу, со-
единяющую концевые вершины ребра e . При наличии других хордальных ребер разобьем их на два класса. К первому классу отнесем хордальные ребра,
концевые вершины которых принадлежат цепи Ln . Все остальные хордальные
ребра отнесем ко второму классу. Простой гамильтонов граф G  Be , содержащий n  4 вершин, допускает представление в виде (G1 G2 ) Ln , в котором хордальные ребра первого класса распределяются произвольно между графами G1
и G2 и при этом граф G1 содержит гамильтонов цикл и все его хордальные ребра второго класса, а граф G2 содержит цепь Ln и ребро. Таким образом, граф G1
содержит, по крайней мере, на одно хордальное ребро меньше, чем граф G , а
граф G2 содержит, по крайней мере, на одну вершину меньше, чем граф G .
Применяя далее аналогичные представления для графов G1 и G2 , приходим либо к графам из Be , либо к графам с одним хордальным ребром, допускающим
представление в виде (Cn Cn ) Ln ,3  n  n  1 . Рассматривая данный процесс в
обратном направлении, получаем
Hg
- суперпозицию графов из Be по под-
графам G  Bo2 , реализующую заданный граф G .
3. Подграфы склейки G  Bo3 . Вначале воспользуемся, если это возможно,
представлениями вида (G1  G2 )L2 и получим гамильтоновы графы, хордальные
ребра которых не являются разделяющими. Ясно, что хордальных ребер не менее двух. Каждый такой гамильтоновый граф G допускает представление в ви~
де (G1  G2 )G , в котором графы G1 и G2 являются гамильтоновыми с числом
вершин | V (G1 ) | n, | V (G2 ) || V (G) | n, 4  n  n , G  (Ln Ln )O0 , n  n  n ,
n, n  2 . Отождествляемые подграфы графов G1 и G2 принадлежат соответ-
ственно их гамильтоновым циклам Cn и C n . При наличии в G хордальных ребер, соединяющих вершины из Ln  и (или) Ln , они распределяются между графами G1 и G2 произвольно. Таким образом, граф G1 содержит, по крайней мере,
на два хордальных ребра меньше, чем граф G . Граф G2 содержит, по крайней
мере, на два хордальных ребра, либо на две вершины, либо на одну вершину и
одно хордальное ребро меньше, чем граф G . Применяя к G1 и G2 все предыдущие представления, приходим в итоге к графам из Be . Рассматривая данный
процесс в обратном направлении, получаем суперпозицию операций
Hg
-
склейки графов из Be по подграфам G  Bo3 , реализующую заданный граф G .
Минимальность по включению множества Be следует из того, что ни
один из графов этого множества не может быть получен в результате операций
склейки из других графов этого множества. Установим минимальность по
включению множеств Bo1 , Bo2 и Bo3 . Без операций склейки по O1 не обойтись при
построении гамильтоновых графов, содержащих вершины, инцидентные не менее чем двум петлям. Только с помощью операции склейки по L2 можно построить гамильтонов граф с 2 вершинами, содержащий 3 кратных ребра. Без
операций склейки либо по Сi , i  4,5,
(при G  Bo1 ), либо по L j , j  3,4,
(при
G  Bo2 ), либо по ( Ln  Ln )O0 , n, n  2 (при G  Bo3 ) не обойтись при построении

гамильтоновых графов, гомеоморфных K 4 .
Если при использовании операционных базисов Bo2 или Bo3 соответственно в представлениях (G1 G2 ) Ln или (G1 G2 )G при распределении хордальных
ребер результирующих графов, которые можно отнести к любому из графовоперандов, относить их только к графу-операнду G1 , то граф G2  Be и из доказанной теоремы получаем
Следствие 4.5.1. Класс гамильтоновых графов канонически H g - замкнут
с
элементным
базисом
Be  {C1 , C2 , }
и
операционными
базисами
Bo2  {O1 , L2 , L3 , } или Bo3  {O1, L2 ,(Ln Ln )O0}, n, n  2.
Для простых гамильтоновых графов справедливо
Следствие 4.5.2. Класс простых гамильтоновых графов
Hg
- за-
мкнут с элементным базисом Be  {C3 , C4 , } и операционными базисами
Bo1  {L2 , C4 , C5 , } или Bo2  {L3 , L4 , } или Bo3  {L2 ,(Ln Ln )O0}, n, n  2.
Наличие в конструктивных описаниях некоторых классов графов различных операционных базисов делает возможным постановку задач оптимального
синтеза графов аналогично тому, как это делается в других разделах дискретной математики, например, при минимизации ДНФ или синтезе схем из функциональных элементов.
При рассмотрении конструктивных описаний графов в качестве параметра оптимизации может выступать величина избыточности задания.
Рассмотрим избыточность конструктивных описаний простых гамильтоновых планарных графов. Операции склейки, сохраняющие свойства гамильтоновости, планарности и отсутствия кратных ребер, обозначим как операции
H g
- склейки. При оценке избыточности можно пользоваться различными
метриками. Воспользуемся для подсчета величины избыточности I s (G) суперпозиции s операций
H g
- склейки, реализующей граф G , следующей фор-
мулой
R
 | E (Gi ) |
I S (G )  i 1
| E (G ) | ,
~
где Gi - подграф склейки i-ой операции
H g
- склейки; R – общее число
операций в суперпозиции s.
Пусть A n множество n - вершинных простых гамильтоновых планарных
графов; S – множество всех
H g
- суперпозиций, реализующих граф G A n
Введем следующие обозначения
min I s (G)  I (G),  max I (G)  I (A n ) .
sS
GA n
Теорема 4.5.2. [11] При n  3
1
1
 I (A n )  1
n2
Доказательство. Оценка сверху. Любой простой планарный гамильтонов
граф G, не изоморфный Cn , можно построить с помощью суперпозиции s, для
которой величина соответствующей избыточности I s (G)  1. Если граф G допускает плоскую реализацию, в которой все вершины графа принадлежат одной
грани (такой граф называется внешнепланарным, поскольку каждую грань
плоской укладки можно сделать внешней), то при его сборке достаточно по одному разу включить в подграфы склейки все хорды гамильтонова цикла. В противном случае граф G можно рассматривать как результат склейки по Cn двух
внешнепланарных графов. В любом случае, число ребер, включенных во все
подграфы склейки, не превосходит общего числа ребер графа. В силу произвольности графа G получаем при этом I (A n )  1
Оценка снизу. Рассмотрим произвольную плоскую укладку графа G.
Пусть |E(G)|=m. Разобьем множество ребер E(G) на два непересекающихся
подмножества. В первое отнесем ребра, принадлежащие внешней грани, их
число равно m0. Во второе подмножество - внутренние ребра, не принадлежащие внешней грани, их число равно m-m0 . Нетрудно видеть, что при построении графа G из простых циклов Cn , n  3 появление каждого его внутреннего
ребра происходило в результате выполнения операции склейки по подграфу,
содержащему хотя бы одно ребро. Таким образом, при любом способе синтеза
справедливо соотношение
I (G) 
m  m0
m
 1 0 .
m
m
Поскольку m0  3 , а m  3n  6 , то
max I (G)  1 
GA n
1
.
n2

Следствие 4.5.3. При n  
I (A n )  1 .
Из описанных выше методов синтеза следует, что избыточность конструктивных описаний гамильтоновых графов существенно уменьшается при
переходе от операционного базиса Bo1 к Bo2 и далее к Bo3 .
Глава 5. Приложения конструктивных описаний графов
При использовании конструктивного подхода для решения задач на графах в качестве исходных выбираются максимальные по включению графы, для
которых рассматриваемая задача решается наиболее эффективно. Далее из них
строится суперпозиция, реализующая заданный граф. Анализ структура графа
упрощается, если строить его «по кирпичику», когда, по крайней мере, один из
графов-операндов каждой операции склейки принадлежит множеству исходных
графов, т.е. если пользоваться каноническими суперпозициями. В качестве
примера далее рассматриваются задачи оптимального размещения информации
(графов).
Решение широкого круга прикладных задач связано с размещением объектов той или иной природы в элементах определенных структур. Необходимость в подобных задачах возникает, например, при расположении данных в
памяти ЭВМ, расстановке оборудования в цехах, размещении электронных
схем на платах и т.д.
Размещаемые объекты обладают, как правило, определенной совокупностью взаимосвязей, задаваемых соответствующим графом. Задача состоит в поиске такого размещения вершин графа, при котором достигался бы экстремум
некоторого функционала, характеризующего свойства размещения.
Решение задач размещения графов требует в общем случае проведения
перебора большого числа вариантов. Ограничимся здесь случаем линейного
размещения, когда вершины графов располагаются в заданных позициях вдоль
прямой. Выберем в качестве таковых целочисленные точки прямой. При этом
задачу можно сформулировать как задачу нумерации вершин графа натуральными числами.
5.1. Свойства минимальных нумераций
Пусть G(V,E) граф, содержащий n вершин; A={a1, a2,..., an}, ai < ai+1,
i=1,2,…,n-1 - множество из n натуральных чисел. Взаимнооднозначное отображение  : V(G) A называется нумерацией вершин графа G (нумерацией гра-
фа), а множество A – нумерующей последовательностью графа G. Рассматривается функционал
 G 

(vi ,v j )E
|  (vi )   (v j ) |,
(5.1.1)
где суммирование производится по всем ребрам графа G. Любая нумерация,
на которой достигается min  G  G , называется минимальной нумерацией

графа G. При решении задачи построения минимальной нумерации достаточно ограничиться рассмотрением связных графов G, поскольку в противном
случае задача распадается на несколько независимых подзадач. Из вида минимизируемого функционала (5.1.1) следует, что, не ограничивая общности рассмотрения, можно полагать, что нумерующая последовательность содержит n
первых натуральных чисел, т.е. A={1,2, . . ., n}. При этом G не больше, чем
при выборе любой другой нумерующей последовательности.
Рассмотрим далее класс деревьев. Для задачи построения минимальной
нумерации вершин деревьев в качестве исходных поддеревьев удобно взять цепи (V,E), для которых эта задача решается наиболее просто.
Лемма 5.1.1. Нумерация  цепи  (V,E) является минимальной тогда и
только тогда, когда  монотонна.
Доказательство. Рассмотрим линейную укладку графа  (V,E), разместив вершины цепи (V,E) вдоль числовой прямой таким образом, чтобы каждая вершина vi V попала в точку с координатой  (vi ) . При этом каждому
ребру (vi , v j )  E будет соответствовать отрезок [  (vi ) ,  (v j ) ]. Из вида функционала (5.1.1) следует, что   (V , E ) равно сумме длин всех таких отрезков. Поскольку наибольшее и наименьшее значения номеров вершин фиксированы,
то указанная сумма будет минимальной тогда и только тогда, когда отрезки
[  (vi ) ,  (v j ) ], соответствующие различным ребрам, не пересекаются, т.е. когда
нумерация монотонна.

Каждое дерево можно, очевидно, рассматривать как результат объединения пореберно непересекающихся цепей. Для произвольной нумерации 
структуру дерева t можно представить следующим образом (рис. 5.1.1). Поддеревья ti (Vi , Ei ), i  1, k порождены ребрами, не принадлежащими цепи  (V0 ,E0),
соединяющей вершины  1 (1) и  1 (n) .
 (V0 ,E0)
 1 (1)
t1
t2
...
 1 (n)
tk1
tk
Рисунок 5.1.1
Лемма 5.1.2. Если  минимальная нумерация дерева t{V,E), то:
1) нумерация цепи  (V0 ,E0) монотонна,
2) нумерующие последовательности поддеревьев ti (Vi , Ei ), i  1, k
сплошные.
Доказательство. Поскольку множества ребер цепи  (V0 ,E0) и поддеревьев ti (Vi , Ei ), i  1, k попарно не пересекаются, то
k
 t (V , E )    (V0 , E0 )    ti (Vi , Ei ) .
i 1
(5.1.2)
Предположим, что минимальная нумерация  не удовлетворяет условиям
леммы, т.е. нумерация цепи  (V0 ,E0) не монотонна и (или) найдется хотя бы
одно поддерево ti (Vi , Ei ), i 1, k , нумерующая последовательность которого не
является сплошной. Построим по  нумерацию  , удовлетворяющую условиям леммы, что всегда возможно при сплошной нумерующей последовательности всего дерева, и обладающую следующими свойствами.
Вершины  1 (1) и  1 (n) совпадают соответственно с вершинами  1 (1) и
 1 (n) , порядок нумерации внутри каждого поддерева ti (Vi , Ei ), i  1, k сохраняется неизменным. Аналогично (5.1.2), можно записать
k
 t (V , E )    (V0 , E0 )    ti (Vi , Ei ) .
i 1
(5.1.3)
Учитывая лемму 5.1.1, для нумераций  и  на цепи  (V0 ,E0) справедливо соотношение
 (V0 , E0 )   (V0 , E0 ) .
(5.1.4)
Из вида оптимизируемого функционала (5.1.1) и способа построения нумерации  по нумерации  следует что
 ti (Vi , Ei )   ti (Vi , Ei ), i  1, k
(5.1.5)
Из предположения о нумерации  следует, что в (5.1.4) и (или) в (5.1.5)
(хотя бы для одного поддерева) имеет место строгое неравенство. Отсюда, сопоставляя (5.1.3) и (5.1.2), получаем
 t (V , E )   t (V , E ) ,
что противоречит условию минимальности нумерации  .

Следствие 5.1.1. Минимальная нумерация  дерева t{V,E) является минимальной и на каждом его поддереве ti (Vi , Ei ), i  1, k , т.е.
 ti (Vi , Ei )  ti (Vi , Ei ), i  1, k .
(5.1.6)
Любой нумерации  графа G, | V (G) | n можно сопоставить двойственную нумерацию 
такую, что  (vi )  n  1   (vi ), i  1, n . Очевидно, что
 G   G . Вершины графа степени один будем называть для краткости вися-
чими.
Лемма 5.1.3. Если  минимальная нумерация дерева t{V,E), то вершины
 1 (1) и  1 (n) являются висячими.
Доказательство. Ограничимся рассмотрением вершины  1 (1) , учитывал
возможность перехода к двойственной нумерации  .
Предположим, что вершина  1 (1) не является висячей. Выделим в t{V,E)
цепь  (V0 ,E0), соединяющую вершины  1 (1) и  1 (n) , а также поддеревья
ti (Vi , Ei ), i  1, k . Вершине  1 (1) соответствует поддерево t1 (V1 , E1 ),| V1 | n1 , n1  2 .
Из леммы 5.1.2 следует, что его нумерующая последовательность состоит из
чисел 1,2,…, n1 . Построим нумерацию 1, совпадающую с нумерацией  на
всех вершинах vi V1 , а на вершинах vi  V1 совпадающую с двойственной нумерацией:  (vi )  n1  1   (vi ), i  1, n1 . При переходе к нумерации 1 монотон-
ность нумерации цепи  (V0 ,E0), очевидно, сохранится. Поскольку
1 ( 1 (1))  n1  2 ,
то

 1 (V0 , E0 )  n  n1  n 1   (V0 , E0 ) .
Так
как

 1ti (Vi , Ei )   ti (Vi , Ei ), i  1, k , то, сравнивая разложения (5.1.2) для нумера
ций  и 1, получаем  t (V , E )   1t (V , E ) , что противоречит условию минимальности нумерации  .

Из лемм 5.1.2 и 5.1.3, учитывая равенства 5.1.6, получаем
Следствие 5.1.2. Если  минимальная нумерация дерева t{V,E), то его
можно разложить на последовательность пореберно непересекающихся цепей
j (Vj ,Ej), j  1, l таких, что:
1) концевые вершины цепей являются висячими в тех поддеревьях, в которых они выделяются;
2) нумерация каждой цепи монотонна, а нумерующие последовательности всех поддеревьев, образующихся в процессе разложения, сплошные.
Все нумерации, в которых можно выделить указанную последовательность цепей, образуют класс нумераций *.
Таким образом, для реализации минимальных нумераций необходимо
строить дерево t(V,E) из цепей j (Vj ,Ej), j  1, l путем склейки графов-операндов
по O1, причем чтобы отождествляемая вершина хотя бы в одном из графов1
операндов имела четную степень (операции H 
- склейки). Пусть   множе-
ство всех простых цепей, тогда для построения минимальной нумерации каж1
дое дерево представляется в виде H 
- суперпозиции над . Из леммы 4.1.1
1
следует, что при этом допустима и каноническая H 
- суперпозиция над .
5.2. Минимальные плоские размещения
Рассмотрим свойства нумераций  *, соответствующих реализациям
1
дерева t(V,E) каноническими H 
- суперпозициями над . Линейная укладка
дерева t(V,E) называется плоской, если она допускает геометрическую реализацию графа в полуплоскости. Соответствующая ей нумерация 
также называется плоской. Нумерация  является плоской тогда и только тогда, когда между номерами вершин произвольной пары ребер (v,vj) и
(vk,vr) не существует соотношений:
(vi) < (vk) < (vj) < (vr) или (vk) < (vi) < (vr) < (vj).
(5.2.1.)
Не ограничивая общности рассмотрения, полагаем в (5.2.1)  (vi) <  (vj),
a (vk) < (vr).
Класс плоских нумераций пересекается с классом нумераций
Ф*(например, монотонная нумерация любой цепи  (V,E)), однако ни
один из них не содержится целиком в другом (рис. 5.2.1.).
3
1
2
1
плоская  *
2
1
3
3
2
4
6
1
5
2
3
1
4
5
6
неплоская  *
Рисунок 5.2.1.
Теорема 5.2.1. Нумерация * вершин дерева t(V,E) является плоской
тогда и только тогда, когда соответствующая ей последовател ьность цепей разложения j(Vj ,Ej), j  1, l обладает следующим свойством
k
 j  связно при k  2, l 1
j 1
(5.2.2)
Доказательство. Необходимость. Покажем, что если нумерация  *
является плоской, то условие (5.2.1) выполнено. Предположим, что найдется
хотя бы одно k  2, l  1 такое, что
k 1
 j не имеет общей вершины с цепьюk .
j 1
Выделим в дереве цепь, соединяющую вершину vkj цепи k с вершиной viq из
k 1
k 1
k 1
j 1
j 1
j 1
 j , не содержащую ребер из k и
 j . Пусть q
 j  цепь (одна из
цепей), содержащая вершину viq .
Так как  *, то вершины viq и vkj не могут быть концевыми в указанных цепях, поскольку они не являются висячими в поддеревьях, в которых
выделяются цепи q и k. Обозначим через viq1 и viq1 ( v kj1 и v kj1 ) вершины,
смежные с viq ( vkj ) на цепи q (k). Поскольку нумерация вдоль каждой цепи
разложения монотонна, то, не ограничивая общности, можно положить
( viq1 ) < ( viq ) < ( viq1 ) и ( v kj1 ) < ( vkj ) < ( v kj1 ).
(5.2.3)
Отсюда, учитывая порядок выделения цепей и сплошность нумерующих последовательностей всех поддеревьев разложения, получаем соотношения
( viq1 ) < ( v kj1 ) < ( viq ) и ( viq ) < ( v kj1 ) < ( viq1 )
(5.2.4)
Из (5.2.3) и (5.2.4) следует, что при любом соотношении между номерами
( viq ) и ( vkj ) среди ребер множества {( viq1 , viq ),( viq , viq1 ),( v kj1 , vkj ),( vkj , v kj1 )}
всегда найдутся такие два ребра, для которых будет справедливо одно из неравенств (5.2.1), т.е. нумерация  не будет плоской.
Достаточность. Пусть нумерация  * вершин дерева t(V,E) удовлетворяет условию теоремы. Разместим вершины vi V , i  1, n вдоль целочисленной
прямой в точках с координатами ( vi ) и соединим дугами смежные вершины.
Дуги, соответствующие ребрам одной цепи, очевидно, не пересекаются,
так как нумерация вдоль каждой цепи j, j  1, l монотонна. Покажем, что не
могут пересекаться и дуги, соответствующие различным цепям. Действительно, из сплошности нумерующих последовательностей всех поддеревьев разложения следует, что внутри отрезка, заключенного между номерами концевых вершин любой цепи j, j  2, l содержится номер лишь одной
вершины vi , входящей в цепи множества {1, . . . ,j-1}. Учитывал связность
j
 r , вершина vi обязательно принадлежит и цепи j, т.е. дуги цепи j не пе-
r 1
ресекаются с дугами цепей из множества {1, . . . ,j-1}. Рассматривая последовательно дуги цепей j, j  2, l , убеждаемся в справедливости утверждения о
том, что  плоская нумерация.

Условие (5.2.2) означает, что все нумерации  *, соответ1
ствующие каноническим H 
- суперпозициям над , являются плоскими.
Лемма 5.2.1. Всякая минимальная плоская нумерация  дерева t(V,E)
принадлежит классу *.
Доказательство. Разложим дерево t(V,E) на пореберно непересекающиеся цепи j (Vj ,Ej), j  1, q , соединяющие в каждом поддереве разложения вершины с наименьшими и наибольшими номерами. Покажем, что если  минимальная плоская нумерация, то указанное разложение обладает всеми
свойствами нумераций из класса Ф* и, следовательно q =l.
Если нумерующая последовательность хотя бы одного поддерева
разложения, образующегося в процессе выделения цепей j (Vj ,Ej) не является сплошной, то нумерация  не будет плоской, поскольку нумерующая
последовательность всего дерева сплошная и каждое поддерево разложения связно.
Если хотя бы одна из концевых вершин некоторой цепи j (Vj ,Ej), j  1, l
не является висячей в поддерева, в котором она выделяетс я, то, не выходя из класса плоских нумераций, можно уменьшить значение функционала (5.1.1), перейдя к двойственной нумерации на поддереве, "висящем" на
такой концевой вершине.
Если хотя бы на одной из цепей j (Vj ,Ej), j  1, l нарушена монотонность,
то нумерация  не будет плоской, поскольку концевые вершины всех цепей
j (Vj,Ej), j  1, l являются висячими и имеют наименьший и наибольший
номера в поддереве, в котором эта цепь выделяется. 
Рассмотрим, какие канонические H 1 - суперпозиции над  соответствуют
минимальным плоским нумерациям. Выделим в дереве t{V,E) произвольную
вершину vi  V степени s(vi)=p и все инцидентные ей ребра (vi,vr), r  1, p . Любая вершина vq  vi связана с вершиной vi единственной цепью. Будем говорить,
что вершина vq принадлежит ветке, выходящей из вершины vi по ребру (vi,vr),
r 1, p , если в vq можно попасть из vi по цепи, содержащей ребро (vi,vr). Число
вершин ветки определяет её вес.
Теорема 5.2.2. Плоская нумерация  * произвольного дерева t(V,E) является минимальной тогда и только тогда, когда цепи j(Vj ,Ej), j  1, l проходят через вершины дерева по веткам наибольшего веса.
Доказательство. Необходимость. Пусть 
минимальная плоская
нумерация дерева t(V,E). Для вершин vi  V степени s(vi) 2 необходимость
условия теоремы очевидна. Рассмотрим произвольную вершину vi  V степени
s(vi) 3. Выделим два случая.
1.Цепь 1 проходит через вершину vi. При этом из теоремы 5.1.1, леммы
5.1.4 и свойств нумераций класса * следует, что нумерующие последовательности всех веток к vi будут сплошными. Взаиморасположения их вдоль числовой прямой приведены на рис.5.2.2.
1 ( vi )
  
1
( vi ) (vi) ( vi )
p 1
n1
 
p
np1

( vi ) n
2
n2
np1
p - четно
1 ( vi )
1
n1
 

( vi )
(vi)
np-2
np
p2
( vi )
p 1
np1
p – нечетно.
Рисунок 5.2.2.
  
( vi ) n
2
n2
Поскольку минимальная плоская нумерация  дерева t(V,E) принадлежит классу *, то n2k 1 и n2k , k  1,  p / 2 - число вершин в ветках, по которым k-ая цепь разложения проходит через вершину vi. При нечетном p указаны две возможности для нумерации вершины vi, поскольку последняя цепь
разложения проходит через vi только по одной ветке (с числом вершин п р ) и
в зависимости от выбора направления нумерации на этой цепи последняя
ветка может быть занумерована как до, так и после вершины vi (в последующих расчетах выбран вариант, когда последняя ветка занумерована до
вершины vi).
Из сплошности нумерующих последовательностей всех веток к vi следует
возможность перехода на каждой из них к двойственной нумерации. При этом
p
сумму длин всех ребер, инцидентных вершине vi  величину  |  (vi )   (v j ) | ,
j 1
можно оценить сверху следующим образом:
p /2
1 p
p /2
1
p /2
1
k 2
2 i 1
k 1
2
k 1
2
 (k  1)(n2k 1  n2k )   ni   (k  )n2k 1   (k  )n2k
(5.2.4)
при p четном
 p /2 
{  (k  1)n2k 1 
k 2
 p /2 
 p /2 
1
 p /2 


 n2k 1}  {  (k  1)n2k
2 k 1
1
k 2
 p /2 



 p /2 

1
 n2k } 
2 k 1
1
  (k  )n2k 1   (k  )n2k
2
2
k 1
k 1
(5.2.5)
при p нечетном.
Необходимым условием минимальности каждого из выражений (5.2.4) и
(5.2.5) является, очевидно, выполнение для первой взвешенной суммы
соот-
ношений n2r 1  n2k 1, r  k , r  1,  p / 2, k  2,  p / 2 , а для второй взвешенной
суммы соотношений n2r  n2k , r  k , r  1,  p / 2, k  2,  p / 2 . В противном случае, поменяв порядок нумерации вершин соответствующих
веток, можно
p
уменьшить величину  |  (vi )   (v j ) | , что противоречит минимальности нумеj 1
рации  . Таким образом, для всех вершин vi, через которые проходит цепь 1,
условия теоремы выполнены, то есть все цепи разложения j(Vj ,Ej), j 1, l проходят через вершины vi по веткам с наибольшим числом вершин.
2.Цепь 1 не содержит вершину vi. Пусть  k , k  2, l  1 - первая цепь разложения, проходящая через vi. Так как
k
 j  связно при k  2, l 1, то цепь
j 1
k обязательно проходит через vi по ветке, содержащей предыдущие выделенные цепи  j , j 1, k  1 . Число вершин в этой ветке больше, чем в какой-либо
другой ветке к vi, так как она содержит цепь 1, проходящую через вершины
дерева по веткам с наибольшим числом вершин. Следовательно, нарушение
условий теоремы невозможно ни на какой паре веток к vi, одна из которых
содержит цепь 1. Поскольку нумерация остальных веток к vi производится
сплошными нумерующими последовательностями, то дальнейшее доказательство проводится аналогично первому случаю. Итак, и для всех вершин vi, через
которые не проходит цепь 1, условия теоремы также выполнены, то есть все
цепи разложения j(Vj ,Ej), j 1, l проходят через такие вершины vi по веткам с
наибольшим числом вершин.
Достаточность. Нетрудно видеть, что если способ выделения цепей
j(Vj ,Ej), j  1, l удовлетворяет условиям теоремы, то
k
 j , k  2, l 1 связно.
j 1
По теореме 5.2.1 любая нумерация * является при этом плоской. Все
такие нумерации обладают, кроме того, одинаковым значением минимизируемого функционала (6.1.1). Действительно, если нумерации отличаются
лишь направлением роста номеров вдоль некоторых цепей j(Vj ,Ej), j 1, l ,
то справедливость доказываемого утверждения непосредственно следует из
свойств нумераций класса Ф* и вида минимизируемого функционала (5.1.1).
Если меняется разложение на цепи j(Vj ,Ej), j  1, l , то это влияет лишь на
порядок нумерации веток с одинаковым числом вершин для некоторых
vi  V . Из способа выделения цепей следует, что ветки к любой вершине vi, со-
держащие одинаковое число вершин, имеют сплошные нумерующие последовательности. Поэтому, меняя порядок их нумерации, всегда можно перейти
от одного разложения к другому, сохранив неизменным значение функционала (5.1.1).
Поскольку минимальные плоские нумерации содержатся среди рассматриваемых (это следует из необходимости условий теоремы), получаем отсюда минимальность всех нумераций, удовлетворяющих условиям

теоремы.
Алгоритм построения минимальной плоской нумерации
На основе теоремы 5.1.2 можно предложить алгоритм
построения
минимальной плоской нумерации вершин произвольного дерева. Основу
его составляет следующая процедура:
1. Выбрать в текущем поддереве разложения (исходном дереве)
произвольную вершину дерева v0.
2. Перейти от вершины v0 по веткам с наибольшим числом вершин в
некоторую висячую вершину v1.
3. Начиная от вершины v1, построить по веткам с наибольшим числом
вершин цепь в некоторую другую висячую вершину v2.
4. Присвоить вершинам v1 и v2 наибольшие и наименьшие номера из
диапазона, выделенного под текущее поддерево разложения (1 и n для исходного дерева).
5. Занумеровать монотонно цепь, соединяющую вершины v1 и v2, оставляя под каждое выделяемое поддерево разложения соответствующие диапазоны номеров.
Процедура повторяется до тех пор, пока не будут занумерованы все
вершины.
ПРИМЕР 5.2.1. Для нижеприведенного дерева одна из возможных минимальных плоских нумераций имеет следующий вид:
1
3
2
1
6
1
6
7
7
4
1
6
5
6
1
6
1
6
8
1
6
1
6
предварительно
Для реализации алгоритма необходимо
вычислить веса
веток ко всем вершинам дерева и упорядочить их. Для произвольного n – вершинного дерева это можно сделать с линейной трудоемкостью O(n), используя
дополнительную память объема O(n log n) [12].
Для небольших деревьев с n 15 минимум функционала (5.1.1) в классе
плоских нумераций совпадает с глобальным минимумом в классе всех нумераций. Для больших значений n минимум в классе плоских нумераций в общем
случае не позволяет достичь глобального минимума, достигаемого на нумерациях, которым соответствуют реализации деревьев H 1 - суперпозициями над ,
не являющимися каноническими.
ПРИМЕР 5.2.2. Для следующего дерева t(V,E) с числом вершин n=16 минимальная нумерация не является плоской.
3
1
5
2
14
6
13
7
11
15
16
минимальная плоская нумерация 
 t (V , E )  26
4
6
14
8
7
12
10
5
2
4
9
8
3
1
9
13
12
10
15
11
16
минимальная нумерация 
 t (V , E )  25
5.3. Оценки длин деревьев
Алгоритм построения минимальной нумерации произвольного дерева
имеет
сложную
рекурсивную
структуру
с
трудоемкостью
O(nlog2 3 ) [13]. Относительно простой алгоритм построения минимальной
плоской нумерации можно рассматривать как способ приближенного р ешения задачи построения минимальной нумерации. В работе [12] показано, что минимум в классе плоских нумераций может превосходить глобальный минимум не более чем в полтора раза.
Каково значение самого минимума, насколько оно отличается ,
например, от среднего значения функционала (5.1.1) на множестве всех
n! нумераций. Оценим минимум сверху через максимальное значение
функционала (5.1.1) на множестве всех n – вершинных деревьев при использовании нумераций *.
Геометрическая интерпретация нумераций класса *
Рассмотрим линейную укладку дерева t(V,E),|V|=n соответствующую
произвольной нумерации *. Для этого разместим вершины дерева вдоль
числовой прямой таким образом, чтобы каждая вершина vi V попала в точку с
координатой  (vi ) . Выделим вершины, являющиеся концевыми для цепей разложения j(Vj ,Ej), j  1, l , и соединим их дугами. Для цепи j(Vj ,Ej), j 1, l номера
концевых вершин обозначим через aj и aj . Каждой цепи j(Vj ,Ej), j 1, l будет
соответствовать отрезок [ aj
,
aj ], j 1, l . Так как *, то отрезки различных
цепей не пересекаются и не имеют общих точек (рис. 5.3.1).
...
1
...
aj
...
aj
Рисунок 5.3.1
n
Разобьем множество всех дуг на ярусы. К первому ярусу отнесем внешнюю дугу, соединяющую, очевидно, точки с координатами 1 и n и соответствующую цепи 1(V1 ,E1). Ко второму ярусу отнесем дуги, которые становятся
внешними после удаления дуги первого яруса. Они соответствуют цепям, выделяемым в поддеревьях, образующихся после выделения цепи 1(V1 ,E1) и т.д.
Обозначим через q - общее число ярусов, ni -число цепей i -го яруса,
 ik , i 1, q, k 1, ni - цепь, соответствующая k -ой дуге i -го яруса.
Теорема 5.3.1. Для любого дерева t(V,E),|V|=n и нумерации *
 t  n2/4
Доказательство. Поскольку цепи j(Vj ,Ej), j 1, l пореберно не пересекаются, то можно записать рассматриваемый функционал  t так
q ni
 t      ik .
i 1 k 1
(5.3.1)
Так как нумерация  на каждой цепи  ik монотонна, то величина  ik
равна длине отрезка [ aik , aik ]. Отрезки, соответствующие цепям одного яруса,
очевидно, не имеют общих точек. Тогда, учитывал способ разбиения цепей на
ярусы, получаем
ni
i 1
k 1
r 1

   ik  (n  1)  2  lr  (ni  1) .
(5.3.2)
Учитывая, что ni  1, i  1, q , q n/2, из (5.3.1) и (5.3.2) следует
 n /2 


 t   (n  2i  1)  nn/2 - n/2  n/2  + n/2 = n/2  n/2  = n2/4
i 1
при n нечетном,
n /2
 t   (n  2i  1)  n(n/2)- (n/2) (n/2+1) + n/2= n/2(n/2-1)+ n/2=n2/4
i 1
при n четном.
Таким образом, утверждение теоремы справедливо при любом n.

Подсчитаем среднее значение минимизируемого функционала (5.1.1) для
произвольного графа G(V,E), /V/=n на множестве всех n! нумераций  величинуравную
n!

(   i G ) / n!
i 1
(5.3.3)
При последовательном построении n! нумераций на концах любого ребра
eE каждая пара номеров i, j; i  j; i, j  1, n побывает 2(n-2)! раз. Длина ребра e
принимает при этом значения |i- j| равные k 1, n  1 по (n-k) раз. Общий вклад
ребра e в числитель выражения (5.3.3) равен
n1
2(n  2)!  k (n  k ) 2(n  2)!(n
k 1
(n  1)n (2n  1)(n  1)n (n  1)!

)
.
2
3
3
Поскольку это верно для произвольного ребра eE , то числитель в
(5.3.3) равен E (n  1)!/ 3 и среднее значение длины графа G на множестве всех
n! нумераций равно E (n  1) / 3 .
Так как в дереве t(V,E),|V|=n число ребер |E|= n-1, то среднее значение
длины дерева на множестве всех нумераций равно (n2-1)/3. Учитывая утверждение теоремы 5.3.1, получаем, что при n   значение минимизируемого
функционала 5.1.1 на множестве нумераций из класса *, по крайней мере, на
четверть меньше среднего значения на множестве всех нумераций. При использовании минимальных нумераций или минимальных плоских нумераций сокращение длины дерева может быть еще значительнее.
Список литературы
1. Мельников О.И. Занимательные задачи по теории графов.  Минск: НТ
ООО "ТетраСистемс", 2001.  144 с.
2. Лекции по теории графов / Емеличев В.А., Мельников О.И., Сарванов
В.И., Тышкевич Р.И.  М.: Наука, 1990.  384 с.
3. Мальцев И.А.Дискретная математика.  СПб.: Изд-во «Лань», 2011. 
304 с.
4. Перечисление графов / Харари Ф., Палмер Э. – М.: Изд-во «Мир»,
1977. – 324 с.
5. Иорданский М.А. Конструктивные описания графов // Дискретный
анализ и исследование операций.  1996.  Т. 3, № 4.  С. 35 - 63.
6. Бурков Е.В. Операционные базисы замкнутых классов графов // Материалы IX международного семинара "Дискретная математика и её приложения"
(Москва, 18-23 июня 2007г.).  М.: Изд-во мехмата МГУ. 2007.  С. 105-116.
7. Иорданский М.А. Конструктивная классификация графов // Моделирование и анализ информационных систем.  2012.  Т. 19, № 4.  С. 144 - 153.
8. Alon N. Tough Ramsey Graphs Without Short Cycles // Journal of Algebraic Combinatorics. – 1995. – V.4, № 3. – P.189 - 195.
9. Бурков Е.В. Конструктивные описания планарных и эйлеровых графов // Вестник Нижегородского государственного университета. Математика. 
2010. № 5(1).  С. 165 - 170.
10. Иорданский М.А. Конструктивные описания гамильтоновых графов //
Вестник Нижегородского государственного университета. Математика.  2012.
,№ 3(1).  С. 137 - 140.
11. Иорданский М.А. Избыточность конструктивных описаний гамильтоновых планарных графов // Материалы XI Международного семинара «Дискретная математика и её приложения» (Москва, МГУ, 18-22 июня 2012 г.) – М:
Изд-во механико-математического факультета МГУ  2012 С. - …
12. Иорданский М.А Минимальные плоские размещения деревьев // Методы дискретного анализа в решении экстремальных задач.  1979. выпуск 33.
 С. 3 - 30.
13. Chung F.R.K. On optimal linear arrangement algorithm for undirected trees
// SIAM J. Comput. 1984. V. 8, № 1.  P. 15 - 32.
Учебное издание
Иорданский Михаил Анатольевич
ВВЕДЕНИЕ В ТЕОРИЮ ГРАФОВ
Учебное пособие
Download