Научная статья на тему 'О сложности распознавания сохранения функциями многозначных логик, заданных полиномами, некоторых множеств'

О сложности распознавания сохранения функциями многозначных логик, заданных полиномами, некоторых множеств Текст научной статьи по специальности «Математика»

CC BY
64
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ФУНКЦИЯ МНОГОЗНАЧНОЙ ЛОГИКИ / ПОЛИНОМИАЛЬНЫЙ АЛГОРИТМ / ПОЛИНОМ ПО МОДУЛЮ $k$ / POLYNOMIAL MODULO $k$ / FUNCTION OF MULTIPLE-VALUED LOGIC / POLYNOMIAL-TIME ALGORITHM

Аннотация научной статьи по математике, автор научной работы — Бухман А. В.

Рассматриваются функции $k$-значной логики для простых чисел $k$. Построены полиномиальные алгоритмы для распознавания сохранения функциями $k$-значной логики, заданных полиномами по модулю $k$, множеств вида $E(lx^i)$ и $E(lx^i)\setminus\{0\}$, где $E(g(x))$ --область значений функции $g(x)$. Найдена оценка количества множеств, сохранение которых можно распознать предложенными алгоритмами.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

About complexity of checking preserving some sets by multiple-valued functions, represented by polynomials

Functions of $k$-valued logic are considered, when $k$ is simple. Polynomial-time algorithm for checking if a $k$-valued function represented by polynomial preserves a set are constructed, for sets of the form $E(lx^i)$ and $E(lx^i)\setminus\{0\}$, where $E(g(x))$ is range of function $g(x)$. Number of sets which are preserved by functions and can be checked by the algorithms is evaluated.

Текст научной работы на тему «О сложности распознавания сохранения функциями многозначных логик, заданных полиномами, некоторых множеств»

УДК 519.612:632.4 А.В. Бухман1

О СЛОЖНОСТИ РАСПОЗНАВАНИЯ СОХРАНЕНИЯ ФУНКЦИЯМИ МНОГОЗНАЧНЫХ ЛОГИК, ЗАДАННЫХ ПОЛИНОМАМИ, НЕКОТОРЫХ МНОЖЕСТВ

Рассматриваются функции fc-значной логики для простых чисел к. Построены полиномиальные алгоритмы для распознавания сохранения функциями fc-значной логики, заданных полиномами по модулю к, множеств вида Е(1х1) и E(lxl) \ {0}, где Е(д(х)) — область значений функции д{х). Найдена оценка количества множеств, сохранение которых можно распознать предложенными алгоритмами.

Ключевые слова: функция многозначной логики, полиномиальный алгоритм, полином по модулю к.

1. Введение. Одной из важнейших задач теории fc-значных функций является задача распознавания полноты некоторой системы функций. Система функций полна, если любая функция fc-значной логики может быть выражена суперпозицией функций из этой системы [1]. Критерий полноты системы функций для к ^ 3 был получен A.B. Кузнецовым в [2]. В соответствии с этим критерием предполагается проверить, содержится ли система функций в предполных классах, которых конечное число. Все предполные классы были описаны в работах [3-7]. Предполные классы можно описать в терминах сохранения предикатов. Предикаты, задающие предполные классы, разделены на 6 семейств: Р, О, L,

/•;. с, в.

Интересен вопрос о построении быстрых алгоритмов распознавания принадлежности функции к предполным классам. Случай, когда функция задается вектором значений, был рассмотрен в работах

B.Б. Алексеева, Н.Р. Емельянова (см., например, [8]). При этом на вход алгоритму подается набор кп чисел 0— 1. Случай, когда функция задается в виде полинома при к = 2, был рассмотрен

C.Н. Селезневой в [9], при к ^ 3 — в [10, 11] для семейств предикатов Р, О, L, Е, В. При этом на вход алгоритму подается полином функции, который представляет собой слово длины О (In), где I — длина полинома, п — количество переменных функции.

