- •Глава 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.4. Функциональная полнота бф
- •13.3. Алгебра Жегалкина
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •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
- •Учебное издание Гладков Леонид Анатольевич, Курейчик Владимир Викторович, Курейчик Виктор Михайлович
Вопросы для самоконтроля
1. Что такое граф? Приведите пример. Назовите известные вам типы графов.
2. В чем состоит различие между ориентированными и неориентированными графами?
3. Опишите известные вам способы задания графов.
4. Что называется подграфом и суграфом графа?
5. Что называется дополнением графа?
6. Какой граф называется двойственным?
7. Какие операции могут выполняться над графами?
8. Что такое мультиграф и как определяется его мультичисло?
9. Дайте определение регулярного графа.
10. Дайте определение нечеткого графа. В чем состоит отличие нечеткого неориентированного графа первого и второго рода?
Задания для самостоятельной работы
1. Приведите примеры задания графа различными способами: аналитическим, графическим, матричным.
2. Задайте графическим и матричным способами ориентированный, неориентированный и смешанный граф.
3. Задайте произвольный граф G = (X, U), |X| = 9, |U| = 24 и запишите для него матрицу смежности и инцидентности, а также его списковое представление.
4. Приведите словесный описания и составьте структурную схему алгоритма перехода от матрицы инцидентности к матрице смежности и наоборот.
5. Определите количество ре бер в полном графе K15 без петель.
6. Постройте Платоновы графы.
7. Задайте Платоновы графы на основе матриц смежности и инцидентности.
8. Задан произвольный граф G = (X, U), где X=6; U=10. Постройте двойственный ему граф GS.
9. Приведите пример мультиграфа и определите его мультичисло.
10. Приведите примеры нечетких неориентированных графов первого и второго рода.
Понятие графа опирается на понятие множества. Графом можно назвать объект, состоящий из двух множеств: точек и линий, которые находятся между собой в некотором отношении. Множество точек графа обозначается X = {x1, x2, …, xn} и называется множеством вершин. Множество линий, соединяющих любые пары вершин (xi, xj) X, называется множеством ребер или дуг и обозначается U = {u1, u2, …, um}.
15.2. Маршруты, цепи, циклы
Маршрутом в графе G = (X, U) называется некоторая конечная последовательность ребер вида S = (x0, x1), (x1, x2), …, (xl-1, xl), где x0, xl ─ ─соответственно его начальная и конечная вершины. Очевидно, что в конечном графе G можно выделить только конечное число маршрутов. Число ребер в маршруте S называется его длиной. Существует простой способ определения маршрутов длиной q по матрице R графа G путем возведения ее в q-ю степень.
Например, пусть задана матрица R графа G (рис. 15.23):
|
1 |
2 |
3 |
4 |
|
1 |
0 |
1 |
1 |
0 |
. |
R = 2 |
1 |
0 |
0 |
1 |
|
3 |
1 |
0 |
0 |
1 |
|
4 |
0 |
1 |
1 |
0 |
Рис. 15.23. Пример графа G
Возведем ее в квадрат по правилу:
r2i,j = r1,i rj,1 + r2,i rj,2 + ... + rn,i rj,n. (1.4)
Тогда для рассматриваемого в данном примере графа, к примеру, элемент r211 матрицы R2 будет иметь следующее значение:
r2 1, 1 = a11b11 + a12b21 + a13b31 + a14b41 = 0 + 1*1 + 1*1 + 0 = 2.
А, например, r23,3 = r1,3r3,1 + r2,3r3,2 + r3,3r3,3 + r4,3r3,4 = 1*1 + 0*0 + 0*0 + 1*1 = 2.
|
1 |
2 |
3 |
4 |
|
1 |
2 |
0 |
0 |
2 |
. |
R2 = 2 |
0 |
2 |
2 |
0 |
|
3 |
0 |
2 |
2 |
0 |
|
4 |
2 |
0 |
0 |
2 |
Каждый ri,j элемент R2 равен числу маршрутов длиной 2, ведущих из вершины xi в xj. Например, r3,2 = 2 означает, что в графе два маршрута ведущих из x3 в x2 длиной 2: S1 = (x3, x1), (x1, x2); S2 = (x3, x4), (x4, x2).
Возведение матрицы в степень производится путем поэлементного перемножения строки на столбец с суммированием полученных сомножителей.
Маршрут, в котором нет повторяющихся ребер, называется цепью. Замкнутая цепь, в которой x0 = xl, называется циклом. Соответственно цепи и циклы называются простыми, если они не содержат повторяющихся вершин, кроме, разумеется, первой и последней в случае цикла. В графе G (см. рис. 15.14, a):
S1 = (x1, x2), (x2, x3), (x3, x6), (x6, x2), (x2, x4) ─ маршрут,
S2 = (x1, x2), (x2, x3), (x3, x6), (x6, x2) ─ цепь,
S3 = (x6, x2), (x2, x4), (x4, x1), (x1, x2), (x2, x3), (x3, x6) ─ цикл,
S4 = (x1, x2), (x2, x3), (x3, x7), (x7, x6) ─ простая цепь,
S5 = (x1, x2), (x2, x3), (x3, x7), (x7, x6), (x6, x5), (x5, x4), (x4, x1) ─ простой цикл.
Цикл длиной 3 называется треугольником.
Связный регулярный граф степени 2 называется циклическим графом или циклом. Циклический граф с n вершинами обозначается Cn (рис. 15.24, а).
а б
Рис. 15.24 Циклический граф (а), граф-колесо (б)
Соединение графов К1 и Сn-1 (n 3) называется колесом с n вершинами и обозначается Wn. На рис. 15.24, б показано колесо W6.
Две произвольные вершины xi, xj X графа называются связными, если существует маршрут S, в котором концевыми будут вершины xi, xj. Граф G называется связным, если любые две его вершины связаны. В противном случае G не связен, а каждый из составляющих его подграфов G1, G2, …, Gl называется компонентой связности. Из определения связности следует, что в связном графе G вершина xi связана сама с собой; если xi связана c xj, то xj связана c xi; если xi связана c xj, а xj связана c xk, то и xi связана c xk (xi, xj, xk X).
Следовательно, отношение связности является отношением эквивалентности. В этом случае множество вершин Х графа G = (X, U), который моделирует любой объект, можно разбить на непересекающиеся классы Gi, причем ребра графа будут соединять только вершины внутри этих классов. Таким образом, получим разбиение графа G на связные подграфы (компоненты связности). Например, графы, изображенные на рис. 15.14, связные, а граф на рис. 15.25 состоит из четырех компонентов связности G1 ─ G4, т.е. не связен. Заметим, что связный граф состоит из единственной компоненты связности. Если граф имеет несколько компонент связности, то он не связен, так как вершины из разных компонент связности нельзя соединить маршрутом.
Рис. 15.25. Пример несвязного графа
Очевидно, что число ребер в связном графе
n – 1 m n(n – 1)/2. (1.5)
Теорема 15.1. Пусть G – простой граф (см. стр. 10) с n вершинами и k компонентами. Тогда число m его ребер удовлетворяет неравенствам
n – k m (n - k)(n - k + 1)/2. (1.6)
Следствие 15.1. Любой простой граф с n вершинами и более чем (n – 1)(n – 2)/2 ребрами связен.
При конструировании систем часто надо знать, какое наименьшее число связей необходимо удалить из схемы, чтобы она перестала быть связной. Если вершины связного графа G = (X, U) разбить на 2 подмножества X’ и X’’, где X’’, X’ X, X’’ = X \ X’, X’ X’’ = X, то подмножество ребер U’ U, у которых одни концевые вершины принадлежат X’, а другие X’’, называют разрезом графа G. Подграф G’ = (X, U\U’), полученный из G удалением ребер разреза, будет несвязанным графом, состоящим, по крайней мере, из двух компонент связности. Множество ребер U’’ U, удаление которых дает несвязный подграф G’ = (X, U \ U’’) и не существует подмножества U’U’’, такого, что G’’ = (X, U \ U’), несвязен, называют правильным разрезом. Из определения следует, что правильный разрез разбивает G точно на две компоненты связности. В этом случае разрез будет определяться как объединение правильных разрезов. На рис. 15.26,а показан пример разреза в графе G = (X, U). Разрез показан пунктирной линией.
а б
Рис. 15.26. Пример разреза в графе (а) и наличия точки сочленения (б)
Правильными разрезами будут следующие подмножества ребер: U1 = {(x3, x6), (x4, x6), (x4, x7)}, U2 = {(x4, x10), (x5, x10)}, U3 = {(x5, x12)}, U4 = {(x5, x15)}, а разрез U = U1 U2 U3 U4. Заметим, что разрез в графе всегда существует. Тривиальными разрезами G являются U’ = U и U’ = . Если разрез состоит из одного ребра ui U, то ui называется перешейком или мостом.
Точкой сочленения называется вершина графа, после удаления которой граф распадается на связные компоненты. Например, в графе G на рис. 15.26, б вершина 3 является точкой сочленения.
Неразделимый граф ─ это связный, непустой, не имеющий точек сочленения граф. Блок графа ─ это его максимальный неразделимый подграф. Если G ─ неразделимый граф, то он часто сам называется блоком. Так, на рис. 15.27 приведен пример графа G, имеющего две точки сочленения x5 и x6, удаление которых разбивает граф G на 4 блока (рис. 15.28).
Граф блоков B(G) ─ это граф, в котором вершины ─ блоки и две вершины смежны, если соответствующие блоки имеют общую точку сочленения.
Вершинная связность H = H(G) в G – это наименьшее число вершин, удаление которых приводит к несвязному графу. H(G) в несвязном графе равна нулю. Связность в графе с точкой сочленения равна 1.
Рис. 15.27. Граф G Рис. 15.28. Блоки графа G
Реберная связность = (G) – это наименьшее число ребер, удаление которых приводит к несвязному или тривиальному графу.
Для любого графа:
H(G) (G) min(G), (15.7)
где min(G) ─ наименьшая степень графа.
Граф G называется n-связным, если H(G) n и n-реберносвязным, если (G) n.
Теорема 15.2 (Дирак). Если граф G n-связен, n 2, то любое множество, содержащее n вершин графа G, принадлежит простому циклу.
Теорема 15.3. Граф 3 ─ связен тогда и только тогда, когда он или совпадает с колесом, или получается из колеса с помощью двух типов операций:
1) добавление нового ребра;
2) замена вершины V с (V), по крайней мере, на две смежные вершины V’, V’’, где каждая вершина, которая была смежна с V, соединяется точно с одной из V’, V’’ так, чтобы в полученном графе (V’) 3 и (V’’) 3.
