Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод. указ. к лаб.раб. по ДМ.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.07 Mб
Скачать
    1. Раскраска графа

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

Если необходимо раскрасить вершину Vj графа, смежную с вершинами Vk,Vl,Vm, уже выкрашенными в цвета с номерами 0,1,3, то вершина Vj красится в цвет, номер которого минимален и не равен номерам цветов вершин, смежных с Vj. В рассмотренном примере вершину Vj нужно покрасить в цвет 2. Вышеизложенное определяет смысл функции Гранди, а общий алгоритм раскраски графа с ее помощью состоит в следующем:

  1. на графе выбирают произвольную вершину и окрашивают в цвет, номер которого минимален;

  2. выбирают вершину, смежную с окрашенной, и красят ее в цвет, номер которого минимален и не равен номеру цвета окрашенной вершины;

  3. находят вершину графа, смежную с окрашенными, и красят ее в цвет, номер которого минимален и не равен номерам окрашенных вершин;

  4. если смежных вершин нет, возвращаются к п.1, в противном случае конец.

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

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

  1. Задания к выполнению работы

Задание 1. Выполнить разложение орграфа на компоненты сильной связности методом Мальгранжа-Томеску.

Задание 2. Произвести раскраску графа, используя функцию смежности Гранди.

Граф задается матрицей смежности. Вариант задания определяется следующим образом: по номеру ij из таблиц 1-9 берется таблица с номером i, по j из таблицы 10 выбирается строка и осуществляется замена меток {a, b, c, d, e, f, g, h} столбцов матрицы смежности с номером i на цифры из множества {1, 2, 3, 4, 5, 6, 7, 8} в соответствии с табл. 10, затем производится перестановка столбцов матрицы смежности в порядке возрастания номеров. В результате получается матрица смежности требуемого графа.

При раскраске графа его необходимо задать графически.

  1. Порядок выполнения работы

  1. Изучить теоретическую часть.

  2. Выполнить задания по п.6 в соответствии с заданным вариантом.

  3. Составить отчет.

  4. Ответить на контрольные вопросы.

  1. Контрольные вопросы

  1. Что называется графом ?

2) Как представляются графы?

3) Что такое матрица смежности?

4) Какие графы подразделяются по связности?

5) Что такое транзитивное замыкание вершин?

6) В чем заключается алгоритм Мальгранжа - Томеску?

7) В чем заключается алгоритм заполнения столбца?

8) Как разложить граф на компоненты сильной связности?

9) В чем состоит задача раскраски графа?

10) В чем заключается алгоритм раскраски графа с помощью функции Гранди?