1-й сем-ДМ-слайды-ДГТУ / Графы, л.5-7 / Раскраски 1
.docРаскраски
Разнообразные задачи, возникающие при планировании производства , составлении графиков осмотра, хранении и транспортировке товаров могут быть представлены как
Задача о раскраске графа. Графы неориентированные и без петель(простые).
Граф G - -хрономический, если его вершины могут быть раскрашены с помощью цветов (красок) так, что не найдутся две смежных вершин одного цвета. Наименьшее число такое, что граф G --хрономический, называется хрономическим число графа
G и обозначается (G).Задача нахождений хрономического числа в графе – задача о раскраски графа. Соответствующие этому числу раскраски вершин разбивает множество вершин графа на z подмножества каждые из которых содержит вершины одного цвета.
Эти множества – независимые, т.к. в пределах 1 множества нет смежных двух вершин.
В общем случае хрономическое число графа нельзя найти , зная лишь числа вершин и рёбер графа. Недостаточно знать и степень каждой вершины, чтобы вычислить хрономическое число графа. Однако, можно получить верхнего и нижнего оценки для хрономического графа.
-
Если G) равно мощности наибольшего множества попарно несмежные вершины графа G , то оно совпадает с мощностью наибольшего множества вершин в G, которые могут быть окрашены в один цвет, и следовательно ,
-
(G) , где n –число вершин G, а - наименьшее целое число, не превосходящее числа x.
-
Оценка Генера: (G), где m- число рёбер графа.
Верхние оценки
-
(G)- Брукс
Формулировка задачи о раскраски на языке Булева (0-1, математического)
Программирования.
Пусть - матрица раскраски графа,
1, если вершина окрашена в цвет j,
0,в противном случае.
Если A= - матрица смежности графа G с диагональными элементами равными 0, то следующие 2 условия гарантируют допустимые раскраски вершин графа G:
, n (1)
,
здесь q – верхняя оценка хрономического числа графа G. Условие (1) обеспечивает раскраску вершины в один и только один цвет. В(2) L- любое очень большое положительное число , больше чем n.
Если вершина окрашена в цвет j, то , то первый член в (2) равен 0.
Тогда и 2-й член =0, чтобы выполнялось неравенство , т.к. числа и неотрицательны. Итак, (2) обеспечивает раскраски, т.е., если вершина окрашена в цвет
j , то нет смежной с вершины того же цвета.
Если вершина окрашена в цвет, отличный от j, то нет смежной с вершины того же цвета .Если вершина окрашена в цвет отличный от j() , то первый член в (2) равен L .Т.к. 2-й член в(2) не может достигнуть L( его значение наибольшее равно n-1 , то какое-бы число вершин ,смежных с вершиной , ни было окрашено в цвет j , неравенство (2) по-прежнему будет выполнено.
Пусть теперь каждому цвету j сопоставлен штраф выбранный тем , что (штраф =1) –ф-и ( рекурентный).(3), где h –верхние оценки для наибольшего числа вершин в графе, которые могут быть окрашены в 1 цвет, т.е. h – произвольное число , больше , чем G)- число независимости графа(максимальные ……… подмножества S такого , что граф (S) вместе несвязный –число независимости.
Любые 2 вершины в нём несмежны (G)= , где Q – семейство всех независимых множеств графа G .)
Можно положить h=n!!!
Итак, имеем задачу минимизировать Z=min(4) при ограничениях (1)(2).
Минимизация (4) обеспечивает выполнимость следующего условия :
Цвет j+1 будет ………. в раскраске вершин , если цвета от 1 до j достаточны для …….. раскраски.
Матрица определяет оптимальную раскраску , а используемое при этом число цветов равно хрономическому числу графа.
Бернс вместо условия (2) предложил следующее:
(5)
-матрица инцеденции. Условие(5)отражает тот факт, что не более, чем 1 из 2-х концевых вершин любого ребра может быть окрашено в цвет j.
В(5) требуется mq ограничений
В(2) nq ограничений, обычно m>n!!!
Приведём ряд теорем:
-
Ели наибольшее из степеней вершин графа G равен p, то он ( p+1)-раскашиваемый
-
a) Любой пленарный граф 5-………
б) любой пленарный граф, не содержит треугольников 3- раскрашенный (терема Грега).
с)граф G -2-x раскраски тогда и только тогда, когда он эйлеров.(теорема Кароля)
д) усиление a) еслиG –простой связный граф , то он p-…….(р),где р –наибольший из степеней вершин.
е) для nвершина 4 – раскраски ……. и красок.
Рёберная окраска
Граф G- рёберно к раскрашенный , если его рёбра можно раскрасить К окрасками таким образом, что некие 2 смежные ребра не окажутся 1 цвета. Если граф К раскраски …….. , но не явится (к-1)………, то К –хрономическое число(……..)графа G.
Ясно, что если наибольшее из степеней вершин граф G равен р, то .
Алгоритм раскраски
Пусть множество вершин упорядочено и - вершина этого множества
-
окрасить в цвет 1
-
каждая из оставшихся вершин окрасить : в цвет с наименьшим возможным номером ( не использованный при окраски вершины, смежной с .
Связь с задачей раскраски
Пусть нужно выбрать время проведения лекций по различным предметам с учетом того , что студенты желают посещать и те и другие. Строим граф. Вершины его- лекции по различным предметам , а рёбра соединяют те пары лекций, которые не должны назначаться на 1 время. Если каждому предмету для лекции времени сопоставить некоторый цвет, то раскраски- правильное расписание.
Хроматические полиномы
Подсчитаем количество различных правильных К - раскрасок графа.
Если граф К –раскрашиваемый, то его можно раскрасить в К цветов более, чем одним способом. Две раскраски графа считаются различными, если хотя бы одной вершине графа присваиваются хроматический полином Р(G,К) имеет значение для каждого целого К, равное числу различных правильных К-раскрасок графа G.
Рассмотрим граф
Среди различных К цветов мы можем выбрать любой для раскраски вершин а. Вершину b можно раскрасить в один из оставшихся К-1 цветов. Для каждой раскраски вершины b существует К-1 различных способов раскраски вершины С. Итак, данный граф можно раскрасить различными способами. Хрономатический полином графа равен .Повторяя эти рассуждения , получим, что хрономатический полином пути на n вершинах равен
Другим важным крайним случаем является полный граф , имеющий n вершин. При ….
n цветов вершину можно раскрасить в любой из них, -в любой из оставшихся К-1 цветов, вершину -в любой из оставшихся К-2 цветов. Итак, Р ()=К(К-1), и (К-n+1)
Выведем формулу для определения хроматического полинома графа G.
Теорема
Пусть U и V – несмежные вершины простого (без петель и циклов) графа G. Пусть е=(U,V)
Если G*e – простой граф полученный из графа G замыканием вершин U и V и заменой получившегося множества параллельным ребёр на одно ребро, а G+e – граф, полученный добавлением к графу G ребра е , то Р(G,К)=Р(G+е, К)+Р(G*e,К).
Док-во:
Любая К-раскраска графа G , в которой вершинам U и V присваиваются различные цвета , соответствует К-раскраска графа G+e , и наоборот .Аналогично, любая К-раскраска графа G , в которой U и V присвоен 1 цвет, соответствует К-раскраска графа G*e , и наоборот .
Следовательно, Р(G,К)=Р(G+е, К)+Р(G*e,К).
Можно сформулировать следствие
Если е=(U,V) –ребро простого графа G, то Р (G,К)=Р(G-е, К)+Р(G*e,К), где G-е получается из G удалением ребра е, а G*e определяется в теореме.
Если повторно применить формулу, приведённую в теореме к графу G, то процесс закончится полных графах, например,поэтому Р(G,К)=
С другой стороны, если использовать формулу следствия , то процесс закончится на пустых графах (без ребёр), поэтому хроматический полином- линейная комбинация хроматических полиномов пустых графов.
Хроматический полином Р (G,К) графа на n вершинах имеет степень n с главным числом и const.=0. Кроме того, все коэффициенты целые и чередуются по знаку.
Док-во:
Проведём индукцией по числу рёбер m.Очевидно, что теорема справедлива для m=0, т.к. хроматический полином пустого графа на n вершинах равен .Допустим, что теорема верна для всех графов, имеющих менее m рёбер , рассмотрим граф G на n вершинах с m рёбрами. Пусть е –ребро графа G, тогда G-е – граф на n вершинах с m-1 рёбрами, а G*e –граф на n-1 вершинах с m-1 или менее рёбрами из индуктивного предположения следует, что существует такие неотрицательные целые коэффициенты и ,что
Р(G-e,К)= и . Согласно следствию Р(G,К)=
= Р(G-e,К)- Р(G*e,К)= Таким образом, граф G также удовлетворяет теореме.
Пример 1
=
+
=
+
+
Р(G)=К(К-1)(К-2)(К-3) К(К-1)(К-2) К(К-1)(К-2) К(К-1)
К(К-1)(К-2)(К-3)+2К(К-1)(К-2)+К(К-1)=К(К-1)((К-2)(К-3)+2(К-2)+1)=К(К-1); Р(0)= Р(1)=0; P(2)=2*10, (хроматический)
2-раскрашеный граф!
Пример 2
=
-
=
-
-
+
Р(G,K)=
P(0)=P(1)=0 P(2)=20,граф 2-раскрашиваемый
Пример 3
=
+
=
+
+
+
=
+
+
++
+
=
+3
+2
=К(К-1)(К-2)(К-3)(К-4)+3К(К-1)(К-2)(К-3)+2К(К-1)(К-2)=К(К-1)(К-2)((К-3)(К-4)+3(К-3)+2)=К(К-1)(К-2)(=;
при К=0,1,2, PG(K)=0 , при К=3: PG(K),G-3-х –хроматический граф.
Пример 4
G:
=G1
+G2
Тогда, =К (К-1)(К-2)(К-3)+К (К-1)(К-2)=К (К-1)(К-2)(К-3+1)=К (К-1)(К-2)
При К=0,1,2 =0, при К=3
=3*2*1=6 -граф 3- расрашеный
Алгоритмы и программы.
А. Точный алгоритм раскрашивания
Имеем рекурсивную процедуру Р:
-
Выбрать в графе G некоторое максимальное независимое множество вершин S.
-
Покрасить вершины S в очередной цвет
-
Применить процедуру Р к графу GS
Выход: раскраски заданы массивом Сномера цветов, при……….. вершинам
If V= ф then
Return (раскраска закончена)
End if
S: Select max (G)S-максимальное независимое множество
C: =i раскрашиваемые вершины множества S в цвет i
P (G-S, i+1) рекурсивный вызов
Теорема
Если граф G К-раскрашенный, то существует такие последовательности выбора множества S на шаге 1 процедуры Р, что применение процедуры Р к графу G построит не более, чем К –раскраску графа G.
В.Приближённый алгоритм последовательного раскрашивания
Алгоритм А имеет переборный характер. Имеет смысл использовать приближённый алгоритм, ……………..эффективен.
Алгоритм последовательного приближения
Вход: граф G.
Выход: раскраска графа-массив С: …….. of 1….P
For do
Cвсе не раскрашены
End for
For do
A: = все цвета
For
A:=A\ занятые для V цвета
End for
C= min A минимально свободный цвет
End for
Замечание. Таким образом, красить вершины необходимо , выбирая среди допустимых цветов минимальный.
Обоснование. В основном цикле раскрашивания получаются все вершины, и каждая из них получает допустимую раскраску таким образом процедура строит допустимую раскраску.
С.Улучшенный алгоритм последовательной раскраски.
Алгоритм строит допустимую раскраску, применяя …………: начинать раскраску следует с вершин наибольшей степени, поскольку , если их раскрашивать в конце процесса, то более вероятно, что для них не найдётся свободного цвета и придется задействовать ещё 1 цвет.
Вход: граф G
Выход: раскраска графа –массив С:
…….. of 1….P
Sort (V) (упорядочить вершины по возрастанию степени)
С:=1( первый цвет)
For do
Cвсе не раскрашены
End for
White V do
For do
For
If C(U)= C then
Next for V (вершину V нельзя окрасить в цвет С)
End if
End for
C…… вершину V в цвет С
V: = (удалям её из раскрашивания)
С: = С+1 (следующий цвет)
Обоснование
Заметим, что данный алгоритм отличается от предыдущего тем, что основной цикл идёт не по вершинам, по цветам : сначала , всё, что можно, красим в цвет 1 , затем в оставшиеся краски, всё, что можно в цвет 2 , и т.д. Алгоритмы В и С аналогичны.
Литература
-
Кристофидес. Теория графов. Алгоритмический подход, изд-во Мир, М ,1978
-
Ф.А. Новиков. Дискретная математика для программистов , С.П-б : Литература 2002-304-С
-
Свален М. Тхуласираман К. Графы , сети и алогитмы.М; Мир , 1984;
-
Р.Уилсон. Введение в теорию графов , Мир, М.1977.