Опубликован: 30.03.2005 | Уровень: специалист | Доступ: платный | ВУЗ: Национальный исследовательский ядерный университет «МИФИ»
Лекция 3:

Совершенные дизъюнктивные и конъюнктивные нормальные формы ФАЛ

< Лекция 2 || Лекция 3: 123 || Лекция 4 >

ТЕОРЕМА (без док-ва):

Любая ФАЛ может быть представлена единственным образом в Сок. ДНФ, т.е. записана в виде дизъюнкции простых импликант.

Сокращенная форма не означает, что эта форма является минимальной. Однако для практической реализации эта форма более удобна, чем совершенная.

Рассмотрим метод получения Сок. ДНФ, предложенный Квайном. Этот метод, и, в частности, теорема Квайна в явном и неявном виде входит практически во все методы минимизации.

Исходная форма функции – совершенная ДНФ.

ТЕОРЕМА Квайна:

Если в СДНФ в начале произвести все операции неполного склеивания, а затем все операции поглощения, то в результате получится сокращенная ДНФ.

Покажем, что, применяя операцию неполного склеивания, получим все простые импликанты функции. Введем операцию развертывания, которая обратна операции склеивания: это есть умножение каждого произведения на выражение вида (\overline Х \vee  X)=1.

Пусть \overline Х_{1}Х_{2} – простая импликанта некоторой f(Х_{1}, Х_{2}, Х_{3}) трех переменных. Тогда:

\overline Х_{1}Х_{2} (Х_{3}\vee \overline Х_{3})=\overline Х_{1} Х_{2} Х_{3} \vee  \overline Х_{1} Х_{2} \overline Х_{3}

получатся после многократного применения этой операции дизъюнкции конституент единицы исходной функции, т.е. ее СДНФ.

В эту форму, вообще говоря, могут входить несколько одинаковых членов, т.к. разные простые импликанты могут дать одинаковые конституенты единицы. Поэтому, отбросив в ДНФ лишние члены, получим ее СДНФ.

По отношению к СДНФ применяется операция неполного склеивания, т.к. одно и то же произведение, вообще говоря, может склеиваться с несколькими другими, давая различные импликанты, то чтобы не лишиться возможности провести все операции склеивания, приходится каждое произведение, которое участвовало в операции склеивания, оставить для других операций.

Пример:

f(Х_{1}, Х_{2})= Х_1\overline Х_{2}\vee  \overline Х_{1}Х_{2}\vee  \overline Х_{1}\overline Х_{2} = Х_1\overline Х_{2}\vee  \overline Х_{1}\ или\ \overline Х_{1}Х_{2}\vee  \overline Х_{2}

Таким образом после выполнения операции неполного склеивания получится не только дизъюнкция простых импликант, но и часть конституент единицы.

Если теперь провести все операции поглощения, то в полученной форме функции f останутся только простые импликанты. Покажем это. Пусть в результате операций склеивания получится член x, не являющийся простой импликантой.

Тогда x=y*z, где z – простая импликанта, которая так же должна входить в f, т.к. в нее входит x. Но z будет поглощать х, поэтому х не может входить в f. Это и доказывает теорему Квайна.

Замечание: Заметим, что теорема Квайна применяется по отношению к функции СДНФ.

Порядок получения Сок. ДНФ может быть следующим:

  1. Провести все операции неполного склеивания конституент единицы исходной СДНФ. Получатся произведения (n-1) ранга ; оставшиеся несклеенные конституенты единицы не могут участвовать в дальнейших склеиваниях.
  2. Провести покрытие всех полученных произведений и конституент единицы. Часть некоторых конституент единицы будет устранена.
  3. Продолжить, пока возможны операции 1) и 2).

Пример 1:

f(Х_{1}, Х_{2})= Х_{1}Х_{2}\vee  Х_{1}\overline Х_{2}\vee  \overline Х_{1}\overline Х_{2}

Если применим операцию полного склеивания, то получим:

или

f(Х_{1}, Х_{2})= Х_{1}\vee  \overline Х_{1}\overline Х_{2}

или

f(Х_{1}, Х_{2})= Х_{1}Х_{2}\vee  \overline Х_{2}

т.е. у нас нет возможности далее провести операцию.

Применим теперь операцию неполного склеивания:

f(Х_{1}, Х_{2})= Х_{1}\vee  Х_{1}Х_{2}\vee  Х_{1}\overline Х_{2}\vee  \overline Х_{1}\overline Х_{2}\vee \overline Х_{2} = Х_{1}\vee  \overline Х_{2}\vee  Х_{1}Х_{2}\vee  Х_{1}\overline Х_{2}\vee  \overline Х_{1}\overline Х_{2}

Простые импликанты: Х_{1}, \overline Х_{2}

Конституенты единицы: Х_{1}Х_{2}, Х_{1}\overline Х_{2}, \overline Х_{1}\overline Х_{2}

Теперь можем провести операции поглощения:

Х_{1} поглощает: Х_{1}, Х_{1}Х_{2}, Х_{1}\overline Х_{2}

\overline Х_{2}
				поглощает: \overline Х_{2}
				, Х_{1}\overline Х_{2}, \overline Х_{1}
					\overline Х_{2}

