Полнота системы булевых функций

Система булевых функций {f1 (x11,...,x1p1),...,fs (xs1,...,xsps),...} называется полной, если для любой булевой функции f (x1,...,xn) можно построить равную её функцию, представляющую собой результат суперпозиции функций {f1,...,fs,...} и x1,...,xn .

Примеры полных систем булевых функций.

1. x1x2, x1 ٧ x2,`x1. Полнота следует из того, что для каждой функции можно построить совершенные ДНФ и КНФ.

2. x1x2,`x1. Полнота следует из п.1 и равенства х1 ٧ х2 = `х12 .

3. x1 ٧ x2, `x1. Полнота следует из п.1 и равенства х1х2 =`х1 ٧`х2 .

4. х1х2, х1 Å х2, 1. Полна, так как`х1 = х1 Å 1, а система x1x2,`x1 является полной (п.2).

Теорема 3. Любую булеву функцию f (x1,...,xn) можно представить в виде полинома

f (x1,x2,...,xn) = a0 Å a1x1 Å a2x2 Å...Å a2n-1x1…xn,

где ai Î{0,1}, i = 0, 1,...,2n-1.

Доказательство. Система функций х1х2, х1 Å х2, 1, 0 полна. Пользуясь правилами

A Å A = 0, A ∙ A = A, A Å 0 = A,

A ∙ 0 = 0, A ∙ 1 = A, A ∙ B = B ∙ A,

A Å B = B Å A, (A Å B) ∙ C = A ∙ C Å B ∙ C,

которые легко проверить, получим представление функции в виде полинома по модулю 2.

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

Как обнаружить полноту или неполноту булевых функций? Для решения этого вопроса познакомимся с пятью классами булевых функций.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: