Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания для 4_лаб_раб.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
160.26 Кб
Скачать

Переход от табличной формы задания булевых функций к аналитическим

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

Для получения СДНФ на основе таблицы истинности необходимо :

1) Каждый из входных наборов, на которых булева функция принимает значения 1, представить в виде элементарного произведения (конъюнкции), причем если переменная равна 0, то она входит в конъюнкцию с инверсией, а если 1 - то без инверсии.

2) Полученные элементарные конъюнкции объединяются знаками дизъюнкции.

Для получения СКНФ на основе таблицы истинности необходимо :

1) Каждый из входных наборов, на которых булева функция принимает значения 0, представить в виде элементарной логической суммы (дизъюнкции), причем если переменная равна 1, то она входит в дизъюнкцию с инверсией, а если 0 - то без инверсии.

2) Полученные элементарные дизъюнкции объединяются знаками конъюнкции.

В качестве примера рассмотрим булеву функцию трех переменных,   f (1,3,5,6,7)=1.   Ниже приведены таблица истинности и полученные на ее основе СДНФ и СКНФ.

  x1 x2 x3 

  f (x1, x2, x3)  

0   0   0

0

0   0   1

1

0   1   0

0

0   1   1

1

1   0   0

0

1   0   1

1

1   1   0

1

1   1   1

1

СДНФ  

f = 1 2x3 v 1x2x3 v x1 2x3 v x1x2 3 v x1x2x3 ; СКНФ  

f = ( x1 v x2 v x3 )· ( x1 v 2 v x3 )· ( 1 v x2 v x3 ).

Минимальные ДНФ и КНФ этой функции будут иметь вид :

ДНФ   f = x1x2 v x3 ;

КНФ   f = ( x1 v x3 )· ( x2 v x3 ).

Инверсные функции

Так как в булевой алгебре функции принимают только два значения 0 и 1, то существует особый класс функций, являющихся инверсными по отношению к рассматриваемым функциям, т.е. на тех наборах, где данная функция принимает значение 0 ( 1 ), инверсная функция принимает значение 1 ( 0 ) соответственно.

На основании закона Де-Моргана можно сформулировать правило получения инверсной функции.

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

Например, для ДНФ   f = x1x2 v x3,   = ( 1 v 2 )· 3 ; Полученную таким образом инверсную функцию называют обратной КНФ.

Для КНФ   f = ( x1 v x3 )· ( x2 v x3 ),   = 1 3 v 2 3 ; Полученную таким образом инверсную функцию называют обратной ДНФ.

Минимизация логических функций.

Используя законы булевой алгебры, можно преобразовывать исходные выражения в более простые (минимизировать их). По упрощенным выражениям можно построить техническое устройство, имеющее минимальные аппаратные затраты.

Минимизация производится с помощью применения законов склеивания и поглощения.

Пример.

Найти минимальную ДНФ функции Y=f (x1, x2, x3); f (0,2,3,4,5,7)=1.

Решение.

Построим таблицу истинности функции Y.

  x1 x2 x3 

  f (x1, x2, x3)  

0   0   0

1

0   0   1

0

0   1   0

1

0   1   1

1

1   0   0

1

1   0   1

1

1   1   0

0

1   1   1

1

По данным таблицы запишем аналитическое выражение:

Y= 1 2 3 v 1x2 3 v 1x2x3 v x1 2 3 v x1 2x3 v x1x2x3

Применим склеивание следующим образом: Fx v F = F

Получим:

Y= 1x2 v x2x3 v x1x3 v x1 2 v 2 3 v 1 3

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

Y1= 1x2 v x1x3 v 2x3;

Y2= 1x2 v x2x3 v x1 2 v 1 3;

Y3= 1x2 v x1x3 v x1 2 v 1 3;

Y4= 1 3 v x2x3 v x1 2;

Y5= 1 3 v 1x2 v x1x3 v x1 2.

Их приведенных зависимостей видно, что только функции Y1 и y4 являются минимальными формами функций, так как они содержат наименьшее число конъюнкций и имеют минимальный ранг этих конъюнкций.