Лекции.Орг


Поиск:




Числа внутренней и внешней устойчивости графа




Рассмотрим теперь число внутренней устойчивости. Если две любые вершины подмножества X’ графа G = (X, U), X’ Í X не смежны, то оно называется внутренне устойчивым. Подмножество y i Í X графа G = (X, U) называется максимальным внутренне устойчивым подмножеством (МВУП) или независимым (НП), если добавление к нему любой вершины xi Î X делает его не внутренне устойчивым. Подмножество y i будет независимым, если

                                      " xi Î y ixi Ç y i = Æ).                         (17.8)

Независимые подмножества различаются по числу входящих в них элементов. В произвольном графе G можно выделить семейство всех НП вида y = {y1, y2,..., y s }. Независимые подмножества, содержащие наибольшее число элементов, называются предельными. Тогда число внутренней устойчивости h(G) определяется мощностью предельного НП

                                     h(G) = |max y i |, y i Î y.                           (17.9)

Число внутренней устойчивости h(G) можно связать с хроматическим числом c(G) следующим образом: h(G)c(G) ³ n.

Рассмотрим вопросы построения семейства независимых подмножеств на основе матрицы смежности или ее списка. Данный алгоритм описан А. Кофманом на основе идей предложенных К. Магу. Идея алгоритма построения семейства y = {y1, y2,..., y l } заключается в следующем. В списке смежности графа G определяется строка, имеющая наибольшее число элементов. Если таких строк несколько, то выбирается любая. Для определенной строки i записывается элемент C i = (xi + xk × xl ×... × xq), (где знак сложения “ xi + xk ” — подразумевает операцию дизъюнкции, а знак умножения “ xk × xl ” или “ xk xl ” – операцию конъюнкции). Здесь xi – вершина графа, соответствующая выделенной строке i, а xk, xl,..., xq – вершины, смежные с xi. Далее в списке смежности исключается строка i, а также элементы с индексом i из всех оставшихся строк списка. Указанная операция соответствует выделению из графа G звездного подграфа с вершиной xi. В списке снова определяется строка j с наибольшим числом элементов и записывается элемент C j = (xj + xp × xr ×... × xv). Далее процесс выполняется аналогично до тех пор, пока в списке для оставшихся строк не будет содержаться ни одного элемента. Затем составляется произведение П = C i × C j ×... × C k, в котором раскрываются скобки, и в полученной сумме выполняется минимизация с учетом выражений

              xi n = xi, xi + xi +... + xi = xi; xi + 1 = 1; xi + xi xj = xi.    (17.10)

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

Методика определения МНП используется для раскраски вершин графа G.

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

Если получено семейство МНП, то можно построить матрицу M = ||m i , j ||n×w, где

w – число МНП в семействе y. Тогда задачу раскраски сводят к нахождению наименьшего числа строк, покрывающих все ее столбцы единицами.

Например, для графа G (рис. 17.1) матрицу M можно записать следующим образом:

    x 1 x 2 x 3 x 4 x 5 x 6 x 7  

M =

y1 1 0 0 0 1 1 1

.

y2 1 0 0 1 0 0 0
y3 0 1 0 0 0 1 0
y4 0 1 0 1 0 0 0
y5 0 0 1 1 0 0 0

Проанализировав данную матрицу, можно отметить, что минимальное число строк, покрывающих все столбцы матрицы, равно трем. Это строки y1 (покрываются столбцы x 1, x 5, x 6 и x 7), y5 (покрываются столбцы x 3, x 4), а также либо строка y3 (покрываются столбцы x 2, x 6), либо строка y4 (покрываются столбцы x 2, x 4).

Таким образом, можно выполнить следующую раскраску графа: вершины x 1, x 5, x 6 и x 7 – первый цвет; вершины x 3, x 4 – второй цвет; вершина x 2 – третий цвет.

Рассмотрим алгоритм определения внешне устойчивого подмножества.

