- •Оглавление
- •Глава 1. Алгебраические системы 17
- •Глава 2. Элементы комбинаторики 88
- •Глава 3. Основы теории графов 101
- •Глава 4. Основы математической логики 169
- •4.1.1.4. Эквивалентные преобразования формул 179
- •4.1.4. Выполнить подстановку: 247
- •Глава 5. Основы теории алгоритмов 252
- •Глава 6. Конечные автоматы 289
- •Введение
- •Глава 1. Алгебраические системы
- •1.1 Множества
- •1.1.1. Четкие множества
- •1.1.2. Нечеткие множества
- •1.2. Соответствия, отображения и функции
- •1.2.1. Четкие отображения и функции
- •1.2.2. Нечеткие отображения
- •1.3. Отношение
- •1.3.1. Четкие отношения
- •1.3.2. Нечеткое отношение
- •1.4. Элементы общей алгебры
- •1.5. Булева алгебра
- •1.5.1. Булевы операции
- •1.5.2. Законы булевой алгебры
- •1.5.3. Формула булевой функции
- •1.5.4. Описание булевой функции
- •1.5.5. Суперпозиция булевых функций
- •1.5.6. Свойства булевых функций
- •1.5.6.1. Самодвойственные булевы функции
- •1.5.6.2. Монотонные булевы функции
- •1.5.6.3. Линейные булевы функции
- •1.5.6.4. Функции, сохраняющие “0”
- •1.5.6.5. Функции, сохраняющие “1”
- •1.5.6.6. Функционально полные системы
- •1.5.7. Разложение булевых функции
- •1.5.7.1. Днф булевой функции
- •1.5.7.2. Кнф булевой функции
- •Алгоритм преобразования формулы к скнф:
- •1.5.8. Минимизация булевых функций.
- •1.5.8.1.Минимизация днф булевой функции
- •1.5.8.2. Минимизация кнф булевой функции
- •1.6. Алгебра четких множеств
- •1.6.1. Операции над множествами
- •1.6.2. Законы алгебры множеств
- •1.6.3. Эквивалентные преобразования формул
- •1.6.4. Композиция отображений и отношений
- •1.6.5. Поиск неизвестного множества
- •1.7. Алгебра нечетких множеств
- •1.7.1. Операции над нечеткими множествами
- •1.7.2. Композиция нечетких отображений
- •1.7.3. Композиция нечетких отношений
- •1.7.4. Свойства нечетких отношений
- •Вопросы и задачи
- •Глава 2. Элементы комбинаторики
- •2.1. Размещение из n элементов по k
- •2.2. Перестановка элементов
- •2.3 Сочетание из n элементов по k
- •2.4. Разбиение множества
- •2. 5 Правила комбинаторики
- •Вопросы и задачи
- •Глава 3. Основы теории графов
- •3.1. Граф и его характеристики
- •3.2. Описание графа
- •3. 3. Числа графа
- •3.4. Операции над графами
- •3.4.1. Унарные операции
- •3.4.1.1 Поиск дополнительного графа
- •3.4.1.2. Введение и удаление вершин графа
- •3.4.1.3. Стягивание вершин графа
- •3.4.1.4. Введение и удаление ребер графа
- •3.4.1.5. Поиск плотности и неплотности графа
- •3.4.1.6. Поиск числа компонент связности графа
- •3.4.1.7. Поиск устойчивости графа
- •3.4.1.8. Поиск цикломатического числа графа
- •3.4.1.9. Поиск хроматического числа графа
- •3.4.2. Бинарные операции
- •3.4.2.1. Объединение графов
- •3.4.2.2. Пересечение графов
- •3.4.2.3. Композиция графов
- •3.4.2.4. Соединение графов
- •3.4.2.5. Прямое произведение графов
- •3.4.2.6. Изоморфизм графов
- •3.5. Некоторые алгоритмы на графах
- •3.5.1. Построение покрывающего остова
- •3.5.2. Построение остова минимального веса
- •3.5.3. Поиск кратчайших путей в сети.
- •3.5.4. Поиск максимального потока в сети
- •3.5.5. Метод критического пути в управлении
- •3.6. Нечеткие графы
- •Вопросы и задачи
- •Глава 4. Основы математической логики
- •4.1. Логика высказываний
- •4.1.1. Алгебра высказываний
- •4.1.1.1. Логические операции
- •4.1.1.2. Правила записи сложных формул.
- •4.1.1.3. Законы алгебры высказываний
- •4.1.1.4. Эквивалентные преобразования формул
- •4.1.1.5. Нормальные формы формул
- •4.1.2. Исчисление высказываний
- •4.1.2.1. Интерпретация формул
- •4.1.2.2. Аксиомы и правила введения и удаления логических связок
- •4.1.2.3. Метод дедуктивного вывода
- •4.1.2.4. Принцип резолюции
- •4. 2. Логика предикатов
- •4.2.1. Алгебра предикатов
- •4.2.1.1. Законы алгебры предикатов
- •4.2.1.2. Предваренная нормальная форма формулы
- •4.2.1.3 Сколемовская стандартная форма формулы
- •4. 2. 2. Исчисление предикатов
- •4.2.2.1. Правила подстановки
- •4.2.2.2. Правила введения и удаления кванторов
- •4.2.2.3. Правила заключения
- •4.2.2.4. Метод дедуктивного вывода
- •4.2.2.5. Принцип резолюции
- •4.2.2.6. Логическое программирование
- •4.3. Логика реляционная
- •4.3.1 Реляционная алгебра
- •4.3.1.1. Унарные операции
- •4.3.1.2. Бинарные операции
- •4.3.1.3. Правила реляционной алгебры
- •4.3.2. Реляционное исчисление
- •4.3.3. Языки реляционной логики
- •4.4. Нечеткая логика
- •4.4.1. Нечеткое исчисление
- •4.4.2. Экспертные системы
- •Вопросы и задачи
- •Глава 5. Основы теории алгоритмов
- •5.1. Рекурсивные функции
- •5.1.1. Базовые функции
- •5.1.2. Элементарные операции
- •5.2. Машина Тьюринга
- •5.2.1. Описание машины Тьюринга
- •5.2.2. Примеры машин Тьюринга
- •5.2.3. Композиция машин Тьюринга
- •5.3. Нормальные алгоритмы Маркова
- •5.4 Сложность вычислений
- •Вопросы и задачи
- •Глава 6. Конечные автоматы
- •6.1. Абстрактный автомат
- •6.1.1. Типы конечных автоматов
- •6.1.2. Описание автоматов
- •6.1.3. Автоматное моделирование алгоритмов
- •6.1.3.1. Автомат Мили - модель управляющего автомата
- •6.1.3.2. Автомат Мура - модель управляющего автомата
- •6.1.3.3. Микропрограммный автомат
- •6.1.4. Эквивалентность автоматов
- •6.1.5. Эквивалентность внутренних состояний автомата
- •6.1.5.1. Детерминированный автомат
- •6.1.5.2. Недетерминированный автомат
- •6.2. Структурный автомат
- •6.2.1. Произведение автоматов
- •6.2.1.1. Последовательное соединение автоматов
- •6.2.1.2. Параллельное соединение автоматов
- •Обратная связь автоматов
- •6.2.3. Сумма автоматов
- •6.2.4. Структурный автомат и кодирование
- •6.3. Логическое проектирование автоматов
- •6.3.1. Кодирование алфавитов автомата
- •6.3.2. Автоматы без “памяти”.
- •6.3.2.1. Формирование оператора
- •6.3.2.2. Формирование системы операторов
- •Логическая схема комбинационного автомата
- •6.3.3. Автоматы с “памятью”
- •6.3.3.1. Формирование оператора
- •6.3.3.2. Формирование оператора
- •.3.3.3. Логическая схема автомата с “памятью”
- •Вопросы и задачи
- •Литература
- •Предметный указатель
3.4.2.4. Соединение графов
Граф G=(G1+G2)=<X, r> представляет собой объединение графов G1 и G2 и двудольного полного графа, построенного на носителях X1\(X1X2) и X2\(X1X2). Каждая вершина xX1, не вошедшая в пересечение (X1X2), соединяется со всеми вершинами X2, не вошедшими в пересесчение (X1X2), и наоборот.
X=X1X2, r=r1r2{(x(1), x(2))| x(1)(X1\(X1X2)), x(2)(X2\(X1X2)))}.
На рис. 3.21а) X1X2=. Следовательно, ребра двудольного графа соединяют каждую вершину графа G1 с каждой вершиной графа G2. На рис. 3.21b) X1X2=x3. Следовательно, ребра двудольного графа соединяют только вершины x1 и x2 графа G1 с вершинами x4, x5, x6 графа G2. На рис. 3.21c) X1X2={x1, x2, x3}. Следовательно, X1\(X1X2)=, а X2\(X1X2)=x4. Следовательно, множество ребер двудольного графа (x(1), x(2))=.
3.4.2.5. Прямое произведение графов
G=G1G2=<Z, r> есть граф, множество вершин которого
Z={(xi, yj)}(XY), а множество рёбер r={(xi, yj)} существует тогда и только тогда, когда в графах G1 и G2 есть соответственно рёбра
(xi, xt)r1 и (yj, ys)r2.
Для поиска смежных вершин графа G удобно использовать списки отображений вершин графов G1 и G2 и составить списки отображений для (xi, yj)(XY). Элементы списка смежных вершин графа G следует определять по правилу:h(xi, yj)={(h(xi), h(yj))}.
Ниже составлены списки отображений и показан процесс вычисления прямого произведения для графов (см. рис. 3.22).
xi |
h(xi) |
|
yJ |
h(yj) |
|
(xi, yj) |
h(xi, yj) |
x1 |
x2 |
|
y1 |
y3 |
|
(x1, y1) |
(x2, y3) |
x2 |
x1, x3 |
* |
y2 |
y3 |
= |
(x1, y2) |
(x2, y3) |
x3 |
x2 |
|
y3 |
y1, y2 |
|
(x1, y3) |
(x2, y1), (x2, y2) |
|
|
|
|
|
|
(x2, y1) |
(x1, y3), (x3, y3) |
|
|
|
|
|
|
(x2, y2) |
(x1, y3), (x3, y3) |
|
|
|
|
|
|
(x2, y3) |
(x1, y1), (x1, y2), (x3, y1), (x3, y2) |
|
|
|
|
|
|
(x3, y1) |
(x2, y3) |
|
|
|
|
|
|
(x3, y2) |
(x2, y3) |
|
|
|
|
|
|
(x3, y3) |
(x2, y1), (x2, y2) |
3.4.2.6. Изоморфизм графов
Изоморфизм есть взаимно однозначное отображение объектов произвольной природы, выражающее тождество их строения. Для этого необходимо проверить прямое отображение одного объекта на другой и, наоборот, обратное отображение.
Если даны графы G1=<X1; r1> и G2=<X2; r2> и операторы прямомого и обратного отображений множества вершин и рёбер, т. е.
h1: X1X2, h2: r1r2 и h1-1:X2X1, h2-1: r2 r1, то граф G1 гомоморфен графу G2 тогда и только тогда, когда каждая вершина xi(1)X1 и инцидентное ему ребро ri,j(1)r1 имеют отображение на графе G2 в виде вершины h1(xi(1))=x2X2 и инцидентного ребра h2(ri,j(1))=rl,m(2)r2 и, наоборот, граф G2 гомоморфен графу G1 тогда и только тогда, когда каждая вершина xi(2)X2 и инцидентное ему ребро ri,j(2)r2 имеют отображение на графе G1 в виде вершины h1-1(xi(2))=x1X1 и инцидентного ребра h2-1(ri,j(2))=rl,m(1)r1.
Если существует прямой и обратный гомоморфизмы, то графы изоморфны.
Пример: На рис. 3.23 даны три графа. Изоморфны ли они?
Представленные ниже матрицы смежности трех графов полностью совпадают в результате исполнения операции перестановки строк и столбцов, имеют одинаковое число вершин и одинаковые степени вершин.
r1 |
а |
б |
в |
г |
д |
е |
|
r2 |
1 |
3 |
5 |
2 |
4 |
6 |
|
r3 |
a |
c |
f |
b |
d |
e |
а |
0 |
0 |
0 |
1 |
1 |
1 |
|
1 |
0 |
0 |
0 |
1 |
1 |
1 |
|
a |
0 |
0 |
0 |
1 |
1 |
1 |
б |
0 |
0 |
0 |
1 |
1 |
1 |
|
3 |
0 |
0 |
0 |
1 |
1 |
1 |
|
c |
0 |
0 |
0 |
1 |
1 |
1 |
в |
0 |
0 |
0 |
1 |
1 |
1 |
|
5 |
0 |
0 |
0 |
1 |
1 |
1 |
|
f |
0 |
0 |
0 |
1 |
1 |
1 |
г |
1 |
1 |
1 |
0 |
0 |
0 |
|
2 |
1 |
1 |
1 |
0 |
0 |
0 |
|
b |
1 |
1 |
1 |
0 |
0 |
0 |
д |
1 |
1 |
1 |
0 |
0 |
0 |
|
4 |
1 |
1 |
1 |
0 |
0 |
0 |
|
d |
1 |
1 |
1 |
0 |
0 |
0 |
е |
1 |
1 |
1 |
0 |
0 |
0 |
|
6 |
1 |
1 |
1 |
0 |
0 |
0 |
|
e |
1 |
1 |
1 |
0 |
0 |
0 |
|
3 |
3 |
3 |
3 |
3 |
3 |
|
|
3 |
3 |
3 |
3 |
3 |
3 |
|
|
3 |
3 |
3 |
3 |
3 |
3 |
Пример: На рис. 3.24 даны два графа. Изоморфны ли они?
Представленные ниже матрицы смежности двух графов имеют одинаковое число вершин и одинаковые степени вершин, но при исполнении операции перестановки строк и столбцов не совпадают.
r1 |
a |
b |
c |
d |
e |
|
r2 |
5 |
2 |
4 |
1 |
3 |
a |
0 |
1 |
1 |
1 |
0 |
|
5 |
0 |
1 |
1 |
1 |
0 |
b |
1 |
0 |
1 |
1 |
1 |
|
2 |
1 |
0 |
1 |
1 |
1 |
c |
1 |
1 |
0 |
0 |
1 |
|
4 |
1 |
1 |
0 |
0 |
1 |
d |
1 |
1 |
0 |
0 |
0 |
|
1 |
1 |
1 |
0 |
0 |
0 |
e |
0 |
1 |
1 |
0 |
0 |
|
3 |
0 |
1 |
1 |
0 |
0 |
|
3 |
4 |
3 |
2 |
2 |
|
|
3 |
4 |
3 |
2 |
2 |
Это позволяет сделать следующие выводы:
необходимыми условиями являются равенство числа вершин и рёбер, одинаковость числа петель и наборов степеней вершин,
достаточными условиями являются одинаковость матриц инциденции или смежности графов.