Дискретная математика

Раздел 1. Математическая логика

Тема 1. Логика высказываний

Тема 2. Булевы функции

Тема 3. Логика предикатов

Тема 4. Метод резолюций

Раздел 2. Теория графов

Тема 5. Раскраски

При решении практических задач с применением графов возникает необходимость в разбиении множества вершин графа на классы попарно несмежных между вершин. Довольно часто дополнительно требуется, чтобы таких классов было наименьшее число. В теории графов подобные задачи формулируются в терминах раскраски вершин графа.

В теме рассматриваются только обыкновенные графы.

§1. Хроматическое число

§2. Оценки хроматического числа

Если нет формулы, позволяющей (точно) вычислить хроматическое число, то можно попытаться найти приемлемые оценки для этого числа.

Рассмотрим вначале нижние оценки для c(G).

Начнем с оценки, связанной с плотностью графа.


Определение. Плотностью j(G) графа G называется наибольшее число вершин полного подграфа графа G.

Следующее утверждение очевидно.


Предложение 1. Для любого графа G выполняется неравенство

j(G) ≤ c(G).

Для графов, изображенных на рис. 5.4, это неравенство превращается в равенство. Однако, как показывает следующее утверждение разность между c(G) и j(G) может быть сколь угодно большой.


Теорема 5.2. Для всякого k ≥ 2 существует граф G такой, что j(G)=2 и c(G)=k.


Доказательство. Для связного не одноэлементного графа G равенство j(G)=2 означает, что G не содержит треугольников, т.е. трехэлементных полных графов. Индуктивно построим последовательность G2,G3,…,Gk,… графов без треугольников, для которых c(Gk)=k.

Положим G2=K2. Предположим, что граф Gk=(Vk,Ek) уже построен и Vk={v1,v2,…,vn}. Пусть Vk′={v1′,v2′,…,vn′}, VkÇVk′=Æ и vÏVkÈVk′. Множество вершин графа Gk+1 будет равно VkÈVkÈ{v}.Множество ребер этого графа получается добавлением к Ek ребер, соединяющих вершину vi′ c вершинами из Vk, которым смежна vi в графе Gk, и ребер, соединяющих v со всеми вершинами из Vk′. Переход от G2 к G3 показан на рис. 5.5, а переход от G3 к G4 – на рис. 5.6.

Рис.5.5 Рис.5.6

Докажем, что Gk+1 не содержит треугольников. Действительно, треугольник не может содержать вершину v, поскольку она смежна только вершинам V’, которые попарно не смежны. По той же причине треугольник не может содержать две вершины из V′. Если же в графе Gk+1 попарно смежны вершины vi′, vp, vq, то в Gk попарно смежны вершины vi, vp, vq. Поскольку по предположению индукции в Gk нет треугольников, то и в Gk+1 нет треугольников.

Проверим, что c(Gk+1)=k+1. Пусть


f: Vk®{1,2,…,k} –

правильная раскраска графа G. Продолжим функцию f на VkÈ{v} следующим образом: f(vi′)=f(vi), f(v)=k+1. Мы получим правильную раскраску графа Gk+1 (k+1) краской. Следовательно, c(Gk+1) ≤ k+1. Предположим, что Gk+1 можно правильно раскрасить k красками. Тогда вершины из Vk′ раскрашены не более, чем k-1 краской, поскольку одна краска израсходована на вершину v. Если перекрасить вершины из Vk следующим образом: вершину vi покрасить той же краской, что и vi′, то мы получим правильную раскраску графа Gk не более, чем k-1 красками. Полученное противоречие доказывает, что граф Gk+1 нельзя правильно раскрасить k красками. Таким образом, X(Gk+1)=k+1.

Теорема доказана.


Вторая оценка использует число независимости графа.


Определение. Множество попарно несмежных вершин графа называется независимым множеством. Числом независимости b(G) графа G называется наибольшее число вершин независимого множества.

Так для графов G1 и G2, изображенных на рис.5.1, получаем, что b(G1)=3, b(G2)=2.


