- •Введение
- •1. Элементы теории множеств
- •1.1.Понятие множества.
- •1.2. Способы задания множеств.
- •1.3. Свойства множеств.
- •1.4. Конечные и бесконечные множества.
- •1.5. Подмножества.
- •1.6. Множество как абстракция.
- •1.7. Операции над множествами.
- •1.8.Декартово произведение множеств
- •1.9. Контрольные задания
- •2. Отношения
- •2.1. Общие положения
- •2.2. Задание отношений.
- •2.3. Виды отношений.
- •2.3.1. Рефлективность.
- •2.3.2. Симметричность.
- •2.3.3. Транзитивность.
- •2.4. Отношение эквивалентности
- •2.5. Функция.
- •2.6. Отношение как базовое понятие в реляционных
- •2.7. Контрольные задания
- •3. Элементы алгебры логики
- •3.1. Силлогизмы Аристотеля.
- •3.2. Высказывания.
- •3.3. Исчисление высказываний и
- •3.4. Функции алгебры логики
- •3.5. Равносильности алгебры логики
- •3.6. Одна логическая задача
- •3.7. Реализация функций в элементных базисах
- •3.9. Совершенная конъюнктивная нормальная форма
- •3.10. Реализация операции суммирования в компьютере
- •3.11. Контрольные задания
- •4. Элементы теории графов
- •4.1. История возникновения
- •4.2. Основные понятия
- •4.3. Матрицы графа
- •4.4. Деревья
- •4.5. Раскраска
- •5. Элементы теории алгоритмов
- •5.1. Интуитивное понятие алгоритма
- •5.2. Свойства алгоритмов
- •5.3. Вычислительные и комбинаторные алгоритмы
- •5.5. Асимптотические оценки сложности алгоритма
- •Порядки сложности алгоритма
- •5.6. Комбинаторный взрыв
- •6. Полиномиальные алгоритмы
- •6.1. Построение минимального остовного дерева.
- •6.1.1. Жадный алгоритм
- •6.1.2. Алгоритм Прима
- •6.2. Контрольные задания
- •7. Эвристические алгоритмы
- •7.1. Алгоритм последовательной раскраски
- •7.2. Контрольные задания
- •8. Сетевое планирование
- •8.1. Основные понятия
- •8.2 Параметры сетевого планирования
- •8.3. Вычисление параметров сетевого графика
- •8.4. Контрольные задания
- •9. Элементы абстрактной теории автоматов
- •9.1. Определение абстрактного автомата
- •9.2. Методы задания автоматов
- •9.3. Связь между моделями Мили и Мура.
- •9.4.1. Преобразование автомата Мура в автомат Мили
- •9.4.2. Преобразование автомата Мили в автомат Мура
- •9.5. Контрольные задания
- •10. Уточнение понятия алгоритма
- •10.1. Машина Тьюринга
- •Для каждого алгоритма u из класса к1 существует равносильный ему алгоритм l из класса к2.
- •10.2. Нормальный алгоритм Маркова
3.5. Равносильности алгебры логики
Две функции считаются равносильными, если на любых одинаковых значениях аргументов они принимают одинаковые значения.
Перечислим основные равносильности алгебры логики.
Ассоциативность:
x1˙(x2·x3)=(x1·x2)·x3
2. (x1vх2)x3 = x1v(х2x3)
Коммутативность:
3. x1·х2 = х2·x1
4. x1х2 = х2x1
Дистрибутивность конъюнкции относительно дизъюнкции:
5. x1·(х2x3) = x1·х2x1·x3
Дистрибутивность дизъюнкции относительно конъюнкции:
6. x1(х2·x3 ) = (x1х2)·(x1x3 )
Идемпотентность:
7. х·х = х
8. хх = х
Двойное отрицание:
9. x=x
Законы де Моргана:
1
0.
x1х2=x1
х2
1
1.
x1
х2 = x1
х2
Закон противоречия:
1 2. хх = 0
Закон "исключенного третьего"
1 3. х х = 1
Свойства констант:
14. х 1 = х
15. х 0 = 0
16. х 1 = 1
17. х 0 = х
1 8. 0 = 1
1 9. 1 = 0
Приоритет выполнения логических операций в порядке убывания следующий: отрицание, конъюнкция, дизъюнкция.
Рассмотрим некоторые тождественные преобразования:
1. х1 x1 x2 = x1
Доказательство
х1 x1 x2 = x1 1 v x1 x2 = x1 (1 x2) = x1 (x2 1) = x1 1 = x1
Первое преобразование справедливо в силу равносильности 14, второе - в силу равносильности 5, третье - равносильности 3, четвертое - равносильности 16 и пятое - равносильности 14.
Аналогично доказываются равносильности:
2 . х1 х 1 x2 = х1 х2
3 . х1( х 1 х2 ) = х1 х2
4 . х1( х1 х2 ) = х1 х2
Рассмотрим более сложный пример. Докажем следующую равносильность:
х
1
( х1 х2
) (х1
х2
x3) = х1 х2
При доказательстве используем вышеприведенные тождественные преоб-разования.
Доказательство:
х1 ( х1 х2 ) (х1 х2 x3) = х1 х2 (х1 х2 x3) = х1 х2 х1
х 1 х 2 х 2 х 1 х 2 x 3 = х1 х 1 x 2 х 1 x 2 х 1 х 2 x 3 = х 1 х 2
х 1 х 2 х 1 х 2 x 3 = х1 ( х 2 х 2 ) х 1 х 2 x 3 = х 1 х 2 х 1 х 2 x 3 =
= х 1 ( х 2 х 2 x 3 ) = х 1 х 2 = х 1 х 2 = х 1 х 2 = х 1 х 2
3.6. Одна логическая задача
Рассмотрим возможность применения аппарата алгебры логики к решению содержательных задач.
Следователь одновременно допрашивает трех свидетелей. Их показания противоречивы. Первый свидетель утверждает, что второй лжет. Второй свидетель утверждает, что третий лжет. Третий свидетель утверждает, что нельзя верить ни первому, ни второму. Кто из свидетелей говорит правду?
Обозначим свидетелей f1,f2 ,f3 , соответственно. То, что свидетели f1,f2,f3 говорят правду, обозначим через а, в, с. Тогда то, что они лгут, обозначим а, в, с, соответственно.
Свидетель f1 мог сказать правду,что свидетель f2 лжет, но f1 мог и солгать. Тогда оказывается,что свидетель f2 говорит правду.
Это можно записать следующим образом:
f 1
= а в v а в
= 1
Аналогично запишутся и показания свидетеля f2:
f 2 = в с v в с = 1
Рассмотрим показания третьего свидетеля. f3 может сказать правду, тогда а и в лгут. Это запишется, как са в.Но с мог солгать.Тогда, по крайней мере, один из первых двух свидетелей сказал правду. Это запишется как с(а v в).
В итоге получим:
f 3 = с а в v с (а v в) = 1
Мы получили три истинных высказывания. Их конъюнкция f также будет истинна.
f = f 1f 2 f 3 = (а в v а в) (в с v в с) v (с а в v с (а v в)) = 1
Определим из таблицы истинности 3.9 наборы значений переменных а, в и с, на которых функция f принимает значение 1. Поскольку имеется три переменных, то таблица будет содержать 2 3 = 8 строк.
Таблица 3.9
|
в |
с |
а в |
а в |
f1 |
в c |
в с |
f2 |
а в с |
с(ав) |
f3 |
f |
0 0 0 0 1 1 1 1 |
0 0 1 1 0 0 1 1 |
0 1 0 1 0 1 0 1 |
0 0 0 0 1 1 0 0 |
0 0 1 1 0 0 0 0 |
0 0 1 1 1 1 0 0 |
0 0 1 0 0 0 1 0 |
0 1 0 0 0 1 0 0 |
0 1 1 0 0 1 1 0 |
0 1 0 0 0 0 0 0 |
0 0 1 0 1 0 1 0 |
0 1 1 0 1 0 1 0 |
0 0 1 0 0 0 0 0 |
Из таблицы 3.9 следует, что функция f = 1 при а = 0, в = 1 и c = 0. То есть справедливо f = а в с = 1
Это означает, что второй свидетель говорит правду, а первый и третий лгут.

a