1 Факультет ВМК МГУ, асп., e-mail: antvbxQgmail.com * Работа поддержана РФФИ, грант 10-01-00768-а.

В данной работе рассматриваются некоторые предполные классы из семейства С. А именно классы функций, сохраняющих множества. Функция будет подаваться на вход алгоритма в виде полинома.

2. Основные определения. Пусть к > 2 — некоторое натуральное число, /•.'/, {О.....к - I |.

Определение 1. Функцией к-значной логики, зависящей от п переменных, будем называть

отображение вида / : Ек ^ Ек.

Множество всех функций &-значной логики будем обозначать Рк. Множество всех функций &-знач-ной логики, зависящих от п переменных будем обозначать Рк .

Обычным образом [12] вводится операция суперпозиции над функциями из Рк.

Определение 2. Пусть С Рк. Множество С} называется замкнутым классом, если всякая функция, полученная в результате суперпозиции любых функций из С}, принадлежит С}.

Определение 3. Функция /(х\,... ,хп) € Рк сохраняет множество £ С /•,'/.. если для любых а,!,...,ат € £ будет верно /(аь ...,ат) € £.

Теорема 1 [12]. Множество всех функций, сохраняющих подмножество £ С /•,'/,.. есть замкнутый класс.

Теорема 2 [3]. Если £ С /•,'/,.. £ ф Ф и £ ф /•.'/,.. то класс функций из /'/.. сохраняют,их множество £, есть предполный класс в Рк.

В данной работе рассматривается задание функции в виде полиномов.

Определение 4. Мономом над переменными х\,...,хп называется либо 1, либо выражение вида

' ' ' хц '

где 1 ^ ¿1 ,■■■ ,ц ^ п, 1 ^ Зъ ■ ■ ■ ,31 ^ А; — 1, все переменные различны.

Равенство мономов рассматривается с точностью до перестановки сомножителей.

Определение 5. Полиномом называется сумма по модулю к конечного числа различных мономов с ненулевыми коэффициентами из /•,'/. или 0 (можно понимать как сумму нулевого числа мономов). Длиной полинома называется число его слагаемых. Длину нулевого полинома будем считать равной 0.

Равенство полиномов рассматривается с точностью до перестановки слагаемых.

Справедлива следующая теорема.

Теорема 3 [1]. Пусть к — простое число. Для любой функции к-значной логики существует единственный полином, который ее реализует.

На вход алгоритма будем подавать запись функции в виде полинома в некотором конечном алфавите, например {ж,+,А,0,1}. Будем записывать моном следующим образом: вначале идет запись в двоичной системе счисления коэффициента, далее для каждой переменной пишем х, за которым будет следовать запись индекса этой переменной в двоичном виде, далее идет знак А, за которым следует двоичная запись степени этой переменной. Полином будем записывать в виде записей мономов, где между соседними мономами будет стоять знак +. Далее будет обозначать длину записи (количество символов) полинома N.

Можно рассматривать формальную алгоритмическую модель, например, машину Тьюринга, и сложность оценивать в тактах работы этой машины. Цель данной работы состоит в том, чтобы показать существование полиномиальных алгоритмов для рассматриваемых задач. Мы не будем выписывать формально программы для машины Тьюринга. Мы будем описывать алгоритмы, используя в качестве элементарных операций следующие: сравнение переменных, перемножение мономов, сложение мономов, стирание записи монома (в случае, если в ходе преобразований у него окажется нулевой коэффициент), возведение монома в степень. Заметим, что каждая из данных операций выполнима за полиномиальное (относительно длины записи аргументов) время на машине Тьюринга. Если мы построим полиномиальный алгоритм для наших задач используя в качестве элементарных операций приведенные выше, то мы сможем построить и полиномиальный алгоритм для машины Тьюринга.

3. О распознавании принадлежности функции классу сохранения множества Е(1хг). Пусть д(х) € /'/,• обозначим

Е(д(х)) = {у€Ек:Зх€Ек д(х) = у}.

