Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 2-1_Б.doc
Скачиваний:
88
Добавлен:
27.03.2016
Размер:
2.76 Mб
Скачать

1.10.5. Линейность. Класс l

Определение. Функция f (х n) называется линейной, если она представима в виде полинома Жегалкина: f(хn ) = 0 1 х1  nхn , где 0 , 1 , ... , n — логические константы, принимающие значения 0 или 1 .

Множество линейных функций n переменных обозначают Ln, все множество линейных функций алгебры — L. Это множество является предполным классом в Р2. Если функция f L, то ее называют нелинейной. Проверить линейность любой функции можно путем её разложения ее в полином Жегалкина.

Из элементарных функций линейными являются константы 0 и 1, одноместные функции х их, двухместные функции  и .

В общем случае справедлива

Лемма о нелинейной функции

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

Доказательство. Из f (х n)  L следует, что ее можно представить в виде f (х n) = L(х n ) + N (х n ), где L(х n ) линейная часть (возможно, L(х n )  0 ), N (х n ) — нелинейная часть (N (х n ) 0).

Рассмотрим самое короткое произведение, содержащееся в нелинейной части N (х n ). Выделим в нём две произвольные переменные (допустим, начальные) и обозначим их х и у. Данное произведение можно представить в виде хухк1...хкs. Другие произведения, содержащие х и у, будут обязательно включать и другие сомножители хк(s+1) , . . . , хкm. Подставляя вместо переменных хк1, . . . , хкs константу 1, а вместо остальных (включая хк(s+1) , ... , хкm ) константу 0, получим функцию двух переменных F(x,у), которая в общем случае имеет следующий вид:

F(x,у) = ху +1 х +2 у +3 .

При 1 = 1 выполняем подстановку у =у, если 2 = 1, то выполняем подстановку х = х. В итоге получаем новую функцию F1 (x,у) = ху + 3 .

Если 3 = 0 , то искомое умножение получено, если 3 = 1 , то умножение получаем, навешивая общее отрицание:

F1 (x,у) = F2 (x,у) = ху.

ЗАДАЧИ

1. Почему линейны все функции, у которых число переменных не превышает 1?

2. Какие из перечисленных систем линейных функций образуют базис в L: а) {0, х у}, б) {1, х у} в) {0, 1, х у} ?

3. Доказать, что если f(хn) линейна и не является константой, то в векторе значений f(х n) всегда будет равное число значений 1 и 0. Верно ли обратное? Ответ обосновать.

4. Проверить линейность функций:

а) ху yz xz ; б) х у х у; в) (10110110); г) х у х у; д) (10011001); е) (0001100111111011).

5. Найти мощность класса Ln.

6. Сколько существует в Ln функций, существенно зависящих ровно от k (k n) своих переменных ?

7. Доказать замкнутость класса L .

8. Доказать предполноту класса L в Р2 , например, с использованием леммы о нелинейной функции и сведением дополненной системы к {f} = { , ,} .

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

Рассмотренные выше замкнутые классы функций Т0, Т1, S, M, и L исчерпывают все множество предполных классов в P2. Они являются независимыми в том смысле, что ни один из них не может быть выражен с помощью теоретико-множественных операций через остальные. Поэтому для любого непустого множества функций справедлива

Теорема 2.1.2 (Пост). Система функций {f} полна в P2 тогда и только тогда, когда она не содержится целиком ни в одном из замкнутых предполных классов Т0 ,Т1 ,S, M и L.

Доказательство. Необходимость. Пусть {f} полна в P2 ([{f}]=P2). Докажем, что {f} не содержится ни в одном из классов Т0 ,Т1 ,S, M и L. Допустим верно обратное и {f} входит полностью в один из этих классов, обозначим его через К. Но тогда [{f}] К P2 , т.е. имеет место строгое включение [{f}] P2, что противоречит определению полноты {f}.

Достаточность. Пусть {f} целиком не содержится ни в одном из классов Т0 , Т1 , S, M , L. Докажем ее полноту. Из условия невхождения следует, что в {f} можно выделить подмножество из пяти функций {f0, f1, fS, fM, fL}, таких, что f0 Т0 , f1 Т1 , fS S, fM M, fL L (функции не обязательно должны быть все различны). Для полноты достаточно доказать, что из этой подсистемы с помощью суперпозиции всегда можно выделить функции { ,  }, так как они образуют полную систему в P2.

Покажем, что из функций f0, f1, fS всегда можно получить константы 0 и 1. Из условий f0 Т0 , f1 Т1 следует: f0 (0,... ,0) =1, f1 (1,...,1) = 0. Рассмотрим все возможные варианты значений f0 и f1 на противоположных наборах и применим к этим функциям дублирующие подстановки вида f(х,х,...,х).