Пусть исследуемый объект задан в виде неориентированного графа G = (X, Г x), который можно рассматривать как пару, образованную множеством Х и многозначным отображением Г х множества Х в себя. Х = { x 1, x 2,..., xn } – множество вершин графа, Г х i = { xk, xe,..., xp } определяет множество вершин xk, xe,..., xp, смежных с вершиной xi, другими словами, определяет ребра графа (xi, xk), (xi, xe),..., (xi, xp); .

Подмножество вершин M i Í Х графа G называется внешне устойчивым, если

                                     (" x Ï M i) (G x Ç M i ¹ Æ).                    (17.11)

Внешне устойчивое подмножество (ВУП) называется минимальным, если удаление из него произвольной вершины делает его внешне неустойчивым. В каждом графе можно выделить семейство М = {M1, M2,..., M i } минимально внешне устойчивых подмножеств (МВУП). Элементы семейства М отличаются друг от друга по виду и количеству входящих в них элементов. Мощность МВУП, содержащего наименьшее число вершин, называется числом внешней устойчивости (b(G)).

Рассмотрим алгоритм получения минимального внешне устойчивого подмножества и наметим путь получения семейства МВУП.

Для задания графов будем использовать структурные числа. Система А, не содержащая одинаковых столбцов ai и одинаковых элементов a (q, i) в каждом столбце, называется структурным числом.

A = { a 1, a 2,..., an }, ai ¹ aj, aq = { a (1, q), a (2, q),..., a (m, q)}; a (i, q) ¹ a(j, q).

Столбцам структурного числа (СЧ) можно поставить в соответствие покрывающие деревья графа, а элементам столбцов СЧ – номера соответствующих деревьев. СЧ А имеет геометрическое изображение в виде графа G = (X, Г x), Х = { x 1, x 2,..., xn }, если существует разложение А на простые сомножители P1, P2,..., P n -1 и произвольный элемент ai Î P i встречается не более чем в двух сомножителях. Если каждый P i записать в виде номеров ребер, смежных вершине xi, то СЧ графа G примет вид А = P1, P2,..., P n -1. Произведение элементов P i позволит получить СЧ в виде матрицы, где каждый столбец соответствует номерам ребер покрывающего дерева.

Граф G будем задавать в виде преобразованного структурного числа (ПСЧ).

A = Q1, Q2,..., Q n; Q i = [ i ][ j 1, j 2,..., jl ] = [ i ][Q’ i ].

Сомножитель Q i соответствует вершине xi графа G; i – индекс xi; Q’ i = j 1, j 2,..., jl – последовательность индексов вершин, смежных xi.

Для графа G (рис. 17.7)

Рис 17.7. Граф G

преобразованное структурное число запишется следующим образом:

А =

[1] [2, 3, 4, 5]

.

[2] [1, 5, 6]
[3] [1, 4, 7]
[4] [1, 3, 6]
[5] [1, 2, 7]
[6] [2, 4]
[7] [3, 5]

Очевидно, что такая запись идентична той, что получилась бы, если бы мы использовали списочное задание графа. Таким образом, преобразованное структурное число А (ПСЧ) это не что иное как список смежности рассматриваемого графа. При этом, для задания графа достаточно n – 1 строк вида Q i. В связи с вышесказанным в дальнейшем при решении практических задач будем считать равнозначным обозначение A (т.е. преобразованное структурное число) и RL (т.е. список смежности).

Введем понятие расширенной алгебраической производной ПСЧ, которую запишем следующим образом:

 – исключена строка Q i, а также элементы i и j 1, j 2,..., jl из Q’ k частей оставшихся строк А.

Указанная операция соответствует удалению из графа G звездного подграфа с вершиной xi, а также ребер, соединяющих вершины смежные xi. Вершины, удаленные после взятия производной, будем записывать так: X’ = { i, j 1, j 2,..., jl }. Причем X’ Í X.

На основе введенной операции взятия расширенной алгебраической производной сформулируем алгоритм построения минимального внешне устойчивого подмножества M i Í M. Основная идея алгоритма заключается в следующем. В ПСЧ определяется строка Q i, у которой |Q’ i | максимальна. Если таких строк несколько, то выбирается любая. Далее определяется расширенная алгебраическая производная  и записывается подмножество X’ = { xi, xk, xl,..., xq } (вершины xk, xl,..., xq соответствуют элементам Q’ i). Затем производится сравнение Х с Х’. Если Х’ = Х, то вершина xi образует внешне устойчивое подмножество M1. В противном случае в ПСЧ A’ снова определяется строка Q j, у которой |Q’ j | максимальна. Если таких строк несколько, то выбирается строка Q s, которая имеет максимальное число элементов, не вошедших в подмножество Х’ на предыдущем шаге. Находится  и записывается подмножество X’’. Если X’’ = Х, то вершины xi и xj образуют внешне устойчивое подмножество M1 = { xi, xj }. Если нет, то процесс повторяется аналогично, пока на некотором l шаге X( l ) = X. Для построения семейства М необходимо аналогичные операции над ПСЧ выполнять последовательно с каждой строкой с просмотром всех ответвлений.

Запишем алгоритм построения минимального внешне устойчивого подмножества множества вершин G.

1°. Запись по графу G преобразованного структурного числа А.

2°. Выбор в А строки Q i c |Q’ i | = max.

3°. Определение  и получение Х’.

4°. Сравнение X’ с Х. Если |X’| = |X|, то М1 = { xi } и переход к 6°. Иначе к 5°.

5°. Выбор в ПСЧ строки j с максимальным Q’ j, j: = i и переход к 3°.

6°. Выделено внешне устойчивое подмножество. Конец работы алгоритма.

Работу алгоритма покажем на примере графа G (рис. 17.7). В ранее записанном ПСЧ А выделим строку Q1, т.к. часть Q’1 содержит наибольшее число элементов. Определим  и получим новое ПСЧ

А’ =

[2] [6]

.

[3] [7]
[4] [6]
[5] [7]
[6] [Æ]
[7] [Æ]

Выделенное подмножество – X’ = { x 1, x 2, x 3, x 4, x 5}. Граф, соответствующий A’, показан на рис. 17.8.

Рис. 17.8. Преобразованный г раф G

Мощность X’ не равна мощности Х. Следовательно, вершину x 1 относим в М1 и продолжаем процесс получения внешне устойчивого подмножества. На втором шаге определяем строки Q2, Q3, Q4, Q5. Так как мощность этих строк одинакова, мы можем выбрать любую, например строку Q2. После этого вычисляем  и получаем:

А’’ =

[3] [7]

.

[4] [Æ]
[5] [7]
[6] [Æ]
[7] [Æ]

Теперь X’’ = { x 1, x 2, x 3, x 4, x 5, x 6}. Величина |X’’| ¹ |X|, следовательно, вершину x 2 относим к М1 и алгоритм продолжает работу. Рассматриваем строки Q3 и Q5. Выбираем любую из них, например Q3, и определяем значение . В результате получим

А’’ =

[4] [Æ]

.

[5] [Æ]
[6] [Æ]
[7] [Æ]

X’’’ = { x 1, x 2, x 3, x 4, x 5, x 6, x 7, x 8} = X. Следовательно, получили внешне устойчивое подмножество M = { x 1, x 2, x 3}.

Теорема 17.2. Подмножество М i, полученное по алгоритму, является минимальным внешне устойчивым подмножеством.

Доказательство. Покажем, что М i есть внешне устойчивое подмножество. Предположим, что М i не является внешне устойчивым, т.е. элементы подмножества вершин М i совместно не смежны оставшимся вершинам графа. Это говорит о том, что на конечном l шаге работы алгоритма X( l ) ¹ X, что противоречит условию алгоритма. Так как алгоритм заканчивает работу, когда X( l ) ¹ X, то М i является внешне устойчивым подмножеством.

Покажем теперь, что М i Ì М является минимальным внешне устойчивым подмножеством. Предположим, что существует М j такое, что М j Ì М i, т.е. существует, по крайней мере, один элемент xb Î X, после удаления которого из М i, подмножество М j будет внешне устойчивым. Другими словами, алгоритм после получения внешне устойчивого подмножества продолжит работу и выделит М i É М j, что противоречит структуре алгоритма. Следовательно, М i есть минимальное внешне устойчивое подмножество.

Для нахождения числа внешней устойчивости необходимо выделить семейство минимальных внешне устойчивых подмножеств и определить в нем наименьшее по мощности подмножество.

Существуют графы, которые содержат некоторое подмножество X’ Í X вершин, причем это подмножество является одновременно внутренним и внешне устойчивым. Подмножества такого типа называются ядрами графа.

Теорема 17.3 Если граф G = (X, U) имеет ядро, то его числа устойчивости удовлетворяет условию

                                                n(G) ³ b(G).                               (17.12)

Например, в графе G (рис 3.7) подмножество вершин { x 3, x 5, x 6} является ядром, так как оно одновременно и внешне и внутренне устойчиво. Причем h(G)= 3 = b(G).

ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ

Пример 1. Выделить семейство независимых подмножеств для графа, заданного списком смежности RL.

.

Решение: для решения поставленной задачи воспользуемся вышеописанным алгоритмом.

1. Выбираем из списка смежности RL строку с наибольшим числом элементов. В данном случае это строка с индексом 3.

Теперь можем записать следующее выражение:

C3 = (x 3 + x 2 x 5 x 6 x 7 x 8).

Удаляем из списка 3-ю строку и из всех остальных строк – элементы с индексом 3. В результате получим модифицированный список смежности RL1.

.

2. В списке RL1 выбираем строку с индексом 4. Записываем выражение: C4 = (x 4 + x 1 x 5 x 7 x 8). После удаления четвертой строки и элементов с соответствующими ей индексами, получим список смежности RL2.

.

3. Выбираем строку 2 и записываем выражение C2 = (x 2 + x 1 x 6 x 7). После удаления второй строки и элементов с соответствующими ей индексами, получим список RL3.

.

4. Из двух оставшихся ненулевых строк, выберем строку 1 и запишем C1 = (x 1 + + x 5).

5. Запишем произведение полученных выражений:

P =(x 1 + x 5)(x 2 + x 1 x 6 x 7)(x 3 + x 2 x 5 x 6 x 7 x 8)(x 4 + x 1 x 5 x 7 x 8).

В результате последовательного перемножения и минимизации на основе тождеств алгебры логики получим выражение:

P = x 1 x 2 x 3 x 4 + x 1 x 2 x 3 x 5 x 7 x 8 + x 1 x 3 x 4 x 6 x 7 + x 2 x 3 x 4 x 5 + x 1 x 3 x 5 x 6 x 7 x 8 + + x 1 x 2 x 5 x 6 x 7 x 8.

6. Обозначим каждую конъюнкцию в произведении следующим образом: K1, K2, K3, …, K6. Теперь «проинвертируем» каждый элемент полученного произведения, т.е. определим элементы не входящие в каждую из конъюнкций:

 = x 5 x 6 x 7 x 8 + x 4 x 6 + x 2 x 5 x 8 + x 1 x 6 x 7 x 8 + x 2 x 4 + x 3 x 4.

Каждая из полученных конъюнкций соответствует независимому подмножеству. Таким образом, мы получили семейство независимых подмножеств:

y = [y1, y2, y3, y4, y5, y6],

где y1 = { x 5, x 6, x 7, x 8}; y2 = { x 4, x 6}; y3 = { x 2, x 5, x 8}; y4 = { x 1, x 6, x 7, x 8}; y5 = { x 2, x 4}; y6 = { x 3, x 4}.

Поскольку мощность максимального независимого подмножества равна четырём, то число внутренней устойчивости заданного графа h(G) также равно 4.

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

Пример 2. Выполнитьраскраску графа, заданного в примере 1 на основе алгоритма Кофмана. Выпишем для каждой вершины графа те конъюнкции, в которые эти вершины не входят.

x 1 Ï K4; x 2 Ï K3, K5; x 3 Ï K6; x 4 Ï K2, K5, K6; x 5 Ï K1, K3; x 6 Ï K1, K2, K4; x 7 Ï K1, K4; x 8 Ï K1, K3, K4.

Теперь запишем полученное выражение в виде произведения этих конъюнкций:

P = K4 × (K3 + K5) × K6 × (K2 + K5 + K6) × (K4 + K3) × (K1 + K2 + K4) × (K1 + K4) × (K1 + K3 + K4).

После перемножения элементов данного выражения и его минимизации получим следующее выражение:

P = K1K2K3K4K6 + K1K4K5K6.

Число элементов K i в каждой конъюнкции соответствует количеству цветов, которые необходимы для раскраски графа, а каждый K i - определяет подмножество вершин, которые можно раскрасить одним цветом.

Таким образом, из полученного выражения следует, что данный граф можно раскрасить двумя способами, причем для этого потребуется либо четыре краски, либо пять.

Рассмотрим, например, конъюнкцию, содержащую четыре элемента. Это элементы K1, K4, K5, K6.Как мы уже определили ранее, конъюнкции K1 соответствуют элементы { x 5, x 6, x 7, x 8}.Следовательно, эти вершины мы окрашиваем в первый цвет.

Для определения вершин, которые будут окрашены во второй цвет необходимо определить разность:

K4 \ K1 = { x 1, x 6, x 7, x 8} \ { x 5, x 6, x 7, x 8} = { x 1}.

Окрашиваем вершину x 1 во второй цвет.

Действуя аналогичным образом мы определяем, что вершины x 2, x 4 окрашиваются в третий цвет, а вершина x 3 – в четвёртый.

Таким образом, задача раскраски графа решена, граф раскрашен четырьмя красками.

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

Пример 3. Раскрасить граф из примера 1, через решение задачи покрытия.

Решение: cоставляем таблицу, в которой строки соответствуют независимым подмножествам, а столбцы - вершинам графа.

  x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8

.

y1 0 0 0 0 1 1 1 1
y2 0 0 0 1 0 1 0 0
y3 0 1 0 0 1 0 0 1
y4 1 0 0 0 0 1 1 1
y5 0 1 0 1 0 0 0 0
y6 0 0 1 1 0 0 0 0

Выбираем первую строку этой таблицы. Она покрывает элементы x 5, x 6, x 7, x 8. Вторая строка перекрывает вершину x 4. Третья строка - вершину x 2. Четвертая - вершину x 1. И, наконец, шестая - вершину x 3. Таким образом, мы получили раскраску исходного графа пятью цветами.

1 вариант: 1–я краска – x 5, x 6, x 7, x 8; 2–я краска – x 4; 3–я – x 2; 4–я – x 1; 5–я – x 3.

Очевидно, что существует и второй, более оптимальный, вариант раскраски данного графа.

2 вариант: 1 – я краска – x 1, x 6, x 7, x 8 (4–я строка таблицы); 2–я краска – x 3, x 4 (6–я строка таблицы); 3–я – x 2, x 5 (3–я строка таблицы).

ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ

1. Что такое число внутренней устойчивости графа?

2. Что такое независимое подмножество вершин графа?

3. Каким образом выделяется независимое подмножество вершин графа?

4. Какое подмножество вершин графа называется предельным?

5. Приведите механизм определения внутренне устойчивых подмножеств.

6. Опишите идею алгоритма выделения независимых подмножеств в графе.

7. Что такое число внешней устойчивости?

8. Приведите механизм определения внешне устойчивых подмножеств.

9. Что такое минимальное внешне устойчивое подмножество?

10. Опишите основную идею алгоритма выделения минимальных внешне устойчивых подмножеств.





Поделиться с друзьями:


Дата добавления: 2018-10-18; Мы поможем в написании ваших работ!; просмотров: 2184 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Сложнее всего начать действовать, все остальное зависит только от упорства. © Амелия Эрхарт
==> читать все изречения...

791 - | 717 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.