Класс линейных функций

Функция f (x1,...,xn) называется линейной, если полином этой функции имеет вид

f (x1,...,xn) = a0 Å a1 x1 Å...Åan xn , где ai {0,1} (i=0,1,...,n).

Например: x,`x – линейны, x1x2 - нелинейна.

Лемма 7. Из линейных функций суперпозицией можно получить только линейные функции.

Доказательство очевидно.

Следствие. Полная система функций должна содержать хотя бы одну нелинейную функцию.

Лемма 8. Из нелинейной функции f (x1,...,xn), констант 0, 1 и функций x,`x, y суперпозицией можно получить конъюнкцию двух переменных xy.

Доказательство. Так как функция f (x1,...,xn) нелинейна, её полином по модулю 2 содержит хотя бы один член с конъюнкцией двух переменных xi и xj. Члены полинома, представляющего функцию f (x1,...,xn) можно перегруппировать следующим образом:

f (x1,...,xn) = xi xj f1 (x1,...,xi-1 ,xi+1,...,xj-1, xj+1,..., xn) Å

Å xi f2 (x1,...,xi-1, xi+1,...,xj-1, xj+1,..., xn) Å

Å xj f3 (x1,...,xi-1, xi+1,...,xj-1, xj+1,..., xn) Å

Å f4 (x1,..., xi-1 ,xi+1,..., xj-1 , xj+1,..., xn),

где функция f1(x1,..., xi-1 ,xi+1,..., xj-1 , xj+1,..., xn) ≢ 0, т.е. существует набор (a1,..., a i-1, a i+1 ,..., aj-1, aj+1,..., an) такой, что

f (a1,..., a i-1, a i+1 ,..., aj-1, aj+1,..., an) = 1.

Подставляя этот набор в f (x1,...,xn), получим функцию c(xi, xj):

c (xi, xj) = f (a1,..., ai-1, xi, ai+1 ,..., aj-1, xj, aj+1,..., an) = xixj Å axi Å bxj Å g,

где

a = f2 (a1,..., ai-1, ai+1,..., aj-1, aj+1,..., an),

b = f3 (a1,..., ai-1, ai+1,..., aj-1, aj+1,..., an),

g = f4 (a1,..., ai-1, ai+1,..., aj-1, aj+1,..., an).

Рассмотрим функцию F (x, y) = c (x Åb, y Åa) = xy Å ab Å g.

Она получена суперпозицией c (xi, xj), x, y и `x (`x = x Å 1).

Если ab Å g = 0, то F (x, y) = xy,

а если ab Å g = 1, то`F (x, y) = xy.

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

Теорема 4 (о полноте). Для того чтобы система булевых функций {f1 (x11,..., x1p1),..., fs (xs1,..., xsps),…} была полна, необходимо и достаточно, чтобы она содержала функцию, не сохраняющую 0; функцию, не сохраняющую 1; несамодвойственную функцию; немонотонную функцию; нелинейную функцию.

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

(табл. 3.6).

Таблица 3.6 – Свойства функций двух переменных

Обозначение функции Наименование функции Свойства функции
Сохраняющая 0 Сохраняющая 1 Самодвойственность Монотонность Линейность
f1 = 0 Нулевая функция + - - + +
f2 = x1 x2 Конъюнкция + + - + -
f3 = x1 ® x2 Запрет x1          
f4 = x1 Повторение x1          
f5 = x2 ® x1 Запрет x2          
f6 = x2 Повторение x2          
f7 = x1 Å x2 Сложение по |2|          
f8 = x1 ٧ x2 Дизъюнкция          
f9 = x1 ¯ x2 Стрелка Пирса          
f10 = x1 ~ x2 Эквивалентность          
f11 =`x2 Отрицание x2          
f12 = x2 ® x1 Импликация x2 в x1          
f13 =`x1 Отрицание x1          
f14 = x1 ® x2 Импликация x1 в x2          
f15 = x1 | x2 Штрих Шеффера          
f16 = 1 Единичная функция          

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


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



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