1. f0(1,...,1) = 1, f1(0,...,0) = 0. Дублирующие подстановки f0 (х, ... , х) и f1 (х, ... , х) дают новые функции, являющиеся искомыми константами: f0  1, f1  0.

2. f0 (1,...,1) = 1, f1(0,...,0) =1. Дублирующие подстановки дают: f0 1, f1 х. Подставляя далее, получим f1 (f0 (х)) 0.

3. f0 (1, ... ,1) = 0, f1 (0, ... ,0) = 0. Из дублирующих подстановок следует: f0 х , f1  0. Применяя взаимную подстановку, получим f0 (f1 (х)) 1.

4. f0 (1, ... ,1)=0, f1 (0, ... ,0) = 1. После дублирующих подстановок получим: f0 х , f1 х . По лемме о несамодвойственной функции из fS подстановкойх всегда можно получить одну из констант. Вторую получаем при помощи функциих .

Таким образом, доказано, что {0,1}[{f0, f1, fS}]. По лемме о немонотонной функции из fM путем подстановки констант 0,1 всегда может быть получена функциях. Отсюда следует: {0, 1,х} [{f0, f1, fS ,fM}]. По лемме о нелинейной функции из fL путем подстановки функций 0, 1,х всегда может быть получена функция умножения ху. В итоге получаем: { ,  } [{f0, f1, fS , fM , fL }]. Так как [{ ,  }] = P2 , то отсюда следует [{f0, f1, fS , fM , fL}]=P2 и [{f}]=P2 , что и требовалось доказать.

Пример 1. Проверить полноту системы функций {f} = {f 1 = х у , f 2 = х у } в P2 .

Решение. Используем теорему Поста. Функция f1 = х у не входит в классы S, L, но входит в классы Т0, Т1, M. Следовательно, у функции f2 = х у достаточно проверить ее вхождение в Т0, Т1, M. Так как f2 входит в Т1, то отсюда следует, что вся система {f} целиком содержится в Т1. Следовательно, по теореме Поста она не полна в P2.

Пример 2. Можно ли с помощью операции суперпозиции из системы функций {f}={f1 = (1010), f2 = (0110), f3 = (0011)} получить функции g1 = (1011), g2 = (1111).

Решение. Для наглядности решения рассмотрим таблицу истинности функций f1 , f2 , f3 и g1, g2. Переменные обозначим х и у.

x

y

f1

f2

f3

g1

g2

0

0

1

0

0

1

1

0

1

0

1

0

0

1

1

0

1

1

1

1

1

1

1

0

0

1

1

1

Как следует из векторов истинности, f1 =у, f2 = х у, f3 = х. Проверка вхождения данных функций в предполные классы показывает, что все они принадлежат классу L линенйых функций. Так как данный класс замкнут относительно операции суперпозиции, то её применение к функциям f1, f2, f3 будет давать только линейные функции.

Разложение функции g1 в полином Жегалкина дает выражение 1 у ху. Данная функция нелинейна и не может быть получена из системы {f} с помощью операции суперпозиции. g2 является линейной функцией - константой 1. Выражение для неё с использованием {f} может быть получено, например, в результате следующей подстановки: 1 = xx = f2(f3(х),f1 (х)).

Ответ:1) функция g1 не может быть получена из системы {f} с помощью операции суперпозиции, 2) g2 = f2(f3(х), f1(х)).

Cистема, состоящая из одной функции ху - ‘штрих Шеффера’, полна в P2. Это следует из возможности представления любой функции алгебры логики в виде ШНФ. Также данная функция не входит ни в один из предполных классов Т0 , Т1 , S, M и L .

Определение. Если система, содержащая одну функцию f, полна в P2, то функцию f называют шефферовой.

ЗАДАЧИ

1. Проверить полноту в P2 систем функций: а) {, ху}; б) {,}; в) { , ху z}; г) {, 1,}; д) {, 0}; е){,}; ж) { ,,}; з) {ху,ху}; и) {(1011), (10010110)}; к) {х у z, (1001)} ; л) {(1010), (11011101)}.

2. Дополнить систему функций до полной в P2 при помощи функций, не являющихся шефферовыми: а) {(1001), (0110)}, б) { , х уz}.

3. Проверить, можно ли только с помощью операции суперпозиции получить:

а) из функции (0001) функцию (1001);

б) из функции {ху} функцию ху ;

в) из функции {х у} функцию ху ;

г) из функций {ху, ху} функцию ху.

4. Найти все шефферовы функции от двух переменных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]