русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Раскраска графa


Дата добавления: 2013-12-24; просмотров: 1872; Нарушение авторских прав


Задача о наибольших полных и пустых подграфах

Введение

ПУСТЫЕ И ПОЛНЫЕ ПОДГРАФЫ

 

Конспект лекции

по дисциплине «Дискретная математика»

 

Некоторые замечания о терминологии.

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

 

Пусть G=(X,U) – неориентированный граф, .

Задача 1. Найти в графе G полный подграф G=(A,U), порожденный множеством вершин A, с наибольшим числом вершин. Это число называется плотностью графа G.

Задача 2. В графе G найти пустой подграф G=(B,U), порожденный множеством , с наибольшим числом вершин. Это число называется неплотностью графа G или числом внутренней устойчивости.

Полный подграф графа G называется кликой, а пустой – внутренне устойчивым множеством (ВУМ).

Пример 1. В графе G (рис.2.1) можно выделить клику , при этом кликой наибольшей мощности является A1 и . Внутреннее устойчивые множества: и. В матрице смежности графа G внутренне устойчивому множеству будет соответствовать нулевая подматрица.

b e

d

a g

c f

Рис. 2.1. Граф G примера 1

 

Пример 2. При представлении игр графами внутренне устойчивое множество вершин соответствует такому множеству позиций, что ни одна из них не может быть достигнута за один ход. Пусть в задаче требуется расположить наибольшее количество ферзей на шахматной доске так, чтобы ни один из них не бил другого, т.е. требуется найти наибольшее ВУМ. Очевидно, таких ферзей не может быть больше восьми (по одному на каждой вертикали и горизонтали).



Пример 3. Пусть для передачи информации используется код, символы которого обозначим . При приеме сообщения некоторые символы из множества X=могут быть приняты по ошибке за другие. Таким образом, процесс передачи информации может быть представлен в виде графа G=(X,U), в котором ребро когда символ может быть принят при передаче символа . Поэтому при кодировании сообщения желательно выбирать символы из внутренне устойчивого множества.

Заметим, что задача 1 и задача 2 взаимосвязаны. Для этого рассмотрим понятие дополнительного графа. Граф называется дополнительным к графу G=(X,U), если . При этом каждому полному подграфу графа G будет соответствовать пустой подграф в дополнительном графе , следовательно, .

Для графов общего вида задачи 1 и 2 не имеют эффективного алгоритмического решения. Большинство алгоритмов основано на полном переборе вариантов. Поэтому для построения клики (ВУМ) вначале пытаются уменьшить размерность задачи. Рассмотрим один из таких методов.

Обозначим U(x) - множество вершин, смежных вершине x в графе G=(X,U). Будем говорить, что вершина x покрывает вершину y, если . Пусть требуется решить задачу 2 о нахождении ВУМ наибольшей мощности. Решение основано на следующем утверждении.

Теорема. Если в графе G=(X,U) существует ВУМ мощности k и в паре вершин вершина x покрывает вершину y, то в подграфе, порожденном множеством X\{x}, также существует ВУМ мощности k (без доказательства).

Теорема утверждает, что удаление покрывающей вершины не меняет числа внутренней устойчивости графа.

Алгоритм «общипывания» графа заключается в следующем:

Шаг 1. Проверяем, является ли данный граф пустым. Если да, то задача решена успешно.

Шаг 2. Ищем пару вершин, из которых одна покрывает другую. Если такая пара существует, то переходим к шагу 3, иначе алгоритм бесполезен.

Шаг 3. Вычеркиваем в найденной паре покрывающую вершину и переходим к шагу 1.

Например, для графа G, рассмотренного в примере 1 (рис. 2.1), алгоритм дает решение задачи о наибольшем ВУМ:

 

1) , матрица смежности имеет вид:

A=,

Граф G не пуст, и вершина a покрывает вершину c.

2) ,

A1=,

Граф G1 не пуст, вершина d покрывает вершину c.

3) ,

A2=,

Граф G2 не пуст, вершина e покрывает вершину f.

4) ,

A3=,

Граф G3 не пуст, вершина f покрывает вершину g.

5) ,

A4=,

Граф , порожденный множеством вершин, пуст, - искомое ВУМ и .

Этот алгоритм не всегда дает решение задачи, но уменьшает ее размерность.

 

 

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

; , , (3.1)

такое, что все блоки разбиения являются внутренне устойчивыми множествами. Разбиение (3.1) называется p-раскраской графа, а его блоки – цветными классами [4]. Хроматическое число графа – это наименьшее количество цветных классов. Функция f:Xназывается функцией раскраски p-хроматического графа, если для всех , . Функция раскраски, принимающая наименьшее возможное значение в каждой из вершин графа, называется функцией Гранди .

Пример 1. Построить функцию Гранди для графа G=(X,U) (рис.3.1)

X3 X6

X2 X4 X5 X7

 

X1 X8

 

Рис. 3.1 Граф G примера 1

 

Найдем в графе G произвольное максимальное внутренне устойчивое множество, например,. Сопоставим всем вершинам множества значение функции Гранди, равное единице. Рассмотрим подграф , порожденный множеством вершин . Найдем в подграфе максимальное внутренне устойчивое множество, например,. Сопоставим этим вершинам значение функции, равное двум. Подграф , порожденный множеством оставшихся вершин является пустым (его вершины несмежны), всем его вершинам сопоставляем число три. Таким образом, функция Гранди построена:

 

xi x1 x2 x3 x4 x5 x6 x7 x8
F(xi)

Граф G является 3 – хроматическим.

 

Приведем несколько утверждений о р-хроматических графах [2, 4].

Утверждение 3.1. Полный граф является n-хроматическим.

Действительно, т.к. все вершины полного графа смежны, то в разбиении (3.1) каждая вершина полного графа образует отдельный блок, поэтому для раскраски вершин потребуется n красок.

Утверждение 3.2. Плотность графа не превосходит его хроматического числа.

В самом деле, если в графе существует клика из k вершин, то для раскраски понадобится не менее k красок.

Утверждение 3.3. Граф является двудольным тогда и только тогда, когда он бихроматический (2-хроматический).

Утверждение 3.4. Дерево – бихроматический граф.




<== предыдущая лекция | следующая лекция ==>
Азу ек а | Задачи для самостоятельной работы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.356 сек.