- •Директор идо _____________а.Ф.Федоров
- •Томск 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.4.6. Тупиковые днф
После того как сокращенная ДНФ построена, для получения минимальной ДНФ можно воспользоваться тривиальным алгоритмом. Ясно, что его эффективность будет еще выше. Возможен, однако, другой подход, связанный с перебором лишь так называемых тупиковых ДНФ.
Определение. Покрытие подмножества максимальными интервалами называется неприводимым, если после удаления из него любого интервала оно перестает быть покрытием.
Определение. ДНФ функции называется тупиковой, если ей соответствует неприводимое покрытие подмножества . Очевидно, что всякая минимальная ДНФ является тупиковой.
Пример. Рассмотрим функцию
и соответствующее ей подмножество (рис. 2.4.). Сокращенную ДНФ этой функции можно записать следующим образом: .
Тупиковыми ДНФ являются:
ДНФ являются минимальными для данной функции. ДНФ не являются минимальными. Таким образом, если сокращенная ДНФ строится однозначно, то процесс перехода от сокращенной ДНФ к тупиковой неоднозначен. Удаление одних элементарных конъюнкций из сокращенной ДНФ приводит к минимальной ДНФ, других – к тупиковой ДНФ, не являющейся минимальной. Поэтому, для построения минимальных ДНФ приходится строить все тупиковые ДНФ и среди них вести отбор. Процесс построения минимальных ДНФ на основе СДНФ или таблицы можно представить схемой, представленной на рис. 2.5.
Рис. 2.5. Структура процесса построения минимальных ДНФ
Процедуру перехода от сокращенной ДНФ к тупиковой можно разбить на элементарные шаги, каждый из которых представляет собой удаление из ДНФ, полученной на предыдущем шаге, одной элементарной конъюнкции . Удаляемая конъюнкция такова, что , т.е. представляется суммой других интервалов. Для этого необходимо установить аналитический критерий покрытия некоторого интервала суммой других интервалов.
Определение. Дизъюнкция элементарных конъюнкций поглощает элементарную конъюнкцию , если . Иначе, дизъюнкция поглощает конъюнкцию тогда и только тогда, когда .
Определение. Элементарные конъюнкции называются ортогональными, если .
Геометрический смысл ортогональных конъюнкций прост. Они соответствуют интервалам, не имеющим общих вершин. Для проверки ортогональности проще всего пользоваться следующим свойством: две элементарные конъюнкции ортогональны тогда и только тогда, когда есть переменная входящая в одну конъюнкцию с отрицанием, а во вторую – без отрицания.
Алгоритм проверки поглощения конъюнкции дизъюнкцией включает следующие шаги:
-
в дизъюнкции выделяются конъюнкции неортогональные ;
-
из всех выделенных конъюнкций удаляются термы , встречающиеся в ,
-
выясняется, всегда ли равна 1 полученная после такого удаления дизъюнкция . Если всегда, то конъюнкция поглощается дизъюнкцией и может быть вычеркнута из формулы.
Пример. Рассмотрим функцию из предыдущего примера. Сокращенная ДНФ имеет вид .
Выделим конъюнкцию и все неортогональные к ней конъюнкции: . Проверим выполнение условия . Для этого удаляем из термы . Получаем дизъюнкцию , тождественно равную 1. Таким образом, конъюнкция поглощается дизъюнкцией и ее можно удалить из . В результате имеем .
Во вновь полученной дизъюнкции выделим конъюнкцию и все неортогональные к ней конъюнкции: . Удаляем из термы и . Получаем . Конъюнкцию можно удалить из . В результате имеем .
Полученная формула является тупиковой. Это несложно установить, проверив условия поглощения для каждой из оставшихся в конъюнкций. Рассмотрим, например, конъюнкцию . Неортогональна к ней только конъюнкция . Однако условие не является тождеством и, следовательно, не поглощается .
Другой вариант состоит в последовательном исключении конъюнкций . Такая последовательность операций ведет к форме , которая является минимальной.