Предложение 2. Для любого графа G выполняется неравенство


n/b(G)£c(G


Доказательство. Пусть c(G)=k. Тогда при оптимальной раскраске графа G множество V разбивается на k классов V1,V2,…,Vk одинаково раскрашенных вершин. Каждое из множеств Vi является независимым и поэтому ½Vi½£b(G). Тогда


n=½V1½+½V2½+…+½Vk½£kb(G).


Следовательно, n/b(G)£k.

Разность c(G) - n/b(G) тоже может быть сколь угодно большой, как и в первом случае. Только установить это можно гораздо проще. Пусть Н – полный граф с множеством вершин V={v1,v2,…,vk}. Добавим к V еще k новых вершин v1′,v2′,…,vk′ и k новых ребер, соединяющих вершины vi′ и vi для 1£i£k. Полученный граф обозначим буквой G. Легко видеть, что c(G)=k, a n/b(G)=2.


Нижние оценки хроматического числа в предложениях 1 и 2 обладают еще одним недостатком: задача вычисления чисел j(G) и b(G) столь же сложна, как и задача вычисления хроматического числа. (Это утверждение здесь мы пояснять не будем, подробно о сложности задач см. в книге Гэри и Джонсона .)

Известны нижние оценки хроматического числа, использующие «легко вычисляемые» величины. Укажем одну из них.


Предложение 3. Для любого графа G выполняется неравенство


n2/(n2 – 2m) £ c(G).


Отметим, что для полного графа 2m=n(n-1), поэтому для произвольного графа n2–2m>0. (По поводу доказательства предложения 3 см. книгу Н. Кристофидеса, стр.78.)


Из верхних оценок укажем одну, приведенную в теореме 5.3, которую часто называют теоремой Брукса. (Теорема доказана Бруксом в 1941г.) Через D(G) обозначим наибольшую степень вершин графа G.


Теорема 5.3. Пусть G=(V,E) – связный неполный граф и D(G)³3. Тогда c(G)£D(G).


Доказательство. В силу теоремы можно считать, что G – двусвязный граф.

Докажем вначале, что в G существуют (различные) вершины u и v такие, что d(u,v)=2 и граф G–u–v является связным. Обозначим через D множество доминирующих вершин графа, т.е. таких вершин, что любая другая вершина смежна с этой вершиной. Если вершинная связность k(G) больше или равна трех или D¹Æ, то существование указанных вершин u и v достаточно очевидно. Действительно, поскольку G неполный граф, то в нем найдутся вершины u и v такие, что d(u,v)=2. Если k(G)³3, то их удаление не нарушит связности графа. (Напомним, что k(G) – наименьшее количество вершин, удаление которых нарушает связность.) Эти вершины не принадлежат D, поэтому если D¹Æ, то в графе G–u–v найдется доминирующая (в нем) вершина. Отсюда следует, что граф G–u–v является связным и d(u,v)=2.

Будем считать, что k(G)<3 и D=Æ. Поскольку G не содержит точек сочленения, то из неравенства k(G)<3 следует равенство k(G)=2. Возьмем вершину х для которой r(x)³3. Такая вершина существует, поскольку D(G)³3.

Рассмотрим граф G’=G – x. Так как k(G)=2, то G’ – связный граф. Если k(G’)=2, то в качестве u возьмем х, а в качестве v – вершину графа G, находящуюся от х на расстоянии 2. (Такая вершина v существует, поскольку D=Æ.)

Предположим теперь, что k(G’)=1, т.е. что граф G’ содержит (хотя бы одну) точку сочленения. Пусть В – концевой блок графа G’ и а – точка сочленения графа G, принадлежащая этому блоку. Тогда вершина х смежна хотя бы с одной вершиной блока В, отличной от а. Поскольку в противном случае точка а будет точкой сочленения графа G (см. рис. 5.7, где прямоугольниками изображены блоки графа G – х).

Рис.5.7

Возьмем два концевых блока В и С графа G – х и в блоках В и С точки u и v, смежные с х. Поскольку u и v не смежны, то d(u,v)=2. Легко видеть, что граф G – u – v связен. Действительно, графы B – u и C – v являются связными, а поэтому граф G – u – v – x является связным. Но r(х)³3 и поэтому граф G – u – v также связный.

Итак, в G существуют вершины u,v такие, что d(u,v)=2, вершины u и v смежны с вершиной х и граф G – u – v является связным. Упорядочим вершины графа G – u – v следующим образом. На первое место поставим вершину х1, на второе – одну из смежных с х вершин (напомним, что в графе G r(х)³3). Предположим, что мы упорядочили i вершин графа G – u – v и получили последовательность: x1,x2,…,xi. Среди оставшихся вершин графа G – u – v найдется вершина w, которая смежна одной из вершин x1,…,xi, поскольку G – u – v связный граф. Положим xi+1=w. В результате мы получим последовательность x1,…,xn-2 графа G – u – v такую, что каждая вершина xi (1£i£n-2) смежна хотя бы одной вершине с меньшим номером.

Для удобства обозначим D(G) буквой k и раскрасим граф G k красками следующим образом. Вершины u и v покрасим первой краской. Вершины графа G – u – v расположены в указанную выше последовательность x1,x2,…,xn-2. Эти вершины раскрашиваем, начиная с xn-2. Вершину xn-2 раскрасим первой краской, если она не смежна u и v, и второй, если xn-2 смежна одной из этих вершин. Предположим, что вершина xi (2<i£n-2) уже раскрашена. Тогда, поскольку r(xi-1)£k и xi-1 смежна хотя бы одной вершине с меньшим номером, то для раскраски вершин, смежных с xi-1, израсходовано менее k красок. Следовательно, осталась краска для xi-1. Итак, все вершины графа G, кроме х1, раскрашены. Так как х1 смежна вершинам u и v, раскрашенным одной краской и r1)£k, то для раскраски вершин, смежных х1, израсходовано менее k красок. Это означает, что осталась краска для х1. В итоге мы получаем правильную раскраску графа G.

