- •1.3.6. Экстремальные характеристики отношения
- •3.2.3. Связь между исчислением высказываний и алгеброй
- •3.2.4. Основные результаты исследования исчисления
- •Предисловие
- •1.1. Понятие компьютинга и дискретной математики
- •1.2. Теория множеств
- •1.2.1. Основные понятия теории множеств
- •1.2.2. Способы задания множеств
- •1.2.3. Операции над множествами
- •1.2.4. Свойства операций над множествами
- •1.2.5. Аксиоматика теории множеств
- •1.3. Бинарные отношения и их свойства
- •1.3.1. Декартово произведение и бинарное отношение
- •1.3.2. Функции и операции
- •1.3.3. Способы задания бинарных отношений
- •1.3.4. Свойства бинарных отношений
- •1.3.5. Типы бинарных отношений
- •1.3.7. Отношение толерантности
- •1.3.8. Операции над отношениями
- •Контрольные вопросы и задания
- •2.1. Фундаментальные алгебры
- •2.2. Алгебра высказываний
- •2.3. Формализация логических высказываний
- •2.4. Таблицы истинности сложных высказываний
- •2.5. Равносильности алгебры высказываний
- •2.6. Булевы функции
- •2.7. Формы представления логических функций
- •2.7.1. Дизъюнктивные нормальные формы
- •2.7.2. Конъюнктивные нормальные формы
- •2.8.1. Законы алгебры Буля
- •2.8.2. Упрощение логических функций
- •2.8.3. Метод Квайна – МакКласки
- •2.9.1. Теорема о полноте системы булевых функций
- •2.10. Построение логических схем
- •Контрольные вопросы и задания
- •Глава 3. Формальные теории
- •3.1. Основные свойства формальных теорий
- •3.1.1. Выводимость
- •3.1.2. Интерпретация
- •3.1.3. Разрешимость
- •3.1.4. Общезначимость
- •3.1.5. Непротиворечивость
- •3.1.6. Полнота
- •3.1.7. Независимость
- •3.2. Исчисление высказываний
- •3.2.1. Интерпретация
- •3.2.2. Правило подстановки
- •3.2.3. Связь между исчислением высказываний
- •3.2.5. Другие формализации исчисления высказываний
- •3.3. Исчисление предикатов
- •3.3.2. Кванторные операции над предикатами
- •3.3.3. Формальное определение исчисления предикатов
- •Контрольные вопросы и задания
- •4.1. Прямые доказательства
- •4.1.1. Правило подстановки
- •4.1.2. Правило вывода
- •4.1.3. Дедукция
- •4.1.4. Математическая индукция
- •4.2. Косвенные доказательства
- •4.2.1. Доказательство «от противного»
- •4.2.2. Доказательство через контрпример
- •Контрольные вопросы и задания
- •Глава 5. Основы комбинаторики
- •5.1. Правила суммы и произведения
- •5.2. Перестановки
- •5.3. Размещения и сочетания
- •5.4. Разбиения
- •5.5. Формула включений и исключений
- •5.6. Рекуррентные соотношения
- •5.7. Производящие функции
- •5.8. Числа Стирлинга второго и первого рода
- •Контрольные вопросы и задания
- •Глава 6. Основы теории графов
- •6.1. Основные понятия
- •6.1.1. Классификация графов
- •6.1.2. Способы задания графов
- •6.2. Операции над графами
- •6.2.1. Удаление вершин и ребер
- •6.2.2. Дополнение
- •6.2.3. Объединение графов
- •6.2.4. Сложение графов
- •6.2.5. Произведение графов
- •6.3. Связность в графах
- •6.3.1. Компоненты связности
- •6.3.2. Вершинная и реберная связность
- •6.3.3. Сильная связность в графах
- •6.4. Цикломатика графов
- •6.4.1. Ациклические графы
- •6.4.2. Базисные циклы и цикломатическое число
- •6.4.3. Базисные разрезы и ранг
- •6.4.4. Эйлеровы графы
- •6.4.5. Гамильтоновы графы
- •6.5. Диаметр графа
- •6.5.1. Основные определения
- •6.5.2. Алгоритм нахождения диаметра
- •6.5.3. Поиск диаметра при операциях над графами
- •6.6. Устойчивость графов
- •6.6.1. Внутренняя устойчивость
- •6.6.1. Внешняя устойчивость
- •6.7. Хроматика графов
- •6.7.1. Хроматическое число
- •6.7.3. Двудольное представление графов
- •6.7.4. Хроматический класс
- •6.8. Преобразование графов
- •6.8.1. Реберные графы
- •6.8.2. Изоморфизм графов
- •6.8.3. Гомеоморфизм графов
- •6.8.4. Автоморфизм графов
- •6.9. Планарность
- •6.9.1. Основные определения
- •6.9.2. Критерии непланарности
- •6.10. Построение графов
- •6.10.1. Преобразование прилагательных в числительные
- •6.10.3. Оценка количества ребер сверху и снизу
- •Контрольные вопросы и задания
- •7.1. Введение в теорию нечетких моделей
- •7.1.1. Принятие решений в условиях неопределенности
- •7.1.2. Основы нечетких моделей
- •7.2. Нечеткие множества. Базовые определения
- •7.2.1. Базовые и нечеткие значения переменных
- •7.2.2. Основные определения
- •7.2.3. Типовые функции принадлежности
- •7.3. Операции над нечеткими множествами
- •7.3.1. Операция «дополнение»
- •7.3.2. Операция «пересечение»
- •7.3.3. Операция «объединение»
- •7.3.4. Операция «включение»
- •7.3.5. Операции «равенство» и «разность»
- •7.3.6. Операция «дизъюнктивная сумма»
- •7.3.7. Операции «концентрирование» и «растяжение»
- •7.3.8. Операция «отрицание»
- •7.3.9. Операция «контрастная интенсивность»
- •7.3.10. Операция «увеличение нечеткости»
- •7.4. Обобщенные нечеткие операторы
- •7.4.1. Треугольные нормы
- •7.4.2. Треугольные конормы
- •7.4.3. Декомпозиция нечетких множеств
- •7.5. Индекс нечеткости
- •7.5.1. Оценка нечеткости через энтропию
- •7.5.2. Метрический подход к оценке нечеткости
- •7.5.3. Аксиоматический подход
- •7.6. Нечеткие бинарные отношения
- •7.6.1. Нечеткие бинарные отношения
- •7.6.2. Свойства нечетких бинарных отношений
- •7.6.3. Операции над нечеткими отношениями
- •7.7. Нечеткие числа
- •7.8. Приближенные рассуждения
- •7.8.1. Нечеткая лингвистическая логика
- •7.8.2. Композиционное правило вывода
- •7.8.3. Правило modus ponens
- •Контрольные вопросы и задания
- •Список литературы
|
2 |
|
|
|
1 |
3,9,5,4,11, |
6,7,8,14, |
15 |
|
12,16 |
17,13 |
|||
|
|
10
Рис. 6.17
Построенный конденсат полезно проанализировать на предмет нахождения циклов – их там быть ни в коем случае не должно. Если обнаружился цикл, значит, есть множество взаимодостижимых укрупненных вершин, и, следовательно, входящие в наименование этих укрупненных вершин конденсата вершины исходного графа должны были войти в одну компоненту. Например, если была допущена ошибка при решении задачи на рис. 6.17 и найдены только два цикла {1,2,3} и {4,5,6,7}, то конденсат выглядел бы так (рис. 6.18, слева), как видно в нем присутствует цикл, чего быть не должно. Это сигнал ошибки. При правильном решении конденсат выглядит иначе (рис. 6.18, справа).
1,2,3 |
4,5,6,7 |
1,2,3,4,5,6,7 |
|
|
Рис. 6.18
6.4.Цикломатика графов
6.4.1. Ациклические графы
Ациклическим графом называется граф, не содержащий циклов.
Деревом называется связный граф, не содержащий циклов. Несвязный граф, состоящий из нескольких деревьев, иногда на-
зывают лесом.
160
Вершина в графе называется висячей, если ее степень равна единице. Дерево должно обязательно иметь висячую вершину, так как если бы степень всех вершин в дереве была бы больше или равна 2, то граф должен иметь цикл, что противоречит определению дерева.
Теорема 6.3. Если граф G является деревом, то число его ребер (т) и число его вершин (п) связаны соотношением т = п – 1.
На самом деле, верно и обратное утверждение, которое является частью более общей теоремы о свойствах деревьев.
Теорема 6.4. Следующие условия равносильны:
•граф G является деревом;
•число ребер (т) и число вершин в графе (п) связаны соотношением т = п – 1;
•любые две вершины в графе могут быть связаны (простым) путем, и этот путь единствен;
•граф G связен и не содержит циклов.
По этой причине в качестве определения понятия дерева, кроме приведенного выше, можно также использовать другое.
Дерево – связный граф, в котором существует одна и только одна цепь, соединяющая каждую пару вершин. Удобно считать, что граф, состоящий из одной изолированной вершины, тоже является деревом. На рис 6.19 изображен лес, состоящий из четырех компонент, каждая из которых является деревом.
Рис. 6.19
161
6.4.2. Базисные циклы и цикломатическое число
В связном графе G удаление одного ребра, принадлежащего некоторому выбранному циклу, не нарушает связности оставшегося графа. Эту процедуру к одному из оставшихся циклов будем применять до тех пор, пока не останется ни одного цикла. В результате получим дерево, связывающее все вершины графа G, оно называет-
ся остовным деревом или остовом, или каркасом графа G.
Строго говоря, подграф G1 = (V1,U1) графа G = (V,U) называется
остовным деревом, если G1 – дерево и V1 = V.
Теорема 6.5. Любой (конечный) связный граф G = (V,U) содержит хотя бы одно остовное дерево G1 = (V,U1).
|
2 |
3 |
1 |
8 |
4 |
|
7 |
5 |
6
Исходный граф
2 |
3 |
|
2 |
3 |
|
1 |
8 |
4 |
1 |
8 |
4 |
7 |
5 |
|
7 |
5 |
|
|
6 |
|
|
6 |
|
Остов – вариант 1 |
|
Остов – вариант 2 |
|
||
|
|
|
Рис. 6.20 |
|
|
Как видно из рис. 6.20, выделенные остовы, если их рассматривать отдельно от остальных ребер, представляют собой деревья, в
162
которые вошли все вершины графа. Те ребра, которые не вошли в остов, называются свободными хордами (или просто хордами). Если построить цикл, состоящий только из одной свободной хорды и каких-либо ребер остова, то такой цикл будет называться базис-
ным.
В общем случае обозначим через G произвольный граф с n вершинами, m ребрами и k компонентами. Применяя описанную выше процедуру к каждой компоненте G, получим в результате граф, называемый остовным лесом. Число удаленных в этой процедуре ребер называется цикломатическим числом графа G и обозначается через γ(G).
Поскольку для каждой i-й компоненты на ni вершинах число ребер в соответствующем остовном дереве равно ni–1, то на k компонентах c общим количеством вершин, равным n (n – сумма всех ni) сумма ребер в остовном лесе составит (n – k). Значит, из имеющихся m ребер нужно будет удалить m – (n – k) = m – n + k ребер.
Значит, для произвольного графа цикломатическое число определяется по формуле (6.1) и является неотрицательным целым числом:
γ(G)= m – n + k. |
(6.1) |
Таким образом, цикломатическое число дает меру связности графа: цикломатическое число дерева равно нулю, а цикломатическое число простого цикла равно единице.
Кроме того, цикломатическое число в силу того, что оно равно числу удаленных ребер при построении остова, равно также и количеству базисных циклов. Таким образом, для конкретного выделенного остова можно найти все базисные циклы, это удобно делать с помощью так называемой матрицы базисных циклов.
Задача 6.3. Построить матрицу базисных циклов для графа на рис. 6.20 при условии, что остов выбран, как в варианте 1.
Решение. Столбцам матрицы будут соответствовать ребра исходного графа, причем для удобства построения выпишем сначала свободные хорды, а затем ребра выделенного остова. Строки будут содержать искомые базисные циклы, при этом ребра, вошедшие в соответствующий цикл, помечаются в матрице единичками, пустые клетки по умолчанию содержат нули (табл. 6.3).
163