Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
65
Добавлен:
19.05.2015
Размер:
293.89 Кб
Скачать

Раскраски

Разнообразные задачи, возникающие при планировании производства , составлении графиков осмотра, хранении и транспортировке товаров могут быть представлены как

Задача о раскраске графа. Графы неориентированные и без петель(простые).

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

G и обозначается (G).Задача нахождений хрономического числа в графе – задача о раскраски графа. Соответствующие этому числу раскраски вершин разбивает множество вершин графа на z подмножества каждые из которых содержит вершины одного цвета.

Эти множества – независимые, т.к. в пределах 1 множества нет смежных двух вершин.

В общем случае хрономическое число графа нельзя найти , зная лишь числа вершин и рёбер графа. Недостаточно знать и степень каждой вершины, чтобы вычислить хрономическое число графа. Однако, можно получить верхнего и нижнего оценки для хрономического графа.

  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!!!

    Приведём ряд теорем:

    1. Ели наибольшее из степеней вершин графа G равен p, то он ( p+1)-раскашиваемый

    2. a) Любой пленарный граф 5-………

    б) любой пленарный граф, не содержит треугольников 3- раскрашенный (терема Грега).

    с)граф G -2-x раскраски тогда и только тогда, когда он эйлеров.(теорема Кароля)

    д) усиление a) еслиG –простой связный граф , то он p-…….(р),где р –наибольший из степеней вершин.

    е) для nвершина 4 – раскраски ……. и красок.

    Рёберная окраска

    Граф G- рёберно к раскрашенный , если его рёбра можно раскрасить К окрасками таким образом, что некие 2 смежные ребра не окажутся 1 цвета. Если граф К раскраски …….. , но не явится (к-1)………, то К –хрономическое число(……..)графа G.

    Ясно, что если наибольшее из степеней вершин граф G равен р, то .

    Алгоритм раскраски

    Пусть множество вершин упорядочено и - вершина этого множества

    1. окрасить в цвет 1

    2. каждая из оставшихся вершин окрасить : в цвет с наименьшим возможным номером ( не использованный при окраски вершины, смежной с .

    Связь с задачей раскраски

    Пусть нужно выбрать время проведения лекций по различным предметам с учетом того , что студенты желают посещать и те и другие. Строим граф. Вершины его- лекции по различным предметам , а рёбра соединяют те пары лекций, которые не должны назначаться на 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- расрашеный

    Алгоритмы и программы.

    А. Точный алгоритм раскрашивания

    Имеем рекурсивную процедуру Р:

    1. Выбрать в графе G некоторое максимальное независимое множество вершин S.

    2. Покрасить вершины S в очередной цвет

    3. Применить процедуру Р к графу 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 , и т.д. Алгоритмы В и С аналогичны.

    Литература

    1. Кристофидес. Теория графов. Алгоритмический подход, изд-во Мир, М ,1978

    2. Ф.А. Новиков. Дискретная математика для программистов , С.П-б : Литература 2002-304-С

    3. Свален М. Тхуласираман К. Графы , сети и алогитмы.М; Мир , 1984;

    4. Р.Уилсон. Введение в теорию графов , Мир, М.1977.