УДК 519.716
С.С. Марченков, А.А. Попова
ПОЗИТИВНО ЗАМКНУТЫЕ КЛАССЫ ЧАСТИЧНЫХ БУЛЕВЫХ ФУНКЦИЙ1
(кафедра математической кибернетики факультета ВМиК, e-mail: [email protected])
Рассматриваются классы частичных булевых функций, замкнутые относительно оператора позитивного замыкания. Определены все десять классов этого типа, из которых три класса являются позитивно предполными. В каждом из позитивно замкнутых классов указан позитивный базис.
Частичные булевы функции широко используются в дискретной математике и математической кибернетике. Начало классификации множества Р2 частичных булевых функций относительно оператора суперпозиции было положено Р.В. Фрейвалдом [1, 2], который нашел все предполные в l'.j классы. В дальнейшем было обнаружено [3], что число замкнутых (относительно суперпозиции) классов в l'.j континуально. Как и для функций многозначной логики, это обстоятельство значительно затрудняет исследование структуры множества Р| ■
Помимо оператора суперпозиции в теории функций многозначной логики изучаются и другие, более сильные операторы замыкания, которые при любом k ^ 2 дают конечные классификации множества функций fc-значной логики. Первый из таких операторов — оператор параметрического замыкания — предложен A.B. Кузнецовым [4]. Особенностью оператора параметрического замыкания является то, что, действуя на множества функций логико-функциональными средствами, оператор порождает не множества функций, а множества отношений — графиков этих функций. Идея A.B. Кузнецова обобщена в работе [5], где определено несколько операторов замыкания подобного типа. Один из этих операторов — оператор позитивного замыкания — существенно шире оператора параметрического замыкания. Вместе с тем из результатов работ [5, 6] следует, что оператор позитивного замыкания порождает нетривиальные классификации, представляющие интерес в теории функций многозначной логики.
В настоящей работе найдены все 10 позитивно замкнутых классов частичных булевых функций (отметим [5, 6], что для всюду определенных булевых функций соответствующих классов будет шесть). Из них позитивно предполными являются три класса. В каждом из позитивно замкнутых классов указано по нескольку позитивных базисов.
Введем необходимые определения. Пусть /v> = {0,1}, /\> — множество всех функций на /*Д> (множество булевых функций), Р| — множество всех частичных функций на /*,'•_> (множество частичных булевых функций). Если f(xi,... ,хп) € l'-j. (ßi,..., an) (г /•,'." и функция / не определена на наборе (öi,..., ап), то этот факт будем записывать в виде f(a\,..., ап) = *. Символом * обозначаем также нигде не определенную функцию (от любого числа переменных). Одноместную функцию / из Р2 будем иногда записывать в виде вектора (/(0)/(1)). Все функции из Р| рассматриваем с точностью до фиктивных переменных.
Так же как для множества булевых функций [7, 8], используя понятие формулы над множеством функций, определяем на множестве Р| операцию суперпозиции. При этом дополнительно, если
f(x 1,... ,хп) = g(gi(x\,... ... ,дт(х™,... ,х™т)), (1)
где {х\,_..., х\л,..., ж™,..., х™т} С {xi,... ,хп}, то значение функции / на наборе а, = (öi, ..., ап) определено только в том случае, когда на наборе а, определены значения всех функций gi,... ,дт и значение функции д определено на наборе (51(a),... ,дт(а)). Отметим, что в суперпозиции (1) вместо некоторых функций gi могут стоять переменные xlj.
Понятия замыкания (относительно суперпозиции) и замкнутого класса предполагаем известными [7, 8]. Пусть Tq,Ti,S — замкнутые классы булевых функций, состоящие соответственно из всех функций, сохраняющих 0, сохраняющих 1, и всех самодвойственных функций (см. [7, 8]),
Т01=Т0Г\Ти Sqi = S DTQI.
1 Работа выполнена при частичной поддержке РФФИ, проект 06-01-00438.
Определим множества частичных булевых функций: Т0* = {/ : / G / . /(О, ...,0) = 0}, T¡" = {/ : / G /'-Г. /(1,..., 1) = 1}, 5* = {/ : / G Р| и на любой паре противоположных наборов функция / принимает лишь значения (0,1), (1, 0), (*, *)},
ГТ7* _ ГТ7* j»-» ГТ7* Q* _ Q* ГТ1*
101 — 10 11 11 i D01 — D MJ01-
Нетрудно убедиться в том, что все множества
Р2*, Т*, Т*, S*, Т*п, S*01, Т* и И, Т* и {*}, Т01 и {*}, S0\ и {*} (2)
замкнуты относительно операции суперпозиции.
Напомним основные понятия, связанные с оператором позитивного замыкания [5, 7]. Определим язык Pos. Исходными символами языка Pos являются символы предметных переменных xi,x2,... (с областью значений Е2), символы для обозначения n-местных функций из Р2 (1 ^ ¿ ^ 'I1'". п = 1,2,...), знаки равенства =, конъюнкции дизъюнкции V, квантора существования 3, левая и правая скобки и запятая. Иногда вместо символов переменных х\, х2, ■ ■ ■ будем использовать символы x,y,z.
Терм в языке Pos определим по индукции. Символ предметной переменной есть терм; если Xfa,..., Xjn — символы предметных переменных (не обязательно различные), а — символ п-местной функции, то fi'n\xj1,... ,Xjn) есть терм; если ti,... ,tm — термы, a /^ — символ тп-местной функции, то f¡m\ti,... ,tm) есть терм. Других термов в языке Pos нет.
Всякий терм в языке Pos очевидным образом определяет некоторую функцию из Р2* (переменная определяет тождественную функцию).
Если ti, ¿2 — термы языка Pos, то равенство (íi = t2) есть элементарная формула языка Pos. Если #1, #2 — формулы языка Pos, а х% — символ предметной переменной, то
(Ф1&Ф2), (#i V #2), (3a;¿)#i
— также формулы языка Pos. Понятия свободной и связанной переменных предполагаем известными.
Всякая формула языка Pos с m свободными переменными определяет некоторое m-местное частичное отношение на Е2. При этом мы руководствуемся следующими соглашениями. Если термы ti,t2 задают частичные функции /1, /2 и значение хотя бы одной из функций /1, f2 на наборе а, не определено, то и значение истинности равенства (íi = t2) для набора а также не определено. Соотношения
И V * = И, Jlv* = *, * V * = *, и&* = *, л&* = л, *&* = *
задают коммутативные связки Vife, когда одно из значений истинности есть * (не определено).
Пусть Q С I'.;. f(x i,...,xn) G Р2, Ф(х1,... ,хп,у) — формула языка Pos со свободными переменными xi,..., xm,y, все функциональные символы которой суть обозначения функций из Q. Будем говорить, что формула Ф позитивно выражает функцию f через функции множества Q, если множества истинности формулы Ф(®1,..., хп,у) и отношения /(жi,..., хп) = у совпадают. Совокупность всех функций, позитивно выразимых через функции множества Q, называем позитивным замыканием множества Q и обозначаем через Pos[Q]. Множества вида Pos[Q] называем позитивно замкнутыми классами. Известные для операции суперпозиции понятия полноты, порождающей системы и базиса [7, 8] распространяем на оператор позитивного замыкания. Отметим [5, 7], что любой позитивно замкнутый класс содержит тождественную функцию и замкнут относительно операции суперпозиции (это справедливо и для частичных булевых функций).
Установим позитивную замкнутость всех множеств (2). Позитивная замкнутость множества Tq доказывается точно так же, как соответствующего класса Т0 (см. [5, 7]). При рассмотрении множества Т0* U {*} ограничимся лишь формулами над Т0* U {*}, которые содержат символ *. Пусть Ф — позитивная формула этого типа, которая определяет отношение f(x) = у. Будем считать, что формула Ф находится в предваренной форме. Отметим следующие особенности равенств, входящих в формулу Ф. Если равенство содержит символ *, то истинностным значением этого равенства всегда будет *. Напротив, если равенство не содержит символа *, то после придания всем переменным, входящим в равенство, значения 0 истинностным значением равенства будет И. Следовательно, если бескванторная часть формулы Ф после придания всем переменным (включая связанные) значения О не принимает значение И, то формула Ф вообще не принимает значение И. Это означает, что функция / либо сохраняет 0, либо является нигде не определенной функцией.
16 ВМУ, вычислительная математика и кибернетика, № 3
Позитивная замкнутость множеств Tf, T¡" U {*} устанавливается аналогично.
Обратимся к множеству S*. Пусть /(ж) — функция из / . позитивная формула Ф определяет отношение /(ж) = у через функции множества S*, а,Ь — противоположные наборы и с = f (a), d = f(b). Если с ф *, то так же, как при доказательстве позитивной замкнутости класса S (см. [5, 7]), убеждаемся, что формуле Ф будет удовлетворять набор (Ь, с). Если же d ф *, то проведенные выше рассуждения применяем к набору (b,d).
Позитивная замкнутость множеств Т0*1; S^, U {*}, S*n U {*} следует из их определения как пересечения рассмотренных выше позитивно замкнутых множеств. Например,
т0*! и М = (Т* и М) П (Т* и {*}), S0*i и М = П (То*! и {*}).
Все позитивно замкнутые классы булевых функций найдены в [5, 7]. В теореме 1 мы воспроизводим этот результат, указывая одновременно позитивные базисы.
Теорема 1. Существует ровно шесть позитивно замкнутых классов булевых функций: Р2 = Pos[0,1], Т0 = Pos[0], Ti = Pos[l], S = Pos [./•]. Toi = Pos [ж V y) = Pos[xy], Sq 1 = Pos [ж] = Pos[0].
Следующая теорема представляет собой распространение утверждения 2 из [6] на случай частичных булевых функций.
Теорема 2. Любой позитивно замкнутый класс частичных булевых функций позитивно порождается множеством всех своих функций, зависящих не более чем от двух переменных.
Доказательство. Пусть R — позитивно замкнутый класс функций из Р2, /(жi,...,хп) € R и п > 2. Возьмем произвольный набор а, = (ai,..., а,„) из /•.'.'/. Пусть ii,..., ik — все числа из множества {1,2, ...,п}, для которых a¿j = ... = щк = 0. Для упрощения записи будем считать, что ¿i = l,...,ik = к. Заменим в функции /(х\,... ,хп) все переменные х,2,,...,,хк переменной х\, все остальные переменные — переменной Xk+i (если к = 0 или к = п, то переменной х\ заменяем все переменные Х2, ■ ■ ■ ,хп). Полученную функцию обозначим через fa(xi, x^+i). Очевидно, что fa € R и значение функции / на наборе а совпадает со значением функции fa на наборе (0,1). Более того, значение / на наборе b = (bi,...,bn) совпадает со значением /a(bi, 1), если только Ь\ = ... = Ь^ и bk~i-i = ... = bn. Отсюда следует, что позитивная формула
(ж1 = ж2)& • • • &(ж1 = хк)к{хк+1 = хк+2)&■ ■ ■ &{хк+1 = жп)&(/а(ж1, xk+í) = у) (3)
правильно определяет отношение /(х\,... ,хп) = у на всех наборах b указанного выше вида. Взяв теперь дизъюнкцию формул (3), отвечающих всем наборам а из , мы получим позитивную формулу, которая определяет отношение /(х\,... ,хп) = у через функции класса R, зависящие не более чем от двух переменных. Теорема доказана.
Теорема 3. Имеют место следующие соотношения-.
Р.; = Pos[0,1], Т* = Pos[0], Т* = Pos[l], S* = Pos [./•].
Т0*г = Pos [ж V у) = Роз[жу], S*n = Pos [ж] = Pos[0], Т* U {*} = Pos[0, *], Т* U {*} = Pos[l, *], Т*п U {*} = Роэ[ж V у, *] = Роэ[жу, *], U {*} = PosM.
Доказательство. Согласно теореме 1, система {0,1} позитивно порождает класс Р2. Если /(ж) — произвольная функция из класса Р|, то пусть fi(x), /2(ж) — такие функции из класса Р2, что fi(x) = /г(ж) = /(ж), если /(ж) определено, и fi(x) ф /2(ж) в противном случае. Тогда отношение /(ж) = у определяется позитивной формулой
(Ых) = Ых))к(Ш=у).
Точно так же, используя теорему 1, можно установить позитивную полноту функций 0, 1, ж, ж У у (а также ж у) в классах Т0*, Tf, 5*, Т0*г и доказать равенства S^ = Роэ[ж] = Pos[0].
Позитивные базисы в классах T0*U{*}, T^UÍ*}, Tq^UI*}, S'^Ul*} получаются из соответствующих базисов классов Т0*, Tf, Т0*1; присоединением функции *. Теорема доказана.
Следствие. Пусть (¿,11 — позитивно замкнутые классы из (2). Тогда Роб[(3 и Щ — также позитивно замкнутый класс из (2).
Доказательство. Утверждение вытекает из определения классов (2) и теоремы 1. Наша дальнейшая цель — перебрать все одно- и двуместные функции из класса Р2 и убедиться в том, что каждая из этих функций позитивно порождает один из классов (2).
Если / — произвольная булева функция, то, согласно теореме 1, / позитивно порождает (внутри класса Р2) один из классов Р2, Т0, Т\, 5, Т0¿>01- Переход к частичным булевым функциям в силу теоремы 3 дает один из классов Р|, Т0*, Тг*, 5*, Т0*1; Поэтому далее рассматриваем лишь функции /, которые не являются всюду определенными.
Пусть / = (0*). Очевидно, что / € Т0*. Позитивная формула
(Э*)(/(.г) = у) (4)
определяет отношение у = 0, а формула (ж = ж)&(у = 0) — график функции-константы 0. Таким образом, функция (0*) позитивно порождает класс Т0*. Аналогично рассматривается функция (*1).
Пусть / = (1*). Тогда формула (4) определяет отношение у = 1, а формула (3г)(/(у) = х) — отношение у = 0. Как и в предыдущем случае, на основе отношений у = 0, у = 1 определяем графики функций-констант 0 и 1. Значит, Роб[(1*)] = Р|. Аналогично рассматривается функция (*0). Функция * в силу теоремы 3 позитивно порождает класс и {*}. Перейдем к функциям /(ж, у) двух переменных. Случаи
/(ж, ж) б {(0*), (*1), (1*), (*0)}
сводятся к предыдущим случаям, поскольку при /(ж, ж) = (0*), /(ж, ж) = (*1) имеем соответственно / € Т0* и / б Т{.
Пусть /(0,0) = 1 и /(1,1) = 0. Тогда функция /(ж, ж) позитивно порождает класс 5*. Если /(0,1) = /(1,0) = *, то / € 5* и, значит, / — позитивный базис класса 5*. Пусть определено только одно из значений /(0,1), /(1, 0). Поскольку все четыре возможности рассматриваются сходным образом, предположим, например, что /(0,1) = 0 и /(1,0) = *. Тогда /(ж,ж) = (0*). Следовательно, функция / позитивно порождает класс Т0*. Позитивное замыкание множества 5* и Т0*, очевидно, дает класс Р|.
Предположим далее, что /(0,0) = 0 и /(1,1) = 1. При /(0,1) = /(1,0) = * функция / входит в класс и потому позитивно порождает класс Пусть определено только одно из значений /(0,1), /(1, 0), например значение /(0,1). Тогда при /(0,1) = 0 позитивная формула
(/(ж, у) = г) У (/(у, ж) = г)
определяет график функции ж у, а при /(0,1) = 1 — график функции ж У у. Следовательно, функция / позитивно порождает класс Т0*г. А поскольку / € Т0\, функция / образует базис класса Т0*г.
Предположим, наконец, что /(0,0) = /(1,1) = *. Пусть оба значения /(0,1), /(1,0) определены и равны либо определено только одно из них, например /(0,1). Положим а = /(0,1). Тогда позитивная формула
(3ж)(3у)(/(ж, у) = г)
определяет отношение г = а, и, следовательно, функцию-константу а. Делая в зависимости от соотношения а = 0, а = 1 подстановку /(а, ж) или /(ж, а), получаем соответственно функцию (*0) или функцию (1*). Как установлено выше, каждая из этих функций позитивно порождает класс Р2.
Если значения /(0,1), /(1,0) определены и не равны, то, во-первых, / € в*, а, во-вторых, график функции ж определяется позитивной формулой
(Зг)(/(х,у) = г).
Таким образом, в этом случае функция / образует позитивный базис класса 5*.
Теоремы 2, 3, следствие из теоремы 3, а также проведенное выше исследование всех одно- и двуместных функций из Р2 показывают, что справедлива следующая итоговая
Теорема 4. Все позитивно замкнутые классы частичных булевых функций исчерпываются классами (2).
Следствие. Все предполные классы частичных булевых функций суть Т0* и {*}, Т£ и {*}, 5*.
Доказательство. Достаточно среди классов (2), отличных от класса Р|, выбрать максимальные по включению классы.
СПИСОК ЛИТЕРАТУРЫ
1. Фрейвалд Р. В. Критерий полноты для частичных функций алгебры логики и многозначных логик // ДАН СССР. 1966. 167. № 6. С. 1249-1250.
2. Фрейвалд Р. В. Функциональная полнота для не всюду определенных функций алгебры логики // Дискретный анализ. 1966. № 8. С. 55-68.
3. Алексеев В.Б., Вороненко A.A. О некоторых замкнутых классах в частичной двузначной логике // Дискретная математика. 1994. 6. Вып. 4. С. 58-79.
4. Кузнецов А. В. О средствах для обнаружения невыводимости и невыразимости // Логический вывод. М.: Наука, 1979. С. 5-33.
5. Марченков С. С. О выразимости функций многозначной логики в некоторых логико-функциональных языках // Дискретная математика. 1999. 11. Вып. 4. С. 110-126.
6. Марченков С. С. Критерий позитивной полноты в трехзначной логике // Дискретный анализ и исследование операций. Сер. 1. 2006. 13. Вып. 3. С. 27-39.
7. Марченков С.С. Замкнутые классы булевых функций. М.: Физматлит, 2000.
8. Яблонский С. В. Введение в дискретную математику. М.: Наука, 1986.
Поступила в редакцию 17.04.08
УДК 519.7
С.Н. Селезнева, А.Б. Дайняк
О СЛОЖНОСТИ ОБОБЩЕННЫХ ПОЛИНОМОВ ЬЗНАЧНЫХ ФУНКЦИЙ1
(кафедра математической кибернетики факультета ВМиК, e-mail: [email protected])
Рассматривается задание fc-значных функций обобщенными полиномами (при простых fc). Обобщенный полином — это полином по mod fc, в котором каждая переменная может встречаться также с одним или несколькими отрицаниями Поста. Найдены нижняя и верхняя оценки сложности обобщенных полиномов для fc-значных функций.
1. Введение. Одной из канонических форм задания булевых и fc-значных функций являются полиномы. Расширением понятия полинома являются обобщенные полиномы. Обобщенный полином — это полином по mod к, в котором каждая переменная может встречаться также с одним или несколькими отрицаниями Поста.
К. Д. Кириченко в [1] была исследована сложность обобщенных полиномов булевых функций и была найдена ее верхняя оценка. В [2] была найдена нижняя оценка сложности обобщенных полиномов булевых функций.
В настоящей работе рассматриваются обобщенные полиномы для fc-значных функций (при простых fc) и получены аналогичные оценки их сложности.
2. Основные понятия. Пусть к ^ 2, Е^ = {0,1,..., к — 1}. Назовем fc-значной функцией отображение fn: Е^ —> Ек, п = 0,1,... . Множество всех fc-значных функций обозначим через /'/,• множество всех fc-значных функций, зависящих от переменных х\,... ,хп, — через
Определим обобщенные полиномы.
Будем рассматривать сложение и умножение по mod fc.
Под поляризованной переменной Xi будем понимать выражение вида Xi + d, где d G Е^ \ {0}, т.е. переменную Xi с d отрицаниями Поста.
Произведение вида у™1 •.. • -у™г, где yij есть либо переменная x,ij, либо поляризованная переменная Xij, все переменные попарно различны, j = 1,..., г и 1 ^ тi,..., mr ^ А; — 1, назовем обобщенным
1 Работа поддержана РФФИ, грант 07-01-00444 и частично грант 06-01-00438-а.