
- •Директор идо _____________а.Ф.Федоров
- •Томск 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. Минимизация дизъюнктивных нормальных форм
2.4.1. Приведение к дизъюнктивной нормальной форме
Ранее определено, что всякая функция алгебры логики, отличная от 0, может быть представлена совершенной дизъюнктивной нормальной формой
Однако
СДНФ обычно допускает упрощения, в
результате которых получается формула,
также реализующая
,
но содержащая меньшее число символов
(термов).
Рассмотрим методы представления функций алгебры логики простейшими формулами в классе так называемых дизъюнктивных нормальных форм (ДНФ).
Введем ряд определений. Назовем выражение
элементарной конъюнкцией.
Дизъюнктивной
нормальной формой
(ДНФ) называется формула, имеющая вид
дизъюнкции элементарных конъюнкций
,
в которой все
различны.
В таком случае СДНФ (совершенная дизъюнктивная нормальная форма) – это ДНФ, в которой каждая конъюнкция содержит все переменные или их отрицания.
Количество
первичных термов, которые образуют
форму, задающую булеву функцию
,
называют сложностью
этой формы. Например, для
.
Минимальной
(наименее сложной)
ДНФ функции
называется ДНФ, реализующая
и содержащая наименьшее число термов
по сравнению со всеми другими ДНФ,
реализующими
.
Существует
тривиальный алгоритм построения
минимальной ДНФ. Все ДНФ, составленные
из переменных
,
упорядочиваются по возрастанию числа
термов и по порядку для каждой ДНФ
проверяется соотношение
.
Первая по порядку ДНФ, для которой это
соотношение выполняется, есть, очевидно,
минимальная ДНФ. Однако, уже при
этот метод приводит к перебору огромного
числа ДНФ, так как известно, что число
различных элементарных конъюнкций,
составленных из
,
равно
.
Число же всех возможных ДНФ, составленных
из
,
т.е. мощность множества, из которого
требуется сделать выбор, равно
.
Таким образом, тривиальный алгоритм
построения минимальной ДНФ является
чрезвычайно трудоемким, по крайней мере
при ручной обработке.
Существуют различные способы повышения эффективности алгоритма синтеза минимальных ДНФ. Большинство из них заключается в том, что из множества всех элементарных конъюнкций некоторым, сравнительно нетрудоемким способом, удаляются конъюнкции, которые заведомо не входят в минимальные ДНФ. Это приводит к снижению мощности множества ДНФ, в котором находятся минимальные ДНФ заданной функции. Вторая группа способов связана с более экономичным перебором ДНФ из этого множества.
2.4.2. Геометрическая интерпретация задачи минимизации днф
Для
каждой ДНФ
функции
выполняется соотношение
.
Говорят,
что с каждой ДНФ функции
связано покрытие подмножества
такими интервалами
,
что
.
Обозначим через
ранг интервала
.
Тогда
совпадает с числом символов в ДНФ. Задача
отыскания минимальной ДНФ сводится,
очевидно, к отысканию такого покрытия
интервалами
,
чтобы выражение
было минимальным.
Простейший
известный нам способ покрытия – покрытие
СДНФ. Здесь каждый
.
Для ранее рассмотренного графического
примера имели
Графически,
из рис. 2.2, получим покрытие
.
2.4.3. Допустимые конъюнкции
При
построении минимальных ДНФ для функции
достаточно рассматривать только те
интервалы
,
для которых
,
т.е.
.
Такие интервалы и соответствующие им
конъюнкции называются допустимыми.
Возможен
следующий способ повышения эффективности
тривиального алгоритма. Выделяются все
допустимые конъюнкции
и к множеству этих конъюнкций {
}
применяется тривиальный алгоритм. Этот
простой прием существенно увеличивает
эффективность тривиального алгоритма.
Множество
всех допустимых конъюнкций {}может
быть получено путем удаления из числа
конъюнкций «лишних». Заметим, что
конъюнкции, обращающиеся в единицу в
вершине
,
есть произведения некоторых из символов
.
Поэтому, если
,
то из списка всех
конъюнкций следует удалить
конъюнкций, составленных из сомножителей,
входящих в множество
.
Иными словами, если
некоторая нулевая вершина n–куба
связана с конъюнкцией
,
то недопустимыми являются все конъюнкции,
которые могут быть получены из данного
набора символов.
Пример.
Рассмотрим функцию, заданную таблицей истинности 2.12.
Таблица 2.12.
|
|
|
|
0 0 0 |
1 |
1 0 0 |
0 |
0 0 1 |
1 |
1 0 1 |
1 |
0 1 0 |
1 |
1 1 0 |
0 |
0 1 1 |
0 |
1 1 1 |
1 |
Множество
состоит из трех точек – (011), (100), (110).
Составим таблицу коньюнкций, связанных
с этими точками.
Таблица 2.13.
Точки
множества
|
Конъюнкции, обращающиеся в единицу в
точках на
|
011 |
|
100 |
|
110 |
|
Все
конъюнкции, указанные в данной таблице,
должны быть удалены из множества 27
конъюнкций, составленных из переменных
.
После удаления останутся конъюнкции
EMBED Equation.DSMT4
.