Теорема доказана.


Верхняя оценка хроматического числа, даваемая теоремой Брукса, является удовлетворительной для тех графов, степени вершин которых примерно одинаковы. В общем же случае разность между D(G) и c(G) может быть сколь угодно большей. Рассмотрим граф, изображенный на рис. 5.8. Очевидно, что c(G)=2 и в то же время, D(G)=l.

Рис.5.8

Итак, общий итог «изысканий», проведенных в первом и втором параграфах, можно назвать неутешительным. Как мы видели, не существует формулы, позволяющей вычислить хроматическое число по «знакомым» величинам: число вершин, ребер, компонент связности, степени вершин, и нет достаточно хороших оценок для хроматического числа. Эта ситуация является отражением того факта, что задача вычисления хроматического числа является трудно решаемой, так же, как и задача нахождения гамильтонова цикла. Обсуждение алгоритмов вычисления хроматического числа выходит за рамки данного пособия, и мы ограничимся лишь тем, что приведем простой алгоритм нахождения правильной раскраски, близкой к оптимальной.


Алгоритм состоит в следующем. Упорядочиваем вершины графа G: V={v1,v2,…,vn}.Вершину v1 красим первой краской. Предположим, что вершины v1,…,vi уже раскрашены и на это использовано l красок. Если на раскрашенные вершины, смежные с vi+1, использованы все краски, то vi+1 раскрашиваем l+1 краской. Если среди l красок найдется краска, которая не использована для вершин, смежных с vi+1, то вершину vi+1 красим этой краской.

Приведенный алгоритм часто называют алгоритмом последовательной раскраски. Нетрудно привести примеры, когда такая раскраска не является оптимальной.

§3 Проблема четырех красок

§4. Раскраска пятью красками

Задачи

Ответы, указания и решения

Тема 6. Ориентированные графы и сети


Fair.ru Ярмарка сайтов
Rambler's Top100 Submitter.ru - Free promoting

Дизайн: Alex © 2002
Все вопросы и предложения можно направлять по адресу cad@mail.ustu.ru