- •Оглавление
- •Глава 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. Логическая схема автомата с “памятью”
- •Вопросы и задачи
- •Литература
- •Предметный указатель
4.1.1.3. Законы алгебры высказываний
Имя закона |
Равносильные формулы Fi=Fj |
Коммутативности |
(F1F2)=(F2F1); (F1F2)=(F2F1). |
Ассоциативности |
F1(F2F3)=(F1F2)F3; F1(F2F3) = (F1F2) F3. |
Дистрибутивности |
F1(F2F3)=(F1F2)(F1F3); F1(F2F3)=F1F2F1F3. |
Идемпотентности |
FF=F; FF = F. |
Исключенного третьего |
FF = и. |
Противоречия |
FF = л. |
Де Моргана |
(F1F2) = F1F2; (F1F2) = F1F2. . |
Поглощения |
F1(F1F2)= F1; F1(F1F2) = F1.
|
Дополнения |
(F) = F. |
Свойства констант |
Fл = F; Fи = и; Fл = л; Fи = F.
|
Две формулы Fi и Fj называются равносильными, если они имеют одинаковое значение “и” или “л” при одинаковых наборах пропозициональных переменных, т.е. F1 = F2 .
Если две формулы равносильны, то они эквивалентны (FiFi). Если формула F содержит подформулу Fi, которая, в свою
очередь, имеет эквивалентную формулу Fj (FiFj), то возможна подстановка в формулу F всюду вместо формулы Fi формулу F.
Э тот факт записывают так:
FiFjF(Fi)
F(Fj).
Любая замена переменной или формулы определяется правилом подстановки.
Пример: Пусть даны формулы F=ACA и B=CA.
Если выполнить подстановку формулы B в формулу F вместо A, то получим новую формулу F:
А В (ACA)
(CA)C(CA).
4.1.1.4. Эквивалентные преобразования формул
Знание законов алгебры высказываний позволяет выполнять эквивалентные преобразования любой формулы, сохраняя ее значение для всех наборов пропозициональных переменных. Ниже на примерах рассмотрены эквивалентные преобразования основных логических операций.
Пример: F1F2=(F1F2)(F2F1)=(F1F2)(F2F1)=((F1F2) (F2F1)).
Ниже приведена таблица истинности для четырех эквивалентных формул. Сравните значения логических функций в третьем, шестом, девятом и одиннадцатом столбцах. То есть исполнение операции эквиваленции всегда можно заместить исполнением операций импликации и конъюнкции или дизьюнкции и отрицания.
F1 |
F2 |
F1F2 |
F1F2 |
F2F1 |
45 |
F1F2 |
F2F1 |
78 |
78 |
10 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Л |
Л |
И |
И |
И |
И |
И |
И |
И |
Л |
И |
Л |
И |
Л |
И |
Л |
Л |
И |
Л |
Л |
И |
Л |
И |
Л |
Л |
Л |
И |
Л |
Л |
И |
Л |
И |
Л |
И |
И |
И |
И |
И |
И |
И |
И |
И |
Л |
И |
Пример: Дано, F=(F1F2)((F2F3)(F1F2F3)). Упростить формулу.
Удалить всюду связку “”:
F= (F1F2)(( F2F3)((F1F2) F3);
Опустить отрицание до элементарной формулы по закону де Моргана:
F=F1F2F2F3F1F2F3;
Выполнить преобразование по закону дистрибутивности:
F=( F1F1) F2F2F3 F3;
Удалить член (F1F1), так как (F1F1)=и:
F=F2F2F3 F3;
Выполнить преобразование по закону дистрибутивности:
F=F2(F2F3) (F3 F3);
Удалить член (F3F3)=и:
F=F2(F2F3);
Применить закон ассоциативности:
F=(F2F2)F3;
Приравнять “истине” значение формулы F, т.к. (F2F2)=и:
F=иF3=и.
Следовательно, исходная формула при любых значениях пропозициональных переменных равна истине.
Пример: дано F=(F1F2)(F3F4)(F1F2)(F3F4).
Упростить выражение данной формулы.
Удалить логическую связку “”:
F=(F1F2)(F3F4)(F1F2)(F3F4);
Опустить отрицание на элементарные формулы по закону де Моргана:
F=F1F2(F3F4) F1F2(F3F4);
Выполнить преобразование по закону дистрибутивности:
F=( F1 F1) F2(F3F4);
Удалить член (F1F1)=и:
F=F2(F3F4).
Следовательно, (F1F2)(F3F4)(F1F2)(F3F4)=F2(F3F4)
Пример: Дано суждение "или верно, что Петр поступил в университет (А), и при этом неверно, что Петр не поступил и Андрей не поступил, или Петр поступил и Семен поступил (С), или даже Петр поступил и Семен поступил, и Андрей поступил (В)" Кто же поступил в университет? [11].
Формула сложного высказывания имеет вид:
F=А(AВ)АСАВС;
преобразовать, используя закон де Моргана:
F=А (АВ)АСАВС;
применить закон идемпотентности:
F=А (АВ)AАСАВС;
применить закон дистрибутивности по переменной А:
F=А((АВ) АСВС);
применить закон дистрибутивности:
F=А((АВ) С(АВ));
применить закон дистрибутивности:
F=(АВ)(АС);
Итак, А(AВ)АСАВС=(АВ)(АС)=А.(ВС).
Если в университет поступил только один из трех друзей, то
(ВС)=л. Следовательно, в университет поступил Петр.
Пример: Шесть школьников - Андрей, Борис, Григорий, Дмитрий, Евгений и Семен - участвовали в олимпиаде. Двое из них решили все задачи. На вопрос, кто решил все задачи, последовали ответы:1) Андрей и Дмитрий; 2) Борис и Евгений; 3) Евгений и Андрей; 4)Борис и Григорий; 5) Семен и Андрей. В четырех из этих ответов одна часть неверна, другая верна. В одном - обе части неверны. Кто же решил все задачи? [11]
Введем обозначения:
A:= Андрей решил все задачи, Б:= Борис решил все задачи,
Г:= Григорий решил все задачи, Д:= Дмитрий решил все задачи,
Е:= Евгений решил все задачи, С:= Семен решил все задачи.
Так как в одном из ответов обе части неверны, а в остальных - одна, то необходимо составить пять формул, отражающих пять различных высказываний:
AД(БЕБЕ)(ЕАЕА)(БГБГ)
(САСА);
БЕ(АДАД) (ЕАЕА)(БГБГ)
(САСА);
ЕА(АДАД)(БЕБЕ)(БГБГ)
(САСА);
БГ (АДАД)(БЕБЕ)(ЕАЕА)
(САСА);
СА(АДАД)(БЕБЕ)(ЕАЕА)
(БГБГ).
Если A=и и Д=и, то первая формула может быть записана так: AД(БЕБЕ)ЕА(БГБГ)СА, т.к. член ЕА=л.
Если Б=и и Е=и, то вторая формула может быть записана так: БЕ(АДАД)ЕАБГ(САСА), т.к. члены ЕА=л и БГ=л.
Если Е=и и А=и, то третья формула может быть записана так: ЕААДБЕ(БГБГ)СА, т.к. члены АД=л, БЕ=л, и СА=л.
Если допустить, что Б=и и Г=и, то четвертая формула может быть записана так:БГ(АДАД)БЕ(ЕАЕА)(САСА), т.к. член БЕ=л.
Если С=и и А=и, то пятая формула может быть записана так:СААД(БЕБЕ) ЕА(БГБГ), т.к. член АД=л.
Применив законы дистрибутивности, идемпотентности и поглощения эти формулы можно упростить так:
AДБЕГС;
Б ЕДСАГ;
ЕАГДСБ;
БГАДЕС;
САБДЕГ.
По условиям задачи только два участника решили все задачи. Поэтому формулы, содержащие по три пропозициональных переменных без отрицания, не отвечают поставленным условиям, а одна, содержащая только две переменных без отрицания, отвечает условиям задачи. Это - БЕДСАГ.
Следовательно, все задачи на олимпиаде решили Андрей (А) и Григорий (Г).
Примеры показывают, что всякую формулу алгебры логики можно заместить равносильной формулой, содержащей вместо импликации или эквиваленции только две логических операции: дизьюнкцию и отрицание или коньюнкцию и отрицание. Этот факт показывает, что логические связки дизъюнкции и отрицания, конъюнкции и отрицания формируют полные алгебраические системы.