
- •Директор идо _____________а.Ф.Федоров
- •Томск 2007
- •Содержание
- •Введение
- •Глава 1. Множества и отношения
- •1.1. Множества
- •1.1.1. Основные определения
- •1.1.2. Способы задания множеств
- •1.1.3. Диаграммы Эйлера – Венна
- •1.1.4. Операции над множествами
- •1.1.5. Свойства булевых операций над множествами
- •1.2. Отношения
- •1.2.1. Способы задания бинарных отношений
- •1.2.2. Свойства бинарных отношений
- •1.2.3. Эквивалентность и порядок
- •Пример. Каков индекс разбиения и мощности классов эквивалентности по отношению , если – отношение равенства (тождества) на любом множестве;
- •1.2.4. Операции над бинарными отношениями
- •1.2.5. Функциональные отношения
- •1.2.6. Функции и отображения
- •1.2.7. Операции
- •Глава 2. Математическая логика
- •2.1. Логические операции
- •2.1.1. Основные определения математической логики
- •2.1.2. Таблицы истинности
- •2.1.3. Основные логические операции
- •2.1.4. Функционально полные системы (базисы)
- •2.1.5. Совершенная дизъюнктивная нормальная форма
- •2.1.6. Основные эквивалентные соотношения в булевой алгебре
- •2.1.7. Переход от днф к сднф методом расщепления
- •2.2. Формы представления булевых функций
- •2.2.1. Геометрическое представление булевых функций
- •2.2.2. Интервальное представление булевых функций
- •2.3. Синтез логических схем
- •2.4. Минимизация дизъюнктивных нормальных форм
- •2.4.1. Приведение к дизъюнктивной нормальной форме
- •2.4.2. Геометрическая интерпретация задачи минимизации днф
- •2.4.3. Допустимые конъюнкции
- •2.4.4. Сокращенная днф
- •2.4.5. Построение сокращенной днф
- •2.4.6. Тупиковые днф
- •2.5. Логика предикатов
- •2.5.2. Кванторы
- •2.5.3. Выполнимость и истинность
- •2.5.4. Префиксная нормальная форма
- •Глава 3. Графы и сети
- •3.1. Графы
- •3.1.1. Основные определения теории графов
- •3.1.2. Способы задания графов
- •3.1.3. Операции над частями графа
- •3.1.4. Маршруты, пути, цепи, циклы
- •3.1.5. Эйлеровы циклы и цепи
- •3.1.6. Обобщенная теорема об эйлеровых цепях
- •3.1.6. Гамильтонов цикл. Взвешенные графы
- •3.1.7. Граф–дерево и граф–лес
- •3.1.8. Связность. Цикломатическое число графа
- •3.1.9. Двудольные (четные) графы
- •3.1.10. Планарность графов
- •3.2. Сети
- •3.2.1. Потоки в сетях
- •3.2.2. Расчет максимального потока в сети
- •Глава 4. Автоматы, языки, элементы кодирования
- •4.1. Автоматы
- •4.1.2. Реализация конечных автоматов
- •4.1.3. Автоматы–распознаватели
- •4.2. Элементы кодирования
- •4.2.1. Формулировка задачи кодирования.
- •4.2.1. Алфавитное (побуквенное) кодирование
- •4.2.3. Кодирование с минимальной избыточностью
- •4.2.4. Алгоритм квазиоптимального кодирования Фано
- •4.2.5. Алгоритм оптимального кодирования Хаффмена
- •4.2.6. Помехоустойчивое кодирование
- •4.2.7. Сжатие данных
- •Список литературы
2.1.4. Функционально полные системы (базисы)
Важной задачей математической логики являются преобразования логических формул. Эквивалентными или равносильными называют формулы, представляющие одну и ту же функцию. Стандартный метод установления эквивалентности двух формул состоит в следующем:
-
по каждой формуле восстанавливается таблица истинности;
-
полученные таблицы сравниваются по каждому набору значений переменных;
-
если на всех наборах формулы дают одинаковые истинностные значения, они эквивалентны.
Пример:
доказать эквивалентность формул
.
Воспользуемся стандартным методом, т.е. построим таблицу истинности для всех трех формул.
Таблица 2.4.
|
|
|
|
|
|
|
00 |
1 |
0 |
1 |
1 |
1 |
1 |
01 |
1 |
0 |
1 |
1 |
0 |
1 |
10 |
1 |
0 |
1 |
0 |
1 |
1 |
11 |
0 |
1 |
0 |
0 |
0 |
0 |
Полученные результаты говорят о том, что формулы эквивалентны.
Как
видно из примера, одна и та же логическая
функция может быть задана формулами,
включающими различные наборы логических
операций. Существуют наборы логических
операций, с помощью которых можно
выразить любые другие логические
операции. Такие наборы называются
функционально
полными системами, или базисами.
Примерами таких базисов логических
операций являются:
,
.
Наиболее
хорошо изученным является базис
.
Формулы, содержащие только операции
конъюнкции, дизъюнкции и отрицания
называются булевыми.
Следующие две теоремы, приведенные без
доказательств, устанавливают правила
перехода от одного базиса к другому.
Теорема 1
Всякая логическая формула может быть представлена булевой формулой.
Теорема 2
Если
все функции функционально полной системы
представимы формулами над
, то
также функционально полна.
Таким образом, чтобы перейти в записи логической формулы от одного базиса к другому, нужно просто заменить все операции первого базиса через операции второго базиса.
Алгебра
,
основным множеством которой является
множество всех логических функций
,
а операциями (т.е. сигнатурой
)
– конъюнкция, дизъюнкция и отрицание,
называется булевой
алгеброй логических функций.
2.1.5. Совершенная дизъюнктивная нормальная форма
Система операций булевой алгебры полна и переход от табличного задания любой логической функции к формуле булевой алгебры, всегда возможен. Сформулируем очень важный для практики способ перехода от табличного задания логической функции к булевой формуле. Он включает следующие действия:
-
для каждого набора значений переменных
, на котором функция
равна 1, выписываются конъюнкции всех переменных;
-
над теми переменными, которые на этом наборе равны 0, ставятся отрицания;
-
все такие конъюнкции соединяются знаками дизъюнкции.
Полученная таким образом формула называется совершенной дизъюнктивной нормальной формой (СДНФ) логической функции. Для каждой функции СДНФ единствена.
Пример: для логической функции, заданной в таблице 2.3, СДНФ имеет вид
.
Переход
от логической формулы произвольного
вида, или формулы записанной в некоторой
не булевой алгебре с сигнатурой
возможен не только через таблицу
истинности, но и на основе теоремы 2. Для
этого необходимо лишь выразить элементы
через дизъюнкцию, конъюнкцию и отрицание.
Пример.
Перевести
в булев базис следующую логическую
формулу
.
Для
решения задачи воспользуемся соотношением
,
правильность которого легко проверить
через построение таблицы истинности.
Последовательно проводя преобразования
будем получать
Пример.
В алгебре Жигалкина
,
ее сигнатура
является функционально полной системой.
Убедиться в этом, используя теоремы 1 и
2.
Решение.
Из теоремы 1 следует, что набор булевых
функций полон. Тогда, в соответствии с
теоремой 2, для доказательства
функциональной полноты набора
достаточно доказать следующие равенства:
Используя обычный подход, построим таблицы истинности 2.5 и 2.6.
Таблица 2.5.
x |
|
1 |
x1 |
0 1 |
1 0 |
1 1 |
1 0 |
Таблица 2.6.
|
|
|
|
|
1 1 |
0 1 1 1 |
0 0 0 1 |
0 0 1 0 |
0 1 1 1 |
Из полученных таблиц истинности следует, что алгебра Жигалкина функционально полна.