Утверждение 1. Пусть к — простое число, I € ^\{0}, гб{1,...,А; —1},£ = Е(1хг) и фе(х) — некоторая функция, которая равна 0 на множестве £ и не равна нулю вне этого множества.

Функция /(х\,... ,х„) € Рк сохраняет множество £ тогда и только тогда, когда

Ф£и(1х\,...,1 <)) = о. (1)

Доказательство. Необходимость. Пусть / сохраняет множество £. Тогда для любого набора («1,..., ап) € верно, что 1а* € £, ] = 1,..., п. Следовательно, гфе(/(1а\,..., 1агп)) = 0.

Достаточность. Пусть верно (1), но / не сохраняет множество £. Тогда найдутся

(¡1 € ..., ап £ £,

такие, что /(ах,..., ап) ^ £. Пусть Ъ\,..., Ьп € /•-'/, таковы, что 1Щ = а^, где ] = 1,..., п. Но тогда 'Фе(1(Щ-1 ■ ■ ■ -,1Ьгп)) ф 0. Приходим к противоречию с (1).

Основываясь на утверждении 1, можно предложить следующий алгоритм распознавания свойства функции, заданной полиномом, сохранять множество Е(1хг).

Теорема 4. Для любого простого числа к, любого I € Ек\ {0} и любого г € {1,..., А; — 1} можно построить детерминированный полиномиальный алгоритм, который по полиному функции / € Рк будет распознавать, сохраняет ли эта функция множество £ = Е(1хг).

Доказательство. Воспользуемся утверждением 1. Построим алгоритм для проверки условия (1).

Пусть на вход алгоритма подается полином Pf функции / от п переменных, длина записи которого N.

Шаг 1. Каждую переменную х^, где j = 1,... ,п, заменим на и в полученном выражении приведем подобные слагаемые. Операция приведения подобных слагаемых требует просмотра всех слагаемых полинома и выполнения сложения тех мономов, которые отличаются только коэффициентами. Это можно сделать за 0(Н2) элементарных операций над полиномами.

Шаг 2. Находим полином функции 1р£(/(1х\,... ,1хгп)). Для этого в полином функции ф£ вместо переменной подставляем полином функции /(1х\,..., 1хгп), раскрываем скобки, приводим подобные слагаемые. Подстановка в один полином другого может потребовать возведения полинома в степень. Так как мы находимся в Рк и подставляем в полином функции одной переменной, то в результате может получиться сумма мономов, длина которой 0(Мк~г) (сложность ее получения тоже 0(Мк~г)). Далее в полученном полиноме приводим подобные слагаемые, что можно сделать со сложностью 0(Ы2к~2).

Шаг 3. Если полученный полином не равен 0, то выдаем ответ "нет". В противном случае ответ — "да".

Окончательно сложность полученного алгоритма равна 0(Ы2к~2).

Оценим, сколько подмножеств можно распознать, основываясь на алгоритме из теоремы 4. Для этого докажем ряд вспомогательных утверждений.

Обозначим (а, Ь) наибольший общий делитель чисел а и Ь.

Утверждение 2. Пусть к — простое число. Тогда верно, что Е(х') = Е(х^'к~1У).

Доказательство. Заметим, что (к — 1, г/(г, А; — 1)) = 1. Известен факт (см. [13, теорема 7.21), что если (т, А; —1) = 1, то хт биективно отображает множество /•,"/,. на себя. Тогда Е(х) = Для любого а £ Ек найдется Ь € /•-'/,. такое, что а = Ъг^г'к~1\ Возведем обе части равенства в степень (г, А; — 1), получим = Ъг. Значит, Е(хМ'к~С Е(хг). Обратное включение показывается аналогично.

Замечание. Из доказанного утверждения следует, что количество различных множеств вида Е(хг), где г = 1,...,А; — 1, не превосходит количества делителей числа А; — 1.

Лемма 1. Пусть к — простое число. Количество различных множеств среди Е(хг), где % ^ 1,..., к 1, равно числу делителей к — 1.

Доказательство. Пусть г,^ — различные делители А; — 1. Не ограничивая общности будем считать, что I < у. Пусть ц — образующий элемент циклической группы •). Тогда дг € Е(хг).

Покажем, что дг ^ Е(х^). Всякий ненулевой элемент Ь из Е(хР) обладает свойством = 1.

При этом ф 1, так как ц — образующий. Значит, Е(хг) ф Е(х^) при 1 ф у.

Учитывая замечание к утверждению 2, получаем утверждение леммы.

Ведем считать, что запись а | Ь означает то, что а делит Ь.

Утверждение 3. Пусть к — простое число. Для любого г, такого, что г | (А; — 1), мощность множества Е(хг) равна 1 + (А; — 1)/г.

Доказательство. Пусть д — образующий элемент мультипликативной циклической группы (£^{0}, •). Рассмотрим элементы этой группы вида дтг, где т = 1,..., к — 1. В силу того, что элемент

q имеет порядок А; — 1 верно, что все qm% различны при m = 1,..., (А; — 1)/г. Если т > (к — 1)/г, то найдется такое m' G {1,..., А; — 1/г}, что qm% = qm 1. Значит, количество ненулевых элементов в Е(хг) равно (к — 1 )/i.

Рассмотрим далее функции вида 1хг. Зафиксируем г, а I пусть меняется от 1 до А; — 1. Если I ф О, то \Е(1х})\ = \Е(х%

Лемма 2. Пусть к — простое число. Для любого г, такого, что г | (А; — 1), среди множеств Е(1хг), где I = 1,... ,k — 1, ровно г различных.

Доказательство. Пусть q — образующий элемент мультипликативной циклической группы (Ек \ {0},-). Рассмотрим множества Е(1'хг), Е(1"хг). Представим V и I" в виде:

V = qh'+t'\ где О О' < г - 1,

I" = qh"+t"\ где О О" < г - 1.

Покажем, что Е(1'хг) = Е(1"х%) тогда и только тогда, когда Ы = h".

Необходимость. Докажем от противного. Пусть Е(1'хг) = Е(1"хг), но при этом предположим, что h' ф h". Тогда

gh' = qh'+t'i^-t'y = t>(q-t'y € Е(1'х*),

где q~f' — обратный к q*' элемент группы •). Значит, qh' G Е(1"хг), тогда qh' = qh"+ts. Следо-

вательно, 1 = qh ~h He ограничивая общности будем считать, что Ы > /г", тогда k — l\ (h' — h")+is. Так как (к — 1,г) = i, то получим i\ (h' — h"). Учитывая ограничения на h' и h", окончательно имеем Ы = h". Приходим к противоречию. Необходимость доказана.

Достаточность. Пусть Ы = /г", тогда l'l"~l = wz, где w G /•-'/,. Рассмотрим и G Е(1'хг), тогда

и = t'v'* = i'W = ¡"{v'wf G E{l"x%

таким образом, мы показали, что Е(1'хг) С Е(1"хг). Учитывая, что \Е(1'хг)\ = \Е(1"хг)\, получаем Е(1'хг) = Е(1"хг). Достаточность доказана.

Значит, при фиксированном г таком, что г | (А; — 1), среди множеств Е(1хг), где I — 1,..., к 1, ровно г различных.

Различных множеств вида Е(1хг), где г, / = 1,..., А; — 1, ровно ^^ d.

d\k — l

Собственных подмножеств множества Ек ровно 2к — 2. Количество множеств, которые можно распознать при применении функций вида 1хг, равно ^^ d.

d\k — l

4. О распознавании принадлежности функции классу сохранения множества Е(!хг)\0. Утверждение 4. Пусть к — простое число, I G Ек \ {0}, i G {1,..., к — 1}, £ = Е(1хг) \ {0} и фе(х) — любая функция, такая, что она принимает значение 0 тогда и только тогда, когда х G £. Функция f G сохраняет множество £ тогда и только тогда, когда

->фе(х*-1... x^filxl, ...,1х^) + 1- Ixl-1... ж*"1) = 0. (2)

Доказательство. Необходимость. Пусть / сохраняет множество £. Рассмотрим произвольный набор («1,..., ап) G ¡•'.¡'.. Если среди элементов ai,... ,ап есть 0, то

ф£(0- f(lx\,...,lxin) + l^Q) = Q.

Если среди а\,..., а,п нет 0, то

■ f(la\,..., К) + I- I) = ф£(Л1а\,..., 1а\,)).

Так как / сохраняет множество £, то верно (2). Достаточность. Пусть условие (2) верно. Рассмотрим ai,..., ап G Ek \ {0}. Верно, что

la\ G & ч » » » ч I О'/г)

G £.

Тогда, учитывая то, что в наборе нет 0, получаем

ф£( 1 • f(la\, ...,lai)+l^l) = ф£(/(1а\,..., *<)) = 0.

Значит, f(la\,..., 1агп) G £.

Теорема 5. Для любого простого числа к, любого I ^ {0} и любого г € {1,..., А; — 1} можно построить детерминированный полиномиальный алгоритм, который по полиному функции f €. Pk распознает, сохраняет ли эта функция множество £ = Е(1хг) \ {0}.

Доказательство. Воспользуемся утверждением 4. Построим алгоритм для проверки условия (2).

Пусть на вход алгоритма подается полином /'/• функции / от п переменных, длина записи которого N.

Шаг 1. По полиному / '/• строим полином функции

rpk — 1 rpk— 1 f(]„i 1 гЛ \ \ 1 __rpk — 1

.X/ ^ ... .X/ ^ X ' * * * ' IX / i ! ! ' х ... .Xi ^ .

Для этого каждое слагаемое полинома функции / умножаем на х\... xk_1, прибавляем I — lxk_1 ... ... хк~г и в полиноме функции / заменяем переменные Xj на 1х,\где j = 1,... ,п. Далее приводим подобные слагаемые (это можно сделать со сложностью 0(N2)). Сложность этого шага 0(N2), аналогично шагу 1 теоремы 4.

Шаг 2. Строим полином функции

'ФЕ... X^ J{Ix'-^j • • • jlx'y^ + l ... X^

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Данный шаг можно выполнить со сложностью 0(N2k~2). Аналогично шагу 2 теоремы 4.

Шаг 3. Если полученный полином не равен 0, то выдаем ответ "нет". В противном случае ответ — "да".

Сложность построенного алгоритма 0(N2k~2).

5. Примеры. Приведем некоторые примеры применения полученных результатов. Теорема 6. Пусть £ С Е3. Существует детерминированный алгоритм, который для каждой функции / € Рз, заданной полиномом, распознает, сохраняет ли она множество £ и имеет полиномиальную сложность относительно длины записи полинома функции /.

Доказательство. Для множеств из одного элемента достаточно проверить значение функции на одном наборе. Это можно сделать с полиномиальной сложностью. Для множеств из двух элементов:

— множества {0,1} = Е(х2), {0,2} = Е(2х2) распознаются алгоритмом из теоремы 4;

— множество {1, 2} = Е(х) \ {0} распознается алгоритмом из теоремы 5. Других собственных подмножеств в множестве нет.

Теорема 7. Пусть к = 5. Для каждого из множеств

{0,1}, {0, 2}, {0, 3}, {0,4}, {0,1,4}, {0, 2, 3}, {1,4}, {2, 3}, {1, 2, 3,4}

существует полиномиальльный (относительно длины записи полинома функции / € Р5) детерминированный алгоритм, который распознает по полиному функции сохранение функцией / этого множества.

Доказательство. Заметим, что

{0,1} = Е(х4), {0, 2} = Е(2х4),

{0, 3} = Е(Зж4), {0,4} = Е(Ах4),

{0,1,4} = Е(х2), {0, 2, 3} = Е(2х2),

{1,4} = £(ж2)\{0}, {2, 3} = Е(2х2) \ {0}.

Далее применяем теоремы 4, 5. Получаем требуемые алгоритмы. Теорема 8. Пусть к ^ 3 — простое число. Для каждого из множеств

{1,..., к — 1}, {0,1},..., {0, А; — 1},

{О,-1,1}, {1,-1}, 1еЕк,

существует полиномиалълъный (относительно длины записи полинома функции) детерминированный алгоритм, который распознает по полиному функции сохранение функцией этого множества. Доказательство. Заметим, что

{1,..., А; — 1} = Е(х) \ {0},

{0,1} = Е(хк~1),..., {0, к - 1} = Е((к - I)®*"1),

{0,1, -1} = Е(1х(к~1)/2), {I, -1} = Е(1х(к~1)/2) \ {0},

|о,12,22,...,(^)2| = Е(х2), Далее применяем теоремы 4, 5.

СПИСОК ЛИТЕРАТУРЫ

1. Яблонский C.B. Введение в дискретную математику. М.: Наука, 1986.

2. Кузнецов A.B. О проблемах тождества и функциональной полноты алгебраических систем // Труды 3-го Всесоюзного матем. съезда. Т. 2. М.: Изд. АН СССР, 1956. С. 145-146.

3. Избранные труды C.B. Яблонского. М.: МАКС Пресс, 2004.

4. M ар ты ню к В. В. Исследование некоторых классов в многозначных логиках // Проблемы кибернетики. Вып. 3. М.: Гос. изд-во физ.-мат. лит-ры, 1960. С. 49-60.

5. Lo Czu Kai. Precompleteness of a set and rings of linear functions // Acta sei. N 2. Jilinesis: Natur Univ., 1963.

6. Rosenberg I. La structure des fonctions de plusieurs variables sur un ensemble fini // Comptes Rendus. 1965. 260. P. 3817-3819.

7. Rozenberg I. Über die funktionale Vollständigkeit in der mehrwertigen Logiken / / Rozpravy Cescko-slovenskë Academie vd. N 80. Praga: Rada matematickych a prirodnieh vëd., 1970. P. 3-93.

8. Алексеев В. Б., Емельянов H. Р. Метод построения быстрых алгоритмов в k-значной логике // Матем. заметки, 1985. 38. № 1. С. 148-156.

9. Селезнева С. Н. О сложности распознавания полноты множеств булевых функций, реализованных полиномами Жегалкина // Дискрет, матем. 1997. 9. № 4. С. 24-31.

10. Селезнева С.Н. Полиномиальный алгоритм для распознавания принадлежности реализованной полиномом функции k-значной логики предполным классам самодвойственных функций // Дискрет, матем. 1998. 10. № 3. С. 64-72.

11. Селезнева С.Н. Полиномиальный алгоритм распознавания свойства функций многозначных логик, представленных полиномом, сохранять рефлексивный и транзитивный предикат // Тезисы докладов XII Международной конференции "Проблемы теоретической кибернетики". М.: Изд-во МГУ, 1999. С. 207.

12. Яблонский C.B., Гаврилов Г.П., Набебин A.A. Предполные классы в многозначных логиках. М.: Изд-во МЭИ, 1997.

13. Лидл Р., Нидеррайтер Г. Конечные поля. Т. 2. М.: Мир, 1988.

Поступила в редакцию 20.12.10

ABOUT COMPLEXITY OF CHECKING PRESERVING SOME SETS BY MULTIPLE-VALUED FUNCTIONS, REPRESENTED BY POLYNOMIALS

Bukhman A. V.

Functions of k- valued logic are considered, when k is simple. Polynomial-time algorithm for checking if a k- valued function represented by polynomial preserves a set are constructed, for sets of the form E(lxl) and E(lxl) \ {0}, where E(g(x)) is range of function g{x). Number of sets which are preserved by functions and can be checked by the algorithms is evaluated.

Keywords: function of multiple-valued logic, polynomial-time algorithm, polynomial modulo k.

i Надоели баннеры? Вы всегда можете отключить рекламу.