- •1.8. Анализ и синтез релейных управляющих схем
- •1.8.1. Релейные схемы. Связь их физической структуры и функций проводимости с алгеброй логики
- •1.8.2. Проектирование рс
- •1.9. Применение алгебры логики к анализу логических рассуждений
- •1.10. Замкнутость и полнота систем функций
- •1.10.1. Операции суперпозиции и замыкания. Полнота, базис системы функций
- •1.10.2 Функции, сохраняющие константы. Классы т0 и т1
- •1.10.3. Самодвойственность. Класс s
- •1.10.4. Монотонность. Класс м
- •1.10.5. Линейность. Класс l
- •1.10.6. Критерий Поста полноты системы функций в алгебре логики
- •Контрольные задания по теме
- •Операция суперпозиции.
- •Замыкание и полнота систем функций.
- •Предполные классы в алгебре логики
- •1.11. Анализ и синтез функциональных схем
- •Пример 1. В качестве фэ приняты { , , }. Произвести анализ фс, физическая структура которой дана на рис.1.19.
- •10. Оптимизировать фс из фэ { , , }, приведеную на рис.1.25.
- •Контрольные задания по теме применение алгебры логики к анализу и синтезу релейных и функциональных схем, проверке правильности высказываний
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. Найти все шефферовы функции от двух переменных.