Минимизация логических функций
Метод, основанный на теореме Квайна
Получение минимальной дизъюнктивной нормальной формы (МДНФ) выполняется в несколько этапов.
Первый этап – получение сокращенной дизъюнктивной нормальной формы (СкДНФ). Обычно он проводится на основе теоремы Квайна.
Сокращенной дизъюнктивной нормальной формой ФАЛ называется дизъюнкция всех простых импликантэтой логической функции.
Второй этап – получение минимальной дизъюнктивной (конъюнктивной) нормальной формы (МДНФ или МКНФ) с использованием импликантной (имплицентной для коньюнктивной формы) матрицы. При этом в качестве промежуточного итога получается тупиковая форма (возможно, не одна).
Теорема. Любая логическая функция, тождественно не равная нулю, представима и притом однозначно в виде сокращенной ДНФ. Любая логическая функция, тождественно не равная единице, представима, и притом однозначно, в виде сокращенной КНФ.
В данном пособии практически все теоремы будут представлены без доказательств. Их доказательства, при необходимости, можно найти в специальной литературе или в интернете.
Теорема Квайна. Если в совершенной дизъюнктивной нормальной форме логической функции провести все операции неполного склеивания и затем все операции поглощения, то в результате получается сокращенная дизъюнктивная нормальная форма этой функции.
Метод получения сокращенной дизъюнктивной нормальной формы логической функции называется методом Квайна.
Таким образом, теорема Квайна дает возможность получить из СДНФ или СКНФ их сокращенные формы (СкДНФ и СкКНФ соответственно). Эти формы будут единственными для данной логической функции.
Посмотрим, как с помощью теоремы Квайна из совершенной формы представления ФАЛ можно перейти к ее сокращенной форме.
Пример 3.1. Пусть
Два терма, зависящие от одних и тех же переменных и отличающиеся между собой только одной переменной (в одном она имеет отрицание, а в другом – нет) называются соседними. Склеивание может проходить только между соседними термами.
Проведем все операции неполного склеивания между термами данной функции. Для этого необходимо определить возможность склеивания каждого из наборов, составляющих функцию, с любым другим набором, а именно, проверить, чтобы наборы были соседними, то есть были одного ранга (зависели от одинакового количества переменных – на первом этапе в совершенных формах это выполняется по определению) и отличались только в одной переменной. В результате получим:
После проведения всех возможных операций поглощения в данной функции получимсогласно теореме Квайнасокращенную дизъюнктивную форму исходной функции. Очевидно, что она будет единственной:
Но эта функция необязательно является минимальной формой исходной ФАЛ. Для получения минимальной дизъюнктивной нормальной формы логической функции, для которой имеются ее совершенная и сокращенная формы, следует построить импликантную (для дизъюнктивной) или имплицентную(для конюнктивной) формы матрицы, которая позволит получить вначале тупиковую форму логической функции.
Тупиковой ДНФ называется дизъюнкция простых импликант, ни одну из которых из выражения функции исключить нельзя. Некоторые функции имеют несколько тупиковых форм.
Импликантная матрица имеет следующую структуру. Ее столбцы соответствуют всем элементарным конъюнкциям исходной функции, а строки содержат все импликанты сокращенной дизъюнктивной нормальной формы (Табл. 3.2).
С помощью такой таблицы можно среди импликант, входящих в состав сокращенной нормальной формы, выделить существенный импликанты, которые обязательно должны войти в состав тупиковой нормальной формы, получаемой в результате обработки данной матрицы.
Существенная импликанта характеризуется тем, что только она покрывает какой-либо из наборов совершенной формы (в соответствующем столбце матрицы содержится только одна отметка).
В рассматриваемом случае таких существенных импликант будет две: cd и . Они покрывают все минтермы исходной функции, кроме . Данный минтерм может быть покрыт как импликантой, так и импликантой .
В результате мы получим две тупиковые нормальные формы:
и
Тупиковые формы, содержащие наименьшее количество символов, будут минимальными.Обе полученные выше минимальные формы содержат одинаковое число символов. Так что по принятому нами критерию их обе можно считать минимальными:
и
Таким образом, определенные выше дизъюнктивные нормальные формы – сокращенная, тупиковая и минимальная находятся в следующем соотношении. Тупиковая ДНФ получается из сокращенной путем удаления некоторых слагаемых. Минимальная ДНФ находится среди тупиковых. Сокращенная форма для одной логической функции – единственная. Тупиковых и минимальных форм может быть несколько.