- •Глава 16. Специальные циклы и метрика графов 345
- •Глава 17. Графовые инварианты 404
- •Введение
- •Цели и задачи преподавания дисциплины «дискретная математика»
- •Модуль 1. Основы Теории множеств (2 кредита)
- •Комплексная цель и задачи изучения модуля
- •Глава 1. Исчисление множеств
- •1.1. Понятие множества
- •1.2. Способы задания множеств
- •1.3. Подмножество
- •2. Пустое множество не имеет собственных и истинных подмножеств.
- •3. Одноэлементное множество имеет два подмножества - сaмo себя и , т.Е. Не имеет собственных подмножеств.
- •Множество – это многое, мыслимое как единое.
- •Глава 2. Операции над множествами
- •2.1. Объединение множеств
- •2.2. Пересечение множеств
- •2.3. Разность множеств
- •2.4. Дополнение множества
- •2.5. Тождества алгебры множеств
- •2.6. Доказательства тождеств с множествами
- •Глава 3. Упорядоченные множества
- •3.1. Кортеж (Упорядоченное множество)
- •3.2. Декартово произведение
- •3.3. Операция проектирования множеств
- •3.4. График
- •Декартово произведение множеств позволяет перейти к графическому представлению упорядоченных множеств.
- •Глава 4. Отношения
- •4.1. Основные понятия отношений
- •4.2. Основные свойства отношений
- •4.3. Операции над отношениями
- •4.4. Основные свойства специальных отношений
- •4.5. Разбиение множеств
- •4.6. Отношение порядка
- •Использование отношений позволяет строить модели взаимосвязей между любыми обьектами в природе.
- •5. Соответствия
- •5.1. Определение соответствия
- •5.2. Операции над соответствиями
- •5.3. Понятия образа и прообраза при соответствии
- •5.4. Доказательства тождеств с соответствиями
- •5.5. Основные свойства соответствий
- •5.6. Функция
- •Глава 6. Упорядоченные бесконечные множества
- •6.1. Основные сведения об упорядоченных бесконечных множествах
- •6.2. Проблема континуума
- •Глава 7. Основные понятия теории мультимножеств
- •7.1. Понятие мультимножества
- •7.2. Операции над мультимножествами
- •Возможность многократного вхождения элементов в мультимножество создает новое качество и позволяет расширить класс описываемых, анализируемых и синтезируемых математических объектов.
- •8. Нечеткие множества
- •8.1. Нечеткие высказывания
- •8.2. Операции над нечеткими множествами
- •8.3. Нечеткие отношения и соответствия
- •Тестовые задания к модулю 1
- •24. Множество называется графиком, если каждый его элемент ...
- •25. Соответствие может быть задано … способом.
- •Критерии оценки
- •Нечеткие и приближенные высказывания, множества, соответствия и отношения позволяют формально задавать расплывчатую информацию в виде, удобном для обработки на эвм.
- •Глоссарий к модулю 1
- •Глава 1.
- •Глава 2.
- •Глава 3.
- •Глава 4.
- •Глава 5.
- •Глава 6.
- •Глава 7.
- •Глава 8.
- •Галилей Модуль 2. Основы теории алгоритмов (1,5 кредита) Комплексная цель и задачи изучения модуля
- •Глава 9. Введение в теорию алгоритмов
- •9.1. Понятие алгоритма
- •9.2. Основные свойства алгоритмов
- •9.3. Классификация алгоритмов
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •10.1. Преобразование слов в произвольных абстрактных алфавитах
- •10.2. Числовые функции
- •10.3. Построение алгоритмов по принципу «разделяй и властвуй»
- •10.4. Представление алгоритма в виде детерминированного устройства
- •10.5. Универсальные схемы алгоритмов
- •10.5. “Жадные” алгоритмы
- •10.6. Нечеткие (расплывчатые) алгоритмы
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •11.1. Анализ алгоритмов
- •11.2. Сложность алгоритмов
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Тестовые задания к модулю 2
- •Критерии оценки
- •Модуль 3. Алгебра логики (1,5 кредита) Комплексная цель и задачи изучения модуля
- •Глава 12. Элементы алгебры логики
- •12.1. Логические функции
- •12.2. Основные логические тождества и законы
- •12.3. Булевы функции одной и двух переменных
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •13.1. Дизъюнктивная и конъюнктивная нормальные формы
- •13.2. Способы перехода от нормальных к совершенным нормальным формам
- •2. Графический способ.
- •13.3. Алгебра Жегалкина
- •13.4. Функциональная полнота бф
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •14.1. Реализация булевых функций
- •14.2. Минимизация булевых функций
- •14.3. Карты Карно
- •14.4. Метод Квайна - Мак-Класски
- •14.5. Переход от бф к простейшим комбинационным схемам
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Критерии оценки
- •Глоссарий к модулю 3
- •Модуль 4. Основы Теории графОв (2 кредита) Комплексная цель и задачи изучения модуля
- •Глава 15. Введение в теорию графов
- •15.1. Способы задания графов и виды графов
- •15.1.1. Способы задания графов
- •15.1.2. Виды графов
- •15.1.3. Нечеткие неориентированные графы
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •15.2. Маршруты, цепи, циклы
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •При моделировании систем модели и алгоритмы нахождения маршрутов, цепей, циклов, разрезов, связности графов позволяют строить эффективные алгоритмы преобразования графов.
- •15.3. Нахождение кратчайших маршрутов (цепей)
- •15.3.1. Алгоритм Форда
- •15.3.2. Алгоритм Дейкстры
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •Алгоритмы Форда и Дейкстры являются эффективным способом определения кратчайшей по стоимости цепи между двумя вершинами графа.
- •Глава 16. Специальные циклы и метрика графов
- •16.1. Эйлеровы и гамильтоновы цепи и циклы
- •16.1.1. Связь между эйлеровыми и гамильтоновыми графами
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •16.2. Алгоритмы построения гамильтонова цикла
- •16.2.1. Алгоритм Робертса ─ Флореса
- •16.2.2. Алгебраический метод
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •16.3. Задача о коммивояжере и алгоритмы ее решения
- •16.3.1. Алгоритм Хелда и Карпа
- •16.3.2. Геометрический метод решения
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •16.4. Расстояния на графах
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •16.5. Деревья
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •Глава 17. Графовые инварианты
- •17.1. Цикломатическое и хроматическое числа графа
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •17.2. Числа внутренней и внешней устойчивости графа
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •Числа внутренней и внешней устойчивости относятся к инвариантам графа. Они позволяют определить специальные группы вершин в графах.
- •17.3. Планарность графов
- •17.3.1. Плоские и планарные графы
- •17.3.2. Эвристики для определения планарности
- •17.3.3. Минимизация пересечений ребер графов
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •17.4. Ориентированные графы
- •17.4.1. Способы задания
- •17.4.2. Решение стандартных графовых задач с использованием орграфов
- •17.4.3. Выделение сильносвязных компонент
- •17.4.4. Нечеткие ориентированные графы
- •Примеры решения задач
- •Вопросы
- •Задания для самостоятельной работы
- •175 Гиперграфы
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •Тестовые задания к модулю 4
- •Критерии оценки
- •Глоссарий к модулю 4 Глоссарий к главе 1
- •Глоссарий к главе 2
- •Глоссарий к главе 3
- •Библиографический комментарий
- •Литература
- •Заключение
- •Приложение 1
- •Учебное издание Гладков Леонид Анатольевич, Курейчик Владимир Викторович, Курейчик Виктор Михайлович
17.3.3. Минимизация пересечений ребер графов
В связи с тем, что полный граф Kn содержит максимальное число ребер, то минимальное число пересечений ребер Kn является верхней оценкой числа пересечений произвольных графов на n вершинах.
Пусть дан полный граф Kn = (X, U). Если его расположить на плоскости таким образом, чтобы образовалась выпуклая фигура, а вершины соединялись прямолинейными ребрами, тогда число пересечений в таких графах определится по формуле
Р(Кn)
=
, (17.18)
при n 4. Причем в каждой точке пересекается не более двух ребер. Тогда для K4: P(K4) = 1, P(K5) = 5, P(K6) = 15.
Любой планарный граф может быть расположен на плоскости таким образом, что все его ребра есть прямые линии.
Верхняя оценка числа скрещиваний (минимального числа пересечений полного графа) дана Гаем:
(17.19)
Существует гипотеза Харари – Хилла. Верхняя оценка минимального числа пересечений в полном графе (формула Гая (17.19)) является точным значением.
Самый простой путь расположения полного графа для минимизации пересечений его ребер следующий. Сначала располагаются ребра Kn, образующие ГЦ в виде выпуклой фигуры, которая разбивает плоскость на две области. Все остальные ребра Kn, образующие множество U\Uг.ц., проводятся во внешней и выпуклой областях путем чередования, т.е. подмножество U1, инцидентное вершине x1 – проведем во внутренней области, подмножество U2, инцидентное x2 – во внешней, U3, инцидентное x3, – во внутренней и т.д. Например, для графа Kn, n = 6 получим рис. 17.18.
Рис. 17.18. Граф K6
Тогда Р(Kn) при таком расположении равно 4. А число скрещиваний, согласно (17.18), запишется:
Рmin(К6) = 3.
Опишем процедуру расположения полного графа с минимальным числом пересечений.
Выделим в Kn ГЦ и все вершины и ребра ГЦ расположим в виде выпуклой фигуры. При этом n ребер из n(n – 1)/2 ребер Kn расположено на плоскости. Оставшиеся n(n – 1)/2 – n ребер, т.е. n(n – 3)/2 ребра необходимо расположить внутри и вне выпуклой фигуры с наименьшим числом пересечений.
Проведем сначала подмножества ребер:
Ui = {u(i, i + 2), u(i - 1, i + 3), ..., u(i - q + 1, i + q + 1)}, где
(17.20)
если i = 1, то i - 1 = n, i - 2 = n – 1, ... .
Заметим, что ребра подмножества Ui располагаются “параллельно” друг другу, не пересекаясь между собой.
Далее аналогично проводим подмножество ребер Ui’. Очевидно, что в полном графе с любым числом вершин ребра подмножеств Ui и Ui’ не пересекаются между собой. Увеличивая i на единицу, проведем новые подмножества ребер Ui+1, Ui+1’, которые минимальным образом пересекаются с ребрами предыдущих множеств.
Следующие подмножества ребер, которые минимальным образом пересекаются с уже расположенными, проводятся аналогично до тех пор, пока число таких подмножеств во внутренней области не будет равно
(17.21)
Остальные подмножества ребер, дополняющие граф до полного, проводятся во внешней области. То есть, начиная с подмножества UL+1, аналогичные “параллельные” подмножества проводятся во внешней области ГЦ. При этом, если в графе Кn число вершин n – четно, то у него одинаковое число подмножеств “параллельных” ребер во внешней и внутренней областях ГЦ. Соответственно при n - нечетном в одной области будет на одно подмножество больше, чем в другой.
Информацию о расположении ребер в Kn запишем в видоизмененной матрице смежности.
Для Kn (n = 8) она запишется:
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
6 |
|
R8 = |
1 |
0 |
× |
|
|
|
|
1 |
× |
|
|
|
|
|
|
, |
2 |
|
0 |
× |
|
|
1 |
1 |
1 |
× |
|
|
|
|
|
||
3 |
|
|
0 |
× |
1 |
1 |
1 |
– |
– |
× |
|
|
|
|
||
4 |
|
|
|
0 |
× |
1 |
– |
– |
– |
– |
× |
|
|
|
||
5 |
|
|
|
|
0 |
× |
– |
– |
– |
– |
|
× |
|
|
||
6 |
|
|
|
|
|
0 |
× |
– |
– |
|
|
|
× |
|
||
7 |
|
|
|
|
|
|
0 |
× |
|
|
|
|
|
× |
||
8 |
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
а K8, расположенный на основе матрицы R8, имеет вид (рис. 17.19).
Рис. 17.19. Граф K8
Подмножества параллельных ребер имеют вид:
U1 – (1,7)(2,6)(3,5), U5 – (1,3)(5,7)(4,8),
U2 – (2,7)(3,6), U6 – (1,4)(8,5),
U3 – (2,8)(3,7)(4,6), U7 – (2,4)(1,5)(8,6),
U4 – (3,8)(4,7), U8 – (1,6)(2,5).
U1, U2, U3, U4 – подмножества параллельных ребер, проведенных во внутренней области. Согласно формуле (17.21), L = 4 и число подмножеств в обоих областях одинаково U5, U6, U7, U8 – подмножества параллельных ребер, проведенных во внешней области.
Величина Р(K8) = 18, это соответствует формуле Гая (17.19) (при этом 9 пересечений внутри ГЦ и 9 пересечений вне ГЦ).
Итак, для получения расположения графа на плоскости с Pmin(G) необходимо единицы и черточки матрицы размещать в соответствующих диагоналях. Число диагоналей необходимо определять по формуле (17.21). Каждая диагональ должна быть заполнена элементами полностью. Заполнение диагоналей можно начинать с любой строки матрицы.
Построим, например R11. По (17.21) определим число диагоналей, соответствующих “подмножествам параллельных ребер”.
,
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
1 |
2 |
3 |
4 |
5 |
|
|
1 |
0 |
× |
|
|
|
|
|
|
|
1 |
× |
|
|
|
|
|
. |
|
2 |
|
0 |
× |
|
|
|
|
|
1 |
1 |
1 |
× |
|
|
|
|
|
|
3 |
|
|
0 |
× |
|
|
|
1 |
1 |
1 |
1 |
1 |
× |
|
|
|
|
|
4 |
|
|
|
0 |
× |
|
1 |
1 |
1 |
1 |
1 |
1 |
– |
× |
|
|
|
R11 = |
5 |
|
|
|
|
0 |
× |
1 |
1 |
1 |
1 |
1 |
– |
– |
– |
× |
|
|
|
6 |
|
|
|
|
|
0 |
× |
1 |
1 |
1 |
– |
– |
– |
– |
– |
× |
|
|
7 |
|
|
|
|
|
|
0 |
× |
1 |
– |
– |
– |
– |
– |
|
|
|
|
8 |
|
|
|
|
|
|
|
0 |
× |
– |
– |
– |
– |
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
0 |
× |
– |
– |
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
0 |
× |
|
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
|
|
|
0 |
× |
|
|
|
|
.
.
Рассмотрим случай, когда число вершин Kn четно. Пусть имеется расположение Kn на плоскости с минимальным числом пересечений Pn,min. Заметим, что в полном графе с четным n, ребра, инцидентные вершине xi, обладают одинаковыми свойствами по отношению к числу пересечений с ребрами инцидентными любой другой вершине xj (i, j I = {1, 2, ..., n}, i j). Поэтому ребра, инцидентные xi, имеют такое же число пересечений, как и ребра, инцидентные любой вершине xj. Это вытекает из способа построения графа.
Каждое пересечение образуется наложением двух ребер, концы которых лежат в 4 вершинах. Поэтому каждое пересечение учитывается 4 раза. Общее число пересечений Kn равно
. (17.22)
При удалении из Kn любой вершины с инцидентными ей ребрами получим Kn-1, с минимальным числом пересечений.
Справедливость этих утверждений покажем построением видоизмененных матриц.
Например, в приведенной выше матрице R8 удалим, например, третью строку и третий столбец. Получим:
|
|
1 |
2 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
4 |
5 |
6 |
|
R7 = |
1 |
0 |
× |
|
|
|
1 |
× |
|
|
|
|
|
. |
2 |
|
0 |
× |
|
1 |
1 |
1 |
× |
|
|
|
|
||
4 |
|
|
0 |
× |
1 |
1 |
– |
– |
× |
|
|
|
||
5 |
|
|
|
0 |
× |
– |
– |
– |
– |
× |
|
|
||
6 |
|
|
|
|
0 |
× |
– |
– |
|
|
× |
|
||
7 |
|
|
|
|
|
0 |
× |
|
|
|
|
× |
||
8 |
|
|
|
|
|
|
0 |
× |
|
|
|
|
На основе R7 построим оптимальное расположение этого графа K7.
По формуле (17.19) имеем
.
Тогда для любого Kn с четным n запишем
. (17.23)
Из (17.23) получаем
(17.24)
при n 0 (mod 2) и n 6.
Для Kn n 0 (mod 2) также имеет место выражение (17.22). Тогда
. (17.25)
Выражение (17.23) справедливо так как удаление вершины xi с Pmax со всеми инцидентными ей ребрами из Kn позволяет получить Kn-1 с четным числом вершин с минимумом пересечений.
На основе (17.25) и (17.22) получим
. (17.26)
После преобразования (17.26) получим
(17.27)
при n 0 (mod 2) и n 7.
Объединяя (17.24) и (17.27) в одно выражение, получим
. (17.28)
После преобразования (3.28) можно получить для
n
–
четного
, (17.29)
n
–
нечетного
, (17.30)
что доказывает верхнюю оценку Гая и гипотезу Харари–Хилла, о том что верхняя оценка (17.19) является точным значением.
Рассмотрим ряд эвристик, применяемых для минимизации пересечений ребер графа.
Э.1. Сначала производится сортировка вершин графа по возрастанию локальных степеней. Далее выбирается вершина с наименьшей локальной степенью и вокруг нее строятся треугольные грани, не имеющие пересечений, пока это возможно.
Э.2. В графе определяется ребро с наибольшим числом пересечений. Через него проводится секущая ось и весь граф перемещается по правую или левую часть от секущей оси. Далее процесс продолжается аналогично. При этом возможно несколько вариантов. Перед переносом графа проводить анализ: не приведет ли перемещение к увеличению числа пересечений. Тогда необходимо переходить к другой секущей оси и т.д.
Э.3. Минимизация пересечений при расположении ребер во внутренней и внешней областях ГЦ. Отсутствие ребер ГЦ позволит только уменьшить число пересечений за счет проведения некоторых ребер в том месте, где отсутствуют ребра ГЦ. Основная идея алгоритма следующая. Для обоих областей ГЦ строятся матрицы смежности. Далее определяется “отклонение” для каждого ребра G. Под отклонением ребра графа G понимается разность между числом пересечений этого ребра со всеми остальными, когда оно во внутренней и внешней областях ГЦ, затем строится матрица отклонений, из которой выбирается элемент, имеющий максимальное значение. Ребро, соответствующее этому элементу, выносится во внешнюю область ГЦ. Далее процесс продолжается аналогично, пока все элементы матрицы не станут отрицательными.
На основе эвристик разрабатываются эффективные алгоритмы минимизации пересечений ребер графовых моделей в любой области науки и производства.
