
- •Введение
- •1. Элементы теории множеств
- •1.1. Основные понятия и определения теории множеств
- •1.2. Операции над множествами и их свойства. Диаграммы Эйлера-Венна
- •1.3. Мощность множества
- •1.4. Взаимно однозначное соответствие между множествами
- •1.5. Счетные и несчетные множества
- •Задачи и упражнения
- •2. Элементы теории отношений
- •2.1. Бинарные отношения. Свойства отношений
- •2.2. Отношение эквивалентности и разбиения
- •2.3. Отношения порядка. Диаграмма Хассе
- •Задачи и упражнения
- •3.Функции, отображения и операции
- •4. Элементы теории графов
- •4.1. Основные понятия и определения теории графов
- •4.2. Типы графов
- •4.3. Матричные представления графов
- •4.5. Операции над графами
- •4.6. Метрические характеристики графа. Расстояние в графах
- •Затем, изымая степень, соответствующую вершине , получим
- •4.8. Достижимость и связность
- •4.8.1. Основные определения
- •4.8.2. Матрицы достижимостей
- •4.8.3. Нахождение сильных компонент
- •Алгоритм нахождения сильных компонент графа можно описать следующей последовательностью шагов
- •Таким образом, сильные компоненты графа можно находить по следующему алгоритму.
- •4.8.4. Базы и антибазы
- •4.9. Независимые и доминирующие множества
- •4.9.1. Нахождение всех максимальных независимых множеств
- •Опишем алгоритм нахождения всех максимальных независимых множеств вершин графа.
- •4.10. Покрытия и раскраски
- •4.11. Деревья, остовы и кодеревья
- •4.11.1. Основные определения
- •4.11.2. Алгоритм построения остова неорграфа
- •4.11.4. Обходы графа по глубине и ширине
- •Доказательство.
- •4.11.5. Упорядоченные и бинарные деревья
- •4.12. Эйлеровы циклы. Гамильтонов контур
- •4.12.1. Метод Флёри построения эйлерова цикла
- •Матрица м данного графа имеет вид
- •4.12.3. Алгебраический метод выделения гамильтоновых путей и контуров
- •4.13. Плоские и планарные графы
- •4.13.1. Формула Эйлера
- •4.13.2. Критерии анализа планарности
- •4.13.3. Алгоритм укладки графа на плоскости
- •Задачи и упражнения
- •5. Комбинаторика
- •5.1. Перестановки
- •5.2. Перестановки с неограниченными повторениями
- •5.3. Размещения
- •5.4. Сочетания
- •5.5. Сочетания с повторениями
- •5.6. Производящие функции для сочетаний
- •5.7. Производящие функции для перестановок
- •5.8. Циклы перестановок
- •Общее число дубликатов
- •5.9. Принцип включений и исключений
- •Почему появился ?
- •Задачи и упражнения
- •6. Алгебра высказываний
- •6.1. Операции над высказываниями
- •6.2. Правила записи сложных формул
- •6.3. Таблицы истинности
- •6.4. Равносильность формул
- •6.5. Дизъюнктивные и конъюнктивные нормальные формы
- •6.5.1. Алгоритм приведения пф к нормальным формам
- •6.5.2. Аналитический способ приведения к сднф
- •6.5.3. Табличный способ приведения к сднф
- •6.5.4. Табличный способ приведения к скнф
- •6.6. Логическое следствие
- •Задачи и упражнения
- •7. Разрешимые и неразрешимые проблемы
- •Заключение
- •Библиографический список
- •394026 Воронеж, Московский просп., 14
Опишем алгоритм нахождения всех максимальных независимых множеств вершин графа.
Начальная установка.
Шаг 1. Пусть S0 = Q0- = , Q0+= X, k=0.
Прямой шаг.
Шаг 2. Выбрать вершину xikQk+ и сформировать Sk+1, Qk-+1 и Qk++1, оставив Qk- и Qk+ нетронутыми. Положить k=k+1.
Проверка.
Шаг 3. Если выполняется условие (4.5), то перейти к шагу 5 иначе к шагу 4.
Шаг 4. Если Qk+=Qk- =, то напечатать максимальное независимое множество Sk и перейти к шагу 5. Если Qk+=, а Qk-, то перейти к шагу 5, иначе к шагу 2.
Шаг возвращения.
Шаг 5. Положить k=k–1. Удалить xik из Sk+1, чтобы получить Sk. Исправить Qk+ и Qk-, удалив вершину xik из Qk+ и добавив ее к Qk-. Если k0, то перейти к шагу 3, иначе если Q0+=, то остановиться (к этому моменту будут напечатаны все максимальные независимые множества), иначе перейти к шагу 2.
П
ример.
Найти все максимальные независимые
множества графа G.
Матрица смежности графа G:
-
А=
x1
x2
x3
x4
x5
x6
x7
x1
0
1
1
0
0
0
0
x2
1
0
0
1
0
1
0
x3
1
0
0
0
1
0
1
x4
0
1
0
0
1
1
0
x5
0
0
1
1
0
0
1
x6
0
1
0
1
0
0
1
x7
0
0
1
0
1
1
0
1. Начальная установка:
S0 = Ø; Q0- = Ø; Q0+ = {x1, x2, x3, x4, x5, x6, x7}; k=0.
2. Прямой шаг:
x1; S1 = {x1}; Q1- = Ø; Q1+ = {x4, x5, x6, x7}; k = 1.
3. Проверка.
Условие не выполняется, переходим к шагу 4 (→ 4).
4. Условие не выполняется → 2.
2. x4; S2 = {x1, x4}; Q2- = Ø; Q2+ = {x7}; k = 2.
3. Условие не выполняется → 4.
4. Условие не выполняется → 2.
2. x7; S3 = {x1, x4, x7}; Q3- = Ø; Q3+ = Ø; k = 3.
3. Условие не выполняется → 4.
4. S3 = {x1, x4, x7} максимальное независимое множество → 5.
5. k = 2; S2 = {x1, x4}; Q2- = {x7}; Q2+ = Ø → 3.
3. Условие выполняется → 5.
5. k = 1; S1 = {x1}; Q1- = {x4}; Q1+ = {x5, x6, x7} → 3.
3. Условие не выполняется → 4.
4. Условие не выполняется → 2.
2. x5; S2 = {x1, x5}; Q2- = Ø; Q2+ = {x6}; k = 2.
3. Условие не выполняется → 4.
4. Условие не выполняется → 2.
2. x6; S3 = {x1, x5, x6}; Q3- = Ø; Q3+ = Ø; k = 3.
3. Условие не выполняется → 4.
4. S3 = {x1, x5, x6} максимальное независимое множество → 5.
5. k = 2; S2 = {x1, x5}; Q2- = {x6}; Q2+ = Ø → 3.
3. Условие выполняется → 5.
5. k = 1; S1 = {x1}; Q1- = {x4, x5}; Q1+ = {x6, x7} → 3.
3. Условие не выполняется → 4.
4. Условие не выполняется → 2.
2. x6; S2 = {x1, x6}; Q2- = {x5}; Q2+ = Ø; k = 2.
3. Условие выполняется → 5.
5. k = 1; S1 = {x1}; Q1- = {x4, x5, x6}; Q1+ = {x7} → 3.
3. Условие выполняется → 5.
5. k = 0; S0 = Ø; Q0- = {x1}; Q0+ = {x2, x3, x4, x5, x6, x7} → 2.
2. x2; S1 = {x2}; Q1- = Ø; Q1+ = {x3, x5, x7}; k = 1.
3. Условие не выполняется → 4.
4. Условие не выполняется → 2.
2. x3; S2 = {x2, x3}; Q2- = Ø; Q2+ = Ø; k = 2.
3. Условие не выполняется → 4.
4. S2 = {x2, x3} — максимальное независимое множество → 5.
5. k = 1; S1 = {x2}; Q1- = {x3}; Q1+ = {x5, x7} → 3.
3. Условие не выполняется → 4.
4. Условие не выполняется → 2.
2. x5; S2 = {x2, x5}; Q2- = Ø; Q2+ = Ø; k = 2.
3. Условие не выполняется → 4.
4. S2 = {x2, x5} — максимальное независимое множество → 5.
5. k = 1; S1 = {x2}; Q1- = {x3, x5}; Q1+ = {x7} → 3.
3. Условие не выполняется → 4.
4. Условие не выполняется → 2.
2. x7; S2 = {x2, x7}; Q2- = Ø; Q2+ = Ø; k = 2.
3. Условие не выполняется → 4.
4. S2 = {x2, x7} — максимальное независимое множество → 5.
5. k = 1; S1 = {x2}; Q1- = {x3, x5, x7}; Q1+ = Ø → 3.
3. Условие выполняется → 5.
5. k = 0; S0 = Ø; Q0- = {x1, x2}; Q0+ = {x3, x4, x5, x6, x7} → 3.
3. Условие не выполняется → 4.
4. Условие не выполняется → 2.
2. x3; S1 = {x3}; Q1- = {x2}; Q1+ = {x4, x6}; k = 1.
3. Условие не выполняется → 4.
4. Условие не выполняется → 2.
2. x4; S2 = {x3, x4}; Q2- = Ø; Q2+ = Ø; k = 2.
3. Условие не выполняется → 4.
4. S2 = {x3, x4} — максимальное независимое множество → 5.
5. k = 1; S1 = {x3}; Q1- = {x2, x4}; Q1+ = {x6} → 3.
3. Условие не выполняется → 4.
4. Условие не выполняется → 2.
2. x6; S2 = {x3, x6}; Q2- = Ø; Q2+ = Ø; k = 2.
3. Условие не выполняется → 4.
4. S2 = {x3, x6} — максимальное независимое множество → 5.
5. k = 1; S1 = {x3}; Q1- = {x2, x4, x6}; Q1+ = Ø → 3.
3. Условие выполняется → 5.
5. k = 0; S0 = Ø; Q0- = {x1, x2, x3}; Q0+ = {x4, x5, x6, x7} → 2.
2. x4; S1 = {x4}; Q1- = {x1, x3}; Q1+ = {x7}; k = 1.
3. Условие выполняется → 5.
5. k = 0; S0 = Ø; Q0- = {x1, x2, x3, x4}; Q0+ = {x5, x6, x7} → 2.
2. x5; S1 = {x5}; Q1- = {x1, x2}; Q1+ = {x6}; k = 1.
3. Условие выполняется → 5.
5. k = 0; S0 = Ø; Q0- = {x1, x2, x3, x4, x5}; Q0+ = {x6, x7} → 2.
2. x6; S1 = {x6}; Q1- = {x1, x3, x5}; Q1+ = Ø; k = 1.
3. Условие выполняется → 5.
5. k = 0; S0 = Ø; Q0- = {x1, x2, x3, x4, x5, x6}; Q0+ = {x7} → 2.
2. x7; S1 = {x7}; Q1- = {x1, x2, x4}; Q1+ = Ø; k = 1.
3. Условие выполняется → 5.
5. k = 0; S0 = Ø; Q0- = {x1, x2, x3, x4, x5, x6, x7}; Q0+ = Ø → останов.
Таким образом, данный граф имеет семь максимальных независимых множеств:
S1 = {x1, x4, x7}; S2 = {x1, x5, x6}; S3 = {x2, x3}; S4 = {x2, x5}; S5 = {x2, x7}; S6 = {x3, x4}; S7 = {x3, x6}.
Ядро множество, которое является одновременно минимальным доминирующим и максимальным независимым.
Утверждение 4.9.1. Конечный граф без петель, не содержащий контуров нечетной длины, обладает ядром.
Понятие,
противоположное максимальному
независимому множеству, есть максимальный
полный подграф. Максимальный полный
подграф графа G
называется
кликой графа. Следовательно, в
противоположность максимальному
независимому множеству, в котором не
могут встретиться две смежные вершины,
в клике все вершины попарно смежны.
Совершенно очевидно, что максимальное
независимое множество графа G
соответствует клике графа
и
наоборот, где
–
дополнение графа G.
Кликовое число – максимальное число вершин в кликах данного графа.
Утверждение. 4.9.2. Максимальное независимое множество графа G соответствует клике графа G и наоборот.