Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IndZadMUKR дискр матем.doc
Скачиваний:
12
Добавлен:
11.11.2019
Размер:
3.84 Mб
Скачать
      1. Расчет цикломатического числа λ(g) графа g

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

Расчет выполним по формуле:

.

В качестве примера удалим на графе G четыре ребра (1,3), (4,5), (5,6), (8,9). Получим граф на рис. 5.10.

Рисунок 5.10 — Граф без циклов и петель

      1. Расчет хроматического числа γ(g) графа g

Рассчитаем хроматическое число графа G, т.е. наименьшее число красок при применении которых для раскраски вершин графа две любые смежные вершины графа G, не будут окрашены в один цвет. Для расчета хроматического числа будем использовать два способа: 1) раскраска вручную с применение оценочных соотношений; 2) раскраска с применением алгоримтма.

Для раскраски вручную воспользуемся двумя оценочными соотношениями. Одно из них задает левую границу для γ(G), min возможное значение γ(G), т.е. γmin(G):

  1. полный n—вершинный граф имеет γmin(G)=n;

  2. пустой граф имеет γmin(G)=1;

  3. граф с циклом (т.е. хотя бы одним) четной длины имеет γmin(G)=2;

  4. граф с циклом нечетной длины имеет γmin(G)=3;

  5. граф—дерево имеет γmin(G)=2.

Другое оценочное соотношение задает правую границу для γ(G), max необходимое значение γ(G), т.е. γmax(G):

.

Начинаем проверку с вычисления γmin(G). Поскольку в графе G есть цикл нечетной длины пробуем раскрасить граф тремя красками (рис. 5.11).

Рисунок 5.11 — Раскраска графа G синей, желтой и красной красками

Вывод: трех красок, т.е. γmin(G) = 3 оказалось достаточно:

.

Если бы трех красок оказалось недостаточно, следовало бы γmin(G) увеличить на единицу и повторить раскраску заново. И так далее, до получения желаемого результата. Однако таких красок не должно быть больше чем γmax(G).

Для раскраски графа вторым способом используем следующий алгоритм:

  1. Вычислить степени вершин. Положить k = 1.

  2. Просмотреть вершины в порядке убывания степеней и окрасить первую неокрашенную вершину в цвет № k.

  3. Просмотреть вершины в порядке убывания степеней и окрасить в цвет № k все вершины, которые не смежны вершинам, уже окрашенным в цвет № k .

  4. Если все вершины окрашены, то kискомое хроматическое число. Иначе k = k + 1 и переход к пункту 2.

Применение алгоритма рассмотрим на графе G, изображенном на рис. 5.12.

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

Вычислим степени всех вершин (на рис. 5.13 степени вершин указаны рядом с вершинами).

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

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

 

Просмотрим вершины графа в порядке невозрастания значений их степеней и окрасим в цвет №3 (пусть это будет красный цвет) все неокрашенные вершины, которые не смежны уже окрашенным вершинам в синий цвет (рис. 5.16).

Поскольку все вершины графа раскрашены, алгоритм заканчивает работу. Хроматическое число графа равно трем, т.е. γ(G) = 3.

Далее необходимо привести результаты сравнения ручного и «алгоритмического» расчетов.