Определение.

Если булева алгебра M - двухэлементна (т. е. содержит только Ë и Î), то булевы функции называются двоичными функциями.

Если в двухэлементной булевой алгебре элементы Ë и Î интерпретировать как "включено" и "выключено", то двоичные функции называются переключательными функциями. При такой интерпретации Ë и Î обозначаются соответственно через 1 и 0.

Если M = {И, Л} - булева алгебра значений истинности, то булевы функции являются функциями истинности или функциями логики высказываний.

Переключательные функции одной переменной имеют вид

f: {0,1} à {0,1},

и может быть только четыре различных одноместных переключательных функций:

0: x à 0;

1: x à 1;

id : x à x , тождественная функция;

neg : x à Øx, функция отрицания.

Всякую переключательную функцию от n переменных можно задать таблицей из 2n строк, в которой в каждой строке записывают одну из оценок списка переменных, принимающих значение 0 или 1. Например, для n=3 переключательную функцию можно задать табл. 9

 

Таблица 9

X1 X2 X3 f(X1,X2,X3)
f(1,1,1)
f(1,1,0)
f(1,0,1)
f(1,0,0)
f(0,1,1)
f(0,1,0)
f(0,0,1)
f(0,0,0)

 

Так как длина каждого столбца равна 2n, а различных столбцов из 0 и 1 длины 2n имеется , то существует точно переключательных функций от n переменных. В частности, при n=2 имеем 16 различных переключательных функций.

Вопрос: Нельзя ли свести все переключательные функции к какому-нибудь меньшему числу "базисных" переключательных функций?

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

(двуместная конъюнкция) Ù : (x1, x2) à x1Ù x2 ;

(двуместная дизъюнкция) Ú : (x1, x2) à x1Úx2;

(одноместная функция отрицания) Ø : x à Øх.

Лемма 3.1. Для всякой n-местной переключательной функции f выполняется соотношение

f(a1, a2,…, ai-1, ai, ai+1,…, an) =

(aiÙf(a1, a2,…, ai-1, 1, ai+1,…, an)Ú (ØaiÙf(a1, a2,…, ai-1, 0, ai+1,…, an).

Для доказательства рассмотрим два случая.

Пусть ai=1, тогда Øai=0. Правая часть доказываемого соотношения равна (1Ùf(a1, a2,…, ai-1, 1, ai+1,…, an)Ú (0Ùf(a1, a2,…, ai-1, 0, ai+1,…, an). Первый член в дизъюнкции равен f(a1, a2,…, ai-1, 1, ai+1,…, an), а второй 0. Следовательно, правая часть равна f(a1, a2,…, ai-1, 1, ai+1,…, an), но точно такое же значение имеет левая часть.

Пусть ai=0. Совершенно аналогично получаем, что правая часть равна f(a1, a2,…, ai-1, 0, ai+1,…, an).

Эта лемма позволяет "выносить" переменную ai за знак переключательной функции. Последовательным применением леммы к a1, a2,…, an устанавливается

Теорема 3.1 (о булевой нормальной форме). Каждую переключательную функцию можно однозначно представить в следующей (дизъюнктивной) нормальной форме:

f(a1, a2,…, an) =

(a1Ùa2Ù…Ùan-1ÙanÙf(1,1,…,1,1))

Ú(Ø a1Ùa2Ù…Ùan-1ÙanÙf(0,1,…,1,1))

Ú( a1ÙØa2Ù…Ùan-1ÙanÙf(1,0,…,1,1))

….

Ú( Øa1ÙØa2Ù…ÙØan-1ÙanÙf(0,0,…,0,1))

Ú( Øa1ÙØa2Ù…ÙØan-1ÙØanÙf(0,0,…,0,0)).

Если f(a1, a2, …, an-1, an)=0, то соответствующий член, разумеется, выпадает из представления. Таким образом, всякая переключательная функция представима в виде дизъюнкции k, 0 £ k £ 2k, членов - так называемых совершенных конъюнкций, каждая совершенная конъюнкция - это n-местная конъюнкция, у которых все аргументы - либо сами переменные, либо их отрицания.

Пример 3.1. Переключательную функцию с таблицей значений

 

a1
a2
a3
f(a1,a2,a3)

 

можно представить в виде

f(a1,a2,a3) = (a1Ùa2Ùa3)Ú(Øa1ÙØa2Ùa3)Ú(Øa1Ùa2ÙØa3)Ú(a1ÙØa2ÙØa3).

Всего имеется 16 двуместных переключательных функций. Они распадаются на следующие группы:

Функция без совершенных конъюнкций

f(x1,x2) = 0

Функция со всеми четырьмя совершенными конъюнкциями

f(x1,x2) = (x1Ùx2)Ú(x1ÙØx2)Ú(Øx1Ùx2)Ú(Øx1ÙØx2) = 1

Четыре функции по одной совершенной конъюнкции

x1Ùx2 - конъюнкция

Øx1ÙØx2 - функция Пирса

x1ÙØx2 = x1x2

Øx1Ùx2 = x2x1

Четыре функции по три совершенных конъюнкции

x1Úx2 = (x1Ùx2)Ú(x1ÙØx2)Ú(Øx1Ùx2) - дизъюнкция

x1|x2 = (x1ÙØx2)Ú(Øx1Ùx2)Ú(Øx1ÙØx2) - штрих Шеффера

x1 É x2 = (x1Ùx2)Ú(Øx1Ùx2)Ú(Øx1ÙØx2)

x2 É x1 = (x1Ùx2)Ú(x1ÙØx2)Ú(Øx1ÙØx2)

Шесть функций по две совершенных конъюнкции

x1 ~ x2 = (x1Ùx2)Ú (Øx1ÙØx2) - эквивалентность

x1 + x2 = (x1ÙØx2)Ú(Øx1Ùx2) -симметрическая разность

(x1Ùx2)Ú(x1ÙØx2)

(Øx1Ùx2)Ú(Øx1ÙØx2)

(x1Ùx2)Ú(Øx1Ùx2)

(x1ÙØx2)Ú(Øx1ÙØx2)

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