Нижегородский государственный университет им. Н.И.Лобачевского
Опубликован: 27.09.2006 | Доступ: свободный | Студентов: 3533 / 125 | Оценка: 4.44 / 4.11 | Длительность: 13:45:00
Специальности: Программист, Математик
Лекция 10:

Раскраски

< Лекция 9 || Лекция 10: 123 || Лекция 11 >

Переборный алгоритм для раскраски

Рассмотрим алгоритм решения задачи о раскраске, похожий на описанный выше алгоритм для задачи о независимом множестве. Сходство заключается в том, что задача для данного графа сводится к той же задаче для двух других графов. Поэтому снова возникает дерево вариантов, обход которого позволяет найти решение. Но есть и одно существенное различие, состоящее в том, что теперь два новых графа не будут подграфами исходного графа.

Выберем в данном графе G две несмежные вершины x и y и построим два новых графа: G_{1}, получающийся добавлением ребра (x,y) к графу G, и G_{2}, получающийся из G слиянием вершин x и y. Операция слияния состоит в удалении вершин x и y и добавлении новой вершины z и ребер, соединяющих ее с каждой вершиной, с которой была смежна хотя бы одна из вершин x, y. На рис. 10.2 показаны графы G_{1} и G_{2}, получающиеся из графа G, изображенного на рис. 10.1, с помощью этих операций, если в качестве x и y взять вершины a и f.


Рис. 10.2.

Если в правильной раскраске графа G вершины x и y имеют разные цвета, то она будет правильной и для графа G_{1}. Если же цвета вершин x и y в раскраске графа G одинаковы, то граф G_{2} можно раскрасить в то же число цветов: новая вершина z окрашивается в тот цвет, в который окрашены вершины x и y, а все остальные вершины сохраняют те цвета, которые они имели в графе G. И наоборот, раскраска каждого из графов G_{1}, G_{2}, очевидно, дает раскраску графа G в то же число цветов. Поэтому

\chi (G)=\min \{ \chi (G_{1}),\chi (G_{2})\},

что дает возможность рекурсивного нахождения раскраски графа в минимальное число цветов. Заметим, что граф G_{1} имеет столько же вершин, сколько исходный граф, но у него больше ребер. Поэтому рекурсия в конечном счете приводит к полным графам, для которых задача о раскраске решается тривиально.

Раскраска ребер

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

Обозначим через \Delta (G) максимальную степень вершины в графе. При правильной реберной раскраске все ребра, инцидентные одной вершине, должны иметь разные цвета. Отсюда следует, что для любого графа выполняется неравенство \chi'(G)\ge \Delta (G). Для некоторых графов имеет место строгое неравенство, например, \Delta (C_{3} )=2, а \chi'(C_{3} )=3. Следующая теорема, доказанная В.Г.Визингом в 1964 г., показывает, что \chi'(G) может отличаться от \Delta(G) не более чем на 1.

< Лекция 9 || Лекция 10: 123 || Лекция 11 >
Петр Петров
Петр Петров

произведение графов К(2)*О(4) фактически 4 отдельных графа К(2)?

Александр Лаврентьев
Александр Лаврентьев

много инструкций вида if - then - else

Например Procedure DFS(a) опишите каким образом следует понимать вложенность инструкций. Как в языке С ? 

т.е. следующее 

if (...) then (...)

if (...) then (...)

else(...)

 

раскрывается как 

if (...) then (...)

if (...) then (...)

         else(...)

или так :

if (...) then

 {  (...)

     if (...) then (...)

              else(...)

}

обьясните пожалуйста.

 

 

Дмитрий Крюков
Дмитрий Крюков
Россия, Москва
Андрей Посохов
Андрей Посохов
Россия, Санкт-Петербург