Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по Архитектуре и организации ЭВМ.doc
Скачиваний:
128
Добавлен:
20.06.2014
Размер:
6.09 Mб
Скачать

Понятие покрытия

Определение.Если на каком-либо наборе f принимает значение а1, а– значение а2, то говорят, что f своим значением а1покрывает значение а2функции.

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

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

Так, каждое элементарное произведение, входящее в СДНФ, покрывает только одну единицу функции.

Например:

f(Х1, Х2)= Х1Х2Х1Х2Х1Х2

1 1 1

Эти единицы функции могут быть накрыты более короткими произведениями: Х1накрывает две единицы: Х1Х2и Х1Х2и Х2, которое накрывает также две единицы: Х1Х2и Х1Х2, т.е.

f(Х1, Х2)= Х1Х2

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

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

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

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

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

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

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

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

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

Х1Х23Х3)=Х1Х2Х3Х1Х2Х3

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

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

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

Пример:

f(Х1, Х2)= Х1Х2Х1Х2Х1Х2= Х1Х2Х1или Х1Х2Х2

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

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

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

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

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

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

  2. Провести покрытие всех полученных произведений и конституент единицы. Часть некоторых конституент единицы будет устранена.

  3. Продолжить, пока возможны операции 1) и 2).

Пример 1:

f(Х1, Х2)= Х1Х2Х1Х2Х1Х2

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

или

f(Х1, Х2)= Х1Х1Х2

или

f(Х1, Х2)= Х1Х2Х2

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

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

f(Х1, Х2)= Х1Х1Х2Х1Х2Х1Х2Х2= Х1Х2Х1Х2Х1Х2Х1Х2

Простые импликанты: Х1, Х2

Конституенты единицы: Х1Х2, Х1Х2, Х1Х2

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

Х1поглощает: Х1, Х1Х2, Х1Х2

Х2поглощает: Х2, Х1Х2, Х1Х2

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

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

Пример 2:

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

f(Х1, Х2, Х3)= Х1Х3Х1Х2Х1Х2Х3

f(Х1, Х2, Х3)= Х1Х3Х1Х2Х1Х2Х3

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

f= Х1Х32Х2)Х1Х23Х3)Х1Х2Х3= Х1Х2Х3Х1Х2Х3Х1Х2Х3Х1Х2Х3Х1Х2Х3= Х1Х2Х3Х1Х2Х3Х1Х2Х3Х1Х2Х3

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

f(X1,X2,X3)=X1X2X3X2X3X1X3

Пример 3:

f(Х1, Х2, Х3)=Х1Х2Х3Х1Х2Х3Х1Х2Х3Х1Х2Х3Х1Х2Х3= Х1Х3Х2Х3Х1Х2Х1Х3

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

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