Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Замечательные классы булевых функций

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

К функциям, сохраняющим ноль, относятся

f(x1,x2)= x1 Ú x2 и f(x1,x2)= x1 × x2.

К функциям, не сохраняющим ноль, относятся f(x)= и f(x1,x2)=x1~ x2.

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

К функциям, сохраняющим единицу, относятся:

f(x1, x2)= x1 Ú x2 и f(x1, x2)= x1× x2.

К функциям, не сохраняющим единицу, относятся:

f(x)= и f(x1 ,x2)=x1 Å x2.

Булева функция называется линейной, если она представима полиномом Жегалкина первой степени.

В булевой алгебре доказывается теорема о возможности представления любой булевой функции от n переменных с помощью полинома Жегалкина n-ой степени.

В общем случае полином имеет вид:

f n(Х) = K0 Å K1x1 Å ... Å Kn xn Å ...

... Å Kn+1x1x2 Å Kn+2x1x3 Å ... Å Kn+lxn-1xn Å ...

...Å Kn+mx1x2...xn.

K0, K1,…, Kn+m - являются коэффициентами полинома и представляют собой логические константы Ki=0или Ki=1.

В алгебре Жегалкина одноименный полином (полином Жегалкина) можно считать аналогом канонической нормальной формы функции для булевой алгебры.

Полином Жегалкина является линейным (1-ой степени), если все коэффициенты общего полинома, начиная с Kn+1, равны нулю.

В отношении функции от двух переменных линейный полином Жегалкина имеет вид: f 2(Х)=K0 Å K1x1 Å K2x2.

Примерами линейных функций являются:

y= x1Å x2 (K0=0, K1=K2=1),

y= = x (K0=K1=1, K2=0).

Примеры нелинейных функций: y= x1× x2,

Булева функция называется монотонной, если при возрастании наборов аргументов она принимает неубывающие значения:

A=(a1,a2, ..., an) > B=(b1,b2, ..., bn f(A) ³ f(B).

Между наборами аргументов А и Вимеет место отношение возрастания в том и только том случае, если имеет место отношение неубывания для всех компонент этого набора:

ai ³ bi (i=1, 2, ..., n)

и, по крайней мере, для одной компоненты имеет место отношение возрастания.

Примеры наборов, для которых имеет место отношение возрастания:

(1011) > (0011)

(1011) > (0001)

(0001) > (0000).

Примеры несопоставимых наборов (1011) и (0111), (1000) и (0111).

В отношении функции от двух переменных несопоставимыми являются наборы (01) и (10)

Примеры немонотонных функций:

y = , y = x1Å x2.

Две булевы функции f n(Х) и gn(Х) называются двойственными, если для любых наборов аргументов выполняется равенство

то есть функции f и g на противоположных наборах аргументов Х и принимают противоположные значения.

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

Х = (0101) и = (1010).

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

Примером самодвойственной функции является: у = .

Примеры не самодвойственных функций: у=х1× х2, у=х1Ú х2, у=х1Å х2.

Принадлежность базовых булевых функций и логических констант к замечательным классам представлена табл. 2.10. Знаком “+” отмечена принадлежность функции соответствующему классу, а знаком “-” не принадлежность.

Из таблицы видно, что согласно теореме Поста, функции штрих Шеффера и стрелка Пирса являются функционально полными.

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

 

 

Функция К0 К1 КL КM КS
+ - + + -
- + + + -
- - + - +
х1× х2 + + - + -
х1Ú х2 + + - + -
х1Å х2 + - + - -
х1~ х2 - + + - -
х1 D х2 + - - - -
х1® х2 - + - - -
х1 | х2 - - - - -
х1¯ х2 - - - - -

 

 

Таблица 2.10. Принадлежность булевых функций к замечательным классам

 

2.15.3 Конструктивный подход к доказательству функциональной
полноты системы булевых функций

Подход базируется на следующей теореме булевой алгебры:

Теорема. Пусть система булевых функций {f1, …, fm} является функционально полной и любая из функций f1, …, fm может быть выражена с помощью суперпозиции через функции g1, …, gk. Тогда система булевых функций {g1, …, gk} также является функционально полной.

При этом в качестве исходной системы {f1, …, fm} обычно используется система S1 (булев базис).

Пример 2.18. Докажем функциональную полноту системы S5={|} (универсальный базис), выразив инверсию, конъюнкцию и дизъюнкцию с помощью только функции штрих Шеффера .

Таким образом, согласно приведенной теореме, система S5 является функционально полной.


Контрольные вопросы и задачи

1. Записать законы двойственности. Доказать один из них. (5)

2. Упростить выражение с использованием законов булевой алгебры. (2)

3. Является ли аналитическая форма булевой функции нормальной, и если является, то какой (дизъюнктивной или конъюнктивной)? (3) Может ли эта форма являться канонической, и если может, то какой (дизъюнктивной или конъюнктивной) и при каких условиях? (2)

4. Действует ли сочетательный закон в отношении операции запрета? Ответ обосновать. (5)

5. Записать функцию с помощью операций булева базиса. (2)

6. Записать функцию в канонических формах. (4)

7. Не пользуясь таблицей истинности, получить канонические формы булевой функции . (8)

8. Записать функцию в символической форме. (5)

9. Представить функцию в канонических формах. (6)

10. Сколько 1-кубов накрывается одним 4-кубом? Ответ обосновать. (5)

11. Записать все 2-кубы, которые накрываются кубом XX10X. (3)

12. Найти существенные импликанты булевой функции . (10)

13. Булева функция от четырех переменных принимает значение, равное нулю, на наборах (0, 7, 8, 13) и безразличное значение – на наборах (2, 6, 10, 14). Найти минимальную ДНФ этой функции. (10)

14. Привести пример минимального покрытия булевой функции от четырех переменных, для которого Sa =10, Sb=14. (6)

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

16. Для функции из примера 15 найти минимальную КНФ. (6)

17. Является ли покрытие булевой функции, состоящее из кубов 0X0, 10X, X00 минимальным? Ответ обосновать. (5)

18. Минимальное единичное покрытие булевой функции состоит из кубов 0X0 и X10. Найти минимальную КНФ. (6)

19. В отношении минимального покрытия сформулировать условия, при которых цена схемы с парафазными входами, построенной на элементах булева базиса по минимальной форме, совпадает с ценой Sa минимального покрытия. (3)

20. Перечислить все базовые функции булевой алгебры, сохраняющие константу 0. (3)

21. Является ли функция равнозначности нелинейной? Утверждение доказать. (3)

22. Является ли функция запрета монотонной? Утверждение доказать.(3)

23. Реализовать дизъюнкцию в базисе Жегалкина. (4)

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


Синтез комбинационных схем

Последнее изменение этой страницы: 2016-06-09

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...