Совершенные дизъюнктивные и конъюнктивные нормальные формы ФАЛ
ТЕОРЕМА (без док-ва):
Любая ФАЛ может быть представлена единственным образом в Сок. ДНФ, т.е. записана в виде дизъюнкции простых импликант.
Сокращенная форма не означает, что эта форма является минимальной. Однако для практической реализации эта форма более удобна, чем совершенная.
Рассмотрим метод получения Сок. ДНФ, предложенный Квайном. Этот метод, и, в частности, теорема Квайна в явном и неявном виде входит практически во все методы минимизации.
Исходная форма функции – совершенная ДНФ.
ТЕОРЕМА Квайна:
Если в СДНФ в начале произвести все операции неполного склеивания, а затем все операции поглощения, то в результате получится сокращенная ДНФ.
Покажем, что, применяя операцию неполного склеивания, получим все простые импликанты функции. Введем операцию развертывания, которая обратна операции склеивания: это есть умножение каждого произведения на выражение вида
Пусть – простая импликанта некоторой трех переменных. Тогда:
получатся после многократного применения этой операции дизъюнкции конституент единицы исходной функции, т.е. ее СДНФ.
В эту форму, вообще говоря, могут входить несколько одинаковых членов, т.к. разные простые импликанты могут дать одинаковые конституенты единицы. Поэтому, отбросив в ДНФ лишние члены, получим ее СДНФ.
По отношению к СДНФ применяется операция неполного склеивания, т.к. одно и то же произведение, вообще говоря, может склеиваться с несколькими другими, давая различные импликанты, то чтобы не лишиться возможности провести все операции склеивания, приходится каждое произведение, которое участвовало в операции склеивания, оставить для других операций.
Пример:
Таким образом после выполнения операции неполного склеивания получится не только дизъюнкция простых импликант, но и часть конституент единицы.
Если теперь провести все операции поглощения, то в полученной форме функции f останутся только простые импликанты. Покажем это. Пусть в результате операций склеивания получится член x, не являющийся простой импликантой.
Тогда x=y*z, где z – простая импликанта, которая так же должна входить в f, т.к. в нее входит x. Но z будет поглощать х, поэтому х не может входить в f. Это и доказывает теорему Квайна.
Замечание: Заметим, что теорема Квайна применяется по отношению к функции СДНФ.
Порядок получения Сок. ДНФ может быть следующим:
- Провести все операции неполного склеивания конституент единицы исходной СДНФ. Получатся произведения (n-1) ранга ; оставшиеся несклеенные конституенты единицы не могут участвовать в дальнейших склеиваниях.
- Провести покрытие всех полученных произведений и конституент единицы. Часть некоторых конституент единицы будет устранена.
- Продолжить, пока возможны операции 1) и 2).
Пример 1:
Если применим операцию полного склеивания, то получим:
или
или
т.е. у нас нет возможности далее провести операцию.
Применим теперь операцию неполного склеивания:
Конституенты единицы:
Теперь можем провести операции поглощения:
поглощает:
поглощает:
в данном случае она – минимальная форма.
Пример 2:
Пусть задана:
Теперь, имея СДНФ, можно получить сокращенную ДНФ:
Пример 3:
Склеиваются два произведения, содержащие число переменных с отрицанием, отличающихся на единицу и расположенных соответствующим образом.
Обычно произведение, содержащее ' n ' букв, называется минтермом ' n '- ранга.
Метод минимизации ФАЛ по Квайну
Определение: Тупиковой ДНФ называется дизъюнкция простых импликант, ни одну из которых из выражения функции исключить нельзя.
Этот метод минимизации ФАЛ заключается в следующем:
- Находят Сок. ДНФ.
- Находят все возможные тупиковые ДНФ.
- Из найденных ТДНФ выбирают минимальную.
Иногда в Сок. ДНФ содержатся лишние импликанты. Как уже видели в сокращенной ДНФ:
импликанта \overline Х_{2}Х_{3} может быть исключена. Ни одной операции склеивания и поглощения к этой форме применить нельзя, т.к. это Сок. ДНФ, т.е. дизъюнкция простых импликант. Можно применить операцию развертывания по Х_{1}:
Т.к. покрывает
и покрывает , то
ТЕОРЕМА:
Всякая минимальная ДНФ является тупиковой. Обратное утверждение не справедливо. Доказательство очевидно.
Из этой теоремы вытекает важное следствие: Для того чтобы найти минимальную ДНФ, нужно найти все тупиковые формы и среди них взять минимальную.
Существует несколько различных способов отыскания тупиковых форм.