<==Back
Булевы Функции
Минимизация коньюнктивных нормальных форм.
"Минимизация КНФ производится аналогично рассмотреным методам минимизации ДНФ булевых функций, поэтому остановимся лишь на основных положениях.
Напомним, что конституентой нуля называется функция, принимающая значение 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 одинаково."
Использованная литература:
1) "Прикладная теория цифровых автоматов" Киев "Вища Школа" 1987
К.Г. Самофалов, А.М. Романкевич, В.Н. Валуйский,
Ю.С. Каневский, М.М. Пиневич
страницы (208 - 209).