____________УЧЕНЫЕ ЗАПИСКИ КАЗАНСКОГО УНИВЕРСИТЕТА
Том 156, кн. 3 Физико-математические науки
2014
УДК 519.716
О КЛАССАХ ФУНКЦИЙ к-ЗНАЧНОЙ ЛОГИКИ, ПРИНИМАЮЩИХ НЕ БОЛЕЕ ТРЕХ ЗНАЧЕНИЙ
Д.К. Подолько
Аннотация
В работе для функций к-значной логики при к = 2m, m > 2, рассмотрен оператор в-замыкания, который определен на основе кодирования данных функций в двоичной системе счисления. Построено отображение семейства всех в -замкнутых классов в семейство замкнутых классов булевых функций и для каждого класса B булевых функций исследована мощность множества в-замкнутых классов, которые отображаются в класс B и содержат только функции, принимающие не более трех значений.
Ключевые слова: многозначная логика, замкнутые классы, оператор замыкания, бета-замыкание, усиление суперпозиции, двоичная суперпозиция.
1. Основные определения и результаты
Известно [1, 2], что семейство классов функций к-значной логики, замкнутых относительно операции суперпозиции, является континуальным при к > 3. Для изучения этого семейства используются различные подходы, которые условно можно разделить на два направления: исследование классов, обладающих конкретными свойствами (см., например, [3-6]), и изучение специальных операций, которые являются усилениями операции суперпозиции и позволяют получить семейства замкнутых классов с более обозримой структурой (см., например, [7-9]).
Настоящая работа относится ко второму направлению исследований. В ней изучаются свойства оператора в-замыкания (основные определения приведены ниже, а также в работах [10, 11]). Семейство в-замкнутых классов, содержащих только функции, принимающие не более двух значений, является счетным [10]. В работе [11] показано, что семейство в-замкнутых классов функций, принимающих не более трех значений, уже является континуальным. В настоящей работе для каждого класса B булевых функций устанавливается, является ли конечным, счетным или континуальным семейство в-замкнутых классов, которые имеют булево замыкание B и содержат только функции, принимающие не более трех значений.
Сформулируем основные определения (подробнее см. [10]). Пусть к = 2т, где m > 2. Тогда каждое число а из множества {0,1,... ,к — 1} можно записать в двоичной системе счисления. Это означает, что ему взаимно-однозначно сопоставляется двоичный вектор (ai,..., ат) из {0,1}m, который будем обозначать через (ai,..., am). Переменной x, принимающей значения из множества {0,1,... ,к — 1}, можно поставить в соответствие вектор-переменную (xi,..., xm), где xi,..., xm являются переменными, принимающими значения из множества {0,1}, таким образом, что каждому значению а переменной x ставится в соответствие значение (ai,...,am) вектор-переменной (xi ,...,xm). Данную вектор-переменную будем обозначать также через ж.
Обозначим через Pk множество всех функций к-значной логики. При рассматриваемых нами значениях к можно взаимно-однозначно сопоставить произвольной
98
О КЛАССАХ ФУНКЦИЙ K-ЗНАЧНОЙ ЛОГИКИ
99
n-местной функции F(x1,. .., xn) из Pk вектор-функцию (fi,. .., fm), где функции fi,..., fm являются булевыми и каждая из них зависит от всех булевых переменных xj,..., xjm, j = 1,... ,n (здесь xj = (xj,..., xjm)). Данную вектор-функцию будем также обозначать через F((xj,... ,xlmj),..., (x'n,..., xjjj)) или F.
Описанные представления будем называть двоичным представлением числа а, переменной x и функции F соответственно.
Пусть F е Pk и F = (fi,...,fm). Каждую из функций fi,...,fm будем называть компонентой функции F. Компоненту функции F, расположенную на i-м месте, будем обозначать через bi(F), i = 1, . . . , m, а множество всех компонент -через b(F). Обозначим также через D(F) множество значений функции F.
Пусть A С Pk. Класс булевых функций, совпадающий с замыканием множества b(F) относительно операций суперпозиции и введения несущественной
F ед
переменной, будем называть булевым замыканием множества A и обозначать через B (A).
Будем говорить, что функция H из Pk получена из функций множества A при помощи операции двоичной суперпозиции, если найдутся функция F из множества A и функции gi,..., gmn из множества B(A) (здесь n - число переменных функции F) такие, что выполняется следующее равенство:
H F ((g1, . . . , gm), . . . , (gm(n-1)+1, . . . , gmn) } .
Множество всех функций, которые могут быть получены из функций системы A при помощи операций двоичной суперпозиции и введения несущественной переменной, будем называть в -замыканием множества A и обозначать через [A\g. В работе [10] установлено, что введенный таким образом оператор удовлетворяет всем необходимым свойствам оператора замыкания. Множество A назовем в-замкнутым, если выполняется равенство [A\g = A.
Для каждого r, 1 < r < к, через Pk\r обозначим множество всех функций из Pk , принимающих не более r значений. Обозначим также через С(к, г) множество всех замкнутых классов B булевых функций, для которых семейство различных в-замкнутых классов A функций из Pk\r, удовлетворяющих условию B(A) = B, является конечным, а через Q(k,r) - множество всех классов булевых функций, для которых такое семейство в-замкнутых классов является континуальным.
Из результатов работы [10] следует, что для каждого класса B булевых функций семейство всех в-замкнутых классов функций из Pk|2 с булевым замыканием B является конечным (и непустым), то есть выполняется соотношение B е C(к, 2) для всех к = 2m, m > 2. Тем самым устанавливается счетность семейства в-замкнутых классов функций из Pk|2 .В работе [11] показано, что если класс B содержится хотя бы в одном из классов M, Toi, L или S (обозначения для классов взяты из [12]), то B е C(k, 3). В [11] также доказано, что классы Oи Iх1 содержатся во множестве Q(k, 3), где через Ox обозначается класс булевых функций, мажорирующих хотя бы одну из своих переменных, а через Iх - класс, двойственный к Ox. Поэтому для всех k = 2m, m > 2, имеют место соотношения
{Ох, Iх} С Q(k, 3) С {Ох, Iх} и {оф I» | g > 2} U {P2, To, Tj}.
Здесь для каждого g > 2 через О» обозначен класс булевых функций, содержащий все функции f такие, что у любых g наборов, на которых функция f равна 0, имеется общая нулевая компонента, а через I» - двойственный ему класс. Основным результатом настоящей работы является доказательство следующих равенств:
Q(k, 3) = {Ох, Iх} U {O»,I» | g > 3},
C(k, 3) = {B С P2 | [B] = B, Be Q(k, 3)}.
100
Д.К. ПОДОЛЬКО
2. Классы с булевым замыканием , у, > 3
Для класса Ом булевых функций, где у > 3, примером базиса является множество {xi VХ2, V Xi & Xj} (см., например, [12]). Для каждого у > 3 определим
1<i<j<^+1
функции S(x1,x2) и Sм(х1 ,... ,x^+v) из Pk через их двоичное представление:
bt (S) = x'1 V x2, t = 1,... ,m;
bt(S^) = У xi1 & xj1, t =1,...,m.
1<i<j<^+1
Поскольку все компоненты данных функций равны между собой, то выполняется соотношение D(S) = D(Sм) = {0, к — 1}. Верно также равенство B({S,Sм}) = Ом.
Для каждой пары чисел n и a, удовлетворяющих неравенствам n > a > 1, определим n-местную булеву функцию wn :
<(а)
0, если среди компонент а меньше а единиц; 1 в противном случае.
Для каждого числа n, n > 3, определим функцию Wn из Pk, зависящую от переменных х1, ..., x2n+2, через ее компоненты:
b1 (Wn) w2n+2(x1, . . . , Х1
2n+1 2n+2
bi(Wn) = x2n+2 V ^Пп++\(х1, ..., x2n+1) V b1(Wn)
,n+W^1
2n+1 N
);
г
2,...,m.
Будем обозначать b1(Wn) через un, а bi(Wn), г = 2,..., m, - через vn . Поскольку компоненты функции Wn существенно зависят только от булевых переменных x1,..., х\п+1 и Xyk+2 , то будем обозначать эти переменные через Х1,..., X2n+1 и у соответственно. Тогда компоненты функции Wn принимают вид:
un W2n + 2 (x1, ... , X2n+1, у); vn у V w2n+1 (x1, ... , X2n+1) V un.
Докажем некоторые свойства функций Wn .
Свойство 1. Для любого n > 3 справедливо включение un G MOn, где через MOn обозначен класс M П Т0 П On булевых функций.
Доказательство. Функция un является монотонной и на нулевом наборе принимает значение 0. Поэтому un G Mo . Покажем, что un G On . Для этого рассмотрим произвольные n наборов из E'm'ly'2n+'2\ на которых функция un равна 0. Каждый из таких наборов содержит не более 2 единиц среди компонент под номерами 1, m + 1,..., 2mn + 1, m(2n + 1) + 1 (данным компонентам соответствуют переменные Х1,Х2,... ,X2n+1,y соответственно), а значит, общее число единиц среди рассматриваемых компонент не превышает 2n. Поэтому в этих наборах как минимум две из рассматриваемых компонент будут равны 0. Следовательно, un G MOn . Несложно также показать, что un G MO0+1. □
Свойство 2. Для любого n > 3 справедливо включение vn G O.
Доказательство. Функция vn мажорирует переменную y, а значит, принадлежит классу O. □
Свойство 3. Для любого n > 3 функция Wn принимает три значения.
О КЛАССАХ ФУНКЦИЙ K-ЗНАЧНОЙ ЛОГИКИ
101
Доказательство. Так как Ъ-2(Wn) = ■ ■ ■ = bm(Wn), то двоичное представление функции Wn может принимать только значения из множества
{(0, 0,..., 0), (0,1,..., 1), (1, 0,..., 0), (1,1,..., 1)}.
Поскольку верно равенство un V vn = 1, то Wn не может принимать значения (0,0,..., 0). Несложно показать, что Wn принимает остальные три значения, рассмотрев набор из E2 , содержащий ровно три единицы среди его компонент
c номерами 1, m + 1,..., 2mn +1, а все остальные компоненты которого равны 0, а также нулевой и единичный наборы. □
Лемма 1. Для любого n > 3 верно соотношение
Wn
{s}U{s^ I м > 3}U W | * > 3, * = n}
- в
Доказательство. Множество {S} |J{SM | м > 3} U {Wi | * > 3, * = n} обозначим через A. Из свойств функций S и S^, м > 3, и Wi, * > 3, вытекает, что
B(A) = O3 .
Предположим, что Wn G [A]в. Тогда найдутся функция H из множества A и функции qi,..., qmi из множества B(A) (здесь l - число переменных функции H) такие, что выполняется следующее равенство:
Wn H ((q1, . . . , qm) , . . . , (qm(l — 1)+1, . . . , gml ^ . (1)
Так как ID(Wn)| = 3, то функция H должна принимать как минимум три
значения. Поэтому H = S и H = Sм для всех м > 3. Значит, H равна Wp для
некоторого числа p, p > 3, p = n, а следовательно, l = 2p + 2.
Для каждого *, 1 < * < 2p +1, булеву функцию qm(i—i)+i обозначим через gi, а функцию qm(2p+i)+i - через h. Каждая из данных функций принадлежит классу O3, и без ограничения общности можно считать, что переменными данных функций являются только существенные переменные для компонент Wn (если есть несущественные, то их можно заменить на произвольную существенную переменную, и при этом нужное равенство сохранится). Поэтому функции 91,..., 92p+i, h зависят только от переменных из множества {xi,... ,X2n+i,y}. В новых обозначениях равенство (1) можно записать следующим образом:
un Ш2p+2 (g1, . . . , g2p+1, h); (2)
vn = h V Wpp+1 (9l, . . . ,92p+1) V ^3p+2(9i,...,92p+1,h). (3)
Покажем сначала, что функция h мажорирует функцию xi & у для любого * = = 1,..., 2n +1. Для этого рассмотрим наборы 72n+i,i, 72n+i,2 и 72n+i из E2n+2 , указанные в табл. 1.
Табл. 1
Наборы 72n+1,1, 72п+1,2 и 72n+1
1 n n +1 2n 2n + 1 2n + 2
72n+1,1 1 1 0 0 0 0
72n+1,2 0 0 1 1 0 0
72n+1 0 0 0 0 1 1
На наборах 72n+i,i, 72n+i,2 функция vn равна 0, так как компонента 72n+2, соответствующая переменной y, равна 0, а среди остальных компонент ровно n
102
Д.К. ПОДОЛЬКО
единиц. Поскольку vn > h, то h(72n+i,i) = h(72n+i,2) = 0. Если функция h равна 0 на каком-нибудь наборе 7', большем или равном 72n+i, то у наборов 72П+1,ь 72n+i,2j 7' не будет общих нулевых компонент, а следовательно, h ф O3, что неверно. Поэтому h > X2n+i & у. Аналогичным образом можно установить, что функция h мажорирует функцию Xi & у для любого i = 1,..., 2n.
Покажем теперь, что для каждого числа i, 1 < i < 2n + 1, найдется число ji, 1 < ji < 2p +1 такое, что gj. > xi & у. Для этого снова рассмотрим наборы 72n+i,i, 72n+i,2 и 72n+i. На наборах 72n+i,i и 72n+i,2 функция Vn равна 0, а значит, среди значений gi(72n+i,c),..., g2p+i(72n+i,c) должно быть не более p единиц, с = 1, 2. Так как число функций gi,..., g2p+i равно 2p +1, то среди них найдется функция, равная 0 на наборах 72n+i,i и 72n+i,2 . Допустим, что это функция gj2n+1, где 1 < j2n+i < 2p+1. Поскольку gj2n+1 Ф O3, то данная функция равна 1 на любом наборе, большем или равном набору 72n+i. Значит, gj2n+1 > X2n+i & у. Аналогичные утверждения можно получить и для i = 1,..., 2n.
Предположим, что среди функций gi,..., g2p+i найдутся как минимум две функции, равные 1 на наборе 72n+i. На данном наборе функция h равна 1, а значит, w2p+2(gi(72n+i), ... ,g2p+i(72n+i), h(72n+i)) = 1 .Но Un(72n+i) = о, следовательно, un = wfp+2(gi, ... ,g2p+i ,h). Пришли к противоречию. Поэтому среди функций gi,...,g2p+i не может существовать двух функций, мажорирующих функцию X2n+i & у. Таким образом, для каждого числа i, 1 < i < 2n +1, найдется ровно одно число ji, 1 < ji < 2p +1 такое, что выполняется неравенство gj. > xi & у.
Предположим, что среди функций gi,... ,g2p+i найдется функция, которая не мажорирует функцию xi & у для всех i = 1,..., 2n +1. Обозначим данную функцию через g . Покажем, что в этом случае не выполняется как минимум одно из равенств (2) или (3).
Обозначим через M(n) семейство всех подмножеств множества {1,..., 2n +1} мощности n. Каждому множеству A = {ai,..., an} из M(n) сопоставим набор из E^n+2, у которого компоненты с номерами ai,... ,an равны 1, а остальные компоненты равны 0. Такой набор будем обозначать через A. Отметим, что у данного набора компонента с номером 2n + 2, соответствующая переменной у, равна 0.
Рассмотрим множества A, B Ф M(n). Предположим сначала A f] B = 0. Через r обозначим число из множества {1,..., 2n +1}, которое не входит в A [J B. Рассмотрим наборы A, B, а также набор 7Г, у которого только компоненты с номерами r и 2n + 2 равны 1. Если g(A) = g(B) = 0, то справедливо соотношение g > xr & у (доказательство аналогично доказательству соотношения h > x2n+i & у), что неверно в силу выбора функции g.
Предположим, что g(A) = g(B) = 1. Так как vn(A) = vn(B) = 0, то среди значений gi(A),..., g2p+i(A) содержится не более p единиц, как и среди значений gi(B),..., g2p+i(B). Так как g = gj для некоторого j, 1 < j < 2p +1, и g(A) = 1, то среди значений gi(^4), ... , gj_i(A),gj+i(A), ... ,g2p+i(7l) содержится не более p— 1 единиц. Аналогично и для набора В. Значит, как минимум две функции среди gi, ... ,g2p+i равны 0 на наборах A и B. Но тогда обе эти функции должны мажорировать функцию xr & у, что неверно в силу доказанных выше утверждений. Таким образом, для любых множеств A и B из M(n), удовлетворяющих условию A р| B = 0, выполняется соотношение g(A) = g(B).
Ровно на одном из множеств {1,... ,n}, {n + 1,..., 2n} функция g равна 1. Аналогично для множеств {2, ... ,n + 1}, {n + 2, ... , 2n +1}. Поэтому существуют два различных множества A и B из M(n) , для которых справедливы равенства g(A) = g(B) = 1. По доказанному выше данные множества пересекаются. Построим на их основе два множества A' и B' из M(n), для которых g(A') = g(B') = 1 и чье пересечение равно одному числу.
О КЛАССАХ ФУНКЦИЙ K-ЗНАЧНОЙ ЛОГИКИ
103
Пусть А р| В = {ci,...,cq} для некоторого q > 1. Тогда верны равенства А = {c1:...,Cq ,a1;...,an-q} и В = {c1:...,Cq ,b1,...,bn-q}, где множества {ai,..., an-q} и {bi,..., bn-q} не пересекаются. Через ri,..., rq+i обозначим все числа от 1 до 2п +1, не входящие в А У В (их количество равно 2п+1 — п — (n — q), то есть q + 1).
Доказательство будем вести индукцией по значению числа q. Если q =1, то А и В и есть искомые множества. Предположим, что мы построили искомые множества для всех чисел s, 1 < s < q. Построим их и для числа q. Для этого рассмотрим
множества Al = {ci, . . .,cq-1,ai, . . .,an-q ,ri} и Bi = {cq ,bl, . . . ,bn-q ,Г2, ...,rq}.
Так как Ai p| Bi = 0, то ровно на одном из наборов Ai и Bi значение функции g равно 1. Если g(Bi) = 1, то А р| Bi = {cq}, и А и Bi - искомые множества. Если g(Ai) = 1, то А1 П B = {ci,..., cq-i}, и по предположению индукции из множеств А1 и B можно получить множества А' и B', для которых g(A') = g(B') = 1 и чье пересечение равно одному числу.
Рассмотрим теперь множества А' и B' из M (п), для которых верны равенства g(A') = g(B') = 1 и А' р| B' = {c} для некоторого c из множества {1,..., 2п +1}. Тогда А' = {c, ai,.. .,an-i}, B' = {c,bi,..., bn-i} и {ai,..., an-i} f| {bi,.. .,bn-i} = = 0 . Через ri, Г2 обозначим числа от 1 до 2n+1, не входящие в A' B'. Положим
А" = {ai,...,an-i,ri}, B" = {bi,... ,bn-i,r2}.
Так как А'' р| B'' = 0, то ровно на одном из наборов А'' и В'' значение функции g равно 1. Без ограничения общности будем считать, что g(A'') = 1. Для множеств А'' и В' справедливы соотношения А'' р| В' = 0 и g(A'') = g(B') = 1. Но это неверно в силу свойств функции g. Значит, такой функции g не существует. Поэтому среди функций gi,..., g2p+i нет функций, которые не мажорируют хотя бы одну из функций Ж1 & у, . . . , X2n+1 & у.
Предположим, что p > п. Так как каждая из функций gj, 1 < j < 2p +
+ 1, мажорирует функцию xij & у для некоторого ij, 1 < ij < 2п +1, то найдется такое число i, 1 < i < 2п +1, что функцию Xi & у мажорируют несколько функций из множества gi,...,g2p+i. Но это неверно по доказанным свойствам для этих функций, и, следовательно, p < п.
В силу неравенства p < п среди функций gi,... ,g2p+i найдется функция, которая мажорирует хотя бы две функции из множества {xi & у | i = 1,..., 2п +1}. Обозначим эту функцию через g', а мажорируемые ей функции из заданного множества через xSl & p,...,xsd & у, 2 < d < 2п +1. Так как функции gi,...,g2p+i мажорируют различные функции из рассматриваемого множества, то d < 2п +1 —
— 2p < 2п. _ _
Пусть А, В е M (п), ^р|В = 0 и s1 </ А У В. Рассмотрим наборы А и В, а также набор 7Sl. Предположим, что g'(A) = 1 или g'(B) = 1. Так как vn(а4) =
= vn(B) = 0, среди значений gi(^4),..., g2p+i(^4) содержится не более p единиц, как и среди значений gi (В),..., g2P+i(-B). Тогда среди функций gi,..., g2p+i найдется функция, которая равна 0 на наборах А и В, следовательно, эта функция мажорирует функцию xSl & у. Но функцию xSl & у может мажорировать только одна из функций gi,..., g2P+i, которой уже является функция g'. Значит, g'(A) =
= g'(В) = 0. Обобщая данное утверждение, получим, что для любого множества А из M(п), которое удовлетворяет условию t / А, где t е {si,..., s^}, справедливо равенство g'(A) = 0.
Так как d < 2п, то найдется число e, 1 < e < 2п +1, такое, что g' не мажорирует функцию xe & у. Без ограничения общности будем считать, что e = 2п +1. Рассмотрим подмножества А и В из M(п), которые не содержат числа 2п + 1 и не пересекаются. Тогда g'(A) = g'(В). Это утверждение доказывается аналогично
104
Д.К. ПОДОЛЬКО
соответствующему утверждению для рассмотренной выше функции g.
Как и в случае с функцией g, найдутся два различных пересекающихся подмножества A и B множества {1,2n}, для которых g(A) = g(B) = 1. На основе данных множеств можно построить два множества A и B', удовлетворяющих условию g'(А) = g'(B') = 1 и чье пересечение состоит из одного числа. Доказательство данного утверждения проводится аналогично доказательству соответствующего утверждения для функции g, но с одним отличием - при доказательстве шага индукции в качестве числа rq+i необходимо взять число 2n +1.
Рассмотрим теперь подмножества A и B' из M(n), которые не содержат число 2n +1 и удовлетворяют равенствам g'(A') = g'(B') = 1 и |A'p| B'| = 1. Тогда верно хотя бы одно из соотношений: {si,S2} ^ A, {si,s2} ^ B'. Пусть, без ограничения общности, si G A. Тогда A' G M(n) и si </ A, и в силу свойств функции g' выполняется равенство g'(A') = 0. Пришли к противоречию, а значит, каждая из функций gi, ... , g2p+i мажорирует ровно одну функцию из множества {xi & y | i = 1, ... , 2n +1} и p должно равняться n. Поэтому не может выполняться соотношение (1) и функция Wn не содержится во множестве [А\д. □
Теорема 1. Пусть k = 2m, где m > 2. Тогда для каждого р > 3 справедливо соотношение {Oм, А} С Q(k, 3).
Доказательство. Определим в-замкнутый класс функций k-значной логики W»(Т) для каждого подмножества T множества {р, р + 1, р + 2,... }:
W^(T) = {S}U {^ | v > р}11{^ | iGT}
В силу свойств функций S и Sv, v > 3, верно соотношение B({S,SV}) = Ov, а в силу свойств функций Wi, i > 3, - соотношение B({Wi}) С O1. Поэтому для всех подмножеств Т множества {р, р + 1, р + 2,... } верно равенство B(W^(T)) = Oм. Очевидно также, что W^(T) С Pk\3 .
Рассмотрим различные подмножества R и Q множества {р, р + 1, р + 2,... }. Найдется число n такое, что n G R\Q или n G Q\R. Пусть, без ограничения общности, n G R\Q. Тогда Wn G W^(R). Покажем, что Wn G W^(Q).
По определению множеств W^(T) справедливо соотношение W^(Q) С W[n],
. Согласно лемме 1 функция
где W[n] =у{S} U {Sv | v > 3} U {Wi | i > 3,i = n)
Wn не содержится во множестве W[n], а значит, Wn G W^(Q). Таким образом, для различных подмножеств R и Q множества {р, р + 1, р + 2, . . . } различны и в-замкнутые классы функций W^(R) и W^(Q). Так как семейство различных подмножеств множества {р, р + 1, р + 2, . . . } континуально, семейство различных в-замкнутых классов функций из Ррз с булевым замыканием Oм тоже континуально.
Поскольку класс А является двойственным к классу Oм, для А имеет место аналогичное утверждение. □
в
3. Классы с булевым замыканием P2, To, Ti, O'2, Т2
Пусть f,fi,...,fp - булевы функции, зависящие от одного и того же множества переменных. Функцию f будем называть функционально зависимой от функций fi,...,fp, если существует p-местная булева функция g такая, что f = = g(fi,...,fp). В противном случае функцию f будем называть функционально независимой от функций fi,...,fp. Функции, реализующие константы 0 и 1, будем считать функционально зависимыми от пустого множества функций. Если для всех чисел j, 1 < j < p, функции fj являются функционально независимыми
О КЛАССАХ ФУНКЦИЙ K-ЗНАЧНОЙ ЛОГИКИ
105
от функций fi,.., то множество функций {fi,..., fp} назовем функционально независимым.
Пусть F е Pk и F = (fi,...,fm). Множество компонент {fh, . . . , fip} будем называть базой функции F, если данное множество является функционально независимым, а остальные компоненты функции F являются функционально зависимыми от функций fi1 ,...,fip .В [11] показано, что если \D(F )| = r и {fh,..., fip } -база функции F, то выполняются соотношения [log2 r\ < p < r — 1.
Лемма 2. Пусть R C Pk, B(R) = O2, F е Рщз и b(F) C O2. Тогда су-
ществует функция G из множества [{F}\р, которая зависит не более чем от 16 переменных и такая, что F е [{G} U R]p .
Доказательство. Двоичное представление функции F обозначим через (fi,..., fm), а переменные, от которых зависят компоненты функции F, - через xi,... ,xmn (здесь n - число переменных функции F).
Если p - число функций в базе функции F, то из результатов, полученных в[11], следуют неравенства [log2 \D(F)\\ < p < \D(F)\ —1, а значит, p = 2. Без ограничения общности будем считать, что функции fi и f2 образуют базу функции F. В этом случае вектор-функция (fi, f2) принимает три значения, а поскольку все компоненты функции F принадлежат классу O2, то на наборе 5ц = (1,..., 1) из Emn значения функций fi и f2 равны 1.
Выберем для функции F специальные наборы аоо, aoi, 5ю из Е2тп . Для этого рассмотрим три случая.
A. Пусть ни на каком наборе а из Emn одновременно не выполняются равенства fi(a) =0 и f2(а) = 0. Так как вектор-функция (fi, f2) принимает три значения, существуют наборы aoi, 5ю, указанные в табл. 2.
Табл. 2
Наборы ага и аю
xi xmn fi (xi i •• • i xmn) f2(xi,..., Xmn)
- - - 0 0
aoi aoi,i a0i,mn 0 1
aio aio,i ai0,mn 1 0
aii 1 1 1 1
Если f i & f2 е O2, то выберем для дальнейшего доказательства найденные нами наборы aoi, 5ю. Если fi & f2 е O2, то существуют наборы 7i и 72 из Еmn такие, что у них нет общих нулевых компонент, но при этом fi (7i) & f2 (7i) =
= fi(72)&f2 (72) = 0.
Без ограничения общности будем считать, что fi(7i) = 0. Если fi(72) = 0, то для функции fi найдены два набора, на которых функция равна 0, но которые не содержат общих нулевых компонент, а следовательно, fi / O'1, что неверно по условиям леммы. Поэтому fi(72) = 1 и f2(7/2) = 0. Для функции f2 аналогичным образом доказывается равенство f2 (7) = 1.
Так как fi (7i) = f2(72) =0 и fi(72) = f2(7i) = 1, в качестве рассмотренных выше наборов aoi и aoi выберем наборы 77 и 72, у которых нет общих нулевых компонент.
В качестве набора aoo из Emn будем рассматривать набор (1,..., 1) (он равен набору <7ц, но, как будет видно из дальнейшего доказательства, это допустимо).
B. Пусть ни на каком наборе а из Emn одновременно не выполняются равенства fi(a) = 0 и f2(a) = 1. Тогда существуют наборы aoo, 5ю, указанные в
106
Д.К. ПОДОЛЬКО
Табл. 3
Наборы а00 и ai0
xi xmn fi (xi i •• • i xmn) f2(xi,. . . , Xmn)
аоо aoo,i a00,mn 0 0
- - - 0 1
aio aio,i ai0,mn 1 0
aii 1 1 1 1
табл. 3. В этом случае выберем найденные наборы аоо, aio, а в качестве набора aoi выберем набор (1,..., 1).
C. Случай, когда ни на каком наборе а из E2mn одновременно не выполняются равенства fi(a) = 1 и /2(a) = 0, рассматривается аналогично предыдущему.
Далее, для каждого числа i, 1 < i < mn, определим булеву функцию Ui(xi, Х2):
Щ(а, Ь) aab,i•
Так как все функции из множества {щ(xi,x2), i = 1, . . . , mn} зависят только от двух переменных, число различных функций этого множества не превосходит 16. Обозначим всевозможные такие функции через vi(xi,x2), ■ ■ ■ ,vs(xi, Х2), где s < 16, а для каждого i, 1 < i < mn, через r(i) обозначим число, определяемое из условия Mj(xi,x2) = vr(i)(xi,x2) .
Для каждого j, 1 < j < s, положим
wj (xi, ■ ■ ■ , xmn) vj (fl(xl, ■ ■ ■ , xmn ), f2(xi, ■ ■ ■ , xmn )) ■
Покажем, что все функции wi,... ,ws содержатся в классе О2 . Поскольку каждая из функций Wj - это одна из функций множества {ui(fi, /2), i = 1, ■ ■ ■, mn}, достаточно доказать, что для каждого i, 1 < i < mn, функция щ(/1,/2) принадлежит классу О2 . Отдельно рассмотрим три разных случая.
A. Вектор-функция (fi, f2) не принимает значения (0,0}. Если fi & f2 G О2 , то по определению функции щ выполняется неравенство щ(xi,x2) > xi & x2 . Поэтому Ui(fi,f2) > fi & f2, а значит, в силу свойств функций из класса О2 функция ui(fi, f2) тоже принадлежит классу О2 .
Если fi & f2 ф О2, то у наборов aoi и аю нет общих нулевых компонент по построению. Поэтому для функции щ выполняется хотя бы одно из соотношений ui(0,1) = 1 и ui(1,0) = 1. Но тогда щ > xi или щ > x2, а значит, щ(/1,/2) мажорирует либо функцию fi , либо f2 , которые содержатся в классе О2 . Поэтому ^(/1/2) Ф О2.
B. Вектор-функций (fi,f2) не принимает значения (0,1). Тогда верно равенство aoi = 5ц = (1,..., 1), и имеет место соотношение ni(xi,x2) > x2. Поэтому щ(/ь/2) > f2 и щ(/1,/2) Ф О2.
C. Случай, когда вектор-функций (fi,/2) не принимает значения (1,0), рассматривается аналогично предыдущему.
Рассмотрим теперь функцию G из Pk, имеющую следующее двоичное представление:
G F(yr{i), . . . , yr(mn)).
По построению компоненты функции G существенно зависят от переменных из множества {yi,...,ys} (в дальнейшем мы будем рассматривать только эти переменные), поэтому функция G тоже существенно зависит не более чем от s
О КЛАССАХ ФУНКЦИЙ K-ЗНАЧНОЙ ЛОГИКИ
107
переменных, где s < 16. Отметим также, что поскольку базой функции F является множество {fi, /2}, то у функции G найдется база, которая содержится во множестве {gi, §2}.
Покажем, что функция G является искомой. Для этого докажем равенство
G (w1 (х1, • • • , xmn '),•••, ws (х1, ... , xmn) F(x1, ... , xmn) •
Так как у функции F базой является множество {/, /2}, а у функции G найдется база во множестве {gi,g2}, то достаточно доказать равенства
gj (w1 (х1, . . . , xmn ), • • • , ws (х1, . . . , xmn) fj (х1, • • • , xmn ), j 1, 2.
Для этого рассмотрим произвольный набор а из EVmn. Пусть на этом наборе значение функции fi равно a, а значение функции /2 - b. Тогда
gi {wl(a),. . .,Ws(a)) = gi(vl(fl(a),f2(a)),. .. ,Vs(fi(a),f2(a))) =
= gi(vi(a, b),. . .,Vs(a,b)) = fi(vr(i)(a,b), .. . ,vr(„m)(a,b)) =
f1 (u1 (a,b), ... , umn(a, b)) f 1(aab, 1, . . . , aab,mn) f 1 (xxab) a,
что и требовалось доказать. Аналогично доказывается и соотношение для функции f2 .
Значит, F(x) = G (wi(x),..., ws (ж)), а так как каждая из функций wi,... ,ws содержится в классе O2 , который равен B({G^J R), то F G [{G^J R]p. Лемма доказана. □
Лемма 3. Пусть B - один из классов P2, To, Ti булевых функций, R С Pk, B(R) = B, F G Pfc|3 и b(F) C B. Тогда существует функция G из множества [{F}\в, которая зависит не более чем от 16 переменных и такая, что
F G [{G} U R]e .
Доказательство данной леммы проводится аналогично доказательству леммы 2. Сначала выбираются наборы, на которых функция принимает каждое из своих значений. Затем на основе данных наборов задаются функции из исходного класса B и с их помощью строится искомая функция G.
Теорема 2. Пусть k = 2m, где m > 2. Тогда {P2, To, Ti, O2, I2} С C(k, 3).
Доказательство. Пусть A - в-замкнутый класс с булевым замыканием B. Тогда в нем есть функция F , которая принимает более одного значения. Поэтому по лемме 5 из работы [11] в классе [{F}]р содержится функция H(x1) такая, что среди ее компонент есть селекторная функция.
Известно, что у класса B существует конечный базис (см., например, [12]). Пусть он состоит из функций gi,.. .,gs. Обозначим переменные, от которых зависят эти функции, через х^,... ,х\, где r является максимальным числом переменных у данных функций. Для каждого j, 1 < j < s, определим функцию Gj из Pk через ее двоичное представление: Gj = H({gj,..., gj)). Тогда функция Gj зависит не более чем от r переменных, а так как {gi,... ,gs} С B = B(A) и класс A является в-замкнутым, то Gj G A.
Поскольку множество компонент функции H содержит селекторную функцию, то gj G b(Gj), j = 1,...,s. Поэтому верно равенство B({Gi,... ,Gs}) = B, и по лемме 2 (в случае, когда класс B равен O2 или двойственному ему классу 12) или лемме 3 (в случае классов P2, To, Ti) для любой функции F G A можно выбрать функцию Hp G A, которая зависит не более чем от 16 переменных, и такую, что F G [{Gi,... ,Gs,Hp }\р. Тогда имеет место включение
108
Д.К. ПОДОЛЬКО
A С \F € A}]p. Но поскольку все функции из множеств
{Gi,..., Gs} и {Hp\F € A} содержатся в A, верно и обратное включение. Поэтому
A = [{Gi,...,GsKJ{Hf\F €A}]e.
Число функций из A, зависящих не более чем от 16 переменных, конечно. Значит, конечно и множество {Hp\F € A}. Следовательно, у класса A имеется конечный базис, все функции которого зависят не более чем от max(16,r) переменных.
Так как число функций из Р^\з, зависящих не более чем от max(16,r) фиксированных переменных, является конечным, конечно и число их подмножеств. Поэтому для каждого из рассматриваемых классов В число различных в-замкнутых классов функций из Pk\3 с булевым замыканием B является конечным. □
В качестве следствия из теорем 1 и 2, а также из результатов работы [11], которые приведены в конце разд. 1 настоящей работы, получаем следующее утверждение.
Теорема 3. Пусть к = 2т, где m > 2. Тогда верны равенства Q(k, 3) = {O^,I“} U {Oq,Iq \ и > 3}, с (к, 3) = {ВС P2\ [B] = в, в € Q(k, 3)}.
Замечание. Для функций к-значной логики, принимающих не более 4 значений, можно получить аналогичную классификацию по мощности семейств в -замкнутых классов таких функций в соответствии с их булевым замыканием. Так, множество Q(4, 4) содержит все замкнутые классы булевых функций из множества {Oq, OQ, MOq, MOQ \ и > 3} U {Oж, O^°, MO™, MO™}, двойственные им классы, и только такие классы. Если к = 2т, где m > 3, то имеет место равенство
Q(k, 4) = {O2,12} U Q(4,4).
При этом для всех к = 2m, где m > 2, и всех замкнутых классов В булевых функций таких, что В € Q(к, 4), справедливо включение В € C(к, 4).
Работа выполнена при поддержке РФФИ (проект № 14-01-00598) и программы фундаментальных исследований ОМН РАН «Алгебраические и комбинаторные методы математической кибернетики и информационные системы нового поколения» (проект «Задачи оптимального синтеза управляющих систем»).
Summary
D.K. Podolko. On the Closed Classes of к-Valued Logic Functions Taking No More than Three Values.
The paper considers к-valued logic functions where к = 2m, m > 2 .A в-closure operator is defined based on their encoding in the binary numeral system. A special mapping of all в-closed classes to a set of closed classes of Boolean functions is denoted. The cardinality of a set of в-closed classes which are mapped to a class B and contain only functions taking no more than three values is studied in this paper for each class B of Boolean functions.
Keywords: multi-valued logic, closed classes, closure operator, в -closure, superposition strengthening, binary superposition.
О КЛАССАХ ФУНКЦИЙ K-ЗНАЧНОЙ ЛОГИКИ
109
Литература
1. Янов Ю.И., Мучник А.А. О существовании k-значных замкнутых классов, не имеющих конечного базиса // Докл. АН СССР. - 1959. - Т. 127, № 1. - С. 44-46.
2. Яблонский С.В. Введение в дискретную математику. - М.: Высш. шк., 2001. - 384 с.
3. Яблонский С.В. О функциональной полноте в трехзначном исчислении // Докл. АН СССР. - 1954. - Т. 95, № 6. - С. 1152-1156.
4. Slupecki J. Kriterium peinosci wielowartosciowych systemow logiki zdan // C. R. Seanc. Soc. Sci. Varsovie, Cl. III. - 1939. - V. 32. - P. 102-109.
5. Rosenberg I.G. La structure des functions de plusieurs variables sur un ensemble fini //
C. R. Acad. Sci. Paris, Group 5. - 1965. - V. 260. - P. 3817-3819.
6. Rosenberg I.G. IJber die funktionale Vollstandigkeit in den mehrwertigen Logiken // Rozpr. CSAV Rada Mat. Priv. Ved., Praha. - 1970. - V. 80. - P. 3-93.
7. Марченков С.С. S-классификация функций многозначной логики // Дискретная ма-тем. - 1997. - Т. 9, № 3. - С. 125-152.
8. Нгуен Ван Хоа. Описание замкнутых классов k-значной логики, сохраняемых всеми автоморфизмами // Докл. АН Беларуси. - 1994. - Т. 38, № 3. - С. 16-19.
9. Тарасова О.С. Классы функций k-значной логики, замкнутые относительно операций суперпозиции и перестановок // Матем. вопросы кибернетики. - М.: Физматлит, 2004. - Вып. 13. - С. 59-112.
10. Подолько Д.К. О классах функций, замкнутых относительно специальной операции суперпозиции // Вестн. Моск. ун-та. Сер. 1. Матем. Механика. - 2013. - № 6. -С. 54-57.
11. Подолько Д.К. Об одном континуальном семействе в-замкнутых классов функций многозначной логики // Прикл. дискретная матем. - 2014. - № 2(24). - C. 12-20.
12. Угольников А.Б. Классы Поста. - М.: Изд-во ЦПИ при мех.-матем. фак. МГУ им. М.В. Ломоносова, 2008. - 64 c.
Поступила в редакцию
28.07.14
Подолько Дмитрий Константинович - аспирант кафедры дискретной математики, Московский государственный университет имени М.В. Ломоносова, г. Москва, Россия.
E-mail: [email protected]