Автор работы: Пользователь скрыл имя, 14 Декабря 2012 в 01:16, доклад
Алгебра логики - предельно важная для цифровых компьютеров тема. И с точки зрения их устройства, схемотехники, и с точки зрения их функционирования и программирования поведения. Действительно, мало-мальски сложное действие невозможно без обратной связи, без анализа условий выполнения. Например, "ЕСЛИ нам хочется пить, ТО мы пьём, ИНАЧЕ мы даже не думаем об этом".
Добавление к ней еще такой же таблицы дает диаграмму для функции 4-х переменных (табл. 4.4.3).
Таким же образом, т. е. приписыванием еще одной диаграммы 3-х переменных к только что рассмотренной, можно получить диаграмму для функции 5-ти переменных и т. д., однако диаграммы для функций с числом переменных больше 4-х используются редко. Для приведенных диаграмм характерно следующее:
Соседними наборами называются наборы, отличающиеся одной компонентой. Напомним, что конституенты, соответствующие таким наборам, склеиваются (см. метод Квайна- Мак-Класки). Например, для функции, заданной табл. 9.22,
конституенты, соответствующие паре единиц в левой части таблицы, склеиваются и порождают элементарное произведение из 2-х букв:
х1х2/х3 v x1x2x 3 = x1x2
О паре единиц в правой части диаграммы можно сказать
то же самое:
/х1х2/х3 v /x1/x2/x 3 = /x1/x3
Отметим, что получающееся элементарное
произведение легко определить сразу
по диаграмме: это произведение переменных,
принимающих одно и то же значение
в обеих клетках.
Еще одно важное замечание: столбцы, расположенные
по краям диаграммы, тоже считаются соседними.
Для нашего примера это означает, что имеет
место еще одно склеивание, в результате
которого, следуя указанному правилу,
получаем элементарное произведение x2/x3
Из рассмотренных ранее методов нам известно,
что возможно дальнейшее склеивание получаемых
элементарных произведений. На диаграммах
Вейча они тоже располагаются рядом. Общее
правило склеивания на диаграммах Вейча
можно сформулировать следующим образом:
склеиванию подлежат прямоугольные конфигурации,
заполненные единицами и содержащие число
клеток, являющееся степенью 2. Получающееся
новое элементарное произведение определяется
как произведение переменных, не меняющих
своего значения на всех склеиваемых наборах.
Число m оставшихся
переменных в элементарном произведении
определяется легко:
m = n - log2M
где n - число переменных функции, М - число склеиваемых
наборов. Метод широко используется на
практике, благодаря простоте и удобству.
После небольшой тренировки достигается
элементарный навык определения минимальной
ДНФ по диаграмме "с первого взгляда".
Минимизация булевой функции заключается
в нахождении минимального накрытия всех
единиц диаграммы Вейча блоками из единиц
(указанной конфигурации), расположенных
в соседних клетках диаграммы. При этом
всегда считается, что левый край диаграммы
Bейча 4-х переменных примыкает к ее правому
краю, а верхний oкрай диаграммы примыкает
к нижнему ее краю. После получения минимального
накрытия всех единиц диаграммы Вейча,
минимальная ДНФ булевой функции записывается
как дизъюнкция элементарных конъюнкций,
соответствующих выделенным блокам единиц
в диаграмме.
"Минимизация
КНФ производится аналогично
рассмотреным методам
Напомним, что конституентой нуля называется
функция, принимающая значение 0 на одном
наборе. Она выражается дизъюнкцией всех
переменных функций. Например, набору 0110 соответствует
конституента нуля x1v/x2v/x3vx4.
Определение.
Имцлицентой g булевой функции f называется
функция, принимающая значение 0 на подмножестве
нулевых наборов функции f.
Определение.
Простой имплицентой функции f называется
элементарная дизъюнкция, являющаяся
имплицентой функции f, причем никакая ее собственная
часть имплицентой функции f не является.
Задачей минимизации КНФ является
определение минимальной КНФ. Эта
задача также решается в два этапа
- поиск сокращенной КНФ (конъюнкция
всех простых имплицент) и затем
нахождение минимальной КНФ. Второй этап
минимизации выполняется с помощью таблицы
Квайна точно так же, как при поиске минимальной
ДНФ, так как возможны только два варианта:
либо данная простая имплицента поглощает
данную конституенту нуля, либо нет в соответствии
с соотношением поглощения
(A v x)A = A
Что касается первого этапа - поиска
всех простых имплицент, то практически
все методы минимизации ДНФ имеют
свои аналоги для КНФ. Расссмотрим
это подробнее.
Соотношение склеивания по Квайну
(A v x)(A v /x) = (A v x)(A v /x)A.
Соотношение склеивания по Блейку
(A v x)(B v /x) = (A v x)(B v /x)(A v B)
Метод Нельсона в применении к задаче
минимизации КНФ: раскрытие скобок
в произвольной ДНФ функции и
выполнение поглощений приводит к сокращенной
КНФ. Предполагаются скобки в начале и конце каждого
элементарного произведения исходной
ДНФ и использование второго дистрибутивного
закона. Например, функция, заданная минимальной
ДНФ: x1/x2 v
/x1x2 дает возможность определить
ее сокращенную КНФ
(x1 v /x1)(x1 v x2) (/x2 v /x1)(x2 v /x2) = (x1 v x2)(/x1 v /x2)
По диаграмме Вейча поиск минимальной КНФ осуществляется так же просто, как в случае ДНФ. Отличие состоит лишь в том, что анализируются нулевые наборы и переменные выписываются с инверсиями. Например, для функции, заданной диаграммой (табл. 4.5.1)
минимальной КНФ, является
(/x1 v x3)(x2 v x3)(/x1 v /x2 v /x3)
Для сравнения найдем минимальную ДНФ: /x1x2 v /x2x3 v x3/x4. В данном случае ДНФ оказалась проще, В общем случае о сравнительной сложности минимальных ДНФ и КНФ нельзя говорить заранее, но можно отметить следующее: количество букв минимальной ДНФ произвольной функции f и минимальной КНФ функции /f одинаково."
"Метод используется
для нахождения всех
"На практике
очень часто приходится
f1(x1,x2,x3)
= x1/x3 v x1/x2 v /x1x3;
f2(x1,x2,x3) = x1/x2
v /x1x3 v /x1x2;
f3(x1,x2,x3) = x1x2
v /x1/x2/x3,
Все различные элементарные конъюнкции системы функций объединим в множество А, которое назовем полным множеством элементарных конъюнкций cистемы функций. В нашем случае А = {x1/x3; x1/x2; /x1x3; /x1x2; x1x2; /x1/x2/x3}. Сумма рангов (число букв) элементарных конъюнкций множества А является удобным критерием оценки сложности заданной системы булевых функций.
Определение.
Система дизъюнктивных нормальных форм
булевых функций называется минимальной,
если ее полное множество элементарных
конъюнкций содержит минимальное количество
букв, а каждая дизъюнктивная нормальная
форма булевой функции системы включает
минимальное число элементарных
конъюнкций наименьшего ранга. При этом
дизъюнктивная нормальная форма представления
булевой функции в минимальной системе
в общем случае не совпадает с ее минимальной
дизъюнктивной нормальной формой.
Минимизация систем полностью определенных булевых функций
может производиться по алгоритму, аналогичному
алгоритму метода Квайна с небольшими
отличиями. Алгоритм минимизации следующий.