Т.е. сокращенная ДНФ

f(Х_{1}, Х_{2})= Х_{1}\vee \overline Х_{2} в данном случае она – минимальная форма.

Пример 2:

Пусть задана:

f(Х_{1}, Х_{2}, Х_{3})= Х_{1}\overline Х_{3} \vee  \overline Х_{1}\overline Х_{2} \vee  \overline Х_{1}\overline Х_{2} Х_{3}

Получим СДНФ:

f= Х_{1}\overline Х_{3} (\overline Х_{2} \vee  Х_{2})\vee \overline Х_{1}\overline Х_{2} (Х_{3}\vee \overline Х_{3})\vee \overline Х_{1}Х_{2} \overline Х_{3} =   Х_{1}Х_{2} \overline Х_{3} \vee  Х_{1}\overline Х_{2} \overline Х_{3} \vee  \overline Х_{1}\overline Х_{2} Х_{3} \vee  \overline Х_{1}\overline Х_{2} \overline Х_{3} \vee  \overline Х_{1}\overline Х_{2} Х_{3} =    Х_{1}Х_{2} \overline Х_{3} \vee  Х_{1}\overline Х_{2} \overline Х_{3} \vee  \overline Х_{1}\overline Х_{2} Х_{3} \vee  \overline Х_{1}\overline Х_{2} \overline Х_{3}

Теперь, имея СДНФ, можно получить сокращенную ДНФ:

f(X_{1},X_{2},X_{3})=\overline X_{1}\overline X_{2}X_{3}\vee \overline X_{2}\overline X_{3}\vee X_{1}\overline X_{3}

Пример 3:

\overline f(Х_{1}, Х_{2}, Х_{3})=\overline Х_{1}Х_{2} Х_{3}\vee \overline Х_{1}\overline Х_{2} Х_{3}\vee Х_{1}\overline Х_{2} \overline Х_{3}\vee  \overline Х_{1}\overline Х_{2} \overline Х_{3} \vee  Х_{1}Х_{2} \overline Х_{3} =     \overline Х_{1}Х_{3} \vee  \overline Х_{2}\overline Х_{3}  \vee  \overline Х_{1}\overline Х_{2}\vee  Х_{1}\overline Х_{3}

Склеиваются два произведения, содержащие число переменных с отрицанием, отличающихся на единицу и расположенных соответствующим образом.

Обычно произведение, содержащее ' n ' букв, называется минтермом ' n '- ранга.

Метод минимизации ФАЛ по Квайну

Определение: Тупиковой ДНФ называется дизъюнкция простых импликант, ни одну из которых из выражения функции исключить нельзя.

Этот метод минимизации ФАЛ заключается в следующем:

  1. Находят Сок. ДНФ.
  2. Находят все возможные тупиковые ДНФ.
  3. Из найденных ТДНФ выбирают минимальную.

Иногда в Сок. ДНФ содержатся лишние импликанты. Как уже видели в сокращенной ДНФ:

f(Х_{1}, Х_{2}, Х_{3})= Х_{1}Х_{3} \vee  \overline Х_{2}Х_{3} \vee  \overline Х_{1}\overline Х_{2 }

импликанта \overline Х_{2}Х_{3} может быть исключена. Ни одной операции склеивания и поглощения к этой форме применить нельзя, т.к. это Сок. ДНФ, т.е. дизъюнкция простых импликант. Можно применить операцию развертывания по Х_{1}:

f= Х_{1}Х_{3} \vee  \overline Х_{2}Х_{3} (Х_{1}\vee \overline Х_{1}) \vee  \overline Х_{1}\overline Х_{2} = Х_{1}Х_{3} \vee  Х_{1}\overline Х_{2} Х_{3} \vee  \overline Х_{1}\overline Х_{2} Х_{3} \vee  \overline Х_{1}\overline Х_{2}

Т.к. Х_{1}Х_{3} покрывает Х_{1}\overline Х_{2}Х_{3}

и \overline Х_{1}\overline Х_{2} покрывает \overline Х_{1}\overline Х_{2}Х_{3}, то f= Х_{1}Х_{3} \vee  \overline Х_{1}\overline Х_{2}

ТЕОРЕМА:

Всякая минимальная ДНФ является тупиковой. Обратное утверждение не справедливо. Доказательство очевидно.

Из этой теоремы вытекает важное следствие: Для того чтобы найти минимальную ДНФ, нужно найти все тупиковые формы и среди них взять минимальную.

Существует несколько различных способов отыскания тупиковых форм.

< Лекция 2 || Лекция 3: 123 || Лекция 4 >
Жаксылык Несипов
Жаксылык Несипов
Людмила Долгих
Людмила Долгих

Здравствуйте. В первой лекции курса "Логические и арифметические основы и принципы работы ЭВМу вас приведена классическая структурная схема ЭВМ. Если можно уточните, а как в классической архитектуре могла реализоваться прямая работа устройств ввода-вывода с оперативной памятью?  Если я правильно понимаю - это режим прямого доступа к памяти, в классической архитектуре он не предусмотрен.

Дмитрий Жилин
Дмитрий Жилин
Россия, Ул. Автостроителей 6