- •Глава 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
- •Учебное издание Гладков Леонид Анатольевич, Курейчик Владимир Викторович, Курейчик Виктор Михайлович
17.4.2. Решение стандартных графовых задач с использованием орграфов
Как уже отмечалось выше, любой неориентированный граф G можно преобразовать в ориентированный граф D путем замены каждого ребра двумя противоположно направленными дугами. Отсюда следует, что многие рассмотренные нами ранее алгоритмы решения задач для неориентированных графов применимы и для орграфов. К числу таких алгоритмов относятся задачи нахождения гамильтонова цикла, задача коммивояжера и другие. Мы не будем в данном случае останавливаться на рассмотрение вышеперечисленных задач, поскольку они идентичны алгоритмам, описанным ранее для неориентированных графов.
Маршрутом графа D считается чередующаяся последовательность вершин и дуг (x0, u1, x1, un, хn), в которой каждая дуга ui есть кортеж ui = <xi-1, xi>. Маршрут, в котором все вершины различны, называется путем. Замкнутый маршрут, у которого все вершины различны, за исключением первой и последней, называется контуром. Если существует путь из xi в xj, то говорят, что xj достижима из xi.
Два орграфа называются изоморфными, если можно установить изоморфизм между их основаниями при сохранении порядка стрелок на каждой дуге.
Неорграф G называется ориентируемым, если каждое его ребро можно ориентировать так, что полученный граф D будет сильно связным. Такой процесс обычно называют заданием ориентации графа G. Очевидно, что произвольный эйлеров граф может быть ориентируем, так как достаточно пройти по любой эйлеровой цепи, ориентируя ребра графа в направлении движения.
Граф D называется эйлеровым, если в нем существует замкнутая цепь, содержащая каждую его дугу.
Необходимым условием существования эйлерова орграфа является его сильная связность.
Связный граф D = (X, U) является эйлеровым, когда xi X (+(xj) = –(xj)).
Орграф называется гамильтоновым, если в нем существует контур, содержащий каждую вершину орграфа.
Теорема 17.8. Пусть D — сильно связный граф. Если xi X (+(xj) n / 2 и –(xj) n / 2) D, то D – гамильтонов граф.
Рассмотрим алгоритм построения дерева на ориентированном графе D = (X, U).
1. Выбираем произвольную вершину xi и по матрице смежности определяем все смежные ей вершины (т. е. определяем вершины, соответствующие стрелкам, исходящим из xi). В результате образуется подмножество вершин X’ = {xi, xj, ..., x}, смежных с хi. В случае, если X’ = X, то переходим к пункту 4, в противном случае переходим к пункту 2.
2. Выбираем произвольную вершину xj X’, такую, что xj xi. Снова определяем все смежные с xj вершины, за исключением вершин, уже вошедших в X’.
3 Проверка условия X’ = X, если условие выполняется то переход к пункту 4, в противном случае переход к пункту 2.
4 Конец работы алгоритма, построено дерево Т.
17.4.3. Выделение сильносвязных компонент
Пусть задан ориентированный граф D = (X, U), где X, U - соответственно множество вершин и множество ребер графа. Граф D называется сильносвязным, если любые две его вершины взаимно достижимы. Подграфом D’ графа D называется граф, все вершины которого и инцидентные им ребра принадлежат D, т.е. D’ = (X’, U’), X’ X и U’ U, и ребра D’ инцидентны только вершинам из X’.
Граф G, полученный из графа D заменой каждой дуги ui = <xk, xl> на соответствующее ребро ui = (xk, xl), т.е. устранением стрелок, называется основанием D.
Тогда максимально сильносвязный подграф графа D будем называть сильной компонентой графа D. Отметим, что в ориентированном графе существует одна и только одна сильная компонента, содержащая данную вершину xi.
Множество вершин R(xi) графа D, достижимых из некоторой вершины xi, состоит из таких элементов xj, для которых (i, j) элемент в матрице достижимости R = ||rij|| равен 1. Матрица контрдостижимости определяется как Q = Rt, где Rt - матрица, транспонированная к матрице достижимости R.
Если вершина xi одновременно является начальной и конечной вершиной пути, то множество вершин некоторого цикла, содержащего xi, совпадает с пересечением [R(xi) Q(xi)] и все они взаимно достижимы.
В случае удаления этих вершин из исходного графа, в оставшемся порожденном графе D’ = <x - R(xi) Q(xi)> таким же способом выделяется новая сильная компонента, содержащая xj <x - R(xi) Q(xi)>. Этот процесс продолжается до тех пор, пока весь исходный граф не будет разбит на сильные компоненты.
Граф D = (X, U) называется конденсацией графа D и определяется следующим образом: каждая его вершина представляет множество вершин некоторой сильной компоненты графа D, дуга <xi, xj> существует в D тогда и только тогда, когда в графе D существует дуга <xi, xj>, такая, что xi принадлежит компоненте, соответствующей вершине xi, а xj - компоненте, соответствующей вершине xj. Очевидно, что конденсация графа D не содержит циклов, поскольку наличие цикла означает, что любые вершины этого цикла взаимно достижимы.
Определим прямое и обратное транзитивные замыкания. Прямым транзитивным замыканием Г+(xi) называют подмножество вершин Х' Х, в которые можно попасть из вершины xi по некоторому пути. Обратным транзитивным замыканием называют подмножество вершин, из которых можно попасть в xi по некоторому пути, и обозначают Г–(xi).
Прямое и обратное транзитивное замыкания можно найти из соотношений:
Г+(xi) = {хi} Г+(xi) Г+2(xi) Г+3(xi) ...,
Г–(xi) = {xi} Г-1(xi) Г-2(xi) Г-3(xi) ...,
Г+2(xi) = Г+{Г(xi)};
Г+3(xi) = Г+{Г+2(xi)} = Г+{Г+{Г+(xi)}}.
Аналогично определяем для Г–2(xi), Г–3(xi) и т.д.
Опишем алгоритм Мальгранжа разбиения графа D на максимально связные подграфы.
Идея алгоритма заключается в следующем. Выбирается произвольная вершина xi Х в графе D, для которой определяются прямое и обратное транзитивные замыкания Г+(xi), Г–(xi). Их пересечение C(xi) = Г+хi Г–хi является сильной компонентой графа D, т.е. максимально связным подграфом. Далее выбирается следующая вершина xj C(xi) и процесс продолжается.
Заметим, что любой неорграф G можно перевести в орграф путем замены каждого ребра двумя противоположно направленными дугами. В этой связи многие результаты для неорграфов могут быть интерпретированы на орграфы.
